Beispiel #1
0
    def test_intergenic(self):
        # seg is compositon of BED6 and GTF interval:
        seg = create_interval_from_list(
            ['1', '0', '10', '.', '.', '+'] +
            ['.', '.', '.', '.', '.', '.', '.', '.', '.'])
        types = ['intergenic']
        subtypes = [None]
        genes = [('.', None, 0)]

        interval = region.make_uniq_region(seg, types, subtypes, genes)
        self.assertEqual(interval[:], [
            '1', '.', 'intergenic', '1', '10', '.', '+', '.',
            'gene_id "."; gene_name "None"; biotype "";'
        ])
Beispiel #2
0
    def test_utr3(self):
        # seg is compositon of BED6 and GTF interval:
        seg = create_interval_from_list(
            ['1', '0', '10', '.', '.', '+'] +
            ['.', '.', '.', '.', '.', '.', '.', '.', '.'])
        types = ['intron']
        subtypes = ['3prime_overlapping_ncRNA']
        genes = [('id1', 'A', 20)]

        interval = region.make_uniq_region(seg, types, subtypes, genes)
        self.assertEqual(interval[:], [
            '1', '.', 'UTR3', '1', '10', '.', '+', '.',
            'gene_id "id1"; gene_name "A"; biotype "mRNA";'
        ])
Beispiel #3
0
    def test_take_longer_gene(self):
        # seg is compositon of BED6 and GTF interval:
        seg = create_interval_from_list(
            ['1', '0', '10', '.', '.', '+'] +
            ['.', '.', '.', '.', '.', '.', '.', '.', '.'])
        types = ['CDS', 'CDS']
        subtypes = ['protein_coding', 'protein_coding']
        genes = [('id1', 'A', 20), ('id2', 'B', 40)]

        interval = region.make_uniq_region(seg, types, subtypes, genes)
        self.assertEqual(interval[:], [
            '1', '.', 'CDS', '1', '10', '.', '+', '.',
            'gene_id "id2"; gene_name "B"; biotype "mRNA";'
        ])
Beispiel #4
0
    def test_multiple_biotypes(self):
        # seg is compositon of BED6 and GTF interval:
        seg = create_interval_from_list(
            ['1', '0', '10', '.', '.', '+'] +
            ['.', '.', '.', '.', '.', '.', '.', '.', '.'])
        types = ['intron', 'intron']
        subtypes = ['protein_coding', 'TEC']
        genes = [('id1', 'A', 20), ('id1', 'A', 20)]

        interval = region.make_uniq_region(seg, types, subtypes, genes)
        self.assertEqual(interval[:], [
            '1', '.', 'intron', '1', '10', '.', '+', '.',
            'gene_id "id1"; gene_name "A"; biotype "lncRNA,pre-mRNA";'
        ])
Beispiel #5
0
    def test_highest_rated_type(self):
        # seg is compositon of BED6 and GTF interval:
        seg = create_interval_from_list(
            ['1', '0', '10', '.', '.', '+'] +
            ['.', '.', '.', '.', '.', '.', '.', '.', '.'])
        types = ['UTR3', 'intron', 'UTR5']
        subtypes = ['protein_coding', 'TEC', 'non_stop_decay']
        genes = [('id1', 'A', 20), ('id1', 'A', 20), ('id1', 'A', 20)]

        interval = region.make_uniq_region(seg, types, subtypes, genes)
        self.assertEqual(interval[:], [
            '1', '.', 'UTR3', '1', '10', '.', '+', '.',
            'gene_id "id1"; gene_name "A"; biotype "mRNA";'
        ])
Beispiel #6
0
    def test_basic(self):
        # seg is composed of borders(BED6) and segment(GTF) interval:
        seg = create_interval_from_list(
            ['1', '0', '10', '.', '.', '+'] +
            ['.', '.', '.', '.', '.', '.', '.', '.', '.'])
        types = ['UTR3']
        subtypes = ['TEC']
        genes = [('id1', 'A', 50)]

        interval = region.make_uniq_region(seg, types, subtypes, genes)
        self.assertEqual(interval[:], [
            '1', '.', 'UTR3', '1', '10', '.', '+', '.',
            'gene_id "id1"; gene_name "A"; biotype "lncRNA";'
        ])