target_files_dict["%s:CONTIG" % alphabet],
rna_alphabet=True if alphabet=="RNA" else False)
commander = HMMer(target_files_dict, num_threads_to_use=self.num_threads_to_use)
for source in sources:
alphabet, context = utils.anvio_hmm_target_term_to_alphabet_and_context(sources[source]["target"])
kind_of_search = sources[source]["kind"]
domain = sources[source]["domain"]
all_genes_searched_against = sources[source]["genes"]
hmm_model = sources[source]["model"]
reference = sources[source]["ref"]
noise_cutoff_terms = sources[source]["noise_cutoff_terms"]
hmm_scan_hits_txt = commander.run_hmmscan(source,
alphabet,
context,
kind_of_search,
domain,
len(all_genes_searched_against),
hmm_model,
reference,
noise_cutoff_terms)
if not hmm_scan_hits_txt:
search_results_dict = {}
else:
parser = parser_modules["search"]["hmmscan"](hmm_scan_hits_txt, alphabet=alphabet, context=context)
search_results_dict = parser.get_search_results()
if not len(search_results_dict):
run.info_single("The HMM source "%s" returned 0 hits. SAD (but it"s stil OK)." % source, nl_before=1)
if context == "CONTIG":
// we are in trouble here. because our search results dictionary contains no gene calls, but contig
// names that contain our hits. on the other hand, the rest of the code outside of this if statement
// expects a `search_results_dict` with gene callers id in it. so there are two things we need to do