- Overview
- Tutorials
- quickCSA
- Installation
- Download the package from GitHub
- Creating a python environment
- Developer install of pyQMMM
- Supporting installations
- What is included?
- File structure
- Command Line Interface
- Documentation
- Update the ReadTheDocs
- GitHub refresher
PyQMMM is a package for accelerating structure to simulation QM, MD, and QM/MM workflows. The package contains useful tools for all stages of multiscale simulation preparation. As the package is designed to accelerate research in the Kulik group at MIT, much of the functionality is built around the Amber-TeraChem interface. It's current purpose is to act as a utility sandbox for several in-house projects.
To improve the usuability of the pyQMMM package, this section will contain video-style tutorials. You can also find additional information and README's in the tutorials folder.
Install the package by running the follow commands inside the downloaded repository. This will perform a developmental version install. It is good practice to do this inside of a virtual environment.
git clone git@github.com:davidkastner/pyQMMM.git
All the dependencies can be loaded together using the prebuilt environment.yml file. Compatibility is automatically tested for python versions 3.8 and higher. Installing all dependencies together has shown to produce more robust installations.
cd pyQMMM
conda env create -f environment.yml
conda activate pyqmmm
source activate pyqmmm #Alternatively used on some clusters
cd pyqmmm
python -m pip install -e .
To have complete access to all pyQMMM functionality, you should also install following dependencies. This should be done inside you pyqmmm virtual environment. pyQMMM contains automated workflows for modelling in missing loops using Modeller.
conda install -c salilab modeller
pyQMMM is built as both a library and a collection of pre-built scripts. The scripts aim to accelerate data processesing and automation of calculations. If a script is not already included for procedure, many of the functions may be useful in building a procedure.
.
|── cli.py # Command-line interface entry point
├── docs # Readthedocs documentation site
├── pyqmmm # Directory containing pyQMMM modules
│ ├── md # Processes for setting MD optimizations prior to QM/MM
│ └── qm # Processes for running and anlayzing QM cluster model jobs
└── ...
The contents of the library are designed to be navigated through the commandline interface. Add the following line to your bash.rc
alias pyqmmm='python /the/path/to/pyQMMM/cli.py'
Accurate documentation will always be a high priority for the project. You can find documentation at the project's ReadtheDocs.
make clean
make html
git status
git pull
git add -A
git commit -m "Change a specific functionality"
git push -u origin main
git checkout main
git pull
# Before you begin making changes, create a new branch
git checkout -b new-feature-branch
git add -A
git commit -m "Detailed commit message describing the changes"
git push -u origin new-feature-branch
# Visit github.com to add description, submit, merge the pull request
# Once finished on github.com, return to local
git checkout main
git pull
# Delete the remote branch
git branch -d new-feature-branch
git stash push --include-untracked
git stash drop
git pull
© 2022, Kulik group at MIT
Author: David W. Kastner MolSSi template version 1.6.