Skip to content

fishstamp82/moltools

Repository files navigation

Documentation Status Build Status Coverage Status DOI

#Welcome to moltools!

Code purpose: Wrap DALTON LoProp calculation into convinient functions
callable by the Molecule instance using IPython or python scripts.

Current features:

Features include obtaining LoProp properties for solvent molecules/ligands 
or for proteins and polymers that are covalently bonded via the MFCC procedure.

By integrating with the particles module, applequist equations are directly 
solvable for a system of classical molecules using damped 
charges/dipole-moments 	directly from QM-obtainable properties.

For localized Beta, this requires the latest development source of 
DALTON installed.

Installation:

git clone git@github.com:fishstamp82/moltools.git

cd moltools

virtualenv -p python2.7 venv2.7

source venv2.7/bin/activate

python setup.py install

Execute the following script if you want to run DALTON computations in parallel using HPC clusters.

For the Linköping HPC triolith, execute:

src/scripts/dalton_run_on_triolith.sh

For Umeå HPC akka, execute:

src/scripts/dalton_run_on_akka.sh

A quick-start:

Run:

  • ipython
  • in [1]: from molecules import Water, Cluster
Create a water molecule with oxygen in origo, in atomic units by default

in [2]: w1 = Water().get_standard()

Create an additional water molecule (atomic units by default)

in [3]: w2 = Water.get_standard()

Translate water 2 by 2.5 AU in the z-axis

in [4]: w2.translate_by_r( [0, 0, 2.5] )

Add them together into a Cluster

in [5]: c = Cluster( w1, w2 )

You can always make a quick visualization of a Molecule / Cluster

in [6]: c.plot()

Attach some properties to the waters (The rotation of properties will be taken care of )

#See template.py for all available templates

in [8]: c.attach_properties( model = 'tip3p', method = 'HF', basis ='ANOPVDZ' )

Output the atomic/ molecular/ cluster propertiy via the .Property keyword, or via the quick-wrapper .p (.d for dipole, .a alpha .etc )

in [9]: print c.p.a [ 15.02184 0. 0. 11.48016 0. 13.72182]

Calculate each waters properties from ab-initio using DALTON, and put those properties on each atom using LoProp in one step:

In [10]: c.props_from_qm( tmpdir = '/tmp', dalpath = $PATH_TO_DALTON_SCRIPT )

If the dalton version is the development master branch, localized hyperpolarizabilities are obtainable:

In [11]: c.props_from_qm( method = 'b3lypqua', tmpdir = '/tmp', dalpath = $PATH_TO_DALTON_SCRIPT )


Extra features:

These include uncommenting "#from mayavi import mlab" in 
src/pdbreader.py and an installation of mayavi2.
This enables plotting of the beta tensor around molecules and clusters.

######Visit the documentation for the API and more tutorials on the source code. Work in progress and most stuff are outdated.