Python Rapid Artificial Intelligence Ab Initio Molecular Dynamics

Related tags

Deep LearningPyRAI2MD
Overview

Python Rapid Artificial Intelligence Ab Initio Molecular Dynamics

                              /\
   |\    /|                  /++\
   ||\  /||                 /++++\
   || \/ || ||             /++++++\
   ||    || ||            /PyRAI2MD\
   ||    || ||           /++++++++++\                    __
            ||          /++++++++++++\    |\ |  /\  |\/| | \
            ||__ __    *==============*   | \| /--\ |  | |_/

                          Python Rapid
                     Artificial Intelligence
                  Ab Initio Molecular Dynamics



                      Author @Jingbai Li
               Northeastern University, Boston, USA

                          version:   2.0 alpha
                          

  With contriutions from (in alphabetic order):
    Jingbai Li                 - Fewest switches surface hopping
                                 Zhu-Nakamura surface hopping
                                 Velocity Verlet
                                 OpenMolcas interface
                                 OpenMolcas/Tinker interface
                                 BAGEL interface
                                 Adaptive sampling
                                 Grid search
                                 Two-layer ONIOM (coming soon)
                                 Periodic boundary condition (coming soon)
                                 QC/ML hybrid NAMD

    Patrick Reiser             - Neural networks (pyNNsMD)

  Special acknowledgement to:
    Steven A. Lopez            - Project directorship
    Pascal Friederich          - ML directoriship>

Features

  • Machine learning nonadibatic molecular dyanmics (ML-NAMD).
  • Neural network training and grid search.
  • Active learning with ML-NAMD trajectories.
  • Support BAGEL, Molcas for QM, and Molcas/Tinker for QM/MM calculations.
  • Support nonadibatic coupling and spin-orbit coupling (Molcas only)

Prerequisite

  • Python >=3.7 PyRAI2MD is written and tested in Python 3.7.4. Older version of Python is not tested and might not be working properly.
  • TensorFlow >=2.2 TensorFlow/Keras API is required to load the trained NN models and predict energy and force.
  • Cython PyRAI2MD uses Cython library for efficient surface hopping calculation.
  • Matplotlib/Numpy Scientifc graphing and numerical library for plotting training statistic and array manipulation.

Content

 File/Folder Name                                  Description                                      
---------------------------------------------------------------------------------------------------
 pyrai2md.py                                       PyRAI2MD interface                              
 PyRAI2MD                                          source codes folder
  |--variables.py                                  PyRAI2MD input reader                           
  |--method.py                                     PyRAI2MD method manager                         
  |--Molecule                                      atom, molecule, trajectory code folder
  |   |--atom.py                                   atomic properties class                         
  |   |--molecule.py                               molecular properties class                      
  |   |--trajectory.py                             trajectory properties class                     
  |   |--pbc_helper.py                             periodic boundary condition functions           
  |    `-qmmm_helper.py                            qmmm functions                                  
  |
  |--Quantum_Chemistry                             quantum chemicial program interface folder
  |   |--qc_molcas.py                              OpenMolcas interface                            
  |   |--qc_bagel.py                               BAGEL interface                                 
  |    `-qc_molcas_tinker                          OpenMolcas/Tinker interface                     
  |
  |--Machine_Learning                              machine learning library interface folder
  |   |--training_data.py                          training data manager                           
  |   |--model_NN.py                               neural network interface                        
  |   |--hypernn.py                                hyperparameter manager                          
  |   |--permutation.py                            data permutation functions                      
  |   |--adaptive_sampling.py                      adaptive sampling class                         
  |   |--grid_search.py                            grid search class                               
  |   |--remote_train.py                           distribute remote training                      
  |    `-pyNNsMD                                   neural network library                         
  |
  |--Dynamics                                      ab initio molecular dynamics code folder
  |   |--aimd.py                                   molecular dynamics class                        
  |   |--mixaimd.py                                ML-QC hybrid molecular dynamics class           
  |   |--single_point.py                           single point calculation                        
  |   |--hop_probability.py                        surface hopping probability calculation         
  |   |--reset_velocity.py                         velocity adjustment functions                   
  |   |--verlet.py                                 velocity verlet method                          
  |   |--Ensembles                                 thermodynamics control code folder
  |   |   |--ensemble.py                           thermodynamics ensemble manager                 
  |   |   |--microcanonical.py                     microcanonical ensemble                         
  |   |    `-thermostat.py                         canonical ensemble                              
  |   |
  |    `-Propagators                               electronic propagation code folder
  |       |--surface_hopping.py                    surface hopping manager                         
  |       |--fssh.pyx                              fewest switches surface hopping method          
  |       |--gsh.py                                generalized surface hopping method              
  |        `-tsh_helper.py                         trajectory surface hopping tools                
  |
   `-Utils                                         utility folder
      |--aligngeom.py                              geometry aligment and comparison functions      
      |--coordinates.py                            coordinates writing functions                   
      |--read_tools.py                             index reader                                    
      |--bonds.py                                  bond length library                            
      |--sampling.py                               initial condition sampling functions            
      |--timing.py                                 timing functions                                
       `-logo.py                                   logo and credits                                    

