예제 #1
0
def elongate_data():
    seq_id = 'test1'

    test_ann = [
        gff.Annotation(seq_id=seq_id, start=1, end=10),
        gff.Annotation(seq_id=seq_id, start=10, end=15),
        gff.Annotation(seq_id=seq_id, start=16, end=18),
    ]
    return test_ann
예제 #2
0
def test_Annotation_get_aa_seq():
    ann = gff.Annotation(start=1, end=40, strand='+', phase=0)
    seq = 'ACTG' * 10

    assert ann.get_aa_seq(seq) == sequence.translate_sequence(
            ann.get_nuc_seq(seq, reverse=True),
            start=0,
            reverse=False
        )
예제 #3
0
def test_Annotation_get_aa_seq__snp():
    ann = gff.Annotation(start=1, end=40, strand='+', phase=1)
    seq = 'ACTG' * 10

    assert ann.get_aa_seq(seq, start=None, snp=(1, 'C')) == sequence.translate_sequence(
            ann.get_nuc_seq(seq, reverse=True, snp=(1, 'C')),
            start=ann.phase,
            reverse=False
        )
예제 #4
0
def test_genomicrange_contains_annotation1(coords1, coords2, result):
    gen_range1 = gff.GenomicRange(start=coords1[0], end=coords1[1])

    assert (gff.Annotation(start=coords2[0], end=coords2[1]) in gen_range1) == result
예제 #5
0
def test_Annotation_is_syn__start3_2():
    # first position on reference, third codon, second base in codon, phase=1
    ann = gff.Annotation(start=1, end=40, strand='+', phase=1)
    seq = 'ACTG' * 10

    assert not ann.is_syn(seq, 9, 'C', start=None)
예제 #6
0
def test_Annotation_is_syn__start2_1():
    # first position on reference, second codon, first base in codon, phase=1
    ann = gff.Annotation(start=1, end=40, strand='+', phase=1)
    seq = 'ACTG' * 10

    assert not ann.is_syn(seq, 6, 'A', start=None)
예제 #7
0
def test_Annotation_is_syn4_3():
    # first position on reference, third codon, third base in codon
    ann = gff.Annotation(start=1, end=40, strand='+', phase=0)
    seq = 'ACTG' * 10

    assert not ann.is_syn(seq, 9, 'T')
예제 #8
0
def test_Annotation_is_syn2_3():
    # second position on reference, third base in codon
    ann = gff.Annotation(start=2, end=40, strand='+', phase=0)
    seq = 'ACTG' * 10

    assert ann.is_syn(seq, 4, 'A')
예제 #9
0
def test_Annotation_is_syn1_1():
    ann = gff.Annotation(start=1, end=40, strand='+', phase=0)
    seq = 'ACTG' * 10

    assert not ann.is_syn(seq, 1, 'C')
예제 #10
0
def test_Annotation_taxon_id_set1():
    ann = gff.Annotation()
    ann.taxon_id = '10'
    assert ann.taxon_id == 10
예제 #11
0
def test_annotation_length1():
    ann = gff.Annotation(start=1, end=10)
    assert len(ann) == 10
예제 #12
0
def test_Annotation_get_nuc_seq_snp():
    ann = gff.Annotation(start=2, end=39, strand='+')
    seq = 'ACTG' * 10

    ann.get_nuc_seq(seq, snp=(2, 'C')) == sequence.get_variant_sequence(seq[1:-1], (2, 'C'))
예제 #13
0
def test_Annotation_get_nuc_seq_reverse2():
    ann = gff.Annotation(start=2, end=39, strand='-')
    seq = 'ACTG' * 10

    assert ann.get_nuc_seq(seq, reverse=True) == sequence.reverse_complement(seq[1:-1])
예제 #14
0
def test_Annotation_get_nuc_seq_reverse1():
    ann = gff.Annotation(start=1, end=40, strand='-')
    seq = 'ACTG' * 10

    assert ann.get_nuc_seq(seq) == seq
예제 #15
0
def test_Annotation_get_nuc_seq3():
    ann = gff.Annotation(start=2, end=39, strand='+')
    seq = 'ACTG' * 10

    assert ann.get_nuc_seq(seq) == seq[1:-1]
예제 #16
0
def test_Annotation_taxon_id_set3():
    ann = gff.Annotation()
    ann.taxon_id = 10.0
    assert ann.taxon_id == 10
예제 #17
0
def test_genomicrange_contains_annotation(start1, end1, start2, end2, result):
    gen_range1 = gff.GenomicRange(start=start1, end=end1)

    assert (gff.Annotation(start=start2, end=end2) in gen_range1) == result
예제 #18
0
def test_Annotation_set_mapping2():
    ann = gff.Annotation()
    ann.set_mapping('ko', ['test1', 'test2'])
    assert ann.attr['map_KO'] == 'test1,test2'
예제 #19
0
def test_Annotation_taxon_id_get1():
    ann = gff.Annotation()
    assert ann.taxon_id is None
예제 #20
0
def test_annotation_length2():
    ann = gff.Annotation(start=1, end=10)
    assert ann.length == 10
예제 #21
0
def test_Annotation_get_mappings1():

    ann = gff.Annotation()
    ann.set_mapping('ko', ['test'])
    mappings = ann.get_mappings()
    assert mappings['ko'] == ['test']