├── .github
└── workflows
│ └── build-deploy.yml
├── .gitignore
├── .idea
├── libraries
│ └── R_User_Library.xml
├── shelf
│ ├── Uncommitted_changes_before_Checkout_at_9_5_23,_11_19_AM_[Default_Changelist]
│ │ └── shelved.patch
│ └── Uncommitted_changes_before_Checkout_at_9_5_23,_11_19_AM_[Default_Changelist]1
│ │ └── shelved.patch
└── vcs.xml
├── CHANGELOG.md
├── CITATION.cff
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── docs
├── .nojekyll
├── Makefile
├── index.html
├── make.bat
├── requirements.txt
└── source
│ ├── _downloads
│ └── esp_tutorial.py
│ ├── _static
│ ├── LICENSE.rst
│ ├── analysis.png
│ ├── convergence.png
│ ├── document.png
│ ├── full_logo.png
│ ├── logo.png
│ ├── mispr_citation.bib
│ ├── nmr_citation.bib
│ ├── overview.png
│ ├── style.css
│ ├── summary.jpeg
│ └── workflow.png
│ ├── changelog.rst
│ ├── citing.rst
│ ├── conf.py
│ ├── index.rst
│ ├── installation
│ ├── configuration.rst
│ ├── dependencies.rst
│ ├── index.rst
│ └── test.rst
│ ├── keywords.rst
│ ├── license.rst
│ ├── mispr.common.rst
│ ├── mispr.gaussian.firetasks.rst
│ ├── mispr.gaussian.fireworks.rst
│ ├── mispr.gaussian.rst
│ ├── mispr.gaussian.utilities.rst
│ ├── mispr.gaussian.workflows.base.rst
│ ├── mispr.gaussian.workflows.rst
│ ├── mispr.hybrid.firetasks.rst
│ ├── mispr.hybrid.rst
│ ├── mispr.hybrid.workflows.rst
│ ├── mispr.lammps.firetasks.rst
│ ├── mispr.lammps.fireworks.rst
│ ├── mispr.lammps.rst
│ ├── mispr.lammps.tests.rst
│ ├── mispr.lammps.utilities.rst
│ ├── mispr.lammps.workflows.rst
│ ├── mispr.rst
│ ├── modules.rst
│ ├── overview.rst
│ ├── resources
│ ├── faq.rst
│ └── resources.rst
│ └── workflows
│ ├── basics.rst
│ ├── custom.rst
│ ├── supported.rst
│ └── tutorials.rst
├── mispr
├── __init__.py
├── common
│ ├── __init__.py
│ └── pubchem.py
├── gaussian
│ ├── __init__.py
│ ├── data
│ │ ├── h_pot.bib
│ │ ├── li_pot.bib
│ │ └── mg_pot.bib
│ ├── database.py
│ ├── defaults.py
│ ├── firetasks
│ │ ├── __init__.py
│ │ ├── geo_transformation.py
│ │ ├── parse_outputs.py
│ │ ├── run_calc.py
│ │ └── write_inputs.py
│ ├── fireworks
│ │ ├── __init__.py
│ │ ├── break_mol.py
│ │ └── core.py
│ ├── utilities
│ │ ├── __init__.py
│ │ ├── db_utilities.py
│ │ ├── dbdoc.py
│ │ ├── files.py
│ │ ├── fw_utilities.py
│ │ ├── gout.py
│ │ ├── inputs.py
│ │ ├── metadata.py
│ │ ├── misc.py
│ │ ├── mol.py
│ │ └── rdkit.py
│ └── workflows
│ │ ├── __init__.py
│ │ └── base
│ │ ├── __init__.py
│ │ ├── bde.py
│ │ ├── binding_energy.py
│ │ ├── core.py
│ │ ├── esp.py
│ │ ├── ip_ea.py
│ │ └── nmr.py
├── hybrid
│ ├── __init__.py
│ ├── defaults.py
│ ├── firetasks
│ │ ├── __init__.py
│ │ └── nmr_from_md.py
│ └── workflows
│ │ ├── __init__.py
│ │ ├── core.py
│ │ └── nmr.py
└── lammps
│ ├── __init__.py
│ ├── data
│ └── masses.json
│ ├── database.py
│ ├── defaults.py
│ ├── firetasks
│ ├── __init__.py
│ ├── parse_outputs.py
│ ├── run.py
│ └── write_inputs.py
│ ├── fireworks
│ ├── __init__.py
│ └── core.py
│ ├── templates
│ ├── emin_gaff
│ ├── emin_general
│ ├── gaff_tleap
│ ├── npt
│ └── nvt
│ ├── tests
│ ├── __init__.py
│ ├── antechamber.py
│ ├── base_test.py
│ ├── control.py
│ ├── custom_data_workflow.py
│ ├── data.py
│ ├── database
│ │ ├── delete_data.py
│ │ ├── first_connection.py
│ │ ├── insert_one.py
│ │ ├── operators-compound_queries.py
│ │ ├── query_data.py
│ │ ├── read_data.py
│ │ └── update_data.py
│ ├── electrolyte_wf.py
│ ├── esp_to_ff_dict_custom.py
│ ├── esp_to_ff_dict_function.py
│ ├── liquid_wf_local.py
│ ├── parmchk.py
│ ├── prmtop.py
│ ├── run_lammps.py
│ ├── test_files
│ │ ├── Na.pdb
│ │ ├── SPC_E.pdb
│ │ ├── analysis
│ │ │ ├── complex.data
│ │ │ ├── d__diff.txt
│ │ │ ├── diffusion.csv
│ │ │ ├── in.emin_complex.lammpsin
│ │ │ ├── n__diff.txt
│ │ │ ├── o__diff.txt
│ │ │ ├── rdf.csv
│ │ │ └── w__diff.txt
│ │ ├── antechamber
│ │ │ └── dhps.esp
│ │ ├── control
│ │ │ ├── case_1.lammpsin
│ │ │ ├── case_2.lammpsin
│ │ │ ├── case_2_npt.lammpsin
│ │ │ ├── case_2_npt_group_list.lammpsin
│ │ │ └── case_3.lammpsin
│ │ ├── data
│ │ │ ├── H2O2.prmtop
│ │ │ ├── H5C12SN2O5.prmtop
│ │ │ ├── H5C12SN2O5
│ │ │ │ ├── ff.json
│ │ │ │ ├── leap.log
│ │ │ │ └── tleap.in
│ │ │ ├── Na.pdb
│ │ │ ├── SPC_E.pdb
│ │ │ ├── complex.data
│ │ │ ├── complex_from_concentration.data
│ │ │ ├── custom_workflow
│ │ │ │ ├── ANTECHAMBER.ESP
│ │ │ │ ├── ANTECHAMBER_AC.AC
│ │ │ │ ├── ANTECHAMBER_AC.AC0
│ │ │ │ ├── ANTECHAMBER_BOND_TYPE.AC
│ │ │ │ ├── ANTECHAMBER_BOND_TYPE.AC0
│ │ │ │ ├── ANTECHAMBER_RESP.AC
│ │ │ │ ├── ANTECHAMBER_RESP1.IN
│ │ │ │ ├── ANTECHAMBER_RESP1.OUT
│ │ │ │ ├── ANTECHAMBER_RESP2.IN
│ │ │ │ ├── ANTECHAMBER_RESP2.OUT
│ │ │ │ ├── ATOMTYPE.INF
│ │ │ │ ├── H2O2.frcmod
│ │ │ │ ├── H2O2.inpcrd
│ │ │ │ ├── H2O2.mol2
│ │ │ │ ├── H2O2.prmtop
│ │ │ │ ├── H5C12SN2O5.frcmod
│ │ │ │ ├── H5C12SN2O5.inpcrd
│ │ │ │ ├── H5C12SN2O5.mol2
│ │ │ │ ├── H5C12SN2O5.prmtop
│ │ │ │ ├── Na.pdb
│ │ │ │ ├── SPC_E.pdb
│ │ │ │ ├── dhps.esp
│ │ │ │ ├── dhps.out
│ │ │ │ ├── esout
│ │ │ │ ├── leap.log
│ │ │ │ ├── oh.esp
│ │ │ │ ├── oh.out
│ │ │ │ ├── packed.xyz
│ │ │ │ ├── punch
│ │ │ │ ├── qout
│ │ │ │ └── tleap.in
│ │ │ ├── dhps.out
│ │ │ ├── emin
│ │ │ │ ├── complex.lammpsin
│ │ │ │ └── run_file.json
│ │ │ ├── melt
│ │ │ │ ├── complex.lammpsin
│ │ │ │ └── run_file.json
│ │ │ ├── npt
│ │ │ │ ├── complex.lammpsin
│ │ │ │ └── run_file.json
│ │ │ ├── nvt_0-20
│ │ │ │ ├── complex.lammpsin
│ │ │ │ └── run_file.json
│ │ │ ├── nvt_20-40
│ │ │ │ ├── complex.lammpsin
│ │ │ │ └── run_file.json
│ │ │ ├── oh.out
│ │ │ ├── packed.xyz
│ │ │ └── quench
│ │ │ │ ├── complex.lammpsin
│ │ │ │ └── run_file.json
│ │ ├── dhps.esp
│ │ ├── dhps.frcmod
│ │ ├── dhps.inpcrd
│ │ ├── dhps.mol2
│ │ ├── dhps.out
│ │ ├── dhps.prmtop
│ │ ├── esp_to_data
│ │ │ ├── H2O2
│ │ │ │ ├── H2O2.frcmod
│ │ │ │ ├── H2O2.inpcrd
│ │ │ │ ├── H2O2.mol2
│ │ │ │ ├── H2O2.prmtop
│ │ │ │ ├── oh.esp
│ │ │ │ └── tleap.in
│ │ │ ├── H5C12SN2O5
│ │ │ │ ├── H5C12SN2O5.frcmod
│ │ │ │ ├── H5C12SN2O5.inpcrd
│ │ │ │ ├── H5C12SN2O5.mol2
│ │ │ │ ├── H5C12SN2O5.prmtop
│ │ │ │ ├── dhps.esp
│ │ │ │ └── tleap.in
│ │ │ ├── Na.pdb
│ │ │ ├── SPC_E.pdb
│ │ │ ├── complex_from_concentration.data
│ │ │ ├── dhps.esp
│ │ │ ├── dhps.out
│ │ │ ├── oh.esp
│ │ │ └── oh.out
│ │ ├── leap.log
│ │ ├── liquid_workflow
│ │ │ ├── Na.pdb
│ │ │ ├── SPC_E.pdb
│ │ │ ├── dhps.esp
│ │ │ ├── dhps.out
│ │ │ ├── oh.esp
│ │ │ └── oh.out
│ │ ├── oh.esp
│ │ ├── oh.out
│ │ ├── parmchk
│ │ │ ├── dhps.frcmod
│ │ │ └── dhps.mol2
│ │ ├── prmtop
│ │ │ ├── Na.pdb
│ │ │ ├── SPC_E.pdb
│ │ │ ├── dhps.out
│ │ │ └── dhps.prmtop
│ │ ├── run_lammps
│ │ │ ├── test.lammpsin
│ │ │ └── test_npt.lammpsin
│ │ ├── tleap.in
│ │ └── tleap
│ │ │ ├── dhps.frcmod
│ │ │ ├── dhps.inpcrd
│ │ │ ├── dhps.mol2
│ │ │ ├── dhps.prmtop
│ │ │ └── tleap.in
│ └── tleap.py
│ ├── utilities
│ ├── __init__.py
│ ├── opls.py
│ └── utilities.py
│ └── workflows
│ ├── __init__.py
│ └── base.py
└── pyproject.toml
/.github/workflows/build-deploy.yml:
--------------------------------------------------------------------------------
1 | name: Build and Deploy Website
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 |
8 | jobs:
9 | build:
10 | runs-on: ubuntu-latest
11 |
12 | steps:
13 | - name: Checkout code
14 | uses: actions/checkout@v2
15 |
16 | - name: Set up Python
17 | uses: actions/setup-python@v3
18 | with:
19 | python-version: "3.10"
20 |
21 | - name: Install dependencies
22 | run: |
23 | pip install -r docs/requirements.txt
24 | pip install .
25 | # pip install -r requirements.txt
26 | - name: Generate Python API documentation
27 | run: |
28 | sphinx-apidoc -o docs/source .
29 |
30 | - name: Build HTML
31 | run: |
32 | cd docs
33 | make html
34 |
35 | - name: Copy index.html to gh-pages
36 | run: |
37 | cp docs/index.html index.html
38 |
39 | - name: Cleanup .pyc files
40 | run: |
41 | find . -name "*.pyc" -exec rm -f {} \;
42 |
43 | - name: Deploy to gh-pages
44 | run: |
45 | git config --global user.email "atwi.r@husky.neu.edu"
46 | git config --global user.name "rashatwi"
47 | git checkout --orphan gh-pages
48 | git reset --hard
49 | mv docs/build/* .
50 | touch .nojekyll
51 | git add .
52 | git commit -m "Deploy website"
53 | git branch -M gh-pages
54 | git push -f origin gh-pages
55 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.xml
2 | *.iml
3 | *.pyc
4 | /mispr/gaussian/config/*
5 | /build/*
6 | /dist/*
7 | *.egg-info/*
8 | /tests/*
9 | **/__pycache__
10 | **/.DS_Store
11 | docs/build/
12 |
--------------------------------------------------------------------------------
/.idea/libraries/R_User_Library.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_5_23,_11_19_AM_[Default_Changelist]/shelved.patch:
--------------------------------------------------------------------------------
1 | Index: docs/source/workflows/tutorials.rst
2 | IDEA additional info:
3 | Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
4 | <+>==========\nWorkflow Tutorials\n==========\n\nThis page is under construction.\n\nRunning an ESP workflow\n------------------------------\n\n\nRunning an MD workflow\n------------------------------\n\n\nRunning a hybrid workflow\n------------------------------\n
5 | ===================================================================
6 | diff --git a/docs/source/workflows/tutorials.rst b/docs/source/workflows/tutorials.rst
7 | --- a/docs/source/workflows/tutorials.rst
8 | +++ b/docs/source/workflows/tutorials.rst
9 | @@ -7,6 +7,15 @@
10 | Running an ESP workflow
11 | ------------------------------
12 |
13 | +The ESP workflow calculates the partial charges on a molecule using the ESP method.
14 | +The workflow is composed of three steps: 1) geometry optimization, 2) single point calculation, and 3) ESP calculation. The workflow is defined in the file `esp.yaml`:
15 | +
16 | +
17 | +```yaml
18 | +
19 | +```
20 | +
21 | +
22 |
23 | Running an MD workflow
24 | ------------------------------
25 |
--------------------------------------------------------------------------------
/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_5_23,_11_19_AM_[Default_Changelist]1/shelved.patch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/.idea/shelf/Uncommitted_changes_before_Checkout_at_9_5_23,_11_19_AM_[Default_Changelist]1/shelved.patch
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | All notable changes to this project will be documented in this file.
4 |
5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7 |
8 | ## Unreleased
9 |
10 | ### Added
11 |
12 | - Add docstrings for lammps workflows.
13 |
14 | ### Fixed
15 |
16 | - Update installation to use python 3.9 or higher.
17 | - Update the "cluster_analysis" firetask inputs to match recent changes in the MDPropTools package.
18 |
19 | ## [0.0.4] - 2023-07-15
20 |
21 | ### Added
22 |
23 | - Add support for retrieving molecules from pubchem directly and using them in the workflows.
24 | - Add support for OPLS 2005 ff by running Maestro in the backend.
25 | - Add an option for charge scaling of ionic species when preparing the lammps data file.
26 | - Allow identification of system element types when creating dump files in lammps simulations.
27 |
28 | ## [0.0.2] - 2022-08-29
29 |
--------------------------------------------------------------------------------
/CITATION.cff:
--------------------------------------------------------------------------------
1 | cff-version: 1.2.0
2 | message: "If you use MISPR in your research, please consider citing the following:"
3 | authors:
4 | - family-names: Atwi
5 | given-names: Rasha
6 | orcid: https://orcid.org/0000-0001-8122-7335
7 | - family-names: Bliss
8 | given-names: Matthew
9 | orcid: https://orcid.org/0000-0003-1354-7649
10 | - family-names: Makeev
11 | given-names: Maxim
12 | orcid: https://orcid.org/0000-0001-7116-1299
13 | - family-names: Rajput
14 | given-names: Nav Nidhi
15 | orcid: https://orcid.org/0000-0003-4740-8217
16 | title: "MDPropTools"
17 | version: 0.0.4
18 | date-released: 2022-09-21
19 | url: https://github.com/molmd/mispr
20 | preferred-citation:
21 | type: article
22 | authors:
23 | - family-names: Atwi
24 | given-names: Rasha
25 | orcid: https://orcid.org/0000-0001-8122-7335
26 | - family-names: Bliss
27 | given-names: Matthew
28 | orcid: https://orcid.org/0000-0003-1354-7649
29 | - family-names: Makeev
30 | given-names: Maxim
31 | orcid: https://orcid.org/0000-0001-7116-1299
32 | - family-names: Rajput
33 | given-names: Nav Nidhi
34 | orcid: https://orcid.org/0000-0003-4740-8217
35 | doi: 10.1038/s41598-022-20009-w
36 | journal: Scientific Reports
37 | month: 9
38 | title: "MISPR: an open-source package for high-throughput multiscale molecular simulations"
39 | issn: 2045-2322
40 | volume: 12
41 | issue: 1
42 | start: 15760
43 | year: 2022
44 | publisher: Nature Publishing Group UK London
45 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to MISPR
2 | Welcome to `MISPR`! We're excited to have you contribute to our project. Before you get
3 | started, please take a moment to review the guidelines below.
4 |
5 | ## How to Contribute
6 |
7 | ### Reporting Bugs
8 | If you encounter a bug or unexpected behavior, please open a new issue on our GitHub
9 | repository. When reporting bugs, please include detailed steps to reproduce the issue,
10 | your environment (such as Python version, operating system), and any relevant error
11 | messages or logs.
12 |
13 | ### Requesting Features
14 | If you have a feature request or suggestion for `MISPR`, we'd love to hear it!
15 | Please open a new issue on GitHub and describe the feature you'd like to see, along
16 | with any context or use cases that might help us understand the request better.
17 |
18 | ### Contributing Code
19 | We welcome contributions to `MISPR` in the form of code improvements, bug fixes,
20 | new features, or documentation enhancements. To contribute code:
21 |
22 | 1. Fork the repository and create a new branch for your changes.
23 | 2. Make your changes and ensure that they follow our coding style and guidelines.
24 | 3. Write tests to cover any new functionality or changes.
25 | 4. Run the test suite to ensure that all tests pass.
26 | 5. Submit a pull request (PR) to the main repository with a clear description of your changes and why they're valuable.
27 |
28 | Our team will then review your PR, provide feedback if needed, and work with you to merge
29 | it into the main codebase.
30 |
31 | ### Code Style and Guidelines
32 | - Follow PEP 8 style guidelines for Python code.
33 | - Write clear and descriptive commit messages.
34 | - Keep code changes focused and avoid unrelated changes in the same PR.
35 | - Use meaningful variable and function names.
36 | - Include comments where necessary to explain complex logic or edge cases.
37 |
38 | ### Getting Help
39 |
40 | If you have questions, need help, or want to discuss ideas related to `MISPR`, you can:
41 |
42 | - Send us an email at [rasha.atwi@stonybrook.edu](mailto:rasha.atwi@stonybrook.edu).
43 | - Open an issue on GitHub.
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2022 Stony Brook University
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/docs/.nojekyll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/docs/.nojekyll
--------------------------------------------------------------------------------
/docs/Makefile:
--------------------------------------------------------------------------------
1 | # Minimal makefile for Sphinx documentation
2 | #
3 |
4 | # You can set these variables from the command line, and also
5 | # from the environment for the first two.
6 | SPHINXOPTS ?=
7 | SPHINXBUILD ?= sphinx-build
8 | SOURCEDIR = source
9 | BUILDDIR = build
10 |
11 | # Put it first so that "make" without argument is like "make help".
12 | help:
13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14 |
15 | .PHONY: help Makefile
16 |
17 | # Catch-all target: route all unknown targets to Sphinx using the new
18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19 | %: Makefile
20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
21 |
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/make.bat:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 |
3 | pushd %~dp0
4 |
5 | REM Command file for Sphinx documentation
6 |
7 | if "%SPHINXBUILD%" == "" (
8 | set SPHINXBUILD=sphinx-build
9 | )
10 | set SOURCEDIR=source
11 | set BUILDDIR=.
12 |
13 | %SPHINXBUILD% >NUL 2>NUL
14 | if errorlevel 9009 (
15 | echo.
16 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
17 | echo.installed, then set the SPHINXBUILD environment variable to point
18 | echo.to the full path of the 'sphinx-build' executable. Alternatively you
19 | echo.may add the Sphinx directory to PATH.
20 | echo.
21 | echo.If you don't have Sphinx installed, grab it from
22 | echo.https://www.sphinx-doc.org/
23 | exit /b 1
24 | )
25 |
26 | if "%1" == "" goto help
27 |
28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
29 | goto end
30 |
31 | :help
32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
33 |
34 | :end
35 | popd
36 |
--------------------------------------------------------------------------------
/docs/requirements.txt:
--------------------------------------------------------------------------------
1 | sphinx==5.1.1
2 | sphinx_design==0.4.1
3 | sphinx-copybutton==0.5.2
4 | sphinx-tabs==3.4.1
5 | sphinxcontrib-mermaid==0.9.2
6 | sphinx-togglebutton==0.3.2
7 | sphinx-favicon==1.0.1
8 | sphinx-immaterial==0.11.11
9 | readthedocs-sphinx-search==0.3.1
10 | Pygments==2.16.1
11 | pydantic>=2.4
--------------------------------------------------------------------------------
/docs/source/_downloads/esp_tutorial.py:
--------------------------------------------------------------------------------
1 | from fireworks import LaunchPad
2 |
3 | from mispr.gaussian.workflows.base.esp import get_esp_charges
4 |
5 | lpad = LaunchPad.auto_load()
6 |
7 | wf, _ = get_esp_charges(
8 | mol_operation_type="get_from_pubchem", # (1)!
9 | mol="monoglyme",
10 | format_chk=True,
11 | save_to_db=True,
12 | save_to_file=True,
13 | additional_prop_doc_fields={"name": "monoglyme"},
14 | tag="mispr_tutorial",
15 | )
16 | lpad.add_wf(wf) # (2)!
17 |
--------------------------------------------------------------------------------
/docs/source/_static/LICENSE.rst:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2022 Stony Brook University
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/docs/source/_static/analysis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/docs/source/_static/analysis.png
--------------------------------------------------------------------------------
/docs/source/_static/convergence.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/docs/source/_static/convergence.png
--------------------------------------------------------------------------------
/docs/source/_static/document.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/docs/source/_static/document.png
--------------------------------------------------------------------------------
/docs/source/_static/full_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/docs/source/_static/full_logo.png
--------------------------------------------------------------------------------
/docs/source/_static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/docs/source/_static/logo.png
--------------------------------------------------------------------------------
/docs/source/_static/mispr_citation.bib:
--------------------------------------------------------------------------------
1 | @article{atwi2022mispr,
2 | title={MISPR: An automated infrastructure for high-throughput DFT and MD simulations},
3 | author={Atwi, Rasha and Bliss, Matthew and Makeev, Maxim and Rajput, Nav Nidhi},
4 | year={2022}
5 | }
6 |
--------------------------------------------------------------------------------
/docs/source/_static/nmr_citation.bib:
--------------------------------------------------------------------------------
1 | @article{atwi2022automated,
2 | title={An automated framework for high-throughput predictions of NMR chemical shifts within liquid solutions},
3 | author={Atwi, Rasha and Chen, Ying and Han, Kee Sung and Mueller, Karl T and Murugesan, Vijayakumar and Rajput, Nav Nidhi},
4 | journal={Nature Computational Science},
5 | volume={2},
6 | number={2},
7 | pages={112--122},
8 | year={2022},
9 | publisher={Nature Publishing Group}
10 | }
11 |
--------------------------------------------------------------------------------
/docs/source/_static/overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/docs/source/_static/overview.png
--------------------------------------------------------------------------------
/docs/source/_static/style.css:
--------------------------------------------------------------------------------
1 | .mermaid text {
2 | font-size: 90%;
3 | }
4 |
--------------------------------------------------------------------------------
/docs/source/_static/summary.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/docs/source/_static/summary.jpeg
--------------------------------------------------------------------------------
/docs/source/_static/workflow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/docs/source/_static/workflow.png
--------------------------------------------------------------------------------
/docs/source/changelog.rst:
--------------------------------------------------------------------------------
1 | =========
2 | Changelog
3 | =========
4 |
5 | **v0.0.1**
6 |
7 | * Initial release (R. Atwi and M. Bliss)
8 |
9 | **v0.0.4**
10 |
11 | * Support for retrieving molecules from pubchem directly and using them in the workflows
12 | * Support for OPLS 2005 ff by running Maestro in the backend
13 | * Option for charge scaling of ionic species when preparing the lammps data file
14 | * Automatic identification of system element types when creating dump files in lammps simulations
15 | * Addition of MDPropTools package for analysis of MD trajectories as dependency
--------------------------------------------------------------------------------
/docs/source/citing.rst:
--------------------------------------------------------------------------------
1 | ===============================
2 | Citing MISPR
3 | ===============================
4 | If you find MISPR useful in your research, please consider citing the following papers:
5 |
6 | **Paper 1 (MISPR):**
7 |
8 | .. code-block:: bibtex
9 |
10 | @article{atwi2022mispr,
11 | title = {MISPR: An automated infrastructure for high-throughput DFT and MD simulations},
12 | author = {Atwi, Rasha and Bliss, Matthew and Makeev, Maxim and Rajput, Nav Nidhi},
13 | year = {2022}
14 | }
15 |
16 | Download as :download:`BibTeX <_static/mispr_citation.bib>`
17 |
18 | **Paper 2 (Hybrid NMR Workflow):**
19 |
20 | .. code-block:: bibtex
21 |
22 | @article{atwi2022automated,
23 | title = {An automated framework for high-throughput predictions of NMR chemical shifts within liquid solutions},
24 | author = {Atwi, Rasha and Chen, Ying and Han, Kee Sung and Mueller, Karl T and Murugesan, Vijayakumar and Rajput, Nav Nidhi},
25 | journal = {Nature Computational Science},
26 | volume = {2},
27 | number = {2},
28 | pages = {112--122},
29 | year = {2022},
30 | publisher = {Nature Publishing Group}
31 | }
32 |
33 | Download as :download:`BibTeX <_static/nmr_citation.bib>`
--------------------------------------------------------------------------------
/docs/source/conf.py:
--------------------------------------------------------------------------------
1 | # Configuration file for the Sphinx documentation builder.
2 | #
3 | # For the full list of built-in configuration values, see the documentation:
4 | # https://www.sphinx-doc.org/en/master/usage/configuration.html
5 |
6 | # -- Path setup --------------------------------------------------------------
7 |
8 | # If extensions (or modules to document with autodoc) are in another directory,
9 | # add these directories to sys.path here. If the directory is relative to the
10 | # documentation root, use os.path.abspath to make it absolute, like shown here.
11 | #
12 | import os
13 | import sys
14 |
15 | sys.path.insert(0, os.path.abspath("."))
16 | sys.path.insert(0, os.path.dirname(".."))
17 | sys.path.insert(0, os.path.dirname("../../mispr"))
18 | sys.path.insert(0, os.path.abspath("../.."))
19 |
20 |
21 | # -- Project information -----------------------------------------------------
22 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
23 |
24 | project = "MISPR"
25 | copyright = "2022, MolMD Group"
26 | author = "MolMD Group"
27 | release = "0.0.4"
28 |
29 | # -- General configuration ---------------------------------------------------
30 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
31 |
32 | extensions = [
33 | "sphinx.ext.napoleon",
34 | "sphinx.ext.autodoc",
35 | "sphinxcontrib.mermaid",
36 | "sphinx.ext.coverage",
37 | "sphinx.ext.viewcode",
38 | "sphinx.ext.autosectionlabel",
39 | "sphinx_design",
40 | "sphinx_copybutton",
41 | "sphinx_search.extension",
42 | "sphinx_tabs.tabs",
43 | "sphinx_togglebutton",
44 | "sphinx_favicon",
45 | "sphinx_immaterial",
46 | "sphinx_immaterial.apidoc.python.apigen",
47 | ]
48 |
49 | # python_apigen_modules = {
50 | # "my_module": "api",
51 | # }
52 |
53 | mermaid_theme = {
54 | "theme": "dark",
55 | "themeVariables": {
56 | "primaryColor": "#BB2528",
57 | "primaryTextColor": "#fff",
58 | "primaryBorderColor": "#7C0000",
59 | "lineColor": "#F8B229",
60 | "secondaryColor": "#006100",
61 | "tertiaryColor": "#fff",
62 | },
63 | }
64 |
65 | autodoc_mock_imports = ["custodian", "tleap", "pymatgen", "openbabel"]
66 |
67 | autosectionlabel_prefix_document = True
68 | templates_path = ["_templates"]
69 | exclude_patterns = []
70 | sphinx_tabs_valid_builders = ["linkcheck"]
71 | sphinx_tabs_disable_tab_closing = True
72 | sphinx_immaterial_override_generic_admonitions = True
73 |
74 |
75 | html_theme = "sphinx_immaterial"
76 | html_static_path = ["_static"]
77 | html_css_files = ["style.css"]
78 |
79 | html_logo = "_static/logo.png"
80 | html_title = "Materials informatics for structure-property relationships"
81 |
82 | html_theme_options = {
83 | "features": [
84 | "content.code.annotate",
85 | "navigation.expand",
86 | "navigation.sections",
87 | ], # (1)
88 | "palette": [
89 | {
90 | "media": "(prefers-color-scheme: light)",
91 | "scheme": "default",
92 | "primary": "red",
93 | "accent": "light blue",
94 | "toggle": {
95 | "icon": "material/toggle-switch-off-outline",
96 | "name": "Switch to dark mode",
97 | },
98 | },
99 | {
100 | "media": "(prefers-color-scheme: dark)",
101 | "scheme": "slate",
102 | "primary": "red",
103 | "accent": "light blue",
104 | "toggle": {
105 | "icon": "material/toggle-switch",
106 | "name": "Switch to light mode",
107 | },
108 | },
109 | ],
110 | "font": {
111 | "text": "Roboto", # used for all the pages' text
112 | "code": "Roboto Mono", # used for literal code blocks
113 | },
114 | "social": [
115 | {
116 | "icon": "fontawesome/brands/github",
117 | "link": "https://github.com/molmd/mispr",
118 | "name": "Source on github.com",
119 | },
120 | {
121 | "icon": "fontawesome/brands/twitter",
122 | "link": "https://twitter.com/molmd_group",
123 | },
124 | ],
125 | }
126 |
127 | source_suffix = ".rst"
128 |
129 | master_doc = "index"
130 |
131 | napoleon_google_docstring = True
132 | napoleon_numpy_docstring = True
133 | autoclass_content = "both"
134 |
135 |
136 | def skip_params(app, what, name, obj, would_skip, options):
137 | if name in ("required_params", "optional_params"):
138 | return True
139 | return would_skip
140 |
141 |
142 | def setup(app):
143 | app.connect("autodoc-skip-member", skip_params)
144 |
--------------------------------------------------------------------------------
/docs/source/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. title:: MISPR documentation
4 |
5 | .. module:: mispr
6 |
7 | .. toctree::
8 | :hidden:
9 |
10 | overview
11 | keywords
12 |
13 | .. toctree::
14 | :caption: Installation 🔧
15 | :hidden:
16 | :titlesonly:
17 |
18 | Overview
19 | Prerequisites
20 | Configuration Files
21 | Running a Test Workflow
22 |
23 | .. toctree::
24 | :caption: Workflows 🔀
25 | :hidden:
26 |
27 | workflows/basics
28 | workflows/supported
29 | workflows/tutorials
30 | workflows/custom
31 |
32 | .. toctree::
33 | :caption: Resources 🖇️
34 | :hidden:
35 |
36 | resources/faq
37 | resources/resources
38 |
39 | .. toctree::
40 | :caption: Code Documentation 📚
41 | :hidden:
42 | :titlesonly:
43 |
44 | mispr
45 |
46 | .. toctree::
47 | :caption: Development 💻
48 | :hidden:
49 |
50 | changelog
51 | citing
52 | license
53 |
54 | ##################################
55 | MISPR |release| Documentation
56 | ##################################
57 |
58 | MISPR is a Python library for computational materials science and contains
59 | preset workflows for running complex hierarchical density functional
60 | theory (DFT) and classical molecular dynamics (MD) simulations to compute
61 | properties of materials.
62 |
63 | .. figure:: _static/summary.jpeg
64 | :scale: 70%
65 |
66 |
67 | *************
68 | Installation
69 | *************
70 |
71 | .. grid:: 1 1 2 2
72 |
73 | .. grid-item::
74 |
75 | Install using `pip `__:
76 |
77 | .. code-block:: bash
78 |
79 | pip install mispr
80 |
81 | .. important::
82 | Before you can start using MISPR, there are additional steps you need to follow.
83 | Please refer to the :doc:`installation guide ` for complete setup instructions,
84 | including any dependencies or configuration files required.
85 |
86 |
87 | *******************
88 | Learning Resources
89 | *******************
90 |
91 | .. grid:: 1 1 2 2
92 |
93 | .. grid-item-card::
94 | :padding: 2
95 |
96 | About MISPR
97 | ^^^
98 |
99 | - :doc:`Overview `
100 | - :doc:`Dependencies and prerequisites `
101 |
102 | .. grid-item-card::
103 | :padding: 2
104 |
105 | Workflows
106 | ^^^
107 |
108 | - :doc:`Workflow basics `
109 | - :doc:`Supported workflows `
110 | - :doc:`External learning resources `
111 |
112 | .. grid-item-card::
113 | :padding: 2
114 |
115 | How-tos
116 | ^^^
117 |
118 | - :doc:`Tutorials `
119 | - :doc:`MISPR FAQ `
120 |
121 | .. grid-item-card::
122 | :padding: 2
123 |
124 | Code documentation
125 | ^^^
126 | - :doc:`Subpackages `
127 |
128 | ************************************
129 | Contributing / Reporting / Support
130 | ************************************
131 | Contirbuting to MISPR can be in the form of:
132 |
133 | * Requesting or adding new workflows and features
134 | * Reporting or fixing bugs and issues
135 | * Contributing to the documentation and/or examples
136 |
137 | If you want to add or change something in the code, you can do this by
138 | forking `MISPR on GitHub `_ and
139 | submitting a pull request.
140 |
141 | If you submit a bug report, we will review it and move it to GitHub issues,
142 | where its progress can be tracked.
143 |
144 | For other inquiries, please contact us at rasha.atwi@stonybrook.edu.
145 |
146 |
147 |
148 |
149 |
150 |
--------------------------------------------------------------------------------
/docs/source/installation/index.rst:
--------------------------------------------------------------------------------
1 | =============
2 | Installation
3 | =============
4 | Before installing MISPR, you need to follow the steps below in order:
5 |
6 | 1. (Optional) Create a :ref:`installation/dependencies:Conda environment`
7 | 2. Make sure you have access to the :ref:`computational chemistry software dependencies `
8 | needed to run the DFT and MD simulations
9 | 3. Install :ref:`python package dependencies `
10 | 4. Set up :ref:`installation/dependencies:MongoDB` database
11 | 5. :ref:`Install MISPR `
12 | 6. Prepare the :doc:`configuration files `
13 | 7. :doc:`Run a test workflow `
14 |
15 | .. note::
16 | Throughout the installation instructions, it is assumed that you are
17 | familiar with Python and with basic Linux shell commands. If not,
18 | `Linux Journey `_ and
19 | `Python For Beginners `_
20 | are some recommended starting points.
21 |
22 | Installing MISPR
23 | --------------------------------
24 | MISPR can be installed either from the python package
25 | index (good for most users) or directly from its GitHub
26 | repository (good for developers).
27 |
28 | Installation Method 1: Using pip
29 | ================================
30 | For most users, install directly from PyPI:
31 |
32 | .. code-block:: bash
33 |
34 | pip install mispr
35 |
36 | Installation Method 2: Development mode
37 | =======================================
38 |
39 | .. _codes-develop-mode:
40 |
41 | For developers or users who need to modify the source code, install MISPR in development mode.
42 |
43 | .. note::
44 | If you had already installed MISPR via pip or conda, you
45 | should uninstall that first before starting the installation in
46 | development mode. This ensures that you will not have any conflicts
47 | resulting from two different code installations.
48 |
49 | The steps for installing the package in development mode are below.
50 |
51 | 1. Activate your conda environment or virtual environment
52 |
53 | 2. Create a ``codes`` directory in ``|CODES_DIR|``
54 |
55 | 3. ``cd`` to your newly created ``|CODES_DIR|/codes`` directory
56 |
57 | 4. Clone the package you want to install in development mode using git::
58 |
59 | git clone https://github.com/molmd/mispr.git
60 |
61 | Now you should have mispr directory in your ``codes``
62 | directory.
63 |
64 | 5. ``cd`` into the mispr directory and run
65 | ``pip install -e .`` or use the ``conda`` equivalent. Once installed,
66 | if you make changes to the code, the changes
67 | will take effect immediately without having to reinstall the package.
68 |
69 | Post-installation
70 | -------------------------
71 | 1. Before you go any further, confirm your package installations are correct.
72 | First start IPython by typing ``ipython`` in your terminal, then confirm that
73 | the command ``import mispr`` executes without any errors
74 |
75 | 2. To update the mispr code later on, execute ``git pull`` followed by
76 | ``pip install -e .`` or the ``conda`` equivalent in the mispr directory.
77 | If you installed via pip, you can simply execute ``pip install --upgrade mispr``.
--------------------------------------------------------------------------------
/docs/source/keywords.rst:
--------------------------------------------------------------------------------
1 | ===========
2 | Keywords
3 | ===========
4 |
5 | .. list-table::
6 | :widths: 25 75
7 | :header-rows: 1
8 |
9 | * - Keyword
10 | - Definition
11 | * - ``|CODES_DIR|``
12 | - Main directory where the virtual python environment is created and the configuration files are stored
13 | * - ``LaunchPad``
14 | - FireWorks database that controls the workflows. It stores all the tasks to be run and their status (e.g., RUNNING, WAITING, COMPLETED, etc.)
15 | * - ``FireTask``
16 | - Computing task to be performed
17 | * - ``FireWork``
18 | - A list of FireTasks that are to be run in sequence
--------------------------------------------------------------------------------
/docs/source/license.rst:
--------------------------------------------------------------------------------
1 | ==========
2 | License
3 | ==========
4 |
5 | MISPR is released under the MIT License.
6 |
7 | .. literalinclude:: _static/LICENSE.rst
--------------------------------------------------------------------------------
/docs/source/mispr.common.rst:
--------------------------------------------------------------------------------
1 | mispr.common package
2 | ====================
3 |
4 | Submodules
5 | ----------
6 |
7 | mispr.common.pubchem module
8 | ---------------------------
9 |
10 | .. automodule:: mispr.common.pubchem
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | Module contents
16 | ---------------
17 |
18 | .. automodule:: mispr.common
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
--------------------------------------------------------------------------------
/docs/source/mispr.gaussian.firetasks.rst:
--------------------------------------------------------------------------------
1 | mispr.gaussian.firetasks package
2 | ================================
3 |
4 | Submodules
5 | ----------
6 |
7 | mispr.gaussian.firetasks.geo\_transformation module
8 | ---------------------------------------------------
9 |
10 | .. automodule:: mispr.gaussian.firetasks.geo_transformation
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | mispr.gaussian.firetasks.parse\_outputs module
16 | ----------------------------------------------
17 |
18 | .. automodule:: mispr.gaussian.firetasks.parse_outputs
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
23 | mispr.gaussian.firetasks.run\_calc module
24 | -----------------------------------------
25 |
26 | .. automodule:: mispr.gaussian.firetasks.run_calc
27 | :members:
28 | :undoc-members:
29 | :show-inheritance:
30 |
31 | mispr.gaussian.firetasks.write\_inputs module
32 | ---------------------------------------------
33 |
34 | .. automodule:: mispr.gaussian.firetasks.write_inputs
35 | :members:
36 | :undoc-members:
37 | :show-inheritance:
38 |
39 | Module contents
40 | ---------------
41 |
42 | .. automodule:: mispr.gaussian.firetasks
43 | :members:
44 | :undoc-members:
45 | :show-inheritance:
46 |
--------------------------------------------------------------------------------
/docs/source/mispr.gaussian.fireworks.rst:
--------------------------------------------------------------------------------
1 | mispr.gaussian.fireworks package
2 | ================================
3 |
4 | Submodules
5 | ----------
6 |
7 | mispr.gaussian.fireworks.break\_mol module
8 | ------------------------------------------
9 |
10 | .. automodule:: mispr.gaussian.fireworks.break_mol
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | mispr.gaussian.fireworks.core module
16 | ------------------------------------
17 |
18 | .. automodule:: mispr.gaussian.fireworks.core
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
23 | Module contents
24 | ---------------
25 |
26 | .. automodule:: mispr.gaussian.fireworks
27 | :members:
28 | :undoc-members:
29 | :show-inheritance:
30 |
--------------------------------------------------------------------------------
/docs/source/mispr.gaussian.rst:
--------------------------------------------------------------------------------
1 | mispr.gaussian package
2 | ======================
3 |
4 | Subpackages
5 | -----------
6 |
7 | .. toctree::
8 | :maxdepth: 4
9 |
10 | mispr.gaussian.firetasks
11 | mispr.gaussian.fireworks
12 | mispr.gaussian.utilities
13 | mispr.gaussian.workflows
14 |
15 | Submodules
16 | ----------
17 |
18 | mispr.gaussian.database module
19 | ------------------------------
20 |
21 | .. automodule:: mispr.gaussian.database
22 | :members:
23 | :undoc-members:
24 | :show-inheritance:
25 |
26 | mispr.gaussian.defaults module
27 | ------------------------------
28 |
29 | .. automodule:: mispr.gaussian.defaults
30 | :members:
31 | :undoc-members:
32 | :show-inheritance:
33 |
34 | Module contents
35 | ---------------
36 |
37 | .. automodule:: mispr.gaussian
38 | :members:
39 | :undoc-members:
40 | :show-inheritance:
41 |
--------------------------------------------------------------------------------
/docs/source/mispr.gaussian.utilities.rst:
--------------------------------------------------------------------------------
1 | mispr.gaussian.utilities package
2 | ================================
3 |
4 | Submodules
5 | ----------
6 |
7 | mispr.gaussian.utilities.db\_utilities module
8 | ---------------------------------------------
9 |
10 | .. automodule:: mispr.gaussian.utilities.db_utilities
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | mispr.gaussian.utilities.dbdoc module
16 | -------------------------------------
17 |
18 | .. automodule:: mispr.gaussian.utilities.dbdoc
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
23 | mispr.gaussian.utilities.files module
24 | -------------------------------------
25 |
26 | .. automodule:: mispr.gaussian.utilities.files
27 | :members:
28 | :undoc-members:
29 | :show-inheritance:
30 |
31 | mispr.gaussian.utilities.fw\_utilities module
32 | ---------------------------------------------
33 |
34 | .. automodule:: mispr.gaussian.utilities.fw_utilities
35 | :members:
36 | :undoc-members:
37 | :show-inheritance:
38 |
39 | mispr.gaussian.utilities.gout module
40 | ------------------------------------
41 |
42 | .. automodule:: mispr.gaussian.utilities.gout
43 | :members:
44 | :undoc-members:
45 | :show-inheritance:
46 |
47 | mispr.gaussian.utilities.inputs module
48 | --------------------------------------
49 |
50 | .. automodule:: mispr.gaussian.utilities.inputs
51 | :members:
52 | :undoc-members:
53 | :show-inheritance:
54 |
55 | mispr.gaussian.utilities.metadata module
56 | ----------------------------------------
57 |
58 | .. automodule:: mispr.gaussian.utilities.metadata
59 | :members:
60 | :undoc-members:
61 | :show-inheritance:
62 |
63 | mispr.gaussian.utilities.misc module
64 | ------------------------------------
65 |
66 | .. automodule:: mispr.gaussian.utilities.misc
67 | :members:
68 | :undoc-members:
69 | :show-inheritance:
70 |
71 | mispr.gaussian.utilities.mol module
72 | -----------------------------------
73 |
74 | .. automodule:: mispr.gaussian.utilities.mol
75 | :members:
76 | :undoc-members:
77 | :show-inheritance:
78 |
79 | mispr.gaussian.utilities.rdkit module
80 | -------------------------------------
81 |
82 | .. automodule:: mispr.gaussian.utilities.rdkit
83 | :members:
84 | :undoc-members:
85 | :show-inheritance:
86 |
87 | Module contents
88 | ---------------
89 |
90 | .. automodule:: mispr.gaussian.utilities
91 | :members:
92 | :undoc-members:
93 | :show-inheritance:
94 |
--------------------------------------------------------------------------------
/docs/source/mispr.gaussian.workflows.base.rst:
--------------------------------------------------------------------------------
1 | mispr.gaussian.workflows.base package
2 | =====================================
3 |
4 | Submodules
5 | ----------
6 |
7 | mispr.gaussian.workflows.base.bde module
8 | ----------------------------------------
9 |
10 | .. automodule:: mispr.gaussian.workflows.base.bde
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | mispr.gaussian.workflows.base.binding\_energy module
16 | ----------------------------------------------------
17 |
18 | .. automodule:: mispr.gaussian.workflows.base.binding_energy
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
23 | mispr.gaussian.workflows.base.core module
24 | -----------------------------------------
25 |
26 | .. automodule:: mispr.gaussian.workflows.base.core
27 | :members:
28 | :undoc-members:
29 | :show-inheritance:
30 |
31 | mispr.gaussian.workflows.base.esp module
32 | ----------------------------------------
33 |
34 | .. automodule:: mispr.gaussian.workflows.base.esp
35 | :members:
36 | :undoc-members:
37 | :show-inheritance:
38 |
39 | mispr.gaussian.workflows.base.ip\_ea module
40 | -------------------------------------------
41 |
42 | .. automodule:: mispr.gaussian.workflows.base.ip_ea
43 | :members:
44 | :undoc-members:
45 | :show-inheritance:
46 |
47 | mispr.gaussian.workflows.base.nmr module
48 | ----------------------------------------
49 |
50 | .. automodule:: mispr.gaussian.workflows.base.nmr
51 | :members:
52 | :undoc-members:
53 | :show-inheritance:
54 |
55 | Module contents
56 | ---------------
57 |
58 | .. automodule:: mispr.gaussian.workflows.base
59 | :members:
60 | :undoc-members:
61 | :show-inheritance:
62 |
--------------------------------------------------------------------------------
/docs/source/mispr.gaussian.workflows.rst:
--------------------------------------------------------------------------------
1 | mispr.gaussian.workflows package
2 | ================================
3 |
4 | Subpackages
5 | -----------
6 |
7 | .. toctree::
8 | :maxdepth: 4
9 |
10 | mispr.gaussian.workflows.base
11 |
12 | Module contents
13 | ---------------
14 |
15 | .. automodule:: mispr.gaussian.workflows
16 | :members:
17 | :undoc-members:
18 | :show-inheritance:
19 |
--------------------------------------------------------------------------------
/docs/source/mispr.hybrid.firetasks.rst:
--------------------------------------------------------------------------------
1 | mispr.hybrid.firetasks package
2 | ==============================
3 |
4 | Submodules
5 | ----------
6 |
7 | mispr.hybrid.firetasks.nmr\_from\_md module
8 | -------------------------------------------
9 |
10 | .. automodule:: mispr.hybrid.firetasks.nmr_from_md
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | Module contents
16 | ---------------
17 |
18 | .. automodule:: mispr.hybrid.firetasks
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
--------------------------------------------------------------------------------
/docs/source/mispr.hybrid.rst:
--------------------------------------------------------------------------------
1 | mispr.hybrid package
2 | ====================
3 |
4 | Subpackages
5 | -----------
6 |
7 | .. toctree::
8 | :maxdepth: 4
9 |
10 | mispr.hybrid.firetasks
11 | mispr.hybrid.workflows
12 |
13 | Submodules
14 | ----------
15 |
16 | mispr.hybrid.defaults module
17 | ----------------------------
18 |
19 | .. automodule:: mispr.hybrid.defaults
20 | :members:
21 | :undoc-members:
22 | :show-inheritance:
23 |
24 | Module contents
25 | ---------------
26 |
27 | .. automodule:: mispr.hybrid
28 | :members:
29 | :undoc-members:
30 | :show-inheritance:
31 |
--------------------------------------------------------------------------------
/docs/source/mispr.hybrid.workflows.rst:
--------------------------------------------------------------------------------
1 | mispr.hybrid.workflows package
2 | ==============================
3 |
4 | Submodules
5 | ----------
6 |
7 | mispr.hybrid.workflows.core module
8 | ----------------------------------
9 |
10 | .. automodule:: mispr.hybrid.workflows.core
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | mispr.hybrid.workflows.nmr module
16 | ---------------------------------
17 |
18 | .. automodule:: mispr.hybrid.workflows.nmr
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
23 | Module contents
24 | ---------------
25 |
26 | .. automodule:: mispr.hybrid.workflows
27 | :members:
28 | :undoc-members:
29 | :show-inheritance:
30 |
--------------------------------------------------------------------------------
/docs/source/mispr.lammps.firetasks.rst:
--------------------------------------------------------------------------------
1 | mispr.lammps.firetasks package
2 | ==============================
3 |
4 | Submodules
5 | ----------
6 |
7 | mispr.lammps.firetasks.parse\_outputs module
8 | --------------------------------------------
9 |
10 | .. automodule:: mispr.lammps.firetasks.parse_outputs
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | mispr.lammps.firetasks.run module
16 | ---------------------------------
17 |
18 | .. automodule:: mispr.lammps.firetasks.run
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
23 | mispr.lammps.firetasks.write\_inputs module
24 | -------------------------------------------
25 |
26 | .. automodule:: mispr.lammps.firetasks.write_inputs
27 | :members:
28 | :undoc-members:
29 | :show-inheritance:
30 |
31 | Module contents
32 | ---------------
33 |
34 | .. automodule:: mispr.lammps.firetasks
35 | :members:
36 | :undoc-members:
37 | :show-inheritance:
38 |
--------------------------------------------------------------------------------
/docs/source/mispr.lammps.fireworks.rst:
--------------------------------------------------------------------------------
1 | mispr.lammps.fireworks package
2 | ==============================
3 |
4 | Submodules
5 | ----------
6 |
7 | mispr.lammps.fireworks.core module
8 | ----------------------------------
9 |
10 | .. automodule:: mispr.lammps.fireworks.core
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | Module contents
16 | ---------------
17 |
18 | .. automodule:: mispr.lammps.fireworks
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
--------------------------------------------------------------------------------
/docs/source/mispr.lammps.rst:
--------------------------------------------------------------------------------
1 | mispr.lammps package
2 | ====================
3 |
4 | Subpackages
5 | -----------
6 |
7 | .. toctree::
8 | :maxdepth: 4
9 |
10 | mispr.lammps.firetasks
11 | mispr.lammps.fireworks
12 | mispr.lammps.tests
13 | mispr.lammps.utilities
14 | mispr.lammps.workflows
15 |
16 | Submodules
17 | ----------
18 |
19 | mispr.lammps.database module
20 | ----------------------------
21 |
22 | .. automodule:: mispr.lammps.database
23 | :members:
24 | :undoc-members:
25 | :show-inheritance:
26 |
27 | mispr.lammps.defaults module
28 | ----------------------------
29 |
30 | .. automodule:: mispr.lammps.defaults
31 | :members:
32 | :undoc-members:
33 | :show-inheritance:
34 |
35 | Module contents
36 | ---------------
37 |
38 | .. automodule:: mispr.lammps
39 | :members:
40 | :undoc-members:
41 | :show-inheritance:
42 |
--------------------------------------------------------------------------------
/docs/source/mispr.lammps.tests.rst:
--------------------------------------------------------------------------------
1 | mispr.lammps.tests package
2 | ==========================
3 |
4 | Submodules
5 | ----------
6 |
7 | mispr.lammps.tests.antechamber module
8 | -------------------------------------
9 |
10 | .. automodule:: mispr.lammps.tests.antechamber
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | mispr.lammps.tests.base\_test module
16 | ------------------------------------
17 |
18 | .. automodule:: mispr.lammps.tests.base_test
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
23 | mispr.lammps.tests.control module
24 | ---------------------------------
25 |
26 | .. automodule:: mispr.lammps.tests.control
27 | :members:
28 | :undoc-members:
29 | :show-inheritance:
30 |
31 | mispr.lammps.tests.custom\_data\_workflow module
32 | ------------------------------------------------
33 |
34 | .. automodule:: mispr.lammps.tests.custom_data_workflow
35 | :members:
36 | :undoc-members:
37 | :show-inheritance:
38 |
39 | mispr.lammps.tests.data module
40 | ------------------------------
41 |
42 | .. automodule:: mispr.lammps.tests.data
43 | :members:
44 | :undoc-members:
45 | :show-inheritance:
46 |
47 | mispr.lammps.tests.electrolyte\_wf module
48 | -----------------------------------------
49 |
50 | .. automodule:: mispr.lammps.tests.electrolyte_wf
51 | :members:
52 | :undoc-members:
53 | :show-inheritance:
54 |
55 | mispr.lammps.tests.esp\_to\_ff\_dict\_custom module
56 | ---------------------------------------------------
57 |
58 | .. automodule:: mispr.lammps.tests.esp_to_ff_dict_custom
59 | :members:
60 | :undoc-members:
61 | :show-inheritance:
62 |
63 | mispr.lammps.tests.esp\_to\_ff\_dict\_function module
64 | -----------------------------------------------------
65 |
66 | .. automodule:: mispr.lammps.tests.esp_to_ff_dict_function
67 | :members:
68 | :undoc-members:
69 | :show-inheritance:
70 |
71 | mispr.lammps.tests.liquid\_wf\_local module
72 | -------------------------------------------
73 |
74 | .. automodule:: mispr.lammps.tests.liquid_wf_local
75 | :members:
76 | :undoc-members:
77 | :show-inheritance:
78 |
79 | mispr.lammps.tests.parmchk module
80 | ---------------------------------
81 |
82 | .. automodule:: mispr.lammps.tests.parmchk
83 | :members:
84 | :undoc-members:
85 | :show-inheritance:
86 |
87 | mispr.lammps.tests.prmtop module
88 | --------------------------------
89 |
90 | .. automodule:: mispr.lammps.tests.prmtop
91 | :members:
92 | :undoc-members:
93 | :show-inheritance:
94 |
95 | mispr.lammps.tests.run\_lammps module
96 | -------------------------------------
97 |
98 | .. automodule:: mispr.lammps.tests.run_lammps
99 | :members:
100 | :undoc-members:
101 | :show-inheritance:
102 |
103 | mispr.lammps.tests.tleap module
104 | -------------------------------
105 |
106 | .. automodule:: mispr.lammps.tests.tleap
107 | :members:
108 | :undoc-members:
109 | :show-inheritance:
110 |
111 | Module contents
112 | ---------------
113 |
114 | .. automodule:: mispr.lammps.tests
115 | :members:
116 | :undoc-members:
117 | :show-inheritance:
118 |
--------------------------------------------------------------------------------
/docs/source/mispr.lammps.utilities.rst:
--------------------------------------------------------------------------------
1 | mispr.lammps.utilities package
2 | ==============================
3 |
4 | Submodules
5 | ----------
6 |
7 | mispr.lammps.utilities.opls module
8 | ----------------------------------
9 |
10 | .. automodule:: mispr.lammps.utilities.opls
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | mispr.lammps.utilities.utilities module
16 | ---------------------------------------
17 |
18 | .. automodule:: mispr.lammps.utilities.utilities
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
23 | Module contents
24 | ---------------
25 |
26 | .. automodule:: mispr.lammps.utilities
27 | :members:
28 | :undoc-members:
29 | :show-inheritance:
30 |
--------------------------------------------------------------------------------
/docs/source/mispr.lammps.workflows.rst:
--------------------------------------------------------------------------------
1 | mispr.lammps.workflows package
2 | ==============================
3 |
4 | Submodules
5 | ----------
6 |
7 | mispr.lammps.workflows.base module
8 | ----------------------------------
9 |
10 | .. automodule:: mispr.lammps.workflows.base
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | Module contents
16 | ---------------
17 |
18 | .. automodule:: mispr.lammps.workflows
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
--------------------------------------------------------------------------------
/docs/source/mispr.rst:
--------------------------------------------------------------------------------
1 | mispr package
2 | =============
3 |
4 | Subpackages
5 | -----------
6 |
7 | .. toctree::
8 | :maxdepth: 4
9 |
10 | mispr.common
11 | mispr.gaussian
12 | mispr.hybrid
13 | mispr.lammps
14 |
15 | Module contents
16 | ---------------
17 |
18 | .. automodule:: mispr
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
--------------------------------------------------------------------------------
/docs/source/modules.rst:
--------------------------------------------------------------------------------
1 | mispr
2 | =====
3 |
4 | .. toctree::
5 | :maxdepth: 4
6 |
7 | mispr
8 |
--------------------------------------------------------------------------------
/docs/source/overview.rst:
--------------------------------------------------------------------------------
1 | ==========
2 | Overview
3 | ==========
4 | MISPR (Materials Informatics for Structure-Property Relationships) is a
5 | high-throughput computational infrastructure aimed at guiding and
6 | accelerating materials discovery, optimization, and deployment for
7 | liquid solutions by seamlessly integrating density functional theory
8 | (DFT) with classical molecular dynamics (MD) techniques.
9 |
10 | MISPR is motivated by the Materials Genome Initiative (MGI) principles and is
11 | built on top of open-source Python packages developed for the `Materials
12 | Project `_ such as `pymatgen `_,
13 | `FireWorks `_ ,
14 | and `custodian `_, as
15 | well as `MDPropTools `_, which
16 | is an in-house package for analyzing MD output and trajectory files.
17 |
18 | .. figure:: _static/overview.png
19 |
20 | **Features of MISPR include**:
21 |
22 | * Automation of DFT and MD simulations and all their underlying tasks
23 | from file management and job submission to supercomputing resources,
24 | to output parsing and data analytics; a task that can be done to a
25 | single molecule/system or to a large number of systems in parallel
26 |
27 | * Creation of computational databases of force field parameters and DFT
28 | and MD derived properties of molecular systems for establishing
29 | structure-property relations and maintaining data provenance and
30 | reproducibility
31 |
32 | * Detection of the inevitable errors that occur during the simulations
33 | and their on-the-fly correction based on template responses that have
34 | been designed relying on human intuition coupled with extensive
35 | experience to significantly improve the success rate of high-throughput
36 | simulations while eliminating human intervention
37 |
38 | * Support for flexible and well-tested DFT workflows that compute various
39 | properties of individual molecular species or complexes such as bond
40 | dissociation energy, binding energy, redox potential, and nuclear
41 | magnetic resonance (NMR) tensors
42 |
43 | * Derivation of many molecular ensemble properties such as radial
44 | distribution functions, diffusion coefficients, viscosity, and
45 | conductivity of liquid solutions, which are critical to understanding
46 | complex inter- and intra-atomic interactions controlling the performance
47 | of solutions within various chemistry, biology, and materials science
48 | applications
49 |
50 | * Seamless integration of DFT and MD simulations through hybrid
51 | workflows that enable force field generation and information flow
52 | between the two length scales to allow exploring wide chemical and
53 | parameter spaces (e.g., temperature, pressure, concentration, etc.),
54 | a task that can be infeasible experimentally and challenging using
55 | manual calculations
56 |
57 | * Automatic extraction of hundreds of thousands of solvation structures
58 | from MD ensembles and their use in DFT workflows to accurately represent
59 | the electronic environment, which is crucial to derive reliable energetics
60 | and other properties such as NMR chemical shifts and redox potentials
61 | and match them to experimental data
62 |
63 | .. note::
64 | MISPR is primarily built to work with `Gaussian `_
65 | electronic structure software for DFT calculation and
66 | `LAMMPS `_
67 | open-source software for MD simulations.
--------------------------------------------------------------------------------
/docs/source/resources/faq.rst:
--------------------------------------------------------------------------------
1 | ===========
2 | FAQ
3 | ===========
4 |
5 | This page is under construction.
--------------------------------------------------------------------------------
/docs/source/resources/resources.rst:
--------------------------------------------------------------------------------
1 | =============
2 | Helpful Links
3 | =============
4 |
5 | Code Documentation
6 | ------------------------------
7 | * `pymatgen `_
8 | * `FireWorks `_
9 | * `custodian `_
10 | * `Gaussian `_
11 | * `LAMMPS `_
12 |
13 | Code Capsules
14 | ------------------------------
15 | * `MISPR workshop for high-school students `_:
16 | a compute capsule that stores the Python environment for the workshop
17 | and includes Jupyter notebooks for predicting various materials
18 | properties using MISPR
19 | * `NMR tutorial `_: a compute
20 | capsule that shows how to use the hybrid NMR workflow in MISPR to
21 | sample solvation structures from MD simulations and predict their
22 | NMR chemical shifts in a fully automated manner
--------------------------------------------------------------------------------
/docs/source/workflows/basics.rst:
--------------------------------------------------------------------------------
1 | ====================
2 | Workflow Basics
3 | ====================
4 | A scientific workflow in MISPR provides a complete description of the
5 | procedure leading to the final data used to predict the desired property
6 | of a given molecule or system. It consists of multiple steps ranging
7 | from the initial setup of a molecule or system of molecules to a
8 | sequence of calculations with dependencies and optional automated
9 | post-processing of parsed data to derive properties of interest.
10 |
11 | .. note::
12 | The workflow model we use to encode DFT and MD recipes in MISPR is
13 | defined by the FireWorks workflow software.
14 |
15 | A workflow in FireWorks is modeled as a Directed Acyclic Graph
16 | representing the chain of relationships between
17 | computational operations. A workflow consists of one or more Fireworks
18 | (jobs) with dependencies. The workflow contains information
19 | about the links between Fireworks to execute them in the correct order.
20 | Each Firework consists of one or more Firetasks that run sequentially.
21 | A Firetask is an atomic computing job that can call shell scripts,
22 | transfer files, write/delete files, or execute other Python functions.
23 | An example of the structure of a DFT workflow in MISPR is shown below:
24 |
25 | .. figure:: ../_static/workflow.png
26 |
27 | Once a Workflow object is created, the user can use the FireWorks package
28 | to execute the calculations on various computing resources. The goal of
29 | MISPR infrastructure is to provide preset workflows for
30 | computing properties relevant to the molecular science community and to
31 | simplify the process of creating new workflows by using the implemented
32 | FireWorks and Firetasks in MISPR as building blocks for custom workflows.
33 |
34 | At the end of each workflow in MISPR, an analysis FireTask is performed
35 | to analyze the results and generate a report. The report is in the form
36 | of a JSON file and/or MongoDB document. It contains all the input parameters
37 | used in the calculations, the output data, general information about the
38 | calculation like the software version used (Gaussian, LAMMPS, MISPR, etc.),
39 | the wall time the full run took, and chemical metadata about the molecule
40 | or system of molecules (e.g. SMILES, InChI, molecular formula, etc.).
41 |
42 | In general, each property predicted by MISPR workflows is the result of
43 | multiple Gaussian or LAMMPS calculations, and the predicted property is
44 | represented by a single file/document summarizing data and "raw" information
45 | collected from different calculation steps. The MongoDB document
46 | corresponding to a predicted property is stored in a MongoDB collection
47 | named after the property. For example, bond dissociation energies are
48 | stored in a ``bde`` collection in the database while electrostatic
49 | partial charges are saved in an ``esp`` collection and so on. Some of
50 | the analysis FireTasks also include optional plotting of the results.
51 | Besides the final summary file/document, MISPR stores data from the
52 | intermediate calculation steps into a collection called ``runs`` in the
53 | database.
54 |
55 | The following diagram summarizes the process in MISPR workflows to generate
56 | the analysis files/documents:
57 |
58 | .. figure:: ../_static/analysis.png
59 |
60 | .. note::
61 | The above diagram shows one example of the structure of a workflow
62 | where the Fireworks are executed sequentially. Some workflows contain
63 | parallel Fireworks. However, the analysis Firework
64 | is always the last Firework in all the workflows in MISPR.
--------------------------------------------------------------------------------
/docs/source/workflows/custom.rst:
--------------------------------------------------------------------------------
1 | =========================
2 | Creating Custom Workflows
3 | =========================
4 |
5 | This page is under construction.
--------------------------------------------------------------------------------
/docs/source/workflows/supported.rst:
--------------------------------------------------------------------------------
1 | ====================
2 | Supported Workflows
3 | ====================
4 | Some of the workflows available as of July 2022 are:
5 |
6 | * DFT:
7 | * Electrostatic partial charges (ESP)
8 | * NMR shifts
9 | * Redox potentials
10 | * Binding energies
11 | * Bond dissociation energies
12 | * MD:
13 | * Initial configuration building, generation of `GAFF `_
14 | or `OPLS `_ parameters,
15 | running of MD simulations
16 | * Analysis of output and trajectory files (e.g. RDF, coordination
17 | number, diffusion coefficients, etc.)
18 | * Hybrid:
19 | * Core workflow for optimizing the individual structure of the
20 | mixture of components, generating their ESP charges, and using
21 | them in MD simulations
22 | * NMR: deriving NMR chemicals for stable solvation structures
23 | extracted from MD simulations
24 |
25 | One can customize any of the above workflows or create their own by reusing
26 | the building blocks provided by MISPR. The above preset workflows are in
27 | ``mispr/gaussian/workflows/base``, ``mispr/lammps/workflows/base``, and
28 | ``mispr/hybrid/workflows``.
29 |
30 | .. note::
31 | Other types of force field parameters can be provided as
32 | inputs to the MD workflow, thereby skipping the force field
33 | generation step.
--------------------------------------------------------------------------------
/docs/source/workflows/tutorials.rst:
--------------------------------------------------------------------------------
1 | ===================
2 | Workflow Tutorials
3 | ===================
4 |
5 | This page is under construction.
6 |
7 | Running an ESP workflow
8 | ------------------------------
9 | The ESP workflow calculates the partial charges on atoms of a molecule. The charges are
10 | fit to the electrostatic potential at points selected according to the Merz-Singh-Kollman
11 | scheme, but other schemes supported by Gaussian can be used as well.
12 |
13 | **The ESP workflow performs the following steps:**
14 |
15 | .. mermaid::
16 |
17 | %%{
18 | init: {
19 | 'theme': 'base',
20 | 'themeVariables': {
21 | 'primaryTextColor': 'black',
22 | 'lineColor': 'lightgrey',
23 | 'secondaryColor': 'pink',
24 | 'tertiaryColor': 'lightgrey'
25 | }
26 | }
27 | }%%
28 |
29 | graph TD
30 | A[(Input Structure)] -->|Preprocessing| DFT
31 | DFT -->| | B[Geometry Optimization]
32 | B -->| | C[Frequency Calculation]
33 | C -->| | D[ESP Calculation]
34 | D -->|Postprocessing| E[(Output)]
35 |
36 | subgraph DFT
37 | B[Geometry Optimization]
38 | C[Frequency Calculation]
39 | D[ESP Calculation]
40 | end
41 |
42 | style A fill:#EBEBEB,stroke:#BB2528
43 | style DFT fill:#DDEEFF,stroke:#DDEEFF,font-weight:bold
44 | style B fill:#fff,stroke-dasharray: 5, 5, stroke:#BB2528
45 | style C fill:#fff,stroke-dasharray: 5, 5, stroke:#BB2528
46 | style D fill:#fff,stroke:#BB2528
47 | style E fill:#EBEBEB,stroke:#BB2528
48 |
49 | .. note::
50 | The geometry optimization and frequency calculation steps (marked with a dashed
51 | border in the above diagram) are optional. If the input structure is already
52 | optimized, the workflow will skip these steps.
53 |
54 |
55 | In the following example, we will run the ESP workflow on a monoglyme molecule.
56 |
57 | .. code-block:: python
58 | :linenos:
59 |
60 | from fireworks import LaunchPad
61 |
62 | from mispr.gaussian.workflows.base.esp import get_esp_charges
63 |
64 | lpad = LaunchPad.auto_load()
65 |
66 | wf, _ = get_esp_charges(
67 | mol_operation_type="get_from_pubchem", # (1)!
68 | mol="monoglyme",
69 | format_chk=True,
70 | save_to_db=True,
71 | save_to_file=True,
72 | additional_prop_doc_fields={"name": "monoglyme"},
73 | tag="mispr_tutorial",
74 | )
75 | lpad.add_wf(wf) # (2)!
76 |
77 | .. code-annotations::
78 | 1.
79 | :code:`mol_operation_type` refers to the operation to be performed on the input to process the molecule.
80 |
81 | In this example, we are requesting to directly retrieve the molecule from PubChem by providing a
82 | common name for the molecule to be used as query criteria for searching the PubChem database via
83 | the :code:`mol` input argument. For a list of supported :code:`mol_operation_type` and the corresponding
84 | :code:`mol`, refer to :meth:`mispr.gaussian.utilities.mol.process_mol`.
85 |
86 | 2. Adds the workflow to the launchpad.
87 |
88 |
89 | Download :download:`esp_tutorial.py <../_downloads/esp_tutorial.py>`.
90 |
91 | Run the script using the following command:
92 |
93 | .. code-block:: bash
94 |
95 | python esp_tutorial.py
96 |
97 | And then launch the job through the queueing system using the following command:
98 |
99 | .. code-block:: bash
100 |
101 | qlaunch rapidfire # (1)!
102 |
103 | .. code-annotations::
104 | 1.
105 | This command can submit a large number of jobs at once
106 | or maintain a certain number of jobs in the queue.
107 |
108 | The workflow will run and create a directory named :code:`C4H10O2` in the current working
109 | directory. The directory will contain the following subdirectories:
110 |
111 | .. code-block:: bash
112 |
113 | C4H10O2
114 | ├── Optimization
115 | ├── Frequency
116 | ├── ESP
117 | ├── analysis
118 |
119 | Inside the :code:`Optimization`, :code:`Frequency`, and :code:`ESP` subdirectories, you
120 | will find the Gaussian input and output files for the corresponding step. Inside the
121 | :code:`Optimization` subdirectory, you will also find a "convergence.png" figure that
122 | shows the forces and displacement convergence during the course of the optimization.
123 |
124 | .. figure:: ../_static/convergence.png
125 |
126 | The :code:`analysis` subdirectory contains the results of the workflow in the form of a
127 | :code:`esp.json` file. You can read the content of the :code:`esp.json` file using the
128 | following commands:
129 |
130 | .. code-block:: python
131 | :linenos:
132 |
133 | import json
134 |
135 | with open("C4H10O2/analysis/esp.json", "r") as f:
136 | esp = json.load(f)
137 |
138 | print(esp["esp"])
139 |
140 | This will output the partial charges on the atoms of the molecule:
141 |
142 | .. code-block:: python
143 |
144 | {
145 | "1": ["O", -0.374646],
146 | "2": ["O", -0.373831],
147 | "3": ["C", 0.132166],
148 | "4": ["C", 0.132716],
149 | "5": ["C", 0.034284],
150 | "6": ["C", 0.031733],
151 | "7": ["H", 0.033853],
152 | "8": ["H", 0.034024],
153 | "9": ["H", 0.034218],
154 | "10": ["H", 0.034388],
155 | "11": ["H", 0.070724],
156 | "12": ["H", 0.03474],
157 | "13": ["H", 0.03438],
158 | "14": ["H", 0.034621],
159 | "15": ["H", 0.071656],
160 | "16": ["H", 0.034974],
161 | }
162 |
163 | Running a BDE workflow
164 | ------------------------------
165 |
166 |
167 | Running an MD workflow
168 | ------------------------------
169 |
170 |
171 | Running a hybrid workflow
172 | ------------------------------
173 |
--------------------------------------------------------------------------------
/mispr/__init__.py:
--------------------------------------------------------------------------------
1 | __version__ = "0.0.4"
--------------------------------------------------------------------------------
/mispr/common/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/common/__init__.py
--------------------------------------------------------------------------------
/mispr/common/pubchem.py:
--------------------------------------------------------------------------------
1 | """Implement a core class PubChemRunner for retrieving molecules from the PubChem
2 | database using a molecule name as a query criteria."""
3 |
4 | import os
5 |
6 | import pubchempy as pcp
7 |
8 | from pymatgen.core.structure import Molecule
9 |
10 | __author__ = "Rasha Atwi"
11 | __maintainer__ = "Rasha Atwi"
12 | __email__ = "rasha.atwi@stonybrook.edu"
13 | __status__ = "Development"
14 | __date__ = "Aug 2022"
15 | __version__ = "0.0.4"
16 |
17 |
18 | class PubChemRunner:
19 | """
20 | Wrapper for retrieving molecules from PubChem database.
21 | """
22 |
23 | def __init__(self, abbreviation, working_dir=None):
24 | """
25 | Args:
26 | abbreviation (str): Abbreviation to be used when saving molecule file.
27 | working_dir (str, optional): Working directory for saving the molecule file
28 | in; will use the current working directory if not specified.
29 | """
30 | self.abbreviation = abbreviation
31 | self.working_dir = working_dir or os.getcwd()
32 | self.cid = None
33 |
34 | def get_mol(self, name, save_to_file=True, fmt="pdb", cleanup=True):
35 | """
36 | Wrapper function that searches for a molecule in the PubChem database, downloads
37 | it in the form of an SDF file, and converts the file to a pymatgen ``Molecule``
38 | object.
39 |
40 | Args:
41 | name (str): Name of the molecule to use for searching PubChem.
42 | save_to_file (bool, optional): Whether to save the ``Molecule`` object to a
43 | file. Defaults to ``True``.
44 | fmt (str, optional): Molecule file format if ``save_to_file`` is ``True``;
45 | defaults to "pdb".
46 | cleanup (bool, optional): Whether to remove the intermediate sdf file.
47 |
48 | Returns:
49 | Molecule: pymatgen ``Molecule`` object.
50 | """
51 | self.download_sdf(name)
52 | molecule = self.convert_sdf_to_mol(save_to_file, fmt)
53 | if cleanup:
54 | self.cleanup()
55 | return molecule
56 |
57 | def download_sdf(self, name):
58 | """
59 | Download an SDF file from PubChem using a common name for the molecule as an
60 | identifier.
61 |
62 | Args:
63 | name (str): Name of the molecule to use for searching PubChem.
64 | """
65 | cids = pcp.get_cids(name, record_type="3d")
66 | if cids:
67 | self.cid = cids[0]
68 | pcp.download(
69 | outformat="SDF",
70 | path=f"{self.working_dir}/{self.abbreviation}_{self.cid}.sdf",
71 | identifier=self.cid,
72 | record_type="3d",
73 | overwrite=True,
74 | )
75 | else:
76 | raise ValueError("No matching molecule found in the PubChem database")
77 |
78 | def convert_sdf_to_mol(self, save_to_file, fmt):
79 | """
80 | Convert an SDF file to a pymatgen ``Molecule`` object.
81 |
82 | Args:
83 | save_to_file (bool): Whether to save the ``Molecule`` object to a file.
84 | fmt (str): Molecule file format if ``save_to_file`` is ``True``.
85 |
86 | Returns:
87 | Molecule: pymatgen ``Molecule`` object.
88 | """
89 | mol = Molecule.from_file(
90 | f"{self.working_dir}/{self.abbreviation}_{self.cid}.sdf"
91 | )
92 | if save_to_file:
93 | mol.to(fmt, f"{self.working_dir}/{self.abbreviation}_{self.cid}.{fmt}")
94 | return mol
95 |
96 | def cleanup(self):
97 | """
98 | Delete the sdf file downloaded from PubChem.
99 | """
100 | os.remove(f"{self.working_dir}/{self.abbreviation}_{self.cid}.sdf")
101 |
--------------------------------------------------------------------------------
/mispr/gaussian/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/gaussian/__init__.py
--------------------------------------------------------------------------------
/mispr/gaussian/data/h_pot.bib:
--------------------------------------------------------------------------------
1 | @article{reiss1985absolute,
2 | title={The absolute potential of the standard hydrogen electrode: a new estimate},
3 | author={Reiss, Howard and Heller, Adam},
4 | journal={The Journal of Physical Chemistry},
5 | volume={89},
6 | number={20},
7 | pages={4207--4213},
8 | year={1985},
9 | publisher={ACS Publications}
10 | }
--------------------------------------------------------------------------------
/mispr/gaussian/data/li_pot.bib:
--------------------------------------------------------------------------------
1 | @incollection{smith2013lithium,
2 | title={Lithium battery electrolyte stability and performance from molecular modeling and simulations},
3 | author={Smith, Grant D and Borodin, Oleg},
4 | booktitle={Batteries for Sustainability},
5 | pages={195--237},
6 | year={2013},
7 | publisher={Springer}
8 | }
--------------------------------------------------------------------------------
/mispr/gaussian/data/mg_pot.bib:
--------------------------------------------------------------------------------
1 | @article{coates1945124,
2 | title={124. The standard electrode potential of magnesium},
3 | author={Coates, GE},
4 | journal={Journal of the Chemical Society (Resumed)},
5 | pages={478--479},
6 | year={1945},
7 | publisher={Royal Society of Chemistry}
8 | }
--------------------------------------------------------------------------------
/mispr/gaussian/defaults.py:
--------------------------------------------------------------------------------
1 | # gaussian jobs used to identify the type of calculation and insert it to the db
2 | JOB_TYPES = {
3 | "sp",
4 | "opt",
5 | "freq",
6 | "irc",
7 | "ircmax",
8 | "scan",
9 | "polar",
10 | "admp",
11 | "bomd",
12 | "eet",
13 | "force",
14 | "stable",
15 | "volume",
16 | "density",
17 | "guess",
18 | "pop",
19 | "scrf",
20 | "cphf",
21 | "prop",
22 | "nmr",
23 | "cis",
24 | "zindo",
25 | "td",
26 | "eom",
27 | "sac-ci",
28 | }
29 |
30 | # gaussian SCRF models used to identify calculation model and insert to the db
31 | SCRF_MODELS = {"pcm", "iefpcm", "cpcm", "dipole", "ipcm", "isodensity", "scipcm", "smd"}
32 |
33 | # default gaussian inputs used in the workflows if not specified by user
34 | STANDARD_OPT_GUASSIAN_INPUT = {
35 | "functional": "B3LYP",
36 | "basis_set": "6-31G(d)",
37 | "route_parameters": {"Opt": None},
38 | "link0_parameters": {
39 | "%chk": "checkpoint.chk",
40 | "%mem": "45GB",
41 | "%NProcShared": "24",
42 | },
43 | }
44 |
45 | # maximum number of errors to correct
46 | CUSTODIAN_MAX_ERRORS = 5
47 |
--------------------------------------------------------------------------------
/mispr/gaussian/firetasks/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/gaussian/firetasks/__init__.py
--------------------------------------------------------------------------------
/mispr/gaussian/fireworks/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/gaussian/fireworks/__init__.py
--------------------------------------------------------------------------------
/mispr/gaussian/fireworks/break_mol.py:
--------------------------------------------------------------------------------
1 | """Define firework used to break a molecule and run its fragments."""
2 |
3 | import os
4 | import logging
5 |
6 | from fireworks import Firework
7 |
8 | from mispr.gaussian.firetasks.geo_transformation import (
9 | BreakMolecule,
10 | ProcessMoleculeInput,
11 | )
12 |
13 | __author__ = "Rasha Atwi"
14 | __maintainer__ = "Rasha Atwi"
15 | __email__ = "rasha.atwi@stonybrook.edu"
16 | __status__ = "Development"
17 | __date__ = "Jan 2021"
18 | __version__ = "0.0.4"
19 |
20 | logger = logging.getLogger(__name__)
21 |
22 | FIREWORK_KWARGS = Firework.__init__.__code__.co_varnames
23 |
24 |
25 | class BreakMolFW(Firework):
26 | """
27 | Process a molecule input, break it into unique fragments, and generate a set of
28 | optimization and frequency calculations for each fragment (optional).
29 | """
30 |
31 | def __init__(
32 | self,
33 | mol,
34 | mol_operation_type="get_from_mol",
35 | bonds=None,
36 | open_rings=False,
37 | ref_charge=0,
38 | fragment_charges=None,
39 | calc_frags=True,
40 | db=None,
41 | name="break_mol",
42 | parents=None,
43 | working_dir=None,
44 | tag="unknown",
45 | **kwargs
46 | ):
47 | """
48 | Args:
49 | mol (Molecule, GaussianOutput, str, dict): Source of the molecule to be
50 | processed. Should match the ``mol_operation_type``.
51 | mol_operation_type (str, optional): The type of molecule operation.
52 | See ``process_mol`` defined in ``mispr/gaussian/utilities/mol.py`` for
53 | supported operations. Defaults to ``get_from_mol``.
54 | bonds (list, optional): List of tuples of the bonds to break; e.g.
55 | [(0, 1), (1, 2)] will break the bonds between atoms 0 and 1 and between
56 | atoms 1 and 2; if none is specified, will attempt to break all bonds.
57 | open_rings (bool, optional): Whether to open rings; if set to True, will
58 | perform local optimization to get a good initial guess for the
59 | structure. Defaults to False.
60 | ref_charge (int, optional): Charge on the principle molecule. Defaults to 0.
61 | fragment_charges (list, optional): List of charges to assign to the
62 | fragments in addition to the ones already assigned; refer to
63 | ``mispr.gaussian.firetasks.geo_transformation.BreakMolecule`` for more
64 | details.
65 | calc_frags (bool, optional): Whether to create optimization and frequency
66 | Fireworks for the generated fragments. Defaults to True.
67 | db (str or dict, optional): Database credentials.
68 | name (str, optional): Name of the Firework. Defaults to ``break_mol``.
69 | parents (Firework or [Firework]), optional: List of parent FWs this FW
70 | depends on.
71 | working_dir (str, optional): Working directory for the calculation; will
72 | use the current working directory if not specified.
73 | tag (str, optional): Tag for the calculation; the provided tag will be
74 | stored in the db documents for easy retrieval. Defaults to "unknown".
75 | kwargs: Other kwargs that are passed to:
76 |
77 | 1. Firework.__init__.
78 | 2. ``mispr.gaussian.firetasks.geo_transformation.ProcessMoleculeInput``
79 | 3. ``mispr.gaussian.firetasks.geo_transformation.BreakMolecule``
80 | """
81 |
82 | t = []
83 | working_dir = working_dir or os.getcwd()
84 | if not os.path.exists(working_dir):
85 | os.makedirs(working_dir)
86 |
87 | t.append(
88 | ProcessMoleculeInput(
89 | mol=mol,
90 | operation_type=mol_operation_type,
91 | db=db,
92 | **{
93 | i: j
94 | for i, j in kwargs.items()
95 | if i
96 | in ProcessMoleculeInput.required_params
97 | + ProcessMoleculeInput.optional_params
98 | }
99 | )
100 | )
101 |
102 | t.append(
103 | BreakMolecule(
104 | bonds=bonds,
105 | open_rings=open_rings,
106 | ref_charge=ref_charge,
107 | fragment_charges=fragment_charges,
108 | calc_frags=calc_frags,
109 | db=db,
110 | additional_kwargs=kwargs,
111 | **{
112 | i: j
113 | for i, j in kwargs.items()
114 | if i
115 | in BreakMolecule.required_params + BreakMolecule.optional_params
116 | }
117 | )
118 | )
119 |
120 | spec = kwargs.pop("spec", {})
121 | spec.update({"tag": tag, "_launch_dir": working_dir})
122 | super(BreakMolFW, self).__init__(
123 | t,
124 | parents=parents,
125 | name=name,
126 | spec=spec,
127 | **{i: j for i, j in kwargs.items() if i in FIREWORK_KWARGS}
128 | )
129 |
--------------------------------------------------------------------------------
/mispr/gaussian/utilities/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/gaussian/utilities/__init__.py
--------------------------------------------------------------------------------
/mispr/gaussian/utilities/db_utilities.py:
--------------------------------------------------------------------------------
1 | """Define db utility functions."""
2 |
3 | import os
4 | import logging
5 |
6 | from fireworks.fw_config import CONFIG_FILE_DIR
7 |
8 | from mispr.gaussian.database import GaussianCalcDb
9 |
10 | __author__ = "Rasha Atwi"
11 | __maintainer__ = "Rasha Atwi"
12 | __email__ = "rasha.atwi@stonybrook.edu"
13 | __status__ = "Development"
14 | __date__ = "Jan 2021"
15 | __version__ = "0.0.4"
16 |
17 | logger = logging.getLogger(__name__)
18 |
19 |
20 | def get_db(input_db=None):
21 | """
22 | Helper function to create a GaussianCalcDb instance from a file or a dict.
23 |
24 | Args:
25 | input_db (str or dict, optional): Path to db file or a dict containing db info.
26 |
27 | Returns:
28 | GaussianCalcDb.
29 | """
30 | if not input_db:
31 | input_db = f"{CONFIG_FILE_DIR}/db.json"
32 | if not os.path.isfile(input_db):
33 | raise FileNotFoundError("Please provide the database configurations")
34 | if isinstance(input_db, dict):
35 | db = GaussianCalcDb(**input_db)
36 | else:
37 | db = GaussianCalcDb.from_db_file(input_db)
38 |
39 | return db
40 |
--------------------------------------------------------------------------------
/mispr/gaussian/utilities/files.py:
--------------------------------------------------------------------------------
1 | """Define utility functions for handling files and paths."""
2 |
3 | import os
4 | import logging
5 |
6 | __author__ = "Rasha Atwi"
7 | __maintainer__ = "Rasha Atwi"
8 | __email__ = "rasha.atwi@stonybrook.edu"
9 | __status__ = "Development"
10 | __date__ = "Jan 2021"
11 | __version__ = "0.0.4"
12 |
13 | logger = logging.getLogger(__name__)
14 |
15 |
16 | def bibtex_parser(bib_file, working_dir):
17 | """
18 | Parse a bibtex file and returns a dictionary of the entries.
19 |
20 | Args:
21 | bib_file (str): Relative or absolute path to the bibtex file.
22 | working_dir (str): Name of the working directory where the bibtex file is
23 | located if bib_file path is relative; else None.
24 |
25 | Returns:
26 | dict: Dictionary of the entries in the bibtex file.
27 | """
28 | try:
29 | import bibtexparser
30 | except ModuleNotFoundError:
31 | raise ImportError(
32 | "Defining standard electrode potential "
33 | "references requires bibtexparser to be "
34 | "installed."
35 | )
36 | bib_file = recursive_relative_to_absolute_path(bib_file, working_dir)
37 | print(bib_file)
38 | with open(bib_file) as bibfile:
39 | bp = bibtexparser.load(bibfile)
40 | entry = bp.entries[0]
41 | return entry
42 |
43 |
44 | def recursive_relative_to_absolute_path(operand, working_dir):
45 | """
46 | Convert recursively relative file paths to absolute file paths.
47 |
48 | Args:
49 | operand (str, list, dict): File, list of files, or a dictionary where the values
50 | are the files; the file(s) path can be relative or absolute.
51 | working_dir (str): Name of the working directory where the file(s) is/are
52 | located if operand path is relative; else None.
53 |
54 | Returns:
55 | str or list or dict: File, list of files, or dict where the values are the
56 | absolute file paths.
57 | """
58 | if isinstance(operand, str):
59 | if os.path.isabs(operand):
60 | return operand
61 | elif os.path.isfile(operand):
62 | return os.path.join(os.getcwd(), operand)
63 | else:
64 | full_path = os.path.join(working_dir, operand)
65 | if os.path.isfile(full_path):
66 | return full_path
67 | else:
68 | return operand
69 | elif isinstance(operand, dict):
70 | return {
71 | i: recursive_relative_to_absolute_path(j, working_dir)
72 | for i, j in operand.items()
73 | }
74 | elif isinstance(operand, list):
75 | return [recursive_relative_to_absolute_path(i, working_dir) for i in operand]
76 | else:
77 | return operand
78 |
--------------------------------------------------------------------------------
/mispr/gaussian/utilities/metadata.py:
--------------------------------------------------------------------------------
1 | """Define functions for creating db schema."""
2 |
3 | import logging
4 |
5 | from openbabel import pybel as pb
6 |
7 | from pymatgen.io.babel import BabelMolAdaptor
8 | from pymatgen.core.structure import Molecule
9 |
10 | __author__ = "Rasha Atwi"
11 | __maintainer__ = "Rasha Atwi"
12 | __email__ = "rasha.atwi@stonybrook.edu"
13 | __status__ = "Development"
14 | __date__ = "Jan 2021"
15 | __version__ = "0.0.4"
16 |
17 | logger = logging.getLogger(__name__)
18 |
19 |
20 | def get_chem_schema(mol):
21 | """
22 | Return a dictionary of chemical schema for a given molecule to use in building db
23 | documents or json file.
24 |
25 | Args:
26 | mol (Molecule): Molecule object.
27 |
28 | Returns:
29 | dict: Chemical schema.
30 | """
31 | mol_dict = mol.as_dict()
32 | comp = mol.composition
33 | a = BabelMolAdaptor(mol)
34 | pm = pb.Molecule(a.openbabel_mol)
35 | # svg = pm.write('svg')
36 | mol_dict.update(
37 | {
38 | "smiles": pm.write("smi").strip(),
39 | "inchi": pm.write("inchi").strip("\n"),
40 | "formula": comp.formula,
41 | "formula_pretty": comp.reduced_formula,
42 | "formula_anonymous": comp.anonymized_formula,
43 | "formula_alphabetical": comp.alphabetical_formula,
44 | "chemsys": comp.chemical_system,
45 | "nsites": mol.num_sites,
46 | "nelements": len(comp.chemical_system.replace("-", " ").split(" ")),
47 | "is_ordered": mol.is_ordered,
48 | "is_valid": mol.is_valid(),
49 | }
50 | )
51 | return mol_dict
52 |
53 |
54 | def get_mol_formula(mol):
55 | """
56 | Get the alphabetical molecular formula for a molecule.
57 |
58 | Args:
59 | mol (Molecule): Molecule object
60 |
61 | Returns:
62 | str: Alphabetical molecular formula.
63 | """
64 | mol_schema = get_chem_schema(mol)
65 | return mol_schema["formula_alphabetical"].replace(" ", "")
66 |
67 |
68 | def get_job_name(mol, name):
69 | """
70 | Append a molecule label to the name of a workflow for easy monitoring and
71 | identification.
72 |
73 | Args:
74 | mol (Molecule or str): If a Molecule is provided, the appended label will be
75 | the molecular formula; otherwise the label will be the provided string.
76 | name (str): Original name of the workflow.
77 |
78 | Returns:
79 | str: Job name with molecule label.
80 | """
81 | if not isinstance(mol, Molecule):
82 | job_name = "{}_{}".format(mol, name)
83 | else:
84 | mol_formula = get_mol_formula(mol)
85 | job_name = "{}_{}".format(mol_formula, name)
86 | return job_name
87 |
--------------------------------------------------------------------------------
/mispr/gaussian/utilities/misc.py:
--------------------------------------------------------------------------------
1 | """Define miscellaneous functions useful in many of the mispr levels."""
2 |
3 | import logging
4 |
5 | __author__ = "Rasha Atwi"
6 | __maintainer__ = "Rasha Atwi"
7 | __email__ = "rasha.atwi@stonybrook.edu"
8 | __status__ = "Development"
9 | __date__ = "Jan 2021"
10 | __version__ = "0.0.4"
11 |
12 | logger = logging.getLogger(__name__)
13 |
14 |
15 | def pass_gout_dict(fw_spec, key):
16 | """
17 | Helper function used in the Gaussian Fireworks to pass Gaussian output dictionaries
18 | from one task to the other, while checking that the criteria for starting the
19 | following task are met (e.g. normal termination of the previous job, lack of
20 | imaginary frequencies, etc.).
21 |
22 | Args:
23 | fw_spec (dict): Firework spec dictionary.
24 | key (str): Unique key for the Gaussian output dictionary in fw_spec.
25 |
26 | Returns:
27 | dict: Gaussian output dictionary.
28 | """
29 | gout_dict = fw_spec.get("gaussian_output", {}).get(key)
30 | proceed_keys = fw_spec.get("proceed", {})
31 | for k, v in proceed_keys.items():
32 | if gout_dict["output"].get(k, gout_dict["output"]["output"].get(k)) != v:
33 | raise ValueError(f"The condition for {k} is not met, Terminating")
34 | return gout_dict
35 |
36 |
37 | def recursive_signature_remove(d):
38 | """
39 | Remove Recursively the signature "@" from a dictionary (e.g. those in the name of
40 | a module). Used when processing Gaussian runs before saving them to the db.
41 |
42 | Args:
43 | d (dict): Dictionary to remove the signature from.
44 |
45 | Returns:
46 | dict: Dictionary with the signature removed.
47 | """
48 | # TODO: check if this is no longer an issue with MongoDB 5.0
49 | if isinstance(d, dict):
50 | return {
51 | i: recursive_signature_remove(j)
52 | for i, j in d.items()
53 | if not i.startswith("@")
54 | }
55 | else:
56 | return d
57 |
58 |
59 | def recursive_compare_dicts(dict1, dict2, dict1_name, dict2_name, path=""):
60 | """
61 | Compare recursively two dictionaries and returns the differences.
62 |
63 | Args:
64 | dict1 (dict): First dictionary to compare.
65 | dict2 (dict): Second dictionary to compare.
66 | dict1_name (str): Name of the first dictionary (for messages on the differences).
67 | dict2_name (str): Name of the second dictionary (for messages on the differences).
68 | path (str, optional): Used internally to keep track of the keys in nested dicts,
69 | meant to be "" for the top level
70 |
71 | Returns:
72 | str: Differences between the two dictionaries (if any).
73 | """
74 | error = ""
75 | old_path = path
76 | for key in dict1.keys():
77 | path = f"{old_path}[{key}]"
78 | if key not in dict2.keys():
79 | error += f"Key {dict1_name}{path} not in {dict2_name}\n"
80 | else:
81 | if isinstance(dict1[key], dict) and isinstance(dict2[key], dict):
82 | error += recursive_compare_dicts(
83 | dict1[key], dict2[key], "d1", "d2", path
84 | )
85 | else:
86 | if dict1[key] != dict2[key]:
87 | error += (
88 | f"Value of {dict1_name}{path} ({dict1[key]}) "
89 | f"not same as {dict2_name}{path} ({dict2[key]})\n"
90 | )
91 |
92 | for key in dict2.keys():
93 | path = f"{old_path}[{key}]"
94 | if key not in dict1.keys():
95 | error += f"Key {dict2_name}{path} not in {dict1_name}\n"
96 | return error
97 |
--------------------------------------------------------------------------------
/mispr/gaussian/workflows/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/gaussian/workflows/__init__.py
--------------------------------------------------------------------------------
/mispr/gaussian/workflows/base/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/gaussian/workflows/base/__init__.py
--------------------------------------------------------------------------------
/mispr/hybrid/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/hybrid/__init__.py
--------------------------------------------------------------------------------
/mispr/hybrid/defaults.py:
--------------------------------------------------------------------------------
1 | OPT_GAUSSIAN_INPUTS = {
2 | "functional": "wB97X",
3 | "basis_set": "Def2TZVP",
4 | "route_parameters": {
5 | "Opt": "(calcfc, tight)",
6 | "SCF": "Tight",
7 | "int": "ultrafine",
8 | "NoSymmetry": None,
9 | "test": None,
10 | },
11 | "link0_parameters": {
12 | "%chk": "checkpoint.chk",
13 | "%mem": "45GB",
14 | "%NProcShared": "28",
15 | },
16 | }
17 |
18 | FREQ_GAUSSIAN_INPUTS = {
19 | "functional": "wB97X",
20 | "basis_set": "Def2TZVP",
21 | "route_parameters": {
22 | "Freq": None,
23 | "iop(7/33=1)": None,
24 | "int": "ultrafine",
25 | "NoSymmetry": None,
26 | "test": None,
27 | },
28 | "link0_parameters": {
29 | "%chk": "checkpoint.chk",
30 | "%mem": "45GB",
31 | "%NProcShared": "28",
32 | },
33 | }
34 |
35 | NMR_GAUSSIAN_INPUTS = {
36 | "functional": "wB97X",
37 | "basis_set": "Def2TZVP",
38 | "route_parameters": {
39 | "NMR": "GIAO",
40 | "iop(7/33=1)": None,
41 | "int": "ultrafine",
42 | "NoSymmetry": None,
43 | "test": None,
44 | },
45 | "link0_parameters": {
46 | "%chk": "checkpoint.chk",
47 | "%mem": "45GB",
48 | "%NProcShared": "28",
49 | },
50 | }
51 |
--------------------------------------------------------------------------------
/mispr/hybrid/firetasks/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/hybrid/firetasks/__init__.py
--------------------------------------------------------------------------------
/mispr/hybrid/firetasks/nmr_from_md.py:
--------------------------------------------------------------------------------
1 | import os
2 | import ntpath
3 | import shutil
4 |
5 | from copy import deepcopy
6 |
7 | from fireworks.core.firework import FWAction, FiretaskBase
8 | from fireworks.utilities.fw_utilities import explicit_serialize
9 |
10 | from mispr.gaussian.workflows.base.nmr import get_nmr_tensors
11 | from mispr.gaussian.utilities.fw_utilities import run_fake_gaussian
12 |
13 |
14 | @explicit_serialize
15 | class NMRFromMD(FiretaskBase):
16 | required_params = []
17 | optional_params = [
18 | "working_dir",
19 | "db",
20 | "opt_gaussian_inputs",
21 | "freq_gaussian_inputs",
22 | "nmr_gaussian_inputs",
23 | "solvent_gaussian_inputs",
24 | "solvent_properties",
25 | "cart_coords",
26 | "oxidation_states",
27 | "additional_kwargs",
28 | ]
29 |
30 | def run_task(self, fw_spec):
31 | nmr_wfs = []
32 | working_dir = self.get("working_dir", os.getcwd())
33 | additional_kwargs = self.get("additional_kwargs", {})
34 | for key in ["mol_name", "skips", "process_mol_func", "charge"]:
35 | additional_kwargs.pop(key, None)
36 | top_config_files = sorted(fw_spec.get("top_config_files"))
37 |
38 | # used only if running fake gaussian calculations
39 | fake_gaussian_kwargs = additional_kwargs.get("fake_gaussian_kwargs", {})
40 | ref_dirs = fake_gaussian_kwargs.get("ref_dirs", [])
41 | input_files = fake_gaussian_kwargs.get(
42 | "input_files", ["mol.com"] * 3 * len(top_config_files)
43 | )
44 |
45 | for ind, file in enumerate(top_config_files):
46 | config_file = ntpath.basename(file)
47 | shutil.copy(file, f"{working_dir}/{config_file}")
48 | nmr_wf = get_nmr_tensors(
49 | mol_operation_type="get_from_file",
50 | mol=config_file,
51 | db=self.get("db"),
52 | working_dir=working_dir,
53 | opt_gaussian_inputs=deepcopy(self.get("opt_gaussian_inputs")),
54 | freq_gaussian_inputs=deepcopy(self.get("freq_gaussian_inputs")),
55 | nmr_gaussian_inputs=deepcopy(self.get("nmr_gaussian_inputs")),
56 | solvent_gaussian_inputs=self.get("solvent_gaussian_inputs"),
57 | solvent_properties=self.get("solvent_properties"),
58 | cart_coords=self.get("cart_coords"),
59 | oxidation_states=self.get("oxidation_states"),
60 | skips=None,
61 | process_mol_func=False,
62 | mol_name=config_file.strip(".xyz"),
63 | **additional_kwargs,
64 | )
65 |
66 | # added just for testing purposes
67 | if fake_gaussian_kwargs:
68 | nmr_wf = run_fake_gaussian(
69 | nmr_wf,
70 | ref_dirs=ref_dirs[ind * 3 : ind * 3 + 3],
71 | input_files=input_files[ind * 3 : ind * 3 + 3],
72 | tolerance=fake_gaussian_kwargs.get("tolerance"),
73 | )
74 | nmr_wfs.append(nmr_wf)
75 | return FWAction(detours=nmr_wfs)
76 |
--------------------------------------------------------------------------------
/mispr/hybrid/workflows/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/hybrid/workflows/__init__.py
--------------------------------------------------------------------------------
/mispr/lammps/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/lammps/__init__.py
--------------------------------------------------------------------------------
/mispr/lammps/data/masses.json:
--------------------------------------------------------------------------------
1 | {
2 | "Ac": 227.0,
3 | "Ag": 107.8682,
4 | "Al": 26.9815386,
5 | "Am": 243.0,
6 | "Ar": 39.948,
7 | "As": 74.9216,
8 | "At": 210.0,
9 | "Au": 196.966569,
10 | "B": 10.811,
11 | "Ba": 137.327,
12 | "Be": 9.012182,
13 | "Bi": 208.9804,
14 | "Bk": 247.0,
15 | "Br": 79.904,
16 | "C": 12.0107,
17 | "Ca": 40.078,
18 | "Cd": 112.411,
19 | "Ce": 140.116,
20 | "Cf": 251.0,
21 | "Cl": 35.453,
22 | "Cm": 247.0,
23 | "Co": 58.933195,
24 | "Cr": 51.9961,
25 | "Cs": 132.9054519,
26 | "Cu": 63.546,
27 | "Dy": 162.5,
28 | "Er": 167.259,
29 | "Es": 252.0,
30 | "Eu": 151.964,
31 | "F": 18.9984032,
32 | "Fe": 55.845,
33 | "Fm": 257.0,
34 | "Fr": 223.0,
35 | "Ga": 69.723,
36 | "Gd": 157.25,
37 | "Ge": 72.64,
38 | "H": 1.00794,
39 | "He": 4.002602,
40 | "Hf": 178.49,
41 | "Hg": 200.59,
42 | "Ho": 164.93032,
43 | "I": 126.90447,
44 | "In": 114.818,
45 | "Ir": 192.217,
46 | "K": 39.0983,
47 | "Kr": 83.798,
48 | "La": 138.90547,
49 | "Li": 6.941,
50 | "Lr": 262.0,
51 | "Lu": 174.967,
52 | "Md": 258.0,
53 | "Mg": 24.305,
54 | "Mn": 54.938045,
55 | "Mo": 95.94,
56 | "N": 14.0067,
57 | "Na": 22.98976928,
58 | "Nb": 92.90638,
59 | "Nd": 144.242,
60 | "Ne": 20.1797,
61 | "Ni": 58.6934,
62 | "No": 259.0,
63 | "Np": 237.0,
64 | "O": 15.9994,
65 | "Os": 190.23,
66 | "P": 30.973762,
67 | "Pa": 231.03588,
68 | "Pb": 207.2,
69 | "Pd": 106.42,
70 | "Pm": 145.0,
71 | "Po": 210.0,
72 | "Pr": 140.90765,
73 | "Pt": 195.084,
74 | "Pu": 244.0,
75 | "Ra": 226.0,
76 | "Rb": 85.4678,
77 | "Re": 186.207,
78 | "Rh": 102.9055,
79 | "Rn": 220.0,
80 | "Ru": 101.07,
81 | "S": 32.065,
82 | "Sb": 121.76,
83 | "Sc": 44.955912,
84 | "Se": 78.96,
85 | "Si": 28.0855,
86 | "Sm": 150.36,
87 | "Sn": 118.71,
88 | "Sr": 87.62,
89 | "Ta": 180.94788,
90 | "Tb": 158.92535,
91 | "Tc": 98.0,
92 | "Te": 127.6,
93 | "Th": 232.03806,
94 | "Ti": 47.867,
95 | "Tl": 204.3833,
96 | "Tm": 168.93421,
97 | "U": 238.02891,
98 | "V": 50.9415,
99 | "W": 183.84,
100 | "Xe": 131.293,
101 | "Y": 88.90585,
102 | "Yb": 173.04,
103 | "Zn": 65.409,
104 | "Zr": 91.224,
105 | "Rf": 267,
106 | "Db": 268,
107 | "Sg": 269,
108 | "Bh": 270,
109 | "Hs": 270,
110 | "Mt": 278,
111 | "Ds": 281,
112 | "Rg": 282,
113 | "Cn": 285,
114 | "Nh": 286,
115 | "Fl": 289,
116 | "Mc": 290,
117 | "Lv": 293,
118 | "Ts": 294,
119 | "Og": 2949
120 | }
121 |
--------------------------------------------------------------------------------
/mispr/lammps/firetasks/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/lammps/firetasks/__init__.py
--------------------------------------------------------------------------------
/mispr/lammps/fireworks/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/lammps/fireworks/__init__.py
--------------------------------------------------------------------------------
/mispr/lammps/templates/emin_gaff:
--------------------------------------------------------------------------------
1 | log lammps.log
2 | # Initialization
3 | units real
4 | boundary p p p
5 | atom_style full
6 |
7 | # Force Fields
8 | neighbor $neigh_args
9 | neigh_modify $neigh_modify_args
10 | special_bonds $special_bonds_style $special_bonds_value
11 | bond_style $bond_style $bond_style_args
12 | angle_style $angle_style
13 | dihedral_style $dihedral_style
14 | improper_style $improper_style
15 | pair_style $pair_style $pair_style_args
16 | pair_modify $pair_modify_key $pair_modify_value
17 | kspace_style $kspace_style $kspace_style_args
18 |
19 | read_data $data_filename
20 |
21 | thermo 1
22 | thermo_style custom step etotal pe ebond eangle edihed eimp evdwl ecoul elong press fmax fnorm
23 | min_style sd
24 | minimize 1e-6 1000 10 10000
25 | min_style cg
26 | minimize 1e-6 100 99990 990000
27 | #unfix 1
28 | write_restart $restart_finalname
29 | write_data $data_final_filename
30 |
31 | write_dump all custom $dump_filename id type element mol x y z mass q $dump_modify_args
--------------------------------------------------------------------------------
/mispr/lammps/templates/emin_general:
--------------------------------------------------------------------------------
1 | log lammps.log
2 | # Initialization
3 | units real
4 | boundary p p p
5 | atom_style full
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 10 every 1 check yes
10 | special_bonds $special_bonds_style $special_bonds_value
11 | bond_style $bond_style $bond_style_args
12 | angle_style $angle_style
13 | dihedral_style $dihedral_style
14 | improper_style $improper_style
15 | pair_style $pair_style $pair_style_args
16 | kspace_style $kspace_style $kspace_style_args
17 |
18 | read_data $data_filename
19 |
20 | thermo 1
21 | thermo_style custom step etotal pe ebond eangle edihed eimp evdwl ecoul elong press fmax fnorm
22 | min_style sd
23 | minimize 1e-6 1000 10 10000
24 | min_style cg
25 | minimize 1e-6 100 99990 990000
26 | #unfix 1
27 | write_restart $restart_finalname
28 |
29 | write_dump all custom dump.emin.lammpstrj id type element mol x y z mass q modify element $dump_modify_elements
--------------------------------------------------------------------------------
/mispr/lammps/templates/gaff_tleap:
--------------------------------------------------------------------------------
1 | source ${source_file_path}
2 | MOL = loadmol2 ${mol2_file_path}
3 | check MOL
4 | loadamberparams ${frcmod_file_path}
5 | saveamberparm MOL ${prmtop_file_path} ${inpcrd_file_path}
6 | quit
--------------------------------------------------------------------------------
/mispr/lammps/templates/npt:
--------------------------------------------------------------------------------
1 | log log.lammps
2 | # Initialization
3 | units real
4 | boundary p p p
5 | atom_style full
6 |
7 | # Force Fields
8 | neighbor $neigh_args
9 | neigh_modify $neigh_modify_args
10 | special_bonds $special_bonds_style $special_bonds_value
11 | bond_style $bond_style $bond_style_args
12 | angle_style $angle_style
13 | dihedral_style $dihedral_style
14 | improper_style $improper_style
15 | pair_style $pair_style $pair_style_args
16 | pair_modify $pair_modify_key $pair_modify_value
17 | kspace_style $kspace_style $kspace_style_args
18 |
19 | read_restart $restart_filename
20 |
21 |
22 | $group_definitions
23 | velocity all create $temperature_initial $velocity_seed
24 | $shake_logic fix 1 $shake_group shake 0.0001 20 0 $shake_topologies
25 | fix 2 all npt temp $temperature_initial $temperature_final $temp_damp $pressure_type $pressure_initial $pressure_final $pres_damp
26 | thermo $thermo
27 | thermo_style custom step temp press pe lx vol density
28 | timestep $timestep
29 | reset_timestep 0
30 | dump 1 all custom $dump_period $dump_filename id type element mol x y z ix iy iz xu yu zu vx vy vz fx fy fz mass q
31 | $dump_modify_logic dump_modify 1 $dump_modify_args $dump_modify_elements
32 | restart $restart_period $restart_intermediate_filename
33 | run $run
34 | $shake_logic unfix 1
35 | unfix 2
36 | write_restart $restart_final_filename
37 | write_data $data_final_filename
38 |
--------------------------------------------------------------------------------
/mispr/lammps/templates/nvt:
--------------------------------------------------------------------------------
1 | log log.lammps
2 | # Initialization
3 | units real
4 | boundary p p p
5 | atom_style full
6 |
7 | # Force Fields
8 | neighbor $neigh_args
9 | neigh_modify $neigh_modify_args
10 | special_bonds $special_bonds_style $special_bonds_value
11 | bond_style $bond_style $bond_style_args
12 | angle_style $angle_style
13 | dihedral_style $dihedral_style
14 | improper_style $improper_style
15 | pair_style $pair_style $pair_style_args
16 | pair_modify $pair_modify_key $pair_modify_value
17 | kspace_style $kspace_style $kspace_style_args
18 |
19 | read_restart $restart_filename
20 |
21 | $group_definitions
22 | velocity all create $temperature_initial $velocity_seed
23 | $shake_logic fix 1 $shake_group shake 0.0001 20 0 $shake_topologies
24 | fix 2 all nvt temp $temperature_initial $temperature_final $temp_damp
25 | thermo $thermo
26 | $compute_definitions
27 | thermo_style custom step temp press pe pxx pyy pzz pxy pxz pyz $thermo_style_compute
28 | timestep $timestep
29 | $reset_timestep_logic reset_timestep $reset_timestep_value
30 | dump 1 all custom $dump_period $dump_filename id type element mol x y z ix iy iz xu yu zu vx vy vz fx fy fz mass q
31 | $dump_modify_logic dump_modify 1 $dump_modify_args $dump_modify_elements
32 | restart $restart_period $restart_intermediate_filename
33 | run $run
34 | $shake_logic unfix 1
35 | unfix 2
36 | write_restart $restart_final_filename
37 | write_data $data_final_filename
38 |
39 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/lammps/tests/__init__.py
--------------------------------------------------------------------------------
/mispr/lammps/tests/antechamber.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | from fireworks import Firework, Workflow, LaunchPad
4 | from fireworks.core.rocket_launcher import rapidfire
5 |
6 | from mispr.lammps.firetasks.run import RunAntechamber
7 |
8 | if __name__ == "__main__":
9 |
10 | # set up the LaunchPad and reset it
11 | launchpad = LaunchPad()
12 | launchpad.reset("", require_password=False)
13 |
14 | working_dir = os.path.join(
15 | os.path.dirname(os.path.abspath(__file__)), "test_files", "antechamber"
16 | )
17 | input_filename = "dhps.esp"
18 | output_filename = "dhps.mol2"
19 |
20 | task1 = RunAntechamber(
21 | working_dir=working_dir,
22 | input_filename_a=input_filename,
23 | output_filename_a=output_filename,
24 | )
25 |
26 | # assemble FireWork from tasks and give the FireWork a unique id
27 | fire_work1 = Firework(task1, name="RunAnt", fw_id=1)
28 |
29 | # assemble Workflow from FireWorks and their connections by id
30 | wf = Workflow([fire_work1])
31 |
32 | # store workflow and launch it
33 | launchpad.add_wf(wf)
34 | rapidfire(launchpad)
35 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/control.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | from fireworks import Firework, Workflow, LaunchPad
4 | from fireworks.core.rocket_launcher import rapidfire
5 |
6 | from mispr.lammps.firetasks.write_inputs import WriteControlFile
7 |
8 | ELEMENTS_LIST = ["N", "C", "C", "C", "H", "O", "O", "H", "O", "H", "Na"]
9 |
10 | EMIN_SETTINGS = {
11 | "special_bonds_style": "amber",
12 | "special_bonds_value": "",
13 | "bond_style": "harmonic",
14 | "bond_style_args": "",
15 | "angle_style": "harmonic",
16 | "dihedral_style": "harmonic",
17 | "improper_style": "cvff",
18 | "pair_style": "lj/cut/coul/long",
19 | "pair_style_args": 10.0,
20 | "kspace_style": "pppm",
21 | "kspace_style_args": 1.0e-4,
22 | "data_file_name": "complex.data",
23 | "restart_final_name": "emin.restart",
24 | "dump_modify_elements": " ".join(ELEMENTS_LIST),
25 | }
26 |
27 | NPT_SETTINGS = {
28 | "neigh_args": "2.0 bin",
29 | "neigh_modify_args": "delay 0 every 1 check yes",
30 | "special_bonds_style": "amber",
31 | "special_bonds_value": "",
32 | "bond_style": "harmonic",
33 | "bond_style_args": "",
34 | "angle_style": "harmonic",
35 | "dihedral_style": "harmonic",
36 | "improper_style": "cvff",
37 | "pair_style": "lj/cut/coul/long",
38 | "pair_style_args": 10.0,
39 | "kspace_style": "pppm",
40 | "kspace_style_args": "1.0e-4",
41 | "restart_filename": "restart.emin.restart",
42 | "group_definitions": [
43 | "group li 11",
44 | "group tfsi 1 2 3 4 5 6",
45 | "group solv 7 8 9 10",
46 | ],
47 | "temperature_initial": 298.15,
48 | "velocity_seed": 250,
49 | "shake_logic": "#",
50 | "shake_group": "",
51 | "shake_topologies": "",
52 | "temperature_final": 298.15,
53 | "temp_damp": 100.0,
54 | "pressure_type": "iso",
55 | "pressure_initial": 1.0,
56 | "pressure_final": 1.0,
57 | "pres_damp": 1000.0,
58 | "thermo": 1000,
59 | "timestep": 1,
60 | "dump_period": 50000,
61 | "dump_file_name": "dump.npt.*.dump",
62 | "dump_modify_logic": "#",
63 | "dump_modify_args": "",
64 | "restart_period": 1000000,
65 | "restart_intermediate_file_name": "restart.npt.*.restart",
66 | "run": 2000000,
67 | "restart_final_file_name": "restart.npt.restart",
68 | }
69 |
70 | if __name__ == "__main__":
71 | # set up the LaunchPad and reset it
72 | launchpad = LaunchPad(
73 | host="mongodb+srv://mbliss01:idlewide@gettingstarted.dt0sv.mongodb.net/fireworks",
74 | uri_mode=True,
75 | )
76 | launchpad.reset("", require_password=False)
77 |
78 | # set working directory
79 | working_dir = os.path.join(
80 | os.path.dirname(os.path.abspath(__file__)), "test_files", "control"
81 | )
82 |
83 | # Test Case 1: provide general template as string
84 | # control_filename = "case_1.lammpsin"
85 | # template_filename = "emin"
86 | # template_path = os.path.join(TEMPLATE_DIR, template_filename)
87 | # with open(template_path, 'r') as file:
88 | # template_string = file.read()
89 | #
90 | # # # Define workflow for Case 1
91 | # spec = {}
92 | # t = [WriteControlFile(working_dir = working_dir,
93 | # control_filename = control_filename,
94 | # template_str = template_string,
95 | # control_settings = EMIN_SETTINGS)]
96 | #
97 | # firework_c1 = Firework(t,
98 | # spec = spec,
99 | # name = "WriteControlCase1",
100 | # fw_id = 1)
101 | # wf_c1 = Workflow([firework_c1])
102 | # Store workflow for Case 1 and launch it
103 | # launchpad.add_wf(wf_c1)
104 | # rapidfire(launchpad)
105 |
106 | # Test Case 2: choose specific template file that in TEMPLATE_DIR
107 | launchpad.reset("", require_password=False)
108 |
109 | control_filename = "case_2_npt_group_list.lammpsin"
110 | template_type = "npt"
111 |
112 | # # Define workflow for Case 2
113 | spec = {}
114 | t = [
115 | WriteControlFile(
116 | working_dir=working_dir,
117 | control_filename=control_filename,
118 | template_filename=template_type,
119 | control_settings=NPT_SETTINGS,
120 | )
121 | ]
122 |
123 | firework_c2 = Firework(t, spec=spec, name="WriteControlCase2", fw_id=2)
124 | wf_c2 = Workflow([firework_c2])
125 | # Store workflow for Case 2 and launch it
126 | launchpad.add_wf(wf_c2)
127 | rapidfire(launchpad)
128 |
129 | # Test Case 3: provide general template as file
130 | # launchpad.reset('', require_password=False)
131 | #
132 | # control_filename = "case_3.lammpsin"
133 | # template_filename = "emin"
134 | # template_path = TEMPLATE_DIR
135 | #
136 | # # # Define workflow for Case 3
137 | # spec = {}
138 | # t = [WriteControlFile(working_dir = working_dir,
139 | # control_filename = control_filename,
140 | # template_filename = template_filename,
141 | # template_dir = template_path,
142 | # control_settings = EMIN_SETTINGS)]
143 | #
144 | # firework_c3 = Firework(t,
145 | # spec = spec,
146 | # name = "WriteControlCase3",
147 | # fw_id = 3)
148 | #
149 | # wf_c3 = Workflow([firework_c3])
150 | # Store workflow for Case 3 and launch it
151 | # launchpad.add_wf(wf_c3)
152 | # rapidfire(launchpad)
153 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/database/delete_data.py:
--------------------------------------------------------------------------------
1 | from first_connection import Connect
2 |
3 | if __name__ == "__main__":
4 | # Connect to local database
5 | connection = Connect.get_connection()
6 |
7 | # Access the test database
8 | db = connection.test
9 |
10 | # Delete single document
11 | db.inventory.delete_one({"status": "D"})
12 |
13 | # Delete multiple documents
14 | db.inventory.delete_many({"status": "A"})
--------------------------------------------------------------------------------
/mispr/lammps/tests/database/first_connection.py:
--------------------------------------------------------------------------------
1 | from pymongo import MongoClient
2 |
3 |
4 | class Connect(object):
5 | @staticmethod
6 | def get_connection():
7 | return MongoClient(
8 | "mongodb://superuser:idlewide@localhost:27017/?authSource=admin"
9 | )
10 |
11 |
12 | if __name__ == "__main__":
13 | # Connect to local database
14 | connection = Connect.get_connection()
15 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/database/insert_one.py:
--------------------------------------------------------------------------------
1 | from first_connection import Connect
2 |
3 | if __name__ == "__main__":
4 | # Connect to local database
5 | connection = Connect.get_connection()
6 |
7 | # Access the test database
8 | db = connection.test
9 | # Insert a single document
10 | db.inventory.insert_one(
11 | {
12 | "item": "jacket",
13 | "qty": 48,
14 | "tags": ["polyester"],
15 | "size": {"s": 12, "m": 12, "l": 12, "xl": 12},
16 | }
17 | )
18 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/database/operators-compound_queries.py:
--------------------------------------------------------------------------------
1 | from pprint import pprint
2 |
3 | from first_connection import Connect
4 |
5 | if __name__ == "__main__":
6 | # Connect to local database
7 | connection = Connect.get_connection()
8 |
9 | # Access the test database
10 | db = connection.test
11 |
12 | # Read data with embedded fields and comparison operators
13 | print("Read data with embedded fields and comparison operators: ")
14 | cursor = db.inventory.find({"size.h": {"$lt": 15}})
15 | for inventory in cursor:
16 | pprint(inventory)
17 |
18 | # Read data with compound queries
19 | print("\nRead data with compound queries: ")
20 | cursor = db.inventory.find({"status": "A", "qty": {"$lt": 30}})
21 | for inventory in cursor:
22 | pprint(inventory)
23 |
24 | # Compound query using explicit $and operator
25 | print("\nCompound query using explicit $and operator: ")
26 | cursor = db.inventory.find({"$and": [{"status": "A"}, {"qty": {"$lt": 30}}]})
27 | for inventory in cursor:
28 | pprint(inventory)
29 |
30 | # Retrieving data with more than one compounding clause
31 | print("\nRetrieving data with more than one compounding clause")
32 | cursor = db.inventory.find(
33 | {"status": "A", "$or": [{"qty": {"$lt": 30}}, {"item": {"$regex": "^p"}}]}
34 | )
35 | for inventory in cursor:
36 | pprint(inventory)
37 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/database/query_data.py:
--------------------------------------------------------------------------------
1 | from pprint import pprint
2 |
3 | from bson.son import SON
4 |
5 | from first_connection import Connect
6 |
7 | if __name__ == "__main__":
8 | # Connect to local database
9 | connection = Connect.get_connection()
10 |
11 | # Access the test database
12 | db = connection.test
13 |
14 | # Load more data into MongoDB
15 | db.inventory.insert_many([
16 | {"item": "journal",
17 | "qty": 25,
18 | "size": SON([("h", 14), ("w", 21), ("uom", "cm")]),
19 | "status": "A"},
20 | {"item": "notebook",
21 | "qty": 50,
22 | "size": SON([("h", 8.5), ("w", 11), ("uom", "in")]),
23 | "status": "A"},
24 | {"item": "paper",
25 | "qty": 100,
26 | "size": SON([("h", 8.5), ("w", 11), ("uom", "in")]),
27 | "status": "D"},
28 | {"item": "planner",
29 | "qty": 75,
30 | "size": SON([("h", 22.85), ("w", 30), ("uom", "cm")]),
31 | "status": "D"},
32 | {"item": "postcard",
33 | "qty": 45,
34 | "size": SON([("h", 10), ("w", 15.25), ("uom", "cm")]),
35 | "status": "A"}])
36 |
37 | # Retrieve specific documents in a collection
38 | print("Retrieve specific documents in a collection: ")
39 | cursor = db.inventory.find({"status": "D"})
40 | # Iterate over the results
41 | for inventory in cursor:
42 | pprint(inventory)
43 |
44 | # Query Data using Embedded Documents as Criteria
45 | print("\nQuery Data using Embedded Documents as Criteria: ")
46 | cursor = db.inventory.find({"size": SON([("h", 14), ("w", 21), ("uom", "cm")])})
47 | # Iterate over the results
48 | for inventory in cursor:
49 | pprint(inventory)
50 |
51 | # Query data using embedded documents with dot notation
52 | print("\nQuery data using embedded documents with dot notation: ")
53 | cursor = db.inventory.find({"size.uom": "in"})
54 | for inventory in cursor:
55 | pprint(inventory)
56 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/database/read_data.py:
--------------------------------------------------------------------------------
1 | from pprint import pprint
2 |
3 | from first_connection import Connect
4 |
5 | if __name__ == "__main__":
6 | # Connect to local database
7 | connection = Connect.get_connection()
8 |
9 | # Access the test database
10 | db = connection.test
11 |
12 | # Retrieve all documents in the inventory collection
13 | cursor = db.inventory.find({})
14 | # Iterate over the results
15 | for inventory in cursor:
16 | pprint(inventory)
17 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/database/update_data.py:
--------------------------------------------------------------------------------
1 | from first_connection import Connect
2 |
3 | if __name__ == "__main__":
4 | # Connect to local database
5 | connection = Connect.get_connection()
6 |
7 | # Access the test database
8 | db = connection.test
9 |
10 | # Update a single document in the inventory collection
11 | db.inventory.update_one(
12 | {"item": "paper"},
13 | {
14 | "$set": {"size.uom": "cm", "status": "P"},
15 | "$currentDate": {"lastModified": True},
16 | },
17 | )
18 |
19 | # Update multiple documents
20 | db.inventory.update_many(
21 | {"qty": {"$lt": 50}},
22 | {
23 | "$set": {"size.uom": "in", "status": "P"},
24 | "$currentDate": {"lastModified": True},
25 | },
26 | )
27 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/parmchk.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | from fireworks import Firework, Workflow, LaunchPad
4 | from fireworks.core.rocket_launcher import rapidfire
5 |
6 | from mispr.lammps.firetasks.run import RunParmchk
7 |
8 | if __name__ == "__main__":
9 |
10 | # set up the LaunchPad and reset it
11 | launchpad = LaunchPad()
12 | launchpad.reset("", require_password=False)
13 |
14 | working_dir = os.path.join(
15 | os.path.dirname(os.path.abspath(__file__)), "test_files", "parmchk"
16 | )
17 |
18 | input_filename = "dhps.mol2"
19 | output_filename = "dhps.frcmod"
20 |
21 | task1 = RunParmchk(
22 | working_dir=working_dir,
23 | input_filename_p=input_filename,
24 | output_filename_p=output_filename,
25 | )
26 |
27 | # assemble FireWork from tasks and give the FireWork a unique id
28 | fire_work1 = Firework(task1, name="RunParm", fw_id=1)
29 |
30 | # assemble Workflow from FireWorks and their connections by id
31 | wf = Workflow([fire_work1])
32 |
33 | # store workflow and launch it
34 | launchpad.add_wf(wf)
35 | rapidfire(launchpad)
36 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/prmtop.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | from collections import OrderedDict
4 |
5 | import numpy as np
6 |
7 | from fireworks import Firework, Workflow, LaunchPad, FiretaskBase, explicit_serialize
8 | from fireworks.core.rocket_launcher import rapidfire
9 |
10 | from pymatgen.io.gaussian import GaussianOutput
11 | from pymatgen.core.structure import Molecule
12 |
13 | from mispr.gaussian.utilities.metadata import get_mol_formula
14 | from mispr.lammps.firetasks.parse_outputs import ProcessPrmtop
15 |
16 |
17 | @explicit_serialize
18 | class PrintFW(FiretaskBase):
19 | """
20 | Firetask for confirming that modspec works as intended in ProcessPrmtop firetask
21 | """
22 |
23 | def run_task(self, fw_spec):
24 | print(str(fw_spec["system_force_field_dict"]))
25 |
26 |
27 | if __name__ == "__main__":
28 |
29 | # set up the LaunchPad and reset it
30 | launchpad = LaunchPad()
31 | launchpad.reset("", require_password=False)
32 |
33 | working_dir = os.path.join(
34 | os.path.dirname(os.path.abspath(__file__)), "test_files", "prmtop"
35 | )
36 |
37 | # write inputs for initial
38 | # Phen_type parameter prep
39 | Phen_type = "dhps"
40 | Phen_type_gaussian_output = GaussianOutput(
41 | os.path.join(working_dir, Phen_type + ".out")
42 | )
43 | Phen_type_molecule = Phen_type_gaussian_output.structures[-1]
44 | Phen_type_molecule.set_charge_and_spin(
45 | Phen_type_gaussian_output.charge, Phen_type_gaussian_output.spin_multiplicity
46 | )
47 | Phen_type_label = get_mol_formula(Phen_type_molecule)
48 | # Spce parameter prep
49 | Spce_molecule = Molecule.from_file(os.path.join(working_dir, "SPC_E.pdb"))
50 | Spce_label = get_mol_formula(Spce_molecule)
51 | Spce_param_dict = {
52 | "Molecule": Spce_molecule,
53 | "Labels": ["ow" + Spce_label, "hw" + Spce_label, "hw" + Spce_label],
54 | "Masses": OrderedDict({"ow" + Spce_label: 16.000, "hw" + Spce_label: 1.008}),
55 | "Nonbond": [[0.155394259, 3.16555789], [0.0, 0.0]],
56 | "Bonds": [
57 | {"coeffs": [553.0, 1], "types": [("ow" + Spce_label, "hw" + Spce_label)]}
58 | ],
59 | "Angles": [
60 | {
61 | "coeffs": [100.0, 109.47],
62 | "types": [("hw" + Spce_label, "ow" + Spce_label, "hw" + Spce_label)],
63 | }
64 | ],
65 | "Dihedrals": [],
66 | "Impropers": [],
67 | "Improper Topologies": None,
68 | "Charges": np.asarray([-0.8476, 0.4238, 0.4238]),
69 | }
70 | # Na parameter prep
71 | Na_molecule = Molecule.from_file(os.path.join(working_dir, "Na.pdb"))
72 | Na_molecule.set_charge_and_spin(1)
73 | Na_label = get_mol_formula(Na_molecule)
74 | Na_param_dict = {
75 | "Molecule": Na_molecule,
76 | "Labels": ["na" + Na_label],
77 | "Masses": OrderedDict({"na" + Na_label: 22.99}),
78 | "Nonbond": [[0.02639002, 2.590733472]], # from frcmod.ions1lm_126_spce (2015)
79 | # 'Nonbond': [[0.3526418, 2.159538]], # from frcmod.ionsjc_tip3p (2008)
80 | "Bonds": [],
81 | "Angles": [],
82 | "Dihedrals": [],
83 | "Impropers": [],
84 | "Improper Topologies": None,
85 | "Charges": np.asarray([1.0]),
86 | }
87 |
88 | sys_ff_dict = {Na_label: Na_param_dict, Spce_label: Spce_param_dict}
89 |
90 | spec = {"system_force_field_dict": sys_ff_dict}
91 |
92 | task1 = ProcessPrmtop(
93 | working_dir=working_dir,
94 | molecule=Phen_type_molecule,
95 | prmtop_filename="dhps.prmtop",
96 | )
97 |
98 | task2 = PrintFW()
99 |
100 | # assemble FireWork from tasks and give the FireWork a unique id
101 | fire_work1 = Firework([task1, task2], spec=spec, name="ParsePrmtop", fw_id=1)
102 |
103 | # assemble Workflow from FireWorks and their connections by id
104 | wf = Workflow([fire_work1])
105 |
106 | # store workflow and launch it
107 | launchpad.add_wf(wf)
108 | rapidfire(launchpad)
109 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/run_lammps.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | from fireworks import Workflow, LaunchPad
4 | from fireworks.core.rocket_launcher import rapidfire
5 |
6 | from mispr.lammps.fireworks.core import RunLammpsFW
7 |
8 | ELEMENTS_LIST = ["N", "C", "C", "C", "H", "O", "O", "H", "O", "H", "Na"]
9 | EMIN_SETTINGS = {
10 | "neigh_args": "2.0 bin",
11 | "neigh_modify_args": "delay 0 every 1 check yes",
12 | "pair_style": "lj/cut/coul/long",
13 | "pair_style_args": 10.0,
14 | "kspace_style": "pppm",
15 | "kspace_style_args": "1.0e-4",
16 | "data_file_name": "complex.data",
17 | "restart_final_name": "restart.emin.restart",
18 | "dump_file_name": "dump.emin.dump",
19 | "dump_modify_args": "",
20 | }
21 |
22 | NPT_SETTINGS = {
23 | "neigh_args": "2.0 bin",
24 | "neigh_modify_args": "delay 0 every 1 check yes",
25 | "special_bonds_style": "amber",
26 | "special_bonds_value": "",
27 | "bond_style": "harmonic",
28 | "bond_style_args": "",
29 | "angle_style": "harmonic",
30 | "dihedral_style": "harmonic",
31 | "improper_style": "cvff",
32 | "pair_style": "lj/cut/coul/long",
33 | "pair_style_args": 10.0,
34 | "kspace_style": "pppm",
35 | "kspace_style_args": "1.0e-4",
36 | "restart_filename": "restart.emin.restart",
37 | "group_definitions": "\n".join(
38 | ["group li 11", "group tfsi 1 2 3 4 5 6", "group solv 7 8 9 10"]
39 | ),
40 | "temperature_initial": 298.15,
41 | "velocity_seed": 250,
42 | "shake_logic": "#",
43 | "shake_group": "",
44 | "shake_topologies": "",
45 | "temperature_final": 298.15,
46 | "temp_damp": 100.0,
47 | "pressure_type": "iso",
48 | "pressure_initial": 1.0,
49 | "pressure_final": 1.0,
50 | "pres_damp": 1000.0,
51 | "thermo": 1000,
52 | "timestep": 1,
53 | "dump_period": 50000,
54 | "dump_file_name": "dump.npt.*.dump",
55 | "dump_modify_logic": "#",
56 | "dump_modify_args": "",
57 | "restart_period": 1000000,
58 | "restart_intermediate_file_name": "restart.npt.*.restart",
59 | "run": 2000000,
60 | "restart_final_file_name": "restart.npt.restart",
61 | }
62 |
63 | if __name__ == "__main__":
64 | # set up the LaunchPad and reset it
65 | launchpad = LaunchPad(
66 | host="mongodb+srv://mbliss01:idlewide@gettingstarted.dt0sv.mongodb.net/fireworks",
67 | uri_mode=True,
68 | )
69 | launchpad.reset("", require_password=False)
70 |
71 | # set working directory
72 | working_dir = os.path.join(
73 | os.path.dirname(os.path.abspath(__file__)), "test_files", "run_lammps"
74 | )
75 |
76 | # settings
77 | control_filename = "test_npt.lammpsin"
78 | template_type = "npt"
79 |
80 | # define workflow
81 | spec = {}
82 | fw = RunLammpsFW(
83 | working_dir=working_dir,
84 | control_filename=control_filename,
85 | template_filename=template_type,
86 | control_settings=NPT_SETTINGS,
87 | )
88 |
89 | workflow = Workflow([fw])
90 | launchpad.add_wf(workflow)
91 | rapidfire(launchpad)
92 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/Na.pdb:
--------------------------------------------------------------------------------
1 | COMPND UNNAMED
2 | AUTHOR GENERATED BY OPEN BABEL 2.3.90
3 | HETATM 1 Na+ Na+ 1 -1.710 0.366 0.000 1.00 0.00 Na1+
4 | MASTER 0 0 0 0 0 0 0 0 1 0 1 0
5 | END
6 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/SPC_E.pdb:
--------------------------------------------------------------------------------
1 | COMPND UNNAMED
2 | AUTHOR GENERATED BY OPEN BABEL 2.3.90
3 | HETATM 1 O HOH 1 -5.506 0.767 0.813 1.00 0.00 O
4 | HETATM 2 H HOH 0 -4.506 0.767 0.813 1.00 0.00 H
5 | HETATM 3 H HOH 0 -5.839 0.226 1.585 1.00 0.00 H
6 | CONECT 1 2 3
7 | CONECT 2 1
8 | CONECT 3 1
9 | MASTER 0 0 0 0 0 0 0 0 3 0 3 0
10 | END
11 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/analysis/d__diff.txt:
--------------------------------------------------------------------------------
1 | OLS Regression Results
2 | =======================================================================================
3 | Dep. Variable: D_ MSD ($\AA^2$) R-squared (uncentered): 0.997
4 | Model: OLS Adj. R-squared (uncentered): 0.997
5 | Method: Least Squares F-statistic: 7.342e+08
6 | Date: Sat, 15 May 2021 Prob (F-statistic): 0.00
7 | Time: 19:20:02 Log-Likelihood: -1.3331e+07
8 | No. Observations: 2500001 AIC: 2.666e+07
9 | Df Residuals: 2500000 BIC: 2.666e+07
10 | Df Model: 1
11 | Covariance Type: nonrobust
12 | ==============================================================================
13 | coef std err t P>|t| [0.025 0.975]
14 | ------------------------------------------------------------------------------
15 | Time (ps) 0.1486 5.48e-06 2.71e+04 0.000 0.149 0.149
16 | ==============================================================================
17 | Omnibus: 32974.500 Durbin-Watson: 0.000
18 | Prob(Omnibus): 0.000 Jarque-Bera (JB): 32155.172
19 | Skew: -0.252 Prob(JB): 0.00
20 | Kurtosis: 2.767 Cond. No. 1.00
21 | ==============================================================================
22 |
23 | Notes:
24 | [1] R² is computed without centering (uncentered) since the model does not contain a constant.
25 | [2] Standard Errors assume that the covariance matrix of the errors is correctly specified.
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/analysis/diffusion.csv:
--------------------------------------------------------------------------------
1 | ,D_ MSD ($\AA^2$),W_ MSD ($\AA^2$),O_ MSD ($\AA^2$),N_ MSD ($\AA^2$)
2 | diffusion ($m^2$/s),2.477021768601186e-10,2.0418672152639424e-09,4.0620482162848264e-10,4.92531818207661e-10
3 | std,9.14152483756137e-15,4.389353622328912e-15,1.2634160134266872e-14,8.621732410479125e-15
4 | $R^2$,0.9966065505305146,0.999988447362652,0.9975873542998757,0.9992345304170412
5 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/analysis/in.emin_complex.lammpsin:
--------------------------------------------------------------------------------
1 | #Variables
2 | variable fname index complex.data
3 | variable sysname index 0.1_PHEN_1.3_NaOH_SPCE
4 | variable simname index emin
5 |
6 |
7 | # Initialization
8 | units real
9 | boundary p p p
10 | atom_style full
11 | #log log.${sysname}.${simname}.txt
12 |
13 | # Force Fields
14 | neighbor 2.0 bin
15 | # neigh_modify delay 0 every 1 check yes
16 | special_bonds amber
17 | bond_style harmonic
18 | angle_style harmonic
19 | dihedral_style harmonic
20 | improper_style cvff
21 | pair_style lj/cut/coul/long 10.0
22 | kspace_style pppm 1.0e-4
23 |
24 | read_data ${fname}
25 |
26 | thermo 1
27 | thermo_style custom step etotal pe ebond eangle edihed eimp evdwl ecoul elong press fmax fnorm
28 | min_style sd
29 | minimize 1e-6 1000 10 10000
30 | min_style cg
31 | minimize 1e-6 100 99990 990000
32 | #unfix 1
33 | write_restart restart.${simname}.restart
34 |
35 | write_dump all custom dump.emin.lammpstrj id type element mol x y z mass q modify element N C H O H O H Na
36 | write_dump all xyz dump.emin.xyz modify element N C H O H O H Na
37 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/analysis/n__diff.txt:
--------------------------------------------------------------------------------
1 | OLS Regression Results
2 | =======================================================================================
3 | Dep. Variable: N_ MSD ($\AA^2$) R-squared (uncentered): 0.999
4 | Model: OLS Adj. R-squared (uncentered): 0.999
5 | Method: Least Squares F-statistic: 3.263e+09
6 | Date: Sat, 15 May 2021 Prob (F-statistic): 0.00
7 | Time: 19:20:03 Log-Likelihood: -1.3185e+07
8 | No. Observations: 2500001 AIC: 2.637e+07
9 | Df Residuals: 2500000 BIC: 2.637e+07
10 | Df Model: 1
11 | Covariance Type: nonrobust
12 | ==============================================================================
13 | coef std err t P>|t| [0.025 0.975]
14 | ------------------------------------------------------------------------------
15 | Time (ps) 0.2955 5.17e-06 5.71e+04 0.000 0.296 0.296
16 | ==============================================================================
17 | Omnibus: 126766.845 Durbin-Watson: 0.000
18 | Prob(Omnibus): 0.000 Jarque-Bera (JB): 146844.593
19 | Skew: 0.584 Prob(JB): 0.00
20 | Kurtosis: 3.211 Cond. No. 1.00
21 | ==============================================================================
22 |
23 | Notes:
24 | [1] R² is computed without centering (uncentered) since the model does not contain a constant.
25 | [2] Standard Errors assume that the covariance matrix of the errors is correctly specified.
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/analysis/o__diff.txt:
--------------------------------------------------------------------------------
1 | OLS Regression Results
2 | =======================================================================================
3 | Dep. Variable: O_ MSD ($\AA^2$) R-squared (uncentered): 0.998
4 | Model: OLS Adj. R-squared (uncentered): 0.998
5 | Method: Least Squares F-statistic: 1.034e+09
6 | Date: Sat, 15 May 2021 Prob (F-statistic): 0.00
7 | Time: 19:20:03 Log-Likelihood: -1.4140e+07
8 | No. Observations: 2500001 AIC: 2.828e+07
9 | Df Residuals: 2500000 BIC: 2.828e+07
10 | Df Model: 1
11 | Covariance Type: nonrobust
12 | ==============================================================================
13 | coef std err t P>|t| [0.025 0.975]
14 | ------------------------------------------------------------------------------
15 | Time (ps) 0.2437 7.58e-06 3.22e+04 0.000 0.244 0.244
16 | ==============================================================================
17 | Omnibus: 132113.957 Durbin-Watson: 0.000
18 | Prob(Omnibus): 0.000 Jarque-Bera (JB): 208006.514
19 | Skew: -0.454 Prob(JB): 0.00
20 | Kurtosis: 4.083 Cond. No. 1.00
21 | ==============================================================================
22 |
23 | Notes:
24 | [1] R² is computed without centering (uncentered) since the model does not contain a constant.
25 | [2] Standard Errors assume that the covariance matrix of the errors is correctly specified.
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/analysis/w__diff.txt:
--------------------------------------------------------------------------------
1 | OLS Regression Results
2 | =======================================================================================
3 | Dep. Variable: W_ MSD ($\AA^2$) R-squared (uncentered): 1.000
4 | Model: OLS Adj. R-squared (uncentered): 1.000
5 | Method: Least Squares F-statistic: 2.164e+11
6 | Date: Sat, 15 May 2021 Prob (F-statistic): 0.00
7 | Time: 19:20:02 Log-Likelihood: -1.1497e+07
8 | No. Observations: 2500001 AIC: 2.299e+07
9 | Df Residuals: 2500000 BIC: 2.299e+07
10 | Df Model: 1
11 | Covariance Type: nonrobust
12 | ==============================================================================
13 | coef std err t P>|t| [0.025 0.975]
14 | ------------------------------------------------------------------------------
15 | Time (ps) 1.2251 2.63e-06 4.65e+05 0.000 1.225 1.225
16 | ==============================================================================
17 | Omnibus: 121835.477 Durbin-Watson: 0.000
18 | Prob(Omnibus): 0.000 Jarque-Bera (JB): 130333.090
19 | Skew: -0.534 Prob(JB): 0.00
20 | Kurtosis: 2.666 Cond. No. 1.00
21 | ==============================================================================
22 |
23 | Notes:
24 | [1] R² is computed without centering (uncentered) since the model does not contain a constant.
25 | [2] Standard Errors assume that the covariance matrix of the errors is correctly specified.
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/control/case_1.lammpsin:
--------------------------------------------------------------------------------
1 | # Initialization
2 | units real
3 | boundary p p p
4 | atom_style full
5 | log lammps.log
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 10 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 0.0001
17 |
18 | read_data complex.data
19 |
20 | thermo 1
21 | thermo_style custom step etotal pe ebond eangle edihed eimp evdwl ecoul elong press fmax fnorm
22 | min_style sd
23 | minimize 1e-6 1000 10 10000
24 | min_style cg
25 | minimize 1e-6 100 99990 990000
26 | #unfix 1
27 | write_restart emin.restart
28 |
29 | write_dump all custom dump.emin.lammpstrj id type element mol x y z mass q modify element N C C C H O O H O H Na
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/control/case_2.lammpsin:
--------------------------------------------------------------------------------
1 | # Initialization
2 | units real
3 | boundary p p p
4 | atom_style full
5 | log lammps.log
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 10 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 0.0001
17 |
18 | read_data complex.data
19 |
20 | thermo 1
21 | thermo_style custom step etotal pe ebond eangle edihed eimp evdwl ecoul elong press fmax fnorm
22 | min_style sd
23 | minimize 1e-6 1000 10 10000
24 | min_style cg
25 | minimize 1e-6 100 99990 990000
26 | #unfix 1
27 | write_restart emin.restart
28 |
29 | write_dump all custom dump.emin.lammpstrj id type element mol x y z mass q modify element N C C C H O O H O H Na
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/control/case_2_npt.lammpsin:
--------------------------------------------------------------------------------
1 | # Initialization
2 | units real
3 | boundary p p p
4 | atom_style full
5 | log log.lammps
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 0 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 1.0e-4
17 |
18 | read_restart $restart_file_name
19 |
20 |
21 | group li 11
22 | group tfsi 1 2 3 4 5 6
23 | group solv 7 8 9 10
24 | velocity all create 298.15 250 mom yes rot yes
25 | # fix 1 shake 0.0001 20 0
26 | fix 2 all npt temp 298.15 298.15 100.0 iso 1.0 1.0 1000.0
27 | thermo 1000
28 | thermo_style custom step temp press pe lx vol density
29 | timestep 1
30 | reset_timestep 0
31 | dump 1 all custom 50000 dump.npt.*.dump id type element mol x y z ix iy iz xu yu zu vx vy vz fx fy fz mass q
32 | # dump_modify 1
33 | restart 1000000 restart.npt.*.restart
34 | run 2000000
35 | # unfix 1
36 | unfix 2
37 | write_restart restart.npt.restart
38 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/control/case_2_npt_group_list.lammpsin:
--------------------------------------------------------------------------------
1 | # Initialization
2 | units real
3 | boundary p p p
4 | atom_style full
5 | log log.lammps
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 0 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 1.0e-4
17 |
18 | read_restart $restart_file_name
19 |
20 |
21 | ['group li 11', 'group tfsi 1 2 3 4 5 6', 'group solv 7 8 9 10']
22 | velocity all create 298.15 250 mom yes rot yes
23 | # fix 1 shake 0.0001 20 0
24 | fix 2 all npt temp 298.15 298.15 100.0 iso 1.0 1.0 1000.0
25 | thermo 1000
26 | thermo_style custom step temp press pe lx vol density
27 | timestep 1
28 | reset_timestep 0
29 | dump 1 all custom 50000 dump.npt.*.dump id type element mol x y z ix iy iz xu yu zu vx vy vz fx fy fz mass q
30 | # dump_modify 1
31 | restart 1000000 restart.npt.*.restart
32 | run 2000000
33 | # unfix 1
34 | unfix 2
35 | write_restart restart.npt.restart
36 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/control/case_3.lammpsin:
--------------------------------------------------------------------------------
1 | # Initialization
2 | units real
3 | boundary p p p
4 | atom_style full
5 | log lammps.log
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 10 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 0.0001
17 |
18 | read_data complex.data
19 |
20 | thermo 1
21 | thermo_style custom step etotal pe ebond eangle edihed eimp evdwl ecoul elong press fmax fnorm
22 | min_style sd
23 | minimize 1e-6 1000 10 10000
24 | min_style cg
25 | minimize 1e-6 100 99990 990000
26 | #unfix 1
27 | write_restart emin.restart
28 |
29 | write_dump all custom dump.emin.lammpstrj id type element mol x y z mass q modify element N C C C H O O H O H Na
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/H5C12SN2O5/leap.log:
--------------------------------------------------------------------------------
1 | log started: Fri Jun 4 10:46:46 2021
2 |
3 | Log file: ./leap.log
4 | >> #
5 | >> # ----- leaprc for loading the general Amber Force field.
6 | >> # This file is mostly for use with Antechamber
7 | >> #
8 | >> # load atom type hybridizations
9 | >> #
10 | >> addAtomTypes {
11 | >> { "h1" "H" "sp3" }
12 | >> { "h2" "H" "sp3" }
13 | >> { "h3" "H" "sp3" }
14 | >> { "h4" "H" "sp3" }
15 | >> { "h5" "H" "sp3" }
16 | >> { "ha" "H" "sp3" }
17 | >> { "hc" "H" "sp3" }
18 | >> { "hn" "H" "sp3" }
19 | >> { "ho" "H" "sp3" }
20 | >> { "hp" "H" "sp3" }
21 | >> { "hs" "H" "sp3" }
22 | >> { "hw" "H" "sp3" }
23 | >> { "hx" "H" "sp3" }
24 | >> { "o" "O" "sp2" }
25 | >> { "o2" "O" "sp2" }
26 | >> { "oh" "O" "sp3" }
27 | >> { "op" "O" "sp3" }
28 | >> { "oq" "O" "sp3" }
29 | >> { "os" "O" "sp3" }
30 | >> { "ow" "O" "sp3" }
31 | >> { "c" "C" "sp2" }
32 | >> { "c1" "C" "sp2" }
33 | >> { "c2" "C" "sp2" }
34 | >> { "c3" "C" "sp3" }
35 | >> { "ca" "C" "sp2" }
36 | >> { "cc" "C" "sp2" }
37 | >> { "cd" "C" "sp2" }
38 | >> { "ce" "C" "sp2" }
39 | >> { "cf" "C" "sp2" }
40 | >> { "cg" "C" "sp2" }
41 | >> { "ch" "C" "sp2" }
42 | >> { "cp" "C" "sp2" }
43 | >> { "cq" "C" "sp2" }
44 | >> { "cu" "C" "sp2" }
45 | >> { "cv" "C" "sp2" }
46 | >> { "cx" "C" "sp2" }
47 | >> { "cy" "C" "sp2" }
48 | >> { "cz" "C" "sp2" }
49 | >> { "n" "N" "sp2" }
50 | >> { "n1" "N" "sp2" }
51 | >> { "n2" "N" "sp2" }
52 | >> { "n3" "N" "sp3" }
53 | >> { "n4" "N" "sp3" }
54 | >> { "na" "N" "sp2" }
55 | >> { "nb" "N" "sp2" }
56 | >> { "nc" "N" "sp2" }
57 | >> { "nd" "N" "sp2" }
58 | >> { "ne" "N" "sp2" }
59 | >> { "nf" "N" "sp2" }
60 | >> { "nh" "N" "sp2" }
61 | >> { "ni" "N" "sp2" }
62 | >> { "nj" "N" "sp2" }
63 | >> { "nk" "N" "sp3" }
64 | >> { "nl" "N" "sp3" }
65 | >> { "nm" "N" "sp2" }
66 | >> { "nn" "N" "sp2" }
67 | >> { "no" "N" "sp2" }
68 | >> { "np" "N" "sp3" }
69 | >> { "nq" "N" "sp3" }
70 | >> { "s" "S" "sp2" }
71 | >> { "s2" "S" "sp2" }
72 | >> { "s3" "S" "sp3" }
73 | >> { "s4" "S" "sp3" }
74 | >> { "s6" "S" "sp3" }
75 | >> { "sh" "S" "sp3" }
76 | >> { "sp" "S" "sp3" }
77 | >> { "sq" "S" "sp3" }
78 | >> { "ss" "S" "sp3" }
79 | >> { "sx" "S" "sp3" }
80 | >> { "sy" "S" "sp3" }
81 | >> { "p2" "P" "sp2" }
82 | >> { "p3" "P" "sp3" }
83 | >> { "p4" "P" "sp3" }
84 | >> { "p5" "P" "sp3" }
85 | >> { "pb" "P" "sp3" }
86 | >> { "pc" "P" "sp3" }
87 | >> { "pd" "P" "sp3" }
88 | >> { "pe" "P" "sp3" }
89 | >> { "pf" "P" "sp3" }
90 | >> { "px" "P" "sp3" }
91 | >> { "py" "P" "sp3" }
92 | >> { "f" "F" "sp3" }
93 | >> { "cl" "Cl" "sp3" }
94 | >> { "br" "Br" "sp3" }
95 | >> { "i" "I" "sp3" }
96 | >> }
97 | >> #
98 | >> # Load the general force field parameter set.
99 | >> #
100 | >> gaff = loadamberparams gaff.dat
101 | Loading parameters: /Users/matt/AmberTools/amber20/dat/leap/parm/gaff.dat
102 | Reading title:
103 | AMBER General Force Field for organic molecules (Version 1.81, May 2017)
104 | >
105 | > MOL = loadmol2 /Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/H5C12SN2O5/H5C12SN2O5.mol2
106 |
107 | /Users/matt/AmberTools/amber20/bin/teLeap: Fatal Error!
108 | Could not open file /Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/H5C12SN2O5/H5C12SN2O5.mol2: No such file or directory
109 |
110 | Exiting LEaP: Errors = 1; Warnings = 0; Notes = 0.
111 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/H5C12SN2O5/tleap.in:
--------------------------------------------------------------------------------
1 | source leaprc.gaff
2 | MOL = loadmol2 /Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/H5C12SN2O5/H5C12SN2O5.mol2
3 | check MOL
4 | loadamberparams /Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/H5C12SN2O5/H5C12SN2O5.frcmod
5 | saveamberparm MOL /Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/H5C12SN2O5/H5C12SN2O5.prmtop /Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/H5C12SN2O5/H5C12SN2O5.inpcrd
6 | quit
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/Na.pdb:
--------------------------------------------------------------------------------
1 | COMPND UNNAMED
2 | AUTHOR GENERATED BY OPEN BABEL 2.3.90
3 | HETATM 1 Na+ Na+ 1 -1.710 0.366 0.000 1.00 0.00 Na1+
4 | MASTER 0 0 0 0 0 0 0 0 1 0 1 0
5 | END
6 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/SPC_E.pdb:
--------------------------------------------------------------------------------
1 | COMPND UNNAMED
2 | AUTHOR GENERATED BY OPEN BABEL 2.3.90
3 | HETATM 1 O HOH 1 -5.506 0.767 0.813 1.00 0.00 O
4 | HETATM 2 H HOH 0 -4.506 0.767 0.813 1.00 0.00 H
5 | HETATM 3 H HOH 0 -5.839 0.226 1.585 1.00 0.00 H
6 | CONECT 1 2 3
7 | CONECT 2 1
8 | CONECT 3 1
9 | MASTER 0 0 0 0 0 0 0 0 3 0 3 0
10 | END
11 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/ANTECHAMBER_AC.AC:
--------------------------------------------------------------------------------
1 | CHARGE -1.00 ( -1 )
2 | Formula: H1 O1
3 | ATOM 1 O1 MOL 1 -4.383 3.077 0.000 -1.206776 o
4 | ATOM 2 H1 MOL 1 -3.420 3.077 0.000 0.206775 ho
5 | BOND 1 1 2 9 O1 H1
6 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/ANTECHAMBER_AC.AC0:
--------------------------------------------------------------------------------
1 | CHARGE -1.00 ( -1 )
2 | Formula: H1 O1
3 | ATOM 1 O1 MOL 1 -4.383 3.077 0.000 -1.206776 O1
4 | ATOM 2 H1 MOL 1 -3.420 3.077 0.000 0.206775 H1
5 | BOND 1 1 2 9 O1 H1
6 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/ANTECHAMBER_BOND_TYPE.AC:
--------------------------------------------------------------------------------
1 | CHARGE -1.00 ( -1 )
2 | Formula: H1 O1
3 | ATOM 1 O1 MOL 1 -4.383 3.077 0.000 -1.206776 O1
4 | ATOM 2 H1 MOL 1 -3.420 3.077 0.000 0.206775 H1
5 | BOND 1 1 2 9 O1 H1
6 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/ANTECHAMBER_BOND_TYPE.AC0:
--------------------------------------------------------------------------------
1 | CHARGE -1.00 ( -1 )
2 | Formula: H1 O1
3 | ATOM 1 O1 MOL 1 -4.383 3.077 0.000 -1.206776 O1
4 | ATOM 2 H1 MOL 1 -3.420 3.077 0.000 0.206775 H1
5 | BOND 1 1 2 0 O1 H1
6 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/ANTECHAMBER_RESP.AC:
--------------------------------------------------------------------------------
1 | CHARGE -1.00 ( -1 )
2 | Formula: H1 O1
3 | ATOM 1 O1 MOL 1 -4.383 3.077 0.000 -1.206776 o
4 | ATOM 2 H1 MOL 1 -3.420 3.077 0.000 0.206775 ho
5 | BOND 1 1 2 9 O1 H1
6 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/ANTECHAMBER_RESP1.IN:
--------------------------------------------------------------------------------
1 | Resp charges for organic molecule
2 |
3 | &cntrl
4 |
5 | nmol = 1,
6 | ihfree = 1,
7 | ioutopt = 1,
8 | qwt = 0.00050,
9 |
10 | &end
11 | 1.0
12 | Resp charges for organic molecule
13 | -1 2
14 | 8 0
15 | 1 0
16 |
17 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/ANTECHAMBER_RESP1.OUT:
--------------------------------------------------------------------------------
1 |
2 | -----------------------------------------------
3 | Restrained ESP Fit 2.3 Amber 4.1
4 | -----------------------------------------------
5 | Resp charges for organic molecule
6 | -----------------------------------------------
7 |
8 |
9 | inopt = 0 ioutopt = 1
10 | nmol = 1 iqopt = 0
11 | ihfree = 1 irstrnt = 1
12 | iunits = 0 qwt = 0.00050000
13 | wtmol(1) = 1.000000
14 | subtitle:
15 |
16 | Resp charges for organic molecule
17 | ich = -1 iuniq = 2
18 | 1 8 0
19 | 2 1 0
20 |
21 | ----------------------------------------------------------------------------
22 | ATOM COORDINATES CHARGE
23 | X Y Z
24 | ----------------------------------------------------------------------------
25 | ----------------------------------------------------------------------------
26 |
27 |
28 | Charge on the molecule(ich) = -1
29 | Total number of atoms (iuniq) = 2
30 | Weight factor on initial charge restraints(qwt)= 0.50000D-03
31 |
32 |
33 | there are 1 charge constraints:
34 |
35 |
36 | 1 1
37 | 2 1
38 |
39 | Reading esp"s for molecule 1
40 | total number of atoms = 2
41 | total number of esp points = 273
42 |
43 |
44 | center X Y Z
45 | 1 -0.8281851E+01 0.5814498E+01 0.7000000E-08
46 | 2 -0.6463172E+01 0.5814498E+01 0.1000000E-08
47 | Initial ssvpot = 12.838
48 |
49 |
50 | Number of unique UNfrozen centers= 2
51 |
52 | Non-linear optimization requested.
53 | qchnge = 0.6116268815
54 | qchnge = 0.1177633858E-03
55 | qchnge = 0.7694025006E-07
56 |
57 | Convergence in 2 iterations
58 |
59 |
60 | Resp charges for organic molecule
61 |
62 | Point Charges Before & After Optimization
63 |
64 | no. At.no. q(init) q(opt) ivary d(rstr)/dq
65 | 1 8 0.000000 -1.205982 0 0.000413
66 | 2 1 0.000000 0.205982 0 0.000000
67 |
68 | Sum over the calculated charges: -1.000
69 |
70 | Statistics of the fitting:
71 | The initial sum of squares (ssvpot) 12.838
72 | The residual sum of squares (chipot) 0.002
73 | The std err of estimate (sqrt(chipot/N)) 0.00247
74 | ESP relative RMS (SQRT(chipot/ssvpot)) 0.01137
75 |
76 | Center of Mass (Angst.):
77 |
78 | X = 0.00000 Y = 0.00000 Z = 0.00000
79 |
80 | Dipole (Debye):
81 |
82 | X = 22.00270 Y = -14.77909 Z = -0.00000
83 |
84 | Dipole Moment (Debye)= 26.50548
85 |
86 | Quadrupole (Debye*Angst.):
87 |
88 | Qxx =-153.89607 QYY = 8.73736 QZZ = 145.15871
89 | Qxy = 348.25905 QXZ = 145.15871 QYZ = 145.15871
90 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/ANTECHAMBER_RESP2.IN:
--------------------------------------------------------------------------------
1 | Resp charges for organic molecule
2 |
3 | &cntrl
4 |
5 | nmol = 1,
6 | ihfree = 1,
7 | ioutopt = 1,
8 | iqopt = 2,
9 | qwt = 0.00100,
10 |
11 | &end
12 | 1.0
13 | Resp charges for organic molecule
14 | -1 2
15 | 8 -99
16 | 1 -99
17 |
18 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/ANTECHAMBER_RESP2.OUT:
--------------------------------------------------------------------------------
1 |
2 | -----------------------------------------------
3 | Restrained ESP Fit 2.3 Amber 4.1
4 | -----------------------------------------------
5 | Resp charges for organic molecule
6 | -----------------------------------------------
7 |
8 |
9 | inopt = 0 ioutopt = 1
10 | nmol = 1 iqopt = 2
11 | ihfree = 1 irstrnt = 1
12 | iunits = 0 qwt = 0.00100000
13 | wtmol(1) = 1.000000
14 | subtitle:
15 |
16 | Resp charges for organic molecule
17 | ich = -1 iuniq = 2
18 | 1 8 -99
19 | 2 1 -99
20 | new q0 values to be read 2
21 |
22 | ----------------------------------------------------------------------------
23 | ATOM COORDINATES CHARGE
24 | X Y Z
25 | ----------------------------------------------------------------------------
26 | ----------------------------------------------------------------------------
27 |
28 |
29 | Charge on the molecule(ich) = -1
30 | Total number of atoms (iuniq) = 2
31 | Weight factor on initial charge restraints(qwt)= 0.10000D-02
32 |
33 |
34 | there are 1 charge constraints:
35 |
36 |
37 | 1 1
38 | 2 1
39 |
40 | Reading esp"s for molecule 1
41 | total number of atoms = 2
42 | total number of esp points = 273
43 |
44 |
45 | center X Y Z
46 | 1 -0.8281851E+01 0.5814498E+01 0.7000000E-08
47 | 2 -0.6463172E+01 0.5814498E+01 0.1000000E-08
48 | Initial ssvpot = 12.838
49 |
50 |
51 | Number of unique UNfrozen centers= 0
52 | ALL charges are frozen!!!
53 |
54 | Non-linear optimization requested.
55 | qchnge = 0.6117232153
56 | qchnge = 0.000000000
57 | qchnge = 0.000000000
58 |
59 | Convergence in 2 iterations
60 |
61 |
62 | Resp charges for organic molecule
63 |
64 | Point Charges Before & After Optimization
65 |
66 | no. At.no. q(init) q(opt) ivary d(rstr)/dq
67 | 1 8 -1.205982 -1.205982 -99 0.000826
68 | 2 1 0.205982 0.205982 -99 0.000000
69 |
70 | Sum over the calculated charges: -1.000
71 |
72 | Statistics of the fitting:
73 | The initial sum of squares (ssvpot) 12.838
74 | The residual sum of squares (chipot) 0.002
75 | The std err of estimate (sqrt(chipot/N)) 0.00247
76 | ESP relative RMS (SQRT(chipot/ssvpot)) 0.01137
77 |
78 | Center of Mass (Angst.):
79 |
80 | X = 0.00000 Y = 0.00000 Z = 0.00000
81 |
82 | Dipole (Debye):
83 |
84 | X = 22.00270 Y = -14.77909 Z = -0.00000
85 |
86 | Dipole Moment (Debye)= 26.50548
87 |
88 | Quadrupole (Debye*Angst.):
89 |
90 | Qxx =-153.89609 QYY = 8.73737 QZZ = 145.15872
91 | Qxy = 348.25908 QXZ = 145.15872 QYZ = 145.15872
92 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/ATOMTYPE.INF:
--------------------------------------------------------------------------------
1 | ====================================================================================
2 | -------------------------------ring property (I)------------------------------------
3 |
4 | ====================================================================================
5 | -------------------------------ring property (II)------------------------------------
6 |
7 | ====================================================================================
8 | -------------------------------ring property (III)-----------------------------------
9 | atom[ 1] (O1 ) is not in any ring (nr[1]=1)
10 | atom[ 2] (H1 ) is not in any ring (nr[2]=1)
11 |
12 | ====================================================================================
13 | -------------------------------aromatic property------------------------------------
14 |
15 | ====================================================================================
16 | -------------------------------electronic property----------------------------------
17 | atom [ 1] (O1 ) is an electron-withdrew atom
18 | atom [ 2] (H1 ) is not an electron-withdrew atom
19 |
20 | ====================================================================================
21 | --------------------------------connectivity property-------------------------------
22 | atom[ 1] (O1 ) 2 H1
23 | atom[ 2] (H1 ) 1 O1
24 | ----------------------------------------END-----------------------------------------
25 |
26 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/H2O2.frcmod:
--------------------------------------------------------------------------------
1 | Remark line goes here
2 | MASS
3 |
4 | BOND
5 |
6 | ANGLE
7 |
8 | DIHE
9 |
10 | IMPROPER
11 |
12 | NONBON
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/H2O2.inpcrd:
--------------------------------------------------------------------------------
1 | MOL
2 | 2
3 | -4.3830000 3.0770000 0.0000000 -3.4200000 3.0770000 0.0000000
4 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/H2O2.mol2:
--------------------------------------------------------------------------------
1 | @MOLECULE
2 | MOL
3 | 2 1 1 0 0
4 | SMALL
5 | resp
6 |
7 |
8 | @ATOM
9 | 1 O1 -4.3830 3.0770 0.0000 o 1 MOL -1.205982
10 | 2 H1 -3.4200 3.0770 0.0000 ho 1 MOL 0.205982
11 | @BOND
12 | 1 1 2 1
13 | @SUBSTRUCTURE
14 | 1 MOL 1 TEMP 0 **** **** 0 ROOT
15 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/H5C12SN2O5.frcmod:
--------------------------------------------------------------------------------
1 | Remark line goes here
2 | MASS
3 |
4 | BOND
5 |
6 | ANGLE
7 |
8 | DIHE
9 | nb-ca-cc-c 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
10 | nb-ca-cc-ha 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
11 | ca-ca-cc-c 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
12 | ca-ca-cc-ha 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
13 |
14 | IMPROPER
15 | ca-ca-ca-ha 1.1 180.0 2.0 Using general improper torsional angle X- X-ca-ha, penalty score= 6.0)
16 | ca-ca-ca-nb 1.1 180.0 2.0 Using the default value
17 | ca-ca-ca-s6 1.1 180.0 2.0 Using the default value
18 | c -ca-cc-ha 1.1 180.0 2.0 Same as X -X -ca-ha, penalty score= 38.9 (use general term))
19 | ca-cc-ca-nb 1.1 180.0 2.0 Using the default value
20 | c -cc-c -o 10.5 180.0 2.0 Using general improper torsional angle X- X- c- o, penalty score= 6.0)
21 |
22 | NONBON
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/H5C12SN2O5.inpcrd:
--------------------------------------------------------------------------------
1 | MOL
2 | 25
3 | 0.8610000 -1.1350000 0.4480000 1.0390000 1.6060000 -0.2190000
4 | -1.5330000 -0.9960000 0.2530000 -0.2570000 -0.3950000 0.1890000
5 | -2.6820000 -0.2820000 0.0030000 -2.5820000 1.0810000 -0.3250000
6 | -0.1610000 0.9700000 -0.1420000 -1.3530000 1.6820000 -0.3940000
7 | 3.2280000 -1.2440000 0.6350000 2.0290000 -0.5420000 0.3800000
8 | 4.5160000 -0.6830000 0.5830000 2.1260000 0.9070000 0.0280000
9 | 4.6130000 0.8160000 0.2180000 3.4030000 1.4940000 -0.0320000
10 | -1.5920000 -2.0360000 0.5120000 5.7270000 1.3460000 0.1620000
11 | -3.4800000 1.6450000 -0.5100000 -1.2610000 2.7280000 -0.6410000
12 | 3.1450000 -2.2890000 0.8890000 5.5600000 -1.3060000 0.8080000
13 | -4.7680000 -1.0880000 -1.3380000 3.4580000 2.5400000 -0.2870000
14 | -4.3030000 -1.0360000 0.0470000 -4.1300000 -2.3590000 0.6370000
15 | -5.1270000 -0.1480000 0.8660000
16 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/H5C12SN2O5.mol2:
--------------------------------------------------------------------------------
1 | @MOLECULE
2 | MOL
3 | 25 27 1 0 0
4 | SMALL
5 | resp
6 |
7 |
8 | @ATOM
9 | 1 N1 0.8610 -1.1350 0.4480 nb 1 MOL -0.691321
10 | 2 N2 1.0390 1.6060 -0.2190 nb 1 MOL -0.739056
11 | 3 C1 -1.5330 -0.9960 0.2530 ca 1 MOL -0.225806
12 | 4 C2 -0.2570 -0.3950 0.1890 ca 1 MOL 0.306611
13 | 5 C3 -2.6820 -0.2820 0.0030 ca 1 MOL -0.087046
14 | 6 C4 -2.5820 1.0810 -0.3250 ca 1 MOL -0.258214
15 | 7 C5 -0.1610 0.9700 -0.1420 ca 1 MOL 0.266008
16 | 8 C6 -1.3530 1.6820 -0.3940 ca 1 MOL -0.246607
17 | 9 C7 3.2280 -1.2440 0.6350 cc 1 MOL -0.764873
18 | 10 C8 2.0290 -0.5420 0.3800 ca 1 MOL 0.385158
19 | 11 C9 4.5160 -0.6830 0.5830 c 1 MOL 0.528041
20 | 12 C10 2.1260 0.9070 0.0280 ca 1 MOL 0.585862
21 | 13 C11 4.6130 0.8160 0.2180 c 1 MOL 0.586716
22 | 14 C12 3.4030 1.4940 -0.0320 cc 1 MOL -0.868683
23 | 15 H1 -1.5920 -2.0360 0.5120 ha 1 MOL 0.142804
24 | 16 O1 5.7270 1.3460 0.1620 o 1 MOL -0.748639
25 | 17 H2 -3.4800 1.6450 -0.5100 ha 1 MOL 0.146559
26 | 18 H3 -1.2610 2.7280 -0.6410 ha 1 MOL 0.103736
27 | 19 H4 3.1450 -2.2890 0.8890 ha 1 MOL 0.162410
28 | 20 O2 5.5600 -1.3060 0.8080 o 1 MOL -0.751707
29 | 21 O3 -4.7680 -1.0880 -1.3380 o 1 MOL -0.714735
30 | 22 H5 3.4580 2.5400 -0.2870 ha 1 MOL 0.170582
31 | 23 S1 -4.3030 -1.0360 0.0470 s6 1 MOL 1.141670
32 | 24 O4 -4.1300 -2.3590 0.6370 o 1 MOL -0.714735
33 | 25 O5 -5.1270 -0.1480 0.8660 o 1 MOL -0.714735
34 | @BOND
35 | 1 1 4 ar
36 | 2 1 10 ar
37 | 3 2 7 ar
38 | 4 2 12 ar
39 | 5 3 4 ar
40 | 6 3 5 ar
41 | 7 3 15 1
42 | 8 4 7 ar
43 | 9 5 6 ar
44 | 10 5 23 1
45 | 11 6 8 ar
46 | 12 6 17 1
47 | 13 7 8 ar
48 | 14 8 18 1
49 | 15 9 10 2
50 | 16 9 11 1
51 | 17 9 19 1
52 | 18 10 12 ar
53 | 19 11 13 1
54 | 20 11 20 2
55 | 21 12 14 2
56 | 22 13 14 1
57 | 23 13 16 2
58 | 24 14 22 1
59 | 25 21 23 1
60 | 26 23 24 1
61 | 27 23 25 1
62 | @SUBSTRUCTURE
63 | 1 MOL 1 TEMP 0 **** **** 0 ROOT
64 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/Na.pdb:
--------------------------------------------------------------------------------
1 | COMPND UNNAMED
2 | AUTHOR GENERATED BY OPEN BABEL 2.3.90
3 | HETATM 1 Na+ Na+ 1 -1.710 0.366 0.000 1.00 0.00 Na1+
4 | MASTER 0 0 0 0 0 0 0 0 1 0 1 0
5 | END
6 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/SPC_E.pdb:
--------------------------------------------------------------------------------
1 | COMPND UNNAMED
2 | AUTHOR GENERATED BY OPEN BABEL 2.3.90
3 | HETATM 1 O HOH 1 -5.506 0.767 0.813 1.00 0.00 O
4 | HETATM 2 H HOH 0 -4.506 0.767 0.813 1.00 0.00 H
5 | HETATM 3 H HOH 0 -5.839 0.226 1.585 1.00 0.00 H
6 | CONECT 1 2 3
7 | CONECT 2 1
8 | CONECT 3 1
9 | MASTER 0 0 0 0 0 0 0 0 3 0 3 0
10 | END
11 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/punch:
--------------------------------------------------------------------------------
1 |
2 | Resp charges for organic molecule
3 |
4 | iqopt irstrnt ihfree qwt
5 | 2 1 1 0.001000
6 |
7 | rel.rms dipole mom Qxx Qyy Qzz
8 | 0.01137 26.50548-153.89609 8.73737 145.15872
9 |
10 | Point charges before & after optimization
11 | NO At.No. q0 q(opt) IVARY d(rstr)/dq
12 | 1 8 -1.205982 -1.205982 -99 0.000826
13 | 2 1 0.205982 0.205982 -99 0.000000
14 |
15 | Statistics of the fitting:
16 | The initial sum of squares (ssvpot) 12.838
17 | The residual sum of squares (chipot) 0.002
18 | The std err of estimate (sqrt(chipot/N)) 0.00247
19 | ESP relative RMS (SQRT(chipot/ssvpot)) 0.01137
20 |
21 | Dipole Moment (Debye)= 26.50548
22 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/qout:
--------------------------------------------------------------------------------
1 | -1.205982 0.205982
2 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/custom_workflow/tleap.in:
--------------------------------------------------------------------------------
1 | source leaprc.gaff
2 | MOL = loadmol2 /Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/custom_workflow/H2O2.mol2
3 | check MOL
4 | loadamberparams /Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/custom_workflow/H2O2.frcmod
5 | saveamberparm MOL /Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/custom_workflow/H2O2.prmtop /Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/custom_workflow/H2O2.inpcrd
6 | quit
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/emin/complex.lammpsin:
--------------------------------------------------------------------------------
1 | log lammps.log
2 | # Initialization
3 | units real
4 | boundary p p p
5 | atom_style full
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 0 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 1.0e-4
17 |
18 | read_data ../complex.data
19 |
20 | thermo 1
21 | thermo_style custom step etotal pe ebond eangle edihed eimp evdwl ecoul elong press fmax fnorm
22 | min_style sd
23 | minimize 1e-6 1000 10 10000
24 | min_style cg
25 | minimize 1e-6 100 99990 990000
26 | #unfix 1
27 | write_restart restart.emin.restart
28 |
29 | write_dump all custom dump.emin.dump id type element mol x y z mass q
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/emin/run_file.json:
--------------------------------------------------------------------------------
1 | {"smiles": ["O=C1[CH]c2nc3ccc(cc3nc2[CH]C1=O)S([O])([O])[O]", "O", "[OH]", "[Na]"], "nmols": {"H5C12SN2O5": 9.0, "H2O2": 10.0, "Na": 37.0, "H2O": 438.0}, "box": {"@module": "pymatgen.io.lammps.data", "@class": "LammpsBox", "@version": "2020.9.14", "bounds": [[-0.25, 25.25], [-0.25, 25.25], [-0.25, 25.25]], "tilt": null}, "job_type": "emin_gaff", "working_dir": "/Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/emin"}
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/melt/complex.lammpsin:
--------------------------------------------------------------------------------
1 | log log.lammps
2 | # Initialization
3 | units real
4 | boundary p p p
5 | atom_style full
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 0 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 1.0e-4
17 |
18 | read_restart ../npt/restart.npt.restart
19 |
20 | group phen type 1 2 3 4 5 6 7
21 | group wat type 8 9
22 | group oh type 10 11
23 | group na type 12
24 | fix 1 wat shake 0.0001 20 0 b 11 a 16
25 | fix 2 all nvt temp 500.0 500.0 100.0
26 | thermo 1000
27 |
28 | thermo_style custom step temp press pe pxx pyy pzz pxy pxz pyz
29 | timestep 1
30 | reset_timestep 0
31 | dump 1 all custom 50000 dump.nvt.*.dump id type element mol x y z ix iy iz xu yu zu vx vy vz fx fy fz mass q
32 | # dump_modify 1
33 | restart 1000000 restart.nvt.*.restart
34 | run 1000000
35 | unfix 1
36 | unfix 2
37 | write_restart restart.melt_500K.restart
38 |
39 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/melt/run_file.json:
--------------------------------------------------------------------------------
1 | {"smiles": ["O=C1[CH]c2nc3ccc(cc3nc2[CH]C1=O)S([O])([O])[O]", "O", "[OH]", "[Na]"], "nmols": {"H5C12SN2O5": 9.0, "H2O2": 10.0, "Na": 37.0, "H2O": 438.0}, "box": {"@module": "pymatgen.io.lammps.data", "@class": "LammpsBox", "@version": "2020.9.14", "bounds": [[-0.25, 25.25], [-0.25, 25.25], [-0.25, 25.25]], "tilt": null}, "job_type": "nvt", "working_dir": "/Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/melt"}
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/npt/complex.lammpsin:
--------------------------------------------------------------------------------
1 | log log.lammps
2 | # Initialization
3 | units real
4 | boundary p p p
5 | atom_style full
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 0 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 1.0e-4
17 |
18 | read_restart ../emin/restart.emin.restart
19 |
20 |
21 | group phen type 1 2 3 4 5 6 7
22 | group wat type 8 9
23 | group oh type 10 11
24 | group na type 12
25 | velocity all create 298.15 36624 mom yes rot yes
26 | fix 1 wat shake 0.0001 20 0 b 11 a 16
27 | fix 2 all npt temp 298.15 298.15 100.0 iso 1.0 1.0 1000.0
28 | thermo 1000
29 | thermo_style custom step temp press pe lx vol density
30 | timestep 2
31 | reset_timestep 0
32 | dump 1 all custom 25000 dump.npt.*.dump id type element mol x y z ix iy iz xu yu zu vx vy vz fx fy fz mass q
33 | # dump_modify 1
34 | restart 1000000 restart.npt.*.restart
35 | run 1000000
36 | unfix 1
37 | unfix 2
38 | write_restart restart.npt.restart
39 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/npt/run_file.json:
--------------------------------------------------------------------------------
1 | {"smiles": ["O=C1[CH]c2nc3ccc(cc3nc2[CH]C1=O)S([O])([O])[O]", "O", "[OH]", "[Na]"], "nmols": {"H5C12SN2O5": 9.0, "H2O2": 10.0, "Na": 37.0, "H2O": 438.0}, "box": {"@module": "pymatgen.io.lammps.data", "@class": "LammpsBox", "@version": "2020.9.14", "bounds": [[-0.25, 25.25], [-0.25, 25.25], [-0.25, 25.25]], "tilt": null}, "job_type": "npt", "working_dir": "/Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/npt"}
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/nvt_0-20/complex.lammpsin:
--------------------------------------------------------------------------------
1 | log log.lammps
2 | # Initialization
3 | units real
4 | boundary p p p
5 | atom_style full
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 0 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 1.0e-4
17 |
18 | read_restart ../quench/restart.quench_298-15K.restart
19 |
20 | group phen type 1 2 3 4 5 6 7
21 | group wat type 8 9
22 | group oh type 10 11
23 | group na type 12
24 | fix 1 wat shake 0.0001 20 0 b 11 a 16
25 | fix 2 all nvt temp 298.15 298.15 100.0
26 | thermo 2
27 | compute P phen msd com yes
28 | compute W wat msd com yes
29 | compute O oh msd com yes
30 | compute N na msd com yes
31 | thermo_style custom step temp press pe pxx pyy pzz pxy pxz pyz c_P[4] c_W[4] c_O[4] c_N[4]
32 | timestep 2
33 | reset_timestep 0
34 | dump 1 all custom 25000 dump.nvt.*.dump id type element mol x y z ix iy iz xu yu zu vx vy vz fx fy fz mass q
35 | # dump_modify 1
36 | restart 1000000 restart.nvt.*.restart
37 | run 10000000
38 | unfix 1
39 | unfix 2
40 | write_restart restart.nvt_20-ns.restart
41 |
42 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/nvt_0-20/run_file.json:
--------------------------------------------------------------------------------
1 | {"smiles": ["O=C1[CH]c2nc3ccc(cc3nc2[CH]C1=O)S([O])([O])[O]", "O", "[OH]", "[Na]"], "nmols": {"H5C12SN2O5": 9.0, "H2O2": 10.0, "Na": 37.0, "H2O": 438.0}, "box": {"@module": "pymatgen.io.lammps.data", "@class": "LammpsBox", "@version": "2020.9.14", "bounds": [[-0.25, 25.25], [-0.25, 25.25], [-0.25, 25.25]], "tilt": null}, "job_type": "nvt", "working_dir": "/Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/nvt_0-20"}
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/nvt_20-40/complex.lammpsin:
--------------------------------------------------------------------------------
1 | log log.lammps
2 | # Initialization
3 | units real
4 | boundary p p p
5 | atom_style full
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 0 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 1.0e-4
17 |
18 | read_restart ../nvt_0-20/restart.nvt_20-ns.restart
19 |
20 | group phen type 1 2 3 4 5 6 7
21 | group wat type 8 9
22 | group oh type 10 11
23 | group na type 12
24 | fix 1 wat shake 0.0001 20 0 b 11 a 16
25 | fix 2 all nvt temp 298.15 298.15 100.0
26 | thermo 2
27 | compute P phen msd com yes
28 | compute W wat msd com yes
29 | compute O oh msd com yes
30 | compute N na msd com yes
31 | thermo_style custom step temp press pe pxx pyy pzz pxy pxz pyz c_P[4] c_W[4] c_O[4] c_N[4]
32 | timestep 2
33 | # reset_timestep 0
34 | dump 1 all custom 25000 dump.nvt.*.dump id type element mol x y z ix iy iz xu yu zu vx vy vz fx fy fz mass q
35 | # dump_modify 1
36 | restart 1000000 restart.nvt.*.restart
37 | run 10000000
38 | unfix 1
39 | unfix 2
40 | write_restart restart.nvt_40-ns.restart
41 |
42 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/nvt_20-40/run_file.json:
--------------------------------------------------------------------------------
1 | {"smiles": ["O=C1[CH]c2nc3ccc(cc3nc2[CH]C1=O)S([O])([O])[O]", "O", "[OH]", "[Na]"], "nmols": {"H5C12SN2O5": 9.0, "H2O2": 10.0, "Na": 37.0, "H2O": 438.0}, "box": {"@module": "pymatgen.io.lammps.data", "@class": "LammpsBox", "@version": "2020.9.14", "bounds": [[-0.25, 25.25], [-0.25, 25.25], [-0.25, 25.25]], "tilt": null}, "job_type": "nvt", "working_dir": "/Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/nvt_20-40"}
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/quench/complex.lammpsin:
--------------------------------------------------------------------------------
1 | log log.lammps
2 | # Initialization
3 | units real
4 | boundary p p p
5 | atom_style full
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 0 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 1.0e-4
17 |
18 | read_restart ../melt/restart.melt_500K.restart
19 |
20 | group phen type 1 2 3 4 5 6 7
21 | group wat type 8 9
22 | group oh type 10 11
23 | group na type 12
24 | fix 1 wat shake 0.0001 20 0 b 11 a 16
25 | fix 2 all nvt temp 500.0 298.15 100.0
26 | thermo 1000
27 |
28 | thermo_style custom step temp press pe pxx pyy pzz pxy pxz pyz
29 | timestep 2
30 | reset_timestep 0
31 | dump 1 all custom 25000 dump.nvt.*.dump id type element mol x y z ix iy iz xu yu zu vx vy vz fx fy fz mass q
32 | # dump_modify 1
33 | restart 1000000 restart.nvt.*.restart
34 | run 1000000
35 | unfix 1
36 | unfix 2
37 | write_restart restart.quench_298-15K.restart
38 |
39 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/data/quench/run_file.json:
--------------------------------------------------------------------------------
1 | {"smiles": ["O=C1[CH]c2nc3ccc(cc3nc2[CH]C1=O)S([O])([O])[O]", "O", "[OH]", "[Na]"], "nmols": {"H5C12SN2O5": 9.0, "H2O2": 10.0, "Na": 37.0, "H2O": 438.0}, "box": {"@module": "pymatgen.io.lammps.data", "@class": "LammpsBox", "@version": "2020.9.14", "bounds": [[-0.25, 25.25], [-0.25, 25.25], [-0.25, 25.25]], "tilt": null}, "job_type": "nvt", "working_dir": "/Users/matt/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/data/quench"}
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/dhps.frcmod:
--------------------------------------------------------------------------------
1 | Remark line goes here
2 | MASS
3 |
4 | BOND
5 |
6 | ANGLE
7 |
8 | DIHE
9 | nb-ca-cc-c 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
10 | nb-ca-cc-ha 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
11 | ca-ca-cc-c 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
12 | ca-ca-cc-ha 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
13 |
14 | IMPROPER
15 | ca-ca-ca-ha 1.1 180.0 2.0 Using general improper torsional angle X- X-ca-ha, penalty score= 6.0)
16 | ca-ca-ca-nb 1.1 180.0 2.0 Using the default value
17 | ca-ca-ca-s6 1.1 180.0 2.0 Using the default value
18 | c -ca-cc-ha 1.1 180.0 2.0 Same as X -X -ca-ha, penalty score= 38.9 (use general term))
19 | ca-cc-ca-nb 1.1 180.0 2.0 Using the default value
20 | c -cc-c -o 10.5 180.0 2.0 Using general improper torsional angle X- X- c- o, penalty score= 6.0)
21 |
22 | NONBON
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/dhps.inpcrd:
--------------------------------------------------------------------------------
1 | MOL
2 | 25
3 | 0.8610000 -1.1350000 0.4480000 1.0390000 1.6060000 -0.2190000
4 | -1.5330000 -0.9960000 0.2530000 -0.2570000 -0.3950000 0.1890000
5 | -2.6820000 -0.2820000 0.0030000 -2.5820000 1.0810000 -0.3250000
6 | -0.1610000 0.9700000 -0.1420000 -1.3530000 1.6820000 -0.3940000
7 | 3.2280000 -1.2440000 0.6350000 2.0290000 -0.5420000 0.3800000
8 | 4.5160000 -0.6830000 0.5830000 2.1260000 0.9070000 0.0280000
9 | 4.6130000 0.8160000 0.2180000 3.4030000 1.4940000 -0.0320000
10 | -1.5920000 -2.0360000 0.5120000 5.7270000 1.3460000 0.1620000
11 | -3.4800000 1.6450000 -0.5100000 -1.2610000 2.7280000 -0.6410000
12 | 3.1450000 -2.2890000 0.8890000 5.5600000 -1.3060000 0.8080000
13 | -4.7680000 -1.0880000 -1.3380000 3.4580000 2.5400000 -0.2870000
14 | -4.3030000 -1.0360000 0.0470000 -4.1300000 -2.3590000 0.6370000
15 | -5.1270000 -0.1480000 0.8660000
16 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/dhps.mol2:
--------------------------------------------------------------------------------
1 | @MOLECULE
2 | MOL
3 | 25 27 1 0 0
4 | SMALL
5 | resp
6 |
7 |
8 | @ATOM
9 | 1 N1 0.8610 -1.1350 0.4480 nb 1 MOL -0.691321
10 | 2 N2 1.0390 1.6060 -0.2190 nb 1 MOL -0.739056
11 | 3 C1 -1.5330 -0.9960 0.2530 ca 1 MOL -0.225806
12 | 4 C2 -0.2570 -0.3950 0.1890 ca 1 MOL 0.306611
13 | 5 C3 -2.6820 -0.2820 0.0030 ca 1 MOL -0.087046
14 | 6 C4 -2.5820 1.0810 -0.3250 ca 1 MOL -0.258214
15 | 7 C5 -0.1610 0.9700 -0.1420 ca 1 MOL 0.266008
16 | 8 C6 -1.3530 1.6820 -0.3940 ca 1 MOL -0.246607
17 | 9 C7 3.2280 -1.2440 0.6350 cc 1 MOL -0.764873
18 | 10 C8 2.0290 -0.5420 0.3800 ca 1 MOL 0.385158
19 | 11 C9 4.5160 -0.6830 0.5830 c 1 MOL 0.528041
20 | 12 C10 2.1260 0.9070 0.0280 ca 1 MOL 0.585862
21 | 13 C11 4.6130 0.8160 0.2180 c 1 MOL 0.586716
22 | 14 C12 3.4030 1.4940 -0.0320 cc 1 MOL -0.868683
23 | 15 H1 -1.5920 -2.0360 0.5120 ha 1 MOL 0.142804
24 | 16 O1 5.7270 1.3460 0.1620 o 1 MOL -0.748639
25 | 17 H2 -3.4800 1.6450 -0.5100 ha 1 MOL 0.146559
26 | 18 H3 -1.2610 2.7280 -0.6410 ha 1 MOL 0.103736
27 | 19 H4 3.1450 -2.2890 0.8890 ha 1 MOL 0.162410
28 | 20 O2 5.5600 -1.3060 0.8080 o 1 MOL -0.751707
29 | 21 O3 -4.7680 -1.0880 -1.3380 o 1 MOL -0.714735
30 | 22 H5 3.4580 2.5400 -0.2870 ha 1 MOL 0.170582
31 | 23 S1 -4.3030 -1.0360 0.0470 s6 1 MOL 1.141670
32 | 24 O4 -4.1300 -2.3590 0.6370 o 1 MOL -0.714735
33 | 25 O5 -5.1270 -0.1480 0.8660 o 1 MOL -0.714735
34 | @BOND
35 | 1 1 4 ar
36 | 2 1 10 ar
37 | 3 2 7 ar
38 | 4 2 12 ar
39 | 5 3 4 ar
40 | 6 3 5 ar
41 | 7 3 15 1
42 | 8 4 7 ar
43 | 9 5 6 ar
44 | 10 5 23 1
45 | 11 6 8 ar
46 | 12 6 17 1
47 | 13 7 8 ar
48 | 14 8 18 1
49 | 15 9 10 2
50 | 16 9 11 1
51 | 17 9 19 1
52 | 18 10 12 ar
53 | 19 11 13 1
54 | 20 11 20 2
55 | 21 12 14 2
56 | 22 13 14 1
57 | 23 13 16 2
58 | 24 14 22 1
59 | 25 21 23 1
60 | 26 23 24 1
61 | 27 23 25 1
62 | @SUBSTRUCTURE
63 | 1 MOL 1 TEMP 0 **** **** 0 ROOT
64 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/esp_to_data/H2O2/H2O2.frcmod:
--------------------------------------------------------------------------------
1 | Remark line goes here
2 | MASS
3 |
4 | BOND
5 |
6 | ANGLE
7 |
8 | DIHE
9 |
10 | IMPROPER
11 |
12 | NONBON
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/esp_to_data/H2O2/H2O2.inpcrd:
--------------------------------------------------------------------------------
1 | MOL
2 | 2
3 | -4.3830000 3.0770000 0.0000000 -3.4200000 3.0770000 0.0000000
4 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/esp_to_data/H2O2/H2O2.mol2:
--------------------------------------------------------------------------------
1 | @MOLECULE
2 | MOL
3 | 2 1 1 0 0
4 | SMALL
5 | resp
6 |
7 |
8 | @ATOM
9 | 1 O1 -4.3830 3.0770 0.0000 o 1 MOL -1.205982
10 | 2 H1 -3.4200 3.0770 0.0000 ho 1 MOL 0.205982
11 | @BOND
12 | 1 1 2 1
13 | @SUBSTRUCTURE
14 | 1 MOL 1 TEMP 0 **** **** 0 ROOT
15 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/esp_to_data/H2O2/tleap.in:
--------------------------------------------------------------------------------
1 | source leaprc.gaff
2 | MOL = loadmol2 /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/esp_to_data/H2O2/H2O2.mol2
3 | check MOL
4 | loadamberparams /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/esp_to_data/H2O2/H2O2.frcmod
5 | saveamberparm MOL /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/esp_to_data/H2O2/H2O2.prmtop /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/esp_to_data/H2O2/H2O2.inpcrd
6 | quit
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/esp_to_data/H5C12SN2O5/H5C12SN2O5.frcmod:
--------------------------------------------------------------------------------
1 | Remark line goes here
2 | MASS
3 |
4 | BOND
5 |
6 | ANGLE
7 |
8 | DIHE
9 | nb-ca-cc-c 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
10 | nb-ca-cc-ha 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
11 | ca-ca-cc-c 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
12 | ca-ca-cc-ha 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
13 |
14 | IMPROPER
15 | ca-ca-ca-ha 1.1 180.0 2.0 Using general improper torsional angle X- X-ca-ha, penalty score= 6.0)
16 | ca-ca-ca-nb 1.1 180.0 2.0 Using the default value
17 | ca-ca-ca-s6 1.1 180.0 2.0 Using the default value
18 | c -ca-cc-ha 1.1 180.0 2.0 Same as X -X -ca-ha, penalty score= 38.9 (use general term))
19 | ca-cc-ca-nb 1.1 180.0 2.0 Using the default value
20 | c -cc-c -o 10.5 180.0 2.0 Using general improper torsional angle X- X- c- o, penalty score= 6.0)
21 |
22 | NONBON
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/esp_to_data/H5C12SN2O5/H5C12SN2O5.inpcrd:
--------------------------------------------------------------------------------
1 | MOL
2 | 25
3 | 0.8610000 -1.1350000 0.4480000 1.0390000 1.6060000 -0.2190000
4 | -1.5330000 -0.9960000 0.2530000 -0.2570000 -0.3950000 0.1890000
5 | -2.6820000 -0.2820000 0.0030000 -2.5820000 1.0810000 -0.3250000
6 | -0.1610000 0.9700000 -0.1420000 -1.3530000 1.6820000 -0.3940000
7 | 3.2280000 -1.2440000 0.6350000 2.0290000 -0.5420000 0.3800000
8 | 4.5160000 -0.6830000 0.5830000 2.1260000 0.9070000 0.0280000
9 | 4.6130000 0.8160000 0.2180000 3.4030000 1.4940000 -0.0320000
10 | -1.5920000 -2.0360000 0.5120000 5.7270000 1.3460000 0.1620000
11 | -3.4800000 1.6450000 -0.5100000 -1.2610000 2.7280000 -0.6410000
12 | 3.1450000 -2.2890000 0.8890000 5.5600000 -1.3060000 0.8080000
13 | -4.7680000 -1.0880000 -1.3380000 3.4580000 2.5400000 -0.2870000
14 | -4.3030000 -1.0360000 0.0470000 -4.1300000 -2.3590000 0.6370000
15 | -5.1270000 -0.1480000 0.8660000
16 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/esp_to_data/H5C12SN2O5/H5C12SN2O5.mol2:
--------------------------------------------------------------------------------
1 | @MOLECULE
2 | MOL
3 | 25 27 1 0 0
4 | SMALL
5 | resp
6 |
7 |
8 | @ATOM
9 | 1 N1 0.8610 -1.1350 0.4480 nb 1 MOL -0.691321
10 | 2 N2 1.0390 1.6060 -0.2190 nb 1 MOL -0.739056
11 | 3 C1 -1.5330 -0.9960 0.2530 ca 1 MOL -0.225806
12 | 4 C2 -0.2570 -0.3950 0.1890 ca 1 MOL 0.306611
13 | 5 C3 -2.6820 -0.2820 0.0030 ca 1 MOL -0.087046
14 | 6 C4 -2.5820 1.0810 -0.3250 ca 1 MOL -0.258214
15 | 7 C5 -0.1610 0.9700 -0.1420 ca 1 MOL 0.266008
16 | 8 C6 -1.3530 1.6820 -0.3940 ca 1 MOL -0.246607
17 | 9 C7 3.2280 -1.2440 0.6350 cc 1 MOL -0.764873
18 | 10 C8 2.0290 -0.5420 0.3800 ca 1 MOL 0.385158
19 | 11 C9 4.5160 -0.6830 0.5830 c 1 MOL 0.528041
20 | 12 C10 2.1260 0.9070 0.0280 ca 1 MOL 0.585862
21 | 13 C11 4.6130 0.8160 0.2180 c 1 MOL 0.586716
22 | 14 C12 3.4030 1.4940 -0.0320 cc 1 MOL -0.868683
23 | 15 H1 -1.5920 -2.0360 0.5120 ha 1 MOL 0.142804
24 | 16 O1 5.7270 1.3460 0.1620 o 1 MOL -0.748639
25 | 17 H2 -3.4800 1.6450 -0.5100 ha 1 MOL 0.146559
26 | 18 H3 -1.2610 2.7280 -0.6410 ha 1 MOL 0.103736
27 | 19 H4 3.1450 -2.2890 0.8890 ha 1 MOL 0.162410
28 | 20 O2 5.5600 -1.3060 0.8080 o 1 MOL -0.751707
29 | 21 O3 -4.7680 -1.0880 -1.3380 o 1 MOL -0.714735
30 | 22 H5 3.4580 2.5400 -0.2870 ha 1 MOL 0.170582
31 | 23 S1 -4.3030 -1.0360 0.0470 s6 1 MOL 1.141670
32 | 24 O4 -4.1300 -2.3590 0.6370 o 1 MOL -0.714735
33 | 25 O5 -5.1270 -0.1480 0.8660 o 1 MOL -0.714735
34 | @BOND
35 | 1 1 4 ar
36 | 2 1 10 ar
37 | 3 2 7 ar
38 | 4 2 12 ar
39 | 5 3 4 ar
40 | 6 3 5 ar
41 | 7 3 15 1
42 | 8 4 7 ar
43 | 9 5 6 ar
44 | 10 5 23 1
45 | 11 6 8 ar
46 | 12 6 17 1
47 | 13 7 8 ar
48 | 14 8 18 1
49 | 15 9 10 2
50 | 16 9 11 1
51 | 17 9 19 1
52 | 18 10 12 ar
53 | 19 11 13 1
54 | 20 11 20 2
55 | 21 12 14 2
56 | 22 13 14 1
57 | 23 13 16 2
58 | 24 14 22 1
59 | 25 21 23 1
60 | 26 23 24 1
61 | 27 23 25 1
62 | @SUBSTRUCTURE
63 | 1 MOL 1 TEMP 0 **** **** 0 ROOT
64 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/esp_to_data/H5C12SN2O5/tleap.in:
--------------------------------------------------------------------------------
1 | source leaprc.gaff
2 | MOL = loadmol2 /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/esp_to_data/H5C12SN2O5/H5C12SN2O5.mol2
3 | check MOL
4 | loadamberparams /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/esp_to_data/H5C12SN2O5/H5C12SN2O5.frcmod
5 | saveamberparm MOL /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/esp_to_data/H5C12SN2O5/H5C12SN2O5.prmtop /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/esp_to_data/H5C12SN2O5/H5C12SN2O5.inpcrd
6 | quit
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/esp_to_data/Na.pdb:
--------------------------------------------------------------------------------
1 | COMPND UNNAMED
2 | AUTHOR GENERATED BY OPEN BABEL 2.3.90
3 | HETATM 1 Na+ Na+ 1 -1.710 0.366 0.000 1.00 0.00 Na1+
4 | MASTER 0 0 0 0 0 0 0 0 1 0 1 0
5 | END
6 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/esp_to_data/SPC_E.pdb:
--------------------------------------------------------------------------------
1 | COMPND UNNAMED
2 | AUTHOR GENERATED BY OPEN BABEL 2.3.90
3 | HETATM 1 O HOH 1 -5.506 0.767 0.813 1.00 0.00 O
4 | HETATM 2 H HOH 0 -4.506 0.767 0.813 1.00 0.00 H
5 | HETATM 3 H HOH 0 -5.839 0.226 1.585 1.00 0.00 H
6 | CONECT 1 2 3
7 | CONECT 2 1
8 | CONECT 3 1
9 | MASTER 0 0 0 0 0 0 0 0 3 0 3 0
10 | END
11 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/leap.log:
--------------------------------------------------------------------------------
1 | log started: Fri Apr 17 12:42:35 2020
2 |
3 | Log file: ./leap.log
4 | >> #
5 | >> # ----- leaprc for loading the general Amber Force field.
6 | >> # This file is mostly for use with Antechamber
7 | >> #
8 | >> # load atom type hybridizations
9 | >> #
10 | >> addAtomTypes {
11 | >> { "h1" "H" "sp3" }
12 | >> { "h2" "H" "sp3" }
13 | >> { "h3" "H" "sp3" }
14 | >> { "h4" "H" "sp3" }
15 | >> { "h5" "H" "sp3" }
16 | >> { "ha" "H" "sp3" }
17 | >> { "hc" "H" "sp3" }
18 | >> { "hn" "H" "sp3" }
19 | >> { "ho" "H" "sp3" }
20 | >> { "hp" "H" "sp3" }
21 | >> { "hs" "H" "sp3" }
22 | >> { "hw" "H" "sp3" }
23 | >> { "hx" "H" "sp3" }
24 | >> { "o" "O" "sp2" }
25 | >> { "o2" "O" "sp2" }
26 | >> { "oh" "O" "sp3" }
27 | >> { "os" "O" "sp3" }
28 | >> { "ow" "O" "sp3" }
29 | >> { "c" "C" "sp2" }
30 | >> { "c1" "C" "sp2" }
31 | >> { "c2" "C" "sp2" }
32 | >> { "c3" "C" "sp3" }
33 | >> { "ca" "C" "sp2" }
34 | >> { "cc" "C" "sp2" }
35 | >> { "cd" "C" "sp2" }
36 | >> { "ce" "C" "sp2" }
37 | >> { "cf" "C" "sp2" }
38 | >> { "cg" "C" "sp2" }
39 | >> { "ch" "C" "sp2" }
40 | >> { "cp" "C" "sp2" }
41 | >> { "cq" "C" "sp2" }
42 | >> { "cu" "C" "sp2" }
43 | >> { "cv" "C" "sp2" }
44 | >> { "cx" "C" "sp2" }
45 | >> { "cy" "C" "sp2" }
46 | >> { "cz" "C" "sp2" }
47 | >> { "n" "N" "sp2" }
48 | >> { "n1" "N" "sp2" }
49 | >> { "n2" "N" "sp2" }
50 | >> { "n3" "N" "sp3" }
51 | >> { "n4" "N" "sp3" }
52 | >> { "na" "N" "sp2" }
53 | >> { "nb" "N" "sp2" }
54 | >> { "nc" "N" "sp2" }
55 | >> { "nd" "N" "sp2" }
56 | >> { "ne" "N" "sp2" }
57 | >> { "nf" "N" "sp2" }
58 | >> { "nh" "N" "sp2" }
59 | >> { "no" "N" "sp2" }
60 | >> { "s" "S" "sp2" }
61 | >> { "s2" "S" "sp2" }
62 | >> { "s3" "S" "sp3" }
63 | >> { "s4" "S" "sp3" }
64 | >> { "s6" "S" "sp3" }
65 | >> { "sh" "S" "sp3" }
66 | >> { "ss" "S" "sp3" }
67 | >> { "sx" "S" "sp3" }
68 | >> { "sy" "S" "sp3" }
69 | >> { "p2" "P" "sp2" }
70 | >> { "p3" "P" "sp3" }
71 | >> { "p4" "P" "sp3" }
72 | >> { "p5" "P" "sp3" }
73 | >> { "pb" "P" "sp3" }
74 | >> { "pc" "P" "sp3" }
75 | >> { "pd" "P" "sp3" }
76 | >> { "pe" "P" "sp3" }
77 | >> { "pf" "P" "sp3" }
78 | >> { "px" "P" "sp3" }
79 | >> { "py" "P" "sp3" }
80 | >> { "f" "F" "sp3" }
81 | >> { "cl" "Cl" "sp3" }
82 | >> { "br" "Br" "sp3" }
83 | >> { "i" "I" "sp3" }
84 | >> }
85 | >> #
86 | >> # Load the general force field parameter set.
87 | >> #
88 | >> gaff = loadamberparams gaff.dat
89 | Loading parameters: /Users/mbliss01/Documents/AMBERTOOLS/amber18/dat/leap/parm/gaff.dat
90 | Reading title:
91 | AMBER General Force Field for organic molecules (Version 1.81, May 2017)
92 | (UNKNOWN ATOM TYPE: op)
93 | (UNKNOWN ATOM TYPE: oq)
94 | (UNKNOWN ATOM TYPE: ni)
95 | (UNKNOWN ATOM TYPE: nj)
96 | (UNKNOWN ATOM TYPE: np)
97 | (UNKNOWN ATOM TYPE: nq)
98 | (UNKNOWN ATOM TYPE: nk)
99 | (UNKNOWN ATOM TYPE: nl)
100 | (UNKNOWN ATOM TYPE: nm)
101 | (UNKNOWN ATOM TYPE: nn)
102 | (UNKNOWN ATOM TYPE: sp)
103 | (UNKNOWN ATOM TYPE: sq)
104 | >
105 | > MOL = loadmol2 /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/dhps.mol2
106 | Loading Mol2 file: /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/dhps.mol2
107 | Reading MOLECULE named MOL
108 | > check MOL
109 | Checking 'MOL'....
110 |
111 | /Users/mbliss01/Documents/AMBERTOOLS/amber18/bin/teLeap: Warning!
112 | The unperturbed charge of the unit (-3.000000) is not zero.
113 | Checking parameters for unit 'MOL'.
114 | Checking for bond parameters.
115 | Checking for angle parameters.
116 | check: Warnings: 1
117 | Unit is OK.
118 | > loadamberparams /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/dhps.frcmod
119 | Loading parameters: /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/dhps.frcmod
120 | Reading force field modification type file (frcmod)
121 | Reading title:
122 | Remark line goes here
123 | > saveamberparm MOL dhps.prmtop dhps.inpcrd
124 | Checking Unit.
125 |
126 | /Users/mbliss01/Documents/AMBERTOOLS/amber18/bin/teLeap: Warning!
127 | The unperturbed charge of the unit (-3.000000) is not zero.
128 |
129 | /Users/mbliss01/Documents/AMBERTOOLS/amber18/bin/teLeap: Note.
130 | Ignoring the warning from Unit Checking.
131 |
132 | Building topology.
133 | Building atom parameters.
134 | Building bond parameters.
135 | Building angle parameters.
136 | Building proper torsion parameters.
137 | Building improper torsion parameters.
138 | total 12 improper torsions applied
139 | Building H-Bond parameters.
140 | Incorporating Non-Bonded adjustments.
141 | Not Marking per-residue atom chain types.
142 | Marking per-residue atom chain types.
143 | (Residues lacking connect0/connect1 -
144 | these don't have chain types marked:
145 |
146 | res total affected
147 |
148 | MOL 1
149 | )
150 | (no restraints)
151 | quit
152 | Quit
153 |
154 | Exiting LEaP: Errors = 0; Warnings = 2; Notes = 1.
155 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/liquid_workflow/Na.pdb:
--------------------------------------------------------------------------------
1 | COMPND UNNAMED
2 | AUTHOR GENERATED BY OPEN BABEL 2.3.90
3 | HETATM 1 Na+ Na+ 1 -1.710 0.366 0.000 1.00 0.00 Na1+
4 | MASTER 0 0 0 0 0 0 0 0 1 0 1 0
5 | END
6 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/liquid_workflow/SPC_E.pdb:
--------------------------------------------------------------------------------
1 | COMPND UNNAMED
2 | AUTHOR GENERATED BY OPEN BABEL 2.3.90
3 | HETATM 1 O HOH 1 -5.506 0.767 0.813 1.00 0.00 O
4 | HETATM 2 H HOH 0 -4.506 0.767 0.813 1.00 0.00 H
5 | HETATM 3 H HOH 0 -5.839 0.226 1.585 1.00 0.00 H
6 | CONECT 1 2 3
7 | CONECT 2 1
8 | CONECT 3 1
9 | MASTER 0 0 0 0 0 0 0 0 3 0 3 0
10 | END
11 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/parmchk/dhps.frcmod:
--------------------------------------------------------------------------------
1 | Remark line goes here
2 | MASS
3 |
4 | BOND
5 |
6 | ANGLE
7 |
8 | DIHE
9 | nb-ca-cc-c 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
10 | nb-ca-cc-ha 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
11 | ca-ca-cc-c 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
12 | ca-ca-cc-ha 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
13 |
14 | IMPROPER
15 | ca-ca-ca-ha 1.1 180.0 2.0 Using general improper torsional angle X- X-ca-ha, penalty score= 6.0)
16 | ca-ca-ca-nb 1.1 180.0 2.0 Using the default value
17 | ca-ca-ca-s6 1.1 180.0 2.0 Using the default value
18 | c -ca-cc-ha 1.1 180.0 2.0 Same as X -X -ca-ha, penalty score= 38.9 (use general term))
19 | ca-cc-ca-nb 1.1 180.0 2.0 Using the default value
20 | c -cc-c -o 10.5 180.0 2.0 Using general improper torsional angle X- X- c- o, penalty score= 6.0)
21 |
22 | NONBON
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/parmchk/dhps.mol2:
--------------------------------------------------------------------------------
1 | @MOLECULE
2 | MOL
3 | 25 27 1 0 0
4 | SMALL
5 | resp
6 |
7 |
8 | @ATOM
9 | 1 N1 0.8610 -1.1350 0.4480 nb 1 MOL -0.691321
10 | 2 N2 1.0390 1.6060 -0.2190 nb 1 MOL -0.739056
11 | 3 C1 -1.5330 -0.9960 0.2530 ca 1 MOL -0.225806
12 | 4 C2 -0.2570 -0.3950 0.1890 ca 1 MOL 0.306611
13 | 5 C3 -2.6820 -0.2820 0.0030 ca 1 MOL -0.087046
14 | 6 C4 -2.5820 1.0810 -0.3250 ca 1 MOL -0.258214
15 | 7 C5 -0.1610 0.9700 -0.1420 ca 1 MOL 0.266008
16 | 8 C6 -1.3530 1.6820 -0.3940 ca 1 MOL -0.246607
17 | 9 C7 3.2280 -1.2440 0.6350 cc 1 MOL -0.764873
18 | 10 C8 2.0290 -0.5420 0.3800 ca 1 MOL 0.385158
19 | 11 C9 4.5160 -0.6830 0.5830 c 1 MOL 0.528041
20 | 12 C10 2.1260 0.9070 0.0280 ca 1 MOL 0.585862
21 | 13 C11 4.6130 0.8160 0.2180 c 1 MOL 0.586716
22 | 14 C12 3.4030 1.4940 -0.0320 cc 1 MOL -0.868683
23 | 15 H1 -1.5920 -2.0360 0.5120 ha 1 MOL 0.142804
24 | 16 O1 5.7270 1.3460 0.1620 o 1 MOL -0.748639
25 | 17 H2 -3.4800 1.6450 -0.5100 ha 1 MOL 0.146559
26 | 18 H3 -1.2610 2.7280 -0.6410 ha 1 MOL 0.103736
27 | 19 H4 3.1450 -2.2890 0.8890 ha 1 MOL 0.162410
28 | 20 O2 5.5600 -1.3060 0.8080 o 1 MOL -0.751707
29 | 21 O3 -4.7680 -1.0880 -1.3380 o 1 MOL -0.714735
30 | 22 H5 3.4580 2.5400 -0.2870 ha 1 MOL 0.170582
31 | 23 S1 -4.3030 -1.0360 0.0470 s6 1 MOL 1.141670
32 | 24 O4 -4.1300 -2.3590 0.6370 o 1 MOL -0.714735
33 | 25 O5 -5.1270 -0.1480 0.8660 o 1 MOL -0.714735
34 | @BOND
35 | 1 1 4 ar
36 | 2 1 10 ar
37 | 3 2 7 ar
38 | 4 2 12 ar
39 | 5 3 4 ar
40 | 6 3 5 ar
41 | 7 3 15 1
42 | 8 4 7 ar
43 | 9 5 6 ar
44 | 10 5 23 1
45 | 11 6 8 ar
46 | 12 6 17 1
47 | 13 7 8 ar
48 | 14 8 18 1
49 | 15 9 10 2
50 | 16 9 11 1
51 | 17 9 19 1
52 | 18 10 12 ar
53 | 19 11 13 1
54 | 20 11 20 2
55 | 21 12 14 2
56 | 22 13 14 1
57 | 23 13 16 2
58 | 24 14 22 1
59 | 25 21 23 1
60 | 26 23 24 1
61 | 27 23 25 1
62 | @SUBSTRUCTURE
63 | 1 MOL 1 TEMP 0 **** **** 0 ROOT
64 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/prmtop/Na.pdb:
--------------------------------------------------------------------------------
1 | COMPND UNNAMED
2 | AUTHOR GENERATED BY OPEN BABEL 2.3.90
3 | HETATM 1 Na+ Na+ 1 -1.710 0.366 0.000 1.00 0.00 Na1+
4 | MASTER 0 0 0 0 0 0 0 0 1 0 1 0
5 | END
6 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/prmtop/SPC_E.pdb:
--------------------------------------------------------------------------------
1 | COMPND UNNAMED
2 | AUTHOR GENERATED BY OPEN BABEL 2.3.90
3 | HETATM 1 O HOH 1 -5.506 0.767 0.813 1.00 0.00 O
4 | HETATM 2 H HOH 0 -4.506 0.767 0.813 1.00 0.00 H
5 | HETATM 3 H HOH 0 -5.839 0.226 1.585 1.00 0.00 H
6 | CONECT 1 2 3
7 | CONECT 2 1
8 | CONECT 3 1
9 | MASTER 0 0 0 0 0 0 0 0 3 0 3 0
10 | END
11 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/run_lammps/test.lammpsin:
--------------------------------------------------------------------------------
1 | # Initialization
2 | units real
3 | boundary p p p
4 | atom_style full
5 | log log.lammps
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 0 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 1.0e-4
17 |
18 | read_restart $restart_file_name
19 |
20 |
21 | group li 11
22 | group tfsi 1 2 3 4 5 6
23 | group solv 7 8 9 10
24 | velocity all create 298.15 250 mom yes rot yes
25 | # fix 1 shake 0.0001 20 0
26 | fix 2 all npt temp 298.15 298.15 100.0 iso 1.0 1.0 1000.0
27 | thermo 1000
28 | thermo_style custom step temp press pe lx vol density
29 | timestep 1
30 | reset_timestep 0
31 | dump 1 all custom 50000 dump.npt.*.dump id type element mol x y z ix iy iz xu yu zu vx vy vz fx fy fz mass q
32 | # dump_modify 1
33 | restart 1000000 restart.npt.*.restart
34 | run 2000000
35 | # unfix 1
36 | unfix 2
37 | write_restart restart.npt.restart
38 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/run_lammps/test_npt.lammpsin:
--------------------------------------------------------------------------------
1 | # Initialization
2 | units real
3 | boundary p p p
4 | atom_style full
5 | log log.lammps
6 |
7 | # Force Fields
8 | neighbor 2.0 bin
9 | neigh_modify delay 0 every 1 check yes
10 | special_bonds amber
11 | bond_style harmonic
12 | angle_style harmonic
13 | dihedral_style harmonic
14 | improper_style cvff
15 | pair_style lj/cut/coul/long 10.0
16 | kspace_style pppm 1.0e-4
17 |
18 | read_restart $restart_file_name
19 |
20 |
21 | group li 11
22 | group tfsi 1 2 3 4 5 6
23 | group solv 7 8 9 10
24 | velocity all create 298.15 250 mom yes rot yes
25 | # fix 1 shake 0.0001 20 0
26 | fix 2 all npt temp 298.15 298.15 100.0 iso 1.0 1.0 1000.0
27 | thermo 1000
28 | thermo_style custom step temp press pe lx vol density
29 | timestep 1
30 | reset_timestep 0
31 | dump 1 all custom 50000 dump.npt.*.dump id type element mol x y z ix iy iz xu yu zu vx vy vz fx fy fz mass q
32 | # dump_modify 1
33 | restart 1000000 restart.npt.*.restart
34 | run 2000000
35 | # unfix 1
36 | unfix 2
37 | write_restart restart.npt.restart
38 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/tleap.in:
--------------------------------------------------------------------------------
1 | source leaprc.gaff
2 | MOL = loadmol2 /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/dhps.mol2
3 | check MOL
4 | loadamberparams /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/dhps.frcmod
5 | saveamberparm MOL /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/dhps.prmtop /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/dhps.inpcrd
6 | quit
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/tleap/dhps.frcmod:
--------------------------------------------------------------------------------
1 | Remark line goes here
2 | MASS
3 |
4 | BOND
5 |
6 | ANGLE
7 |
8 | DIHE
9 | nb-ca-cc-c 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
10 | nb-ca-cc-ha 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
11 | ca-ca-cc-c 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
12 | ca-ca-cc-ha 4 2.800 180.000 2.000 same as X -c2-ca-X , penalty score=232.0
13 |
14 | IMPROPER
15 | ca-ca-ca-ha 1.1 180.0 2.0 Using general improper torsional angle X- X-ca-ha, penalty score= 6.0)
16 | ca-ca-ca-nb 1.1 180.0 2.0 Using the default value
17 | ca-ca-ca-s6 1.1 180.0 2.0 Using the default value
18 | c -ca-cc-ha 1.1 180.0 2.0 Same as X -X -ca-ha, penalty score= 38.9 (use general term))
19 | ca-cc-ca-nb 1.1 180.0 2.0 Using the default value
20 | c -cc-c -o 10.5 180.0 2.0 Using general improper torsional angle X- X- c- o, penalty score= 6.0)
21 |
22 | NONBON
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/tleap/dhps.inpcrd:
--------------------------------------------------------------------------------
1 | MOL
2 | 25
3 | 0.8610000 -1.1350000 0.4480000 1.0390000 1.6060000 -0.2190000
4 | -1.5330000 -0.9960000 0.2530000 -0.2570000 -0.3950000 0.1890000
5 | -2.6820000 -0.2820000 0.0030000 -2.5820000 1.0810000 -0.3250000
6 | -0.1610000 0.9700000 -0.1420000 -1.3530000 1.6820000 -0.3940000
7 | 3.2280000 -1.2440000 0.6350000 2.0290000 -0.5420000 0.3800000
8 | 4.5160000 -0.6830000 0.5830000 2.1260000 0.9070000 0.0280000
9 | 4.6130000 0.8160000 0.2180000 3.4030000 1.4940000 -0.0320000
10 | -1.5920000 -2.0360000 0.5120000 5.7270000 1.3460000 0.1620000
11 | -3.4800000 1.6450000 -0.5100000 -1.2610000 2.7280000 -0.6410000
12 | 3.1450000 -2.2890000 0.8890000 5.5600000 -1.3060000 0.8080000
13 | -4.7680000 -1.0880000 -1.3380000 3.4580000 2.5400000 -0.2870000
14 | -4.3030000 -1.0360000 0.0470000 -4.1300000 -2.3590000 0.6370000
15 | -5.1270000 -0.1480000 0.8660000
16 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/tleap/dhps.mol2:
--------------------------------------------------------------------------------
1 | @MOLECULE
2 | MOL
3 | 25 27 1 0 0
4 | SMALL
5 | resp
6 |
7 |
8 | @ATOM
9 | 1 N1 0.8610 -1.1350 0.4480 nb 1 MOL -0.691321
10 | 2 N2 1.0390 1.6060 -0.2190 nb 1 MOL -0.739056
11 | 3 C1 -1.5330 -0.9960 0.2530 ca 1 MOL -0.225806
12 | 4 C2 -0.2570 -0.3950 0.1890 ca 1 MOL 0.306611
13 | 5 C3 -2.6820 -0.2820 0.0030 ca 1 MOL -0.087046
14 | 6 C4 -2.5820 1.0810 -0.3250 ca 1 MOL -0.258214
15 | 7 C5 -0.1610 0.9700 -0.1420 ca 1 MOL 0.266008
16 | 8 C6 -1.3530 1.6820 -0.3940 ca 1 MOL -0.246607
17 | 9 C7 3.2280 -1.2440 0.6350 cc 1 MOL -0.764873
18 | 10 C8 2.0290 -0.5420 0.3800 ca 1 MOL 0.385158
19 | 11 C9 4.5160 -0.6830 0.5830 c 1 MOL 0.528041
20 | 12 C10 2.1260 0.9070 0.0280 ca 1 MOL 0.585862
21 | 13 C11 4.6130 0.8160 0.2180 c 1 MOL 0.586716
22 | 14 C12 3.4030 1.4940 -0.0320 cc 1 MOL -0.868683
23 | 15 H1 -1.5920 -2.0360 0.5120 ha 1 MOL 0.142804
24 | 16 O1 5.7270 1.3460 0.1620 o 1 MOL -0.748639
25 | 17 H2 -3.4800 1.6450 -0.5100 ha 1 MOL 0.146559
26 | 18 H3 -1.2610 2.7280 -0.6410 ha 1 MOL 0.103736
27 | 19 H4 3.1450 -2.2890 0.8890 ha 1 MOL 0.162410
28 | 20 O2 5.5600 -1.3060 0.8080 o 1 MOL -0.751707
29 | 21 O3 -4.7680 -1.0880 -1.3380 o 1 MOL -0.714735
30 | 22 H5 3.4580 2.5400 -0.2870 ha 1 MOL 0.170582
31 | 23 S1 -4.3030 -1.0360 0.0470 s6 1 MOL 1.141670
32 | 24 O4 -4.1300 -2.3590 0.6370 o 1 MOL -0.714735
33 | 25 O5 -5.1270 -0.1480 0.8660 o 1 MOL -0.714735
34 | @BOND
35 | 1 1 4 ar
36 | 2 1 10 ar
37 | 3 2 7 ar
38 | 4 2 12 ar
39 | 5 3 4 ar
40 | 6 3 5 ar
41 | 7 3 15 1
42 | 8 4 7 ar
43 | 9 5 6 ar
44 | 10 5 23 1
45 | 11 6 8 ar
46 | 12 6 17 1
47 | 13 7 8 ar
48 | 14 8 18 1
49 | 15 9 10 2
50 | 16 9 11 1
51 | 17 9 19 1
52 | 18 10 12 ar
53 | 19 11 13 1
54 | 20 11 20 2
55 | 21 12 14 2
56 | 22 13 14 1
57 | 23 13 16 2
58 | 24 14 22 1
59 | 25 21 23 1
60 | 26 23 24 1
61 | 27 23 25 1
62 | @SUBSTRUCTURE
63 | 1 MOL 1 TEMP 0 **** **** 0 ROOT
64 |
--------------------------------------------------------------------------------
/mispr/lammps/tests/test_files/tleap/tleap.in:
--------------------------------------------------------------------------------
1 | source leaprc.gaff
2 | MOL = loadmol2 /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/tleap/dhps.mol2
3 | check MOL
4 | loadamberparams /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/tleap/dhps.frcmod
5 | saveamberparm MOL /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/tleap/dhps.prmtop /Users/mbliss01/Documents/GitHub/infrastructure/infrastructure/lammps/tests/test_files/tleap/dhps.inpcrd
6 | quit
--------------------------------------------------------------------------------
/mispr/lammps/tests/tleap.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | from fireworks import Firework, Workflow, LaunchPad
4 | from fireworks.core.rocket_launcher import rapidfire
5 |
6 | from mispr.lammps.firetasks.run import RunTleap
7 | from mispr.lammps.firetasks.write_inputs import WriteTleapScript
8 |
9 | if __name__ == "__main__":
10 |
11 | # set up the LaunchPad and reset it
12 | launchpad = LaunchPad()
13 | launchpad.reset("", require_password=False)
14 |
15 | working_dir = os.path.join(
16 | os.path.dirname(os.path.abspath(__file__)), "test_files", "tleap"
17 | )
18 | file_label = "dhps"
19 |
20 | tleap_settings = {
21 | "mol2_file_path": os.path.join(working_dir, f"{file_label}.mol2"),
22 | "frcmod_file_path": os.path.join(working_dir, f"{file_label}.frcmod"),
23 | "prmtop_file_path": os.path.join(working_dir, f"{file_label}.prmtop"),
24 | "inpcrd_file_path": os.path.join(working_dir, f"{file_label}.inpcrd"),
25 | }
26 |
27 | task1 = WriteTleapScript(working_dir=working_dir, tleap_settings=tleap_settings)
28 |
29 | task2 = RunTleap(working_dir=working_dir)
30 |
31 | # assemble FireWork from tasks and give the FireWork a unique id
32 | fire_work1 = Firework([task1, task2], name="RunTleap", fw_id=1)
33 |
34 | # assemble Workflow from FireWorks and their connections by id
35 | wf = Workflow([fire_work1])
36 |
37 | # store workflow and launch it
38 | launchpad.add_wf(wf)
39 | rapidfire(launchpad)
40 |
--------------------------------------------------------------------------------
/mispr/lammps/utilities/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/lammps/utilities/__init__.py
--------------------------------------------------------------------------------
/mispr/lammps/workflows/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/molmd/mispr/7194c76a09e0669dc228d2a442de19c16a259130/mispr/lammps/workflows/__init__.py
--------------------------------------------------------------------------------
/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["setuptools", "wheel"]
3 | build-backend = "setuptools.build_meta"
4 |
5 | [project]
6 | name = "mispr"
7 | authors = [
8 | {name = "Rasha Atwi", email = "rasha.atwi@stonybrook.edu"},
9 | {name = "Matthew Bliss", email = "matthew.bliss@stonybrook.edu"}
10 | ]
11 | maintainers = [
12 | {name = "Rasha Atwi", email = "rasha.atwi@stonybrook.edu"},
13 | {name = "Matthew Bliss", email = "matthew.bliss@stonybrook.edu"}
14 | ]
15 | dynamic = ["version"]
16 | description = "mispr contains FireWorks workflows for Materials Science"
17 | readme = "README.md"
18 | license = { text = "MIT" }
19 | keywords = ["dft", "md", "lammps", "gaussian", "high-throughput", "workflow", "materials science"]
20 | classifiers = [
21 | "Programming Language :: Python :: 3",
22 | "Programming Language :: Python :: 3.10",
23 | "Programming Language :: Python :: 3.11",
24 | "Programming Language :: Python :: 3.12",
25 | "Development Status :: 3 - Alpha",
26 | "Intended Audience :: Science/Research",
27 | "Intended Audience :: Information Technology",
28 | "Operating System :: OS Independent",
29 | "Topic :: Scientific/Engineering",
30 | ]
31 | requires-python = ">=3.10, <3.13"
32 | dependencies = [
33 | "numpy >= 1.21.1",
34 | "pymongo>=3.3.0,<=3.12.0",
35 | "matplotlib >= 3.3.1",
36 | "networkx >= 2.5",
37 | "FireWorks >= 2.0.3",
38 | "scipy >= 1.6.0",
39 | "pandas >= 1.1.2",
40 | "pubchempy",
41 | "parmed",
42 | "mdproptools>=0.0.6",
43 | "dnspython",
44 | "custodian==2024.10.16",
45 | "ruamel.yaml>=0.15.35,<=0.17.40", # should be removed in the future, but is needed since FireWorks has not updated their function calls to match newer versions of ruamel.yaml
46 | ]
47 |
48 | [project.optional-dependencies]
49 | dev = ["black>=23.3.0", "isort>=5.10.0"]
50 | chem = ["rdkit>=2023.9.1"]
51 | utils = ["bibtexparser>=1.4.0"]
52 |
53 | [tool.setuptools.package-data]
54 | "mispr.gaussian.data" = ["*.bib"]
55 | "mispr.lammps.data" = ["*.json"]
56 |
57 | [project.urls]
58 | repository = "https://github.com/molmd/mispr"
59 | documentation = "https://molmd.github.io/mispr/"
60 | changelog = "https://github.com/molmd/mispr/blob/master/CHANGELOG.md"
61 |
62 | [tool.setuptools]
63 | license-files = ["LICENSE"]
64 | include-package-data = true
65 |
66 | [tool.setuptools.dynamic]
67 | version = {attr = "mispr.__version__"}
68 |
69 | [tool.setuptools.packages.find]
70 | namespaces = false
71 |
72 | [tool.isort]
73 | profile = "black"
74 | multi_line_output = 3
75 | include_trailing_comma = true
76 | line_length = 88
77 | order_by_type = true
78 | length_sort = true
79 | lines_between_types = 1
80 | group_by_package = true
81 | force_alphabetical_sort_within_sections = true
82 | combine_straight_imports = false
83 | balanced_wrapping = true
84 | sections = ["FUTURE", "STDLIB", "THIRDPARTY", "OPENBABEL", "PYMATGEN", "FIREWORKS", "CUSTODIAN", "MDPROPTOOLS", "MISPR", "FIRSTPARTY", "LOCALFOLDER"]
85 | forced_separate = ["openbabel", "pymatgen", "fireworks", "custodian", "mdproptools", "mispr"]
86 | known_openbabel = ["openbabel"]
87 | known_pymatgen = ["pymatgen"]
88 | known_fireworks = ["fireworks"]
89 | known_custodian = ["custodian"]
90 | known_mdproptools = ["mdproptools"]
91 | known_mispr = ["mispr"]
92 |
93 | [tool.black]
94 | line-length = 88
95 |
--------------------------------------------------------------------------------