view test/test_markups.py @ 1168:b556c96c6719
blocks3d/www Makefile: never check certificates of github, they are too confusing for wget
author |
Daniil Alexeyevsky <dendik@kodomo.fbb.msu.ru> |
date |
Mon, 26 May 2014 17:20:29 +0400 |
parents |
0aa68678861c |
children |
|
line source
1 from StringIO import StringIO
3 from allpy import protein
4 from allpy import markups
8 seq = protein.Sequence.from_string('SEQVENCE', name='sequence')
9 markup = seq.add_markup('index')
10 assert seq[5].index == 5
11 assert markup[seq[5]] == 5
14 aln = protein.Alignment().append_row_from_string("SEQVENCE", name="A")
15 markup = aln.sequences[0].add_markup('index')
19 aln.to_file(file, format="markup")
22 aln = protein.Alignment().append_file(file, format="markup")
23 assert str(aln.sequences[0]) == "SEVENCE"
24 assert aln.sequences[0][3].index == 3
27 seq = protein.Sequence.from_string('SEQVENCE', name='sequence')
28 seq.add_markup('number')
29 assert seq[5].number == 6
30 assert seq.markups["number"][seq[5]] == 6
33 seq.add_markup('number')
34 except AssertionError:
37 raise AssertionError("Silently created same named alignment")
39 seq.add_markup('number', use_existing=True)
42 other = markups.SequenceIndexMarkup
43 seq.add_markup('number', use_existing=True, markup_class=other)
44 except AssertionError:
47 raise AssertionError("Created same named different class alignment")
50 seq = protein.Sequence.from_string('seQVEncE', name='sequence')
51 seq.add_markup('case')
52 letters = ''.join(v[0] for v in seq.markups['case'].sorted_values())
53 assert letters == 'lluuullu'
56 aln = protein.Alignment().append_sequence(seq)
57 aln.to_file(fakefile, format='markup')
60 aln = protein.Alignment().append_file(fakefile, format='markup')
61 seq = aln.sequences[0]
62 letters = ''.join(v[0] for v in seq.markups['case'].sorted_values())
63 assert letters == 'lluuullu'
66 seq = protein.Sequence.from_string('SEQVENCE', name='sequence')
67 markup = seq.add_markup(name='my_markup', markup_class=base.SequenceMarkup)
69 assert seq[4].my_markup == 5
71 assert markup[seq[2]] == 4
74 from_name = markups.by_name['sequence_markup', 'index']
75 assert from_name is markups.SequenceIndexMarkup
76 from_name = markups.by_name['alignment_markup', 'index']
77 assert from_name is markups.AlignmentIndexMarkup
80 aln = (protein.Alignment().
81 append_row_from_string('aseq-vence', name='a').
82 append_row_from_string('ase-qret--', name='b')
85 class MySequenceMarkup(base.SequenceMarkup, markups.IntMarkupMixin):
87 class MyAlignmentMarkup(base.AlignmentMarkup, markups.IntMarkupMixin):
89 markups.update(MySequenceMarkup, MyAlignmentMarkup)
93 m1 = s.add_markup('m1')
96 m2 = aln.add_markup('m2')
99 m3 = aln.add_markup('m3', markup_class=MyAlignmentMarkup)
102 m4 = aln.add_markup('m4', markup_class=MyAlignmentMarkup)
103 m5 = s.add_markup('ss', markup_class=markups.SequenceCharMarkup)
108 aln.to_file(file, format='markup')
111 out = protein.Alignment().append_file(file, format='markup')
114 assert s[5].m1 == 5 and s[3].m1 == 3