Skip to main content

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 = nanoreactor_network.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:

  1. A. Stan et al., J. Chem. Theory Comput. (2022); https://doi.org/10.1021/acs.jctc.2c00754

Other references:

  1. L.-P. Wang et al., Nat. Chem. (2014); https://doi.org/10.1038/nchem.2099
  2. K. Wiberg, Tetrahedron (1968); https://doi.org/10.1016/0040-4020(68)88057-3
  3. G. Landrum, "RDKit: Open-source cheminformatics. https://www.rdkit.org"; https://doi.org/10.5281/zenodo.5085999

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nanoreactor_processing-1.1.1.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

nanoreactor_processing-1.1.1-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file nanoreactor_processing-1.1.1.tar.gz.

File metadata

  • Download URL: nanoreactor_processing-1.1.1.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for nanoreactor_processing-1.1.1.tar.gz
Algorithm Hash digest
SHA256 c5111601d627a322a4b7e9ff904a33e5c2c05f38b785fafe6fac80a1587f5533
MD5 236d8b9b221e77289ab2af4995ec5dee
BLAKE2b-256 785becbbc552b1ffd088a0a2ebcf366ab1f6b76911dad1bfee41da024c8f0e07

See more details on using hashes here.

File details

Details for the file nanoreactor_processing-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nanoreactor_processing-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 70cf9ba08a2a8371a786afaaa18ddd6dbc8e27228a23999f578e575e9d623768
MD5 7b0c0cbc1e2e36bd316705a88a40c9d3
BLAKE2b-256 7e62066cb36f2db65f8a1fcf73d448fd0fe38df7be910af8fe9b6b0aa353f02d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page