Skip to content
This library tackles the construction and efficient execution of computational chemistry workflows
Jupyter Notebook Python
Branch: master
Clone or download
Latest commit 135a59f Jul 9, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs updated documentation Jun 17, 2019
jupyterNotebooks updated documentation Jun 17, 2019
src/qmflows make always_cache optional Jun 21, 2019
.gitignore Removed quantum dot builder functionality Feb 8, 2019
.travis.yml used plams==1.4 Mar 29, 2019 added CONTRibutING files Jun 17, 2019
CITATION.cff include QD functionality in the README and added Bas to the authors Oct 19, 2018
CODE_OF_CONDUCT.rst added CONTRibutING files Jun 17, 2019
CONTRIBUTING.rst added CONTRibutING files Jun 17, 2019 updated source code Oct 19, 2017
README.rst updated zenodo badge Jul 9, 2019 added version file Jun 4, 2019
qmflows.png updated documentation Jun 17, 2019
requirements.txt added requirements for read the docs Nov 22, 2018
setup.cfg first commit in github May 30, 2016 updated documentation Jun 17, 2019

README.rst Documentation Status



See documentation for tutorials and documentation.


Research on modern computational quantum chemistry relies on a set of computational tools to carry out calculations. The complexity of the calculations usually requires intercommunication between the aforementioned tools, such communication is usually done through shell scripts that try to automate input/output actions like: launching the computations in a cluster, reading the resulting output and feeding the relevant numerical result to another program. Such scripts are difficult to maintain and extend, requiring a significant programming expertise to work with them. Being then desirable a set of automatic and extensible tools that allows to perform complex simulations in heterogeneous hardware platforms.

This library tackles the construction and efficient execution of computational chemistry workflows. This allows computational chemists to use the emerging massively parallel compute environments in an easy manner and focus on interpretation of scientific data rather than on tedious job submission procedures and manual data processing.


This library consists of a set of modules written in Python3 to automate the following tasks:

  1. Input generation.
  2. Handle tasks dependencies (Noodles).
  3. Advanced molecular manipulation capabilities with (rdkit).
  4. Numerical data storage and manipulation (HDF5).
  5. Jobs failure detection and recovery.
  6. Distribution in heterogeneous hardware platforms.

Tutorial and Examples

A tutorial written as a jupyter-notebook is available from: tutorial-qmflows. You can also access direclty more advanced examples.


  • Download miniconda for python3: miniconda (also you can install the complete anaconda version).
  • Install according to: installConda.
  • Create a new virtual environment using the following commands:
    • conda create -n qmflows
  • Activate the new virtual environment
    • source activate qmflows

To exit the virtual environment type source deactivate.

Dependencies installation

  • Type in your terminal:

    conda activate qmflows

Using the conda environment the following packages should be installed:

  • install rdkit and HDF5 using conda:
    • conda install -y -q -c conda-forge h5py rdkit

Package installation

Finally install the package:

  • Install QMFlows using pip: - pip install git+

Now you are ready to use qmflows.


  • Once the libraries and the virtual environment are installed, you only need to type conda activate qmflows each time that you want to use the software.
You can’t perform that action at this time.