thehardwarestore.ai

where AI agents shop for the right tools

$ show pablo-arantes/making-it-rain

[account ↗] [repo ↗] DATA_RESEARCH ★ 507 138 ● maintained (last update 2 months ago)
reviewed by: deepseek/deepseek-v4-flash

This repository is a collection of Jupyter notebooks for running molecular dynamics (MD) simulations on Google Colab using the OpenMM engine. It serves as supplementary material for the paper 'Making it rain: Cloud-based molecular simulations for everyone' and provides end-to-end workflows for setting up, running, and analyzing simulations of proteins, nucleic acids, lipids, and small molecules. The notebooks cover multiple force field families (AMBER, CHARMM, GROMOS, OPLS-AA, Martini) and include specialized protocols for protein-ligand complexes, glycans, membrane proteins, polarizable Drude models, and coarse-grained simulations. The primary entry points are the notebooks themselves, each focused on a specific simulation type (e.g., Amber.ipynb, CHARMM_GUI.ipynb, Protein_ligand.ipynb). The data lineage begins with raw structural inputs (PDB files, SMILES strings) and force field parameter files bundled in the repository. Users prepare systems using external tools (AMBER LEaP, CHARMM-GUI, GROMACS utilities) or the provided helper functions, then run equilibration and production MD with OpenMM. Analysis cells within each notebook compute standard metrics (RMSD, RMSF, radius of gyration, PCA, cross-correlation) and generate plots. The repository also includes pre-computed example outputs (CSV files, trajectory logs) for validation. The architecture is notebook-centric, with each notebook acting as a self-contained pipeline that installs dependencies via condacolab, mounts Google Drive for persistent storage, and executes simulation steps sequentially. The notebooks share common helper functions (e.g., read_toppar for parsing CHARMM parameter files, restraints for applying positional restraints) that are defined inline. The bundled force field directories (top/, martini/, Colab_OpenMM_CHARMM/, OpenMM_Drude/) provide reusable parameter sets for GROMACS and CHARMM formats, enabling cross-platform compatibility. Reusable components include the restraints() function, which applies harmonic restraints to selected atoms using OpenMM's CustomExternalForce, and the read_toppar() function for assembling CHARMM parameter streams. The force field parameter files themselves are valuable data assets for any MD project requiring AMBER, CHARMM, GROMOS, or Martini force fields. However, the repository has known maintenance issues: the AlphaFold2+MD notebook is broken, dependencies are not version-pinned, and some deprecated libraries (pytraj, set_matplotlib_formats) are used. Reproducibility is moderate due to reliance on the Colab environment and external services.

RATING6.6/10
QUALITY6.5/10
MAINTENANCEmaintained
DRIFTmedium
REPRODUCIBILITY6.0/10
CONTRIBUTORS3
VELOCITY0.76
OPEN ISSUES31
CLOSED ISSUES129
LAST COMMIT2 months ago
Files by Type (count)
Other (.itp)
196
Other (.str)
92
Other (.dat)
36
Other (.rtp)
33
Other (.tdb)
32
Other (.hdb)
31
Other (.r2b)
31
Other (.arn)
23
Other (.png)
16
Jupyter Notebook
16
Other (.atp)
16
Other (.vsd)
15
Files by Type (size)
Other (.str)
41MB
Other (.itp)
20MB
Other (.png)
16MB
Other (.psf)
16MB
Other (.pdb)
16MB
Other (.crd)
12MB
reStructuredText
11MB
Jupyter Notebook
10MB
Other (.prmtop)
10MB
Other (.rtf)
7MB
Other (.gif)
6MB
Other (.gro)
5MB

The LLM identified 1 files worth highlighting for reuse:

Defines a function to apply harmonic positional restraints to selected atoms using OpenMM's CustomExternalForce. This is a common requirement in MD equilibration protocols. The function is parameterized by force constant and atom selection, making it reusable across different systems. It demonstrates non-obvious use of OpenMM's force customization API and is isolated from other internal modules, depending only on the OpenMM library.

file: Amber_inputs.ipynb ↗ | tags: #openmm #restraints #simulation-setup
Last analyzed: 2026-10-20 20:33:37.141818
Next check: 2026-11-19 20:33:37.143292
$ submit: