# Example models for 3D molecular generation 

This directory contains LBANN implementations of 3D molecular generation models for Metal Organic Frameworks from the CoRE MOF Database. The models are based on 3D convolutional fliters on periodic 3D voxel grids. 


## Dataset Information 

The dataset used is a subset of the [CoRE MOF Database](https://gregchung.github.io/CoRE-MOFs/). Each Metal Organic Framework is represented as a 32x32x32x11 tensor. 

The representation is channel-wise concatenation of 11 32x32x32 voxel grids, where each voxel grid represents the location of a particular element. 

## Running Instructions

Run in conjuction with the correct slurm / lsf command: 

```
python3 main.py --nodes N  --procs-per-node P --mini-batch-size B 
```
## Testing Dataset 

To test the dataset: 

```
python3 -m unittest test/*
```

To test integration and performance:

```
cd test
python3 -m pytest 
```
## Links  

For more information on the data representation: 


@article {Kimeaax9324,
	author = {Kim, Baekjun and Lee, Sangwon and Kim, Jihan},
	title = {Inverse design of porous materials using artificial neural networks},
	volume = {6},
	number = {1},
	elocation-id = {eaax9324},
	year = {2020},
	doi = {10.1126/sciadv.aax9324},
	publisher = {American Association for the Advancement of Science},
	}
	eprint = {https://advances.sciencemag.org/content/6/1/eaax9324.full.pdf},
	journal = {Science Advances}
}

The model is based on the work supported by the National Science Foundation under Grant No. DMR-1940243.
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation
