def test3_0(self): input_vcf = self.strelka_vcf class_name = type(self).__name__ test_name = sys._getframe().f_code.co_name output_vcf = os.path.join(self.OUTPUT_FOLDER, "%s.%s.vcf" % (class_name, test_name)) vcf_transformer = DuplicationFinder(input_vcf, output_vcf, VariantComparerWithAlternate()) vcf_transformer.process_vcf() del vcf_transformer
def test5_0(self): input_vcf = self.generic1 class_name = type(self).__name__ test_name = sys._getframe().f_code.co_name output_vcf = os.path.join(self.OUTPUT_FOLDER, "%s.%s.vcf" % (class_name, test_name)) vcf_transformer = GenericVcfDedupper(input_vcf, output_vcf, VariantComparerWithAlternate(), SELECTION_METHOD_AF) vcf_transformer.process_vcf() del vcf_transformer
def test1_2(self): input_vcf = self.strelka_vcf class_name = type(self).__name__ test_name = sys._getframe().f_code.co_name output_vcf = os.path.join(self.OUTPUT_FOLDER, "%s.%s.vcf" % (class_name, test_name)) vcf_transformer = StrelkaVcfDedupper(input_vcf, output_vcf, VariantComparerWithAlternate(), SELECTION_METHOD_QUALITY, 1) vcf_transformer.process_vcf() del vcf_transformer
def test2_4(self): input_vcf = self.starling_vcf class_name = type(self).__name__ test_name = sys._getframe().f_code.co_name output_vcf = os.path.join(self.OUTPUT_FOLDER, "%s.%s.vcf" % (class_name, test_name)) vcf_transformer = StarlingVcfDedupper(input_vcf, output_vcf, VariantComparerWithAlternate(), SELECTION_METHOD_ARBITRARY, sample_idx=0) vcf_transformer.process_vcf() del vcf_transformer
def run(self): logging.info("Starting the VCF duplication removal...") if self.sort_vcf: # sorts the input VCF self.__sort() else: # assumes input is sorted self.sorted_vcf = self.input_vcf # selects the appropriate comparer if self.equality_mode == INCLUDE_ALTERNATE: comparer = VariantComparerWithAlternate() elif self.equality_mode == EXCLUDE_ALTERNATE: comparer = VariantComparerNoAlternate() # selects the appropriate transformer if self.variant_caller == STRELKA_VARIANT_CALLER: transformer = StrelkaVcfDedupper(self.sorted_vcf, self.output_vcf, comparer, self.selection_method, self.sample_idx, self.sample_name) elif self.variant_caller == STARLING_VARIANT_CALLER: transformer = StarlingVcfDedupper(self.sorted_vcf, self.output_vcf, comparer, self.selection_method, self.sample_idx, self.sample_name) elif self.variant_caller == PLATYPUS_VARIANT_CALLER: transformer = PlatypusVcfDedupper(self.sorted_vcf, self.output_vcf, comparer, self.selection_method) elif self.variant_caller == GENERIC_VARIANT_CALLER: transformer = GenericVcfDedupper(self.sorted_vcf, self.output_vcf, comparer, self.selection_method) elif self.variant_caller == DUPLICATION_FINDER: transformer = DuplicationFinder(self.sorted_vcf, self.output_vcf, comparer) # run the transformation transformer.process_vcf() # forces closing the resources transformer.__del__() # delete temporary files if self.sort_vcf: os.remove(self.sorted_vcf) logging.info("Duplication removal finished!")