oganesson


Nameoganesson JSON
Version 0.1.41 PyPI version JSON
download
home_pagehttps://github.com/oganesson-ai/oganesson
Summaryoganesson enables rapid AI workflows for material science and chemistry
upload_time2024-04-30 00:01:57
maintainerNone
docs_urlNone
authorSherif Abdulkader Tawfik Abbas
requires_pythonNone
licensemit
keywords ai machine learning
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <img src="./assets/logo.svg" width="200px">

# Oganesson

`oganesson` (`og` for short) is a python package that enables you to apply artificial intelligence workflows to your material discovery projects.


## Installation

You can install `og` using the `pip` command as follows:

`pip install oganesson`

# Features

`og` is currently under active development. The following features are currently available.


## Machine learning descriptors

`og` will bring together machine learning descriptors for materials and molecules within a unified framework. `og` currently provides the following descriptors:

- The BACD, ROSA and SymmetryFunctions introduced in this [publication](https://doi.org/10.1186/s13321-022-00658-9)
- Most of the descriptors from [DScribe](https://github.com/SINGROUP/dscribe)

Each descriptor has its own class, which extends the `Descriptors` class in the `oganesson.descriptors` module. Here is an example of how to describe a structure using the `BACD` and `SymmetryFunctions` descriptor classes.

```python
from oganesson.descriptors import BACD, SymmetryFunctions
from oganesson.ogstructure import OgStructure

bacd = BACD(OgStructure(file_name='examples/structures/Li3PO4_mp-13725.cif'))
print(bacd.describe())

sf = SymmetryFunctions(OgStructure(file_name='examples/structures/Li3PO4_mp-13725.cif'))
print(sf.describe())
```

## Genetic algorithms

The main purpose of `og` is to make complex artificial intelligence workflows easy to compose. Here is an example: running a genetic search for structures, where the structure optimization is performed using the M3GNET neural network model.

```python
from oganesson.genetic_algorithms import GA
ga = GA(species=['Na']*4 + ['H']*4)
for i in range(10):
    ga.evolve()
```

## Generation of the diffusion path for NEB calculations

The most painful part of doing transition state calculations in VASP is in building the images. The following code makes this happen in 2 lines of code. You only need to specify the structure file, and the atomic species you want to diffuse, and OgStructure will generate a folder for each path, and then write the POSCAR image files in each of these folders.

In the following example, we explore the possible Li diffusion paths in Li3PO4, given there are 6 Li atoms in the cell.

```python
from oganesson.ogstructure import OgStructure
og = OgStructure(file_name='examples/structures/Li3PO4_mp-13725.cif')
og.generate_neb('Li')
```
Note that the default value of `r`, which is 3, is sufficient for lithium systems. However, for the case of larger atoms such as Na, a larger value of `r` would be required.

## Finding a reasonable adsorption site of an atom on a surface

```python
from oganesson.ogstructure import OgStructure
og=OgStructure(file_name='examples/structures/MoS2.vasp')
og.add_atom_to_surface('Li').structure.to('MoS2_Li.vasp','poscar')
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/oganesson-ai/oganesson",
    "name": "oganesson",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "ai, machine learning",
    "author": "Sherif Abdulkader Tawfik Abbas",
    "author_email": "sherif.tawfic@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/af/27/a17d51a8c685a1dbddf7d29bd80ef38c0a79a79047dba5e21edb49744ba4/oganesson-0.1.41.tar.gz",
    "platform": null,
    "description": "<img src=\"./assets/logo.svg\" width=\"200px\">\r\n\r\n# Oganesson\r\n\r\n`oganesson` (`og` for short) is a python package that enables you to apply artificial intelligence workflows to your material discovery projects.\r\n\r\n\r\n## Installation\r\n\r\nYou can install `og` using the `pip` command as follows:\r\n\r\n`pip install oganesson`\r\n\r\n# Features\r\n\r\n`og` is currently under active development. The following features are currently available.\r\n\r\n\r\n## Machine learning descriptors\r\n\r\n`og` will bring together machine learning descriptors for materials and molecules within a unified framework. `og` currently provides the following descriptors:\r\n\r\n- The BACD, ROSA and SymmetryFunctions introduced in this [publication](https://doi.org/10.1186/s13321-022-00658-9)\r\n- Most of the descriptors from [DScribe](https://github.com/SINGROUP/dscribe)\r\n\r\nEach descriptor has its own class, which extends the `Descriptors` class in the `oganesson.descriptors` module. Here is an example of how to describe a structure using the `BACD` and `SymmetryFunctions` descriptor classes.\r\n\r\n```python\r\nfrom oganesson.descriptors import BACD, SymmetryFunctions\r\nfrom oganesson.ogstructure import OgStructure\r\n\r\nbacd = BACD(OgStructure(file_name='examples/structures/Li3PO4_mp-13725.cif'))\r\nprint(bacd.describe())\r\n\r\nsf = SymmetryFunctions(OgStructure(file_name='examples/structures/Li3PO4_mp-13725.cif'))\r\nprint(sf.describe())\r\n```\r\n\r\n## Genetic algorithms\r\n\r\nThe main purpose of `og` is to make complex artificial intelligence workflows easy to compose. Here is an example: running a genetic search for structures, where the structure optimization is performed using the M3GNET neural network model.\r\n\r\n```python\r\nfrom oganesson.genetic_algorithms import GA\r\nga = GA(species=['Na']*4 + ['H']*4)\r\nfor i in range(10):\r\n    ga.evolve()\r\n```\r\n\r\n## Generation of the diffusion path for NEB calculations\r\n\r\nThe most painful part of doing transition state calculations in VASP is in building the images. The following code makes this happen in 2 lines of code. You only need to specify the structure file, and the atomic species you want to diffuse, and OgStructure will generate a folder for each path, and then write the POSCAR image files in each of these folders.\r\n\r\nIn the following example, we explore the possible Li diffusion paths in Li3PO4, given there are 6 Li atoms in the cell.\r\n\r\n```python\r\nfrom oganesson.ogstructure import OgStructure\r\nog = OgStructure(file_name='examples/structures/Li3PO4_mp-13725.cif')\r\nog.generate_neb('Li')\r\n```\r\nNote that the default value of `r`, which is 3, is sufficient for lithium systems. However, for the case of larger atoms such as Na, a larger value of `r` would be required.\r\n\r\n## Finding a reasonable adsorption site of an atom on a surface\r\n\r\n```python\r\nfrom oganesson.ogstructure import OgStructure\r\nog=OgStructure(file_name='examples/structures/MoS2.vasp')\r\nog.add_atom_to_surface('Li').structure.to('MoS2_Li.vasp','poscar')\r\n```\r\n",
    "bugtrack_url": null,
    "license": "mit",
    "summary": "oganesson enables rapid AI workflows for material science and chemistry",
    "version": "0.1.41",
    "project_urls": {
        "Homepage": "https://github.com/oganesson-ai/oganesson"
    },
    "split_keywords": [
        "ai",
        " machine learning"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1b09dedfc44cb356099754dda28cc0f9648bb8c2a747f3405420bcc1e6824347",
                "md5": "1a01697468b60e0c060de7f9aad1af5a",
                "sha256": "ae761df49aa21867928a113bdef2ad745a19ebd6d6c5b02158bacc5afa2aac27"
            },
            "downloads": -1,
            "filename": "oganesson-0.1.41-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1a01697468b60e0c060de7f9aad1af5a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 1255104,
            "upload_time": "2024-04-30T00:01:52",
            "upload_time_iso_8601": "2024-04-30T00:01:52.061747Z",
            "url": "https://files.pythonhosted.org/packages/1b/09/dedfc44cb356099754dda28cc0f9648bb8c2a747f3405420bcc1e6824347/oganesson-0.1.41-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "af27a17d51a8c685a1dbddf7d29bd80ef38c0a79a79047dba5e21edb49744ba4",
                "md5": "b1567a629fed3c4a876bfa584fe8daa2",
                "sha256": "5982f0727f2ff37af92667b5dccaf0b4d863939517987bc1bb312c4130dd8735"
            },
            "downloads": -1,
            "filename": "oganesson-0.1.41.tar.gz",
            "has_sig": false,
            "md5_digest": "b1567a629fed3c4a876bfa584fe8daa2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 1254639,
            "upload_time": "2024-04-30T00:01:57",
            "upload_time_iso_8601": "2024-04-30T00:01:57.829264Z",
            "url": "https://files.pythonhosted.org/packages/af/27/a17d51a8c685a1dbddf7d29bd80ef38c0a79a79047dba5e21edb49744ba4/oganesson-0.1.41.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-30 00:01:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "oganesson-ai",
    "github_project": "oganesson",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "oganesson"
}
        
Elapsed time: 0.28218s