Giter Site home page Giter Site logo

vahtras / moltools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fishstamp82/moltools

0.0 3.0 0.0 2.88 MB

Polarizable QMMM force field development for proteins.

Home Page: https://fishstamp82.github.io/moltools

License: MIT License

Python 98.71% Shell 0.21% Jupyter Notebook 1.08%

moltools's Introduction

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 --recursive [email protected]:fishstamp82/moltools.git

export PYTHONPATH=$(pwd)/moltools/src:$PYTHONPATH

Tip: Export the pythonpath variable in your initrc file of choice in order to have it automatically load.

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.

moltools's People

Contributors

fishstamp82 avatar vahtras avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.