Installation

Download the repository

git clone https://github.com/lopez-lab/PyRAI2MD.git

Specify environment variable of PyRAI2MD

export PYRAI2MD=/path/to/PyRAI2MD

Test PyRAI2MD

Copy the test script and modify environment variables

cp $PYRAI2MD/Tool/test_PyRAI2MD.sh .
bash test_PyRAI2MD.sh

Or directly run if environment variables are set

$PYRAI2MD/pyrai2md.py quicktest

Run PyRAI2MD

$PYRAI2MD/pyrai2md.py input

User manual

We are currently working on the user manual.

Cite us

  • Jingbai Li, Patrick Reiser, Benjamin R. Boswell, André Eberhard, Noah Z. Burns, Pascal Friederich, and Steven A. Lopez, "Automatic discovery of photoisomerization mechanisms with nanosecond machine learning photodynamics simulations", Chem. Sci. 2021. DOI: 10.1039/D0SC05610C
  • Jingbai Li, Rachel Stein, Daniel Adrion, Steven A. Lopez, "Machine-learning photodynamics simulations uncover the role of substituent effects on the photochemical formation of cubanes", ChemRxiv, preprint, DOI:10.33774/chemrxiv-2021-lxsjk
The 7th edition of NTIRE: New Trends in Image Restoration and Enhancement workshop will be held on June 2022 in conjunction with CVPR 2022.

NTIRE 2022 - Image Inpainting Challenge Important dates 2022.02.01: Release of train data (input and output images) and validation data (only input) 2

Andrés Romero 37 Nov 27, 2022
As a part of the HAKE project, includes the reproduced SOTA models and the corresponding HAKE-enhanced versions (CVPR2020).

HAKE-Action HAKE-Action (TensorFlow) is a project to open the SOTA action understanding studies based on our Human Activity Knowledge Engine. It inclu

Yong-Lu Li 94 Nov 18, 2022
PyTorch code for EMNLP 2021 paper: Don't be Contradicted with Anything! CI-ToD: Towards Benchmarking Consistency for Task-oriented Dialogue System

Don’t be Contradicted with Anything!CI-ToD: Towards Benchmarking Consistency for Task-oriented Dialogue System This repository contains the PyTorch im

Libo Qin 25 Sep 06, 2022
This is a project based on ConvNets used to identify whether a road is clean or dirty. We have used MobileNet as our base architecture and the weights are based on imagenet.

PROJECT TITLE: CLEAN/DIRTY ROAD DETECTION USING TRANSFER LEARNING Description: This is a project based on ConvNets used to identify whether a road is

Faizal Karim 3 Nov 06, 2022
Reproduction of Vision Transformer in Tensorflow2. Train from scratch and Finetune.

Vision Transformer(ViT) in Tensorflow2 Tensorflow2 implementation of the Vision Transformer(ViT). This repository is for An image is worth 16x16 words

