IMP logo
IMP Reference Guide  2.18.0
The Integrative Modeling Platform
rmsd.py
1 #!/usr/bin/env python
2 
3 __doc__ = "Calculate RMSD between a model and the reference."
4 
5 import IMP.cnmultifit
6 from IMP import ArgumentParser
7 
8 
9 def parse_args():
10  desc = """%prog [options] <parameter file> <transformations file>
11  <reference PDB>
12 
13 This program calculates the RMSD between modeled cyclic symmetric complexes and
14 the reference structure. The RMSD and cross correlation of each complex is
15 written into a file called rmsd.output.
16 
17 Notice: no structural alignment is performed!"""
18 
19  p = ArgumentParser(description=desc)
20  p.add_argument("--vec", dest="vec", default="", metavar="FILE",
21  help="output the RMSDs as a vector into the named "
22  "file, if specified")
23  p.add_argument("--start", dest="start", default=0, type=int,
24  help="first model in transformations file to compare "
25  "with the reference (by default, model 0)")
26  p.add_argument("--end", dest="end", default=-1, type=int,
27  help="last model in transformations file to compare "
28  "with the reference (by default, the final model)")
29  p.add_argument("param_file", help="parameter file name")
30  p.add_argument("trans_file", help="transformations file name")
31  p.add_argument("ref_pdb", help="reference PDB file name")
32 
33  return p.parse_args()
34 
35 
36 def main():
37  IMP.set_log_level(IMP.WARNING)
38  args = parse_args()
39  rmsds = IMP.cnmultifit.get_rmsd_for_models(args.param_file,
40  args.trans_file, args.ref_pdb,
41  args.start, args.end)
42  if args.vec:
43  open(args.vec, 'w').write(" ".join(['%f' % x for x in rmsds]))
44 
45 if __name__ == '__main__':
46  main()
Floats get_rmsd_for_models(const std::string param_filename, const std::string trans_filename, const std::string ref_filename, int start_model=0, int end_model=-1)
Generate cyclic atomic structures using cryo-electron microscopy data.
void set_log_level(LogLevel l)
Set the current global log level.