Here we maintain an updateable catalog of open source molecular modeling software, initially taken from our paper.

Eventually we will deploy a less monolithic document with additional features (such as sorting and filtering), correct citations, and a better layout.

Please contribute edits by forking the repository and submitting a pull request.

Methods

For every identified software package, we report its primary URL and software license and assign it an activity code. For simplicity, BSD-like licenses (e.g. NCSA) are reported as BSD. Activity codes consist of a development activity level (alphabetical) and usage activity level (numerical). Activity codes were assigned as follows:

Development Activity

A
Substantial development (e.g. a new major release, the addition of new features, or substantial refinements of existing features) within the last 18 months. Note this includes all projects that were created in the last 18 months.

B
Evidence of some development within the last 18 months such as a minor release or bug fixes to a development branch.

C
No evidence of development (changes to the source code or documentation) within the last 18 months. Note that in cases where a package does not follow an open development model (i.e., source is only released with official releases) the estimate of development activity will be overly conservative.

Usage Activity

  1. Substantial user usage within the last 18 months (more than 20 downloads a month on average from SourceForge, more than 20 stars or forks on GitHub, more than 10 citations a year, and/or a clearly active user community as indicated by traffic on mailing lists or discussion boards).

  2. Moderate user usage within the last 18 months.

  3. Minimal or no identifiable user usage within the last 18 months (fewer than 50 downloads total on SourceForge, three or fewer stars and/or forks on GitHub, or fewer than one citation a year).

We omit some packages with extended periods of inactivity (e.g. more than 10 years) where there is little evidence of any usage or packages that are referenced in the literature but for which we could not find a extant source code repository. We also omit packages that provide common and/or trivial functionality (e.g. molecular weight calculators) and those that require non-open source packages in order to function.

Cheminformatics

Toolkits

Name URL License Activity Citation
BALL http://www.ball-project.org/ LGPL A2  
CDK https://sourceforge.net/projects/cdk LGPL A1  
Chem**f https://github.com/stefan-hoeck/chemf GPL C2  
chemfp http://chemfp.com MIT C3  
chemkit https://github.com/kylelutz/chemkit BSD B1  
ChemmineR https://www.bioconductor.org/packages/release/bioc/html/ChemmineR.html Artistic A1  
Cinfony https://github.com/cinfony/cinfony BSD/GPL B1  
CurlySMILES http://www.axeleratio.com/csm/proj/main.htm GPL C2  
DisCuS https://github.com/mwojcikowski/discus GPL B3  
Fafoom https://github.com/adrianasupady/fafoom LGPL A2  
fmcsR http://www.bioconductor.org/packages/fmcsR Artistic A1  
frowns http://frowns.sourceforge.net Python C2  
Helium http://www.moldb.net/helium.html BSD B2  
Indigo http://lifescience.opensource.epam.com/indigo GPL A1  
JoeLib http://sourceforge.net/projects/joelib GPL C1  
LICSS https://github.com/KevinLawson/excel-cdk GPL A2  
MayaChemTools http://www.mayachemtools.org LGPL A2  
Mychem http://mychem.sourceforge.net GPL B2  
ODDT https://github.com/oddt/oddt BSD A2  
Open Babel http://openbabel.org GPL A1  
OPSIN http://opsin.ch.cam.ac.uk Artistic A1  
OrChem http://orchem.sourceforge.net LGPL C2  
osra http://sourceforge.net/projects/osra GPL A1  
OUCH https://github.com/odj/Ouch GPL C2  
pybel http://openbabel.org/docs/dev/UseTheLibrary/Python_Pybel.html GPL A1  
rcdk https://cran.r-project.org/web/packages/rcdk LGPL B2  
RDKit http://www.rdkit.org BSD A1  
RInChI http://www-rinchi.ch.cam.ac.uk Apache A3  
rpubchem https://r-forge.r-project.org/projects/rpubchem GPL C3  
rubabel https://github.com/princelab/rubabel MIT C2  
SMSD http://www.ebi.ac.uk/thornton-srv/software/SMSD CCAL B2  
Som-itTM http://silicos-it.be LGPL C3  
webchem https://github.com/ropensci/webchem MIT A2  
MolGears https://github.com/admed/molgears BSD B3  
         

The Biochemical Algorithms Library (BALL) provides an object-oriented C++ library for structural bioinformatics, and its capabilities include molecular mechanics, support for reading and writing a variety of file formats, protein-ligand scoring, docking, and QSAR modeling.

The Chemistry Development Kit (CDK) is a cheminformatics toolkit written in Java. Its capabilities include support for reading and writing a variety of chemical formats, descriptor and fingerprint calculation, force field calculations, substructure search, and structure generation.

Chem**f is a minimal cheminformatics toolkit written in the functional language Scala.

chemfp is a high-performance library with a Python interface for generating and searching for molecular fingerprints.

chemkit is a C++ cheminformatics toolkit that includes support for visualization with the Qt framework and molecular modeling.

ChemmineR is a cheminformatics package for the R statistical programming language that is built using Open Babel. Its capabilities include property calculations, similarity search, and classification and clustering of compounds.

Cinfony provides a single, simple standardized interface to other cheminformatics toolkits, including Open Babel, RDKit, the CDK, Indigo, JChem, OPSIN, and several web services.

CurlySMILES provides parsing functionality for an extension of the SMILES format that supports the description of complex molecular systems.

DisCuS (Database System for Compound Selection) provides support for analyzing the results of a high-throughput screen.

Fafoom (flexible algorithm for optimization of molecules) is a Python library for identifying low energy conformers using a genetic algorithm.

fmcsR is an R package that efficiently performs flexible maximum common substructure matching that allows minor mismatches between atoms and bonds in the common substructure.

Frowns is a cheminformatics toolkit mostly written in Python that provides basic support for SMILES and SD files, SMARTS search, fingerprint generation, and property perception.

Helium is a cheminformatics toolkit written using modern C++ idioms that provides support for SMILES files, fingerprints generation, and SMARTS and SMIRKS.

