我已经定义了一个类“DNA”。我现在试图在该类中创建一个函数,使我可以将DNA翻译成RNA(这基本上意味着用“U”代替任何“T”)。我的DNA类继承了另一个类的参数。 我必须使用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类的dna序列上的函数。
编辑: 我希望能够做到以下几点:
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 2014-10-06 23:53:26