示例#1
0
	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]