Я определил класс «ДНК». Теперь я пытаюсь создать функцию внутри этого класса, которая позволит мне переводить ДНК в РНК (что в основном означает замену любого «Т» на «U»). Мой класс ДНК унаследовал параметры из другого класса. Мне нужно использовать метод string.replace.Определение функции с string.replace в классе
class DNA(Seq):
def __init__(self, seq):
Seq.__init__(self, seq, pattern=(re.compile('[^ACGTacgt]')))
self.data = seq.upper()
def __repr__(self):
return self.data
Я хочу использовать функцию на dna-последовательности класса ДНК.
Edit: Я хочу, чтобы иметь возможность сделать следующее:
dna1 = DNA('ACCCGT')
rna1 = dna1.translate_to_RNA()
print rna1
где translate_to_RNA() является моя определенная функция и выход будет ('ACCCGU')
Edit2:
class Seq:
def __init__(self, seq, pattern):
if pattern.search(seq):
print " Warning : sequence contains illegal characters "
self.data = seq.upper()
def __getitem__(self, index):
return self.data[index]
def __len__(self):
return len(self.data)
import re
class DNA(Seq):
def __init__(self, seq):
Seq.__init__(self, seq, pattern=(re.compile('[^ACGTacgt]')))
self.data = seq.upper()
self.seq = seq
def __repr__(self):
return self.data
def translate_to_RNA(self):
new_string = self.seq("T","U")
rna1 = RNA(new_string)
return rna1
class RNA(Seq):
def __init__(self, seq):
Seq.__init__(self, seq, pattern=(re.compile('[^ACGUacgu]')))
self.data = seq.upper()
def __repr__(self):
return self.data
Вы прочитали документацию для string.replace? Эта функция сделает все, что вам нужно. – user3885927