Exemple #1
0
 def testAddCharmmPsf(self):
     """ Test adding CHARMM PSF file to ParmList """
     parms = ParmList()
     ala3 = CharmmPsfFile(get_fn('ala3_solv.psf'))
     aaa = CharmmPsfFile(get_fn('ala_ala_ala.psf'))
     xaaa = CharmmPsfFile(get_fn('ala_ala_ala.psf.xplor'))
     aaaa = CharmmPsfFile(get_fn('ala_ala_ala_autopsf.psf'))
     parms.add_parm(ala3)
     parms.add_parm(aaa)
     parms.add_parm(xaaa)
     parms.add_parm(aaaa)
     # Check indexing
     self.assertIs(parms[0], ala3)
     self.assertIs(parms[1], aaa)
     self.assertIs(parms[2], xaaa)
     self.assertIs(parms[3], aaaa)
     # Test name indexing
     self.assertIs(parms[get_fn('ala3_solv.psf')], ala3)
     self.assertIs(parms[get_fn('ala_ala_ala.psf')], aaa)
     self.assertIs(parms[get_fn('ala_ala_ala.psf.xplor')], xaaa)
     self.assertIs(parms[get_fn('ala_ala_ala_autopsf.psf')], aaaa)
     # Check that the last parm added is active
     self.assertIs(parms.parm, parms[-1])
     # Set a new active topology
     parms.set_new_active(0)
     self.assertIs(parms.parm, ala3)
     parms.set_new_active(get_fn('ala_ala_ala.psf'))
     self.assertIs(parms.parm, aaa)
Exemple #2
0
    def parse(filename):
        """ Read a CHARMM- or XPLOR-style PSF file

        Parameters
        ----------
        filename : str
            Name of the file to parse

        Returns
        -------
        psf_file : :class:`CharmmPsfFile`
            The PSF file instance with all information loaded
        """
        return CharmmPsfFile(filename)
from chemistry import unit as u
from copy import copy
from math import sqrt
import unittest
import warnings
import utils

get_fn = utils.get_fn
skipIf = utils.skipIf

# Suppress warning output from bad psf file... sigh.
warnings.filterwarnings('ignore', category=CharmmPSFWarning)

if has_openmm:
    # System
    charmm_gas = CharmmPsfFile(get_fn('ala_ala_ala.psf'))
    charmm_gas_crds = PDBFile(get_fn('ala_ala_ala.pdb'))
    charmm_solv = CharmmPsfFile(get_fn('dhfr_cmap_pbc.psf'))
    charmm_solv_crds = CharmmCrdFile(get_fn('dhfr_min_charmm.crd'))
    charmm_nbfix = CharmmPsfFile(get_fn('ala3_solv.psf'))
    charmm_nbfix_crds = CharmmCrdFile(get_fn('ala3_solv.crd'))

    # Parameter sets
    param22 = CharmmParameterSet(get_fn('top_all22_prot.inp'),
                                 get_fn('par_all22_prot.inp'))
    param36 = CharmmParameterSet(get_fn('par_all36_prot.prm'),
                                 get_fn('toppar_water_ions.str'))

    # Make sure all precisions are double
    for i in range(mm.Platform.getNumPlatforms()):
        plat = mm.Platform.getPlatform(i)
import sys

# OpenMM Imports
import simtk.openmm as mm
import simtk.openmm.app as app

# ParmEd Imports
from chemistry.charmm import CharmmPsfFile, CharmmCrdFile, CharmmParameterSet
from chemistry.openmm.reporters import StateDataReporter
from chemistry import unit as u

# Load the CHARMM files
print('Loading CHARMM files...')
params = CharmmParameterSet('toppar/par_all36_prot.prm',
                            'toppar/toppar_water_ions.str')
ala2_solv = CharmmPsfFile('ala2_charmmgui.psf')
ala2_crds = CharmmCrdFile('ala2_charmmgui.crd')

