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
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
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
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