IMP logo
IMP Reference Guide  develop.63b38c487d,2024/12/22
The Integrative Modeling Platform
lib/IMP/multifit/merge_tree.py
1 #!/usr/bin/env python
2 
3 import IMP.multifit
4 from IMP import ArgumentParser
5 
6 __doc__ = "Show the DOMINO merge tree to be used in alignment."
7 
8 
9 def parse_args():
10  desc = """
11 Show the DOMINO merge tree to be used in the alignment procedure
12 """
13  p = ArgumentParser(description=desc)
14  p.add_argument("assembly_file", help="assembly file name")
15  p.add_argument("proteomics_file", help="proteomics file name")
16  p.add_argument("mapping_file", help="mapping file name")
17  p.add_argument("param_file", help="parameter file name")
18  return p.parse_args()
19 
20 
21 def run(asmb_fn, proteomics_fn, mapping_fn, params_fn):
22  asmb = IMP.multifit.read_settings(asmb_fn)
23  asmb.set_was_used(True)
24  dmap = IMP.em.read_map(asmb.get_assembly_header().get_dens_fn())
25  dmap.get_header().set_resolution(
26  asmb.get_assembly_header().get_resolution())
27  threshold = asmb.get_assembly_header().get_threshold()
28  dmap.update_voxel_size(asmb.get_assembly_header().get_spacing())
29  dmap.set_origin(asmb.get_assembly_header().get_origin())
30 
31  alignment_params = IMP.multifit.AlignmentParams(params_fn)
32  alignment_params.show()
33  IMP.set_log_level(IMP.WARNING)
34  prot_data = IMP.multifit.read_proteomics_data(proteomics_fn)
35 
36  mapping_data = IMP.multifit.read_protein_anchors_mapping(prot_data,
37  mapping_fn)
38 
39  _ = mapping_data.get_anchors()
40 
41  # load all proteomics restraints
42  align = IMP.multifit.ProteomicsEMAlignmentAtomic(mapping_data, asmb,
43  alignment_params)
44 
45  align.set_fast_scoring(False)
46  align.set_density_map(dmap, threshold)
47  align.add_states_and_filters()
48  align.add_all_restraints()
49  print("\n\n\nDOMINO MERGE TREE\n\n")
50  align.show_domino_merge_tree()
51 
52 
53 def main():
54  args = parse_args()
55  run(args.assembly_file, args.proteomics_file, args.mapping_file,
56  args.param_file)
57 
58 
59 if __name__ == "__main__":
60  main()
SettingsData * read_settings(const char *filename)
ProteinsAnchorsSamplingSpace read_protein_anchors_mapping(multifit::ProteomicsData *prots, const std::string &anchors_prot_map_fn, int max_paths=INT_MAX)
Align proteomics graph to EM density map.
Fitting atomic structures into a cryo-electron microscopy density map.
ProteomicsData * read_proteomics_data(const char *proteomics_fn)
Proteomics reader.
void set_log_level(LogLevel l)
Set the current global log level.
double get_resolution(Model *m, ParticleIndex pi)
Estimate the resolution of the hierarchy as used by Representation.