Indigo is a cheminformatics toolkit written in C++ with C, Python, Java (including a KNIME node), and C# bindings. Its capabilities include general support for manipulating molecules, property calculation, combinatorial chemistry, scaffold detection and R-group decomposition, reaction processing, substructure matching and similarity search.

JOELib is a cheminformatics toolkit written in Java. Its capabilities include SMARTS substructure search, descriptor calculation, and processing/filtering pipes.

LICSS integrates with the CDK to provide representations and analysis of chemical data embedded within Microsoft Excel.

MayChemTools is a collection of Perl scripts for manipulating chemical data, interfacing with databases, generating fingerprints, performing similarity search, and computing molecular properties.

Mychem is built using OpenBabel and provides an extension to the MySQL database package that adds the ability to search, analyze, and convert chemical data within a MySQL database.

The Open Drug Discovery Toolkit (ODDT) is entirely written in Python, is built on top of RDKit and Open Babel, and is focused on providing enhanced functionality for managing and implementing drug discovery workflows, such as making it easy to implement a docking pipeline.

Open Babel is substantial cheminformatics toolkit written in C++ with Python, Perl, Java, Ruby, R, PHP, and Scala bindings. Its capabilities include support for more than 100 chemical file formats, fingerprint generation, property determination, similarity and substructure search, structure generation, and molecular force fields. It has absorbed the Confab conformer generator which produces 3D structures through the systematic enumeration of torsions and energy minimization.

OPSIN , the Open Parser for Systematic IUPAC nomenclature, converts plain-text chemical nomenclature to machine readable CML or InChi formats.

OrChem is built using the CDK and provides an extension to Oracle databases that adds the ability to incorporate and search chemical data.

OSRA provides optical structure recognition. It takes as input an image and generates a SMILES string.

Ouch (Ouch Uses Chemical Haskell) is a minimal cheminformatics toolkit written in the functional language Haskell.

Pybel provides the full functionality of Open Babel, but common routines are provided in a simplified, more ‘pythonic’ interface.

rcdk provides an R interface to the CDK and working with fingerprints.

RDKit is a substantial cheminformatics toolkit written in C++ with Python, Java and C# bindings. Its capabilities include file handling, manipulation of molecular data, chemical reactions, substantial support for fingerprinting, substructure and similarity search, 3D conformer generation, property determination, force field support, shape-based alignment and screening, and integration with PyMOL, KNIME, and PostgreSQL.

RInChI provides tools for creating and manipulating reaction InChIs, a unique string for describing a reaction.

rpubchem is an R package for interfacing with the PubChem database.

rubabel is similar to Pybel in that it provides a native Ruby interface to Open Babel.

The Small Molecule Subgraph Detector (SMSD) is a Java library for calculating the maximum common subgraph between small molecules.

Som-itTM is an R package for creating and visualizing self-organizing maps from large datasets.

webchem is an R package for interfacing with a dozen different on-line resources for chemical data.

Molgears is a database tool for storing chemical compounds, calculating descriptors, tracking synthesis, storing analytical and bioactivity data, managing samples library. Bioactivity is reported as IC50 results. Data can be filtered, analyzed and downloaded to various file formats.

Standalone Programs

Name URL License Activity Citation
cApp http://www.structuralchemistry.org/pcsb GPL A3  
checkmol/matchmol http://merian.pch.univie.ac.at/~nhaider/cheminf/cmmm.html GPL C3  
ConvertMAS http://sourceforge.net/projects/convertmas GPL A3  
Filter-itTM http://silicos-it.be LGPL C3  
Frog2 https://github.com/tuffery/Frog2 GPL B2  
LMR https://github.com/IanAWatson/Lilly-Medchem-Rules GPL B2  
Molpher https://www.assembla.com/spaces/molpher/wiki GPL C2  
MoSS http://www.borgelt.net/moss.html MIT A2  
OMG http://sourceforge.net/projects/openmg GPL C1  
sdf2xyz2sdf http://sdf2xyz2sdf.sourceforge.net GPL C2  
sdsorter https://sourceforge.net/projects/sdsorter GPL B3  
Shape http://sourceforge.net/projects/shapega GPL C3  
Strip-itTM http://silicos-it.be LGPL C3  

cApp is a Java application that provides tools for evaluating physico-chemical properties, performing similarity searches, and querying the PubChem database.

The utilities checkmol and matchmol decompose and compare functional groups of input molecules.

ConvertMAS is a utility for converting between formats and merging and splitting multi-molecule files.

Filter-itTM filters a set of molecules based on their properties such as physicochemical parameters and graph-based properties.

Frog2 uses a two stage Monte Carlo approach coupled with energy minimization to rapidly generate 3D conformers.

The Lilly MedChem Rules (LMR) apply filters to avoid reactive and promiscuous compounds.

Molpher generates a virtual chemical library that represents the chemical space between two input molecules as it consists of the path found by morphing one molecule to another.

MoSS (Molecular Subsstructure miner) finds common molecular substructures and discriminative fragments within a compound library.

The Open Molecule Generator (OMG) enumerates all possible chemical structures given constraints on their composition.

sdf2xyz2sdf converts between SDF and TINKER XYZ files.

sdsorter provides convenient routines for manipulating, sorting, and filtering the contents of sdf molecular data files based on the embedded sd data tags.

Shape employs a genetic algorithm to generate conformations of carbohydrates.

Strip-itTM is built using Open Babel and extracts molecular scaffolds.

Graphical Development Environments

Name URL License Activity Citation
AMBIT http://ambit.sourceforge.net GPL A1  
Bioclipse http://www.bioclipse.net Eclipse B1  
Galaxy Tool https://github.com/bgruening/galaxytools Academic A1  
KNIME https://www.knime.org GPL A1  
Orange orange.biolab.si BSD A1  
SA2 http://sa2.sourceforge.net GPL A1  
Taverna http://www.taverna.org.uk LGPL A1  
Weka https://sourceforge.net/projects/weka GPL A1  

Ambit integrates with the CDK to provide web-based applications for chemical search and analysis and includes a tautomer generation algorithm .

