{
"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": ".. |build-badge| image:: https://travis-ci.org/schneiderfelipe/pnictogen.svg?branch=master\n :target: https://travis-ci.org/schneiderfelipe/pnictogen\n :alt: Travis CI Status\n\n.. |pypi-badge| image:: https://badge.fury.io/py/pnictogen.svg\n :target: https://badge.fury.io/py/pnictogen\n :alt: PyPI Version\n\n|build-badge| |pypi-badge|\n\nWelcome to pnictogen\n====================\n\npnictogen_ is both a library and a command-line tool that helps composing input\nfiles for computational chemistry packages.\nIt is based on Jinja2_, a modern and friendly templating language for Python:\n\n.. code:: bash\n\n $ cat new_template.ORCA.inp\n # {{ molecule.name }}\n ! Opt\n\n * xyz {{ molecule.charge }} {{ molecule.mult }}\n {{ molecule.to_string(\"xyz\") }}\n *\n $ pnictogen new_template.ORCA.inp data/water.xyz\n data/water.inp written\n $ cat data/water.inp\n # A water molecule\n ! Opt\n\n * xyz 0 1\n O 0.05840 0.05840 0.00000\n H 1.00961 -0.06802 0.00000\n H -0.06802 1.00961 0.00000\n *\n\n.. _pnictogen: https://github.com/schneiderfelipe/pnictogen\n.. _Jinja2: http://jinja.pocoo.org/docs/latest/\n\nInstallation\n------------\n\nYou can get pnictogen directly from PyPI:\n\n.. code:: bash\n\n $ pip install -U pnictogen\n\nThe above will install the the version from PyPI, which is recommended.\n\nFor the development version, clone this repository and run:\n\n.. code:: bash\n\n $ pip install -U -e .\n\nTutorial\n--------\n\npnictogen can currently create boilerplates for\n`ADF `_,\n`DALTON `_,\n`GAMESS (US) `_,\n`GAMESS-UK `_,\n`Gaussian `_,\n`Jaguar `_,\n`Molpro `_,\n`MOPAC `_,\n`MPQC `_,\n`NWChem `_,\n`ORCA `_,\n`Psi `_,\n`Q-Chem `_\nand\n`ZINDO `_:\n\n.. code:: bash\n\n $ pnictogen -g new_template.MOPAC.mop\n new_template.MOPAC.mop written\n $ cat new_template.MOPAC.mop\n CHARGE={{ molecule.charge }} MS={{ (molecule.mult - 1)/2 }}\n {{ molecule.name }}\n\n {{ molecule.to_string(\"mop\") }}\n\n(``pnictogen -g new_template.inp`` creates a blank file.)\n\nYou can either create and edit a boilerplate template or start fresh.\nOnce you have a template, generating inputs is easy:\n\n.. code:: bash\n\n $ pnictogen new_template.ORCA.inp data/co.xyz data/water.xyz\n data/co.inp written\n data/water.inp written\n\n(Wildcards are allowed, e.g., ``pnictogen new_template.ORCA.inp *.xyz`` works.)\n\nSince\npnictogen is built on top of `Pybel `_, so it is able to read anything `Open Babel `_ reads.\nCheck the list of all available file formats `here `_.\n\nTemplates\n---------\n\nYou can use the full Jinja2 syntax within templates (`check here `_ its documentation for details).\n\nBesides this, pnictogen also understands a special delimiter (``--@``) that allows one to generate many inputs from a single file:\n\n.. code:: bash\n\n $ cat repo/MOPAC.mop\n {% for molecule in molecule %}\n --@{{ loop.index }}\n CHARGE={{ molecule.charge }} MS={{ (molecule.mult - 1)/2 }}\n {{ molecule.name }}\n\n {{ molecule.to_string(\"mop\") }}\n\n {% endfor %}\n $ pnictogen repo/MOPAC.mop data/pentane_conformers.xyz\n data/pentane_conformers_1.mop written\n data/pentane_conformers_2.mop written\n data/pentane_conformers_3.mop written\n data/pentane_conformers_4.mop written\n data/pentane_conformers_5.mop written\n data/pentane_conformers_6.mop written\n data/pentane_conformers_7.mop written\n\nThe rest of the line after ``--@`` is aways added to the name of the inputs after an underscore (``_``).\n\nIn the example above, ``data/pentane_conformers.xyz`` contains seven conformers of pentane, so seven inputs were generated (the counting is provided by ``loop.index``):\n\n.. code:: bash\n\n $ cat data/pentane_conformers_5.mop\n CHARGE=0 MS=0.0\n C5H12\n\n C 1.23923 1 1.46892 1 -1.23930 1\n C 1.24920 1 0.57161 1 0.00000 1\n C -0.00000 1 -0.31179 1 -0.00000 1\n C -1.24920 1 0.57161 1 -0.00000 1\n C -2.49842 1 -0.31168 1 0.01981 1\n H 1.23217 1 0.84960 1 -2.13625 1\n H 0.34926 1 2.09811 1 -1.22516 1\n H 2.12917 1 2.09831 1 -1.23936 1\n H 2.13917 1 -0.05758 1 -0.01415 1\n H 1.25625 1 1.19094 1 0.89694 1\n H -0.00000 1 -0.94109 1 -0.89000 1\n H -0.00000 1 -0.94109 1 0.89000 1\n H -1.24217 1 1.21085 1 0.88286 1\n H -1.25629 1 1.19089 1 -0.89697 1\n H -2.50545 1 -0.95092 1 -0.86305 1\n H -2.49134 1 -0.93096 1 0.91678 1\n H -3.38842 1 0.31762 1 0.01981 1\n\nExample: energy decomposition analysis (EDA) with ADF\n--------------------------------------------------------------\n\nImagine we want to do `energy decomposition analysis `_ on the following water dimer:\n\n.. code:: bash\n\n $ cat water-dimer.xyz\n 6\n\n O 0.12908 -0.26336 0.64798\n H 0.89795 0.28805 0.85518\n H 0.10833 -0.20468 -0.33302\n O 0.31020 0.07569 -2.07524\n H 0.64083 -0.57862 -2.71449\n H -0.26065 0.64232 -2.62218\n\nThe following template uses both ``molecule.split()`` and ``molecule.to_string(\"xyz\")`` functions to generate ADF inputs in bulk:\n\n.. code:: bash\n\n $ cat split.ADF.in\n {% set frags = molecule.split([range(3), range(3, 6)]) %}\n --@eda\n ATOMS Cartesian\n {% for frag in frags %}\n {{ frag.to_string(\"xyz\", dialect=\"adf\", fragment_id=\"f{}\".format(loop.index)) }}\n {% endfor %}\n End\n\n Fragments\n {% for frag in frags %}\n f{{ loop.index }} {{ input_prefix }}_f{{ loop.index }}.t21\n {% endfor %}\n End\n\n {% for frag in frags %}\n --@f{{ loop.index }}\n ATOMS Cartesian\n {{ frag.to_string(\"xyz\") }}\n End\n\n {% endfor %}\n $ pnictogen split.ADF.in data/water-dimer.xyz\n data/water-dimer_eda.in written\n data/water-dimer_f1.in written\n data/water-dimer_f2.in written\n\nThe above creates inputs like the following:\n\n.. code:: bash\n\n $ cat water-dimer_eda.in\n ATOMS Cartesian\n O 0.12908 -0.26336 0.64798 f=f1\n H 0.89795 0.28805 0.85518 f=f1\n H 0.10833 -0.20468 -0.33302 f=f1\n O 0.31020 0.07569 -2.07524 f=f2\n H 0.64083 -0.57862 -2.71449 f=f2\n H -0.26065 0.64232 -2.62218 f=f2\n End\n\n Fragments\n f1 data/water-dimer_f1.t21\n f2 data/water-dimer_f2.t21\n End\n\n $ cat water-dimer_f1.in\n ATOMS Cartesian\n O 0.12908 -0.26336 0.64798\n H 0.89795 0.28805 0.85518\n H 0.10833 -0.20468 -0.33302\n End\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "https://github.com/schneiderfelipe/pnictogen/archive/0.4.3.tar.gz",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/schneiderfelipe/pnictogen",
"keywords": "science,research,chemistry",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "pnictogen",
"package_url": "https://pypi.org/project/pnictogen/",
"platform": "",
"project_url": "https://pypi.org/project/pnictogen/",
"project_urls": {
"Download": "https://github.com/schneiderfelipe/pnictogen/archive/0.4.3.tar.gz",
"Homepage": "https://github.com/schneiderfelipe/pnictogen"
},
"release_url": "https://pypi.org/project/pnictogen/0.4.3/",
"requires_dist": [
"cclib",
"Jinja2 (>=2.10)",
"openbabel"
],
"requires_python": "",
"summary": "A Python library and a command-line tool that creates input files for computational chemistry packages.",
"version": "0.4.3"
},
"last_serial": 5745673,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "699d6a338519d598a0832b63ee04eff2",
"sha256": "0c887f6ee3fe7f39610b402c269c4dd9f89f3918e6dfa5325ee799d63499afff"
},
"downloads": -1,
"filename": "pnictogen-0.1.tar.gz",
"has_sig": false,
"md5_digest": "699d6a338519d598a0832b63ee04eff2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7202,
"upload_time": "2018-01-23T19:02:04",
"url": "https://files.pythonhosted.org/packages/57/a1/4964adfa84a3a7a8c11dfb6988c7ac2b3dd02e2d6260f7584dea94103438/pnictogen-0.1.tar.gz"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "81790bb2c04722f7e5b1dbef550622c4",
"sha256": "02a09a19f2325ac13405afffd6aab5dec57f75f29ed9ccf68daa6b5f94d65765"
},
"downloads": -1,
"filename": "pnictogen-0.3.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "81790bb2c04722f7e5b1dbef550622c4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 7711,
"upload_time": "2018-10-20T21:41:51",
"url": "https://files.pythonhosted.org/packages/90/46/b92a997e0a670ff033314a7f3dbe719bc9f3032e905c299d0dd0b8d88831/pnictogen-0.3.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e8082a00eaa1bf505c3ce0044cfe1133",
"sha256": "554d7a509b718fc3ba5b6e2dd80ffc4a0840b15d349084529c673369d7ec25fe"
},
"downloads": -1,
"filename": "pnictogen-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "e8082a00eaa1bf505c3ce0044cfe1133",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8145,
"upload_time": "2018-10-20T21:41:52",
"url": "https://files.pythonhosted.org/packages/52/c6/ac385f14f1e8987b94eec1f9ec6b6217698fa17c685e87b355265aa619b5/pnictogen-0.3.1.tar.gz"
}
],
"0.3.2": [
{
"comment_text": "",
"digests": {
"md5": "eaa878b82ed3560f97b2767c4c022be9",
"sha256": "ee5c9f74e24d73148ede14368c8e36324547ece18034bf389bb0f121225c3f5e"
},
"downloads": -1,
"filename": "pnictogen-0.3.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "eaa878b82ed3560f97b2767c4c022be9",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 11495,
"upload_time": "2018-10-25T12:46:22",
"url": "https://files.pythonhosted.org/packages/ea/f7/af8f39ed967f898244e02e45cc6d0446ebc7bc0d16ca2977ca67f4f58474/pnictogen-0.3.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e409886e60f40d094bd2c6f4d3538852",
"sha256": "f2026bbc85cfa58cb6a27047ca5bb3423bde5c82c1231f81e143e12c013e4f18"
},
"downloads": -1,
"filename": "pnictogen-0.3.2.tar.gz",
"has_sig": false,
"md5_digest": "e409886e60f40d094bd2c6f4d3538852",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 47495,
"upload_time": "2018-10-25T12:46:24",
"url": "https://files.pythonhosted.org/packages/ef/c3/58016c91457a3bf498650cd9b8a6563a36fbfa28e803288ec2dd1f3d282d/pnictogen-0.3.2.tar.gz"
}
],
"0.4.1": [
{
"comment_text": "",
"digests": {
"md5": "556f80e29b26da5856403b8f46c743f2",
"sha256": "9975b46c05acdca1912d2c792495ed8c72515ff2eec3ac5b4d5f546209633ab6"
},
"downloads": -1,
"filename": "pnictogen-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "556f80e29b26da5856403b8f46c743f2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14935,
"upload_time": "2019-08-28T20:44:40",
"url": "https://files.pythonhosted.org/packages/2f/ea/591065f1602021bcf1dac1a5e159205e9af8f94672be1a29a3fe1b1ea4af/pnictogen-0.4.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0c161c701c1cd4194d0a9501061bccd4",
"sha256": "90ee1e07da4add1fa417af0a4e72c2e805145c1d0b53ba24917db65fe9ea7517"
},
"downloads": -1,
"filename": "pnictogen-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "0c161c701c1cd4194d0a9501061bccd4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 46886,
"upload_time": "2019-08-28T20:44:41",
"url": "https://files.pythonhosted.org/packages/60/b1/ba0ce0aa52c907ec29574dcb154d1c31b42fe662cb22de5b4dcd07f3d32b/pnictogen-0.4.1.tar.gz"
}
],
"0.4.3": [
{
"comment_text": "",
"digests": {
"md5": "4c0ea082e618a7f18d92df66b0b0bf49",
"sha256": "c1840898f17a8b5a0e7ed9fb35a69b03bf8ec677e1dc88b53fa198428531449b"
},
"downloads": -1,
"filename": "pnictogen-0.4.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4c0ea082e618a7f18d92df66b0b0bf49",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14945,
"upload_time": "2019-08-28T21:00:28",
"url": "https://files.pythonhosted.org/packages/97/4f/2418b79991e281ddc8359e1133c12b12a3bf1126107a8c77acd4e76fa7ad/pnictogen-0.4.3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d277c7d3500d2ce9a353192e33574107",
"sha256": "e81a0d64580ad32213f7f0ace0d966a7a14c3be8d3feb61584a47e97812992e8"
},
"downloads": -1,
"filename": "pnictogen-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "d277c7d3500d2ce9a353192e33574107",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 46883,
"upload_time": "2019-08-28T21:00:30",
"url": "https://files.pythonhosted.org/packages/f6/1d/d38933e73499ea6da95b6c3935e2b422586a4ab0962d1fa616a067950ce5/pnictogen-0.4.3.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "4c0ea082e618a7f18d92df66b0b0bf49",
"sha256": "c1840898f17a8b5a0e7ed9fb35a69b03bf8ec677e1dc88b53fa198428531449b"
},
"downloads": -1,
"filename": "pnictogen-0.4.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4c0ea082e618a7f18d92df66b0b0bf49",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14945,
"upload_time": "2019-08-28T21:00:28",
"url": "https://files.pythonhosted.org/packages/97/4f/2418b79991e281ddc8359e1133c12b12a3bf1126107a8c77acd4e76fa7ad/pnictogen-0.4.3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d277c7d3500d2ce9a353192e33574107",
"sha256": "e81a0d64580ad32213f7f0ace0d966a7a14c3be8d3feb61584a47e97812992e8"
},
"downloads": -1,
"filename": "pnictogen-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "d277c7d3500d2ce9a353192e33574107",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 46883,
"upload_time": "2019-08-28T21:00:30",
"url": "https://files.pythonhosted.org/packages/f6/1d/d38933e73499ea6da95b6c3935e2b422586a4ab0962d1fa616a067950ce5/pnictogen-0.4.3.tar.gz"
}
]
}