前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生物信息学算法之Python实现|Rosalind刷题笔记:006 计算点突变数

生物信息学算法之Python实现|Rosalind刷题笔记:006 计算点突变数

作者头像
简说基因
发布2020-12-14 14:11:04
7410
发布2020-12-14 14:11:04
举报
文章被收录于专栏:简说基因简说基因简说基因

汉明距离的定义:对于两条长度相等的字符串来说,汉明距离指的是它们之间不相同的字符数。对于两条 DNA,则是它们之间的点突变数目。

给定:两条长度相等的 DNA 序列(不超过 1kb)。

需得:计算汉明距离。

示例数据

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT

示例结果

7

Python 实现

Counting_Point_Mutations.py

import sys

def hamm(s1, s2):
    return sum([a != b for a, b in zip(s1, s2)])

def test():
    s1 = 'GAGCCTACTAACGGGAT'
    s2 = 'CATCGTAATGACGGCCT'
    return hamm(s1, s2) == 7

if __name__ == '__main__':
    if not test():
        print("hamm: Failed")
        sys.exit(1)

    lines = []
    with open('rosalind_hamm.txt') as fh:
        lines = fh.readlines()
    mutations = hamm(lines[0], lines[1])
    print(mutations)

汉明距离的计算:

  1. zip()函数,将两条序列对应的元素打包成一个个元组;
  2. 通过列表展开式判断对应元素是否不同;
  3. sum()函数计算不相同的字符数,即为汉明距离。

Problem

Figure 1. The Hamming distance between these two strings is 7. Mismatched symbols are colored red.

Given two strings and of equal length, the Hamming distance between and , denoted , is the number of corresponding symbols that differ in and . See Figure 2.

Given: Two DNA strings and of equal length (not exceeding 1 kbp).

Return: The Hamming distance .

Sample Dataset

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT

Sample Output

7

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 简说基因 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例数据
  • 示例结果
  • Python 实现
  • Problem
  • Sample Dataset
  • Sample Output
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档