Files
awesome-awesomeness/terminal/pythonchemistry
2024-04-22 21:54:39 +02:00

49 KiB

Awesome Python Chemistry !Awesome (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) (https://github.com/sindresorhus/awesome)
!License: CC BY 4.0 (https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg) (https://creativecommons.org/licenses/by/4.0/)
 
A curated list of awesome Python frameworks, libraries, software and resources related to Chemistry.
 
Inspired by awesome-python (https://awesome-python.com).
 
Table of contents
 
- Awesome Python Chemistry !Awesome (https://github.com/sindresorhus/awesome) (#awesome-python-chemistry-)
- General Chemistry (#general-chemistry)
- Machine Learning (#machine-learning)
- Generative Molecular Design (#generative-molecular-design)
- Simulations (#simulations)
- Molecular Visualization (#molecular-visualization)
- Database Wrappers (#database-wrappers)
- Learning Resources (#learning-resources)
- See Also (#see-also)
 
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
 
General Chemistry
 
Packages and tools for general chemistry.
 
- AQME (https://github.com/jvalegre/aqme) - Ensemble of automated QM workflows that can be run through jupyter notebooks, command lines and yaml files.
- aizynthfinder (https://github.com/MolecularAI/aizynthfinder) - A tool for retrosynthetic planning.
- batchcalculator (http://lukaszmentel.com/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 (https://cctbx.github.io/) - The Computational Crystallography Toolbox.
- ChemFormula (https://github.com/molshape/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 (https://chemlib.readthedocs.io/en/latest/) - A robust and easy-to-use package that solves a variety of chemistry problems.
- chempy (http://pythonhosted.org/chempy/) - ChemPy is a package useful for chemistry (mainly physical/inorganic/analytical chemistry).
- datamol (https://github.com/datamol-org/datamol): - Molecular Manipulation Made Easy. A light wrapper build on top of RDKit.
- GoodVibes (https://github.com/bobbypaton/GoodVibes) - A Python program to compute quasi-harmonic thermochemical data from Gaussian frequency calculations.
- hgraph2graph (https://github.com/wengong-jin/hgraph2graph) - Hierarchical Generation of Molecular Graphs using Structural Motifs.
- ionize (http://lewisamarshall.github.io/ionize/) - Calculates the properties of individual ionic species in aqueous solution, as well as aqueous solutions containing arbitrary sets of ions.
- LModeA-nano (https://lmodea-nano.readthedocs.io/en/latest/) - Calculates the intrinsic chemical bond strength based on local vibrational mode theory in solids and molecules.
- mendeleev (http://mendeleev.readthedocs.io/en/stable/) - A package that provides a python API for accessing various properties of elements from the periodic table of elements.
- nmrglue (https://github.com/jjhelmus/nmrglue) - A package for working with nuclear magnetic resonance (NMR) data including functions for reading common binary file formats and processing
NMR data.
- Open Babel (http://openbabel.org/wiki/Main_Page) - A chemical toolbox designed to speak the many languages of chemical data.
- periodictable (https://github.com/pkienzle/periodictable) - This package provides a periodic table of the elements with support for mass, density and xray/neutron scattering information.
- propka (https://github.com/jensengroup/propka) - Predicts the pKa values of ionizable groups in proteins and protein-ligand complexes based in the 3D structure.
- pybel (https://openbabel.org/docs/dev/UseTheLibrary/Python_Pybel.html) - Pybel provides convenience functions and classes that make it simpler to use the Open Babel libraries from Python.
- pycroscopy (https://pycroscopy.github.io/pycroscopy/index.html) - Scientific analysis of nanoscale materials imaging data.
- pyEQL (https://pyeql.readthedocs.io/en/latest/index.html) - A set of tools for conventional calculations involving solutions (mixtures) and electrolytes.
- pyiron (http://pyiron.org/) - pyiron - an integrated development environment (IDE) for computational materials science.
- pymatgen (http://pymatgen.org) - Python Materials Genomics is a robust, open-source library for materials analysis.
- pymatviz (https://github.com/janosh/pymatviz) - A toolkit for visualizations in materials informatics.
- symfit (https://symfit.readthedocs.io/en/stable/) - a curve-fitting library ideally suited to chemistry problems, including fitting experimental kinetics data.
- symmetry (http://pythonhosted.org/symmetry/) - Symmetry is a library for materials symmetry analysis.
- stk (https://github.com/lukasturcani/stk) - A library for building, manipulating, analyzing and automatic design of molecules, including a genetic algorithm.
- spectrochempy (https://github.com/spectrochempy/spectrochempy) - A library for processing, analyzing and modeling spectroscopic data.
 
Machine Learning
 
Packages and tools for employing machine learning and data science in chemistry.
 
- amp (http://amp.readthedocs.io/en/latest/) - Is an open-source package designed to easily bring machine-learning to atomistic calculations.
- atom3d (https://github.com/drorlab/atom3d) - Enables machine learning on three-dimensional molecular structure.
- chainer-chemistry (https://github.com/chainer/chainer-chemistry) - A deep learning framework (based on Chainer) with applications in Biology and Chemistry.
- chemml (https://hachmannlab.github.io/chemml/) - A machine learning and informatics program suite for the analysis, mining, and modeling of chemical and materials data.
- chemprop (https://github.com/chemprop/chemprop) - Message Passing Neural Networks for Molecule Property Prediction .
- cgcnn (https://github.com/txie-93/cgcnn) - Crystal graph convolutional neural networks for predicting material properties.
- deepchem (http://deepchem.io/) - Deep-learning models for Drug Discovery and Quantum Chemistry.
- DeepPurpose (https://github.com/kexinhuang12345/DeepPurpose) - A Deep Learning Library for Compound and Protein Modeling DTI, Drug Property, PPI, DDI, Protein Function Prediction.
- DescriptaStorus (https://github.com/bp-kelley/descriptastorus) - Descriptor computation (chemistry) and (optional) storage for machine learning.
- DScribe (https://github.com/SINGROUP/dscribe) - Descriptor library containing a variety of fingerprinting techniques, including the Smooth Overlap of Atomic Positions (SOAP).
- graphein (https://github.com/a-r-j/graphein) - Provides functionality for producing geometric representations of protein and RNA structures, and biological interaction networks.
- Matminer (https://github.com/hackingmaterials/matminer) - Library of descriptors to aid in the data-mining of materials properties, created by the Lawrence Berkeley National Laboratory.
- MoleOOD (https://github.com/yangnianzu0515/MoleOOD) - a robust molecular representation learning framework against distribution shifts.
- megnet (https://github.com/materialsvirtuallab/megnet) - Graph Networks as a Universal Machine Learning Framework for Molecules and Crystals.
- MAML (https://github.com/materialsvirtuallab/maml) - Aims to provide useful high-level interfaces that make ML for materials science as easy as possible.
- MORFEUS (https://github.com/kjelljorner/morfeus) - Library for fast calculations of molecular features from 3D structures for machine learning with a focus on steric descriptors.
- olorenchemengine (https://github.com/Oloren-AI/olorenchemengine) - Molecular property prediction with unified API for diverse models and respresentations,
with integrated uncertainty quantification, interpretability, and hyperparameter/architecture tuning.
- ROBERT (https://github.com/jvalegre/robert) - Ensemble of automated machine learning protocols that can be run sequentially through a single command line. The program works for regression
and classification problems.
- schnetpack (https://github.com/atomistic-machine-learning/schnetpack) - Deep Neural Networks for Atomistic Systems.
- selfies (https://github.com/aspuru-guzik-group/selfies) - Self-Referencing Embedded Strings (SELFIES): A 100% robust molecular string representation.
- Summit (https://github.com/sustainable-processes/summit) - Package for optimizing chemical reactions using machine learning (contains 10 algorithms + several benchmarks).
- TDC (https://github.com/mims-harvard/TDC) - Therapeutics Data Commons (TDC) is the first unifying framework to systematically access and evaluate machine learning across the entire range of
therapeutics.
- XenonPy (https://github.com/yoshida-lab/XenonPy) - Library with several compositional and structural material descriptors, along with a few pre-trained neural network models of material
properties.
 
Generative Molecular Design
 
Packages and tools for generating molecular species
 
- GraphINVENT (https://github.com/MolecularAI/GraphINVENT) - A platform for graph-based molecular generation using graph neural networks.
- GuacaMol (https://github.com/BenevolentAI/guacamol) - A package for benchmarking of models for _de novo_ molecular design.
- moses (https://github.com/molecularsets/moses) - A benchmarking platform for molecular generation models.
- perses (https://github.com/choderalab/perses) - Experiments with expanded ensembles to explore chemical space.
 
Simulations
 
Packages for atomistic simulations and computational chemistry.
 
- alchemlyb (https://github.com/alchemistry/alchemlyb) - Makes alchemical free energy calculations easier by leveraging the full power and flexibility of the PyData stack.
- atomate2 (https://github.com/materialsproject/atomate2) - atomate2 is a library of computational materials science workflows.
- Atomic Silumation Environment (ASE) (https://wiki.fysik.dtu.dk/ase/index.html) - Is a set of tools and modules for setting up, manipulating, running, visualizing and analyzing atomistic
simulations.
- basis_set_exchange (https://github.com/MolSSI-BSE/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 (https://www.xemistry.com/academic/) - Cactvs is a universal, scriptable cheminformatics toolkit, with a large collection of modules for property computation, chemistry data file I/O
and other tasks.
- CalcUS (https://github.com/cyllab/CalcUS) - Quantum chemisttry web platform that brings all the necessary tools to perform quantum chemistry in a user-friendly web interface.
- cantera (https://github.com/Cantera/cantera) - A collection of object-oriented software tools for problems involving chemical kinetics, thermodynamics, and transport processes.
- CatKit (https://github.com/SUNCAT-Center/CatKit) - General purpose tools for high-throughput catalysis.
- ccinput (https://github.com/cyllab/ccinput/) - A tool and library for creating quantum chemistry input files.
- cclib (https://cclib.github.io/) - A library for parsing output files various quantum chemical programs.
- cinfony (http://cinfony.github.io/) - A common API to several cheminformatics toolkits (Open Babel, RDKit, the CDK, Indigo, JChem, OPSIN and cheminformatics webservices).
- chemlab (http://chemlab.readthedocs.io/en/latest/index.html) - Is a library that can help the user with chemistry-relevant calculations.
- emmet (https://github.com/materialsproject/emmet) - A package to 'build' collections of materials properties from the output of computational materials calculations.
- fromage (https://github.com/Crespo-Otero-group/fromage/) - The "FRamewOrk for Molecular AGgregate Excitations" enables localised QM/QM' excited state calculations in a solid state
environment.
- GPAW (https://wiki.fysik.dtu.dk/gpaw/) - Is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW) method and the atomic simulation environment (ASE).
- horton (http://theochem.github.io/horton/2.0.1/index.html) - Helpful Open-source Research TOol for N-fermion system, a quantum-chemistry program that can perform computations involving
model Hamiltonians.
- HTMD (https://github.com/Acellera/htmd) - High-Throughput Molecular Dynamics: Programming Environment for Molecular Discovery.
- Indigo (https://github.com/epam/Indigo) - Universal cheminformatics libraries, utilities and database search tools.
- Jarvis-tools (https://github.com/usnistgov/jarvis) - An open-access software package for atomistic data-driven materials design
- mathchem (http://mathchem.iam.upr.si/) - Is a free open source package for calculating topological indices and other invariants of molecular graphs.
- MDAnalysis (http://www.mdanalysis.org/) - Is an object-oriented library to analyze trajectories from molecular dynamics (MD) simulations in many popular formats.
- MDTraj (http://mdtraj.org) - Package for manipulating molecular dynamics trajectories with support for multiple formats.
- MMTK (http://dirac.cnrs-orleans.fr/MMTK/) - The Molecular Modeling Toolkit is an Open Source program library for molecular simulation applications.
- MolMod (http://molmod.github.io/molmod/index.html) - A library with many components that are useful to write molecular modeling programs.
- oddt (https://github.com/oddt/oddt) - Open Drug Discovery Toolkit, a modular and comprehensive toolkit for use in cheminformatics, molecular modeling etc.
- OPEM (https://github.com/ECSIM/opem) - Open source PEM (Proton Exchange Membrane) fuel cell simulation tool.
- openmmtools (https://github.com/choderalab/openmmtools) - A batteries-included toolkit for the GPU-accelerated OpenMM molecular simulation engine.
- overreact (https://github.com/geem-lab/overreact) - A library and command-line tool for building and analyzing complex homogeneous microkinetic models from quantum chemistry calculations,
with support for quasi-harmonic thermochemistry, quantum tunnelling corrections, molecular symmetries and more.
- ParmEd (https://github.com/ParmEd/ParmEd) - Parameter/topology editor and molecular simulator with visualization capability.
- pGrAdd (https://github.com/VlachosGroup/PythonGroupAdditivity) - A library for estimating thermochemical properties of molecules and adsorbates using group additivity.
- phonopy (http://atztogo.github.io/phonopy/) - An open source package for phonon calculations at harmonic and quasi-harmonic levels.
- PLAMS (https://github.com/SCM-NV/PLAMS) - Python Library for Automating Molecular Simulation: input preparation, job execution, file management, output processing and building data
workflows.
- pMuTT (https://vlachosgroup.github.io/pMuTT/) - A library for ab-initio thermodynamic and kinetic parameter estimation.
- PorePy (https://github.com/pmgbergen/porepy) - A Simulation Tool for Fractured and Deformable Porous Media.
- ProDy (http://prody.csb.pitt.edu/) - An open source package for protein structural dynamics analysis with a flexible and responsive API.
- ProLIF (https://github.com/chemosim-lab/ProLIF) - Interaction Fingerprints for protein-ligand complexes and more.
- Psi4 (http://psicode.org) - A hybrid Python/C++ open-source package for quantum chemistry.
- Psi4NumPy (https://github.com/psi4/psi4numpy/) - Psi4-based reference implementations and Jupyter notebook-based tutorials for foundational quantum chemistry methods.
- pyEMMA (http://www.emma-project.org/latest/) - Library for the estimation, validation and analysis Markov models of molecular kinetics and other kinetic and thermodynamic models from
molecular dynamics data.
- pygauss (https://pygauss.readthedocs.io/en/stable/index.html) - An interactive tool for supporting the life cycle of a computational molecular chemistry investigations.
- PyQuante (http://pyquante.sourceforge.net/) - Is an open-source suite of programs for developing quantum chemistry methods.
- pysic (https://github.com/thynnine/pysic) - A calculator incorporating various empirical pair and many-body potentials.
- Pyscf (https://github.com/sunqm/pyscf) - A quantum chemistry package written in Python.
- pyvib2 (http://pyvib2.sourceforge.net/) - A program for analyzing vibrational motion and vibrational spectra.
- RDKit (http://www.rdkit.org/) - Open-Source Cheminformatics Software.
- ReNView (https://github.com/VlachosGroup/ReNView/wiki/Reaction-Network-Viewer-(ReNView)-Usage-Instructions) - A program to visualize reaction networks.
- stk (https://github.com/lukasturcani/stk) - A library for building, manipulating, analyzing and automatic design of molecules.
- QMsolve (https://github.com/quantum-visualizations/qmsolve) - A module for solving and visualizing the Schrödinger equation.
- QUIP (http://libatoms.github.io/QUIP/) - A collection of software tools to carry out molecular dynamics simulations.
- torchmd (https://github.com/torchmd/torchmd) - End-To-End Molecular Dynamics (MD) Engine using PyTorch.
- tsase (http://theory.cm.utexas.edu/tsase/) - The library which depends on ASE to tackle transition state calculations.
- yank (https://github.com/choderalab/yank) - An open, extensible Python framework for GPU-accelerated alchemical free energy calculations.
 
Force Fields
 
Packages related to force fields
 
- CHGNet (https://github.com/CederGroupHub/chgnet) - Pretrained universal neural network potential for charge-informed atomistic modeling.
- FitSNAP (https://github.com/FitSNAP/FitSNAP) - A Package For Training SNAP Interatomic Potentials for use in the LAMMPS molecular dynamics package.
- fftool (https://github.com/paduagroup/fftool) - Tool to build force field input files for molecular simulation.
- FLARE (https://github.com/mir-group/flare) - A package for creating fast and accurate interatomic potentials.
- global-chem (https://github.com/Sulstice/global-chem) - A Chemical Knowledge Graph and Toolkit, writting in IUPAC/SMILES/SMARTS, for common small molecules from diverse communities to aid
users in selecting compounds for forcefield parametirization.
- matbench-discovery (https://github.com/janosh/matbench-discovery) - A benchmark for ML-guided high-throughput materials discovery.
- NeuralForceField (https://github.com/learningmatter-mit/NeuralForceField) - Neural Network Force Field based on PyTorch.
- openff-toolkit (https://github.com/openforcefield/openff-toolkit) - The Open Forcefield Toolkit provides implementations of the SMIRNOFF format, parameterization engine, and other tools.
 
Molecular Visualization
 
Packages for viewing molecular structures.
 
- ase-gui (https://wiki.fysik.dtu.dk/ase/ase/gui/gui.html#module-ase.gui) - The graphical user-interface allows users to visualize, manipulate, and render molecular systems and atoms objects.
- chemiscope (https://github.com/lab-cosmo/chemiscope) - An interactive structure/property explorer for materials and molecules.
- chemview (http://chemview.readthedocs.io/en/latest/) - An interactive molecular viewer designed for the IPython notebook.
- imolecule (http://patrickfuller.github.io/imolecule/) - An embeddable webGL molecule viewer and file format converter.
- moleculekit (https://github.com/Acellera/moleculekit) - A molecule manipulation library.
- nglview (https://github.com/arose/nglview) - A Jupyter (https://jupyter.org/) widget to interactively view molecular structures and trajectories.
- PyMOL (https://pymol.org/) - A user-sponsored molecular visualization system on an open-source foundation, maintained and distributed by Schrödinger.
- pymoldyn (https://pgi-jcns.fz-juelich.de/portal/pages/pymoldyn-main.html) - A viewer for atomic clusters, crystalline and amorphous materials in a unit cell corresponding to one of the
seven 3D Bravais lattices.
- sumo (http://sumo.readthedocs.io/en/latest/) - A toolkit for plotting and analysis of ab initio solid-state calculation data.
- surfinpy (https://surfinpy.readthedocs.io/en/latest/) - A library for the analysis, plotting and visualisation of ab initio surface calculation data.
- trident-chemwidgets (https://github.com/tridentbio/trident-chemwidgets) - Jupyter Widgets to interact with molecular datasets.
 
Database Wrappers
 
Providing a python layer for accessing chemical databases
 
- ccdc (https://downloads.ccdc.cam.ac.uk/documentation/API/index.html) - An API for the Cambridge Structural Database System.
- ChemSpiPy (http://chemspipy.readthedocs.io/en/latest/) - ChemSpider (http://www.chemspider.com/) wrapper, that allows chemical searches, chemical file downloads, depiction and retrieval of
chemical properties.
- CIRpy (http://cirpy.readthedocs.io/en/latest/) - An interface for the Chemical Identifier Resolver (CIR) by the CADD Group at the NCI/NIH.
- pubchempy (http://pubchempy.readthedocs.io/en/latest/) - PubChemPy provides a way to interact with PubChem in Python.
- chembl-downloader (https://github.com/cthoyt/chembl-downloader) - Automate downloading and querying the latest (or a given) version of ChEMBL (https://www.ebi.ac.uk/chembl/)
- drugbank-downloader (https://github.com/cthoyt/drugbank_downloader) - Automate downloading, opening, and parsing DrugBank (https://www.drugbank.com/)
 
Learning Resources
 
Resources for learning to apply python to chemistry.
 
- An Introduction to Applied Bioinformatics (https://github.com/applied-bioinformatics/iab2) - A Jupyter book demonstrating working with biochemical data using the scikit-bio library for
tasks such as sequence alignment and calculating Hamming distances.
- Computational Thermodynamics (https://kyleniemeyer.github.io/computational-thermo/content/intro.html) - This collection of Jupyter notebooks demonstrates solutions to a range of
thermodynamic problems including solving chemical equilibria, comparing real versus ideal gas behavior, and calculating the temperature and composition of a combustion reaction.
- SciCompforChemists (https://github.com/weisscharlesj/SciCompforChemists) - Scientific Computing for Chemists with Python is a Jupyter book teaching basic python in chemistry skills,
including relevant libraries, and applies them to solving chemical problems.
 
Miscellaneous Awesome
 
- Colorful Nuclide Chart (https://people.physics.anu.edu.au/~ecs103/chart/) - A beatuful, interactive visualization of nuclides with access to a varirty of nuclear properties and allows
saving high quality images for publications, presentations and outreach.
 
See Also
 
- awesome-cheminformatics (https://github.com/hsiaoyi0504/awesome-cheminformatics) Another list focuses on Cheminformatics, including tools not only in Python.
- awesome-small-molecule-ml (https://github.com/benb111/awesome-small-molecule-ml) A collection of papers, datasets, and packages for small-molecule drug discovery. Most links to code are in
Python.
- awesome-molecular-docking (https://github.com/yangnianzu0515/awesome-molecular-docking) A curated list of molecular docking software, datasets, and papers.
- jarvis (https://jarvis.nist.gov/) Joint Automated Repository for Various Integrated Simulations is a repository designed to automate materials discovery and optimization using classical
force-field, density functional theory, machine learning calculations and experiments.
- polypharmacy-ddi-synergy-survey (https://github.com/AstraZeneca/polypharmacy-ddi-synergy-survey) A collection of research papers (with Python implementations) focusing on drug-drug
interactions, synergy and polypharmacy.