4 from IMP
import ArgumentParser
6 __doc__ =
"Generate indexes of fitting solutions."
10 desc =
"""Generate indexes of fitting solutions."""
11 p = ArgumentParser(description=desc)
12 p.add_argument(
"assembly_name", help=
"name of the assembly")
13 p.add_argument(
"assembly_file", help=
"assembly file name")
14 p.add_argument(
"num_fits", type=int, help=
"number of fits")
15 p.add_argument(
"indexes_file", help=
"indexes file name")
19 def run(assembly_name, asmb_fn, num_fits, mapping_fn=""):
22 asmb_input.set_was_used(
True)
23 ap_em_fn = asmb_input.get_assembly_header().get_coarse_over_sampled_ap_fn()
25 mapping_fn = assembly_name +
".indexes.mapping.input"
26 mapping_data = open(mapping_fn,
"w")
27 mapping_data.write(
"|anchors|" + ap_em_fn +
"|\n")
28 for i
in range(asmb_input.get_number_of_component_headers()):
29 name = asmb_input.get_component_header(i).get_name()
30 trans_fn = asmb_input.get_component_header(i).get_transformations_fn()
32 print(
"number of fits for component", i,
"is", len(fits), trans_fn)
33 index_fn = assembly_name +
"." + name +
".fit.indexes.txt"
35 for i
in range(min(num_fits, len(fits))):
38 mapping_data.write(
"|protein|" + name +
"|" + index_fn +
"|\n")
44 run(args.assembly_name, args.assembly_file, args.num_fits,
48 if __name__ ==
"__main__":
void write_paths(const IntsList &paths, const std::string &txt_filename)
SettingsData * read_settings(const char *filename)
Fitting atomic structures into a cryo-electron microscopy density map.
void set_log_level(LogLevel l)
Set the current global log level.
FittingSolutionRecords read_fitting_solutions(const char *fitting_fn)
Fitting solutions reader.