Skip to content

Machine learning framework for electronic structure prediction of molecules

License

Notifications You must be signed in to change notification settings

SiyuChen/RoboBohr

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RoboBohr

RoboBohr is a machine learning framework for predicting electronic structure of molecules. RoboBohr currently has 4 modes of operation:

  1. query: Reads input sdf files and creates list of objects that contain types of atoms and coordinates for each entry in the sdf input. The list of these objects are then used to create input files for the pwscf code of the Quantum Espresso package.
  2. createFeatures: From the list of objects generated in the query step, creates a design matrix and saves on file.
  3. cluster: Creates job submission files for submitting the pwscf input files in an HPC environment. Torque and Slurm scheduling systems are supported.
  4. outcomes: Analyzes the output files generated from pwscf runs and stores relevant outcome quantities (e.g. ground state energies) and creates a log file.

Data

The sdf data files can be downloaded from the PubChem database. Specifically, their FTP server has all the data in sdf file format. In the examples provided, the Compound_3D/01_conf_per_cmpd/ folder has been used to generate molecular data.

There a sereval choices of features that are available. These include, pair-distances and Coulomb matrices. The Coulomb matrix features allows random copies of the same molecule with re-shuffled indices as well as the eigenspectrum for feature matrix construction.

In the folder utils simple utilies are included to download the whole PubChem data and parse it into JSON. This allows feature engineering besides the Coulomb Matrix representation for future studies.

Analysis

The main part of RoboBohr is written in Python with extensions written in C (wrapped using Cython). The data analsysis, visualization and training of learning algorithms are performed by R scripts included in the repo.

Article

The preprint of the article explaining RoboBohr can be accessed from here. An illustration of results from RoboBohr and alaysis performed in R can be found in the RPubs article

About

Machine learning framework for electronic structure prediction of molecules

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 68.8%
  • R 27.6%
  • C 2.6%
  • Other 1.0%