# ChemicalMotifIdentifier
 
This repository contains the codes necessary to perform a chemical-motif characterization of short-range order, as described in our [Quantifying chemical short-range order in metallic alloys](https://www.pnas.org/doi/abs/10.1073/pnas.2322962121) paper and our [Chemical-motif characterization of short-range order using E(3)-equivariant graph neural networks](https://www.nature.com/articles/s41524-024-01393-5) paper.
This framework allows for correlating any per-atom property to their local chemical motif. It also allows for the determination of predictive short-range chemical fluctuations length scale. It is based on E(3)-equivariant graph neural networks. Our framework has 100% accuracy in the identification of *any* motif that could ever be found in an fcc, bcc, or hcp solid solution with up to 5 chemical elements.

## Instalation
```bash
# To install the latest PyPi release
pip install --upgrade chemicalmotifidentifier
# To install the latest git commit
pip install --upgrade git+https://github.com/killiansheriff/ChemicalMotifIdentifier.git
```
You will also need to install ``torch``, ``torch_scatter`` and ``torch_geometric``.
## Example of usage
A jupyter notebook presenting a few test cases can be found in the [examples/](examples/) folder.
## References & Citing
If you use this repository in your work, please cite:
```
@article{sheriffquantifying2024,
title = {Quantifying chemical short-range order in metallic alloys},
doi = {10.1073/pnas.2322962121},
journaltitle = {Proceedings of the National Academy of Sciences},
author = {Sheriff, Killian and Cao, Yifan and Smidt, Tess and Freitas, Rodrigo},
date = {2024-06-18},
}
```
and
```
@article{sheriff2024chemicalmotif,
title = {Chemical-motif characterization of short-range order with E(3)-equivariant graph neural networks},
DOI = {10.1038/s41524-024-01393-5},
journal = {npj Computational Materials},
author = {Sheriff, Killian and Cao, Yifan and Freitas, Rodrigo},
year = {2024},
month = sep,
}
```
Raw data
{
"_id": null,
"home_page": "https://github.com/killiansheriff/ChemicalMotifIdentifier",
"name": "chemicalmotifidentifier",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Killian Sheriff",
"author_email": "ksheriff@mit.edu",
"download_url": "https://files.pythonhosted.org/packages/15/d5/4d8f2ac0990711ba83b99519f67024cbfd03e91a665eb79e754764deb61c/chemicalmotifidentifier-0.0.10.tar.gz",
"platform": null,
"description": "# ChemicalMotifIdentifier\n \n\nThis repository contains the codes necessary to perform a chemical-motif characterization of short-range order, as described in our [Quantifying chemical short-range order in metallic alloys](https://www.pnas.org/doi/abs/10.1073/pnas.2322962121) paper and our [Chemical-motif characterization of short-range order using E(3)-equivariant graph neural networks](https://www.nature.com/articles/s41524-024-01393-5) paper. \n\nThis framework allows for correlating any per-atom property to their local chemical motif. It also allows for the determination of predictive short-range chemical fluctuations length scale. It is based on E(3)-equivariant graph neural networks. Our framework has 100% accuracy in the identification of *any* motif that could ever be found in an fcc, bcc, or hcp solid solution with up to 5 chemical elements. \n\n\n\n## Instalation \n\n```bash\n# To install the latest PyPi release\npip install --upgrade chemicalmotifidentifier\n\n# To install the latest git commit \npip install --upgrade git+https://github.com/killiansheriff/ChemicalMotifIdentifier.git\n```\n\nYou will also need to install ``torch``, ``torch_scatter`` and ``torch_geometric``.\n\n## Example of usage\n\nA jupyter notebook presenting a few test cases can be found in the [examples/](examples/) folder.\n\n## References & Citing\nIf you use this repository in your work, please cite:\n\n```\n@article{sheriffquantifying2024,\n\ttitle = {Quantifying chemical short-range order in metallic alloys},\n\tdoi = {10.1073/pnas.2322962121},\n\tjournaltitle = {Proceedings of the National Academy of Sciences},\n\tauthor = {Sheriff, Killian and Cao, Yifan and Smidt, Tess and Freitas, Rodrigo},\n\tdate = {2024-06-18},\n}\n```\n\nand \n\n```\n@article{sheriff2024chemicalmotif,\n title = {Chemical-motif characterization of short-range order with E(3)-equivariant graph neural networks},\n DOI = {10.1038/s41524-024-01393-5},\n journal = {npj Computational Materials},\n author = {Sheriff, Killian and Cao, Yifan and Freitas, Rodrigo},\n year = {2024},\n month = sep,\n}\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Chemical Motif Identifier",
"version": "0.0.10",
"project_urls": {
"Homepage": "https://github.com/killiansheriff/ChemicalMotifIdentifier"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e9af857ffd3a96db4bf9a50ed79a0635ef15553b7b642c4ca6c18fdacf3db36c",
"md5": "4afb64563a4743d01d93b116ae4a0294",
"sha256": "0c22b01e753946d8d17d8224deefae1e255a6bf4b621ae541b1d05802530506e"
},
"downloads": -1,
"filename": "chemicalmotifidentifier-0.0.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4afb64563a4743d01d93b116ae4a0294",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 36342,
"upload_time": "2025-07-19T01:49:05",
"upload_time_iso_8601": "2025-07-19T01:49:05.851712Z",
"url": "https://files.pythonhosted.org/packages/e9/af/857ffd3a96db4bf9a50ed79a0635ef15553b7b642c4ca6c18fdacf3db36c/chemicalmotifidentifier-0.0.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "15d54d8f2ac0990711ba83b99519f67024cbfd03e91a665eb79e754764deb61c",
"md5": "d708fd1f8232af91d4a9c5da7099e64b",
"sha256": "7eb0295d50d10746d5dc4d18df530af3752929f36a5e06b384d7b1e5c12aeb44"
},
"downloads": -1,
"filename": "chemicalmotifidentifier-0.0.10.tar.gz",
"has_sig": false,
"md5_digest": "d708fd1f8232af91d4a9c5da7099e64b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 33489,
"upload_time": "2025-07-19T01:49:07",
"upload_time_iso_8601": "2025-07-19T01:49:07.097596Z",
"url": "https://files.pythonhosted.org/packages/15/d5/4d8f2ac0990711ba83b99519f67024cbfd03e91a665eb79e754764deb61c/chemicalmotifidentifier-0.0.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-19 01:49:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "killiansheriff",
"github_project": "ChemicalMotifIdentifier",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "chemicalmotifidentifier"
}