software

Software we contribute to

MDIG is involved in a number of open source software projects for the materials science community. We believe in the power of open software to enrich and improve science. We try, wherever possible, to ensure that our computational work is accompanied by easy to use software. This often requires some significant additional effort and at times we have definitely cursed the decision to make software open and accessible, but the rewards have always been more than worth the effort.

SMACT

Semiconducting Materials by Analogy and Chemical Theory (SMACT) is a Python package for high-throughput virtual screening for new functional materials. SMACT uses chemical heuristics to search through vast compositional spaces to identify target functional materials. SMACT also has functionallity for deriving reasonable crystal structures for a given composition and can be used to interface with a range of modern machine learning techniques and atomistic modelling packages.

Code:https://github.com/WMD-group/SMACT Docs:https://smact.readthedocs.io/en/latest/

pip install smact

SMACT in action

Some publications where SMACT has been used to discover new materials:

MacroDensity

MacroDensity is a Python package for analysing and manipulating electron densities and electrostatic potential maps obtained from modern electronic strucutre codes. The primary functionality of MacroDensity is to obtain energy band alignment diagrams for extended solids, however it can also be used to explore and study potential maps for any arbitrary property.

Code:https://github.com/WMD-group/MacroDensity Docs:https://github.com/WMD-group/MacroDensity

pip install git+git://github.com/WMD-group/MacroDensity.git

MacroDensity in action

Some publications where MacroDensity has been used:

UnlockNN

UnlockNN is a Python package which can be used to combine the expressive power of graph neural networks with the principled uncertainty quantification of Gaussian processes. UnlockNN was written by Alex Moriarty - currently at UCL - and uses TensorFlow and TensorFlow Probability for an efficient implementation.

Code:https://github.com/a-ws-m/unlockNN Docs:https://unlocknn.readthedocs.io/en/latest/

pip install unlocknn

UnclockNN in action

Some publications where UnlockNN has been used:

SuperResTomo

superres-tomo is a package of useful scripts and models for applying neural networks for tomographic reconstruction of X-ray images. The package also includes models and scripts useful for the analysis of the images generated, allowing tasks such as semantic segmentation of very large images and removing noise from low dose images.

Code: https://github.com/keeeto/super_tomo_py Docs: https://superres-tomo.readthedocs.io/en/latest/about.html

SkipAtom

SkipAtom is an approach for creating distributed representations of atoms, for use in Machine Learning contexts. It is based on the Skip-gram model used widely in Natural Language Processing. SkipAtom is written by Luis Antunes who is currently pursuing a PhD at the University of Reading.

Code https://github.com/lantunes/skipatom Docs https://github.com/lantunes/skipatom

SkipAtom can be installed with:

pip install skipatom

However, this will install a minimal implementation that can be used to work with existing SkipAtom embeddings only. To train new embeddings, SkipAtom should be installed with:

pip install skipatom[training]

SkipAtom in action