def test_add_genotypes(self, variant):
        adapter = GeminiPlugin()
        gemini_variant = {
            'gts': ['G/A', 'G/A', './.', './.', './.'],
            'gt_depths': [17, 19, -1, -1, -1],
            'gt_ref_depths': [10, 13, -1, -1, -1],
            'gt_alt_depths': [7, 6, -1, -1, -1],
            'gt_quals': [99, 99, -1, -1, -1],
            
        }
        ind = DotDict()
        ind.ind_index = 0
        ind.ind_id = '1'
        ind.case_id = 'Case_1'
        ind.phenotype = 2
        ind_objs = [ind]

        adapter._add_genotypes(variant, gemini_variant, ind_objs)
        
        genotype = variant.individuals[0]

        assert genotype.sample_id == ind.ind_id
        assert genotype.sample_id == ind.ind_id
        assert genotype.genotype == 'G/A'
        assert genotype.case_id == ind.case_id
        assert genotype.phenotype == ind.phenotype
        assert genotype.ref_depth == 10
        assert genotype.alt_depth == 7
        assert genotype.depth == 17
        assert genotype.genotype_quality == 99
    def test_add_genotypes(self, variant):
        adapter = GeminiPlugin()
        gemini_variant = {
            'gts': ['G/A', 'G/A', './.', './.', './.'],
            'gt_depths': [17, 19, -1, -1, -1],
            'gt_ref_depths': [10, 13, -1, -1, -1],
            'gt_alt_depths': [7, 6, -1, -1, -1],
            'gt_quals': [99, 99, -1, -1, -1],
        }
        ind = DotDict()
        ind.ind_index = 0
        ind.ind_id = '1'
        ind.phenotype = 2
        ind_objs = [ind]

        adapter._add_genotypes(variant, gemini_variant, 'dummy', ind_objs)

        genotype = variant.individuals[0]

        assert genotype.sample_id == ind.ind_id
        assert genotype.sample_id == ind.ind_id
        assert genotype.genotype == 'G/A'
        assert genotype.case_id == 'dummy'
        assert genotype.phenotype == ind.phenotype
        assert genotype.ref_depth == 10
        assert genotype.alt_depth == 7
        assert genotype.depth == 17
        assert genotype.genotype_quality == 99
示例#3
0
def test_get_genotypes(gemini_variant):
    adapter = GeminiPlugin()
    ind = DotDict()
    ind.ind_index = 0
    ind.ind_id = '1'
    ind.case_id = 'Case_1'
    ind.phenotype = 2
    ind_objs = [ind]
    
    individual = adapter._get_genotypes(gemini_variant, ind_objs)[0]
    
    assert individual.sample_id == ind.ind_id
    assert individual.sample_id == ind.ind_id
    assert individual.genotype == 'G/A'
    assert individual.case_id == ind.case_id
    assert individual.phenotype == ind.phenotype
    assert individual.ref_depth == 10
    assert individual.alt_depth == 7
    assert individual.depth == 17
    assert individual.genotype_quality == 99
