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
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 )
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 )
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
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)
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)
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')
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')
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')
def test_Annotation_taxon_id_set1(): ann = gff.Annotation() ann.taxon_id = '10' assert ann.taxon_id == 10
def test_annotation_length1(): ann = gff.Annotation(start=1, end=10) assert len(ann) == 10
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'))
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])
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
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]
def test_Annotation_taxon_id_set3(): ann = gff.Annotation() ann.taxon_id = 10.0 assert ann.taxon_id == 10
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
def test_Annotation_set_mapping2(): ann = gff.Annotation() ann.set_mapping('ko', ['test1', 'test2']) assert ann.attr['map_KO'] == 'test1,test2'
def test_Annotation_taxon_id_get1(): ann = gff.Annotation() assert ann.taxon_id is None
def test_annotation_length2(): ann = gff.Annotation(start=1, end=10) assert ann.length == 10
def test_Annotation_get_mappings1(): ann = gff.Annotation() ann.set_mapping('ko', ['test']) mappings = ann.get_mappings() assert mappings['ko'] == ['test']