1 """Part of an old unused and undocumented sequence writing framework (DEPRECATED)."""
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 import textwrap
30
31 from Bio import Alphabet
32 from Bio import Writer
33
37
39 seq = record.seq
40 assert seq.alphabet.size == 1, "cannot handle alphabet of size %d" % \
41 seq.alphabet.size
42 data = seq.data
43 upperdata = data.upper()
44
45
46
47
48 if isinstance(seq.alphabet, Alphabet.RNAAlphabet):
49 molecule = 'mRNA'
50 letters = ['A', 'C', 'G', 'U']
51 else:
52 molecule = 'DNA'
53 letters = ['A', 'C', 'G', 'T']
54
55 division = 'UNC'
56
57 self.outfile.write("ID %s standard; %s; %s; %d BP.\n"
58 % (record.id, molecule, division, len(data)))
59
60 desclist = textwrap.wrap(record.description, 74)
61 for l in desclist:
62 self.outfile.write("DE %s\n" % l)
63
64 counts = [ upperdata.count(l) for l in letters ]
65 othercount = len(upperdata) - sum(counts)
66
67 countstring = ''.join([ " %d %s;" % p for p in zip(counts, letters) ])
68
69 self.outfile.write("SQ Sequence %s BP;%s %d other;\n"
70 % (len(data), countstring, othercount))
71
72 rowlength = 60
73 blocklength = 10
74 for i in xrange(0, len(data), rowlength):
75 self.outfile.write(" " * 5)
76 row = data[i:i+rowlength]
77 for b in xrange(0, rowlength, blocklength):
78 block = row[b:b+blocklength]
79 self.outfile.write("%-*s" % (blocklength+1, block))
80 self.outfile.write("%9d\n" % min(i+rowlength, len(data)))
81
82 self.outfile.write("//\n")
83
84
85 make_writer = WriteEmbl
86