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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题
    • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
    • ¥15 YoloV5 第三方库的版本对照问题
    • ¥15 请完成下列相关问题!