def test_no_filters_sv(self, gemini_sv_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_sv_case_obj) filters = {} result = plugin.variants('hapmap', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants assert nr_of_variants == 513
def test_filters_no_filters(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) filters = {} result = plugin.variants('643594', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants assert nr_of_variants == 14
def test_variant(gemini_case_obj): """Test to get one variant""" plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) variant = plugin.variant(case_id='643594', variant_id=4) assert variant['CHROM'] == '6' assert variant['POS'] == '32487163' assert type(variant['genes']) == type([])
def test_get_all_variants(gemini_case_obj): """Test to get some variants from the gemini adapter""" plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) filters = {} result = plugin.variants('643594', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants assert nr_of_variants == 14
def test_filters_impact_severities_medium(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) filters = {'impact_severities': ['MEDIUM']} result = plugin.variants('643594', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert variant_obj.impact_severity == 'MEDIUM' assert nr_of_variants == 10
def test_filters_impact_severities_medium(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) filters = {'impact_severities':['MEDIUM']} result = plugin.variants('643594', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert variant_obj.impact_severity == 'MEDIUM' assert nr_of_variants == 10
def test_filters_cadd(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) filters = {'cadd':'20'} result = plugin.variants('643594', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert variant_obj.cadd_score > 20 assert nr_of_variants == 4
def test_filters_frequency(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) filters = {'frequency': '0.01'} result = plugin.variants('643594', 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.01 assert nr_of_variants == 13
def test_variant(gemini_case_obj): """Test to get one variant""" plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) variant = plugin.variant( case_id='643594', variant_id=4 ) assert variant['CHROM'] == '6' assert variant['POS'] == '32487163' assert type(variant['genes']) == type([])
def test_filters_consequence(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) filters = {'consequence':['stop_gained']} result = plugin.variants('643594', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert 'stop_gained' in variant_obj.consequences assert nr_of_variants == 2
def test_filters_consequence(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) filters = {'consequence': ['stop_gained']} result = plugin.variants('643594', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert 'stop_gained' in variant_obj.consequences assert nr_of_variants == 2
def test_filters_gene_ids(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) filters = {'gene_ids': ['HLA-DRB5']} result = plugin.variants('643594', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert 'HLA-DRB5' in variant_obj.gene_symbols assert nr_of_variants == 5
def test_filters_cadd(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) filters = {'cadd': '20'} result = plugin.variants('643594', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert variant_obj.cadd_score > 20 assert nr_of_variants == 4
def test_filters_sv_len(self, gemini_sv_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_sv_case_obj) filters = {'sv_len': '800'} result = plugin.variants('hapmap', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert variant_obj.sv_len >= 800 assert nr_of_variants == 176
def test_filters_gene_ids(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) filters = {'gene_ids':['HLA-DRB5']} result = plugin.variants('643594', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert 'HLA-DRB5' in variant_obj.gene_symbols assert nr_of_variants == 5
def test_filters_frequency(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) filters = {'frequency':'0.01'} result = plugin.variants('643594', 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.01 assert nr_of_variants == 13
def test_filters_sv_len(self, gemini_sv_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_sv_case_obj) filters = {'sv_len':'800'} result = plugin.variants('hapmap', filters=filters, count=1000) variants = result.variants nr_of_variants = result.nr_of_variants for variant_obj in variants: assert variant_obj.sv_len >= 800 assert nr_of_variants == 176
def test_filters_range(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) start = 92498060 end = 92498100 filters = {'range': {'chromosome': 'chr1', 'start': start, 'end': end}} result = plugin.variants('643594', 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_filters_range(self, gemini_case_obj): plugin = GeminiPlugin() plugin.add_case(gemini_case_obj) start = 92498060 end = 92498100 filters = {'range': {'chromosome': 'chr1', 'start': start, 'end':end}} result = plugin.variants('643594', 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_transcripts(self, gemini_case_obj, variant): adapter = GeminiPlugin() adapter.add_case(gemini_case_obj) adapter.db = gemini_case_obj.variant_source gemini_variant = {'variant_id': 1} adapter._add_transcripts(variant, gemini_variant) transcripts = variant.transcripts assert len(transcripts) == 2 first_transcript = transcripts[0] assert first_transcript.transcript_id == 'ENST00000370383' assert first_transcript.hgnc_symbol == 'EPHX4' assert first_transcript.consequence == 'missense_variant' assert first_transcript.ensembl_id == None assert first_transcript.biotype == 'protein_coding' assert first_transcript.sift == 'deleterious' assert first_transcript.polyphen == 'probably_damaging'
def test_get_individuals(gemini_case_obj): adapter = GeminiPlugin() adapter.add_case(gemini_case_obj) ind_ids = [ind.ind_id for ind in adapter.individual_objs] assert set(ind_ids) == set(['NA12877', 'NA12878', 'NA12882'])
def test_case_no_id(gemini_case_obj): adapter = GeminiPlugin() adapter.add_case(gemini_case_obj) case_id = '643594' assert adapter.case().case_id == case_id
def test_case_wrong_id(gemini_case_obj): adapter = GeminiPlugin() adapter.add_case(gemini_case_obj) case_id = 'hello' assert adapter.case(case_id) == None
def test_get_individuals_one_ind(gemini_case_obj): adapter = GeminiPlugin() adapter.add_case(gemini_case_obj) ind_ids = [ind.ind_id for ind in adapter.individuals('NA12877')] assert set(ind_ids) == set(['NA12877'])
def test_case_objs(gemini_case_obj): adapter = GeminiPlugin() adapter.add_case(gemini_case_obj) case_ids = [case.case_id for case in adapter.case_objs] assert set(case_ids) == set(['643594'])