字符串匹配之二:DNA序列匹配度的计算

这篇博客探讨了如何使用Python进行DNA序列匹配,通过得分矩阵计算两个蛋白质序列的匹配度。局部匹配结果显示700多的得分,通过与公共蛋白质序列对比,确认匹配部分可能为蛋白质。进一步运用统计假设检验,通过打乱序列并重复匹配验证,得出700多的得分远超随机匹配的可能性,证实了匹配的显著性。
摘要由CSDN通过智能技术生成

老师给出了两个DNA序列,分别是人类的致盲蛋白质序列和果蝇的致盲蛋白质序列,也给出了匹配评分矩阵,比如A与T匹配,得分-5,A与A匹配得分10,诸如此类。

有了上篇文章的四个模块,简直就是手到擒来:

def protein_alignment(scoring_matrix):

    human_protein = read_protein('HumanEyelessProtein.txt')
    fruitfly_protein = read_protein('FruitflyEyelessprotein.txt')
    
    alignment_matrix = compute_alignment_matrix(seq_x=human_protein, seq_y=fruitfly_protein, scoring_matrix=scoring_matrix, global_flag=False)
    score, align_human, align_fruitfly = compute_local_alignment(seq_x=human_protein, seq_y=fruitfly_protein, scoring_matrix=scoring_matrix, alignment_matrix=alignment_matrix)
    return score, align_human, align_fruitfly

稍微写的有点啰嗦,如果函数直接传入参数的话,代码其实是很简单的。这里是为了区分开,一目了然。

蛋白质序列和得分矩阵在github中有。

局部匹配结果得分700多,应该是个很大的数值了,具体的验证稍后给

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值