15 prot_start = pose.num_jump() + 1
16 prot_end = pose.total_residue()
18 pose_file =
open(file,
'a')
23 if pose.is_fullatom():
24 list = [fa_atr,fa_rep,fa_sol,fa_intra_rep,fa_pair,fa_dun, hbond_sr_bb,\
25 hbond_lr_bb,hbond_bb_sc,hbond_sc,fa_elec,p_aa_pp,ref, pro_close,\
26 atom_pair_constraint, dihedral_constraint]
29 list = [vdw, pair, env, cbeta]
32 pose_file.write(
"\nTotal score: \n" )
33 stream = rosetta.utility.OStringStream()
35 scorefxn.show(stream, pose)
36 pose_file.write(stream.str())
39 pose_file.write(
"\nEnergies by residue: ")
40 for i
in range(prot_start, prot_end+1):
43 pose_file.write(
"\nResidue no.: "+str(res)+
"\nResidue type: "+\
44 str(pose.residue(i).
name()))
47 score =
'{0:.3f}'.
format(pose.energies().residue_total_energies(i)[energy])
48 pose_file.write(
'{0:20}'.
format(
"\n"+str(energy)) +
"\t"+str(score).
rjust(10))
58 hbond_set = rosetta.core.scoring.hbonds.HBondSet()
59 pose.update_residue_neighbors()
60 rosetta.core.scoring.hbonds.fill_hbond_set(pose,
False, hbond_set)
61 stream = rosetta.utility.OStringStream()
62 hbond_set.show(pose,
True, stream)
64 pose_file =
open(file,
'a')
65 pose_file.write(
"\nbegin protein intra-molecular hydrogen bonds")
66 pose_file.write(
"\ndonor atom acceptor atom energy\n")
67 pose_file.write(stream.str())
68 pose_file.write(
"end protein intra-molecular hydrogen bonds\n")
75 prot_start = pose.num_jump() + 1
76 prot_end = pose.total_residue()
78 pose_file =
open(file,
'a')
81 print "Constraints energy:"
84 pose_file.write(
"\nConstraint Energies")
85 pose_file.write(
"\nAtom pair energy: " + str(pose.energies().total_energies()[atom_pair_constraint]))
86 pose_file.write(
"\nDihedral energy: " + str(pose.energies().total_energies()[dihedral_constraint]))
89 # Booleans for headers
96 # {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
98 for line in open(cst_file.strip(), 'r'):
100 if line.strip()
is not "":
103 if data[0] ==
'Dihedral':
105 pose_file.write(
"\nType\t\t\tRes\tActual\tConstr\tError\t\tScore")
110 res1 += - prot_start + 1
115 angle =
'{0:.3f}'.
format(math.radians(pose.phi(
int(data[4]))))
118 angle =
'{0:.3f}'.
format(math.radians(pose.psi(
int(data[4]))))
120 score =
'{0:.3f}'.
format(pose.energies().residue_total_energies(res1)[dihedral_constraint])
123 pose_file.write(
"\n"+str(data[0])+
"\t"+type+
"\t"+str(res1)+\
124 "\t"+str(angle)+
"\t"+str(constr)+
"\t"+str(error)+
"\t\t"+\
128 elif data[0] ==
'AtomPair' or data[1] ==
'AtomPair':
130 pose_file.write(
"\nType\t\t\tAtom1\tRes1\tAtom2\tRes2\tActual\tConstr\tError\tScore")
133 if data[1] ==
'AtomPair':
145 res1 += - prot_start + 1
146 if type ==
"AtomPair" or res2 > prot_start -1:
147 res2 += - prot_start + 1
149 if type ==
"AmbiConstr" and prev_res1 == 0:
153 start = pose.residue(res1).
xyz(str(data[1]))
154 end = pose.residue(res2).
xyz(str(data[3]))
155 dist =
'{0:.3f}'.
format((end - start).norm)
156 score =
'{0:.3f}'.
format(pose.energies().residue_total_energies(res1)[atom_pair_constraint])
164 if res1
is prev_res1:
165 lowest_dist.append([dist, str(data[1]), str(res1), str(data[3]), str(res2), str(constr), str(error), str(score)])
169 low =
min(lowest_dist)
170 pose_file.write(
"\n"+str(type)+
"\t\t"+low[1]+
"\t\t"+low[2]\
171 +
"\t\t"+low[3]+
"\t\t"+low[4]+
"\t\t"+low[0]+
"\t"+low[5]\
172 +
"\t"+low[6]+
"\t"+low[7])
179 pose_file.write(
"\n"+str(type)+
"\t\t"+str(data[1])+
"\t\t"+str(res1)\
180 +
"\t\t"+str(data[3])+
"\t\t"+str(res2)+
"\t\t"+str(dist)+
"\t"+str(constr)\
181 +
"\t"+str(error)+
"\t"+str(score))
186 low =
min(lowest_dist)
187 pose_file.write(
"\n"+str(type)+
"\t\t"+low[1]+
"\t\t"+low[2]\
188 +
"\t\t"+low[3]+
"\t\t"+low[4]+
"\t\t"+low[0]+
"\t"+low[5]\
189 +
"\t"+low[6]+
"\t"+low[7])
194 def append_rmsd(file, pose, native):
195 pose_file = open(file, 'r')
197 for line
in pose_file:
198 if line[:22] ==
" Total weighted score:":
199 score = line.split()[3]
201 pose_file =
open(file,
'a')
203 if file.startswith(
"Ads"):
206 rmsd = CA_rmsd(native, pose)
208 pose_file.write(
"\nRMSD and Total Weighted Score: \n"+str(rmsd)+
"\t" + str(score))
xyzVector< Real > xyz(Real const &r1, Real const &omega1, Real const &t, Real const &dz1, Real const &delta_omega1, Real const &delta_z1)
Returns the x-, y-, and z-coordinates of a point on a helix given r1, omega1, and t...
bool open(utility::io::izstream &db_stream, std::string const &db_file, bool warn)
Open a database file on a provided stream.
rule< Scanner, string_closure::context_t > name
Fstring rjust(Fstring const &s)
Right-Justified Copy.