allpy
annotate allpy/dna.py @ 1093:0aa68678861c
Removed tests for long-removed "ss" markup
author | Daniil Alexeyevsky <dendik@kodomo.fbb.msu.ru> |
---|---|
date | Sat, 02 Jun 2012 21:56:13 +0400 |
parents | 4a9b4503a027 |
children | c4c772e3ce86 |
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 complement = {'A': 'T', 'T': 'A', 'C': 'G', 'G': 'C'} |
dendik@1091 | 24 result = self.types.Sequence( |
dendik@1091 | 25 name=self.name +"'", |
dendik@1091 | 26 description=self.description, |
dendik@1091 | 27 source=self.source |
dendik@930 | 28 ) |
dendik@1091 | 29 for monomer in reversed(self): |
dendik@1091 | 30 result.append_monomer(complement.get(monomer.code1, 'N')) |
dendik@1091 | 31 return result |
dendik@930 | 32 |
dendik@931 | 33 class Column(base.Column): |
dendik@931 | 34 types = dna |
dendik@931 | 35 |
dendik@382 | 36 class Alignment(base.Alignment): |
dendik@382 | 37 types = dna |
bnagaev@240 | 38 |
me@341 | 39 class Block(Alignment, base.Block): |
me@341 | 40 pass |
me@341 | 41 |
me@280 | 42 # vim: set ts=4 sts=4 sw=4 et: |