agat

Atomic Graph ATtention networks

https://github.com/jzhang-github/agat

Science Score: 44.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Atomic Graph ATtention networks

Basic Info
Statistics
  • Stars: 19
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 5
Created over 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License Citation

README.md

AGAT (Atomic Graph ATtention networks)

GitHub Pypi PyPI - Downloads PyPI - Wheel

### The PyTorch backend AGAT is available now, try with pip install agat. For previous version, install with pip install agat==7.*.

Model architecture

Using AGAT

The documentation of AGAT API is available.

Installation

Install with conda environment

  • Create a new environment
    console conda create -n agat python==3.10

  • Activate the environment
    console conda activate agat

  • Install PyTorch,
    Navigate to the installation page and choose you platform. For example (GPU): console conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

  • Install dgl.
    Please navigate to the Get Started page of dgl. For example (GPU):
    console conda install -c dglteam/label/cu118 dgl

  • Install AGAT package
    console pip install agat

  • Install CUDA and CUDNN [Optional].

    • For HPC, you may load CUDA by checking module av, or you can contact your administrator for help.
    • CUDA Toolkit
    • cuDNN

Quick start

Prepare VASP calculations

Run VASP calculations at this step.

Collect paths of VASP calculations

  • We provided examples of VASP outputs at VASPcalculationsexample.
  • Find all directories containing OUTCAR file:
    find . -name OUTCAR > paths.log
  • Remove the string 'OUTCAR' in paths.log.
    sed -i 's/OUTCAR$//g' paths.log
  • Specify the absolute paths in paths.log.
    sed -i "s#^.#${PWD}#g" paths.log

Build database

python from agat.data import BuildDatabase if __name__ == '__main__': database = BuildDatabase(mode_of_NN='ase_dist', num_of_cores=16) database.build()

Train AGAT model

python from agat.model import Fit f = Fit() f.fit()

Application (geometry optimization)

```python from ase.optimize import BFGS from agat.app import AgatCalculator from ase.io import read from ase import Atoms

modelsavedir = 'agatmodel' graphbuildschemedir = 'dataset'

atoms = read('POSCAR') calculator=AgatCalculator(modelsavedir, graphbuildscheme_dir) atoms = Atoms(atoms, calculator=calculator) dyn = BFGS(atoms, trajectory='test.traj') dyn.run(fmax=0.05) ```

Application (high-throughput prediction)

```python from agat.app.cata import HpAds

modelsavedir = 'agatmodel' graphbuildschemedir = 'dataset' formula='NiCoFePdPt'

ha = HpAds(modelsavedir=modelsavedir, graphbuildschemedir=graphbuildschemedir) ha.run(formula=formula) ```

For more custom manipulations, see our documentation page.

Some default parameters

agat/default_parameters.py; Explanations: docs/sphinx/source/Default parameters.md.

Change log

Please check Change_log.md

Owner

  • Name: jzhang
  • Login: jzhang-github
  • Kind: user
  • Location: HongKong, China
  • Company: CityU

Ph.D. student of CityU

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "ZHANG"
  given-names: "Jun"
  orcid: "https://orcid.org/0000-0001-8872-6153"
- family-names: "ZHAO"
  given-names: "Shijun"
  orcid: "https://orcid.org/0000-0003-0870-8153"
title: "Design high-entropy electrocatalyst via interpretable deep graph attention learning"
version: 1.0.0
doi: 10.5281/zenodo.7979079
date-released: 2023-05-28
url: "https://github.com/jzhang-github/AGAT"
preferred-citation:
  type: article
  authors:
  - family-names: "ZHANG"
    given-names: "Jun"
    orcid: "https://orcid.org/0000-0001-8872-6153"
  - family-names: "ZHAO"
    given-names: "Shijun"
    orcid: "https://orcid.org/0000-0003-0870-8153"
  doi: "10.1016/j.joule.2023.06.003"
  journal: "Joule"
  month: 8
  start: 1832 # First page number
  end: 1851 # Last page number
  title: "Design high-entropy electrocatalyst via interpretable deep graph attention learning"
  issue: 8
  volume: 7
  year: 2023