示例#4
0
def cyvcf_variant(request):
    "Return dictionary to mock a cyvcf variant"
    variant = DotDict()
    variant.CHROM = 'X'
    variant.POS = 84563218
    variant.REF = 'C'
    variant.ALT = ['G']
    variant.FILTER = 'PASS'
    variant.ID = 'rs1'
    variant.QUAL = 360.829986572
    variant.INFO = {
            'CADD': 25,
            'CSQ': "G|missense_variant|MODERATE|POF1B|ENSG00000124429|"\
            "Transcript|ENST00000373145|protein_coding|10/16||ENST00000373145"\
            ".3:c.962G>C|ENSP00000362238.3:p.Arg321Thr|1082|962|321|R/T|aGg/"\
            "aCg|||-1|HGNC|13711|||ENSP00000362238|POF1B_HUMAN||UPI00001AE9F1"\
            "|deleterious|possibly_damaging|hmmpanther:PTHR22546|||||,G|"\
            "missense_variant|MODERATE|POF1B|ENSG00000124429|Transcript|"\
            "ENST00000262753|protein_coding|10/17||ENST00000262753.4:c.962G"\
            ">C|ENSP00000262753.4:p.Arg321Thr|1108|962|321|R/T|aGg/aCg|||-"\
            "1|HGNC|13711||CCDS14452.1|ENSP00000262753|POF1B_HUMAN||"\
            "UPI0000212116|deleterious|probably_damaging|hmmpanther:PTHR22546|||||",
        'Compounds': '643594:X_84615532_GTA_G>12',
        'Ensembl_gene_id': 'ENSG00000124429',
        'GeneticModels': '643594:XD_dn|AR_comp_dn|XR_dn',
        'ModelScore': '643594:16.0',
        'RankScore': '643594:19',
         }
    variant.start = 84563217
    variant.end = 84563218
    variant.var_type = 'snp'
    variant.sub_vartype = 'tv'
    variant.gt_types = ['C/C', 'C/G', 'C/C']
    variant.gt_types = [0, 1, 0]
    variant.gt_depths = [20, 7, 20]
    variant.gt_ref_depths = [20, 1, 20]
    variant.gt_alt_depths = [0, 6, 0]
    variant.gt_quals = [57., 16., 54.]
    variant.aaf = 0.16666666666666666
    variant.call_rate = 1.0
    variant.gt_phases = [False, False, False]
    variant.gt_phred_ll_het = [57, 0, 54]
    variant.gt_phred_ll_homalt = [855, 16, 810]
    variant.gt_phred_ll_homref = [0, 154, 0]
    variant.is_deletion = False
    variant.is_indel = False
    variant.is_snp = True
    variant.is_sv = False
    variant.is_transition = False
    variant.nucl_diversity = 0.3333333333333333
    variant.num_called = 3
    variant.num_het = 1
    variant.num_hom_alt = 0
    variant.num_hom_ref = 2
    variant.num_unknown = 0

    return variant
示例#5
0
def cyvcf_variant(request):
    "Return dictionary to mock a cyvcf variant"
    variant = DotDict()
    variant.CHROM = 'X'
    variant.POS = 84563218
    variant.REF = 'C'
    variant.ALT = ['G']
    variant.FILTER = 'PASS'
    variant.ID ='rs1'
    variant.QUAL = 360.829986572
    variant.INFO = {
            'CADD': 25,
            'CSQ': "G|missense_variant|MODERATE|POF1B|ENSG00000124429|"\
            "Transcript|ENST00000373145|protein_coding|10/16||ENST00000373145"\
            ".3:c.962G>C|ENSP00000362238.3:p.Arg321Thr|1082|962|321|R/T|aGg/"\
            "aCg|||-1|HGNC|13711|||ENSP00000362238|POF1B_HUMAN||UPI00001AE9F1"\
            "|deleterious|possibly_damaging|hmmpanther:PTHR22546|||||,G|"\
            "missense_variant|MODERATE|POF1B|ENSG00000124429|Transcript|"\
            "ENST00000262753|protein_coding|10/17||ENST00000262753.4:c.962G"\
            ">C|ENSP00000262753.4:p.Arg321Thr|1108|962|321|R/T|aGg/aCg|||-"\
            "1|HGNC|13711||CCDS14452.1|ENSP00000262753|POF1B_HUMAN||"\
            "UPI0000212116|deleterious|probably_damaging|hmmpanther:PTHR22546|||||",
        'Compounds': '643594:X_84615532_GTA_G>12',
        'Ensembl_gene_id': 'ENSG00000124429',
        'GeneticModels': '643594:XD_dn|AR_comp_dn|XR_dn',
        'ModelScore': '643594:16.0',
        'RankScore': '643594:19',
         }
    variant.start = 84563217
    variant.end = 84563218
    variant.var_type = 'snp'
    variant.sub_vartype = 'tv'
    variant.gt_types = ['C/C', 'C/G', 'C/C']
    variant.gt_types = [0, 1, 0]
    variant.gt_depths = [20,  7, 20]
    variant.gt_ref_depths = [20,  1, 20]
    variant.gt_alt_depths = [0, 6, 0]
    variant.gt_quals = [ 57.,  16.,  54.]
    variant.aaf = 0.16666666666666666
    variant.call_rate =  1.0
    variant.gt_phases = [False, False, False]
    variant.gt_phred_ll_het = [57,0,54]
    variant.gt_phred_ll_homalt = [855,16,810]
    variant.gt_phred_ll_homref = [0,154,0]
    variant.is_deletion = False
    variant.is_indel = False
    variant.is_snp = True
    variant.is_sv = False
    variant.is_transition = False
    variant.nucl_diversity = 0.3333333333333333
    variant.num_called = 3
    variant.num_het = 1
    variant.num_hom_alt = 0
    variant.num_hom_ref = 2
    variant.num_unknown = 0
    
    return variant