Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/file/3cc7ef543da5/allpy/dna.py
Дата изменения: Unknown
Дата индексирования: Sun Feb 3 18:36:43 2013
Кодировка:
allpy: 3cc7ef543da5 allpy/dna.py

allpy

view allpy/dna.py @ 1049:3cc7ef543da5

allpy: do not print debugging messages, unless allpy.config.debug Note: new config variable was introduced: allpy.config.debug. By default, allpy.config.debug=False This is draft commit, since this feature was not properly discussed see 152
author Boris Nagaev <bnagaev@gmail.com>
date Sun, 25 Mar 2012 22:54:35 +0400
parents 5f9e9c4e9ed6
children 08d892230e8c afed1fd8920c
line source
1 import base
2 import data.codes
4 import dna
6 class Monomer(base.Monomer):
7 """DNA monomers: nucleotides."""
8 type = 'dna'
9 types = dna
10 by_code1 = {}
11 by_code3 = {}
12 by_name = {}
13 Monomer._initialize(data.codes.dna)
15 class Sequence(base.Sequence):
16 types = dna
18 def reverse_complemented(self):
19 """Return a new sequence, reverse-complement to self.
21 Name of the sequence is name of self with apostrophe added.
22 """
23 from_monomers = self.types.Sequence.from_monomers
24 from_code1 = self.types.Monomer.from_code1
25 complement = {'A': 'T', 'T': 'A', 'C': 'G', 'G': 'C'}
26 complemented_monomers = [
27 from_code1(complement.get(monomer.code1, 'N'))
28 for monomer in self
29 ]
30 return from_monomers(
31 reversed(complemented_monomers),
32 self.name + "'",
33 self.description,
34 self.source
35 )
37 class Column(base.Column):
38 types = dna
40 class Alignment(base.Alignment):
41 types = dna
43 class Block(Alignment, base.Block):
44 pass
46 # vim: set ts=4 sts=4 sw=4 et: