/awesome-python-chemistry

A curated list of Python packages related to chemistry

OtherNOASSERTION

Awesome Python Chemistry Awesome

License: CC BY 4.0

A curated list of awesome Python frameworks, libraries, software and resources related to Chemistry.

Inspired by awesome-python.

Table of contents


General Chemistry

Packages and tools for general chemistry.

  • batchcalculator - A GUI app based on wxPython for calculating the correct amount of reactants (batch) for a particular composition given by the molar ratio of its components.
  • cctbx - The Computational Crystallography Toolbox.
  • ChemFormula - ChemFormula provides a class for working with chemical formulas. It allows parsing chemical formulas, calculating formula weights, and generating formatted output strings (e.g. in HTML, LaTeX, or Unicode).
  • chemlib - A robust and easy-to-use package that solves a variety of chemistry problems.
  • chempy - ChemPy is a package useful for chemistry (mainly physical/inorganic/analytical chemistry).
  • datamol: - Molecular Manipulation Made Easy. A light wrapper build on top of RDKit.
  • GoodVibes - A Python program to compute quasi-harmonic thermochemical data from Gaussian frequency calculations.
  • hgraph2graph - Hierarchical Generation of Molecular Graphs using Structural Motifs.
  • ionize - Calculates the properties of individual ionic species in aqueous solution, as well as aqueous solutions containing arbitrary sets of ions.
  • mendeleev - A package that provides a python API for accessing various properties of elements from the periodic table of elements.
  • Open Babel - A chemical toolbox designed to speak the many languages of chemical data.
  • periodictable - This package provides a periodic table of the elements with support for mass, density and xray/neutron scattering information.
  • propka - Predicts the pKa values of ionizable groups in proteins and protein-ligand complexes based in the 3D structure.
  • pybel - Pybel provides convenience functions and classes that make it simpler to use the Open Babel libraries from Python.
  • pycroscopy - Scientific analysis of nanoscale materials imaging data.
  • pyEQL - A set of tools for conventional calculations involving solutions (mixtures) and electrolytes.
  • pyiron - pyiron - an integrated development environment (IDE) for computational materials science.
  • pymatgen - Python Materials Genomics is a robust, open-source library for materials analysis.
  • symfit - a curve-fitting library ideally suited to chemistry problems, including fitting experimental kinetics data.
  • symmetry - Symmetry is a library for materials symmetry analysis.
  • stk - A library for building, manipulating, analyzing and automatic design of molecules, including a genetic algorithm.

Machine Learning

Packages and tools for employing machine learning and data science in chemistry.

  • amp - Is an open-source package designed to easily bring machine-learning to atomistic calculations.
  • atom3d - Enables machine learning on three-dimensional molecular structure.
  • chainer-chemistry - A deep learning framework (based on Chainer) with applications in Biology and Chemistry.
  • chemml - A machine learning and informatics program suite for the analysis, mining, and modeling of chemical and materials data.
  • cgnn - Crystal graph convolutional neural networks for predicting material properties.
  • deepchem - Deep-learning models for Drug Discovery and Quantum Chemistry.
  • DeepPurpose - A Deep Learning Library for Compound and Protein Modeling DTI, Drug Property, PPI, DDI, Protein Function Prediction.
  • DescriptaStorus - Descriptor computation (chemistry) and (optional) storage for machine learning.
  • graphein - Provides functionality for producing geometric representations of protein and RNA structures, and biological interaction networks.
  • megnet - Graph Networks as a Universal Machine Learning Framework for Molecules and Crystals.
  • MAML - Aims to provide useful high-level interfaces that make ML for materials science as easy as possible.
  • schnetpack - Deep Neural Networks for Atomistic Systems.
  • selfies - Self-Referencing Embedded Strings (SELFIES): A 100% robust molecular string representation.
  • Summit - Package for optimizing chemical reactions using machine learning (contains 10 algorithms + several benchmarks).
  • TDC - Therapeutics Data Commons (TDC) is the first unifying framework to systematically access and evaluate machine learning across the entire range of therapeutics.

Generative Molecular Design

Packages and tools for generating molecular species

  • GraphINVENT - A platform for graph-based molecular generation using graph neural networks.
  • GuacaMol - A package for benchmarking of models for de novo molecular design.
  • moses - A benchmarking platform for molecular generation models.
  • perses - Experiments with expanded ensembles to explore chemical space.

Simulations

Packages for atomistic simulations and computational chemistry.

  • Atomic Silumation Environment (ASE) - Is a set of tools and modules for setting up, manipulating, running, visualizing and analyzing atomistic simulations.
  • basis_set_exchange - A library containing basis sets for use in quantum chemistry calculations. In addition, this library has functionality for manipulation of basis set data.
  • CACTVS - Cactvs is a universal, scriptable cheminformatics toolkit, with a large collection of modules for property computation, chemistry data file I/O and other tasks.
  • cclib - A library for parsing output files various quantum chemical programs.
  • cinfony - A common API to several cheminformatics toolkits (Open Babel, RDKit, the CDK, Indigo, JChem, OPSIN and cheminformatics webservices).
  • chemlab - Is a library that can help the user with chemistry-relevant calculations.
  • emmet - A package to 'build' collections of materials properties from the output of computational materials calculations.
  • FitSNAP - A Package For Training SNAP Interatomic Potentials for use in the LAMMPS molecular dynamics package.
  • FLARE - A package for creating fast and accurate interatomic potentials.
  • fromage - The "FRamewOrk for Molecular AGgregate Excitations" enables localised QM/QM' excited state calculations in a solid state environment.
  • GPAW - Is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW) method and the atomic simulation environment (ASE).
  • horton - Helpful Open-source Research TOol for N-fermion system, a quantum-chemistry program that can perform computations involving model Hamiltonians.
  • Indigo - Universal cheminformatics libraries, utilities and database search tools.
  • mathchem - Is a free open source package for calculating topological indices and other invariants of molecular graphs.
  • MDAnalysis - Is an object-oriented library to analyze trajectories from molecular dynamics (MD) simulations in many popular formats.
  • MDTraj - Package for manipulating molecular dynamics trajectories with support for multiple formats.
  • MMTK - The Molecular Modeling Toolkit is an Open Source program library for molecular simulation applications.
  • MolMod - A library with many components that are useful to write molecular modeling programs.
  • OPEM - Open source PEM (Proton Exchange Membrane) fuel cell simulation tool.
  • openff-toolkit - The Open Forcefield Toolkit provides implementations of the SMIRNOFF format, parameterization engine, and other tools.
  • openmmtools - A batteries-included toolkit for the GPU-accelerated OpenMM molecular simulation engine.
  • pGrAdd - A library for estimating thermochemical properties of molecules and adsorbates using group additivity.
  • phonopy - An open source package for phonon calculations at harmonic and quasi-harmonic levels.
  • PLAMS - Python Library for Automating Molecular Simulation: input preparation, job execution, file management, output processing and building data workflows.
  • pMuTT - A library for ab-initio thermodynamic and kinetic parameter estimation.
  • PorePy - A Simulation Tool for Fractured and Deformable Porous Media.
  • ProDy - An open source package for protein structural dynamics analysis with a flexible and responsive API.
  • Psi4 - A hybrid Python/C++ open-source package for quantum chemistry.
  • pyEMMA - Library for the estimation, validation and analysis Markov models of molecular kinetics and other kinetic and thermodynamic models from molecular dynamics data.
  • pygauss - An interactive tool for supporting the life cycle of a computational molecular chemistry investigations.
  • PyQuante - Is an open-source suite of programs for developing quantum chemistry methods
  • pysic - A calculator incorporating various empirical pair and many-body potentials.
  • Pyscf - A quantum chemistry package written in Python.
  • pyvib2 - A program for analyzing vibrational motion and vibrational spectra.
  • RDKit - Open-Source Cheminformatics Software.
  • ReNView - A program to visualize reaction networks.
  • stk - A library for building, manipulating, analyzing and automatic design of molecules.
  • QMsolve - A module for solving and visualizing the Schrödinger equation.
  • QUIP - A collection of software tools to carry out molecular dynamics simulations.
  • torchmd - End-To-End Molecular Dynamics (MD) Engine using PyTorch.
  • tsase - The library which depends on ASE to tackle transition state calculations.

Molecular Visualization

Packages for viewing molecular structures.

  • ase-gui - The graphical user-interface allows users to visualize, manipulate, and render molecular systems and atoms objects.
  • chemview - An interactive molecular viewer designed for the IPython notebook.
  • imolecule - An embeddable webGL molecule viewer and file format converter.
  • nglview - A Jupyter widget to interactively view molecular structures and trajectories.
  • PyMOL - A user-sponsored molecular visualization system on an open-source foundation, maintained and distributed by Schrödinger.
  • pymoldyn - A viewer for atomic clusters, crystalline and amorphous materials in a unit cell corresponding to one of the seven 3D Bravais lattices.
  • sumo - A toolkit for plotting and analysis of ab initio solid-state calculation data.
  • surfinpy - A library for the analysis, plotting and visualisation of ab initio surface calculation data.

Database Wrappers

Providing a python layer for accessing chemical databases

  • ccdc - An API for the Cambridge Structural Database System.
  • ChemSpiPy - ChemSpider wrapper, that allows chemical searches, chemical file downloads, depiction and retrieval of chemical properties.
  • CIRpy - An interface for the Chemical Identifier Resolver (CIR) by the CADD Group at the NCI/NIH.
  • pubchempy - PubChemPy provides a way to interact with PubChem in Python.

See Also