Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/annotate/4a9b4503a027/allpy/dna.py
Дата изменения: Unknown
Дата индексирования: Thu Feb 28 03:44:03 2013
Кодировка:
allpy: allpy/dna.py annotate

allpy

annotate allpy/dna.py @ 931:4a9b4503a027

Added class Column to different dna/rna/protein modules too
author Daniil Alexeyevsky <dendik@kodomo.fbb.msu.ru>
date Mon, 21 Nov 2011 18:40:16 +0300
parents 5f9e9c4e9ed6
children 08d892230e8c afed1fd8920c
rev   line source
bnagaev@240 1 import base
me@353 2 import data.codes
me@280 3
dendik@382 4 import dna
dendik@382 5
me@328 6 class Monomer(base.Monomer):
me@328 7 """DNA monomers: nucleotides."""
me@328 8 type = 'dna'
dendik@382 9 types = dna
me@280 10 by_code1 = {}
me@280 11 by_code3 = {}
me@280 12 by_name = {}
me@353 13 Monomer._initialize(data.codes.dna)
bnagaev@240 14
bnagaev@240 15 class Sequence(base.Sequence):
dendik@382 16 types = dna
dendik@382 17
dendik@930 18 def reverse_complemented(self):
dendik@930 19 """Return a new sequence, reverse-complement to self.
dendik@930 20
dendik@930 21 Name of the sequence is name of self with apostrophe added.
dendik@930 22 """
dendik@930 23 from_monomers = self.types.Sequence.from_monomers
dendik@930 24 from_code1 = self.types.Monomer.from_code1
dendik@930 25 complement = {'A': 'T', 'T': 'A', 'C': 'G', 'G': 'C'}
dendik@930 26 complemented_monomers = [
dendik@930 27 from_code1(complement.get(monomer.code1, 'N'))
dendik@930 28 for monomer in self
dendik@930 29 ]
dendik@930 30 return from_monomers(
dendik@930 31 reversed(complemented_monomers),
dendik@930 32 self.name + "'",
dendik@930 33 self.description,
dendik@930 34 self.source
dendik@930 35 )
dendik@930 36
dendik@931 37 class Column(base.Column):
dendik@931 38 types = dna
dendik@931 39
dendik@382 40 class Alignment(base.Alignment):
dendik@382 41 types = dna
bnagaev@240 42
me@341 43 class Block(Alignment, base.Block):
me@341 44 pass
me@341 45
me@280 46 # vim: set ts=4 sts=4 sw=4 et: