3 __doc__ = 
"Generate proteomics info from anchor graph and fits." 
   10 from IMP 
import ArgumentParser
 
   15 Generate a proteomics file automatically from the anchor graph and fitting 
   16 results. No interaction data is entered here, but the file can be modified 
   17 manually afterwards to add additional proteomics information. 
   19     p = ArgumentParser(description=desc)
 
   20     p.add_argument(
"assembly_file", help=
"assembly file name")
 
   21     p.add_argument(
"anchors_file", help=
"anchors file name")
 
   22     p.add_argument(
"proteomics_file", help=
"output proteomics file name")
 
   26 def run(asmb_fn, anchors_fn, proteomics_fn):
 
   28     asmb.set_was_used(
True)
 
   35     for i 
in range(asmb.get_number_of_component_headers()):
 
   36         fn = asmb.get_component_header(i).get_filename()
 
   44         for j 
in range(len(mhs)):
 
   52     for ind1, ind2 
in ad.edges_:
 
   53         ev_pairs.append([match[ind1], match[ind2]])
 
   54     outf = open(proteomics_fn, 
"w")
 
   55     outf.write(
"|proteins|\n")
 
   56     for i, mh 
in enumerate(mhs):
 
   57         numres = len(IMP.atom.get_by_type(mh, IMP.atom.RESIDUE_TYPE))
 
   58         outf.write(
"|%s|1|%d|nn|nn|\n" 
   59                    % (asmb.get_component_header(i).get_name(), numres))
 
   60     outf.write(
"|interactions|\n")
 
   61     outf.write(
"|residue-xlink|\n")
 
   62     outf.write(
"|ev-pairs|\n")
 
   66             sortpair = (min(*evp), max(*evp))
 
   67             if sortpair 
not in pairs_map:
 
   68                 name0 = asmb.get_component_header(evp[0]).get_name()
 
   69                 name1 = asmb.get_component_header(evp[1]).get_name()
 
   70                 outf.write(
"|%s|%s|\n" % (name0, name1))
 
   71                 pairs_map[sortpair] = 1
 
   77     run(args.assembly_file, args.anchors_file, args.proteomics_file)
 
   80 if __name__ == 
"__main__":
 
double get_squared_distance(const VectorD< D > &v1, const VectorD< D > &v2)
Compute the squared distance between two vectors. 
 
algebra::Vector3D get_centroid(const XYZs &ps)
Get the centroid. 
 
SettingsData * read_settings(const char *filename)
 
GenericHierarchies get_leaves(Hierarchy mhd)
Get all the leaves of the bit of hierarchy. 
 
void read_pdb(TextInput input, int model, Hierarchy h)
 
Class for storing model, its restraints, constraints, and particles. 
 
Fitting atomic structures into a cryo-electron microscopy density map. 
 
AnchorsData read_anchors_data(const char *txt_filename)