Bioclipse is a workbench, based on the Eclipse framework, for manipulating and analyzing biochemical data and databases. It integrates with the CDK and Jmol to provide cheminformatic functionality and also has modules for bioinformatics (primarly sequence analysis) and QSAR modeling.

Galaxy is a web platform for exploring biomedical data and includes as a component a Chemical Toolbox that integrates a number of other cheminformatics tools to offer an array of molecular search, property calculation, clustering, and manipulation capabilities.

The Konstanz Information Miner (KNIME) is a general workflow environment that includes a number of plugins for cheminformatics, such as CDK and RDKit modules, as well as bioinformatics and machine learning modules.

Orange is a graphical interface for construction interactive workflows and performing data analysis and visualization.

Screening Assistant 2 (SA2) is a GUI written in Java that integrates with other toolkits to help manage, analyze, and visualize libraries of compounds.

Taverna is a graphical workflow editor that includes support for integrating with web services and the CDK .

Weka is a platform for data mining and machine learning that can be adapted for cheminformatics.

Visualization

2D Desktop Applications (Table [2ddesktopviz])

Name URL License Activity Citation
BKchem http://bkchem.zirael.org GPL C3  
chemfig https://www.ctan.org/pkg/chemfig LaTeX A2  
Chemtool http://ruby.chemie.uni-freiburg.de/~martin/chemtool GPL B3  
JChemPaint http://jchempaint.github.io LGPL B1  
LeView http://www.pegase-biosciences.com/leview-ligand-environment-viewer GPL B3  
mol2chemfig http://chimpsky.uwaterloo.ca/mol2chemfig LaTeX C3  
Molsketch http://sourceforge.net/projects/molsketch GPL A1  
SketchEl http://sketchel.sourceforge.net GPL A1  

BKChem is a 2D molecular editor written in python that uses the Tk GUI toolkit.

chemfig is a tool for embedding chemical drawings in LaTeX documents.

Chemtool is a 2D molecular editor for Linux systems that uses the GTK toolkit.

JChemPaint is a Java-based 2D molecular editor built using the CDK toolkit.

LeView generates 2D representations of ligand-protein interactions that highlight features such as hydrogen bonds.

mol2chemfig converts SMILES files into LaTeX source code.

Molsketch is a 2D molecular editor written in C++ with the Qt toolkit that includes support for the Windows and Android operating systems.

SketchEl is a Java-based 2D molecular editor that includes support for a datasheet view for handling multi-molecule files.

3D Desktop Applications

Name URL License Activity Citation
Avogadro http://avogadro.cc GPL A1  
BALLView http://www.ball-project.org/ballview LPGL A2  
gMol https://github.com/tjod/gMol/wiki GPL A3  
Jamberoo https://sourceforge.net/projects/jbonzer LGPL A3  
LPMV https://sourceforge.net/projects/lpmolecularviewer LGPL B3  
Luscus https://sourceforge.net/projects/luscus Academic A1  
Molecular Rift https://github.com/Magnusnorrby/MolecularRift GPL A3  
OpenStructure http://www.openstructure.org LGPL A2  
PLIP https://github.com/ssalentin/plip Apache A2  
PyMOL https://sourceforge.net/projects/pymol Python A1  
RasTop https://sourceforge.net/projects/rastop GPL C1  
OpenRasMol https://sourceforge.net/projects/openrasmol GPL C1  
SPADE http://sites.google.com/view/spade BSD C3  
QuteMol http://qutemol.sourceforge.net GPL C1  

Avogadro is a 3D molecular viewer and editor with a modular plugin architecture with both Python and C++ bindings that includes interactive structure optimization for real-time editing.

BALLView provides interactive 3D visualizations as part of the BALL cheminformatics toolkit.

gMol provides basic interactive 3D visualizations of molecular data readable by Open Babel.

Jamberoo provides a basic Java-based 3D molecular viewer and editor.

LP Molecular Viewer is an ActiveX/ATL control for embedding interactive 3D representations of molecular data in Microsoft products.

Luscus is a 3D viewer and editor that is designed with a focus on electronic structure information.

Molecular Rift integrates with the Oculus Rift virtual reality headset to provide immersive visualization of 3D molecular data.

OpenStructure is a computational structural biology framework that provides a 3D viewer for manipulating structural information and includes an interactive Python shell.

PLIP (Protein-Ligand Interaction Profiler) runs as a web application and analyzes and visualizes protein-ligand interactions in 3D.

PyMOL is a substantial 3D molecular viewer that includes a full Python interface to support scripting and plugin development.

RasTop and OpenRasMol are based off the venerable RasMol software and provide basic 3D visualization.

SPADE (Structural Proteomics Application Development Environment) is a graphical Python interface for structural informatics.

QuteMol provides high-quality, visually engaging renderings of 3D molecular data.

Web-Based Visualization

Name URL License Activity Citation
3Dmol.js 3dmol.csb.pitt.edu BSD A1  
CH5M3D https://sourceforge.net/projects/ch5m3d GPL C1  
Chemozart https://chemozart.com Apache A1  
CWC https://web.chemdoodle.com GPL A1  
JSME http://peter-ertl.com/jsme BSD A1  
Jmol http://jmol.sourceforge.net LGPL A1  
JSmol https://sourceforge.net/projects/jsmol LGPL A1  
NGL http://proteinformatics.charite.de/ngl MIT A1  
PV https://biasmv.github.io/pv MIT A1  

3Dmol.js is a JavaScript library that provides WebGL-accelerated interactive 3D visualizations of molecular structures and surfaces.

CH5M3D uses JavaScript and HTML5 to provide visualization and editing of 3D structures of small molecules.

Chemozart is a WebGL-based web application for 3D editing of small molecules.

CWC (ChemDoodle Web Components) provides a suite of web-based visualizers and editors for 2D and 3D molecular data.

JSME is a pure JavaScript 2D molecular editor that can export and import SMILES data.

Jmol is a Java applet for interactive 3D visualization that provides significant cheminformatics support and a custom scripting language.

