Automated evaluation of computational nanoreactor simulations
Project description
Processing of Computational Nanoreactor Simulations
This package implements various tools to automatically post-process and evaluate nanoreactor MD simulations.
Available tools include
-
Automated molecule recognition [1] from ab initio nanoreactor simulations [2] based on Wiberg Bond Orders [3]
-
Automated network construction [1]
-
RDKit [4] based event recognition
-
stored list of reactions for further refinement
-
-
Visualization tools (plots, molecular grids, PyMOL movie (available only directly from GitHub repository))
Install:
To install nanoreactor_processing type:
$ pip install nanoreactor-processing
Requirements:
- python >= 3.8
- numpy >= 1.23
- scipy >= 1.8
- pandas >= 1.4
- networkx >= 2.8
- matplotlib >= 3.5
- seaborn >= 0.11
- pyvis >= 0.2
- rdkit >= 2021.03.4
Basic Usage:
To use the functions implemented in nanoreactor_processing you should be able to generate files with the following format from your MD simulation:
Trajectory: .xyz file
Format:
1 number of atoms
2 TIME: time step
3 elem x y z
4 elem x y z
.
.
Bond order file: only the upper triangular matrix needs to be stored
Format:
1 TIME: time step
2 wbo(0,1)
3 wbo(0,2)
4 wbo(0,3)
.
.
To start the automated post-processing for your ab initio nanoreactor simulations you have to first create a NanoSim object:
import nanoreactor_processing
from nanoreactor_processing import *
from nanoreactor_processing import NanoSim
from nanoreactor_processing import NanoNetwork
nanoSim = NanoSim(path_to_traj, path_to_bo_file)
# apply functions to your newly created object to generate fragments and compute SMILES:
nanoSim.generate_frag_lists()
nanoSim.generate_mols_SMILES
...
If you have already generated the fragment file (mols file), then you can also include it as an argument to speed up the evaluation:
...
nanoSim = NanoSim(path_to_traj, path_to_bo_file, path_to_mols_file)
...
To generate the reaction network use the stored data frame:
...
df = read_write_utils.read_trafo_df(path_to_df)
reactions_list = construct_reactions_list(df)
nanoNet = NanoNetwork()
nanoNet.create_network(reactions_list)
...
If you encounter any problems with the Draw module in RDKit try to add the following line to your script:
from rdkit.Chem.Draw import IPythonConsole
The scripts for generating a PyMOL movie from your trajectory and data frame are available only at GitHub as they require PyMOL as an interpreter. A free version of PyMOL can be installed with:
$ apt-get install pymol
Documentation:
Code documentation can be created with pdoc3:
$ pip install pdoc3
$ pdoc3 --html nanoreactor_processing -o doc/
References:
This work:
- A. Stan et al., J. Chem. Theory Comput., accepted (2022)
Other references:
- L.-P. Wang et al., Nat. Chem. (2014); https://doi.org/10.1038/nchem.2099
- K. Wiberg, Tetrahedron (1968); https://doi.org/10.1016/0040-4020(68)88057-3
- G. Landrum, "RDKit: Open-source cheminformatics. https://www.rdkit.org"; https://doi.org/10.5281/zenodo.5085999
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
Built Distribution
Hashes for nanoreactor_processing-1.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5dd242b90aafbc0ddbdae79ff9af2d61220703b973c636a85cd9efa5ea31128a |
|
MD5 | d9073366e97000d484cbed7c3a89a497 |
|
BLAKE2b-256 | ff544b584acb1142c440a330494af152d86be96484c5b675e4426cf123534b29 |
Hashes for nanoreactor_processing-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c7c3ec9b10e00e7c5bd68c3f461b88245155f94eed16f6e645f1478ebda78d8 |
|
MD5 | 591b3e2512b580418298b7130e142a63 |
|
BLAKE2b-256 | e3ff7e797e65c0629b4e5716aa60a96a27afc012edd42da68c04a3c0a2df7934 |