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

232 lines
49 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
 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.