Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/raw-rev/5f9e9c4e9ed6
Дата изменения: Unknown
Дата индексирования: Tue Oct 2 08:02:23 2012
Кодировка:

# HG changeset patch
# User Daniil Alexeyevsky
# Date 1321889974 -10800
# Node ID 5f9e9c4e9ed695209346a94467a57b7c20f44fe7
# Parent 73422710e06ed8e6ead59c488a651998fcfa9527
Added dna.Sequence.reverse_complemented()

diff -r 73422710e06e -r 5f9e9c4e9ed6 allpy/dna.py
--- a/allpy/dna.py Mon Nov 21 18:05:14 2011 +0300
+++ b/allpy/dna.py Mon Nov 21 18:39:34 2011 +0300
@@ -15,6 +15,25 @@
class Sequence(base.Sequence):
types = dna

+ def reverse_complemented(self):
+ """Return a new sequence, reverse-complement to self.
+
+ Name of the sequence is name of self with apostrophe added.
+ """
+ from_monomers = self.types.Sequence.from_monomers
+ from_code1 = self.types.Monomer.from_code1
+ complement = {'A': 'T', 'T': 'A', 'C': 'G', 'G': 'C'}
+ complemented_monomers = [
+ from_code1(complement.get(monomer.code1, 'N'))
+ for monomer in self
+ ]
+ return from_monomers(
+ reversed(complemented_monomers),
+ self.name + "'",
+ self.description,
+ self.source
+ )
+
class Alignment(base.Alignment):
types = dna