virp


Namevirp JSON
Version 1.0.1 PyPI version JSON
download
home_pageNone
SummaryVIRtual cell generation by Permutation
upload_time2025-02-18 08:56:49
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseMIT License Copyright (c) 2024 Kedar Hippalgaonkar's Materials by Design Lab Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords disordered virtual cell cif partial occupancy
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <img src="graphics/virpbanner.png" width="870">

# `virp`: VIRtual cell generation by Permutation
 `virp` is a code for the fast generation of a virtual cell from a crystal structure (in CIF format) containing site disorder. It is named after Singapore's first superhero, VR Man, whose superpower is "Virping". The show was a flop, but we are still proud of him. 
 
 This project is inspired by the `Supercell` code of Okhotnikov, Charpentier and Cadars (<i>J. Cheminform. <b>8</b>, 17</i>), which formed the basis of our fast virtual cell generation algorithm, as well as the `aflow++` framework (<i>Comput. Mater. Sci. <b>217</b>, 111889</i>), for the statistical postprocessing of materials properties.

 ## Theory
 (To be updated!)

 ## Requirements
`pymatgen`, `chgnet`, and `matgl` (`matgl==1.0.0`; `dgl==1.1.2`)<br>
 __Optional__: You can also use git for the fancy installation. Otherwise, downloading the .py file will do.

 ## Installation
 `pip install git+https://github.com/andypaulchen/virp.git`<br>
 Update to latest release: uninstall and re-install

 ## Building a database
 The root directory has a folder (`session`) which holds the python scripts which build a library of virtual cells (`generate.py`) and postprocessing scripts (`connectivity.py` and `properties.py`). After each script is run, the results are saved as `.csv` files.

 1. To prepare for a session, copy the `session` folder in your workspace and place the `.cif` files you want to process (make virtual cells + postprocessing) in the subfolder `_disordered_cifs`. Feel free to rename `session` folder to something more identifiable

 2. Run `generate.py` to create a supercell and (by default) 400 virtual cells.
    - after this step, a structure subfolder (e.g. `structure`) is created in `session` for each `structure.cif` file in `_disordered_cifs`, with the same name. Inside this folder is a supercell CIF and folders for structure-optimized (`stropt`) and non-structure-optimized virtual cells (`no_stropt`). The details of this run is recorded in `virp_session_summary.csv`.

 3. Run `connectivity.py` for atomic connectivity post-processing
    - after this step, the results are written to `connectivity.csv` and `scatterplot.png` under `stropt` and `no_stropt`.

 4. Run `properties.py` to predict materials properties. This is performed on `stropt` subfolders only.
    - after this step, the results are written to `virtual_properties.csv` in the `structure` subfolder.

 In summary, this is what a session looks like after all three routines have completed:

 <img src="graphics/operation.png" width="870">

 ## Versions and changelog
 `v0.1.1`: first workable code, with function to generate a virtual cell. <br>
 `v0.2.1`: added enumeration function <br>
 `v0.2.2`: enumeration can be imported now (fix) <br>
 `v0.3.0`: you can now make a batch of virtual cells<br>
 `v0.4.3`: added tools to build a database

 ## Debugging and support
 The `virp` code has been tested on a limited number of platforms, so far Windows and Linux. If you are running into any problems during operation, please hound me (Andy Paul Chen) at la.vache.qui.vit(at)gmail.com, and I will try my best to help.
 

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "virp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "disordered, virtual cell, cif, partial occupancy",
    "author": null,
    "author_email": "Andy Paul Chen <la.vache.qui.vit@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/2c/7f/ce906db1da5340d140708a4878b6ec3b026e45554643824fccdd95bab284/virp-1.0.1.tar.gz",
    "platform": null,
    "description": "<img src=\"graphics/virpbanner.png\" width=\"870\">\r\n\r\n# `virp`: VIRtual cell generation by Permutation\r\n `virp` is a code for the fast generation of a virtual cell from a crystal structure (in CIF format) containing site disorder. It is named after Singapore's first superhero, VR Man, whose superpower is \"Virping\". The show was a flop, but we are still proud of him. \r\n \r\n This project is inspired by the `Supercell` code of Okhotnikov, Charpentier and Cadars (<i>J. Cheminform. <b>8</b>, 17</i>), which formed the basis of our fast virtual cell generation algorithm, as well as the `aflow++` framework (<i>Comput. Mater. Sci. <b>217</b>, 111889</i>), for the statistical postprocessing of materials properties.\r\n\r\n ## Theory\r\n (To be updated!)\r\n\r\n ## Requirements\r\n`pymatgen`, `chgnet`, and `matgl` (`matgl==1.0.0`; `dgl==1.1.2`)<br>\r\n __Optional__: You can also use git for the fancy installation. Otherwise, downloading the .py file will do.\r\n\r\n ## Installation\r\n `pip install git+https://github.com/andypaulchen/virp.git`<br>\r\n Update to latest release: uninstall and re-install\r\n\r\n ## Building a database\r\n The root directory has a folder (`session`) which holds the python scripts which build a library of virtual cells (`generate.py`) and postprocessing scripts (`connectivity.py` and `properties.py`). After each script is run, the results are saved as `.csv` files.\r\n\r\n 1. To prepare for a session, copy the `session` folder in your workspace and place the `.cif` files you want to process (make virtual cells + postprocessing) in the subfolder `_disordered_cifs`. Feel free to rename `session` folder to something more identifiable\r\n\r\n 2. Run `generate.py` to create a supercell and (by default) 400 virtual cells.\r\n    - after this step, a structure subfolder (e.g. `structure`) is created in `session` for each `structure.cif` file in `_disordered_cifs`, with the same name. Inside this folder is a supercell CIF and folders for structure-optimized (`stropt`) and non-structure-optimized virtual cells (`no_stropt`). The details of this run is recorded in `virp_session_summary.csv`.\r\n\r\n 3. Run `connectivity.py` for atomic connectivity post-processing\r\n    - after this step, the results are written to `connectivity.csv` and `scatterplot.png` under `stropt` and `no_stropt`.\r\n\r\n 4. Run `properties.py` to predict materials properties. This is performed on `stropt` subfolders only.\r\n    - after this step, the results are written to `virtual_properties.csv` in the `structure` subfolder.\r\n\r\n In summary, this is what a session looks like after all three routines have completed:\r\n\r\n <img src=\"graphics/operation.png\" width=\"870\">\r\n\r\n ## Versions and changelog\r\n `v0.1.1`: first workable code, with function to generate a virtual cell. <br>\r\n `v0.2.1`: added enumeration function <br>\r\n `v0.2.2`: enumeration can be imported now (fix) <br>\r\n `v0.3.0`: you can now make a batch of virtual cells<br>\r\n `v0.4.3`: added tools to build a database\r\n\r\n ## Debugging and support\r\n The `virp` code has been tested on a limited number of platforms, so far Windows and Linux. If you are running into any problems during operation, please hound me (Andy Paul Chen) at la.vache.qui.vit(at)gmail.com, and I will try my best to help.\r\n \r\n",
    "bugtrack_url": null,
    "license": "MIT License\r\n        \r\n        Copyright (c) 2024 Kedar Hippalgaonkar's Materials by Design Lab\r\n        \r\n        Permission is hereby granted, free of charge, to any person obtaining a copy\r\n        of this software and associated documentation files (the \"Software\"), to deal\r\n        in the Software without restriction, including without limitation the rights\r\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n        copies of the Software, and to permit persons to whom the Software is\r\n        furnished to do so, subject to the following conditions:\r\n        \r\n        The above copyright notice and this permission notice shall be included in all\r\n        copies or substantial portions of the Software.\r\n        \r\n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n        SOFTWARE.\r\n        ",
    "summary": "VIRtual cell generation by Permutation",
    "version": "1.0.1",
    "project_urls": null,
    "split_keywords": [
        "disordered",
        " virtual cell",
        " cif",
        " partial occupancy"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2c7fce906db1da5340d140708a4878b6ec3b026e45554643824fccdd95bab284",
                "md5": "306a58a41ed257a694c45c926766bc2b",
                "sha256": "3c5156b88d1aeac1bb80ac502af824f505ffcf7e501160c96df81c9c6c13815c"
            },
            "downloads": -1,
            "filename": "virp-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "306a58a41ed257a694c45c926766bc2b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 14162,
            "upload_time": "2025-02-18T08:56:49",
            "upload_time_iso_8601": "2025-02-18T08:56:49.235850Z",
            "url": "https://files.pythonhosted.org/packages/2c/7f/ce906db1da5340d140708a4878b6ec3b026e45554643824fccdd95bab284/virp-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-18 08:56:49",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "virp"
}
        
Elapsed time: 0.67161s