Table of Contents
This repo uses PointNet [1], a neural network designed for computer vision applications using point clouds. In this study, a properly-trained PointNet was demonstrated to be highly generalizable on morphology detection in molecular simulations, and can be potentially extended to discovery of emerging ordered patterns from non-equilibrium systems.
The PointNet was trained on atomic coordinates of mesophases including lamellar (LAM), body-centered cubic (BCC), hexagonally-packed cylinder (HPC), hexagonally-perforeated lamellar (HPL), and disorderd (DIS) from molecular dynamics (MD) simulation trajectories from our previous work [2, 3, 4] and synthetic point clouds for ordered network morphologies that were absent from previous simulations, including double diamond (DD), double gyroid (DG), plumber's nightmare (P), and single gyroid (SG).
The PointNet architecture is taken from [1], also see implementation in Tensorflow (https://github.com/charlesq34/pointnet) and in PyTorch (https://github.com/fxia22/pointnet.pytorch). DeFever et. al. [5] also presented the use of PointNet to identify local structures in coarsed grained MD simulations.
pip install -m requirements.txt
- Download pre-processed
point_clouds
and raw training dataraw
from here. Note: theraw
folder contains 100 example.pdb
(~1.1 G) files for each structure. A complete data set contains ~38 G of data and will be available upon request. - Put
point_clouds
andraw
into thedata
folder.
- Generate point clouds (normalized coordinates of minority components) from original
.pdb
files (simulation frames):-c: name of the phases available formcd ./data python process_pdb.py -c LAM -t -r
.pdb
files (BCC, DIS, HPC, HPL, or LAM)
-t: perform random translations of point clouds wrapped by periodic boundary conditions
-r: perform random uniform rotations of point clouds wrapped by periodic boundary conditions - Generate point clouds of network structures:
-c: name of the network phases (DD, DG, P, or SG)
cd ./data python process_net.py -c DG -t -r -n 3000
-t: perform random translations of point clouds wrapped by periodic boundary conditions
-r: perform random uniform rotations of point clouds wrapped by periodic boundary conditions
-n: total number of point clouds (train + test) to generate
- Train the PointNet using preprocessed data:
-b: size of minibatch
cd ./utils python train_classification.py -b 128 -n 1000 -e 100 -d ../data/point_clouds/
-n: number of points selected from each point cloud, so that the input point clouds will have uniform dimension n*3
-e: number of training epochs
-d: data path\
The highest accuracy and the corresponding confusion matrices for different models:
Model | Strategy | Accuracy | CI |
---|---|---|---|
A | translation | 0.973 | 0.010 |
B | translation + STN | 0.957 | 0.011 |
C | translation + rotation | 0.983 | 0.009 |
D | translation + rotation + STN | 0.990 | 0.005 |
Download model states during training from trained_models
https://drive.google.com/drive/folders/1N8BjACdNCKTmEnRF46VKkoHufLV8VoMt?usp=sharing.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Project Link: https://github.com/donshen/pointnet.phasedetection
- C. R. Qi, H. Su, K. Mo and L. J. Guibas, PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017, 652–660. [link]
- Shen, Z. Chen, L. J.; Vernadskaia, V.; Ertem, S. P.; Mahanthappa, M. K.; Hillmyer, M. A. Reineke, T. M.; Lodge, T. P.; Siepmann, J. I. From Order to Disorder: Computational Design of Triblock Amphiphiles with 1 nm Domains. J. Am. Chem. Soc. 2020, 142, 9352‐9362. [link]
- Barreda, L.; Shen, Z.; Chen, Q. P.; Lodge, T. P.; Siepmann, J. I.; Hillmyer, M. A. Synthesis, Simulation, and Self‐Assembly of a Model Amphiphile to Push the Limits of Block Polymer Nanopatterning. Nano Lett. 2019, 19, 4458‐4462. [link]
- Chen, Q. P.; Barreda, L.; Oquendo, L. E.; Hillmyer, M. A.; Lodge, T. P.; Siepmann, J. I. Computational Design of High-χ Block Oligomers for Accessing 1 Nm Domains. ACS Nano 2018, 12, 4351− 4361. [link]
- R. S. DeFever, C. Targonski, S. W. Hall, M. C. Smith, and S. Sarupria, A generalized deep learning approach for local structure identification in molecular simulations, Chem. Sci. 2019, 10, 7503–7515. [link]
@article{shen2021development,
author = {Shen, Zhengyuan and Sun, Yangzesheng and Lodge, Timothy P. and Siepmann, J. Ilja},
title = {Development of a PointNet for detecting morphologies of self-assembled block oligomers in atomistic simulations},
journal = {J. Phys. Chem. B},
volume = {125},
number = {20},
pages = {5275-5284},
year = {2021},
doi = {10.1021/acs.jpcb.1c02389},
URL = {https://doi.org/10.1021/acs.jpcb.1c02389}
}