maml

Python for Materials Machine Learning, Materials Descriptors, Machine Learning Force Fields, Deep Learning, etc.

https://github.com/materialsvirtuallab/maml

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    11 of 33 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.6%) to scientific vocabulary

Keywords

deep-learning machine-learning machine-learning-force-field materials-discovery materials-science spectroscopy

Keywords from Contributors

mesh materials-informatics data-profiling energy-systems computational-chemistry optimade-specification spacy-extension chemistry computational-materials-science physics
Last synced: 6 months ago · JSON representation

Repository

Python for Materials Machine Learning, Materials Descriptors, Machine Learning Force Fields, Deep Learning, etc.

Basic Info
  • Host: GitHub
  • Owner: materialsvirtuallab
  • License: bsd-3-clause
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage:
  • Size: 153 MB
Statistics
  • Stars: 425
  • Watchers: 19
  • Forks: 89
  • Open Issues: 11
  • Releases: 15
Topics
deep-learning machine-learning machine-learning-force-field materials-discovery materials-science spectroscopy
Created about 6 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation

README.md

maml

GitHub license Linting Testing Downloads codecov

maml (MAterials Machine Learning) is a Python package that aims to provide useful high-level interfaces that make ML for materials science as easy as possible.

The goal of maml is not to duplicate functionality already available in other packages. maml relies on well-established packages such as scikit-learn and tensorflow for implementations of ML algorithms, as well as other materials science packages such as pymatgen and matminer for crystal/molecule manipulation and feature generation.

Official documentation at https://materialsvirtuallab.github.io/maml/

Features

  1. Convert materials (crystals and molecules) into features. In addition to common compositional, site and structural features, we provide the following fine-grain local environment features.

a) Bispectrum coefficients b) Behler Parrinello symmetry functions c) Smooth Overlap of Atom Position (SOAP) d) Graph network features (composition, site and structure)

  1. Use ML to learn relationship between features and targets. Currently, the maml supports sklearn and keras models.

  2. Applications:

a) pes for modelling the potential energy surface, constructing surrogate models for property prediction.

i) Neural Network Potential (NNP) ii) Gaussian approximation potential (GAP) with SOAP features iii) Spectral neighbor analysis potential (SNAP) iv) Moment Tensor Potential (MTP)

b) rfxas for random forest models in predicting atomic local environments from X-ray absorption spectroscopy.

c) bowsr for rapid structural relaxation with bayesian optimization and surrogate energy model.

Installation

Pip install via PyPI:

bash pip install maml

To run the potential energy surface (pes), lammps installation is required you can install from source or from conda::

bash conda install -c conda-forge/label/cf202003 lammps

The SNAP potential comes with this lammps installation. The GAP package for GAP and MLIP package for MTP are needed to run the corresponding potentials. For fitting NNP potential, the n2p2 package is needed.

Install all the libraries from requirements.txt file::

bash pip install -r requirements.txt

For all the requirements above:

bash pip install -r requirements-ci.txt pip install -r requirements-optional.txt pip install -r requirements-dl.txt pip install -r requirements.txt

Usage

Many Jupyter notebooks are available on usage. See notebooks. We also have a tool and tutorial lecture at nanoHUB.

API documentation

See API docs.

Citing

