allpy
annotate allpy/rna.py @ 379:5639138f619a
Added alignment_type & block_type to both Alignment & Block
These are to help in mixins to create new Alignments/Blocks of the same type.
Use with care! It is in most cases better to use self.__class__ rather than
these attributes. (Or you may lose mixins in the way).
author | Daniil Alexeyevsky <dendik@kodomo.fbb.msu.ru> |
---|---|
date | Tue, 01 Feb 2011 18:36:26 +0300 |
parents | 24a058450d72 |
children | df571a5233fb |
rev | line source |
---|---|
bnagaev@240 | 1 import base |
me@353 | 2 import data.codes |
me@281 | 3 |
me@328 | 4 class Monomer(base.Monomer): |
me@328 | 5 """RNA monomers: nucleotides.""" |
me@328 | 6 type = 'rna' |
me@281 | 7 by_code1 = {} |
me@281 | 8 by_code3 = {} |
me@281 | 9 by_name = {} |
me@353 | 10 Monomer._initialize(data.codes.rna) |
bnagaev@240 | 11 |
bnagaev@240 | 12 class Sequence(base.Sequence): |
me@342 | 13 monomer_type = Monomer |
bnagaev@240 | 14 |
me@341 | 15 class Block(Alignment, base.Block): |
me@341 | 16 pass |
me@341 | 17 |
dendik@379 | 18 class Alignment(base.Alignment): |
dendik@379 | 19 sequence_type = Sequence |
dendik@379 | 20 block_type = Block |
dendik@379 | 21 # alignment_type is defined at EOF, since name Alignment undefined yet |
dendik@379 | 22 |
dendik@379 | 23 Alignment.alignment_type = Alignment |
dendik@379 | 24 |
me@281 | 25 # vim: set ts=4 sts=4 sw=4 et: |