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
28fab4b2
Commit
28fab4b2
authored
Jun 10, 2014
by
Peter Eastman
Browse files
Merge branch 'master' of
https://github.com/SimTk/openmm
into exclusions
parents
b369cadf
11082d76
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
9 deletions
+14
-9
wrappers/python/simtk/openmm/app/charmmcrdfiles.py
wrappers/python/simtk/openmm/app/charmmcrdfiles.py
+9
-4
wrappers/python/simtk/openmm/app/modeller.py
wrappers/python/simtk/openmm/app/modeller.py
+5
-5
No files found.
wrappers/python/simtk/openmm/app/charmmcrdfiles.py
View file @
28fab4b2
...
@@ -13,7 +13,7 @@ Copyright (c) 2014 the Authors
...
@@ -13,7 +13,7 @@ Copyright (c) 2014 the Authors
Author: Jason Deckman
Author: Jason Deckman
Contributors: Jason M. Swails
Contributors: Jason M. Swails
Date:
April 19
, 2014
Date:
June 6
, 2014
Permission is hereby granted, free of charge, to any person obtaining a
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
copy of this software and associated documentation files (the "Software"),
...
@@ -105,7 +105,7 @@ class CharmmCrdFile(object):
...
@@ -105,7 +105,7 @@ class CharmmCrdFile(object):
self
.
resname
.
append
(
line
[
2
])
self
.
resname
.
append
(
line
[
2
])
self
.
attype
.
append
(
line
[
3
])
self
.
attype
.
append
(
line
[
3
])
pos
=
Vec3
(
float
(
line
[
4
]),
float
(
line
[
5
]),
float
(
line
[
6
]))
pos
=
Vec3
(
float
(
line
[
4
]),
float
(
line
[
5
]),
float
(
line
[
6
]))
self
.
positions
.
append
(
pos
*
u
.
angstroms
)
self
.
positions
.
append
(
pos
)
self
.
segid
.
append
(
line
[
7
])
self
.
segid
.
append
(
line
[
7
])
self
.
resid
.
append
(
int
(
line
[
8
]))
self
.
resid
.
append
(
int
(
line
[
8
]))
self
.
weighting
.
append
(
float
(
line
[
9
]))
self
.
weighting
.
append
(
float
(
line
[
9
]))
...
@@ -120,6 +120,10 @@ class CharmmCrdFile(object):
...
@@ -120,6 +120,10 @@ class CharmmCrdFile(object):
except
(
ValueError
,
IndexError
),
e
:
except
(
ValueError
,
IndexError
),
e
:
raise
CharmmFileError
(
'Error parsing CHARMM coordinate file'
)
raise
CharmmFileError
(
'Error parsing CHARMM coordinate file'
)
# Apply units to the positions now. Do it this way to allow for
# (possible) numpy functionality in the future.
self
.
positions
=
u
.
Quantity
(
self
.
positions
,
u
.
angstroms
)
class
CharmmRstFile
(
object
):
class
CharmmRstFile
(
object
):
"""
"""
Reads and parses data, velocities and coordinates from a CHARMM restart
Reads and parses data, velocities and coordinates from a CHARMM restart
...
@@ -209,8 +213,9 @@ class CharmmRstFile(object):
...
@@ -209,8 +213,9 @@ class CharmmRstFile(object):
self
.
velocities
=
[
v
*
ONE_TIMESCALE
for
v
in
self
.
velocities
]
self
.
velocities
=
[
v
*
ONE_TIMESCALE
for
v
in
self
.
velocities
]
# Add units to positions and velocities
# Add units to positions and velocities
self
.
positions
*=
u
.
angstroms
self
.
positions
=
u
.
Quantity
(
self
.
positions
,
u
.
angstroms
)
self
.
velocities
*=
u
.
angstroms
/
u
.
picoseconds
self
.
positionsold
=
u
.
Quantity
(
self
.
positionsold
,
u
.
angstroms
)
self
.
velocities
=
u
.
Quantity
(
self
.
velocities
,
u
.
angstroms
/
u
.
picoseconds
)
def
_scan
(
self
,
handle
,
str
,
r
=
0
):
# read lines in file until str is found
def
_scan
(
self
,
handle
,
str
,
r
=
0
):
# read lines in file until str is found
scanning
=
True
scanning
=
True
...
...
wrappers/python/simtk/openmm/app/modeller.py
View file @
28fab4b2
...
@@ -952,14 +952,14 @@ class Modeller(object):
...
@@ -952,14 +952,14 @@ class Modeller(object):
# This is a virtual site. Compute its position by the correct rule.
# This is a virtual site. Compute its position by the correct rule.
if
site
.
type
==
'average2'
:
if
site
.
type
==
'average2'
:
position
=
site
.
weights
[
0
]
*
templateAtomPositions
[
index
+
site
.
atoms
[
0
]]
+
site
.
weights
[
1
]
*
templateAtomPositions
[
index
+
site
.
atoms
[
1
]]
position
=
site
.
weights
[
0
]
*
templateAtomPositions
[
site
.
atoms
[
0
]]
+
site
.
weights
[
1
]
*
templateAtomPositions
[
site
.
atoms
[
1
]]
elif
site
.
type
==
'average3'
:
elif
site
.
type
==
'average3'
:
position
=
site
.
weights
[
0
]
*
templateAtomPositions
[
index
+
site
.
atoms
[
0
]]
+
site
.
weights
[
1
]
*
templateAtomPositions
[
index
+
site
.
atoms
[
1
]]
+
site
.
weights
[
2
]
*
templateAtomPositions
[
index
+
site
.
atoms
[
2
]]
position
=
site
.
weights
[
0
]
*
templateAtomPositions
[
site
.
atoms
[
0
]]
+
site
.
weights
[
1
]
*
templateAtomPositions
[
site
.
atoms
[
1
]]
+
site
.
weights
[
2
]
*
templateAtomPositions
[
site
.
atoms
[
2
]]
elif
site
.
type
==
'outOfPlane'
:
elif
site
.
type
==
'outOfPlane'
:
v1
=
templateAtomPositions
[
index
+
site
.
atoms
[
1
]]
-
templateAtomPositions
[
index
+
site
.
atoms
[
0
]]
v1
=
templateAtomPositions
[
site
.
atoms
[
1
]]
-
templateAtomPositions
[
site
.
atoms
[
0
]]
v2
=
templateAtomPositions
[
index
+
site
.
atoms
[
2
]]
-
templateAtomPositions
[
index
+
site
.
atoms
[
0
]]
v2
=
templateAtomPositions
[
site
.
atoms
[
2
]]
-
templateAtomPositions
[
site
.
atoms
[
0
]]
cross
=
Vec3
(
v1
[
1
]
*
v2
[
2
]
-
v1
[
2
]
*
v2
[
1
],
v1
[
2
]
*
v2
[
0
]
-
v1
[
0
]
*
v2
[
2
],
v1
[
0
]
*
v2
[
1
]
-
v1
[
1
]
*
v2
[
0
])
cross
=
Vec3
(
v1
[
1
]
*
v2
[
2
]
-
v1
[
2
]
*
v2
[
1
],
v1
[
2
]
*
v2
[
0
]
-
v1
[
0
]
*
v2
[
2
],
v1
[
0
]
*
v2
[
1
]
-
v1
[
1
]
*
v2
[
0
])
position
=
templateAtomPositions
[
index
+
site
.
atoms
[
0
]]
+
site
.
weights
[
0
]
*
v1
+
site
.
weights
[
1
]
*
v2
+
site
.
weights
[
2
]
*
cross
position
=
templateAtomPositions
[
site
.
atoms
[
0
]]
+
site
.
weights
[
0
]
*
v1
+
site
.
weights
[
1
]
*
v2
+
site
.
weights
[
2
]
*
cross
if
position
is
None
and
atom
.
type
in
drudeTypeMap
:
if
position
is
None
and
atom
.
type
in
drudeTypeMap
:
# This is a Drude particle. Put it on top of its parent atom.
# This is a Drude particle. Put it on top of its parent atom.
...
...
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