molecular-simulations


Namemolecular-simulations JSON
Version 0.3.5 PyPI version JSON
download
home_pageNone
SummaryA small package for building molecular systems using the AMBER force field and deploying OpenMM simulations on HPC clusters using Parsl.
upload_time2025-07-25 15:13:41
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements MDAnalysis mdtraj natsort openmm parmed parsl pdbfixer rdkit pyyaml pydantic
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # molecular-dynamics
Utilities for MD simulation building, running and analysis.

Capable of building molecular dynamics systems using the AMBER forcefield
ecosystem. Available forcefields include: fixed-charge forcefields (ff19SB 
for proteins, OL21 for DNA, and OL3 for RNA), ff15ipq polarizable forcefield,
and the ability to parameterize small molecules using GAFF2. In all explicit
systems OPC water is used with the exception of polarizable systems where a
polarizable water model is used (). Untested support for implicit solvent
systems as well.

## Installation
Easily installed via pip. PyPI page: https://pypi.org/project/molecular-simulations/

`pip install molecular-simulations`

## Package details
Simulations are performed using OpenMM version 7.7 due to CUDA versioning
on ALCF Polaris. In theory supports OpenMM >= 8.2 but this remains to be
tested. All MD simulations are deployed on a PBS scheduler via Parsl but
with some minor tweaking of the Parsl configuration object they can be
deployed on theoretically any HPC cluster/job scheduler. Jobs can also
be run locally without the need for Parsl (example coming soon).

Simulation analysis can also be performed using the provided Analyzer
object (molecular_simulation.analysis.Analyzer). This leverages the 
MDAnalysis API for performing analysis which is both easy to work with
and easily parallelized across CPU resources.

## examples/ contains sample execution scripts
### examples/run_builder.py
Leverages classes in `build/build_amber.py` for building implicit solvent,
explicit solvent and biomolecule + small molecule ligand systems. Can handle
multicomponent systems out of the box so long as the correct force fields are
loaded. Additionally supports the polarizable protein ff amber15ipq although
this remains untested.

### examples/run_sim_analysis.py
Leverages classes found in `analysis/analyzer.py` for performing
analysis using the MDAnalysis library. This was chosen due to its ongoing
development and ease of object-oriented framework as well as straightforward
parallelization.

### examples/run_omm.py
Sets up OpenMM simulation objects and performs simple equilibrium simulation
of both implicit and explicit solvent simulations using Parsl. Configured
by default to run on the Argonne ALCF Polaris supercomputer but can be 
adapted for any scheduler on any cluster by modifying the Parsl configuration.

