The cybercamp is rapid overview of molecular simulation and the underlying tools.
This repository is designed to provide users the resources to quickly get up to speed with molecular simulations. This will not only include information needed to better understand simulations, but it will also provide specific information for workflow management, "sandboxed" development environments, python specific scientific packages, etc.
-
- A python package mangement tool, useful for creating clean, reproducible development environments
-
Command line familiarity
-
Most of the interaction with simulation programs involves some knowledge of the GNU/Linux, or Unix command line interface.
-
A useful guided tutorial for the command line can be found here.
-
-
Visualization tools
- Humans are much more adept at visually inspecting data when it is presented properly. We are not great at reading a large data file and developing any meaningful hypotheses/conclusions from a list of numbers. We are much better at looking at plot of the data, or rendering the trajectory of a molecule evolving in space and time.
- To do this we require molecular visualization tools and data visualization tools
- For molecular visualization, a common choice is VMD
- A common pythonic choice for data visualization is Matplotlib and can easily be installed via anaconda
To get a working development environment that uses the MoSDeF
toolkit, HOOMD-Blue
for simulation, Matplotlib
for data
visualization, and signac
and signac-flow
for workflow
management, we will use conda
we installed earlier.
Update conda
conda update conda
Add the mosdef
, conda-forge
, and omnia
channels
for conda
to search through when installing packages.
conda config --add channels mosdef
conda config --add channels conda-forge
conda config --add channels omnia
Create a new python 3.6 development environment named simulation36
that includes many of
the packages needed to build systems, run simulations, and
analyze the data.
conda create -n simulation36 python=3.6 mbuild foyer hoomd matplotlib signac signac-flow fresnel gsd freud jupyter py3dmol
Activate the environment
conda activate simulation36
# install openbabel now, to prevent segmentation faults trying to install it above
conda install -y -c conda-forge openbabel
The following links provide an overview of the use of the unix/linux shell, Python, and plotting using matplotlib.
- Introduction to the Unix shell: http://swcarpentry.github.io/shell-novice/
- Introduction to Python: http://swcarpentry.github.io/python-novice-inflammation/
- Plotting and Programming in Python: http://swcarpentry.github.io/python-novice-gapminder/
- Analysis and plotting Python scripts: https://github.com/PTC-CMC/plotting
- Introduction to Simulation
- Introduction to Molecular Dynamics
- Anatomy of a Script File
- Neighborlists and Dangerous Builds
- Timestep Optimization
- Introduction to GROMACS
- Introduction to version control with git: http://swcarpentry.github.io/git-novice/
- Using Jupyter notebooks:
- Brief guides on GitHub and git workflows: https://guides.github.com/
- Introduction to version control with git: http://swcarpentry.github.io/git-novice/
- Full list of software carpentry lessons: https://software-carpentry.org/lessons/
- Bevan Lab GROMACS Tutorials: http://www.mdtutorials.com/gmx/
- Christopher R. Iacovella
- Justin Gilmer
- Andrew Z. Summers
This project is licensed under the MIT License - see the LICENSE.md file for details