Skip to main content

GAMESS wrapper for Python

Project description

==========
pygamess
==========

`pygamess` is a GAMESS wrapper for Python

Requirements
------------
* Python 2.6 or later (not support 3.x)
* RDKit
* GAMESS

Features
--------
* nothing

Setup
-----
::

$ pip install pygamess

set GAMESS_HOME environment in your .bashrc::

$ export GAMESS_HOME=/usr/local/gamess

Basic Usage
-----------

single point calculation with RDKit
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

::

>>> from pygamess import Gamess
>>> from rdkit import Chem
>>> from rdkit.Chem import AllChem
>>> m = Chem.MolFromSmiles("CC")
>>> m = Chem.AddHs(m)
>>> AllChem.EmbedMolecule(m)
0
>>> AllChem.UFFOptimizeMolecule(m,maxIters=200)
0
>>> g = Gamess()
>>> nm = g.run(m)
>>> nm.GetProp("total_energy")
'-78.302511990200003'

optimize calculation with RDKit
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Change run_type::

>>> from pygamess import Gamess
>>> from rdkit import Chem
>>> from rdkit.Chem import AllChem
>>> m = Chem.MolFromSmiles("CC")
>>> m = Chem.AddHs(m)
>>> AllChem.EmbedMolecule(m)
0
>>> AllChem.UFFOptimizeMolecule(m,maxIters=200)
0
>>> g = Gamess()
>>> g.run_type('optimize')
>>> optimized_mol = g.run(mol)
>>> optimized_mol.GetProp("total_energy")
'-78.306179626599999'

change basis-sets
~~~~~~~~~~~~~~~~~

Change basis set::

>>> from pygamess import Gamess
>>> from rdkit import Chem
>>> from rdkit.Chem import AllChem
>>> m = Chem.MolFromSmiles("CC")
>>> m = Chem.AddHs(m)
>>> AllChem.EmbedMolecule(m)
0
>>> AllChem.UFFOptimizeMolecule(m,maxIters=200)
0
>>> g = Gamess()
>>> g.run_type = "optimize"
>>> g.run(m).GetProp("total_energy")
'-78.302511907400003'
>>> g.basis_set("3-21G")
{'gbasis': 'N21', 'ngauss': '3'}
>>> g.run(m).GetProp("total_energy")
'-78.790442552000002'
>>> g.basis_set("6-31G")
{'gbasis': 'N31', 'ngauss': '6'}
>>> g.run(m).GetProp("total_energy")
'-79.194024566899998'
>>> g.basis_set("6-31G*")
{'gbasis': 'N31', 'ndfunc': '1', 'ngauss': '6'}
>>> g.run(m).GetProp("total_energy")
'-79.225521673399996'
>>> g.basis_set("6-31G**")
{'gbasis': 'N31', 'ndfunc': '1', 'npfunc': '1', 'ngauss': '6'}
>>> g.run(m).GetProp("total_energy")
'-79.235082450899995'

or edit property of Gamess instance::

>>> g.basis = {'gbasis': 'sto', 'ngauss': '3'}
>>> mol_sto3g = g.run(m)
>>> mol_sto3g.GetProp("total_energy")
'-78.302511907400003'

print GAMESS INPUT
~~~~~~~~~~~~~~~~~~

use input method::

>>> g.input(mol)


History
-------

0.4.1.1 (2017-09-16)
~~~~~~~~~~~~~~~~~~

* Update Readme

0.4.1 (2017-09-16)
~~~~~~~~~~~~~~~~~~

* Bug fixed (coordinates problem)

0.4.0 (2017-09-13)
~~~~~~~~~~~~~~~~~~

* Change the backend library from openbabel to RDKit

0.3.0 (2012-03-31)
~~~~~~~~~~~~~~~~~~

* Use internal rungms (default)
* Added basis_set method(STO-3G,3-21G,6-31G,6-311G,6-31G*,6-31G**,AM1,PM3,MNDO)
* Constructor can accept options
* Bug fixed (spin multiplicity)

0.2.2 (2012-03-30)
~~~~~~~~~~~~~~~~~~

* Added charge settings
* Method name changed (gamess_input -> input)

0.2.1 (2012-03-23)
~~~~~~~~~~~~~~~~~~

* Bug fixed (multiplicity setting for pybel)
* Bug fixed (print error when rungms exec failed)
* Added document

0.2.0 (2012-03-06)
~~~~~~~~~~~~~~~~~~

* Run method can accept OBMol and Pybel-Molecule object

0.1.2 (2011-09-23)
~~~~~~~~~~~~~~~~~~

* Added CIS method (and optimization)

0.1.1 (2011-08-06)
~~~~~~~~~~~~~~~~~~

* Updated document
* Semiempical method (AM1, PM3, MNDO)
* Added statpt option
* Changed default error print (10 lines)

0.1 (2011-6-25)
~~~~~~~~~~~~~~~~~~
* First release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygamess-0.4.1.1.tar.gz (7.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page