{"id":16511296,"url":"https://github.com/comprhys/aviary","last_synced_at":"2025-04-10T00:18:15.736Z","repository":{"id":37027050,"uuid":"411272553","full_name":"CompRhys/aviary","owner":"CompRhys","description":"The Wren sits on its Roost in the Aviary.","archived":false,"fork":false,"pushed_at":"2025-04-07T22:01:47.000Z","size":30888,"stargazers_count":53,"open_issues_count":2,"forks_count":13,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-10T00:18:09.021Z","etag":null,"topics":["machine-learning","material-science","materials-discovery","roost","wren"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CompRhys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"citation.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-28T12:29:05.000Z","updated_at":"2025-04-07T22:01:50.000Z","dependencies_parsed_at":"2023-02-18T11:48:47.668Z","dependency_job_id":"ae8a6e00-13ea-47f6-99a6-04af37f91755","html_url":"https://github.com/CompRhys/aviary","commit_stats":{"total_commits":602,"total_committers":5,"mean_commits":120.4,"dds":"0.40863787375415284","last_synced_commit":"a2de5b723da8ba4070d39ce130f36cb9eebdd3ce"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CompRhys%2Faviary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CompRhys%2Faviary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CompRhys%2Faviary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CompRhys%2Faviary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CompRhys","download_url":"https://codeload.github.com/CompRhys/aviary/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248131318,"owners_count":21052820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["machine-learning","material-science","materials-discovery","roost","wren"],"created_at":"2024-10-11T15:59:44.715Z","updated_at":"2025-04-10T00:18:15.706Z","avatar_url":"https://github.com/CompRhys.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eAviary\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n\n![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)\n[![GitHub Repo Size](https://img.shields.io/github/repo-size/comprhys/aviary?label=Repo+Size)](https://github.com/comprhys/aviary/graphs/contributors)\n[![GitHub last commit](https://img.shields.io/github/last-commit/comprhys/aviary?label=Last+Commit)](https://github.com/comprhys/aviary/commits)\n[![Tests](https://github.com/CompRhys/aviary/actions/workflows/test.yml/badge.svg)](https://github.com/CompRhys/aviary/actions/workflows/test.yml)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/CompRhys/aviary/main.svg)](https://results.pre-commit.ci/latest/github/CompRhys/aviary/main)\n[![This project supports Python 3.9+](https://img.shields.io/badge/Python-3.9+-blue.svg?logo=python\u0026logoColor=white)](https://python.org/downloads)\n\n\u003c/h4\u003e\n\nThe aim of `aviary` is to contain multiple models for materials discovery under a common interface, over time we hope to add more models with a particular focus on coordinate-free deep learning models.\n\n## Installation\n\nUsers can install `aviary` from source with\n\n```sh\npip install -U git+https://github.com/CompRhys/aviary\n```\n\nor for an editable source install from a local clone:\n\n```sh\ngit clone https://github.com/CompRhys/aviary\npip install -e ./aviary\n```\n\n## Example Use from CLI\n\nTo test the input files generation and cleaning/canonicalization please run:\n\n```sh\npython examples/inputs/poscar_to_df.py\n```\n\nThis script will load and parse a subset of raw POSCAR files from the TAATA dataset and produce the `datasets/examples/examples.csv` and `datasets/examples/examples.json` files used for the next example.\nFor the coordinate-free `roost` and `wren` models where the inputs are easily expressed as strings we use CSV inputs.\nFor the structure-based `cgcnn` model we first construct `pymatgen` structures from the raw POSCAR files then determine their dictionary serializations before saving in a JSON format.\nThe raw POSCAR files have been selected to ensure that the subset contains all the correct endpoints for the 5 elemental species in the `Hf-N-Ti-Zr-Zn` chemical system.\nTo test each of the three models provided please run:\n\n```sh\npython examples/roost-example.py --train --evaluate --data-path examples/inputs/examples.csv --targets E_f --tasks regression --losses L1 --robust --epoch 10\n```\n\n```sh\npython examples/wren-example.py --train --evaluate --data-path examples/inputs/examples.csv --targets E_f --tasks regression --losses L1 --robust --epoch 10\n```\n\n```sh\npython examples/cgcnn-example.py --train --evaluate --data-path examples/inputs/examples.json --targets E_f --tasks regression --losses L1 --robust --epoch 10\n```\n\nPlease note that for speed/demonstration purposes this example runs on only ~68 materials for 10 epochs - running all these examples should take \u003c 30 sec. These examples do not have sufficient data or training to make accurate predictions, however, the same scripts were used for all experiments conducted as part of the development and publication of these models.\nConsequently understanding these examples will ensure you can deploy the models as intended for your research.\n\n## Notebooks\n\nWe also provide some notebooks that show more a more pythonic way to interact with the codebase, these examples make use of the TAATA dataset examined in the `wren` manuscript:\n\n|                                                                                          |                                      |                                                                                                                              |\n| ---------------------------------------------------------------------------------------- | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |\n| **[Roost](https://github.com/CompRhys/aviary/blob/main/examples/notebooks/Roost.ipynb)** | [![Launch Codespace]][codespace url] | [![Open in Google Colab]](https://colab.research.google.com/github/CompRhys/aviary/blob/main/examples/notebooks/Roost.ipynb) |\n| **[Wren](https://github.com/CompRhys/aviary/blob/main/examples/notebooks/Wren.ipynb)**   | [![Launch Codespace]][codespace url] | [![Open in Google Colab]](https://colab.research.google.com/github/CompRhys/aviary/blob/main/examples/notebooks/Wren.ipynb)  |\n\n[Open in Google Colab]: https://colab.research.google.com/assets/colab-badge.svg\n[Launch Codespace]: https://img.shields.io/badge/Launch-Codespace-darkblue?logo=github\n[codespace url]: https://github.com/codespaces/new?hide_repo_select=true\u0026ref=main\u0026repo=411272553\n\n## Cite This Work\n\nIf you use this code please cite the relevant work:\n\n`roost` - Predicting materials properties without crystal structure: Deep representation learning from stoichiometry. [[Paper]](https://doi.org/10.1038/s41467-020-19964-7) [[arXiv]](https://arxiv.org/abs/1910.00617)\n\n```bibtex\n@article{goodall_2020_predicting,\n  title={Predicting materials properties without crystal structure: Deep representation learning from stoichiometry},\n  author={Goodall, Rhys EA and Lee, Alpha A},\n  journal={Nature Communications},\n  volume={11},\n  number={1},\n  pages={1--9},\n  year={2020},\n  publisher={Nature Publishing Group}\n}\n```\n\n`wren` - Rapid Discovery of Stable Materials by Coordinate-free Coarse Graining. [[Paper]](https://www.science.org/doi/10.1126/sciadv.abn4117) [[arXiv]](https://arxiv.org/abs/2106.11132)\n\n```bibtex\n@article{goodall_2022_rapid,\n  title={Rapid discovery of stable materials by coordinate-free coarse graining},\n  author={Goodall, Rhys EA and Parackal, Abhijith S and Faber, Felix A and Armiento, Rickard and Lee, Alpha A},\n  journal={Science Advances},\n  volume={8},\n  number={30},\n  pages={eabn4117},\n  year={2022},\n  publisher={American Association for the Advancement of Science}\n}\n```\n\n`cgcnn` - Crystal Graph Convolutional Neural Networks for an Accurate and Interpretable Prediction of Material Properties. [[Paper]](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.120.145301) [[arXiv]](https://arxiv.org/abs/1710.10324)\n\n```bibtex\n@article{xie_2018_crystal,\n  title={Crystal graph convolutional neural networks for an accurate and interpretable prediction of material properties},\n  author={Xie, Tian and Grossman, Jeffrey C},\n  journal={Physical review letters},\n  volume={120},\n  number={14},\n  pages={145301},\n  year={2018},\n  publisher={APS}\n}\n```\n\n## Disclaimer\n\nThis research code is provided as-is. We have checked for potential bugs and believe that the code is being shared in a bug-free state.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomprhys%2Faviary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomprhys%2Faviary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomprhys%2Faviary/lists"}