Skip to content

LIVazquezS/Asparagus

Repository files navigation

Project Asparagus

Authors: K. Toepfer, L.I. Vazquez-Salazar

What is this?

  • A refined implementation of PhysNet NN (and other atomistic NN to come) in PyTorch.
  • A Suit for the automatic construction of Potential Energy Surface (PES) from sampling to production.

How to use?

  • Clone the repository
  • Requirements:
    • Python 3.8 (I recommend to use 3.8.12, DO NOT use 3.9)
    • PyTorch 1.10
    • Torch-ema 0.3
    • TensorBoardX 2.4
    • Atomic Simulation Environment (ASE) 3.21
    • xtb
    • pandas
    • scipy

Setting up the environment

We recommend to use Mamba for the creation of a virtual environment.

Once in mamba, you can create a virtual enviroment called asparagus

mamba create --name asparagus python=3.8

To activate the virtual environment use the command:

mamba activate asparagus

Installation

Installation must be done in the virtual environment through pip. It is important to mention that the path where you are working will be added to the PYTHONPATH, so you can import the modules from anywhere.

Install via pip:

pip install -e .

Alternatively, install via setup.py:

python setup.py install

BEWARE: With this command any modification that is done to the code in the folder asparagus will be automatically reflected in the modules that you import.

NOTE: Everytime you want to import the module, you must use the following command:

from asparagus import Asparagus

Then Asparagus is a function that takes some arguments.

Documentation

Please check our documentation here

What needs to be added?

  • Add more NN architectures (Low priority)
  • Read parameters from older PhysNet Versions (i.e. TF1 and TF2) (Luis)
  • Add sampling methods:
    • MD with XTB
    • MC with XTB
    • Normal Model Sampling (Vanilla with random generation)
    • Normal Model Scanning
    • Umbrella Sampling (Low priority)
    • Metadynamics Sampling
  • Electronic structure calculations:
    • ASE calculator (As good as it can be)
    • Automatic generation of input files for commonly used codes (e.g. Gaussian, Orca, MOLPRO, etc.)
    • Automatic extraction of information from output files
  • Trainer class:
    • Training of model ensemble
  • Tester class:
    • Finish automatic evaluation
  • Active learning
    • Adaptive Sampling
    • Uncertainty calculations
      • Model ensemble via ASE calculator
      • Deep Evidential Regression (Low priority)
  • Tools class:
    • Normal mode calculation (Luis)
    • Minimum energy path and Minimum dynamic path
    • Diffusion MonteCarlo
    • Others(?)
  • Production:
    • PyCharmm
    • ASE calculator for dynamics
  • Documentation:
    • Improve documentation
    • Add examples
    • Add tutorials

Contact

For any questions, please open an issue in the repository.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published