Skip to content

This repo uses PointNet [1](https://arxiv.org/abs/1612.00593), 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 pat…

Notifications You must be signed in to change notification settings

donshen/pointnet.phasedetection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pointnet.phasedetection

Table of Contents
  1. About This Project
  2. Getting Started
  3. Usage
  4. Results
  5. Contributing
  6. Reference

§ About This Project

drawing

Publication Detail

Development of a PointNet for Detecting Morphologies of Self-Assembled Block Oligomers in Atomistic Simulations

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).

Relevant Work

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.

§ Getting Started

Prerequisites

pip install -m requirements.txt

Data Downloads

  1. Download pre-processed point_clouds and raw training data raw from here. Note: the raw 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.
  2. Put point_clouds and raw into the data folder.

§ Usage

Data Preprocessing:

  • Generate point clouds (normalized coordinates of minority components) from original .pdb files (simulation frames):
    cd ./data
    python process_pdb.py -c LAM -t -r 
    -c: name of the phases available form .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:
    cd ./data
    python process_net.py -c DG -t -r -n 3000
    -c: name of the network phases (DD, DG, P, or SG)
    -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

Training:

  • Train the PointNet using preprocessed data:
    cd ./utils
    python train_classification.py -b 128 -n 1000 -e 100 -d ../data/point_clouds/  
    -b: size of minibatch
    -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\

§ Results

The highest accuracy and the corresponding confusion matrices for different models:

Test Accuracy

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

Confusion Matrices

Model Downloads

Download model states during training from trained_models https://drive.google.com/drive/folders/1N8BjACdNCKTmEnRF46VKkoHufLV8VoMt?usp=sharing.

§ Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Project Link: https://github.com/donshen/pointnet.phasedetection

§ Reference

  1. 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]
  2. 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]
  3. 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]
  4. 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]
  5. 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]

§ Citation

@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}
}

About

This repo uses PointNet [1](https://arxiv.org/abs/1612.00593), 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 pat…

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages