{ "info": { "author": "Felipe S. S. Schneider", "author_email": "schneider.felipe@posgrad.ufsc.br", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Education", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "pyrrole\n=======\n\n.. |pypi-badge| image:: https://badge.fury.io/py/pyrrole.svg\n :target: https://badge.fury.io/py/pyrrole\n :alt: Python Package Index (PyPI)\n\n.. |build-badge| image:: https://travis-ci.org/dudektria/pyrrole.svg?branch=master\n :target: https://travis-ci.org/dudektria/pyrrole\n :alt: Travis CI Status\n\n.. |docs-badge| image:: https://readthedocs.org/projects/pyrrole/badge/?version=latest\n :target: https://pyrrole.readthedocs.io/en/latest/?badge=latest\n :alt: Latest Documentation Status\n\n|docs-badge| |build-badge| |pypi-badge|\n\nA Python package for solving chemical problems with computational modeling.\n\nUsage example\n-------------\n\nAs a usage example, let's calculate the energy barrier involved in `nitrogen inversion in ammonia `_.\n\n.. figure:: https://upload.wikimedia.org/wikipedia/commons/2/2d/Nitrogen-inversion-3D-balls.png\n :alt: Nitrogen inversion in ammonia\n :align: center\n\n When ammonia turns \"inside out\", it passes through a planar transition state (`image in public domain `_).\n\nWe do this in three simple steps (only eight lines of code):\n\n1. **Get the data**\n\nWe first obtain the raw data, which will later be fed to our chemical model.\nBelow we read computational chemistry logfiles of both ground and transition states [#level-of-theory]_.\n\n>>> from pyrrole.atoms import read_cclib, create_data\n>>> gs = read_cclib(\"data/ammonia/ammonia.out\", name=\"NH3(g)\")\n>>> ts = read_cclib(\"data/ammonia/invers.out\", name=\"NH3(g)#\")\n>>> data = create_data(gs, ts)\n\nPyrrole uses `cclib `_ for reading logfiles, which is `compatible with all major computational chemistry packages `_.\nYou could also want to read tabular data `from a file `_ (or even `from the web `_) using `pandas `_.\n\n2. **Specify the model**\n\nWe now describe our model.\nThis is accomplished through chemical equations:\n\n>>> from pyrrole import ChemicalEquation\n>>> equation = ChemicalEquation(\"NH3(g) -> NH3(g)#\", data)\n\nWhile model above consists of a single `ChemicalEquation`, you could create complex models with multiple chemical equations with `ChemicalSystem` objects.\nYou might want to store your complex models in text files too.\n\n3. **Obtain the results**\n\nSimply let pyrrole calculate the energy barrier:\n\n>>> results = equation.to_series()\n>>> results[\"freeenergy\"] * 2625.4996382852164 # Hartree to kJ/mol\n19.30952589472923\n\n(As a side note, the reference value is 21.162 kJ/mol [#experimental-freeenergy-ammonia-inversion]_.)\n\nInterested? `Have another example `_.\n\n.. [#level-of-theory] Optimizations and frequency calculations of both ammonia and the planar transition state were performed at `PBEh-3c`_ using the `ORCA`_ electronic structure package (version 4.0.1.2). Logfiles can be found in the `project's repository `_.\n\n.. _`PBEh-3c`: https://doi.org/10.1063/1.4927476\n.. _`ORCA`: https://orcaforum.cec.mpg.de/\n\n.. [#experimental-freeenergy-ammonia-inversion] *Chem. Phys. Lett.*, **2003**, *370* (3), pp 360-365 DOI: `10.1016/S0009-2614(03)00107-6 `_.\n\nInstallation\n------------\n\nYou can get the library directly from `PyPI `_:\n\n.. code-block:: console\n\n $ pip install pyrrole\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/dudektria/pyrrole/archive/0.2.1.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dudektria/pyrrole", "keywords": "science,research,chemistry", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyrrole", "package_url": "https://pypi.org/project/pyrrole/", "platform": "", "project_url": "https://pypi.org/project/pyrrole/", "project_urls": { "Download": "https://github.com/dudektria/pyrrole/archive/0.2.1.tar.gz", "Homepage": "https://github.com/dudektria/pyrrole" }, "release_url": "https://pypi.org/project/pyrrole/0.2.1/", "requires_dist": [ "cclib (>=1.5.3)", "matplotlib (>=2.1.1)", "networkx (>=2.1)", "pandas (>=0.23.4)", "pyparsing (>=2.2.0)", "tables", "openbabel (>=2.4.1)" ], "requires_python": "", "summary": "A Python package for solving problems in chemistry with computational modeling.", "version": "0.2.1" }, "last_serial": 4612030, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "e4aae8d529a79bc38fd48b65c4db97d3", "sha256": "13cdec059726281a87fbdcb0d6b498db1369b137ad2a87af9f38c58d74f052c0" }, "downloads": -1, "filename": "pyrrole-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e4aae8d529a79bc38fd48b65c4db97d3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25090, "upload_time": "2018-10-20T20:42:34", "url": "https://files.pythonhosted.org/packages/af/39/5a83755309945f1e18e7a526f140b10705149d840c27db3f57e807acebfa/pyrrole-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "97604b924f675e24a55b484406ec99bd", "sha256": "885ff6a83084581cd0e1926b92a01cc31fab3cf422d7241dcc782e9744587cf3" }, "downloads": -1, "filename": "pyrrole-0.1.tar.gz", "has_sig": false, "md5_digest": "97604b924f675e24a55b484406ec99bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21836, "upload_time": "2018-10-20T20:42:35", "url": "https://files.pythonhosted.org/packages/3a/63/7e7c329ca2abc8565281ff8a3e48a7f0ad0bd4e6154b56270cf769a3a6a4/pyrrole-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "f193be05ebfec661420cef7a20303c2d", "sha256": "abbdf045d58f527cd1aeda101db7f86432a0ba13d8b195bfaacdaa42f559c644" }, "downloads": -1, "filename": "pyrrole-0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f193be05ebfec661420cef7a20303c2d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29796, "upload_time": "2018-12-18T05:16:45", "url": "https://files.pythonhosted.org/packages/4a/25/0534eadd5abe16183814688102347c40662efeb2671dc2d18418671a390c/pyrrole-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c62519b9232124e005ca63edbedd8d2", "sha256": "b08d0e9978b8ee5321246af83a48761d91ad18f5f29e9c9adfec81117e798dc6" }, "downloads": -1, "filename": "pyrrole-0.2.tar.gz", "has_sig": false, "md5_digest": "0c62519b9232124e005ca63edbedd8d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25666, "upload_time": "2018-12-18T05:16:47", "url": "https://files.pythonhosted.org/packages/be/3e/0fb1f02c8ba2ec49d7cd159436e1e983fcbed222417de3f58816be625bc0/pyrrole-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "6aaf1cd958dc68000e17b3b50de6d27a", "sha256": "17ebe20b21a32c914b2c6167dc0c4b678e5e623d3b9202ac2608d764bbc432a6" }, "downloads": -1, "filename": "pyrrole-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6aaf1cd958dc68000e17b3b50de6d27a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30945, "upload_time": "2018-12-18T12:40:18", "url": "https://files.pythonhosted.org/packages/2f/2b/9c18b1dcac11ef9b8bb5cb85fd4434243143237424b5d8cd26d5765eb04d/pyrrole-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7413bfba155568f2efdc14c9aa78794", "sha256": "b011a1e3d7c2a933eeff3fb6819bd0b970335f5806d213815453fb7c15779ec4" }, "downloads": -1, "filename": "pyrrole-0.2.1.tar.gz", "has_sig": false, "md5_digest": "a7413bfba155568f2efdc14c9aa78794", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27226, "upload_time": "2018-12-18T12:40:20", "url": "https://files.pythonhosted.org/packages/b2/be/8f0964ce34e4e712871346352c5e7ec6e6767575d8f71d5607083264d6d7/pyrrole-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6aaf1cd958dc68000e17b3b50de6d27a", "sha256": "17ebe20b21a32c914b2c6167dc0c4b678e5e623d3b9202ac2608d764bbc432a6" }, "downloads": -1, "filename": "pyrrole-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6aaf1cd958dc68000e17b3b50de6d27a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30945, "upload_time": "2018-12-18T12:40:18", "url": "https://files.pythonhosted.org/packages/2f/2b/9c18b1dcac11ef9b8bb5cb85fd4434243143237424b5d8cd26d5765eb04d/pyrrole-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7413bfba155568f2efdc14c9aa78794", "sha256": "b011a1e3d7c2a933eeff3fb6819bd0b970335f5806d213815453fb7c15779ec4" }, "downloads": -1, "filename": "pyrrole-0.2.1.tar.gz", "has_sig": false, "md5_digest": "a7413bfba155568f2efdc14c9aa78794", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27226, "upload_time": "2018-12-18T12:40:20", "url": "https://files.pythonhosted.org/packages/b2/be/8f0964ce34e4e712871346352c5e7ec6e6767575d8f71d5607083264d6d7/pyrrole-0.2.1.tar.gz" } ] }