本文整理汇总了Python中utils.get_fn函数的典型用法代码示例。如果您正苦于以下问题:Python get_fn函数的具体用法?Python get_fn怎么用?Python get_fn使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_fn函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testMol3SingleWrite
def testMol3SingleWrite(self):
""" Tests writing mol3 file of single ResidueTemplate """
mol2 = formats.Mol2File.parse(get_fn('tripos9.mol2'))
formats.Mol2File.write(mol2, get_fn('tripos9.mol3', written=True),
mol3=True)
self.assertTrue(diff_files(get_fn('tripos9.mol3', written=True),
get_saved_fn('tripos9.mol3')))
示例2: test_box_from_system
def test_box_from_system(self):
""" Tests loading box from System """
parm = load_file(get_fn('solv2.parm7'), get_fn('solv2.rst7'))
system = parm.createSystem(nonbondedMethod=app.PME,
nonbondedCutoff=8*u.angstroms)
top = openmm.load_topology(parm.topology, system)
np.testing.assert_allclose(parm.box, top.box)
示例3: setUp
def setUp(self):
self.lfh=sys.stderr
self.verbose=False
self.pathPdbxDataFile = get_fn("1kip.cif")
self.pathOutputFile = get_fn("testOutputDataFile.cif", written=True)
if not os.path.exists(get_fn('writes')):
os.makedirs(get_fn('writes'))
示例4: testAdd
def testAdd(self):
""" Tests combining AmberParm instances """
parm1 = readparm.AmberParm(get_fn('phenol.prmtop'))
parm2 = readparm.AmberParm(get_fn('biphenyl.prmtop'))
comb = parm1 + parm2
self.assertEqual(len(comb.atoms), len(parm1.atoms) + len(parm2.atoms))
for a1, a2 in zip(comb.atoms, parm1.atoms + parm2.atoms):
self.assertEqual(a1.name, a2.name)
self.assertEqual(a1.mass, a2.mass)
self.assertEqual(a1.charge, a2.charge)
self.assertEqual(a1.radii, a2.radii)
self.assertEqual(len(comb.residues), len(parm1.residues) + len(parm2.residues))
for r1, r2 in zip(comb.residues, parm1.residues + parm2.residues):
self.assertEqual(len(r1), len(r2))
self.assertEqual(r1.name, r2.name)
self.assertEqual(r1.chain, r2.chain)
# In-place now
parm1 += parm2
self.assertEqual(len(parm1.atoms), len(comb.atoms))
for a1, a2 in zip(comb.atoms, parm1.atoms):
self.assertEqual(a1.name, a2.name)
self.assertEqual(a1.mass, a2.mass)
self.assertEqual(a1.charge, a2.charge)
self.assertEqual(a1.radii, a2.radii)
self.assertEqual(len(parm1.residues), len(comb.residues))
for r1, r2 in zip(comb.residues, parm1.residues):
self.assertEqual(len(r1), len(r2))
self.assertEqual(r1.name, r2.name)
self.assertEqual(r1.chain, r2.chain)
示例5: test_geometric_combining_rule_energy
def test_geometric_combining_rule_energy(self):
""" Tests converting geom. comb. rule energy from Gromacs to Amber """
top = load_file(os.path.join(get_fn('05.OPLS'), 'topol.top'),
xyz=os.path.join(get_fn('05.OPLS'), 'conf.gro'))
self.assertEqual(top.combining_rule, 'geometric')
del top.rb_torsions[:]
parm = load_file(get_saved_fn('opls.parm7'),
xyz=os.path.join(get_fn('05.OPLS'), 'conf.gro'))
self.assertEqual(parm.combining_rule, 'geometric')
self.assertFalse(parm.has_NBFIX())
sysg = top.createSystem()
sysa = parm.createSystem()
cong = mm.Context(sysg, mm.VerletIntegrator(0.001), CPU)
cona = mm.Context(sysa, mm.VerletIntegrator(0.001), CPU)
cong.setPositions(top.positions)
cona.setPositions(top.positions)
self._check_energies(top, cong, parm, cona)
# Make an NBFIX
self.assertFalse(parm.has_NBFIX())
parm.parm_data['LENNARD_JONES_ACOEF'][-4] = 10.0
self.assertTrue(parm.has_NBFIX())
parm.createSystem()
示例6: testAmberMdcrdNumpy
def testAmberMdcrdNumpy(self):
""" Test writing ASCII trajectory file passing numpy arrays """
import numpy as np
box = np.asarray([15, 15, 15])
Mdcrd = asciicrd.AmberMdcrd
crd = Mdcrd(get_fn('testc.mdcrd', written=True), natom=15, hasbox=False,
mode='w', title='Test file')
coorddata = np.arange(45).reshape((15,3))
crd.add_coordinates(coorddata)
crd.add_coordinates(coorddata+1)
crd.add_coordinates(coorddata+2)
crd.add_coordinates(coorddata+3)
crd.add_coordinates(coorddata+4)
crd.close()
crd = Mdcrd(get_fn('testcb.mdcrd', written=True), natom=18, hasbox=True,
mode='w', title='Test file')
coorddata = np.arange(54).reshape((18,3))
crd.add_coordinates(coorddata)
crd.add_box(box)
crd.add_coordinates(coorddata+1)
crd.add_box(box)
crd.add_coordinates(coorddata+2)
crd.add_box(box)
crd.add_coordinates(coorddata+3)
crd.add_box(box)
crd.add_coordinates(coorddata+4)
crd.add_box(box)
crd.close()
self._check_written_mdcrds(box)
示例7: _check_written_restarts
def _check_written_restarts(self, box):
# Now try to read them and verify the information (keep in mind that the
# restart velocities are scaled down then back up, so you'll need to use
# assertAlmostEqual in this case).
rst = readparm.Rst7.open(get_fn('testc.rst7', written=True))
self.assertFalse(rst.hasbox)
self.assertFalse(rst.hasvels)
for x1, x2 in zip(rst.coordinates, range(27)):
self.assertEqual(x1, x2)
rst = readparm.Rst7.open(get_fn('testcb.rst7', written=True))
self.assertTrue(rst.hasbox)
self.assertFalse(rst.hasvels)
for x1, x2 in zip(rst.coordinates, range(21)):
self.assertEqual(x1, x2)
for x1, x2 in zip(rst.box, box):
self.assertEqual(x1, x2)
rst = readparm.Rst7.open(get_fn('testcv.rst7', written=True))
self.assertTrue(rst.hasvels)
self.assertFalse(rst.hasbox)
for x1, x2 in zip(rst.coordinates, range(60)):
self.assertEqual(x1, x2)
for x1, x2 in zip(rst.vels, reversed(range(60))):
self.assertAlmostEqual(x1, x2, places=5)
rst = readparm.Rst7.open(get_fn('testcvb.rst7', written=True))
self.assertTrue(rst.hasvels)
self.assertTrue(rst.hasbox)
for x1, x2 in zip(rst.coordinates, range(45)):
self.assertEqual(x1, x2)
for x1, x2 in zip(rst.vels, reversed(range(45))):
self.assertAlmostEqual(x1, x2, places=5)
for x1, x2 in zip(rst.box, box):
self.assertEqual(x1, x2)
示例8: test_dppc
def test_dppc(self):
""" Tests non-standard Gromacs force fields and nonbonded exceptions """
# We know what we're doing
warnings.filterwarnings('ignore', category=GromacsWarning)
top = load_file(os.path.join(get_fn('12.DPPC'), 'topol.top'),
xyz=os.path.join(get_fn('12.DPPC'), 'conf.gro'))
self.assertEqual(top.combining_rule, 'lorentz')
# Create the system and context, then calculate the energy decomposition
system = top.createSystem()
context = mm.Context(system, mm.VerletIntegrator(0.001), CPU)
context.setPositions(top.positions)
energies = energy_decomposition(top, context, nrg=u.kilojoules_per_mole)
# Compare with Lee-Ping's answers.
self.assertAlmostEqual(energies['bond'], 0)
self.assertAlmostEqual(energies['angle'], 1405.7354199, places=4)
self.assertAlmostEqual(energies['dihedral'], 236.932663255, places=4)
self.assertAlmostEqual(energies['improper'], 33.201541811, places=4)
self.assertAlmostEqual(energies['rb_torsion'], 428.0550599, places=4)
self.assertRelativeEqual(energies['nonbonded'], -16432.8092955, places=4)
gmxfrc = get_forces_from_xvg(os.path.join(get_fn('12.DPPC'), 'force.xvg'))
ommfrc = context.getState(getForces=True).getForces().value_in_unit(
u.kilojoules_per_mole/u.nanometer)
zero_ep_frc(ommfrc, top)
max_diff = get_max_diff(gmxfrc, ommfrc)
self.assertLess(max_diff, 5)
示例9: test_round_trip
def test_round_trip(self):
""" Test ParmEd -> OpenMM round trip with Gromacs system """
# Use DPPC to get RB-torsions tested. Also check that it initially fails
# with the CustomNonbondedForce
warnings.filterwarnings('ignore', category=GromacsWarning)
top = load_file(os.path.join(get_fn('12.DPPC'), 'topol.top'),
xyz=os.path.join(get_fn('12.DPPC'), 'conf.gro'))
self.assertEqual(top.combining_rule, 'lorentz')
system = top.createSystem()
def bad_system():
return openmm.load_topology(top.topology, system).createSystem()
warnings.filterwarnings('ignore', category=OpenMMWarning)
self.assertTrue(
openmm.load_topology(top.topology, system).unknown_functional
)
self.assertRaises(ParmedError, bad_system)
for i in range(len(system.getForces())):
if isinstance(system.getForce(i), mm.CustomNonbondedForce):
system.removeForce(i)
break
system2 = openmm.load_topology(top.topology, system).createSystem()
con1 = mm.Context(system, mm.VerletIntegrator(0.001), CPU)
con2 = mm.Context(system2, mm.VerletIntegrator(0.001), CPU)
con1.setPositions(top.positions)
con2.setPositions(top.positions)
ene1 = energy_decomposition(top, con1)
ene2 = energy_decomposition(top, con2)
self.assertAlmostEqual(ene1['bond'], ene2['bond'])
self.assertAlmostEqual(ene1['angle'], ene2['angle'])
self.assertAlmostEqual(ene1['dihedral'], ene2['dihedral'])
self.assertAlmostEqual(ene1['improper'], ene2['improper'])
self.assertAlmostEqual(ene1['rb_torsion'], ene2['rb_torsion'])
self.assertAlmostEqual(ene1['nonbonded'], ene2['nonbonded'])
示例10: test_jac
def test_jac(self):
""" Tests the JAC benchmark Gromacs system nrg and force (no PBC) """
# Load the top and gro files
top = load_file(os.path.join(get_fn('07.DHFR-Liquid-NoPBC'), 'topol.top'),
xyz=os.path.join(get_fn('07.DHFR-Liquid-NoPBC'), 'conf.gro'))
self.assertEqual(top.combining_rule, 'lorentz')
# Create the system and context, then calculate the energy decomposition
system = top.createSystem()
context = mm.Context(system, mm.VerletIntegrator(0.001), CPU)
context.setPositions(top.positions)
energies = energy_decomposition(top, context, nrg=u.kilojoules_per_mole)
# Compare with Lee-Ping's answers. Make sure we zero-out forces for
# virtual sites, since OMM doesn't do this and Gromacs does.
self.assertAlmostEqual(energies['bond'], 35.142565, places=3)
self.assertAlmostEqual(energies['angle'], 3735.514669, places=3)
self.assertAlmostEqual(energies['dihedral'], 7277.741635, delta=0.002)
self.assertRelativeEqual(energies['nonbonded'], -288718.981405, places=4)
gmxfrc = get_forces_from_xvg(
os.path.join(get_fn('07.DHFR-Liquid-NoPBC'), 'force.xvg'))
ommfrc = context.getState(getForces=True).getForces().value_in_unit(
u.kilojoules_per_mole/u.nanometer)
zero_ep_frc(ommfrc, top)
max_diff = get_max_diff(gmxfrc, ommfrc)
self.assertLess(max_diff, 0.5)
示例11: test_jac_pme
def test_jac_pme(self):
""" Tests the JAC benchmark Gromacs system nrg and force (PME) """
# Load the top and gro files
top = load_file(os.path.join(get_fn('09.DHFR-PME'), 'topol.top'),
xyz=os.path.join(get_fn('09.DHFR-PME'), 'conf.gro'))
self.assertEqual(top.combining_rule, 'lorentz')
# Create the system and context, then calculate the energy decomposition
system = top.createSystem(nonbondedMethod=app.PME,
constraints=app.HBonds,
nonbondedCutoff=0.9*u.nanometers,
ewaldErrorTolerance=1.0e-5)
context = mm.Context(system, mm.VerletIntegrator(0.001), Reference)
context.setPositions(top.positions)
energies = energy_decomposition(top, context, nrg=u.kilojoules_per_mole)
# Compare with Lee-Ping's answers. Make sure we zero-out forces for
# virtual sites, since OMM doesn't do this and Gromacs does.
self.assertAlmostEqual(energies['bond'], 1628.54739, places=3)
self.assertAlmostEqual(energies['angle'], 3604.58751, places=3)
self.assertAlmostEqual(energies['dihedral'], 6490.00844, delta=0.002)
self.assertRelativeEqual(energies['nonbonded'], 23616.457584, delta=0.002)
gmxfrc = get_forces_from_xvg(
os.path.join(get_fn('09.DHFR-PME'), 'force.xvg'))
ommfrc = context.getState(getForces=True).getForces().value_in_unit(
u.kilojoules_per_mole/u.nanometer)
zero_ep_frc(ommfrc, top)
max_diff = get_max_diff(gmxfrc, ommfrc)
self.assertLess(max_diff, 5)
示例12: test_small_double_peptide
def test_small_double_peptide(self):
""" Test interacting peptides Gromacs system nrg and frc (no PBC) """
# Load the top and gro files
top = load_file(os.path.join(get_fn('03.AlaGlu'), 'topol.top'),
xyz=os.path.join(get_fn('03.AlaGlu'), 'conf.gro'))
self.assertEqual(top.combining_rule, 'lorentz')
# create the system and context, then calculate the energy decomposition
system = top.createSystem()
context = mm.Context(system, mm.VerletIntegrator(0.001), CPU)
context.setPositions(top.positions)
energies = energy_decomposition(top, context, nrg=u.kilojoules_per_mole)
# Compare with Lee-Ping's answers. Make sure we zero-out forces for
# virtual sites, since OMM doesn't do this and Gromacs does.
self.assertAlmostEqual(energies['bond'], 1.5307999, places=4)
self.assertAlmostEqual(energies['angle'], 6.5804488, places=4)
self.assertAlmostEqual(energies['dihedral'], 80.379714, places=4)
self.assertAlmostEqual(energies['nonbonded'], -275.142487, places=3)
gmxfrc = get_forces_from_xvg(os.path.join(get_fn('03.AlaGlu'), 'force.xvg'))
ommfrc = context.getState(getForces=True).getForces().value_in_unit(
u.kilojoules_per_mole/u.nanometer)
zero_ep_frc(ommfrc, top)
max_diff = get_max_diff(gmxfrc, ommfrc)
self.assertLess(max_diff, 0.05)
示例13: test_component_for_duck_typing
def test_component_for_duck_typing():
view = NGLWidget()
traj = pt.load(nv.datafiles.PDB)
view.add_component(get_fn('tz2.pdb'))
view.add_component(get_fn('tz2_2.pdb.gz'))
view.add_trajectory(nv.PyTrajTrajectory(traj))
view.component_0.add_representation('cartoon')
c0 = view[0]
c1 = view[1]
assert hasattr(view, 'component_0')
assert hasattr(view, 'component_1')
assert hasattr(view, 'trajectory_0')
assert hasattr(view.trajectory_0, 'n_frames')
assert hasattr(view.trajectory_0, 'get_coordinates')
assert hasattr(view.trajectory_0, 'get_structure_string')
c0.show()
c0.hide()
view.remove_component(c0.id)
assert not hasattr(view, 'component_2')
# negative indexing
assert view[-1]._index == c1._index
示例14: testMol3SingleWriteStruct
def testMol3SingleWriteStruct(self):
""" Tests writing mol3 file of single-residue Structure """
mol2 = formats.Mol2File.parse(get_fn('tripos9.mol2'), structure=True)
formats.Mol2File.write(mol2, get_fn('tripos9struct.mol3', written=True),
mol3=True)
self.assertTrue(diff_files(get_fn('tripos9struct.mol3', written=True),
get_saved_fn('tripos9struct.mol3')))
示例15: tearDown
def tearDown(self):
try:
for f in os.listdir(get_fn('writes')):
os.unlink(get_fn(f, written=True))
os.rmdir(get_fn('writes'))
except OSError:
pass