def writeCode(self): run_assemblies=set() assembly_summaries=set() run_merges=set() run_ref_alignment_inputs=set() run_ref_alignments=set() run_ref=None for assembly in self.assemblies: if not assembly.isComplete(): run_assemblies.add(assembly) assembly_summaries.add(Summarize(self.workspace, assembly)) merge=Merge(self.workspace, assembly) if not merge.isComplete(): run_merges.add(merge) if hasattr(self, "ref_file_name"): ref_alignment=ReferenceAlignment(self.workspace, merge, self.ref_file_name) if not ref_alignment.isComplete(): run_ref_alignments.add(ref_alignment) ref_alignment_input=ref_alignment.query if not ref_alignment_input.isComplete(): run_ref_alignment_inputs.add(ref_alignment_input) run_ref=ref_alignment.anchor necessary_sorts=set() necessary_splits=set() necessary_pas=set() for assembly in run_assemblies: self.educateAssembly(assembly) necessary_sorts.add(assembly.sort) necessary_splits.add(assembly.split) necessary_pas.add(assembly.pairwise_alignment) run_sorts=set() for sort in necessary_sorts: if not sort.isComplete(): run_sorts.add(sort) run_splits=set() split_summaries=set() for split in necessary_splits: if not split.isComplete(): run_splits.add(split) split_summaries.add(Summarize(self.workspace, split)) run_pas=set() pairwise_summaries=set() for pairwise in necessary_pas: if not pairwise.isComplete(): run_pas.add(pairwise) pairwise_summaries.add(Summarize(self.workspace, pairwise)) return [run_sorts,run_splits,split_summaries,run_pas,pairwise_summaries,run_assemblies,assembly_summaries,run_merges,[run_ref],run_ref_alignment_inputs,run_ref_alignments]