序列比对算法

本文介绍了使用Li的代码实现序列比对,该算法基于Needleman-Wunsch。通过插入垂直条来显示对齐过程中添加的空格。展示了在Finnegans Wake和Finnegans Ewok开头段落的比对结果。虽然能轻松比较前四段,但在处理第五段时遇到挑战,因为各版本开头高度相似。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Li的对齐代码使用字符列表进行输入和输出。我写了一个简单的包装器来接受字符串和输出字符串。

    来自 对齐 导入 Needleman,Hirschberg
 
    def  compare(str1,str2):
        seq1 = list(str1)
        seq2 = list(str2)
        对于 算法  [ 的Needleman(),海森堡()]:
            a,b = 算法。对齐(seq1,seq2)
            print“”。join(a))
            print“”。join(b))
            打印()

代码插入垂直条以指示为对齐而添加的空格。这是在Finnegans Wake和模仿Finnegans Ewok的开头段落中使用Needleman-Wunsch算法的结果。

    ||| riverrun,过去的Ev | e | 和亚当'|||| s,
    mov | i | er | un,past || new和||||| hope,
 
    从swe | rv || e of shore |||| 弯曲的
    从s || tr | ike of |||||回到弯曲
 
    b ||| ay,带给我们一个共同体
    | jeday,带给我们一个共同体
 
    vic | u ||再循环回来
    |||卢卡斯的再循环回来了
 
    H | owth Ca || stle |||| 和E | nvi || r | ons。
    | fo |||||| rest || moon and | en || dor。||||

我在上一篇文章中提到我可以很容易地比较前四段,但是我在调​​整第五段时遇到了一些麻烦。每个版本的第五段开头非常相似:

    Bygme | | ster  Fi | nnega | | ñ,的 的 
    Bygm | onster  | | 安| | 类似,的 的 
 
    Stutte | | r | | | | | | | ING  手,˚F | 重新| emen '| s
    | | | | | | Throatchokin |  手,| cemen | 
 
    茂- RER,住  了 最广泛的 方式
    茂- RER,住  了 最广泛的 方式
 
    immarginable   他的 rushlit
    immarginable   他的 rushlit
 
    toofar - | | | 回来  宅院 前
    toofar |  -  之前回来 用于 消费 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值