JSmol is the JavaScript port of Jmol and does not require the Java plugin to run.

NGL is a WebGL-accelerated viewer and JavaScript library for interactive 3D visualization of macromolecules.

PV (Protein Viewer) is a WebGL-accelerated viewer for interactive 3D visualization of macromolecules with a functional-style API.

QSAR/ADMET Modeling

Descriptor Calculators

Name URL License Activity Citation
4D-FAP http://www.ra.cs.uni-tuebingen.de/software/4DFAP LGPL C2  
BlueDesc http://www.ra.cs.uni-tuebingen.de/software/bluedesc GPL C3  
MolSig http://molsig.sourceforge.net GPL C2  
PaDEL-descriptor http://www.yapcwsoft.com/dd/padeldescriptor Public Domain C1  
TMACC http://comp.chem.nottingham.ac.uk/download/tmacc GPL C2  

4D Flexible Atom-Pair Kernel (4D FAP) computes a ‘4D’ similarity measure from the molecular graphs of an ensemble of conformations which can be incorporated into QSAR models.

The BlueDesc descriptor calculator is a command-line tool that converts an MDL SD file into ARFF and LIBSVM format using CDK and JOELib2 for machine learning and data mining purposes. It computes 174 descriptors taken from both libraries.

MolSig computes molecular graph descriptors that include stereochemistry information.

PaDEL-Descriptor calculates molecular descriptors and fingerprints. It computes 1875 descriptors (1444 1D, 2D descriptors and 431 3D descriptors) and 12 types of fingerprints.

Topological maximum cross correlation descriptors (TMACC) generates 2D autocorrelation descriptors that are low dimensional and interpretable and appropriate for QSAR modeling.

Model Building

Name URL License Activity Citation
AZOrange https://github.com/AZCompTox/AZOrange LGPL C2  
Bioalerts https://github.com/isidroc/bioalerts GPL A3  
camb https://github.com/cambDI GPL B2  
eTOXlab https://github.com/manuelpastor/eTOXlab GPL B3  
Open3DGRID http://open3dgrid.sourceforge.net GPL B1  
Open3DQSAR http://open3dqsar.sourceforge.net GPL B1  
QSAR-tools https://github.com/dkoes/qsar-tools BSD A3  

AZOrange is a machine learning package that supports QSAR model building in a full work flow from descriptor computation to automated model building, validation and selection. It promotes model accuracy by using several high performance machine learning algorithms for efficient data set specific selection of the statistical approach.

Bioalerts uses RDKit fingerprints to create models from discrete (e.g., toxic/non-toxic) and continuous data. It includes the capability to visualize problematic functional groups.

Chemistry aware model builder (camb) is an R package for the generation of quantitative models. Its capabilities include descriptor calculation (including 905 two-dimensional and 14 fingerprint type descriptors for small molecules, 13 whole protein sequence descriptors, and 8 types of amino acid descriptors), model generation, ensemble modeling, and visualization.

eTOXLab provides a portable modeling framework embedded in a self-contained virtual machine for easy deployment.

Open3DGrid and Open3DQSAR are a suite of related tools that build 3D QSAR models. Open3DGrid generates molecular interaction fields (MIFs) in a variety of formats, and Open3DQSAR builds predictive models from the MIFs of aligned molecules. Calculations can be visualized in real time in PyMOL.

QSAR-tools is a set of Python scripts that use RDKit to build linear QSAR models from 2D chemical data.

Model Application

Name URL License Activity Citation
SMARTCyp http://www.farma.ku.dk/smartcyp LGPL C1  
Toxtree http://toxtree.sourceforge.net GPL A1  
UG-RNN http://cdb.ics.uci.edu/cgibin/tools/AquaSolWeb.py Apache C1  

SMARTCyp is a QSAR model that predicts the sites of cytochrome P450-mediated metabolism of drug-like molecules directly from the 2D structure of a molecule using fragment-based energy rules.

Toxtree is a Java GUI application for estimating the “toxic hazard” of molecules using a variety of toxicity prediction modules, such as oral toxicity, skin and eye irritation prediction, covalent protein binding and DNA binding, Cytochrome P450-mediated drug metabolism (using SMARTCyp) and more.

UG-RNN/AquaSol is an undirected graph recursive neural network that has been trained to predict aqueous solubility from molecular graphs.

Visualization

Name URL License Activity Citation
CheS-Mapper http://ches-mapper.org GPL A2  
DataWarrior http://www.openmolecules.org/datawarrior GPL A1  
DecoyFinder http://urvnutrigenomica-ctns.github.io/DecoyFinder GPL A1  
Scaffold Hunter http://scaffoldhunter.sf.net GPL A1  
Synergy Maps https://github.com/richlewis42/synergy-maps MIT A2  
VIDEAN https://github.com/jimenamartinez/VIDEAN BSD A3  
WCSE http://www.cheminfo.org/wikipedia BSD A2  
WebChemViewer http://sourceforge.net/projects/webchemviewer BSD C3  

CheS-Mapper (chemical space mapper) . is a 3D-viewer for small compounds in chemical datasets. It embeds a dataset into 3D space by performing dimensionality reduction on the properties of the compounds.

DataWarrior is a data visualization and analysis tool for chemical data with a rich set of available property calculations, similarity metrics, modeling capabilities, and data set representations.

DecoyFinder provides a GUI for selecting a set of decoy compounds from a large library that are appropriate matches to a given set of actives.

Scaffold Hunter provides a Java-based GUI for visualizing the relationship between compounds in a dataset.

Synergy Maps visualizes synergistic activity extracted from screens of drug combinations.

VIDEAN (visual and interactive descriptor analysis) is a visual tool for iteratively choosing a subset of descriptors appropriate for predicting a target property with the aid of statistical methods.

WCSE (Wikipedia chemical structure explorer) runs as a web application and provides a 2D interface for visualizing and searching for 2D molecules.

WebChemViewer is an online viewer for viewing and interacting with lists of compounds and their associated data.

Quantum Chemistry

