Automation of computations in quantum chemistry
Project description
QMFlows
See http://scm-nv.github.io/qmflows/ for tutorials and documentation.
Motivation
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.
Description
This library consists of a set of modules written in Python 3.5 to automate the following tasks:
Tutorial and Examples
A tutorial written as a jupyter-notebook is available from: tutorial-qmflows. You can also access direclty more advanced examples.
Installation
Download miniconda for python >= 3.5: miniconda (also you can install the complete anaconda version).
Install according to: installConda.
Reopen terminal (or type source ~/.bashrc).
Create a new virtual environment using the following commands:
conda create -n qmflows python=3.5
Activate the new virtual environment
source activate qmflows
To exit the virtual environment type source deactivate.
Dependencies installation
Using the conda environment the following packages should be installed:
Package installation
Type in your terminal,
source activate qmflows
Then
pip install qmflows --upgrade
Now you are ready to use qmflows.
Latest stable version
If you want to install the latest stable version directly from github you can use the following command:
pip install https://github.com/SCM-NV/qmflows/tarball/master#egg=qmflows
Notes:
Once the libraries and the virtual environment are installed, you only need to type source activate qmflows each time that you want to use the software.
Remote/Xenon setup
Qmflows supports running jobs over a variety of cluster computing schedulers like Slurm and Torque. You program and run your workflows from your laptop, but the jobs are run at the remote site. For this to work you need to setup Qmflows both locally and remotely. In addition you need to add a Bash script that loads the VirtualEnv and starts the Noodles remote worker. This remote worker acts as a pilot job, reading job descriptions from input and returning the results. If you defined the remote VirtualEnv with the name qmflows, the following Bash script gives an idea of what you need:
#!/bin/bash
# comment/uncomment lines that you need
# If you need ADF, and it is available in a module
module load adf/2016.102
# or if you installed it yourself
# ADFHOME=${HOME}/.local/opt/adf
# source ${ADFHOME}/bin/adfrc.sh
# Point PLAMS to its place
export PLAMSDEFAULTS="${HOME}/.local/src/plams/utils/plams_defaults.py"
# Go to the directory that contains this script
cd "$(dirname "${BASH_SOURCE[0]}")"
# Activate the VirtualEnv
source activate qmflows
# Start the remote worker
python -m noodles.worker ${@:2}
# Bye!
source deactivate
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file qmflows-0.2.1.tar.gz
.
File metadata
- Download URL: qmflows-0.2.1.tar.gz
- Upload date:
- Size: 52.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccf090ccf0d2177aa5a8c76b7c2b75a08bef89c5dc9db0fbc3a4fb47c433feab |
|
MD5 | c08091fa03a125870ba025d748ac5a39 |
|
BLAKE2b-256 | 31e1369190ffc2d98f981cc5b68beb0fe78d96b25ac989a6381c2b17fffa370d |