# NOTE NOTE
# The parameter set we used here is the CHARMM 36 force field, but this is
# strictly an example. It is important that you use the most accurate (typically
# most up-to-date) force fields for your own simulation. See the CHARMM
# parameter web page for updates:
# http://mackerell.umaryland.edu/CHARMM_ff_params.html
# END NOTE

# Compute the box dimensions from the coordinates and set the box lengths (only
# orthorhombic boxes are currently supported in OpenMM)
coords = ala2_crds.positions
min_crds = [coords[0][0], coords[0][1], coords[0][2]]
max_crds = [coords[0][0], coords[0][1], coords[0][2]]
import sys

# OpenMM Imports
import simtk.openmm as mm
import simtk.openmm.app as app

# ParmEd Imports
from chemistry.charmm import CharmmPsfFile, CharmmCrdFile, CharmmParameterSet
from chemistry.openmm import StateDataReporter
from chemistry import unit as u

# Load the CHARMM files
print('Loading CHARMM files...')
params = CharmmParameterSet('toppar/par_all36_prot.prm')
ala5_gas = CharmmPsfFile('ala5_autopsf.psf')
ala5_crds = app.PDBFile('ala5_autopsf.pdb')

# NOTE NOTE
# The parameter set we used here is the CHARMM 36 force field, but this is
# strictly an example. It is important that you use the most accurate (typically
# most up-to-date) force fields for your own simulation. See the CHARMM
# parameter web page for updates:
# http://mackerell.umaryland.edu/CHARMM_ff_params.html
# END NOTE

# Create the OpenMM system
print('Creating OpenMM System')
system = ala5_gas.createSystem(params, nonbondedMethod=app.NoCutoff,
                               constraints=app.HBonds, implicitSolvent=app.HCT,
                               implicitSolventSaltConc=0.1*u.moles/u.liter,
Exemple #6
0
import sys

# OpenMM Imports
import simtk.openmm as mm
import simtk.openmm.app as app

# ParmEd Imports
from chemistry.charmm import CharmmPsfFile, CharmmCrdFile, CharmmParameterSet
from chemistry.amber.openmmreporters import StateDataReporter
from chemistry import unit as u

# Load the CHARMM files
print('Loading CHARMM files...')
params = CharmmParameterSet('toppar/par_all36_prot.prm',
                            'toppar/toppar_water_ions.str')
ala2_solv = CharmmPsfFile('ala2_charmmgui.psf')
ala2_crds = CharmmCrdFile('ala2_charmmgui.crd')

# NOTE NOTE
# The parameter set we used here is the CHARMM 36 force field, but this is
# strictly an example. It is important that you use the most accurate (typically
# most up-to-date) force fields for your own simulation. See the CHARMM
# parameter web page for updates:
# http://mackerell.umaryland.edu/CHARMM_ff_params.html
# END NOTE

# Compute the box dimensions from the coordinates and set the box lengths (only
# orthorhombic boxes are currently supported in OpenMM)
coords = ala2_crds.positions
min_crds = [coords[0][0], coords[0][1], coords[0][2]]
max_crds = [coords[0][0], coords[0][1], coords[0][2]]
Exemple #7
0
import sys

# OpenMM Imports
import simtk.openmm as mm
import simtk.openmm.app as app

# ParmEd Imports
from chemistry.charmm import CharmmPsfFile, CharmmCrdFile, CharmmParameterSet
from chemistry.openmm import StateDataReporter
from chemistry import unit as u

# Load the CHARMM files
print('Loading CHARMM files...')
params = CharmmParameterSet('toppar/par_all36_prot.prm')
ala5_gas = CharmmPsfFile('ala5_autopsf.psf')
ala5_crds = app.PDBFile('ala5_autopsf.pdb')

# NOTE NOTE
# The parameter set we used here is the CHARMM 36 force field, but this is
# strictly an example. It is important that you use the most accurate (typically
# most up-to-date) force fields for your own simulation. See the CHARMM
# parameter web page for updates:
# http://mackerell.umaryland.edu/CHARMM_ff_params.html
# END NOTE

# Create the OpenMM system
print('Creating OpenMM System')
system = ala5_gas.createSystem(
    params,
    nonbondedMethod=app.NoCutoff,