Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tsoc
openmm
Commits
18295108
Commit
18295108
authored
Sep 05, 2017
by
peastman
Browse files
Merge changes from main branch
parents
e6101f68
8d7234e5
Changes
154
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
5499 additions
and
12 deletions
+5499
-12
wrappers/python/simtk/openmm/app/pdbxfile.py
wrappers/python/simtk/openmm/app/pdbxfile.py
+57
-4
wrappers/python/src/swig_doxygen/swigInputBuilder.py
wrappers/python/src/swig_doxygen/swigInputBuilder.py
+5
-0
wrappers/python/src/swig_doxygen/swigInputConfig.py
wrappers/python/src/swig_doxygen/swigInputConfig.py
+8
-0
wrappers/python/src/swig_doxygen/swig_lib/python/extend.i
wrappers/python/src/swig_doxygen/swig_lib/python/extend.i
+3
-0
wrappers/python/tests/TestAmberPrmtopFile.py
wrappers/python/tests/TestAmberPrmtopFile.py
+2
-2
wrappers/python/tests/TestCharmmFiles.py
wrappers/python/tests/TestCharmmFiles.py
+26
-1
wrappers/python/tests/TestForceField.py
wrappers/python/tests/TestForceField.py
+72
-5
wrappers/python/tests/TestGromacsTopFile.py
wrappers/python/tests/TestGromacsTopFile.py
+12
-0
wrappers/python/tests/TestPdbxFile.py
wrappers/python/tests/TestPdbxFile.py
+18
-0
wrappers/python/tests/systems/2ci2.pdb.gro
wrappers/python/tests/systems/2ci2.pdb.gro
+524
-0
wrappers/python/tests/systems/2ci2.pdb.top
wrappers/python/tests/systems/2ci2.pdb.top
+4670
-0
wrappers/python/tests/systems/ff_with_includes.xml
wrappers/python/tests/systems/ff_with_includes.xml
+4
-0
wrappers/python/tests/systems/improper.psf
wrappers/python/tests/systems/improper.psf
+38
-0
wrappers/python/tests/systems/impropers_ordering_tetrapeptide.pdb
.../python/tests/systems/impropers_ordering_tetrapeptide.pdb
+60
-0
No files found.
wrappers/python/simtk/openmm/app/pdbxfile.py
View file @
18295108
...
...
@@ -39,7 +39,7 @@ from simtk.openmm import Vec3, Platform
from
datetime
import
date
from
simtk.openmm.app.internal.pdbx.reader.PdbxReader
import
PdbxReader
from
simtk.openmm.app.internal.unitcell
import
computePeriodicBoxVectors
,
computeLengthsAndAngles
from
simtk.openmm.app
import
Topology
from
simtk.openmm.app
import
Topology
,
PDBFile
from
simtk.unit
import
nanometers
,
angstroms
,
is_quantity
,
norm
,
Quantity
,
dot
from
.
import
element
as
elem
try
:
...
...
@@ -234,11 +234,11 @@ class PDBxFile(object):
entry : str=None
The entry ID to assign to the CIF file
"""
PDBxFile
.
writeHeader
(
topology
,
file
,
entry
)
PDBxFile
.
writeHeader
(
topology
,
file
,
entry
,
keepIds
)
PDBxFile
.
writeModel
(
topology
,
positions
,
file
,
keepIds
=
keepIds
)
@
staticmethod
def
writeHeader
(
topology
,
file
=
sys
.
stdout
,
entry
=
None
):
def
writeHeader
(
topology
,
file
=
sys
.
stdout
,
entry
=
None
,
keepIds
=
False
):
"""Write out the header for a PDBx/mmCIF file.
Parameters
...
...
@@ -249,6 +249,11 @@ class PDBxFile(object):
A file to write the file to
entry : str=None
The entry ID to assign to the CIF file
keepIds : bool=False
If True, keep the residue and chain IDs specified in the Topology
rather than generating new ones. Warning: It is up to the caller to
make sure these are valid IDs that satisfy the requirements of the
PDBx/mmCIF format. Otherwise, the output file will be invalid.
"""
if
entry
is
not
None
:
print
(
'data_%s'
%
entry
,
file
=
file
)
...
...
@@ -266,7 +271,55 @@ class PDBxFile(object):
print
(
'_cell.angle_alpha %10.4f'
%
(
alpha
*
RAD_TO_DEG
),
file
=
file
)
print
(
'_cell.angle_beta %10.4f'
%
(
beta
*
RAD_TO_DEG
),
file
=
file
)
print
(
'_cell.angle_gamma %10.4f'
%
(
gamma
*
RAD_TO_DEG
),
file
=
file
)
print
(
'##'
,
file
=
file
)
print
(
'#'
,
file
=
file
)
# Identify bonds that should be listed in the file.
bonds
=
[]
for
atom1
,
atom2
in
topology
.
bonds
():
if
atom1
.
residue
.
name
not
in
PDBFile
.
_standardResidues
or
atom2
.
residue
.
name
not
in
PDBFile
.
_standardResidues
:
bonds
.
append
((
atom1
,
atom2
))
elif
atom1
.
name
==
'SG'
and
atom2
.
name
==
'SG'
and
atom1
.
residue
.
name
==
'CYS'
and
atom2
.
residue
.
name
==
'CYS'
:
bonds
.
append
((
atom1
,
atom2
))
if
len
(
bonds
)
>
0
:
# Write the bond information.
print
(
'loop_'
,
file
=
file
)
print
(
'_struct_conn.id'
,
file
=
file
)
print
(
'_struct_conn.conn_type_id'
,
file
=
file
)
print
(
'_struct_conn.ptnr1_label_asym_id'
,
file
=
file
)
print
(
'_struct_conn.ptnr1_label_comp_id'
,
file
=
file
)
print
(
'_struct_conn.ptnr1_label_seq_id'
,
file
=
file
)
print
(
'_struct_conn.ptnr1_label_atom_id'
,
file
=
file
)
print
(
'_struct_conn.ptnr2_label_asym_id'
,
file
=
file
)
print
(
'_struct_conn.ptnr2_label_comp_id'
,
file
=
file
)
print
(
'_struct_conn.ptnr2_label_seq_id'
,
file
=
file
)
print
(
'_struct_conn.ptnr2_label_atom_id'
,
file
=
file
)
chainIds
=
{}
resIds
=
{}
if
keepIds
:
for
chain
in
topology
.
chains
():
chainIds
[
chain
]
=
chain
.
id
for
res
in
topology
.
residues
():
resIds
[
res
]
=
res
.
id
else
:
for
(
chainIndex
,
chain
)
in
enumerate
(
topology
.
chains
()):
chainIds
[
chain
]
=
chr
(
ord
(
'A'
)
+
chainIndex
%
26
)
for
(
resIndex
,
res
)
in
enumerate
(
chain
.
residues
()):
resIds
[
res
]
=
resIndex
+
1
for
i
,
(
atom1
,
atom2
)
in
enumerate
(
bonds
):
if
atom1
.
residue
.
name
==
'CYS'
and
atom2
.
residue
.
name
==
'CYS'
:
bondType
=
'disulf'
else
:
bondType
=
'covale'
line
=
"bond%d %s %s %-4s %5s %-4s %s %-4s %5s %-4s"
print
(
line
%
(
i
+
1
,
bondType
,
chainIds
[
atom1
.
residue
.
chain
],
atom1
.
residue
.
name
,
resIds
[
atom1
.
residue
],
atom1
.
name
,
chainIds
[
atom2
.
residue
.
chain
],
atom2
.
residue
.
name
,
resIds
[
atom2
.
residue
],
atom2
.
name
),
file
=
file
)
print
(
'#'
,
file
=
file
)
# Write the header for the atom coordinates.
print
(
'loop_'
,
file
=
file
)
print
(
'_atom_site.group_PDB'
,
file
=
file
)
print
(
'_atom_site.id'
,
file
=
file
)
...
...
wrappers/python/src/swig_doxygen/swigInputBuilder.py
View file @
18295108
...
...
@@ -280,6 +280,11 @@ class SwigInputBuilder:
self
.
fOut
.
write
(
",
\n
OpenMM::%s"
%
name
)
self
.
fOut
.
write
(
");
\n\n
"
)
self
.
fOut
.
write
(
"%factory(OpenMM::Force& OpenMM::CustomCVForce::getCollectiveVariable"
)
for
name
in
sorted
(
forceSubclassList
):
self
.
fOut
.
write
(
",
\n
OpenMM::%s"
%
name
)
self
.
fOut
.
write
(
");
\n\n
"
)
self
.
fOut
.
write
(
"%factory(OpenMM::Integrator* OpenMM::Integrator::__copy__"
)
for
name
in
sorted
(
integratorSubclassList
):
self
.
fOut
.
write
(
",
\n
OpenMM::%s"
%
name
)
...
...
wrappers/python/src/swig_doxygen/swigInputConfig.py
View file @
18295108
...
...
@@ -90,6 +90,7 @@ SKIP_METHODS = [('State', 'getPositions'),
(
'UpdateTimeKernel'
,),
(
'VdwInfo'
,),
(
'WcaDispersionInfo'
,),
(
'Context'
,
'getIntegrator'
),
(
'Context'
,
'createCheckpoint'
),
(
'Context'
,
'loadCheckpoint'
),
(
'CudaPlatform'
,),
...
...
@@ -108,6 +109,9 @@ SKIP_METHODS = [('State', 'getPositions'),
(
'IntegrateDrudeSCFStepKernel'
,),
(
'XmlSerializer'
,
'serialize'
),
(
'XmlSerializer'
,
'deserialize'
),
(
'LocalCoordinatesSite'
,
'getOriginWeights'
,
0
),
(
'LocalCoordinatesSite'
,
'getXWeights'
,
0
),
(
'LocalCoordinatesSite'
,
'getYWeights'
,
0
),
]
# The build script assumes method args that are non-const references are
...
...
@@ -142,6 +146,8 @@ STEAL_OWNERSHIP = {("Platform", "registerPlatform") : [0],
(
"CustomHbondForce"
,
"addTabulatedFunction"
)
:
[
1
],
(
"CustomCompoundBondForce"
,
"addTabulatedFunction"
)
:
[
1
],
(
"CustomManyParticleForce"
,
"addTabulatedFunction"
)
:
[
1
],
(
"CustomCVForce"
,
"addTabulatedFunction"
)
:
[
1
],
(
"CustomCVForce"
,
"addCollectiveVariable"
)
:
[
1
],
(
"CompoundIntegrator"
,
"addIntegrator"
)
:
[
0
],
}
...
...
@@ -390,6 +396,8 @@ UNITS = {
(
"CustomTorsionForce"
,
"getPerTorsionParameterName"
)
:
(
None
,
()),
(
"CustomTorsionForce"
,
"getGlobalParameterName"
)
:
(
None
,
()),
(
"CustomTorsionForce"
,
"getTorsionParameters"
)
:
(
None
,
()),
(
"CustomCVForce"
,
"getCollectiveVariable"
)
:
(
None
,
()),
(
"CustomCVForce"
,
"getInnerContext"
)
:
(
None
,
()),
(
"DrudeForce"
,
"getParticleParameters"
)
:
(
None
,
(
None
,
None
,
None
,
None
,
None
,
'unit.elementary_charge'
,
'unit.nanometer**3'
,
None
,
None
)),
(
"DrudeForce"
,
"getNumScreenedPairs"
)
:
(
None
,
()),
(
"DrudeForce"
,
"getScreenedPairParameters"
)
:
(
None
,
()),
...
...
wrappers/python/src/swig_doxygen/swig_lib/python/extend.i
View file @
18295108
...
...
@@ -6,6 +6,9 @@
%
extend
OpenMM
::
Context
{
%
pythoncode
%
{
def
getIntegrator
(
self
)
:
return
self
.
_integrator
def
getState
(
self
,
getPositions
=
False
,
getVelocities
=
False
,
getForces
=
False
,
getEnergy
=
False
,
getParameters
=
False
,
getParameterDerivatives
=
False
,
enforcePeriodicBox
=
False
,
groups
=-
1
)
:
...
...
wrappers/python/tests/TestAmberPrmtopFile.py
View file @
18295108
...
...
@@ -88,8 +88,8 @@ class TestAmberPrmtopFile(unittest.TestCase):
parameter.
"""
for
implicitSolvent_value
in
[
HCT
,
OBC1
,
OBC2
,
GBn
]:
system
=
prmtop2
.
createSystem
(
implicitSolvent
=
implicitSolvent_value
)
for
implicitSolvent_value
,
gbsa
in
zip
(
[
HCT
,
OBC1
,
OBC2
,
GBn
]
,
[
'ACE'
,
None
,
'ACE'
,
None
])
:
system
=
prmtop2
.
createSystem
(
implicitSolvent
=
implicitSolvent_value
,
gbsaModel
=
gbsa
)
forces
=
system
.
getForces
()
if
implicitSolvent_value
in
set
([
HCT
,
OBC1
,
GBn
]):
force_type
=
CustomGBForce
...
...
wrappers/python/tests/TestCharmmFiles.py
View file @
18295108
...
...
@@ -4,6 +4,7 @@ from simtk.openmm.app import *
from
simtk.openmm
import
*
from
simtk.unit
import
*
import
simtk.openmm.app.element
as
elem
import
math
import
warnings
class
TestCharmmFiles
(
unittest
.
TestCase
):
...
...
@@ -60,7 +61,7 @@ class TestCharmmFiles(unittest.TestCase):
"""Test implicit solvent using the implicitSolvent parameter.
"""
system
=
self
.
psf_v
.
createSystem
(
self
.
params
,
implicitSolvent
=
OBC2
)
system
=
self
.
psf_v
.
createSystem
(
self
.
params
,
implicitSolvent
=
OBC2
,
gbsaModel
=
'ACE'
)
self
.
assertTrue
(
any
(
isinstance
(
f
,
CustomGBForce
)
for
f
in
system
.
getForces
()))
def
test_ImplicitSolventParameters
(
self
):
...
...
@@ -206,6 +207,30 @@ class TestCharmmFiles(unittest.TestCase):
ene_strict
=
state_strict
.
getPotentialEnergy
().
value_in_unit
(
kilocalories_per_mole
)
ene_permissive
=
state_permissive
.
getPotentialEnergy
().
value_in_unit
(
kilocalories_per_mole
)
self
.
assertAlmostEqual
(
ene_strict
,
ene_permissive
,
delta
=
0.00001
)
def
test_Impropers
(
self
):
"""Test CHARMM improper torsions."""
psf
=
CharmmPsfFile
(
'systems/improper.psf'
)
system
=
psf
.
createSystem
(
self
.
params
)
force
=
[
f
for
f
in
system
.
getForces
()
if
isinstance
(
f
,
CustomTorsionForce
)][
0
]
group
=
force
.
getForceGroup
()
integrator
=
VerletIntegrator
(
0.001
)
context
=
Context
(
system
,
integrator
,
Platform
.
getPlatformByName
(
"Reference"
))
angle
=
0.1
pos1
=
[
Vec3
(
0
,
0
,
0
),
Vec3
(
1
,
0
,
0
),
Vec3
(
1
,
1
,
0
),
Vec3
(
0
,
1
,
math
.
tan
(
angle
))]
# theta = angle
pos2
=
[
Vec3
(
0
,
0
,
0
),
Vec3
(
1
,
0
,
0
),
Vec3
(
1
,
1
,
0
),
Vec3
(
2
,
1
,
math
.
tan
(
angle
))]
# theta = pi-angle
pos3
=
[
Vec3
(
0
,
0
,
0
),
Vec3
(
1
,
0
,
0
),
Vec3
(
1
,
1
,
0
),
Vec3
(
2
,
1
,
-
math
.
tan
(
angle
))]
# theta = -pi+angle
for
theta0
in
(
0
,
math
.
pi
):
force
.
setTorsionParameters
(
0
,
0
,
1
,
2
,
3
,
[
1.0
,
theta0
])
force
.
updateParametersInContext
(
context
)
for
pos
in
(
pos1
,
pos2
,
pos3
):
context
.
setPositions
(
pos
)
energy
=
context
.
getState
(
getEnergy
=
True
,
groups
=
{
group
}).
getPotentialEnergy
().
value_in_unit
(
kilojoules_per_mole
)
if
(
theta0
==
0
and
pos
==
pos1
)
or
(
theta0
==
math
.
pi
and
pos
in
(
pos2
,
pos3
)):
dtheta
=
angle
else
:
dtheta
=
math
.
pi
-
angle
self
.
assertAlmostEqual
(
energy
,
dtheta
**
2
,
delta
=
1e-5
)
if
__name__
==
'__main__'
:
...
...
wrappers/python/tests/TestForceField.py
View file @
18295108
...
...
@@ -95,6 +95,37 @@ class TestForceField(unittest.TestCase):
validateConstraints
(
self
,
topology
,
system
,
constraints_value
,
rigidWater_value
)
def
test_flexibleConstraints
(
self
):
""" Test the flexibleConstraints keyword """
topology
=
self
.
pdb1
.
topology
system1
=
self
.
forcefield1
.
createSystem
(
topology
,
constraints
=
HAngles
,
rigidWater
=
True
)
system2
=
self
.
forcefield1
.
createSystem
(
topology
,
constraints
=
HAngles
,
rigidWater
=
True
,
flexibleConstraints
=
True
)
system3
=
self
.
forcefield1
.
createSystem
(
topology
,
constraints
=
None
,
rigidWater
=
False
)
validateConstraints
(
self
,
topology
,
system1
,
HAngles
,
True
)
# validateConstraints fails for system2 since by definition atom pairs can be in both bond
# and constraint lists. So just check that the number of constraints is the same for both
# system1 and system2
self
.
assertEqual
(
system1
.
getNumConstraints
(),
system2
.
getNumConstraints
())
for
force
in
system1
.
getForces
():
if
isinstance
(
force
,
HarmonicBondForce
):
bf1
=
force
elif
isinstance
(
force
,
HarmonicAngleForce
):
af1
=
force
for
force
in
system2
.
getForces
():
if
isinstance
(
force
,
HarmonicBondForce
):
bf2
=
force
elif
isinstance
(
force
,
HarmonicAngleForce
):
af2
=
force
for
force
in
system3
.
getForces
():
if
isinstance
(
force
,
HarmonicAngleForce
):
af3
=
force
# Make sure we picked up extra bond terms with flexibleConstraints
self
.
assertGreater
(
bf2
.
getNumBonds
(),
bf1
.
getNumBonds
())
# Make sure flexibleConstraints yields just as many angles as no constraints
self
.
assertEqual
(
af2
.
getNumAngles
(),
af3
.
getNumAngles
())
def
test_ImplicitSolvent
(
self
):
"""Test the four types of implicit solvents using the implicitSolvent
parameter.
...
...
@@ -687,7 +718,7 @@ class TestForceField(unittest.TestCase):
def
test_NBFix
(
self
):
"""Test using LennardJonesGenerator to implement NBFix terms."""
# Create a chain of five atoms.
top
=
Topology
()
chain
=
top
.
addChain
()
res
=
top
.
addResidue
(
'RES'
,
chain
)
...
...
@@ -701,9 +732,9 @@ class TestForceField(unittest.TestCase):
top
.
addBond
(
atoms
[
1
],
atoms
[
2
])
top
.
addBond
(
atoms
[
2
],
atoms
[
3
])
top
.
addBond
(
atoms
[
3
],
atoms
[
4
])
# Create the force field and system.
xml
=
"""
<ForceField>
<AtomTypes>
...
...
@@ -738,9 +769,9 @@ class TestForceField(unittest.TestCase):
</ForceField> """
ff
=
ForceField
(
StringIO
(
xml
))
system
=
ff
.
createSystem
(
top
)
# Check that it produces the correct energy.
integrator
=
VerletIntegrator
(
0.001
)
context
=
Context
(
system
,
integrator
,
Platform
.
getPlatform
(
0
))
positions
=
[
Vec3
(
i
,
0
,
0
)
for
i
in
range
(
5
)]
*
nanometers
...
...
@@ -762,6 +793,42 @@ class TestForceField(unittest.TestCase):
self
.
assertEqual
(
'ALA'
,
templates
[
0
].
name
)
self
.
assertEqual
(
'NME'
,
templates
[
1
].
name
)
def
test_Includes
(
self
):
"""Test using a ForceField that includes other files."""
forcefield
=
ForceField
(
os
.
path
.
join
(
'systems'
,
'ff_with_includes.xml'
))
self
.
assertTrue
(
len
(
forcefield
.
_atomTypes
)
>
10
)
self
.
assertTrue
(
'spce-O'
in
forcefield
.
_atomTypes
)
self
.
assertTrue
(
'HOH'
in
forcefield
.
_templates
)
def
test_ImpropersOrdering
(
self
):
"""Test correctness of the ordering of atom indexes in improper torsions
and the torsion.ordering parameter.
"""
xml
=
"""
<ForceField>
<PeriodicTorsionForce ordering="amber">
<Improper class1="C" class2="" class3="O2" class4="O2" periodicity1="2" phase1="3.14159265359" k1="43.932"/>
</PeriodicTorsionForce>
</ForceField>
"""
pdb
=
PDBFile
(
'systems/impropers_ordering_tetrapeptide.pdb'
)
# ff1 uses default ordering of impropers, ff2 uses "amber" for the one
# problematic improper
ff1
=
ForceField
(
'amber99sbildn.xml'
)
ff2
=
ForceField
(
StringIO
(
xml
),
'amber99sbildn.xml'
)
system1
=
ff1
.
createSystem
(
pdb
.
topology
)
system2
=
ff2
.
createSystem
(
pdb
.
topology
)
imp1
=
system1
.
getForce
(
2
).
getTorsionParameters
(
158
)
imp2
=
system2
.
getForce
(
0
).
getTorsionParameters
(
158
)
system1_indexes
=
[
imp1
[
0
],
imp1
[
1
],
imp1
[
2
],
imp1
[
3
]]
system2_indexes
=
[
imp2
[
0
],
imp2
[
1
],
imp2
[
2
],
imp2
[
3
]]
self
.
assertEqual
(
system1_indexes
,
[
51
,
56
,
54
,
55
])
self
.
assertEqual
(
system2_indexes
,
[
51
,
55
,
54
,
56
])
class
AmoebaTestForceField
(
unittest
.
TestCase
):
"""Test the ForceField.createSystem() method with the AMOEBA forcefield."""
...
...
wrappers/python/tests/TestGromacsTopFile.py
View file @
18295108
...
...
@@ -51,6 +51,18 @@ class TestGromacsTopFile(unittest.TestCase):
ene
=
context
.
getState
(
getEnergy
=
True
,
groups
=
2
**
1
).
getPotentialEnergy
()
self
.
assertAlmostEqual
(
ene
.
value_in_unit
(
kilojoules_per_mole
),
341.6905133582857
)
def
test_SMOG
(
self
):
""" Test to ensure that SMOG models can be run without problems """
top
=
GromacsTopFile
(
'systems/2ci2.pdb.top'
)
gro
=
GromacsGroFile
(
'systems/2ci2.pdb.gro'
)
system
=
top
.
createSystem
()
context
=
Context
(
system
,
VerletIntegrator
(
1
*
femtosecond
),
Platform
.
getPlatformByName
(
'Reference'
))
context
.
setPositions
(
gro
.
positions
)
ene
=
context
.
getState
(
getEnergy
=
True
).
getPotentialEnergy
()
self
.
assertAlmostEqual
(
ene
.
value_in_unit
(
kilojoules_per_mole
),
-
346.940915296
)
def
test_Cutoff
(
self
):
"""Test to make sure the nonbondedCutoff parameter is passed correctly."""
...
...
wrappers/python/tests/TestPdbxFile.py
View file @
18295108
...
...
@@ -4,6 +4,10 @@ from simtk.openmm import *
from
simtk.unit
import
*
import
simtk.openmm.app.element
as
elem
import
os
if
sys
.
version_info
>=
(
3
,
0
):
from
io
import
StringIO
else
:
from
cStringIO
import
StringIO
class
TestPdbxFile
(
unittest
.
TestCase
):
"""Test the PDBx/mmCIF file parser"""
...
...
@@ -115,5 +119,19 @@ class TestPdbxFile(unittest.TestCase):
del
sim
os
.
unlink
(
'test.cif'
)
def
testBonds
(
self
):
"""Test reading and writing a file that includes bonds."""
pdb
=
PDBFile
(
'systems/methanol_ions.pdb'
)
output
=
StringIO
()
PDBxFile
.
writeFile
(
pdb
.
topology
,
pdb
.
positions
,
output
)
input
=
StringIO
(
output
.
getvalue
())
pdbx
=
PDBxFile
(
input
)
output
.
close
()
input
.
close
()
self
.
assertEqual
(
pdb
.
topology
.
getNumBonds
(),
pdbx
.
topology
.
getNumBonds
())
for
bond1
,
bond2
in
zip
(
pdb
.
topology
.
bonds
(),
pdbx
.
topology
.
bonds
()):
self
.
assertEqual
(
bond1
[
0
].
name
,
bond2
[
0
].
name
)
self
.
assertEqual
(
bond1
[
1
].
name
,
bond2
[
1
].
name
)
if
__name__
==
'__main__'
:
unittest
.
main
()
wrappers/python/tests/systems/2ci2.pdb.gro
0 → 100644
View file @
18295108
Structure-Based gro file for Gromacs: smog@ctbp Version 1.1
521
1 ASN N 1 3.225 1.272 1.868
1 ASN CA 2 3.089 1.316 1.904
1 ASN C 3 3.092 1.467 1.934
1 ASN O 4 3.185 1.538 1.891
1 ASN CB 5 3.032 1.233 2.017
1 ASN CG 6 3.099 1.097 2.032
1 ASN OD1 7 3.035 1.000 2.076
1 ASN ND2 8 3.226 1.088 1.996
2 LEU N 9 2.990 1.510 2.005
2 LEU CA 10 2.974 1.649 2.048
2 LEU C 11 2.829 1.686 2.078
2 LEU O 12 2.737 1.658 2.000
2 LEU CB 13 3.040 1.740 1.943
2 LEU CG 14 3.126 1.854 1.995
2 LEU CD1 15 3.210 1.811 2.115
2 LEU CD2 16 3.217 1.901 1.881
3 LYS N 17 2.812 1.746 2.196
3 LYS CA 18 2.683 1.801 2.237
3 LYS C 19 2.702 1.953 2.222
3 LYS O 20 2.791 2.009 2.287
3 LYS CB 21 2.625 1.770 2.374
3 LYS CG 22 2.474 1.801 2.379
3 LYS CD 23 2.416 1.776 2.517
3 LYS CE 24 2.266 1.783 2.521
3 LYS NZ 25 2.217 1.786 2.662
4 THR N 26 2.624 2.007 2.131
4 THR CA 27 2.637 2.149 2.094
4 THR C 28 2.512 2.231 2.115
4 THR O 29 2.521 2.355 2.098
4 THR CB 30 2.686 2.156 1.944
4 THR OG1 31 2.583 2.084 1.869
4 THR CG2 32 2.825 2.094 1.926
5 GLU N 33 2.404 2.166 2.152
5 GLU CA 34 2.278 2.239 2.175
5 GLU C 35 2.197 2.178 2.287
5 GLU O 36 2.198 2.056 2.304
5 GLU CB 37 2.199 2.253 2.048
5 GLU CG 38 2.117 2.138 1.990
5 GLU CD 39 2.050 2.197 1.868
5 GLU OE1 40 2.120 2.253 1.785
5 GLU OE2 41 1.926 2.194 1.876
6 TRP N 42 2.136 2.266 2.363
6 TRP CA 43 2.060 2.231 2.483
6 TRP C 44 1.914 2.279 2.477
6 TRP O 45 1.871 2.356 2.564
6 TRP CB 46 2.132 2.281 2.609
6 TRP CG 47 2.259 2.214 2.645
6 TRP CD1 48 2.278 2.112 2.735
6 TRP CD2 49 2.389 2.240 2.589
6 TRP NE1 50 2.409 2.074 2.738
6 TRP CE2 51 2.479 2.149 2.650
6 TRP CE3 52 2.435 2.327 2.491
6 TRP CZ2 53 2.615 2.148 2.618
6 TRP CZ3 54 2.569 2.325 2.459
6 TRP CH2 55 2.657 2.237 2.521
7 PRO N 56 1.842 2.228 2.379
7 PRO CA 57 1.700 2.259 2.359
7 PRO C 58 1.617 2.237 2.483
7 PRO O 59 1.516 2.308 2.502
7 PRO CB 60 1.655 2.165 2.247
7 PRO CG 61 1.762 2.058 2.242
7 PRO CD 62 1.891 2.133 2.277
8 GLU N 63 1.656 2.141 2.565
8 GLU CA 64 1.584 2.104 2.687
8 GLU C 65 1.593 2.215 2.792
8 GLU O 66 1.529 2.203 2.897
8 GLU CB 67 1.641 1.979 2.754
8 GLU CG 68 1.780 1.990 2.819
8 GLU CD 69 1.894 1.946 2.730
8 GLU OE1 70 1.890 1.958 2.610
8 GLU OE2 71 1.990 1.892 2.788
9 LEU N 72 1.674 2.314 2.763
9 LEU CA 73 1.700 2.422 2.858
9 LEU C 74 1.611 2.544 2.844
9 LEU O 75 1.614 2.621 2.943
9 LEU CB 76 1.850 2.454 2.858
9 LEU CG 77 1.941 2.354 2.927
9 LEU CD1 78 2.087 2.398 2.920
9 LEU CD2 79 1.898 2.339 3.073
10 VAL N 80 1.539 2.561 2.734
10 VAL CA 81 1.453 2.680 2.722
10 VAL C 82 1.358 2.685 2.842
10 VAL O 83 1.294 2.585 2.876
10 VAL CB 84 1.382 2.689 2.588
10 VAL CG1 85 1.295 2.816 2.579
10 VAL CG2 86 1.479 2.681 2.470
11 GLY N 87 1.355 2.799 2.907
11 GLY CA 88 1.269 2.827 3.021
11 GLY C 89 1.328 2.813 3.159
11 GLY O 90 1.271 2.865 3.257
12 LYS N 91 1.438 2.741 3.169
12 LYS CA 92 1.508 2.715 3.295
12 LYS C 93 1.595 2.834 3.335
12 LYS O 94 1.631 2.918 3.252
12 LYS CB 95 1.595 2.590 3.283
12 LYS CG 96 1.524 2.474 3.215
12 LYS CD 97 1.548 2.342 3.286
12 LYS CE 98 1.429 2.249 3.280
12 LYS NZ 99 1.334 2.287 3.173
13 SER N 100 1.626 2.840 3.463
13 SER CA 101 1.710 2.946 3.520
13 SER C 102 1.854 2.925 3.471
13 SER O 103 1.893 2.817 3.425
13 SER CB 104 1.702 2.948 3.672
13 SER OG 105 1.790 2.852 3.727
14 VAL N 106 1.928 3.034 3.481
14 VAL CA 107 2.070 3.040 3.444
14 VAL C 108 2.147 2.947 3.539
14 VAL O 109 2.241 2.880 3.493
14 VAL CB 110 2.125 3.183 3.442
14 VAL CG1 111 2.275 3.182 3.474
14 VAL CG2 112 2.101 3.255 3.311
15 GLU N 113 2.106 2.940 3.663
15 GLU CA 114 2.168 2.857 3.766
15 GLU C 115 2.154 2.709 3.729
15 GLU O 116 2.252 2.632 3.721
15 GLU CB 117 2.110 2.885 3.903
15 GLU CG 118 2.026 3.008 3.929
15 GLU CD 119 2.004 3.119 3.832
15 GLU OE1 120 1.913 3.201 3.838
15 GLU OE2 121 2.089 3.128 3.741
16 GLU N 122 2.031 2.671 3.698
16 GLU CA 123 1.998 2.536 3.655
16 GLU C 124 2.073 2.507 3.525
16 GLU O 125 2.140 2.403 3.518
16 GLU CB 126 1.850 2.511 3.632
16 GLU CG 127 1.745 2.544 3.737
16 GLU CD 128 1.601 2.513 3.704
16 GLU OE1 129 1.553 2.400 3.709
16 GLU OE2 130 1.534 2.613 3.671
17 ALA N 131 2.064 2.595 3.427
17 ALA CA 132 2.128 2.578 3.297
17 ALA C 133 2.279 2.563 3.299
17 ALA O 134 2.333 2.483 3.220
17 ALA CB 135 2.081 2.689 3.203
18 LYS N 136 2.349 2.634 3.385
18 LYS CA 137 2.494 2.628 3.402
18 LYS C 138 2.536 2.484 3.437
18 LYS O 139 2.624 2.419 3.379
18 LYS CB 140 2.541 2.711 3.522
18 LYS CG 141 2.598 2.849 3.497
18 LYS CD 142 2.629 2.920 3.629
18 LYS CE 143 2.678 3.061 3.607
18 LYS NZ 144 2.611 3.159 3.697
19 LYS N 145 2.470 2.438 3.542
19 LYS CA 146 2.482 2.306 3.602
19 LYS C 147 2.472 2.192 3.503
19 LYS O 148 2.546 2.093 3.517
19 LYS CB 149 2.372 2.289 3.707
19 LYS CG 150 2.390 2.167 3.796
19 LYS CD 151 2.320 2.189 3.929
19 LYS CE 152 2.410 2.263 4.027
19 LYS NZ 153 2.401 2.410 4.001
20 VAL N 154 2.382 2.204 3.407
20 VAL CA 155 2.358 2.101 3.306
20 VAL C 156 2.469 2.108 3.201
20 VAL O 157 2.533 2.006 3.172
20 VAL CB 158 2.217 2.108 3.246
20 VAL CG1 159 2.207 2.031 3.115
20 VAL CG2 160 2.111 2.060 3.343
21 ILE N 161 2.489 2.227 3.148
21 ILE CA 162 2.593 2.249 3.047
21 ILE C 163 2.729 2.202 3.098
21 ILE O 164 2.800 2.135 3.021
21 ILE CB 165 2.599 2.396 2.995
21 ILE CG1 166 2.470 2.428 2.915
21 ILE CG2 167 2.724 2.420 2.905
21 ILE CD1 168 2.437 2.580 2.905
22 LEU N 169 2.764 2.237 3.220
22 LEU CA 170 2.896 2.201 3.273
22 LEU C 171 2.911 2.050 3.288
22 LEU O 172 3.023 1.996 3.283
22 LEU CB 173 2.924 2.283 3.399
22 LEU CG 174 2.982 2.421 3.383
22 LEU CD1 175 3.007 2.483 3.520
22 LEU CD2 176 3.112 2.415 3.303
23 GLN N 177 2.798 1.987 3.309
23 GLN CA 178 2.787 1.840 3.321
23 GLN C 179 2.830 1.780 3.188
23 GLN O 180 2.919 1.694 3.184
23 GLN CB 181 2.645 1.800 3.359
23 GLN CG 182 2.629 1.665 3.426
23 GLN CD 183 2.549 1.665 3.553
23 GLN OE1 184 2.548 1.760 3.633
23 GLN NE2 185 2.480 1.552 3.575
24 ASP N 186 2.771 1.829 3.081
24 ASP CA 187 2.791 1.785 2.944
24 ASP C 188 2.915 1.840 2.873
24 ASP O 189 2.955 1.782 2.771
24 ASP CB 190 2.672 1.822 2.854
24 ASP CG 191 2.537 1.768 2.892
24 ASP OD1 192 2.520 1.681 2.978
24 ASP OD2 193 2.441 1.817 2.829
25 LYS N 194 2.959 1.955 2.917
25 LYS CA 195 3.074 2.024 2.855
25 LYS C 196 3.155 2.093 2.966
25 LYS O 197 3.143 2.215 2.988
25 LYS CB 198 3.024 2.119 2.749
25 LYS CG 199 3.126 2.207 2.680
25 LYS CD 200 3.064 2.297 2.574
25 LYS CE 201 3.169 2.365 2.490
25 LYS NZ 202 3.221 2.274 2.385
26 PRO N 203 3.233 2.012 3.036
26 PRO CA 204 3.316 2.058 3.147
26 PRO C 205 3.408 2.175 3.120
26 PRO O 206 3.444 2.244 3.218
26 PRO CB 207 3.396 1.933 3.187
26 PRO CG 208 3.311 1.817 3.141
26 PRO CD 209 3.246 1.866 3.014
27 GLU N 210 3.445 2.200 2.998
27 GLU CA 211 3.533 2.310 2.957
27 GLU C 212 3.460 2.435 2.907
27 GLU O 213 3.525 2.532 2.861
27 GLU CB 214 3.623 2.268 2.839
27 GLU CG 215 3.562 2.266 2.700
27 GLU CD 216 3.471 2.154 2.661
27 GLU OE1 217 3.435 2.134 2.546
27 GLU OE2 218 3.431 2.082 2.753
28 ALA N 219 3.328 2.430 2.908
28 ALA CA 220 3.246 2.542 2.860
28 ALA C 221 3.275 2.670 2.940
28 ALA O 222 3.296 2.673 3.063
28 ALA CB 223 3.099 2.505 2.862
29 GLN N 224 3.279 2.776 2.860
29 GLN CA 225 3.291 2.915 2.907
29 GLN C 226 3.151 2.974 2.884
29 GLN O 227 3.110 2.993 2.770
29 GLN CB 228 3.402 2.995 2.841
29 GLN CG 229 3.542 2.948 2.879
29 GLN CD 230 3.577 2.956 3.026
29 GLN OE1 231 3.557 3.052 3.099
29 GLN NE2 232 3.636 2.848 3.078
30 ILE N 233 3.078 2.989 2.994
30 ILE CA 234 2.939 3.036 2.992
30 ILE C 235 2.928 3.188 2.992
30 ILE O 236 2.979 3.254 3.083
30 ILE CB 237 2.857 2.968 3.108
30 ILE CG1 238 2.865 2.814 3.092
30 ILE CG2 239 2.709 3.015 3.117
30 ILE CD1 240 2.805 2.736 3.212
31 ILE N 241 2.859 3.237 2.890
31 ILE CA 242 2.833 3.380 2.869
31 ILE C 243 2.682 3.402 2.875
31 ILE O 244 2.605 3.327 2.813
31 ILE CB 245 2.894 3.427 2.732
31 ILE CG1 246 3.048 3.407 2.730
31 ILE CG2 247 2.856 3.571 2.693
31 ILE CD1 248 3.127 3.467 2.849
32 VAL N 249 2.640 3.501 2.952
32 VAL CA 250 2.500 3.535 2.975
32 VAL C 251 2.466 3.670 2.913
32 VAL O 252 2.515 3.771 2.968
32 VAL CB 253 2.476 3.538 3.128
32 VAL CG1 254 2.336 3.585 3.165
32 VAL CG2 255 2.508 3.406 3.196
33 LEU N 256 2.384 3.671 2.810
33 LEU CA 257 2.341 3.794 2.745
33 LEU C 258 2.188 3.804 2.736
33 LEU O 259 2.119 3.702 2.727
33 LEU CB 260 2.406 3.796 2.607
33 LEU CG 261 2.555 3.777 2.590
33 LEU CD1 262 2.587 3.750 2.443
33 LEU CD2 263 2.629 3.902 2.637
34 PRO N 264 2.140 3.927 2.733
34 PRO CA 265 1.997 3.955 2.716
34 PRO C 266 1.955 3.919 2.574
34 PRO O 267 2.036 3.939 2.481
34 PRO CB 268 1.986 4.107 2.735
34 PRO CG 269 2.117 4.152 2.791
34 PRO CD 270 2.220 4.051 2.743
35 VAL N 271 1.833 3.871 2.554
35 VAL CA 272 1.782 3.838 2.419
35 VAL C 273 1.783 3.968 2.337
35 VAL O 274 1.746 4.072 2.392
35 VAL CB 275 1.637 3.785 2.421
35 VAL CG1 276 1.575 3.776 2.282
35 VAL CG2 277 1.619 3.655 2.497
36 GLY N 278 1.818 3.957 2.211
36 GLY CA 279 1.823 4.071 2.120
36 GLY C 280 1.962 4.131 2.106
36 GLY O 281 1.976 4.231 2.032
37 THR N 282 2.061 4.075 2.172
37 THR CA 283 2.201 4.121 2.166
37 THR C 284 2.271 4.071 2.040
37 THR O 285 2.270 3.952 2.002
37 THR CB 286 2.282 4.085 2.297
37 THR OG1 287 2.202 4.138 2.408
37 THR CG2 288 2.425 4.136 2.310
38 ILE N 289 2.335 4.165 1.973
38 ILE CA 290 2.412 4.141 1.850
38 ILE C 291 2.556 4.109 1.890
38 ILE O 292 2.623 4.196 1.948
38 ILE CB 293 2.401 4.266 1.755
38 ILE CG1 294 2.251 4.298 1.729
38 ILE CG2 295 2.482 4.247 1.624
38 ILE CD1 296 2.215 4.331 1.581
39 VAL N 297 2.600 3.990 1.858
39 VAL CA 298 2.736 3.946 1.893
39 VAL C 299 2.830 3.951 1.773
39 VAL O 300 2.786 3.964 1.657
39 VAL CB 301 2.726 3.809 1.963
39 VAL CG1 302 2.661 3.818 2.101
39 VAL CG2 303 2.654 3.705 1.879
40 THR N 304 2.959 3.941 1.803
40 THR CA 305 3.065 3.940 1.701
40 THR C 306 3.070 3.803 1.633
40 THR O 307 3.069 3.699 1.703
40 THR CB 308 3.206 3.979 1.762
40 THR OG1 309 3.180 4.060 1.881
40 THR CG2 310 3.299 4.051 1.664
41 MET N 311 3.079 3.803 1.502
41 MET CA 312 3.077 3.681 1.421
41 MET C 313 3.190 3.583 1.441
41 MET O 314 3.216 3.498 1.352
41 MET CB 315 3.047 3.719 1.277
41 MET CG 316 3.136 3.664 1.170
41 MET SD 317 3.092 3.752 1.014
41 MET CE 318 3.237 3.860 1.000
42 GLU N 319 3.251 3.580 1.557
42 GLU CA 320 3.361 3.488 1.591
42 GLU C 321 3.314 3.357 1.654
42 GLU O 322 3.244 3.359 1.757
42 GLU CB 323 3.453 3.556 1.693
42 GLU CG 324 3.398 3.593 1.831
42 GLU CD 325 3.493 3.663 1.924
42 GLU OE1 326 3.528 3.779 1.910
42 GLU OE2 327 3.533 3.590 2.016
43 TYR N 328 3.359 3.245 1.599
43 TYR CA 329 3.323 3.111 1.647
43 TYR C 330 3.417 3.048 1.748
43 TYR O 331 3.531 3.013 1.709
43 TYR CB 332 3.313 3.015 1.525
43 TYR CG 333 3.278 2.875 1.569
43 TYR CD1 334 3.373 2.773 1.576
43 TYR CD2 335 3.148 2.844 1.607
43 TYR CE1 336 3.339 2.644 1.618
43 TYR CE2 337 3.112 2.717 1.649
43 TYR CZ 338 3.208 2.617 1.654
43 TYR OH 339 3.168 2.493 1.695
44 ARG N 340 3.371 3.022 1.870
44 ARG CA 341 3.452 2.959 1.974
44 ARG C 342 3.388 2.832 2.031
44 ARG O 343 3.287 2.834 2.103
44 ARG CB 344 3.483 3.055 2.088
44 ARG CG 345 3.570 3.175 2.049
44 ARG CD 346 3.699 3.177 2.122
44 ARG NE 347 3.695 3.109 2.251
44 ARG CZ 348 3.800 3.103 2.333
44 ARG NH1 349 3.916 3.162 2.303
44 ARG NH2 350 3.790 3.035 2.448
45 ILE N 351 3.456 2.723 2.006
45 ILE CA 352 3.417 2.587 2.044
45 ILE C 353 3.394 2.565 2.192
45 ILE O 354 3.306 2.482 2.228
45 ILE CB 355 3.519 2.492 1.970
45 ILE CG1 356 3.459 2.352 1.942
45 ILE CG2 357 3.658 2.483 2.039
45 ILE CD1 358 3.565 2.239 1.918
46 ASP N 359 3.461 2.637 2.280
46 ASP CA 360 3.448 2.618 2.425
46 ASP C 361 3.345 2.708 2.492
46 ASP O 362 3.332 2.701 2.615
46 ASP CB 363 3.582 2.632 2.497
46 ASP CG 364 3.651 2.765 2.475
46 ASP OD1 365 3.643 2.823 2.364
46 ASP OD2 366 3.712 2.812 2.574
47 ARG N 367 3.285 2.791 2.410
47 ARG CA 368 3.190 2.892 2.458
47 ARG C 369 3.043 2.851 2.446
47 ARG O 370 3.005 2.798 2.341
47 ARG CB 371 3.211 3.021 2.376
47 ARG CG 372 3.115 3.134 2.413
47 ARG CD 373 3.162 3.269 2.371
47 ARG NE 374 3.165 3.284 2.227
47 ARG CZ 375 3.244 3.362 2.153
47 ARG NH1 376 3.332 3.446 2.204
47 ARG NH2 377 3.237 3.352 2.020
48 VAL N 378 2.967 2.887 2.549
48 VAL CA 379 2.822 2.868 2.552
48 VAL C 380 2.752 2.998 2.596
48 VAL O 381 2.755 3.032 2.715
48 VAL CB 382 2.772 2.751 2.639
48 VAL CG1 383 2.620 2.735 2.629
48 VAL CG2 384 2.840 2.618 2.610
49 ARG N 385 2.687 3.061 2.501
49 ARG CA 386 2.611 3.184 2.529
49 ARG C 387 2.470 3.148 2.574
49 ARG O 388 2.404 3.074 2.500
49 ARG CB 389 2.598 3.269 2.401
49 ARG CG 390 2.727 3.344 2.362
49 ARG CD 391 2.708 3.394 2.224
49 ARG NE 392 2.820 3.458 2.160
49 ARG CZ 393 2.858 3.435 2.034
49 ARG NH1 394 2.797 3.345 1.958
49 ARG NH2 395 2.958 3.508 1.984
50 LEU N 396 2.424 3.205 2.683
50 LEU CA 397 2.286 3.190 2.730
50 LEU C 398 2.213 3.323 2.702
50 LEU O 399 2.261 3.426 2.750
50 LEU CB 400 2.287 3.156 2.879
50 LEU CG 401 2.357 3.027 2.921
50 LEU CD1 402 2.343 3.002 3.071
50 LEU CD2 403 2.296 2.916 2.836
51 PHE N 404 2.105 3.316 2.628
51 PHE CA 405 2.023 3.436 2.597
51 PHE C 406 1.904 3.433 2.693
51 PHE O 407 1.819 3.343 2.691
51 PHE CB 408 1.990 3.446 2.449
51 PHE CG 409 2.104 3.493 2.363
51 PHE CD1 410 2.190 3.400 2.303
51 PHE CD2 411 2.128 3.629 2.343
51 PHE CE1 412 2.299 3.442 2.228
51 PHE CE2 413 2.236 3.674 2.268
51 PHE CZ 414 2.321 3.579 2.209
52 VAL N 415 1.905 3.529 2.784
52 VAL CA 416 1.809 3.542 2.892
52 VAL C 417 1.705 3.653 2.875
52 VAL O 418 1.719 3.752 2.804
52 VAL CB 419 1.880 3.544 3.029
52 VAL CG1 420 1.980 3.428 3.043
52 VAL CG2 421 1.947 3.675 3.062
53 ASP N 422 1.593 3.627 2.942
53 ASP CA 423 1.474 3.712 2.952
53 ASP C 424 1.490 3.799 3.077
53 ASP O 425 1.591 3.788 3.150
53 ASP CB 426 1.347 3.627 2.950
53 ASP CG 427 1.311 3.565 3.083
53 ASP OD1 428 1.388 3.573 3.181
53 ASP OD2 429 1.203 3.503 3.096
54 LYS N 430 1.393 3.885 3.101
54 LYS CA 431 1.388 3.979 3.212
54 LYS C 432 1.403 3.915 3.349
54 LYS O 433 1.439 3.985 3.445
54 LYS CB 434 1.252 4.050 3.217
54 LYS CG 435 1.247 4.185 3.148
54 LYS CD 436 1.116 4.257 3.176
54 LYS CE 437 1.130 4.369 3.277
54 LYS NZ 438 1.058 4.490 3.228
55 LEU N 439 1.370 3.787 3.358
55 LEU CA 440 1.378 3.717 3.488
55 LEU C 441 1.499 3.625 3.493
55 LEU O 442 1.513 3.551 3.593
55 LEU CB 443 1.244 3.650 3.514
55 LEU CG 444 1.121 3.738 3.535
55 LEU CD1 445 1.000 3.652 3.566
55 LEU CD2 446 1.150 3.835 3.649
56 ASP N 447 1.582 3.630 3.391
56 ASP CA 448 1.703 3.548 3.383
56 ASP C 449 1.672 3.401 3.351
56 ASP O 450 1.744 3.317 3.408
56 ASP CB 451 1.786 3.556 3.511
56 ASP CG 452 1.851 3.691 3.534
56 ASP OD1 453 1.906 3.748 3.438
56 ASP OD2 454 1.846 3.738 3.649
57 ASN N 455 1.572 3.374 3.270
57 ASN CA 456 1.538 3.237 3.229
57 ASN C 457 1.594 3.222 3.088
57 ASN O 458 1.608 3.328 3.025
57 ASN CB 459 1.388 3.210 3.239
57 ASN CG 460 1.349 3.197 3.385
57 ASN OD1 461 1.426 3.140 3.463
57 ASN ND2 462 1.235 3.253 3.421
58 ILE N 463 1.625 3.101 3.046
58 ILE CA 464 1.680 3.080 2.911
58 ILE C 465 1.564 3.098 2.812
58 ILE O 466 1.466 3.022 2.820
58 ILE CB 467 1.750 2.942 2.890
58 ILE CG1 468 1.872 2.918 2.979
58 ILE CG2 469 1.788 2.920 2.740
58 ILE CD1 470 1.912 3.021 3.086
59 ALA N 471 1.582 3.191 2.721
59 ALA CA 472 1.477 3.226 2.625
59 ALA C 473 1.490 3.161 2.489
59 ALA O 474 1.393 3.160 2.411
59 ALA CB 475 1.475 3.380 2.617
60 GLU N 476 1.609 3.115 2.456
60 GLU CA 477 1.638 3.047 2.330
60 GLU C 478 1.728 2.927 2.359
60 GLU O 479 1.790 2.922 2.467
60 GLU CB 480 1.705 3.136 2.226
60 GLU CG 481 1.754 3.274 2.267
60 GLU CD 482 1.776 3.370 2.154
60 GLU OE1 483 1.822 3.337 2.046
60 GLU OE2 484 1.745 3.487 2.183
61 VAL N 485 1.733 2.834 2.266
61 VAL CA 486 1.813 2.712 2.280
61 VAL C 487 1.962 2.749 2.286
61 VAL O 488 2.010 2.806 2.187
61 VAL CB 489 1.793 2.614 2.162
61 VAL CG1 490 1.896 2.501 2.169
61 VAL CG2 491 1.652 2.559 2.151
62 PRO N 492 2.025 2.713 2.395
62 PRO CA 493 2.169 2.736 2.413
62 PRO C 494 2.247 2.652 2.311
62 PRO O 495 2.209 2.536 2.284
62 PRO CB 496 2.195 2.692 2.557
62 PRO CG 497 2.060 2.690 2.625
62 PRO CD 498 1.964 2.649 2.514
63 ARG N 499 2.354 2.707 2.257
63 ARG CA 500 2.437 2.641 2.157
63 ARG C 501 2.584 2.684 2.169
63 ARG O 502 2.609 2.797 2.213
63 ARG CB 503 2.391 2.673 2.014
63 ARG CG 504 2.294 2.574 1.955
63 ARG CD 505 2.240 2.618 1.823
63 ARG NE 506 2.143 2.726 1.840
63 ARG CZ 507 2.010 2.712 1.835
63 ARG NH1 508 1.951 2.601 1.793
63 ARG NH2 509 1.936 2.812 1.883
64 VAL N 510 2.673 2.596 2.125
64 VAL CA 511 2.817 2.623 2.127
64 VAL C 512 2.854 2.725 2.019
64 VAL O 513 2.796 2.722 1.908
64 VAL CB 514 2.898 2.493 2.107
64 VAL CG1 515 3.046 2.525 2.079
64 VAL CG2 516 2.886 2.398 2.224
65 GLY N 517 2.953 2.808 2.050
65 GLY CA 518 3.001 2.906 1.950
65 GLY C 519 3.038 3.040 2.010
65 GLY O 520 2.978 3.069 2.115
65 GLY OXT 521 3.120 3.109 1.949
4.916000 5.490000 5.027000
wrappers/python/tests/systems/2ci2.pdb.top
0 → 100644
View file @
18295108
This source diff could not be displayed because it is too large. You can
view the blob
instead.
wrappers/python/tests/systems/ff_with_includes.xml
0 → 100644
View file @
18295108
<ForceField>
<Include
file=
"test_amber_ff.xml"
/>
<Include
file=
"spce.xml"
/>
</ForceField>
\ No newline at end of file
wrappers/python/tests/systems/improper.psf
0 → 100644
View file @
18295108
PSF CMAP CHEQ
2 !NTITLE
**
* Minimal file defining a single improper torsion
4 !NATOM
1 AAL 3 ALA C 32 0.340000 12.0110 0 0.00000 -0.301140E-02
2 AAL 3 ALA CA 22 0.700000E-01 12.0110 0 0.00000 -0.301140E-02
3 AAL 3 ALA OT2 72 -0.670000 15.9990 0 0.00000 -0.301140E-02
4 AAL 3 ALA OT1 72 -0.670000 15.9990 0 0.00000 -0.301140E-02
0 !NBOND: bonds
0 !NTHETA: angles
0 !NPHI: dihedrals
1 !NIMPHI: impropers
1 2 3 4
0 !NDON: donors
0 !NACC: acceptors
0 !NNB
0 0 0 0
1 0 !NGRP NST2
0 0 0
1 !MOLNT
1 1 1 1
0 0 !NUMLP NUMLPH
0 !NCRTERM: cross-terms
wrappers/python/tests/systems/impropers_ordering_tetrapeptide.pdb
0 → 100644
View file @
18295108
ATOM 1 N LEU A 1 25.160 14.160 19.440 1.00 0.00 N
ATOM 2 H1 LEU A 1 24.224 13.904 20.146 1.00 0.00 H
ATOM 3 H2 LEU A 1 25.993 13.474 19.964 1.00 0.00 H
ATOM 4 H3 LEU A 1 25.448 15.264 19.811 1.00 0.00 H
ATOM 5 CA LEU A 1 25.090 13.920 17.980 1.00 0.00 C
ATOM 6 HA LEU A 1 24.679 12.800 17.995 1.00 0.00 H
ATOM 7 CB LEU A 1 24.420 14.970 17.100 1.00 0.00 C
ATOM 8 HB3 LEU A 1 24.592 14.703 15.949 1.00 0.00 H
ATOM 9 HB2 LEU A 1 24.907 16.046 17.290 1.00 0.00 H
ATOM 10 CG LEU A 1 22.930 15.010 17.400 1.00 0.00 C
ATOM 11 HG LEU A 1 22.677 15.678 18.357 1.00 0.00 H
ATOM 12 CD1 LEU A 1 22.410 15.830 16.210 1.00 0.00 C
ATOM 13 HD11 LEU A 1 22.229 15.260 15.170 1.00 0.00 H
ATOM 14 HD12 LEU A 1 21.323 16.283 16.456 1.00 0.00 H
ATOM 15 HD13 LEU A 1 22.952 16.853 15.894 1.00 0.00 H
ATOM 16 CD2 LEU A 1 22.100 13.730 17.590 1.00 0.00 C
ATOM 17 HD21 LEU A 1 22.228 12.870 16.765 1.00 0.00 H
ATOM 18 HD22 LEU A 1 22.102 13.167 18.648 1.00 0.00 H
ATOM 19 HD23 LEU A 1 20.924 13.966 17.534 1.00 0.00 H
ATOM 20 C LEU A 1 26.520 13.970 17.430 1.00 0.00 C
ATOM 21 O LEU A 1 27.360 14.710 17.880 1.00 0.00 O
ATOM 22 N SER A 2 26.720 13.080 16.460 1.00 0.00 N
ATOM 23 H SER A 2 26.006 12.134 16.365 1.00 0.00 H
ATOM 24 CA SER A 2 27.950 12.790 15.610 1.00 0.00 C
ATOM 25 HA SER A 2 28.762 12.484 16.429 1.00 0.00 H
ATOM 26 CB SER A 2 27.740 11.640 14.610 1.00 0.00 C
ATOM 27 HB3 SER A 2 28.674 11.459 13.887 1.00 0.00 H
ATOM 28 HB2 SER A 2 26.789 11.677 13.883 1.00 0.00 H
ATOM 29 OG SER A 2 27.520 10.520 15.410 1.00 0.00 O
ATOM 30 HG SER A 2 27.939 9.540 14.882 1.00 0.00 H
ATOM 31 C SER A 2 28.360 14.010 14.820 1.00 0.00 C
ATOM 32 O SER A 2 27.440 14.680 14.350 1.00 0.00 O
ATOM 33 N ASP A 3 29.650 14.360 14.620 1.00 0.00 N
ATOM 34 H ASP A 3 30.534 13.595 14.830 1.00 0.00 H
ATOM 35 CA ASP A 3 29.940 15.810 14.230 1.00 0.00 C
ATOM 36 HA ASP A 3 29.441 16.464 15.093 1.00 0.00 H
ATOM 37 CB ASP A 3 31.420 16.030 14.240 1.00 0.00 C
ATOM 38 HB3 ASP A 3 32.161 15.358 13.586 1.00 0.00 H
ATOM 39 HB2 ASP A 3 31.910 15.981 15.330 1.00 0.00 H
ATOM 40 CG ASP A 3 31.690 17.460 13.840 1.00 0.00 C
ATOM 41 OD1 ASP A 3 31.390 18.400 14.660 1.00 0.00 O
ATOM 42 OD2 ASP A 3 32.230 17.650 12.700 1.00 0.00 O
ATOM 43 C ASP A 3 29.350 16.300 12.880 1.00 0.00 C
ATOM 44 O ASP A 3 28.860 17.390 12.790 1.00 0.00 O
ATOM 45 N GLU A 4 29.370 15.470 11.800 1.00 0.00 N
ATOM 46 H GLU A 4 29.943 14.435 11.896 1.00 0.00 H
ATOM 47 CA GLU A 4 28.630 15.770 10.590 1.00 0.00 C
ATOM 48 HA GLU A 4 28.813 16.889 10.221 1.00 0.00 H
ATOM 49 CB GLU A 4 29.000 14.740 9.500 1.00 0.00 C
ATOM 50 HB3 GLU A 4 28.209 14.877 8.613 1.00 0.00 H
ATOM 51 HB2 GLU A 4 28.927 13.570 9.734 1.00 0.00 H
ATOM 52 CG GLU A 4 30.400 15.140 9.010 1.00 0.00 C
ATOM 53 HG3 GLU A 4 31.338 14.917 9.713 1.00 0.00 H
ATOM 54 HG2 GLU A 4 30.559 16.245 8.583 1.00 0.00 H
ATOM 55 CD GLU A 4 30.820 14.370 7.750 1.00 0.00 C
ATOM 56 OE1 GLU A 4 31.770 13.490 7.830 1.00 0.00 O
ATOM 57 OE2 GLU A 4 30.220 14.580 6.660 1.00 0.00 O
ATOM 58 C GLU A 4 27.080 15.870 10.880 1.00 0.00 C
ATOM 59 O GLU A 4 26.440 16.810 10.390 1.00 0.00 O
ATOM 60 OXT GLU A 4 26.692 14.850 11.569 1.00 0.00 O
Prev
1
…
4
5
6
7
8
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment