def test_individual(case_obj): adapter=VcfPlugin() adapter.add_case(case_obj) ind_id = "ADM1059A1" ind_obj = adapter.individual(ind_id) assert ind_obj.ind_id == ind_id
def test_filters_no_filter(self, case_obj): plugin = VcfPlugin() plugin.add_case(case_obj) case_id = case_obj.case_id filters = {} result = plugin.variants(case_id, filters=filters, count=1000) assert result.nr_of_variants == 108
def test_variant(case_obj): vcf_plugin = VcfPlugin() vcf_plugin.add_case(case_obj) variant = vcf_plugin.variant(case_obj.case_id, 'X_155239821_G_A') assert variant['CHROM'] == 'X' assert int(variant['POS']) == 155239821 # get 10th variant variant = vcf_plugin.variant(case_obj.case_id, '3_124998098_C_A') assert variant['index'] == 10
def test_filters_frequency(self, case_obj): plugin = VcfPlugin() plugin.add_case(case_obj) case_id = case_obj.case_id filters = {'frequency':'0.001'} result = plugin.variants(case_id, filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert variant_obj.max_freq <= 0.001 assert nr_of_variants == 88
def test_filters_frequency(self, case_obj): plugin = VcfPlugin() plugin.add_case(case_obj) case_id = case_obj.case_id filters = {'frequency':'0.001'} result = plugin.variants(case_id, filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert variant_obj.max_freq <= 0.001 assert nr_of_variants == 73
def test_filters_consequence(self, case_obj): plugin = VcfPlugin() plugin.add_case(case_obj) case_id = case_obj.case_id filters = {'consequence':['frameshift_variant']} result = plugin.variants(case_id, filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert 'frameshift_variant' in variant_obj.consequences assert nr_of_variants == 4
def test_filters_gene_ids(self, case_obj): plugin = VcfPlugin() plugin.add_case(case_obj) case_id = case_obj.case_id filters = {'gene_ids':['POF1B']} result = plugin.variants(case_id, filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert 'POF1B' in variant_obj.gene_symbols assert nr_of_variants == 1
def test_filters_impact_severities_high(self, case_obj): plugin = VcfPlugin() plugin.add_case(case_obj) case_id = case_obj.case_id filters = {'impact_severities':['HIGH']} result = plugin.variants(case_id, filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert variant_obj.impact_severity == 'HIGH' assert nr_of_variants == 7
def test_filters_cadd(self, case_obj): plugin = VcfPlugin() plugin.add_case(case_obj) case_id = case_obj.case_id filters = {'cadd':'20'} result = plugin.variants(case_id, filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: variant_obj.cadd_score >= 20 assert nr_of_variants == 50
def test_variants_case(case_obj): vcf_plugin = VcfPlugin() vcf_plugin.add_case(case_obj) #case_id is 'hapmap.vcf' since no ped file is given result = vcf_plugin.variants(case_id=case_obj.case_id) variants = result.variants variant = variants[0] assert variant['CHROM'] == 'X' assert int(variant['POS']) == 84563218 assert variant['index'] == 1 variant = variants[1] assert variant['CHROM'] == '2' assert int(variant['POS']) == 233349186 assert variant['index'] == 2
def select_plugin(self, case_obj): """Select and initialize the correct plugin for the case.""" if case_obj.variant_mode == "vcf": logger.debug("Using vcf plugin") plugin = VcfPlugin(case_obj.variant_type) elif case_obj.variant_mode == "gemini": logger.debug("Using gemini plugin") plugin = GeminiPlugin(case_obj.variant_type) # Add case to plugin plugin.add_case(case_obj) self.variant_type = case_obj.variant_type case_id = case_obj.case_id return plugin, case_id
def select_plugin(self, case_obj): """Select and initialize the correct plugin for the case.""" if case_obj.variant_mode == 'vcf': logger.debug("Using vcf plugin") plugin = VcfPlugin(case_obj.variant_type) elif case_obj.variant_mode == 'gemini': logger.debug("Using gemini plugin") plugin = GeminiPlugin(case_obj.variant_type) #Add case to plugin plugin.add_case(case_obj) self.variant_type = case_obj.variant_type case_id = case_obj.case_id return plugin, case_id
def test_filters_range(self, case_obj, indexed_vcf_file): plugin = VcfPlugin() case_obj.variant_source = indexed_vcf_file case_obj.compressed = True case_obj.tabix_index = True plugin.add_case(case_obj) case_id = case_obj.case_id start = 1771120 end = 1771130 filters = {'range':{'chromosome':'1', 'start':start, 'end':end}} result = plugin.variants(case_id, filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert variant_obj.start >= start assert variant_obj.stop <= end assert nr_of_variants == 1
def test_add_case(case_obj): adapter=VcfPlugin() adapter.add_case(case_obj) assert len(adapter.individual_objs) == 3 case_obj = adapter.case_objs[0] assert case_obj.name == "636808"
def test_case(case_obj): adapter=VcfPlugin() adapter.add_case(case_obj) case_id = "636808" case_obj = adapter.case(case_id) assert case_obj.case_id == case_id
def test_individuals(case_obj): adapter=VcfPlugin() adapter.add_case(case_obj) individuals = [ind for ind in adapter.individuals()] assert len(individuals) == 3
def test_cases(case_obj): adapter=VcfPlugin() adapter.add_case(case_obj) case_id = "636808" case_obj = adapter.cases()[0] assert case_obj.name == "636808"