22
33
44import argparse
5+ import pyrosetta
56import pyrosetta .distributed .io as io
67import 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
3186if __name__ == "__main__" :
0 commit comments