Giter Site home page Giter Site logo

molsimplify's Introduction

CI Documentation Status Linter Language grade: Python Total alerts

molSimplify is an open source toolkit for the automated, first-principles screening and discovery of new inorganic molecules and intermolecular complexes. molSimplify is developed by the Kulik Group in the Department of Chemical Engineering at MIT. The software can generate a variety of coordination complexes of metals coordinated by ligands in a mono- or multi-dentate fashion. The code can build a coordination complex directly from a central atom or functionalize a more complex structure (e.g. a porphyrin or other metal-ligand complex) by including additional ligands or replacing existing ones. molSimplify also generates inter-molecular complexes for evaluating binding interactions and generating candidate reactants and intermediates for catalyst reaction mechanism screening. molSimplify also ships neural network models that can predict the metal-ligand bond lengths, spin-splitting energy, frontier orbital energies, spin-state dependent reaction energies, and simulation outcomes for octahedral transition metal complexes. See the Tutorials at the Kulik group webpage for a more complete list of jobs molSimplify can do.

Installation

via conda

We currently recommend installation via the Conda package management system.

  1. Prerequisite: have Anaconda or miniconda installed on your system. For M1 Macs, please use Miniforge for Mac OSX arm64. (We do not recommend simultaneously installing Anaconda and Miniforge - only install Miniforge.)

  2. Clone molSimplify source from github.

    git clone https://github.com/hjkgrp/molSimplify.git
  3. Go to the folder root folder for molSimplify, create the conda environment from the yaml file (devtools/conda-envs/mols.yml). For M1 Macs, use mols_m1.yml instead. This step will help you get all the dependencies correct in a newly created conda environment named "mols_test". You can specify a different name for this environment at the first line of the yaml file.

    cd molSimplify/devtools/conda-envs
    conda env create -f mols.yml
  4. Activate the conda environment you just created. Go back to the root directory of molSimplify (where the setup.py file locates). Local install with pip.

    conda activate mols_test
    cd ..
    pip install -e .
  5. (For M1 Macs only) Install the M1-compatible version of Tensorflow by running source devtools/conda-envs/install_tensorflow_m1.sh.

  6. To test your installation, you can run the command below at the root directory of molSimplify. You are good to go if all the tests are passed!

    python setup.py test

via docker

We also maintain an active docker image on dockerhub for plug-and-play use.

For line by line instructions on an installation via docker, please visit molSimplify installation webpage of Kulik group.

Tutorials

A set of tutorials covering common use cases is available at the Kulik group webpage.

Documentation

Documentation for molSimplify can be found at our readthedocs page.

Citation DOI for Citing MDTraj

molSimplify is research software. If you use it for work that results in a publication, please cite the following reference:

@Article {molSimplify,
author = {Ioannidis, Efthymios I. and Gani, Terry Z. H. and Kulik, Heather J.},
title = {molSimplify: A toolkit for automating discovery in inorganic chemistry},
journal = {Journal of Computational Chemistry},
volume = {37},
number = {22},
pages = {2106--2117},
issn = {1096-987X},
url = {http://dx.doi.org/10.1002/jcc.24437},
doi = {10.1002/jcc.24437},
year = {2016},
}

@Article{Nandy2018IECR,
author = {Nandy, Aditya and Duan, Chenru and Janet, Jon Paul and Gugler, Stefan and Kulik, Heather J.},
title = {Strategies and Software for Machine Learning Accelerated Discovery in Transition Metal Chemistry},
journal = {Industrial {\&} Engineering Chemistry Research},
volume = {57},
number = {42},
pages = {13973-13986},
issn = {0888-5885},
url = {https://doi.org/10.1021/acs.iecr.8b04015},
doi = {10.1021/acs.iecr.8b04015},
year = {2018},
}

If you use any machine learning (ML) models in molSimplify that results in a publication, please cite the corresponding reference in this MLmodel reference page.

Note that we have disabled developers' supports for Python 2.7 and will only release conda builds on Python 3.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.