GitHub Events

Total
  • Watch event: 4
  • Delete event: 1
  • Push event: 16
  • Create event: 2
Last Year
  • Watch event: 4
  • Delete event: 1
  • Push event: 16
  • Create event: 2

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 118 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 19
  • Total maintainers: 1
pypi.org: agat

Atomic Graph ATtention networks for predicting atomic energies and forces.

  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 118 Last month
Rankings
Dependent packages count: 10.1%
Downloads: 14.2%
Stargazers count: 17.7%
Average: 18.7%
Dependent repos count: 21.5%
Forks count: 29.8%
Maintainers (1)
Last synced: 10 months ago

Dependencies

docs/_static/requirements.txt pypi
  • Keras-Preprocessing ==1.1.2
  • Markdown ==3.3.6
  • Pillow ==8.2.0
  • PyDispatcher ==2.0.5
  • Werkzeug ==2.0.2
  • absl-py ==0.15.0
  • ase ==3.21.1
  • astunparse ==1.6.3
  • bayesian-optimization ==1.3.1
  • cached-property ==1.5.2
  • cachetools ==4.2.4
  • certifi ==2021.10.8
  • chardet ==4.0.0
  • charset-normalizer ==2.0.9
  • cycler ==0.10.0
  • decorator ==4.4.2
  • dscribe ==1.2.2
  • flatbuffers ==1.12
  • future ==0.18.2
  • gast ==0.3.3
  • google-auth ==2.3.3
  • google-auth-oauthlib ==0.4.6
  • google-pasta ==0.2.0
  • grpcio ==1.32.0
  • h5py ==2.10.0
  • idna ==3.3
  • importlib-metadata ==4.10.0
  • joblib ==1.0.1
  • keras-nightly ==2.5.0.dev2021032900
  • kiwisolver ==1.3.1
  • llvmlite ==0.39.1
  • matplotlib ==3.4.2
  • monty ==2021.12.1
  • mpmath ==1.2.1
  • networkx ==2.6.3
  • numba ==0.56.2
  • numpy ==1.19.5
  • oauthlib ==3.1.1
  • opt-einsum ==3.3.0
  • palettable ==3.3.0
  • pandas ==1.3.5
  • plotly ==5.5.0
  • protobuf ==3.19.1
  • pyasn1 ==0.4.8
  • pyasn1-modules ==0.2.8
  • pybind11 ==2.10.0
  • pymatgen ==2020.11.11
  • pyparsing ==2.4.7
  • python-dateutil ==2.8.1
  • pytz ==2021.3
  • requests ==2.26.0
  • requests-oauthlib ==1.3.0
  • rsa ==4.8
  • ruamel.yaml ==0.17.19
  • ruamel.yaml.clib ==0.2.6
  • scikit-learn ==0.24.2
  • scipy ==1.6.3
  • shiboken2 ==5.15.2
  • six ==1.15.0
  • sklearn ==0.0
  • sparse ==0.13.0
  • spglib ==1.16.3
  • sympy ==1.9
  • tabulate ==0.8.9
  • tenacity ==8.0.1
  • tensorboard ==2.7.0
  • tensorboard-data-server ==0.6.1
  • tensorboard-plugin-wit ==1.8.0
  • tensorflow ==2.5.0
  • tensorflow-estimator ==2.4.0
  • tensorflow-gpu ==2.4.0
  • termcolor ==1.1.0
  • threadpoolctl ==2.1.0
  • tqdm ==4.61.1
  • typing-extensions ==3.7.4.3
  • uncertainties ==3.1.6
  • urllib3 ==1.26.7
  • wrapt ==1.12.1
  • zipp ==3.6.0
setup.py pypi
  • ase >=3.22.1
  • chardet *
  • dgl >=1.1.1.cu118
  • numpy <=1.23.0
  • pandas >=2.0.3
  • scikit-learn >=1.3.0
  • tensorflow ==2.13.0
  • tqdm >=4.65.0
.github/workflows/pypi-package.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/python-package.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite