def run(self): super(JobTrestle, self).run() if not os.path.isdir(self.work_dir): os.mkdir(self.work_dir) summary_file = os.path.join(self.work_dir, "trestle_summary.txt") resolved_repeats_seqs = os.path.join(self.work_dir, "resolved_copies.fasta") repeat_graph = RepeatGraph(fp.read_sequence_dict(self.graph_edges)) repeat_graph.load_from_file(self.repeat_graph) try: repeats_info = tres_graph \ .get_simple_repeats(repeat_graph, self.reads_alignment_file, fp.read_sequence_dict(self.graph_edges)) tres_graph.dump_repeats( repeats_info, os.path.join(self.work_dir, "repeats_dump")) tres.resolve_repeats(self.args, self.work_dir, repeats_info, summary_file, resolved_repeats_seqs) tres_graph.apply_changes( repeat_graph, summary_file, fp.read_sequence_dict(resolved_repeats_seqs)) except KeyboardInterrupt as e: raise #except Exception as e: # logger.warning("Caught unhandled exception: " + str(e)) # logger.warning("Continuing to the next pipeline stage. " # "Please submit a bug report along with the full log file") repeat_graph.dump_to_file(self.out_files["repeat_graph"]) fp.write_fasta_dict(repeat_graph.edges_fasta, self.out_files["repeat_graph_edges"])
def run(self): super(JobShortPlasmidsAssembly, self).run() logger.info("Recovering short unassembled sequences") if not os.path.isdir(self.work_dir): os.mkdir(self.work_dir) plasmids = plas.assemble_short_plasmids(self.args, self.work_dir, self.contigs_path) #updating repeat graph repeat_graph = RepeatGraph(fp.read_sequence_dict(self.graph_edges)) repeat_graph.load_from_file(self.repeat_graph) plas.update_graph(repeat_graph, plasmids) repeat_graph.dump_to_file(self.out_files["repeat_graph"]) fp.write_fasta_dict(repeat_graph.edges_fasta, self.out_files["repeat_graph_edges"])