ssssmiles 2019-03-12 08:28
浏览 361

、请设计一个用于保存和处理DNA序列的类DNASequence,该类具有以下特征和功能:

3、请设计一个用于保存和处理DNA序列的类DNASequence,该类具有以下特征和功能:
 一个翻译表,定义为类属性,名为transcription_table,类型是字典,用于将DNA符号A、T、G、C分别转换为对应的符号,即A到U、T到A、G到C、C到G。
 一个限制酶对照表,定义为类属性,名为enz_dict,类型是字典。所谓限制酶,指的是识别特定DNA序列并在识别区内产生截断的蛋白质。本题只关注两种限制酶,一个是’EcoRI’,识别’ GAATTC’序列,'EcoRV',识别'GATATC'序列。
 构造函数__init__(self, seqstring)的参数seqstring为一个字符串,代表一个DNA序列,DNASequence有一个对象属性seqstring保存该字符串。要求将参数seqstring中所有字符转换为大写形式再保存到对象属性seqstring中。
 有一个对象方法transcription(self),将对象属性seqstring保存的DNA序列,逐符号翻译为对应符号的DNA序列,如”ATG”翻译为”UAC”。
 一个对象方法restriction(self, enz),enz为限制酶名称,类型为字符串。该方法的功能是统计对象属性seqstring中,所给限制酶对应的DNA序列的出现次数。如果不含限制酶对应的DNA序列,返回0。
 重载len运算,即重新定义特殊函数__len__(self),用于返回对象属性seqstring的长度。
 注意:本题不考虑__init__参数seqstring中字符是否合法,默认所给字符都是ATGC之一。
运行示例:

virus = DNASequence(’atggagagccttgttcttggtgtcaa’)
virus.seqstring
’ATGGAGAGCCTTGTTCTTGGTGTCAA’
virus.transcription()
’ UACCUCUCGGAACAAGAACCACAGUU’
other_virus = DNASequence(’atgatatcggagaggatatcggtgtcaa’)
other_virus.restriction(’EcoRV’)
2
len(virus)
26
代码框架:请将该框架拷贝出去,保存在DNASequence.py文件中。如要测试,请在另外的文件里写测试程序。DNASequence.py只能包含DNASequence类的实现代码,不能有其他的测试代码。提交答题时,只提交DNASequence.py。如有其他代码影响了老师改卷,由此造成的扣分后果,由自己承担。
class DNASequence:
transcription_table = {} #翻译表
enz_dict = {} #限制酶对照表
def init(self, seqstring):
#请在下面编写程序

    #请勿修改下面的程序

def __len__(self):
    # 请在下面编写程序

    # 请勿修改下面的程序

def restriction(self, enz):
    # 请在下面编写程序

    # 请勿修改下面的程序

def transcription(self):
    # 请在下面编写程序

    # 请勿修改下面的程序
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料
    • ¥15 使用R语言marginaleffects包进行边际效应图绘制