Ab initio Calcuation

Name URL License Activity Citation
ABINIT http://www.abinit.org GPL A1  
ACES http://www.qtp.ufl.edu/aces GPL A1  
BigDFT http://bigdft.org GPL A1  
CP2K http://www.cp2k.org GPL A1  
DACAPO https://wiki.fysik.dtu.dk/dacapo GPL C1  
ErgoSCF http://www.ergoscf.org GPL C2  
ERKALE https://github.com/susilehtola/erkale GPL B2  
GPAW https://wiki.fysik.dtu.dk/gpaw GPL A1  
HORTON http://theochem.github.io/horton GPL A1  
JANPA http://janpa.sourceforge.net BSD A1  
MPQC http://www.mpqc.org LGPL B1  
NWChem http://www.nwchem-sw.org ECL A1  
Octopus http://www.tddft.org/programs/octopus GPL A1  
OpenMX http://www.openmx-square.org GPL A1  
Psi4 http://www.psicode.org GPL A1  
pyquante http://sourceforge.net/projects/pyquante BSD A1  
PySCF https://github.com/sunqm/pyscf BSD A1  
QMCPACK http://qmcpack.org BSD A2  
Quantum espresso http://www.quantum-espresso.org GPL A1  
RMG http://rmgdft.sourceforge.net BSD/GPL A1  
Siam Quantum https://sites.google.com/site/siamquantum GPL A2  

ABINIT can calculate the total energy, charge density and electronic structure of molecules and periodic solids with density functional theory (DFT) and Many-Body Perturbation Theory (MBPT), using pseudopotentials and a planewave or wavelet basis. ABINIT also can optimize the geometry, perform molecular dynamics simulations, or generate dynamical matrices, Born effective charges, and dielectric tensors and many more properties.

ACES performs calculations such as single point energy calculations, analytical gradients, and analytical Hessians, and is highly parallelized, including support for GPU computing. A focus of ACES is the use of MBPT and the coupled-cluster approximation to reliable treat electron correlation.

BigDFT performs ab initio calculations using Daubechies wavelets and has the capability to use a linear scaling method. Periodic systems, surfaces and isolated systems can be simulated with the proper boundary conditions. It is included as part of ABINIT.

CP2K performs simulations of solid state, liquid, molecular and biological systems. Its particular focus is massively parallel and linear scaling electronic structure methods and state-of-the-art ab-initio molecular dynamics (AIMD) simulations. It is optimized for the mixed Gaussian and Plane-Waves method using pseudopotentials and can run on parallel and on GPUs.

Dacapo is a total energy program that uses density functional theory. It can do molecular dynamics/structural relaxation while solving the Schrödinger equations. It has support for parallel execution and is used through the Atomic Simulation Environment (ASE)

ErgoSCM is a quantum chemistry program for large-scale self-consistent field calculations. It performs electronic structure calculations using Hartree-Fock and Kohn-Sham density functional theory and achieves linear scaling for both CPU usage and memory utilization.

ERKALE is designed to compute X-ray properties, such as ground-state electron momentum densities and Compton profiles, and core (x-ray absorption and x-ray Raman scattering) and valence electron excitation spectra of atoms and molecules.

GPAW is a DFT code that uses the projector-augmented wave (PAW) technique and integrates with the atomic simulation environment (ASE) .

HORTON (Helpful Open-source Research TOol for N-fermion systems) has as a primary design goal ease of extensibility for researching new methods in ab initio electronic structure theory.

JANPA computes natural atomic orbitals from a reduced one-particle density matrix.

MPQC (massively parallel quantum chemistry program) offers many features including closed shell, unrestricted and general restricted open shell Hartree-Fock energies and gradients, closed shell, unrestricted and general restricted open shell density functional theory energies and gradients, second order open shell perturbation theory and Z-averaged perturbation theory energies.

NWChem provides a full suite of methods for modeling both classical and QM systems. Its capabilities include molecular electronic structure, QM/MM, pseudopotential plane-wave electronic structure, and molecular dynamics and is designed to scale across hundreds of processors.

Octopus pervorms ab initio calculations using time-dependent DFT (TDDFT) and pseudopotentials. Included in the project is libxc which is a standalone library of exchange-correlation functionals for DFT (released under the LGPL).

OpenMX (Open source package for material eXplorer) is designed for nano-scale material simulations based on DFT, norm-conserving pseudopotentials, and pseudo-atomic localized basis functions. OpenMX is capable of performing calculations of physical properties such as magnetic, dielectric, and electric transport properties and is optimized for large-scale parallelism.

Psi4 is a suite of ab initio quantum chemistry programs that supports a wide range of computations (e.g., Hartree–Fock, MP2, coupled-cluster) and general procedures such as geometry optimization and vibrational frequency analysis with more than 2500 basis functions.

