def test_dict_each_obsolete(self): var1 = Variant('var1') var1.warnings = ['obsolete'] var1.output_type_flag = 'gene' var2 = Variant('var2') var2.warnings = ['obsolete'] var2.output_type_flag = 'intergenic' var3 = Variant('var3') var3.warnings = ['obsolete'] var4 = Variant('var4') var4.warnings = ['obsolete'] var4.output_type_flag = 'gene' var4.hgvs_transcript_variant = '' obj = ValOutput([var1, var2, var3, var4], self.vv) res = obj.format_as_dict(with_meta=False) print(res) self.assertIsInstance(res, dict) self.assertEqual(list(res), [ 'flag', 'None', 'intergenic_variant_1', 'obsolete_record_1', 'obsolete_record_2' ]) self.assertEqual(res['flag'], 'gene_variant') self.assertEqual(res['None']['submitted_variant'], 'var1') self.assertEqual(res['intergenic_variant_1']['submitted_variant'], 'var2') self.assertEqual(res['obsolete_record_1']['submitted_variant'], 'var3') self.assertEqual(res['obsolete_record_2']['submitted_variant'], 'var4')
def test_table_intergenic_warnings(self): var1 = Variant('var1') var1.output_type_flag = 'intergenic' var1.warnings = ['Validation error'] var2 = Variant('var2') var2.output_type_flag = 'intergenic' var2.warnings = ['obsolete'] var3 = Variant('var3') var3.output_type_flag = 'intergenic' var3.warnings = ['obsolete'] var3.hgvs_transcript_variant = '' obj = ValOutput([var1, var2, var3], self.vv) res = obj.format_as_table(with_meta=False) self.assertIsInstance(res, list) self.assertEqual(res[1], [ 'var1', 'Validation error', None, None, None, None, None, None, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ]) self.assertEqual(res[2], [ 'var2', 'obsolete', None, None, None, None, None, None, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ]) self.assertEqual(res[3], [ 'var3', 'obsolete', '', None, None, None, None, None, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ]) self.assertEqual(len(res), 4)
def test_dict_each_with_error_in_warnings(self): var1 = Variant('var1') var1.warnings = ['Validation error'] var1.output_type_flag = 'gene' var2 = Variant('var2') var2.warnings = ['Validation error'] var2.output_type_flag = 'intergenic' var3 = Variant('var3') var3.warnings = ['Validation error'] obj = ValOutput([var1, var2, var3], self.vv) res = obj.format_as_dict(with_meta=False) print(res) self.assertIsInstance(res, dict) self.assertEqual(list(res), [ 'flag', 'validation_error_1', 'intergenic_variant_1', 'validation_error_2' ]) self.assertEqual(res['flag'], 'intergenic') self.assertEqual(res['validation_error_1']['submitted_variant'], 'var1') self.assertEqual(res['intergenic_variant_1']['submitted_variant'], 'var2') self.assertEqual(res['validation_error_2']['submitted_variant'], 'var3')
def test_dict_two_variants(self): var1 = Variant('var1') var2 = Variant('var2') obj = ValOutput([var1, var2], self.vv) res = obj.format_as_dict(with_meta=False) self.assertIsInstance(res, dict) self.assertEqual(list(res), ['flag', 'validation_warning_1', 'validation_warning_2']) self.assertEqual(res['flag'], 'warning') self.assertEqual(res['validation_warning_1']['submitted_variant'], 'var1') self.assertEqual(res['validation_warning_2']['submitted_variant'], 'var2')
def test_dict_one_intergenic(self): var1 = Variant('var1') var1.output_type_flag = 'intergenic' var2 = Variant('var2') obj = ValOutput([var1, var2], self.vv) res = obj.format_as_dict(with_meta=False) print(res) self.assertIsInstance(res, dict) self.assertEqual(list(res), ['flag', 'intergenic_variant_1', 'validation_warning_1']) self.assertEqual(res['flag'], 'intergenic') self.assertEqual(res['intergenic_variant_1']['submitted_variant'], 'var1') self.assertEqual(res['validation_warning_1']['submitted_variant'], 'var2')
def test_dict_one_intergenic_and_one_gene_reversed(self): var1 = Variant('var1') var1.output_type_flag = 'intergenic' var2 = Variant('var2') var2.output_type_flag = 'gene' obj = ValOutput([var2, var1], self.vv) res = obj.format_as_dict(with_meta=False) print(res) self.assertIsInstance(res, dict) self.assertEqual(list(res), ['flag', 'None', 'intergenic_variant_1']) self.assertEqual(res['flag'], 'intergenic') self.assertEqual(res['intergenic_variant_1']['submitted_variant'], 'var1') self.assertEqual(res['None']['submitted_variant'], 'var2')
def test_dict_one_variant(self): var = Variant('') obj = ValOutput([var], self.vv) res = obj.format_as_dict(with_meta=False) self.assertIsInstance(res, dict) self.assertEqual(list(res), ['flag', 'validation_warning_1']) self.assertEqual(res['flag'], 'warning')
def test_json(self): var = Variant('') obj = ValOutput([var], self.vv) res = obj.format_as_json(with_meta=False) self.assertIsInstance(res, str) self.assertIn('"flag": "warning"', res) self.assertIn('"validation_warning_1": {"selected_assembly": false, "submitted_variant": ""', res) self.assertEqual(json.loads(res), obj.format_as_dict(with_meta=False))
def test_table_intergenic(self): var1 = Variant('var1') var1.output_type_flag = 'intergenic' obj = ValOutput([var1], self.vv) res = obj.format_as_table(with_meta=False) print(res) self.assertIsInstance(res, list) self.assertEqual(res[1], ['var1', '', None, None, None, None, None, None, None, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']) self.assertEqual(len(res), 2)
def test_create_all_init(self): var = Variant('NM_015120.4:c.34=', quibble='NM_015120.4:c.34=', warnings=['Got a warning'], write=False, primary_assembly='GRCh37', order=1) self.assertEqual(var.quibble, 'NM_015120.4:c.34=') self.assertEqual(var.warnings, ['Got a warning']) self.assertFalse(var.write) self.assertEqual(var.primary_assembly, 'GRCh37') self.assertEqual(var.order, 1)
def test_table_one(self): var1 = Variant('var1') obj = ValOutput([var1], self.vv) res = obj.format_as_table(with_meta=False) print(res) self.assertIsInstance(res, list) self.assertEqual(res, [['Input', 'Warnings', 'Select transcript', 'HGVS_transcript', 'HGVS_intronic_chr_context', 'HGVS_intronic_rsg_context', 'HGVS_RefSeqGene', 'HGVS_LRG', 'HGVS_LRG_transcript', 'HGVS_Predicted_Protein', 'HGVS_Genomic_GRCh37', 'GRCh37_CHR', 'GRCh37_POS', 'GRCh37_ID', 'GRCh37_REF', 'GRCh37_ALT', 'HGVS_Genomic_GRCh38', 'GRCh38_CHR', 'GRCh38_POS', 'GRCh38_ID', 'GRCh38_REF', 'GRCh38_ALT', 'Gene_Symbol', 'HGNC_Gene_ID', 'Transcript_description', 'Alt_genomic_loci'], ['var1', '', None, None, None, None, None, None, None, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']])
def test_all_defaults(self): var = Variant('NM_015120.4:c.34=') self.assertEqual(var.hgvs_formatted, None) self.assertEqual(var.hgvs_genomic, None) self.assertEqual(var.hgvs_coding, None) self.assertEqual(var.post_format_conversion, None) self.assertEqual(var.pre_RNA_conversion, None) self.assertEqual(var.input_parses, None) self.assertEqual(var.description, '') self.assertEqual(var.coding, '') self.assertEqual(var.coding_g, '') self.assertEqual(var.genomic_r, '') self.assertEqual(var.genomic_g, '') self.assertEqual(var.protein, '') self.assertEqual(var.output_type_flag, 'warning') self.assertEqual(var.gene_symbol, '') self.assertEqual(var.timing, {}) self.assertEqual(var.refsource, None) self.assertEqual(var.reftype, None) # Normalizers self.assertEqual(var.hn, None) self.assertEqual(var.reverse_normalizer, None) self.assertEqual(var.evm, None) self.assertEqual(var.no_norm_evm, None) self.assertEqual(var.min_evm, None) self.assertEqual(var.lose_vm, None) # Required for output self.assertEqual(var.hgvs_transcript_variant, None) self.assertEqual(var.genome_context_intronic_sequence, None) self.assertEqual(var.refseqgene_context_intronic_sequence, None) self.assertEqual(var.hgvs_refseqgene_variant, None) self.assertEqual(var.hgvs_predicted_protein_consequence, None) self.assertEqual(var.hgvs_lrg_transcript_variant, None) self.assertEqual(var.hgvs_lrg_variant, None) self.assertEqual(var.alt_genomic_loci, None) self.assertEqual(var.primary_assembly_loci, None) self.assertEqual(var.reference_sequence_records, None) self.assertEqual(var.validated, False)
def test_warnings_type_int(self): var = Variant('NM_015120.4:c.34=', warnings=0) self.assertEqual(var.warnings, [0])
def setUp(self): self.var = Variant('NM_015120.4:c.34=')
def test_create(self): var = Variant('NM_015120.4:c.34=') self.assertIsInstance(var, Variant) self.assertEqual(var.original, 'NM_015120.4:c.34=')
def test_order_not_set(self): var = Variant('NM_015120.4:c.34=') self.assertEqual(var.order, False)
def test_primary_assembly_not_set(self): var = Variant('NM_015120.4:c.34=') self.assertEqual(var.primary_assembly, False)
def test_write_not_set(self): var = Variant('NM_015120.4:c.34=') self.assertEqual(var.write, True)
def test_write_type(self): var = Variant('NM_015120.4:c.34=', write='banana') self.assertEqual(var.write, 'banana')
def test_warnings_not_set(self): var = Variant('NM_015120.4:c.34=') self.assertEqual(var.warnings, [])
def test_warnings_type(self): var = Variant('NM_015120.4:c.34=', warnings='string') self.assertEqual(var.warnings, ['string'])
def test_quibble_not_set(self): var = Variant('NM_015120.4:c.34=') self.assertEqual(var.quibble, 'NM_015120.4:c.34=')
def test_quibble_type(self): var = Variant('NM_015120.4:c.34=', quibble=0) self.assertEqual(var.quibble, 0)