Giter Club home page Giter Club logo

osda_generator's Introduction

OSDA_Generator

This repository contains the code and data for Discovering Relationships between OSDAs and Zeolites through Data Mining and Generative Neural Networks (https://pubs.acs.org/doi/abs/10.1021/acscentsci.1c00024). It contains a data set mined from the scientific literature of OSDAs used to synthesize zeolite structures in different chemical environments along with the code necessary to train and use models cabable of generating ODSA suggestions for a given zeolite and gel chemistry system. This model uses the Deep-Drug-Coder model (https://github.com/pcko1/Deep-Drug-Coder), which users should explore if they want to change or understand the underlying model structure. Using the models (training or generating OSDAs) requires a GPU, however CPU-only machine will be able to access the data and use the conformer and featurization scripts.

Installation Instructions

  • Clone this repository and navigate to it.
  • Create the conda enivornment. conda env create -f env/environment.yml
  • Switch to the new environment. conda activate osda_env
  • Run the setup file. python setup.py install
  • Clone the Deep-Drug-Coder repository https://github.com/pcko1/Deep-Drug-Coder and navigate to it.
  • Switch the Deep-Drug-Coder branch to "nightly", git checkout nightly
  • Install Deep-Drug-Coder pip install .
  • Add the environment to jupyter python -m ipykernel install --name osda_env --display-name "osda_gen"

Data

The full data set used in the paper is available in data/Jensen_et_al_CentralScience_OSDA_Zeolite_data.xlsx. This data was automatically extracted from the scientific literature and then manually checked for accuracy. This data contains the DOI for each paper, the OSDAs used in the synthesis, some featurization of the OSDAs (WHIM, charge, etc), the resulting zeolite structure, some zeolite featurization taken from the IZA database (https://america.iza-structure.org/IZA-SC/ftc_table.php), and quantitative gel chemistry that specifies which elements are present within the synthesis gel.

Usage

The examples folder contains several example scripts for useful tasks

  • Train Models- trains a new model using user-specified train/test splits.
  • Generate OSDAs- generates OSDA predictions using a pre-trained model. The user specifies which zeolite structure and chemistry to target.
  • Get OSDA Conformers- calculates a specified number of conformers for each OSDA molecule. Can be done in parallel by making copies.
  • Calculate OSDA Decriptors, Visualize OSDA Space, and Draw Molecules- demonstrates how to calculate descriptors for each molecule using RDkit and ways to visualize the models and the WHIM space of the OSDAs.

Models

The models folder contains pre-trained models for use in generating new OSDAs, OSDA visualization, and zeolite featurization

Issues

Please report any issues found by opening an issue in this repository.

Cite

If you use this dataset or code in your work please cite as: Jensen, Zach, et al. "Discovering Relationships between OSDAs and Zeolites through Data Mining and Generative Neural Networks." ACS Central Science (2021).

osda_generator's People

Contributors

zjensen262 avatar elsaolivetti avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.