Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/diff/5f9e9c4e9ed6/allpy/dna.py
Дата изменения: Unknown
Дата индексирования: Wed Feb 27 11:17:09 2013
Кодировка:
allpy: allpy/dna.py diff

allpy

diff allpy/dna.py @ 930:5f9e9c4e9ed6

Added dna.Sequence.reverse_complemented()
author Daniil Alexeyevsky <dendik@kodomo.fbb.msu.ru>
date Mon, 21 Nov 2011 18:39:34 +0300
parents df571a5233fb
children 4a9b4503a027
line diff
     1.1 --- a/allpy/dna.py	Mon Nov 21 18:05:14 2011 +0300
     1.2 +++ b/allpy/dna.py	Mon Nov 21 18:39:34 2011 +0300
     1.3 @@ -15,6 +15,25 @@
     1.4  class Sequence(base.Sequence):
     1.5      types = dna
     1.6  
     1.7 +    def reverse_complemented(self):
     1.8 +        """Return a new sequence, reverse-complement to self.
     1.9 +
    1.10 +        Name of the sequence is name of self with apostrophe added.
    1.11 +        """
    1.12 +        from_monomers = self.types.Sequence.from_monomers
    1.13 +        from_code1 = self.types.Monomer.from_code1
    1.14 +        complement = {'A': 'T', 'T': 'A', 'C': 'G', 'G': 'C'}
    1.15 +        complemented_monomers = [
    1.16 +            from_code1(complement.get(monomer.code1, 'N'))
    1.17 +            for monomer in self
    1.18 +        ]
    1.19 +        return from_monomers(
    1.20 +            reversed(complemented_monomers),
    1.21 +            self.name + "'",
    1.22 +            self.description,
    1.23 +            self.source
    1.24 +        )
    1.25 +
    1.26  class Alignment(base.Alignment):
    1.27      types = dna
    1.28