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.


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

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.

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

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.



Name URL License Activity Citation
Chem**f GPL C2  
chemfp MIT C3  
chemkit BSD B1  
ChemmineR Artistic A1  
Cinfony BSD/GPL B1  
DisCuS GPL B3  
Fafoom LGPL A2  
fmcsR Artistic A1  
frowns Python C2  
Helium BSD B2  
Indigo GPL A1  
JoeLib GPL C1  
MayaChemTools LGPL A2  
Mychem GPL B2  
Open Babel GPL A1  
OPSIN Artistic A1  
OrChem LGPL C2  
osra GPL A1  
pybel GPL A1  
rcdk LGPL B2  
RDKit BSD A1  
RInChI Apache A3  
rpubchem GPL C3  
rubabel MIT C2  
Som-itTM LGPL C3  
webchem MIT A2  
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 GPL A3  
checkmol/matchmol GPL C3  
ConvertMAS GPL A3  
Filter-itTM LGPL C3  
Frog2 GPL B2  
Molpher GPL C2  
sdf2xyz2sdf GPL C2  
sdsorter GPL B3  
Shape GPL C3  
Strip-itTM 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
Bioclipse Eclipse B1  
Galaxy Tool Academic A1  
Orange BSD A1  
SA2 GPL A1  
Taverna LGPL A1  
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.


2D Desktop Applications (Table [2ddesktopviz])

Name URL License Activity Citation
BKchem GPL C3  
chemfig LaTeX A2  
Chemtool GPL B3  
JChemPaint LGPL B1  
LeView GPL B3  
mol2chemfig LaTeX C3  
Molsketch GPL A1  
SketchEl 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 GPL A1  
gMol GPL A3  
Jamberoo LGPL A3  
Luscus Academic A1  
Molecular Rift GPL A3  
OpenStructure LGPL A2  
PLIP Apache A2  
PyMOL Python A1  
RasTop GPL C1  
OpenRasMol GPL C1  
QuteMol 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 BSD A1  
Chemozart Apache A1  
Jmol LGPL A1  
JSmol LGPL 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.


Descriptor Calculators

Name URL License Activity Citation
BlueDesc GPL C3  
MolSig GPL C2  
PaDEL-descriptor Public Domain C1  

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 LGPL C2  
Bioalerts GPL A3  
camb GPL B2  
eTOXlab GPL B3  
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
Toxtree GPL A1  
UG-RNN 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.


Name URL License Activity Citation
CheS-Mapper GPL A2  
DataWarrior GPL A1  
DecoyFinder GPL A1  
Scaffold Hunter GPL A1  
Synergy Maps MIT A2  
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
ErgoSCF GPL C2  
NWChem ECL A1  
Octopus GPL A1  
OpenMX GPL A1  
Psi4 GPL A1  
pyquante BSD A1  
Quantum espresso GPL A1  
Siam Quantum 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 (

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 GPL A2  
cclib LGPL A1  
GaussSum GPL A1  
Geac GPL A3  
Nancy_EX GPL A2  
orbkit 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.


Name URL License Activity Citation
ccwatcher GPL B2  
Gabedit BSD C1  
QMForge GPL A1  
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 GPL B1  
DL_POLY Classic BSD C3  
Gromacs LGPL A1  
Iphigenie GPL A2  
MDynaMix GPL A1  
ProtoMol GPL C1  
ProtoMS GPL A2  
Sire GPL C2  
yank 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 GPL A1  
lsfitpar GPL A2  
MDAnalysis GPL A1  
MDTraj LGPL A1  
MSMBuilder LGPL A1  
packmol GPL A1  
ProDy MIT A1  
Pteros Artistic B2  
simpletraj GPL A2  

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


Name URL License Activity Citation
Align-it LGPL C3  
Pharmer GPL B1  
Pharmit GPL A3  
Shape-it LGPL C3  

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 LGPL A2  
AutoDock GPL C1  
AutoDock Vina Apache C1  
Clusterizer-DockAccessor GPL A3  
DockoMatic LGPL B1  
idock Apache A2  
NNScore GPL C1  
Paradocks GPL A2  
PyRx BSD A1  
rDock LGPL C1  
RF-Score Apache A2  
smina GPL A1  
VinaLC Apache C2  
VinaMPI Apache C2  
Zodiac 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 GPL C2  
fpocket GPL C1  
KVFinder GPL B1  
mcvol GPL C2  
PocketPicker BSD 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 GPL C2  
AutoGrow GPL A1  
igrow Apache A3  
OpenGrowth 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.