PyQuante is a collection of modules, mostly written in Python, for performing Hartree-Fock and DFT calculations with a focus on providing a well-engineered set of tools. A new version is under development (https://github.com/rpmuller/pyquante2).

PySCF is also written primarily in Python and supports several popular methods such as Hartree-Fock, DFT, and MP2. It also has easy of use and extension as primary design goals.

QMCPACK is a many-body ab initio quantum Monte Carlo implementation for computing electronic structure properties of molecular, quasi-2D and solid-state systems. The standard file formats utilized for input and output are in XML and HDF5.

QUANTUM ESPRESSO is designed for modeling at the nanoscale using DFT, plane waves, and pseudopotentials and its capabilities include ground-state calculations, structural optimization, transition states and minimum energy paths, ab initio molecular dynamics, DFT perturbation theory, spectroscopic properties, and quantum transport.

RMG is a DFT code that uses real space grids to provide high scalability across thousands of processors and GPU acceleration for both structural relaxation and molecular dynamics.

Siam Quantum (SQ) is optimized for parallel computation and its capabilities include the calculation of Hartree-Fock and MP2 energies, minimum energy crossing point calculations, geometry optimization, population analysis, and quantum molecular dynamics. DFT is available with various functionals such as the Dirac exchange, the VWN correlation, and the simplest yet accurate electron correlation energy, the so-called “Chachiyo’s formula”.

Helper Applications

Name URL License Activity Citation
FragIt https://github.com/FragIt GPL A2  
cclib https://github.com/cclib/cclib LGPL A1  
GaussSum http://sourceforge.net/projects/gausssum GPL A1  
Geac https://github.com/LaTruelle/Geac GPL A3  
Nancy_EX http://sourceforge.net/projects/nancyex GPL A2  
orbkit http://orbkit.sourceforge.net GPL A2  

FragIt generates fragments of large molecules to use as input files in quantum chemistry programs that support fragment based methods.

cclib provides a consistent interface for parsing and interpreting the results of a number of quantum chemistry packages.

GaussSum uses cclib to extract useful information from the results of quantum chemistry programs (ADF, GAMESS, Gaussian, Jaguar) including monitoring the progress of geometry optimization, the UV/IR/Raman spectra, molecular orbital (MO) levels and MO contributions.

Geac (Gaussian ESI Automated Creator) extracts data from Gaussian log files.

Nancy_EX post-processes Gaussian output and analyzes excited states including natural transition orbitals, detachment and attachment density matrices, and charge-transfer descriptors.

orbkit is a post-processing tool for the results of quantum chemistry programs. It has native support for a number of programs (MOLPRO, TURBOMOLE, GAMESS-US, PROAIMS/AIMPAC, Gaussian) and additionally interfaces with cclib for additional file format support. It can extract grid-based quantities such as molecular orbitals and electron density, as well as Muliken population charges and other properties.

Visualization

Name URL License Activity Citation
CCP1GUI http://www.scd.stfc.ac.uk/research/app/40501.aspx GPL C3  
ccwatcher http://sourceforge.net/projects/ccwatcher GPL B2  
Gabedit http://gabedit.sourceforge.net BSD C1  
J-ICE http://j-ice.sourceforge.net GPL A1  
QMForge http://qmforge.sourceforge.net GPL A1  
wxMacMolPlt http://brettbode.github.io/wxmacmolplt GPL A1  

CCP1GUI provides a graphical user interface to various computational chemistry codes with an emphasis on integration with the GAMESS-UK quantum chemistry program.

ccwatcher provides a graphical interface for the monitoring of computational chemistry programs.

Gabedit is a graphical user interface to a large number of quantum chemistry packages. It can create input files and graphically visualize calculation results.

J-ICE is a Jmol-based viewer for crystallographic and electronic properties that can be deployed as a Java applet embedded in a web browser.

QMForge provides a graphical user interface for analyzing and visualizing results of quantum chemistry DFT calculations (Gaussian, ADF, GAMESS, Jaguar, NWChem, ORCA, QChem). Analyses include a number of population analyses, Mayer’s bond order, charge decomposition, and fragment analysis.

wxMacMolPlt is a multi-platform GUI for setting up and visualizing input and output files for the GAMESS quantum chemistry software.

Ligand Dynamics and Free Energy Calculations

Simulation Software

Name URL License Activity Citation
Campari http://campari.sourceforge.net GPL B1  
DL_POLY Classic http://www.ccp5.ac.uk/DL_POLY_CLASSIC/ BSD C3  
GALAMOST http://galamost.ciac.jl.cn GPL A2  
Gromacs http://www.gromacs.org LGPL A1  
Iphigenie https://sourceforge.net/projects/iphigenie GPL A2  
LAMMPS http://lammps.sandia.gov GPL A1  
MDynaMix http://www.fos.su.se/~sasha/mdynamix GPL A1  
MMTK http://dirac.cnrs-orleans.fr/MMTK CeCILL C1  
OpenMM https://simtk.org/home/openmm GPL/MIT A1  
ProtoMol http://protomol.sourceforge.net GPL C1  
ProtoMS http://www.essexgroup.soton.ac.uk/ProtoMS GPL A2  
Sire http://siremol.org GPL C2  
WESTPA https://westpa.github.io/westpa GPL A2  
yank http://getyank.org LGPL A2  

Campari conducts flexible Monte Carlo sampling of biopolymers in internal coordinate space, with built-in analysis routines to estimate structural properties and support for replica exchange and Wang-Landau sampling.

DL_POLY Classic is a general purpose molecular dynamics simulation package that can run in parallel and includes a Java graphical user interface.

GALAMOST (GPU accelerated large-scale molecular simulation toolkit) uses GPU computing to perform traditional molecular dynamics with a special focus on polymeric systems at mesoscopic scales.

Gromacs is a complete and well-established package for molecular dynamics simulations that provides high performance on both CPUs and GPUs. It can be used for free energy and QM/MM calculations and includes a comprehensive set of analysis tools.

Iphigenie is a molecular mechanics program that features polarizable force fields, the HADES reaction field, and QM/(P)MM hybrid simulations.

LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) is a highly modular classical molecular dynamics simulator that includes a diverse array of energy potentials and integrators.

MDynaMix is a basic general purpose molecular dynamics package.

MMTK (Molecular Modelling Toolkit) is a library written in Python (with some time critical parts written in C) for constructing and simulating molecular systems. Its capabilities include molecular dynamics, energy minimization, and normal mode analysis and it is well-suited for methods development.

OpenMM is a substantial toolkit for high performance molecular dynamics simulations that includes support for GPU acceleration.

ProtoMol , and the associated MDLab Python bindings , provides an object-oriented framework for prototyping algorithms for molecular dynamics simulations and includes an interface to OpenMM.

ProtoMS is a Monte Carlo biomolecular simulation program which can be used to calculate relative and absolute free energies and water placement with the GCMC and JAWS methodologies.

Sire is a collection of modular libraries intended to facilitate fast prototyping and the development of new algorithms for molecular simulation and molecular design. It has apps for system setup, simulation, and analysis.

WESTPA (The Weighted Ensemble Simulation Toolkit with Parallelization and Analysis) is a library for performing weighted ensemble simulations to sample rare events and compute rigorous kinetics.

