Skip to content
Cédric Bouysset edited this page Aug 24, 2017 · 23 revisions

ChemFlow

ChemFlow is a series of computational chemistry workflow's designed to automatize and simplify the drug discovery pipeline and scoring function benchmarking.

The workflows allow the user to spend more time thinking, i.e. running benchmarks or experiments, analyzing the data, and taking decisions, rather than programming/testing/debugging.

It consists of BASH and PYTHON scripts that can be launched locally (serial or with GNU parallel) or on a compute cluster via PBS.

  • DockFlow : Docking and Virtual Screening
  • ScoreFlow : Rescoring using PLANTS, Vina, or MM(PB,GB)SA
  • ReportFlow : Extensive data analysis and reporting tool
  • MDFlow : Molecular Dynamics with multiple (next release)
  • MDReport : Specialized analysis & report tool for MD simulations (next release)
  • and other usefull tools !

📦 Installation

Clone or download the latest version of ChemFlow to it's destination, open a terminal and run the install.sh script located inside ChemFlow's directory.

cd ~/software
git clone https://github.com/IFMlab/ChemFlow.git
cd ChemFlow
./install.sh

It will create a CHEMFLOW_HOME variable, and add the necessary executables to your path.

Paths to some of the softwares executables (PLANTS, SPORES, Vina, Amber) should be added in the $CHEMFLOW_HOME/ChemFlow.config file.

⚠️ Requirements

We do not provide any of the licensed softwares used by ChemFlow. It is up to the user to acquire and install PLANTS, Vina, Amber, Python 3 and the other softwares that might be added in future releases of ChemFlow.

PLANTS and SPORES are both available under a free academic license. ReportFlow makes heavy uses of Python 3 through Jupyter-Notebook. It requires the following Python packages to run seamleslly :

  • jupyter
  • matplotlib
  • numpy
  • pandas
  • scikit-learn
  • scipy
  • seaborn

A tutorial on how to install python packages with PIP is available here We also advise the user to install jupyter_contrib_nbextensions to improve the functionality of the notebooks.