Skip to content

Commit 59f8569

Browse files
authored
Add RMSD and total score tests to PyRosettaCluster TestAtomCoordinates test case (#10)
1 parent f69b401 commit 59f8569

File tree

1 file changed

+56
-1
lines changed

1 file changed

+56
-1
lines changed

actions/pyrosettacluster/assert_coordinates.py

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33

44
import argparse
5+
import pyrosetta
56
import pyrosetta.distributed.io as io
67
import unittest
78

@@ -21,11 +22,65 @@ def assert_atom_coordinates(self, pose1, pose2):
2122
float(getattr(res1.atom(atom).xyz(), axis)),
2223
float(getattr(res2.atom(atom).xyz(), axis)),
2324
)
24-
25+
26+
def assert_rmsd(self, pose1, pose2):
27+
self.assertEqual(pose1.size(), pose2.size())
28+
# Test RMSDs without superimposing
29+
self.assertEqual(
30+
pyrosetta.rosetta.core.scoring.all_atom_rmsd_nosuper(pose1, pose2),
31+
0.0,
32+
)
33+
self.assertEqual(
34+
pyrosetta.rosetta.core.scoring.all_scatom_rmsd_nosuper(pose1, pose2),
35+
0.0,
36+
)
37+
for res in range(1, pose1.size() + 1):
38+
v1 = pyrosetta.rosetta.utility.vector1_unsigned_long()
39+
v1.append(res)
40+
rmsd = pyrosetta.rosetta.core.scoring.all_atom_rmsd_nosuper(
41+
pose1=pose1,
42+
pose2=pose2,
43+
pose1_residues=v1,
44+
pose2_residues=v1,
45+
)
46+
self.assertEqual(rmsd, 0.0)
47+
# Test RMSDs with superimposing
48+
self.assertAlmostEqual(
49+
pyrosetta.rosetta.core.scoring.all_atom_rmsd_incl_hydrogens(pose1, pose2),
50+
0.0,
51+
delta=1e-6,
52+
)
53+
self.assertAlmostEqual(
54+
pyrosetta.rosetta.core.scoring.all_atom_rmsd(pose1, pose2),
55+
0.0,
56+
delta=1e-6,
57+
)
58+
self.assertAlmostEqual(
59+
pyrosetta.rosetta.core.scoring.bb_rmsd(pose1, pose2),
60+
0.0,
61+
delta=1e-6,
62+
)
63+
self.assertAlmostEqual(
64+
pyrosetta.rosetta.core.scoring.bb_rmsd_including_O(pose1, pose2),
65+
0.0,
66+
delta=1e-6,
67+
)
68+
self.assertAlmostEqual(
69+
pyrosetta.rosetta.core.scoring.CA_rmsd(pose1, pose2),
70+
0.0,
71+
delta=1e-6,
72+
)
73+
74+
def assert_total_score(self, pose1, pose2):
75+
scorefxn = pyrosetta.get_score_function()
76+
self.assertEqual(scorefxn(pose1), scorefxn(pose2))
77+
2578
def test_coordinates(self):
2679
original_pose = io.pose_from_file(self.original_output_file).pose
2780
reproduce_pose = io.pose_from_file(self.reproduce_output_file).pose
2881
self.assert_atom_coordinates(original_pose, reproduce_pose)
82+
self.assert_rmsd(original_pose, reproduce_pose)
83+
self.assert_total_score(original_pose, reproduce_pose)
2984

3085

3186
if __name__ == "__main__":

0 commit comments

Comments
 (0)