yank is built off of OpenMM and provides a Python interface for performing alchemical free energy calculations.

Simulation Setup and Analysis

Name URL License Activity Citation
AmberTools http://ambermd.org GPL A1  
LOOS http://grossfieldlab.github.io/loos/ GPL A1  
lsfitpar http://mackerell.umaryland.edu/~kenno/lsfitpar GPL A2  
MDAnalysis http://mdanalysis.org GPL A1  
MDTraj mdtraj.org LGPL A1  
MEMBPLUGIN https://sourceforge.net/projects/membplugin GPL C1  
MEPSA http://bioweb.cbm.uam.es/software/MEPSA GPL A3  
MSMBuilder http://msmbuilder.org LGPL A1  
packmol http://www.ime.unicamp.br/~martinez/packmol GPL A1  
PDB2PQR http://www.poissonboltzmann.org BSD A1  
PLUMED http://www.plumed.org LGPL A1  
ProDy http://prody.csb.pitt.edu MIT A1  
Pteros http://pteros.sourceforge.net Artistic B2  
PyEMMA http://www.emma-project.org LGPL A1  
PyRED http://upjv.q4md-forcefieldtools.org GPL C1  
PYTRAJ https://github.com/Amber-MD/pytraj GPL A1  
simpletraj https://github.com/arose/simpletraj GPL A2  
WHAM http://membrane.urmc.rochester.edu/content/wham BSD C1  

AmberTools is an open source component of the non-open source Amber package and provides a large suite of analysis programs. As of Amber15, AmberTools includes the lower performance, but readily extendable, sander molecular dynamics code.

LOOS (Lightweight Object-Oriented Structure library) is a C++ library (with Python bindings) for reading and analyzing molecular dynamics trajectories that also includes a number of standalone programs.

lsfitpar derives bonded parameters for Class I force fields by performing a robust fit to potential energy scans provided by the user.

MDAnalysis is a Python library for reading and analyzing molecular dynamics simulations with some time critical sections written in C.

MDTraj provides high-performance reading, writing, and analysis of molecular dynamics trajectories in a diversity of formats from a Python interface.

MEMBPLUGIN analyzes molecular dynamics simulations of lipid bilayers and is most commonly used as a VMD plugin.

MEPSA (Minimum Energy Pathway Analysis) provides tools for analyzing energy landscapes and pathways.

MSMBuilder is an application and Python library for building Markov models of high-dimensional trajectory data.

packmol is a utility for setting molecular systems by realistically packing molecules to obey a variety of constraints and can create solvent mixtures and lipid bilayers.

PDB2PQR prepares structures for electrostatics calculations by adding hydrogens, calculating sidechain pKa, adding missing heavy atoms, and assigning force field-dependent parameters; users can specify an ambient pH.

PLUMED interfaces with an assortment of molecular dynamics software packages to provide a unified interface for performing free energy calculations using methods such as metadynamics, umbrella sampling and steered MD (Jarzynski).

ProDy is a Python toolkit for analyzing proteins and includes facilities for trajectory analysis and druggability predictions using simulations of molecular probes .

Pteros is a C++ library (with Python bindings) for reading and analyzing molecular dynamics trajectories.

PyEMMA is a Python library for performing kinetic and thermodynamic analyses of molecular dynamics simulations using Markov models.

PyRED generates RESP and ESP charges for the AMBER, CHARMM, OPLS, and Glycam and force fields.

PYTRAJ is a Python interface to the cpptraj tool of AmberTools.

simpletraj is a lightweight Python library for parsing molecular dynamics trajectories.

WHAM (Weighted Histogram Analysis Method) calculates the potential of mean force (PMF) from umbrella sampling simulations.

Virtual Screening and Ligand Design

Ligand-Based

Name URL License Activity Citation
ACPC https://github.com/UnixJunkie/ACPC BSD B2  
Align-it http://silicos-it.be LGPL C3  
Open3DALIGN http://open3dalign.sourceforge.net GPL B2  
PAPER https://simtk.org/home/paper GPL C2  
Pharmer http://pharmer.sf.net GPL B1  
Pharmit http://pharmit.sf.net GPL A3  
Shape-it http://silicos-it.be LGPL C3  
USRCAT https://bitbucket.org/aschreyer/usrcat MIT C2  

ACPC (AutoCorrelation of Partial Charges) computes ligand similarity based on a rotation and translation invariant electrostatic descriptor.

Align-itTM is a successor of Pharao and aligns and scores 3D representations of molecules based on their pharmacophore features. It includes a plugin for integration with PyMOL.

Open3DALIGN performs unsupervised rigid-body molecular alignment.

PAPER performs GPU accelerated alignment of molecular shapes using Gaussian overlays.

Pharmer uses efficient data structures to rapidly screen large libraries for ligand conformations that match a pharmacophore.

Pharmit is a successor of Pharmer that also incorporates shape matching and energy minimization (if a receptor structure is available) as part of the screen. It is primarily intended to be used as a backend to a web service.

Shape-itTM uses Gaussian volumes to align and score molecular shapes.

USRCAT performs “ultra-fast shape recognition” with the addition of pharmacophoric information to rapidly screen compound libraries for similar molecules.

Docking and Scoring

Name URL License Activity Citation
ADplugin https://github.com/ADplugin LGPL A2  
APBS http://www.poissonboltzmann.org BSD A1  
AutoDock http://autodock.scripps.edu GPL C1  
AutoDock Vina http://vina.scripps.edu Apache C1  
Clusterizer-DockAccessor http://cheminf.com/software/clusterizer_dockaccessor GPL A3  
DockoMatic https://sourceforge.net/projects/dockomatic LGPL B1  
DOVIS http://bhsai.org/software GPL C2  
idock https://github.com/HongjianLi/idock Apache A2  
MOLA http://www.esa.ipb.pt/~ruiabreu/mola GPL C2  
NNScore http://nbcr.ucsd.edu/data/sw/hosted/nnscore GPL C1  
Paradocks https://github.com/cbaldauf/paradocks GPL A2  
PyRx http://pyrx.sourceforge.net BSD A1  
rDock http://rdock.sourceforge.net LGPL C1  
RF-Score https://github.com/HongjianLi/RF-Score Apache A2  
SEED https://gitlab.com/CaflischLab/SEED GPL A1  
smina https://sourceforge.net/projects/smina GPL A1  
VHELIBS http://urvnutrigenomica-ctns.github.io/VHELIBS GPL A2  
VinaLC http://mvirdb1.llnl.gov/static_catsid/vina Apache C2  
VinaMPI http://cmb.ornl.gov/~sek Apache C2  
Zodiac https://sourceforge.net/projects/zodiac-zeden GPL C1  

