This repository is dedicated to the analysis of BuRNN (Buffer Region Neural Network) simulation at different main steps:
- Normal Mode Sampling and extraction of the most represenative structures
- Analysis of the training
- Analysis of the simulation
BuRNN is a Machine Leanerd Potential (MLP) method for hybrid QM/MM. It cosnsists to learn the energies at QM level of the inner + buffer region of the system to predict these energies during the simulation. For more information see the original paper
The analysis of the simulation is mostly focused on the benzene sovaltion properties.
Simulation were performed with a customized version of GROMOS v1.6.0 and QM calculations were computed with the ORCA software v46.1.
This repository contains 3 pythons files with utils functions:
- analysis.py --> Analysis of the training step, including RMSE, MAE and R2 metrics calculation and interactive plots.
- clustering.py --> Clusturing plot as dendrogram, PCA and density PCA + extraction of the most representative structures.
- md_analysis.py --> Analysis of the simulation: RDF, improper dihedrals, spectrum and energy comparison. The functions treat the ouput of the gromos ene_ana, rdf, tser qnd tcf analysis which have to be computed before.
This repository also include 3 Jupiter Notebooks which can be used as templates for the analyses:
- nms.ipynb --> Performe the NMS and analized the resulted conformation to finaly extracts the most representative structures.
- simulation_analysis.ipynb --> Compute the analysis of the Adaptive Sampling and full 2 ns simulation. Included RDF, improper dihedrals, spectrum and energy comparison for both classical and BuRNN simulation.
- training_analysis.ipynb --> Treat and compare the prediction of the models and save the graphs in a graph directory. The plots used here are interactive using Plotly.
- python: 3.10.15
- ase: 3.23.0
- numpy: 2.1.3
- pandas: 2.2.3
- plotly: 6.0.0
- matplotlib: 3.9.2
- schnetpack: 2.1.1
- scikit-learn: 1.6.0
- scipy: 1.14.1
- seaborn: 0.13.2
- torch: 2.4.1
- yaml: 6.0.2