txt @misc{ maml, author = {Chen, Chi and Zuo, Yunxing, Ye, Weike, Ji, Qi and Ong, Shyue Ping}, title = {{Maml - materials machine learning package}}, year = {2020}, publisher = {GitHub}, journal = {GitHub repository}, howpublished = {\url{https://github.com/materialsvirtuallab/maml}}, }

For the ML-IAP package (maml.pes), please cite::

txt Zuo, Y.; Chen, C.; Li, X.; Deng, Z.; Chen, Y.; Behler, J.; Csnyi, G.; Shapeev, A. V.; Thompson, A. P.; Wood, M. A.; Ong, S. P. Performance and Cost Assessment of Machine Learning Interatomic Potentials. J. Phys. Chem. A 2020, 124 (4), 731745. https://doi.org/10.1021/acs.jpca.9b08723.

For the BOWSR package (maml.bowsr), please cite::

txt Zuo, Y.; Qin, M.; Chen, C.; Ye, W.; Li, X.; Luo, J.; Ong, S. P. Accelerating Materials Discovery with Bayesian Optimization and Graph Deep Learning. Materials Today 2021, 51, 126135. https://doi.org/10.1016/j.mattod.2021.08.012.

For the AtomSets model (maml.models.AtomSets), please cite::

txt Chen, C.; Ong, S. P. AtomSets as a hierarchical transfer learning framework for small and large materials datasets. Npj Comput. Mater. 2021, 7, 173. https://doi.org/10.1038/s41524-021-00639-w

Owner

  • Name: Materials Virtual Lab
  • Login: materialsvirtuallab
  • Kind: organization
  • Email: ongsp@ucsd.edu
  • Location: La Jolla, CA

The Materials Virtual Lab is dedicated to the application of first principles calculations and informatics to accelerate materials design.

GitHub Events

Total
  • Create event: 22
  • Release event: 2
  • Issues event: 6
  • Watch event: 59
  • Delete event: 26
  • Member event: 1
  • Issue comment event: 46
  • Push event: 65
  • Pull request review event: 5
  • Pull request review comment event: 3
  • Pull request event: 56
  • Fork event: 12
Last Year
  • Create event: 22
  • Release event: 2
  • Issues event: 6
  • Watch event: 59
  • Delete event: 26
  • Member event: 1
  • Issue comment event: 46
  • Push event: 65
  • Pull request review event: 5
  • Pull request review comment event: 3
  • Pull request event: 56
  • Fork event: 12

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 1,259
  • Total Committers: 33
  • Avg Commits per committer: 38.152
  • Development Distribution Score (DDS): 0.732
Past Year
  • Commits: 90
  • Committers: 8
  • Avg Commits per committer: 11.25
  • Development Distribution Score (DDS): 0.567
Top Committers
Name Email Commits
Chi Chen c****3@e****u 337
Shyue Ping Ong s****p@g****m 202
dependabot-preview[bot] 2****] 192
dependabot[bot] 4****] 159
YunxingZuo z****g@m****n 89
Shyue Ping Ong sp@o****i 70
w6ye w****e@u****u 46
pre-commit-ci[bot] 6****] 42
JiQi535 j****i@e****u 34
Ji Qi q****i@j****m 17
Zishen Wang 6****z 12
Ji Qi q****i@b****u 9
Ji Qi q****i@J****l 8
Ji Qi q****i@J****l 6
Janosh Riebesell j****l@g****m 6
Ji Qi q****i@J****n 5
kenko911 k****1@g****m 4
Ji Qi q****i@b****u 3
Chi Chen c****3@u****u 2
Hui Zheng h****1@e****u 2
mausam1112 4****2 2
Ji Qi q****i@J****l 1
JJ jj@t****m 1
Ji Qi q****i@J****l 1
Ji Qi j****i@l****u 1
Hexuan Peng h****5@c****u 1
JiQi535 5****5 1
Matthew Evans 7****s 1
Rhys Goodall r****l@o****m 1
Sean Kavanagh s****9@i****k 1
and 3 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 28
  • Total pull requests: 319
  • Average time to close issues: 3 months
  • Average time to close pull requests: 27 days
  • Total issue authors: 24
  • Total pull request authors: 13
  • Average comments per issue: 2.71
  • Average comments per pull request: 0.96
  • Merged pull requests: 192
  • Bot issues: 1
  • Bot pull requests: 270
Past Year
  • Issues: 4
  • Pull requests: 67
  • Average time to close issues: 8 days
  • Average time to close pull requests: about 2 months
  • Issue authors: 4
  • Pull request authors: 8
  • Average comments per issue: 0.5
  • Average comments per pull request: 1.19
  • Merged pull requests: 26
  • Bot issues: 0
  • Bot pull requests: 50
Top Authors
Issue Authors
  • janosh (4)
  • michaelmacisaac (2)
  • dependabot[bot] (2)
  • loilisxka (1)
  • tomblister (1)
  • QuantumMisaka (1)
  • zhenming-xu (1)
  • Mu-Jinming (1)
  • Guancred (1)
  • Andrew-S-Rosen (1)
  • aishwaryo (1)
  • shyuep (1)
  • mind-dime (1)
  • kavanase (1)
  • wilsonnieto (1)
Pull Request Authors
  • dependabot[bot] (258)
  • pre-commit-ci[bot] (29)
  • JiQi535 (19)
  • zz11ss11zz (8)
  • kenko911 (6)
  • drakeyu (4)
  • Andrew-S-Rosen (4)
  • janosh (3)
  • dsun980701 (2)
  • computerscienceiscool (2)
  • kavanase (2)
  • ml-evs (1)
  • Tinaatucsd (1)
Top Labels
Issue Labels
bug (5) dependencies (2)
Pull Request Labels
dependencies (257) python (14)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 418 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 42
  • Total maintainers: 2
proxy.golang.org: github.com/materialsvirtuallab/maml
  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
pypi.org: maml

MAterials Machine Learning (maml) is a machine learning library for materials science.

  • Versions: 19
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 418 Last month
Rankings
Stargazers count: 3.7%
Dependent packages count: 4.8%
Forks count: 5.5%
Average: 9.7%
Downloads: 13.1%
Dependent repos count: 21.6%
Maintainers (2)
Last synced: 6 months ago
conda-forge.org: maml

maml (MAterials Machine Learning) is a Python package that aims to provide useful high-level interfaces that make ML for materials science as easy as possible. The goal of maml is not to duplicate functionality already available in other packages. maml relies on well-established packages such as scikit-learn and tensorflow for implementations of ML algorithms, as well as other materials science packages such as pymatgen and matminer for crystal/ molecule manipulation and feature generation.

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Stargazers count: 24.0%
Forks count: 24.0%
Average: 33.3%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 6 months ago

Dependencies

.github/workflows/linting.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/release.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/testing.yml actions
  • AndreMiras/coveralls-python-action v20201129 composite
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite