Skip to content

Analysis of disordered materials structure via machine learning

Notifications You must be signed in to change notification settings

paul-voyles/motifextraction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Motif Extraction and Point-Pattern Matching (3D)

This code uses three-dimensional point-pattern matching (ppm3d) to perform all-to-all alignments of the clusters in an atomic model. See the following papers for more information:

The latest version of the ppm3d code can be found at: https://github.com/spatala/ppm3d

The motif extraction code uses ppm3d to perform all-to-all alignments of the clusters in an atomic model.

Examples

The examples/ directory contains examples for both projects.

Inside the packages/motifextraction directory you will find three relevant directories. The alignment/ directory performs all pairwise alignments of the clusters. The clustering/ directory performs HDBSCAN to identify groups of similar clusters. The analyze_results/ directory takes the results from clustering/ and creates the motifs.

The packages/ppm3d directory contains the ppm3d code that was modified from https://github.com/spatala/ppm3d that enables the motif extraction workflow. The code in their repo will need to be downloaded and compiled as well (see the installation instructions below).

Citations

Please cite any of the relevant papers below (you can find the published DOIs):

See https://github.com/spatala/ppm3d for information on how to cite the ppm3d package written by Arash Dehghan Banadaki and Srikanth Patala.

Installation

In order to use Motif Extraction, you need to install two packages: motifextraction and ppm3d, both located in this repository. The ppm3d package in this repo relies heavily on the point-pattern matching code written by Arash Dehghan Banadaki and Srikanth Patala, which can be found here: https://github.com/spatala/ppm3d

First, download or git clone this repository to your computer.

Installing Point-Pattern Matching 3D

After you have downloaded this repo, open a terminal and cd to the .../motifextraction/packages/ppm3d/ directory. Then download or git clone Banadaki and Patala's ppm3d code from here: https://github.com/spatala/ppm3d Once downloaded, change the name of the downloaded folder from ppm3d to _ppm3d. cd into _ppm3d, then install the code following their installation instructions. It may take some time to compile.

Modify your PYTHONPATH environment variable to include the directory: .../motifextraction/packages. On Linux/Mac this can be done by running export PYTHONPATH=$PYTHONPATH:.../motifextraction/packages.

Installing Motif Extraction

To install the motif extraction code, the same path as above needs to be added to your PYTHONPATH. Simply make sure .../motifextraction/packages is in your PYTHONPATH.

Creating the voronoi Executable

The voronoi.cc file can be compiled by linking to the Voro++ library, and the resulting executable should be named voronoi and placed on your PATH environment variable. To compile the file by linking to Voro++, run this command (it may need some modification for your system): g++ -Wall -ansi -pedantic -O3 -I../../src -L../../src -o voronoi voronoi.cc -lvoro++

About

Analysis of disordered materials structure via machine learning

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages