Пример #1
0
    def test_creation_str(self):
        obj = ValOutput('hello', 'validator')

        self.assertEqual(obj.output_list, 'hello')
        self.assertEqual(obj.validator, 'validator')
        with self.assertRaises(AttributeError):
            obj.format_as_dict()
Пример #2
0
 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')
Пример #3
0
    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)
Пример #4
0
    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')
Пример #5
0
    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')
Пример #6
0
 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))
Пример #7
0
 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')
Пример #8
0
 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)
Пример #9
0
 def test_table_empty(self):
     obj = ValOutput([], 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']])
Пример #10
0
 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')
Пример #11
0
    def test_output_meta(self):
        obj = ValOutput([], self.vv)

        res = obj.format_as_dict(with_meta=True)
        self.assertIsInstance(res, dict)
        self.assertEqual(list(res), ['flag', 'metadata'])
        self.assertIsInstance(res['metadata'], dict)
        self.assertEqual(list(res['metadata']), ['variantvalidator_version', 'variantvalidator_hgvs_version', 'vvta_version', 'vvseqrepo_db', 'vvdb_version'])
        res2 = obj.format_as_table(with_meta=True)
        self.assertIsInstance(res2, list)
        self.assertTrue(res2[0].startswith('#'))
        self.assertTrue('variantvalidator_version' in res2[0])
Пример #12
0
 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')
Пример #13
0
 def test_table_one_gene(self):
     var1 = Variant('var1')
     var1.output_type_flag = 'gene'
     obj = ValOutput([var1], self.vv)
     res = obj.format_as_table(with_meta=False)
     print(res)
     self.assertIsInstance(res, list)
     self.assertEqual(res[0], ['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'])
     self.assertEqual(res[1], ['var1', '', None, None, None, None, None, None, None, '', '', '', '', '', '', '', '',
                               '', '', '', '', '', '', '', '', ''])
     self.assertEqual(len(res), 2)
Пример #14
0
 def test_dict_no_variants(self):
     obj = ValOutput([], self.vv)
     res = obj.format_as_dict(with_meta=False)
     self.assertIsInstance(res, dict)
     self.assertEqual(res, {'flag': 'empty_result'})
Пример #15
0
    def test_creation_empty(self):
        obj = ValOutput([], self.vv)

        self.assertIsInstance(obj, ValOutput)
        self.assertEqual(obj.output_list, [])
        self.assertEqual(obj.validator, self.vv)