ADplugin is a plugin for PyMOL for interfacing with AutoDock and AutoDock Vina.

APBS performs solvation free energy calculations using the Poisson-Boltzmann implicit solvent method.

AutoDock is an automated docking program that uses a physics-based semiempirical scoring function mapped to atom type grids to evaluate poses and a genetic algorithm to explore the conformational space. It includes the ability to incorporate sidechain flexibility and covalent docking.

AutoDock Vina is an entirely separate code base and approach from Autodock that was developed with a focus on runtime performance and ease of system setup. It uses a fully empirical scoring function and an iterated local search global optimizer to produce docked poses. It includes support for multi-threading and flexible sidechains.

Clusterizer-DockAccessor are tools for accessing the quality of docking protocols. It interfaces with a number of open source and free tools.

DockoMatic provides a graphical user interface for setting up and analyzing AutoDock and AutoDock Vina docking jobs, including when run on a cluster. It also includes the ability to run inverse virtual screens (find proteins that bind a given ligand) and support for homology model construction.

DOVIS is an extension of AutoDock 4.0 that provides more efficient parallelization of large virtual screening jobs.

idock is a multi-threaded docking program that includes support for the AutoDock Vina scoring function and a random forest scoring function. I can output per-atom free energy information for hotspot detection.

MOLA is a pre-packaged distribution of AutoDock and AutoDock Vina for deployment on multi-platform computing clusters.

NNScore uses a neural network model to score protein-ligand poses.

Paradocks is a parallelized docking program that includes a number of population-based metaheuristics, such as particle swarm optimization, for exploring the space of potential poses.

PyRx is a visual interface for AutoDock and AutoDock Vina that simplifies setting up and analyzing docking workflows. Its future as an open-source solution is in doubt due to a recent shift to commercialization.

rDock is designed for docking against proteins or nucleic acids and can incorporate user-specified constraints. It uses an empirical scoring function that includes solvent accessible surface area terms. A combination of genetic algorithms, Monte Carlo, and simplex minimization is used to explore the conformational space. Distinct scoring functions are provided for docking to proteins and nucleic acids.

RF-Score uses a random forest classifier to score protein-ligand poses.

SEED is a docking software specialized in fragment docking. The search algorithm is exhaustive (around user-defined binding pocket residues), the scoring function is based on a force field with implicit solvent (CHARMM + CGenFF + generalized Born-type implicit solvent)

smina is a fork of AutoDock Vina designed to better support energy minimization and custom scoring function development (scoring function terms and atom type properties can be specified using a run-time configuration file). It also simplifies the process of setting up a docking run with flexible sidechains.

VHELIBS (Validation HElper for LIgands and Binding Sites) assists the non-crystallographer in validating ligand geometries with respect to electron density maps.

VinaLC is a fork of AutoDock Vina designed to run on a cluster of multiprocessor machines.

VinaMPI is a wrapper for AutoDock Vina that uses OpenMPI to run large-scale virtual screens on a computing cluster.

Zodiac is a visual interface for structure-based drug design that includes support for haptic feedback.

Pocket Detection

Name URL License Activity Citation
eFindSite http://brylinski.cct.lsu.edu/efindsite GPL C2  
fpocket http://fpocket.sourceforge.net GPL C1  
KVFinder http://lnbio.cnpem.br/facilities/bioinformatics/software-2 GPL B1  
mcvol http://www.bisb.uni-bayreuth.de/data/mcvol/mcvol.html GPL C2  
PAPCA https://sourceforge.net/projects/papca BSD C2  
PCS https://sourceforge.net/projects/cavity-search GPL C2  
PocketPicker http://gecco.org.chemie.uni-frankfurt.de/pocketpicker BSD C1  
POVME https://sourceforge.net/projects/povme GPL C1  

eFindSite using homology modeling and machine learning predicts ligand binding sites in a protein structure.

fpocket detects and delineates protein cavities using Voronoi tessellation and is able to process molecular dynamics simulations.

KVFinder is a PyMOL plugin for identifying and characterizing pockets.

mcvol calculates protein volumes and identifying cavities using a Monte Carlo algorithm.

PAPCA (PocketAnalyzerPCA) is a pocket detection utility designed to analyze ensembles of protein conformations.

PCS (Pocket Cavity Search) measures the volume of internal cavities and evaluates the environment of ionizable residues.

PocketPicker is a PyMOL plugin that automatically identifies potential ligand binding sites using a grid-based shape descriptor.

POVME (POcket Volume MEasurer) is a tool for measuring and characterizing pocket volumes that includes a graphical user interface.

Ligand Design

Name URL License Activity Citation
AutoClickChem https://sourceforge.net/projects/autoclickchem GPL C2  
AutoGrow http://autogrow.ucsd.edu GPL A1  
igrow https://github.com/HongjianLi/igrow Apache A3  
OpenGrowth http://opengrowth.sf.net GPL A1  

AutoClickChem performs in silico click chemistry to generate large libraries of synthetically accessible compounds.

AutoGrow uses a genetic algorithm to explore the space of reactants and reactions accessible via AutoClickChem and identifies compounds that dock well using AutoDock Vina.

igrow, like AutoGrow, uses a genetic algorithm but transforms ligands using branch exchange and uses idock as the underlying docking evaluation protocol.

OpenGrowth assembles candidate ligands by connecting small organic fragments in the active site of proteins. It includes a graphical user interface.