3 from __future__
import print_function
5 from IMP
import OptionParser
7 __doc__ =
"Generate indexes of fitting solutions."
10 usage =
"""%prog [options] <assembly name> <assembly input> <number of fits> <indexes filename>
12 Generate indexes of fitting solutions.
15 options, args = parser.parse_args()
17 parser.error(
"incorrect number of arguments")
21 def run(assembly_name, asmb_fn, num_fits, mapping_fn=""):
24 asmb_input.set_was_used(
True)
25 ap_em_fn = asmb_input.get_assembly_header().get_coarse_over_sampled_ap_fn()
27 mapping_fn = assembly_name +
".indexes.mapping.input"
28 mapping_data = open(mapping_fn,
"w")
29 mapping_data.write(
"|anchors|" + ap_em_fn +
"|\n")
30 for i
in range(asmb_input.get_number_of_component_headers()):
31 name = asmb_input.get_component_header(i).get_name()
32 trans_fn = asmb_input.get_component_header(i).get_transformations_fn()
34 print(
"number of fits for component", i,
"is", len(fits), trans_fn)
35 index_fn = assembly_name +
"." + name +
".fit.indexes.txt"
37 for i
in range(min(num_fits, len(fits))):
40 mapping_data.write(
"|protein|" + name +
41 "|" + index_fn +
"|\n")
46 options, args = parse_args()
49 max_fits = int(args[2])
51 run(asmb_name, asmb_input, max_fits, mapping_fn)
53 if __name__ ==
"__main__":
void set_log_level(LogLevel l)
Set the current global log level.
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.
IMP::kernel::OptionParser OptionParser
FittingSolutionRecords read_fitting_solutions(const char *fitting_fn)
Fitting solutions reader.