sungjun lee 42 Dec 27, 2022
A collection of SOTA Image Classification Models in PyTorch

A collection of SOTA Image Classification Models in PyTorch

sithu3 85 Dec 30, 2022
Demo project for real time anomaly detection using kafka and python

kafkaml-anomaly-detection Project for real time anomaly detection using kafka and python It's assumed that zookeeper and kafka are running in the loca

Rodrigo Arenas 36 Dec 12, 2022
Deep Text Search is an AI-powered multilingual text search and recommendation engine with state-of-the-art transformer-based multilingual text embedding (50+ languages).

Deep Text Search - AI Based Text Search & Recommendation System Deep Text Search is an AI-powered multilingual text search and recommendation engine w

19 Sep 29, 2022
Discover hidden deepweb pages

DeepWeb Scapper Att: Demo version An simple script to scrappe deepweb to find pages. Will return if any of those exists and will save on a file. You s

Héber Júlio 77 Oct 02, 2022
Official implementation of "DSP: Dual Soft-Paste for Unsupervised Domain Adaptive Semantic Segmentation"

DSP Official implementation of "DSP: Dual Soft-Paste for Unsupervised Domain Adaptive Semantic Segmentation". Accepted by ACM Multimedia 2021. Authors

20 Oct 24, 2022
[NeurIPS 2021] PyTorch Code for Accelerating Robotic Reinforcement Learning with Parameterized Action Primitives

Robot Action Primitives (RAPS) This repository is the official implementation of Accelerating Robotic Reinforcement Learning via Parameterized Action

Murtaza Dalal 55 Dec 27, 2022
Target Propagation via Regularized Inversion

Target Propagation via Regularized Inversion The present code implements an ideal formulation of target propagation using regularized inverses compute

Vincent Roulet 0 Dec 02, 2021
A PyTorch implementation of EventProp [https://arxiv.org/abs/2009.08378], a method to train Spiking Neural Networks

Spiking Neural Network training with EventProp This is an unofficial PyTorch implemenation of EventProp, a method to compute exact gradients for Spiki

Pedro Savarese 35 Jul 29, 2022
A Home Assistant custom component for Lobe. Lobe is an AI tool that can classify images.

Lobe This is a Home Assistant custom component for Lobe. Lobe is an AI tool that can classify images. This component lets you easily use an exported m

Kendell R 4 Feb 28, 2022
code and models for "Laplacian Pyramid Reconstruction and Refinement for Semantic Segmentation"

Laplacian Pyramid Reconstruction and Refinement for Semantic Segmentation This repository contains code and models for the method described in: Golnaz

55 Jun 18, 2022
TensorFlow-based implementation of "Pyramid Scene Parsing Network".

PSPNet_tensorflow Important Code is fine for inference. However, the training code is just for reference and might be only used for fine-tuning. If yo

HsuanKung Yang 323 Dec 20, 2022
VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech

VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech Jaehyeon Kim, Jungil Kong, and Juhee Son In our rece

Jaehyeon Kim 1.7k Jan 08, 2023
PyTorch implementation of DirectCLR from paper Understanding Dimensional Collapse in Contrastive Self-supervised Learning

DirectCLR DirectCLR is a simple contrastive learning model for visual representation learning. It does not require a trainable projector as SimCLR. It

Meta Research 49 Dec 21, 2022
The codebase for our paper "Generative Occupancy Fields for 3D Surface-Aware Image Synthesis" (NeurIPS 2021)

Generative Occupancy Fields for 3D Surface-Aware Image Synthesis (NeurIPS 2021) Project Page | Paper Xudong Xu, Xingang Pan, Dahua Lin and Bo Dai GOF

xuxudong 97 Nov 10, 2022
official implementation for the paper "Simplifying Graph Convolutional Networks"

Simplifying Graph Convolutional Networks Updates As pointed out by #23, there was a subtle bug in our preprocessing code for the reddit dataset. After

Tianyi 727 Jan 01, 2023