See Parsl documentation for further examples of how to run on other HPC resources. https://parsl.readthedocs.io/en/stable/

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "molecular-simulations",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Matt Sinclair <msinclair@anl.gov>",
    "download_url": "https://files.pythonhosted.org/packages/0e/49/f905d5e1f11ae139387045e398ef1b3af7dafa8d692f360735230ba05570/molecular_simulations-0.3.5.tar.gz",
    "platform": null,
    "description": "# molecular-dynamics\nUtilities for MD simulation building, running and analysis.\n\nCapable of building molecular dynamics systems using the AMBER forcefield\necosystem. Available forcefields include: fixed-charge forcefields (ff19SB \nfor proteins, OL21 for DNA, and OL3 for RNA), ff15ipq polarizable forcefield,\nand the ability to parameterize small molecules using GAFF2. In all explicit\nsystems OPC water is used with the exception of polarizable systems where a\npolarizable water model is used (). Untested support for implicit solvent\nsystems as well.\n\n## Installation\nEasily installed via pip. PyPI page: https://pypi.org/project/molecular-simulations/\n\n`pip install molecular-simulations`\n\n## Package details\nSimulations are performed using OpenMM version 7.7 due to CUDA versioning\non ALCF Polaris. In theory supports OpenMM >= 8.2 but this remains to be\ntested. All MD simulations are deployed on a PBS scheduler via Parsl but\nwith some minor tweaking of the Parsl configuration object they can be\ndeployed on theoretically any HPC cluster/job scheduler. Jobs can also\nbe run locally without the need for Parsl (example coming soon).\n\nSimulation analysis can also be performed using the provided Analyzer\nobject (molecular_simulation.analysis.Analyzer). This leverages the \nMDAnalysis API for performing analysis which is both easy to work with\nand easily parallelized across CPU resources.\n\n## examples/ contains sample execution scripts\n### examples/run_builder.py\nLeverages classes in `build/build_amber.py` for building implicit solvent,\nexplicit solvent and biomolecule + small molecule ligand systems. Can handle\nmulticomponent systems out of the box so long as the correct force fields are\nloaded. Additionally supports the polarizable protein ff amber15ipq although\nthis remains untested.\n\n### examples/run_sim_analysis.py\nLeverages classes found in `analysis/analyzer.py` for performing\nanalysis using the MDAnalysis library. This was chosen due to its ongoing\ndevelopment and ease of object-oriented framework as well as straightforward\nparallelization.\n\n### examples/run_omm.py\nSets up OpenMM simulation objects and performs simple equilibrium simulation\nof both implicit and explicit solvent simulations using Parsl. Configured\nby default to run on the Argonne ALCF Polaris supercomputer but can be \nadapted for any scheduler on any cluster by modifying the Parsl configuration.\n\nSee Parsl documentation for further examples of how to run on other HPC resources. https://parsl.readthedocs.io/en/stable/\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A small package for building molecular systems using the AMBER force field and deploying OpenMM simulations on HPC clusters using Parsl.",
    "version": "0.3.5",
    "project_urls": {
        "Homepage": "https://github.com/msinclair-py/molecular-dynamics",
        "Issues": "https://github.com/msinclair-py/molecular-dynamics/issues"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e7b6c8f9db6b938074308e0b1197ff0b589a080fc3ba9ce60993c73eb4e87d72",
                "md5": "f490e7fccaf7d76a1fd9d86b27d46a2f",
                "sha256": "ef86c4c486aa0df283325294d2c2a8310b81fbea6825aa5b927edc18759cff8a"
            },
            "downloads": -1,
            "filename": "molecular_simulations-0.3.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f490e7fccaf7d76a1fd9d86b27d46a2f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 58366,
            "upload_time": "2025-07-25T15:13:40",
            "upload_time_iso_8601": "2025-07-25T15:13:40.378337Z",
            "url": "https://files.pythonhosted.org/packages/e7/b6/c8f9db6b938074308e0b1197ff0b589a080fc3ba9ce60993c73eb4e87d72/molecular_simulations-0.3.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0e49f905d5e1f11ae139387045e398ef1b3af7dafa8d692f360735230ba05570",
                "md5": "6f1df408fe64b28e0f7a16dff52bbef6",
                "sha256": "5870e555f1ca14627c8cf7815eed035eae077f861f8cef5bc5091bf4252e0f93"
            },
            "downloads": -1,
            "filename": "molecular_simulations-0.3.5.tar.gz",
            "has_sig": false,
            "md5_digest": "6f1df408fe64b28e0f7a16dff52bbef6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 61917,
            "upload_time": "2025-07-25T15:13:41",
            "upload_time_iso_8601": "2025-07-25T15:13:41.658600Z",
            "url": "https://files.pythonhosted.org/packages/0e/49/f905d5e1f11ae139387045e398ef1b3af7dafa8d692f360735230ba05570/molecular_simulations-0.3.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-25 15:13:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "msinclair-py",
    "github_project": "molecular-dynamics",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "MDAnalysis",
            "specs": [
                [
                    "==",
                    "2.8.0"
                ]
            ]
        },
        {
            "name": "mdtraj",
            "specs": [
                [
                    "==",
                    "1.10.3"
                ]
            ]
        },
        {
            "name": "natsort",
            "specs": [
                [
                    "==",
                    "8.4.0"
                ]
            ]
        },
        {
            "name": "openmm",
            "specs": [
                [
                    "==",
                    "8.2.0"
                ]
            ]
        },
        {
            "name": "parmed",
            "specs": [
                [
                    "==",
                    "4.3.0"
                ]
            ]
        },
        {
            "name": "parsl",
            "specs": [
                [
                    "==",
                    "2025.2.17"
                ]
            ]
        },
        {
            "name": "pdbfixer",
            "specs": [
                [
                    "==",
                    "1.11"
                ]
            ]
        },
        {
            "name": "rdkit",
            "specs": [
                [
                    "==",
                    "2024.03.6"
                ]
            ]
        },
        {
            "name": "pyyaml",
            "specs": []
        },
        {
            "name": "pydantic",
            "specs": []
        }
    ],
    "lcname": "molecular-simulations"
}
        
Elapsed time: 0.92379s