GithubHelp home page GithubHelp logo

00mjk / qmflows Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scm-nv/qmflows

0.0 0.0 0.0 34.29 MB

This library tackles the construction and efficient execution of computational chemistry workflows

License: Other

Python 54.20% Jupyter Notebook 45.71% Shell 0.09%

qmflows's Introduction

Documentation Status

qmflows.png

QMFlows

See documentation 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 Python3 to automate the following tasks:

  1. Input generation.
  2. Handle tasks dependencies (Noodles).
  3. Advanced molecular manipulation capabilities with (rdkit).
  4. Jobs failure detection and recovery.
  5. Numerical data storage (h5py).

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 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 h5py using conda:
    • conda install -y -q -c conda-forge rdkit h5py
    • Note that rdkit is optional for Python 3.7 and later.

Package installation

Finally install the package:

  • Install QMFlows using pip: - pip install qmflows

Now you are ready to use qmflows.

Notes:

  • 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.

qmflows's People

Contributors

bvb93 avatar felipez avatar h4nsu avatar jhidding avatar ridderl avatar scmtestadf avatar sergio-lopez avatar

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.