maml


Namemaml JSON
Version 2024.6.13 PyPI version JSON
download
home_pageNone
SummaryMAterials Machine Learning (maml) is a machine learning library for materials science.
upload_time2024-06-13 15:29:45
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseBSD-3-Clause
keywords materials interatomic potential force field science property prediction ai machine learning graph deep learning
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <img src="https://github.com/materialsvirtuallab/maml/blob/master/resources/logo_horizontal.png?raw=true" alt="maml" width="50%">

[![GitHub license](https://img.shields.io/github/license/materialsvirtuallab/maml)](https://github.com/materialsvirtuallab/maml/blob/main/LICENSE)
[![Linting](https://github.com/materialsvirtuallab/maml/workflows/Linting/badge.svg)](https://github.com/materialsvirtuallab/maml/workflows/Linting/badge.svg)
[![Testing](https://github.com/materialsvirtuallab/maml/workflows/Testing/badge.svg)](https://github.com/materialsvirtuallab/maml/workflows/Testing/badge.svg)
[![Downloads](https://pepy.tech/badge/maml)](https://pepy.tech/project/maml)
[![codecov](https://codecov.io/gh/materialsvirtuallab/maml/branch/master/graph/badge.svg?token=QNL1CRLVVL)](https://codecov.io/gh/materialsvirtuallab/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](http://pymatgen.org) and [matminer](http://hackingmaterials.lbl.gov/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)

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

3. 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 requirement.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](/notebooks). We also have a tool and tutorial lecture
at [nanoHUB](https://nanohub.org/resources/maml).

# API documentation

See [API docs](https://materialsvirtuallab.github.io/maml/maml.html).

# 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.; Csányi, 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), 731–745. 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, 126–135.
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
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "maml",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "materials, interatomic potential, force field, science, property prediction, AI, machine learning, graph, deep learning",
    "author": null,
    "author_email": "Chi Chen <t1ko@ucsd.edu>, Yunxing Zuo <marcel.nassar@intel.com>, Ji Qi <j1qi@ucsd.edu>, Shyue Ping Ong <ongsp@ucsd.edu>",
    "download_url": "https://files.pythonhosted.org/packages/8a/12/bd817a229870909c62a23a526fd7d25743def88725525c7de80041743440/maml-2024.6.13.tar.gz",
    "platform": null,
    "description": "<img src=\"https://github.com/materialsvirtuallab/maml/blob/master/resources/logo_horizontal.png?raw=true\" alt=\"maml\" width=\"50%\">\n\n[![GitHub license](https://img.shields.io/github/license/materialsvirtuallab/maml)](https://github.com/materialsvirtuallab/maml/blob/main/LICENSE)\n[![Linting](https://github.com/materialsvirtuallab/maml/workflows/Linting/badge.svg)](https://github.com/materialsvirtuallab/maml/workflows/Linting/badge.svg)\n[![Testing](https://github.com/materialsvirtuallab/maml/workflows/Testing/badge.svg)](https://github.com/materialsvirtuallab/maml/workflows/Testing/badge.svg)\n[![Downloads](https://pepy.tech/badge/maml)](https://pepy.tech/project/maml)\n[![codecov](https://codecov.io/gh/materialsvirtuallab/maml/branch/master/graph/badge.svg?token=QNL1CRLVVL)](https://codecov.io/gh/materialsvirtuallab/maml)\n\nmaml (MAterials Machine Learning) is a Python package that aims to provide useful high-level interfaces that make ML\nfor materials science as easy as possible.\n\nThe goal of maml is not to duplicate functionality already available in other packages. maml relies on well-established\npackages such as scikit-learn and tensorflow for implementations of ML algorithms, as well as other materials science\npackages such as [pymatgen](http://pymatgen.org) and [matminer](http://hackingmaterials.lbl.gov/matminer/) for\ncrystal/molecule manipulation and feature generation.\n\nOfficial documentation at https://materialsvirtuallab.github.io/maml/\n\n# Features\n\n1. Convert materials (crystals and molecules) into features. In addition to common compositional, site and structural\n   features, we provide the following fine-grain local environment features.\n\n a) Bispectrum coefficients\n b) Behler Parrinello symmetry functions\n c) Smooth Overlap of Atom Position (SOAP)\n d) Graph network features (composition, site and structure)\n\n2. Use ML to learn relationship between features and targets. Currently, the `maml` supports `sklearn` and `keras`\n   models.\n\n3. Applications:\n\n a) `pes` for modelling the potential energy surface, constructing surrogate models for property prediction.\n\n  i) Neural Network Potential (NNP)\n  ii) Gaussian approximation potential (GAP) with SOAP features\n  iii) Spectral neighbor analysis potential (SNAP)\n  iv) Moment Tensor Potential (MTP)\n\n b) `rfxas` for random forest models in predicting atomic local environments from X-ray absorption spectroscopy.\n\n c) `bowsr` for rapid structural relaxation with bayesian optimization and surrogate energy model.\n\n# Installation\n\nPip install via PyPI:\n\n```bash\npip install maml\n```\n\nTo run the potential energy surface (pes), lammps installation is required you can install from source or from `conda`::\n\n```bash\nconda install -c conda-forge/label/cf202003 lammps\n```\n\nThe 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.\n\nInstall all the libraries from requirement.txt file::\n\n```bash\npip install -r requirements.txt\n```\n\nFor all the requirements above::\n\n```bash\npip install -r requirements-ci.txt\npip install -r requirements-optional.txt\npip install -r requirements-dl.txt\npip install -r requirements.txt\n```\n\n# Usage\n\nMany Jupyter notebooks are available on usage. See [notebooks](/notebooks). We also have a tool and tutorial lecture\nat [nanoHUB](https://nanohub.org/resources/maml).\n\n# API documentation\n\nSee [API docs](https://materialsvirtuallab.github.io/maml/maml.html).\n\n# Citing\n\n```txt\n@misc{\n    maml,\n    author = {Chen, Chi and Zuo, Yunxing, Ye, Weike, Ji, Qi and Ong, Shyue Ping},\n    title = {{Maml - materials machine learning package}},\n    year = {2020},\n    publisher = {GitHub},\n    journal = {GitHub repository},\n    howpublished = {\\url{https://github.com/materialsvirtuallab/maml}},\n}\n```\n\nFor the ML-IAP package (`maml.pes`), please cite::\n\n```txt\nZuo, Y.; Chen, C.; Li, X.; Deng, Z.; Chen, Y.; Behler, J.; Cs\u00e1nyi, G.; Shapeev, A. V.; Thompson, A. P.;\nWood, M. A.; Ong, S. P. Performance and Cost Assessment of Machine Learning Interatomic Potentials.\nJ. Phys. Chem. A 2020, 124 (4), 731\u2013745. https://doi.org/10.1021/acs.jpca.9b08723.\n```\n\nFor the BOWSR package (`maml.bowsr`), please cite::\n\n```txt\nZuo, Y.; Qin, M.; Chen, C.; Ye, W.; Li, X.; Luo, J.; Ong, S. P. Accelerating Materials Discovery with Bayesian\nOptimization and Graph Deep Learning. Materials Today 2021, 51, 126\u2013135.\nhttps://doi.org/10.1016/j.mattod.2021.08.012.\n```\n\nFor the AtomSets model (`maml.models.AtomSets`), please cite::\n\n```txt\nChen, C.; Ong, S. P. AtomSets as a hierarchical transfer learning framework for small and large materials\ndatasets. Npj Comput. Mater. 2021, 7, 173. https://doi.org/10.1038/s41524-021-00639-w\n```\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "MAterials Machine Learning (maml) is a machine learning library for materials science.",
    "version": "2024.6.13",
    "project_urls": null,
    "split_keywords": [
        "materials",
        " interatomic potential",
        " force field",
        " science",
        " property prediction",
        " ai",
        " machine learning",
        " graph",
        " deep learning"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ca7534de1e6975888ef2bc1dbe572573bdcb7de67a2bbf380f46eeb948c2c4e6",
                "md5": "8e8aedf92114666a28a0da9eb43819f5",
                "sha256": "eed2ab27739f869cea0c657d66a8224bac02a5bd04cb19ab5baecc53aca2d2fd"
            },
            "downloads": -1,
            "filename": "maml-2024.6.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8e8aedf92114666a28a0da9eb43819f5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 2258320,
            "upload_time": "2024-06-13T15:29:41",
            "upload_time_iso_8601": "2024-06-13T15:29:41.741800Z",
            "url": "https://files.pythonhosted.org/packages/ca/75/34de1e6975888ef2bc1dbe572573bdcb7de67a2bbf380f46eeb948c2c4e6/maml-2024.6.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8a12bd817a229870909c62a23a526fd7d25743def88725525c7de80041743440",
                "md5": "6bf08f26eac2ba2f5ff21ce27e8371f3",
                "sha256": "7902e00973a5ef1143b783e7ef8c0fa1dad8c4cd73b621a86b440af0ab36c042"
            },
            "downloads": -1,
            "filename": "maml-2024.6.13.tar.gz",
            "has_sig": false,
            "md5_digest": "6bf08f26eac2ba2f5ff21ce27e8371f3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 2224472,
            "upload_time": "2024-06-13T15:29:45",
            "upload_time_iso_8601": "2024-06-13T15:29:45.774885Z",
            "url": "https://files.pythonhosted.org/packages/8a/12/bd817a229870909c62a23a526fd7d25743def88725525c7de80041743440/maml-2024.6.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-13 15:29:45",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "maml"
}
        
Elapsed time: 3.31068s