Skip to content

jx-fan/reaction-network

 
 

Repository files navigation

Reaction Network

Pytest Status Code Coverage

Reaction network (rxn-network) is a Python package for predicting chemical reaction pathways in solid-state materials synthesis using combinatorial and graph-theorteical methods.

Installation directions

This package can be easily installed using pip:

pip install reaction-network

⚠️ While this will take care of most dependencies, if you are using any of the network-based features (i.e. within rxn_network.network), then graph-tool must be installed. Unfortunately, this cannot be installed through pip; please see https://graph-tool.skewed.de/ for more details. ⚠️

We recommend the following installation procedure which installs graph-tool through conda-forge.

conda install -c conda-forge graph-tool

For developers:

To install an editable version of the rxn-network code, simply clone the code from this repository, navigate to its directory, and then run the following command to install the requirements:

pip install -r requirements.txt
pip install -e .

Note that this only works if the repository is cloned from GitHub, such that it contains the proper metadata.

Tutorial notebooks

The notebooks folder contains two (2) demonstration notebooks:

  • enumerators.ipynb: how to enumerate reactions from a set of entries; running enumerators using Fireworks
  • network.ipynb: how to build reaction networks from a list of enumerators and entries; how to perform pathfinding to recommend balanced reaction pathways; running reaction network analysis using Fireworks

Citation

If you use this code or Python package in your work, please consider citing the following paper:

McDermott, M. J., Dwaraknath, S. S., and Persson, K. A. (2021). A graph-based network for predicting chemical reaction pathways in solid-state materials synthesis. Nature Communications, 12(1). https://doi.org/10.1038/s41467-021-23339-x

Acknowledgements

This work was supported as part of GENESIS: A Next Generation Synthesis Center, an Energy Frontier Research Center funded by the U.S. Department of Energy, Office of Science, Basic Energy Sciences under Award Number DE-SC0019212.

Learn more about the GENESIS EFRC here: https://www.stonybrook.edu/genesis/

About

Reaction Network is a Python package for predicting likely inorganic chemical reaction pathways using graph theory.

Resources

License

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages

  • Jupyter Notebook 90.5%
  • Python 9.5%