atomdriver-qc


Nameatomdriver-qc JSON
Version 0.1.3 PyPI version JSON
download
home_pageNone
SummaryAn standardized interface to QM Codes
upload_time2024-09-18 18:07:06
maintainerNone
docs_urlNone
authorJonah Higley, Sharique Ahmed
requires_python>=3.10
licenseApache
keywords ab initio chemistry
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!--
Copyright 2018-2024 Fragment Contributors
SPDX-License-Identifier: Apache-2.0
-->
# Atom Driver

Glue for all your QC codes.

## Supported Drivers

* [Q-Chem](https://www.q-chem.com)
* [MOPAC](http://openmopac.net)
* [NWChem](https://www.nwchem-sw.org)
* [ORCA](https://orcaforum.kofo.mpg.de/app.php/portal)
* [PySCF](https://pyscf.org)
* [xTB](https://xtb-docs.readthedocs.io/en/latest/contents.html)

## Installing

Atom Driver can be installed using `pip`; however, you must install QC codes yourself.

```sh
# Install confomer
pip install git+https://gitlab.com/john-herbert-group/conformer.git
# Install atom driver
pip install git+https://gitlab.com/john-herbert-group/atomdriver.git
```

### Basic QC Environment

If you would like a handful of QC backends you can start a Conda environment and install xTB and PySCF and install Atom Driver on top of it [^conda]

```sh
# Add conda-forge if you haven't already
conda config --add channels conda-forge

# Create a new environment
conda create -n atomdriver python=3.11 xtb-python xtb pyscf

# Activate 
conda activate atomdriver

# Install Conformer and Atom Driver with pip **see footnote**

# USING SSH
pip install git+ssh://git@gitlab.com/john-herbert-group/conformer.git git+ssh://git@gitlab.com/john-herbert-group/atomdriver.git

# USING HTTP
pip install git+https://gitlab.com/john-herbert-group/conformer.git git+https://gitlab.com/john-herbert-group/atomdriver.git
```

[^conda]: Strickly speaking Conda and Pip should not be mixed! You can have a relativly stable environment if you install Python and a handful of dependencies with Conda and then install the pip dependencies. Do not go back and add addional Conda packages! You may have to remove and recreate the environment to make changes.

## Quick Start

For simple workflow you can run calculations with the `atomdriver.util.run`. For more complex workflows you may wish to use the `atomdriver.util.Worker` class.

```python
from atomdriver.util import run
from atomdriver.drivers.libxtb import LibxTB
from conformer.systems import System

methanol = System.from_tuples([
    ("C",    0.0000000,   -0.0107162,   -0.6532941),
    ("O",    0.0000000,   -0.0950958,    0.7424134),
    ("H",    0.9153226,    0.5105599,   -1.0084225),
    ("H",   -0.9153226,    0.5105599,   -1.0084225),
    ("H",    0.0000000,   -1.0368018,   -1.0751488),
    ("H",    0.0000000,    0.8407457,    1.0724513),
])
xtb_driver = LibxTB.from_options("xtb", calc_gradient=True, calc_charges=True)
res = run(methanol, xtb_driver)

print(res.status)
# 2 (RecordStatus.COMPLETE)

print(res.properties["total_energy"])
# -8.2243278718041

print(res.properties["partial_charges"].data)
# [[ 0.04554668]
#  [-0.42977159]
#  [ 0.02308721]
#  [ 0.02308721]
#  [ 0.05096463]
#  [ 0.28708585]]

print(res.properties["nuclear_gradient"].data)
# [[-1.52686431e-17  2.45336649e-03  1.26468951e-02]
#  [ 4.99102075e-17 -2.12577019e-02 -9.37319720e-03]
#  [ 9.54169642e-03  3.19852718e-03  4.68753733e-04]
#  [-9.54169642e-03  3.19852718e-03  4.68753733e-04]
#  [ 2.09659150e-17 -1.02904049e-02 -7.39062368e-03]
#  [-6.73798886e-18  2.26976860e-02  3.17941833e-03]]
```

![Yes it's a pun!](https://media.giphy.com/media/IcjQNoFcxRuZVBePw2/giphy.gif?cid=ecf05e47uwcshvap3ad26ivtehhprtbqlau5scu932gwhm7d&ep=v1_gifs_search&rid=giphy.gif&ct=g)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "atomdriver-qc",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "ab initio, chemistry",
    "author": "Jonah Higley, Sharique Ahmed",
    "author_email": "Dustin Broderick <broderick.62@osu.edu>, Paige Bowling <bowling.181@osu.edu>",
    "download_url": "https://files.pythonhosted.org/packages/81/e7/106437ec97beb600395bb3fd09cd6ed9aabcf5789dd29b642ec49f7a23f7/atomdriver_qc-0.1.3.tar.gz",
    "platform": null,
    "description": "<!--\nCopyright 2018-2024 Fragment Contributors\nSPDX-License-Identifier: Apache-2.0\n-->\n# Atom Driver\n\nGlue for all your QC codes.\n\n## Supported Drivers\n\n* [Q-Chem](https://www.q-chem.com)\n* [MOPAC](http://openmopac.net)\n* [NWChem](https://www.nwchem-sw.org)\n* [ORCA](https://orcaforum.kofo.mpg.de/app.php/portal)\n* [PySCF](https://pyscf.org)\n* [xTB](https://xtb-docs.readthedocs.io/en/latest/contents.html)\n\n## Installing\n\nAtom Driver can be installed using `pip`; however, you must install QC codes yourself.\n\n```sh\n# Install confomer\npip install git+https://gitlab.com/john-herbert-group/conformer.git\n# Install atom driver\npip install git+https://gitlab.com/john-herbert-group/atomdriver.git\n```\n\n### Basic QC Environment\n\nIf you would like a handful of QC backends you can start a Conda environment and install xTB and PySCF and install Atom Driver on top of it [^conda]\n\n```sh\n# Add conda-forge if you haven't already\nconda config --add channels conda-forge\n\n# Create a new environment\nconda create -n atomdriver python=3.11 xtb-python xtb pyscf\n\n# Activate \nconda activate atomdriver\n\n# Install Conformer and Atom Driver with pip **see footnote**\n\n# USING SSH\npip install git+ssh://git@gitlab.com/john-herbert-group/conformer.git git+ssh://git@gitlab.com/john-herbert-group/atomdriver.git\n\n# USING HTTP\npip install git+https://gitlab.com/john-herbert-group/conformer.git git+https://gitlab.com/john-herbert-group/atomdriver.git\n```\n\n[^conda]: Strickly speaking Conda and Pip should not be mixed! You can have a relativly stable environment if you install Python and a handful of dependencies with Conda and then install the pip dependencies. Do not go back and add addional Conda packages! You may have to remove and recreate the environment to make changes.\n\n## Quick Start\n\nFor simple workflow you can run calculations with the `atomdriver.util.run`. For more complex workflows you may wish to use the `atomdriver.util.Worker` class.\n\n```python\nfrom atomdriver.util import run\nfrom atomdriver.drivers.libxtb import LibxTB\nfrom conformer.systems import System\n\nmethanol = System.from_tuples([\n    (\"C\",    0.0000000,   -0.0107162,   -0.6532941),\n    (\"O\",    0.0000000,   -0.0950958,    0.7424134),\n    (\"H\",    0.9153226,    0.5105599,   -1.0084225),\n    (\"H\",   -0.9153226,    0.5105599,   -1.0084225),\n    (\"H\",    0.0000000,   -1.0368018,   -1.0751488),\n    (\"H\",    0.0000000,    0.8407457,    1.0724513),\n])\nxtb_driver = LibxTB.from_options(\"xtb\", calc_gradient=True, calc_charges=True)\nres = run(methanol, xtb_driver)\n\nprint(res.status)\n# 2 (RecordStatus.COMPLETE)\n\nprint(res.properties[\"total_energy\"])\n# -8.2243278718041\n\nprint(res.properties[\"partial_charges\"].data)\n# [[ 0.04554668]\n#  [-0.42977159]\n#  [ 0.02308721]\n#  [ 0.02308721]\n#  [ 0.05096463]\n#  [ 0.28708585]]\n\nprint(res.properties[\"nuclear_gradient\"].data)\n# [[-1.52686431e-17  2.45336649e-03  1.26468951e-02]\n#  [ 4.99102075e-17 -2.12577019e-02 -9.37319720e-03]\n#  [ 9.54169642e-03  3.19852718e-03  4.68753733e-04]\n#  [-9.54169642e-03  3.19852718e-03  4.68753733e-04]\n#  [ 2.09659150e-17 -1.02904049e-02 -7.39062368e-03]\n#  [-6.73798886e-18  2.26976860e-02  3.17941833e-03]]\n```\n\n![Yes it's a pun!](https://media.giphy.com/media/IcjQNoFcxRuZVBePw2/giphy.gif?cid=ecf05e47uwcshvap3ad26ivtehhprtbqlau5scu932gwhm7d&ep=v1_gifs_search&rid=giphy.gif&ct=g)\n",
    "bugtrack_url": null,
    "license": "Apache",
    "summary": "An standardized interface to QM Codes",
    "version": "0.1.3",
    "project_urls": {
        "Homepage": "https://john-herbert-group.gitlab.io",
        "Issues": "https://gitlab.com/john-herbert-group/atomdriver/-/issues",
        "Source": "https://gitlab.com/john-herbert-group/atomdriver"
    },
    "split_keywords": [
        "ab initio",
        " chemistry"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9a7b1d47c643501784a746965174626003756ad6fe08f79f9afd89a767e42603",
                "md5": "121c179d477784d67e260a6c45907c18",
                "sha256": "4875cda3f8a9db1a989eed1092fb4f6262fe58fb483dccace84663c9eb8b5b8c"
            },
            "downloads": -1,
            "filename": "atomdriver_qc-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "121c179d477784d67e260a6c45907c18",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 38756,
            "upload_time": "2024-09-18T18:07:04",
            "upload_time_iso_8601": "2024-09-18T18:07:04.396240Z",
            "url": "https://files.pythonhosted.org/packages/9a/7b/1d47c643501784a746965174626003756ad6fe08f79f9afd89a767e42603/atomdriver_qc-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "81e7106437ec97beb600395bb3fd09cd6ed9aabcf5789dd29b642ec49f7a23f7",
                "md5": "c801b33fa65877b13cf4947c309b452a",
                "sha256": "d290d261eef276e2d77c54e49ffbf180be101e6b549c17c9658cdc66ee5a1b3b"
            },
            "downloads": -1,
            "filename": "atomdriver_qc-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "c801b33fa65877b13cf4947c309b452a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 68493,
            "upload_time": "2024-09-18T18:07:06",
            "upload_time_iso_8601": "2024-09-18T18:07:06.140255Z",
            "url": "https://files.pythonhosted.org/packages/81/e7/106437ec97beb600395bb3fd09cd6ed9aabcf5789dd29b642ec49f7a23f7/atomdriver_qc-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-18 18:07:06",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "john-herbert-group",
    "gitlab_project": "atomdriver",
    "lcname": "atomdriver-qc"
}
        
Elapsed time: 0.29044s