Python 如何拼凑DNA的短片段?序列文件中的匹配碱基对

Python 如何拼凑DNA的短片段?序列文件中的匹配碱基对,python,python-3.x,matching,short,Python,Python 3.x,Matching,Short,我正在尝试拼凑DNA短片段。我需要将大约3个碱基对与其他短读片段匹配。(碱基对=例如TCG(基本上只有3个字母)) 我已经尝试过正则表达式,但是当我尝试读取一个包含大量短读的文件时,我需要使核苷酸成为一个变量,我认为正则表达式不能做到这一点。我有一个包含一堆短读的文件,我需要将这些碱基对与其他具有相同碱基对序列的短读进行匹配 例如,我在一个文件中有两行短读: AAAGGGTTCCCGGGAAATCA CCCGGGAAATCAGGAAATTT 我需要的结果是: AAAGGGTTCCCGGGAAAT

我正在尝试拼凑DNA短片段。我需要将大约3个碱基对与其他短读片段匹配。(碱基对=例如TCG(基本上只有3个字母))

我已经尝试过正则表达式,但是当我尝试读取一个包含大量短读的文件时,我需要使核苷酸成为一个变量,我认为正则表达式不能做到这一点。我有一个包含一堆短读的文件,我需要将这些碱基对与其他具有相同碱基对序列的短读进行匹配

例如,我在一个文件中有两行短读:

AAAGGGTTCCCGGGAAATCA

CCCGGGAAATCAGGAAATTT

我需要的结果是:

AAAGGGTTCCCGGGAAATCAGGAATTT


如何将匹配的行匹配并粘贴到其他行的顶部,以便在相似点处合并它们?

您只需在第二个序列中找到匹配序列的索引并将它们连接起来:

seq1 = 'AAAGGGTTTCCCGGGAAATCA'
seq2 = 'CCCGGGAAATCAGGGAAATTT'
match_pair_count = 5
match_seq = seq1[-match_pair_count:]
match_index = seq2.rfind(match_seq)
combined_seq = seq1[:-match_pair_count] + seq2[match_index:]

注意:如果需要捕捉匹配序列没有出现在第二个序列中的情况,则需要添加代码来处理
match_index==-1

每个子序列的直接解决方案计算5尾和5头。然后尝试所有与deapth first search的组合

更复杂的绘制图形的方法,其中有向边用共线字母的数量标记(例如4-9)。应用旅行商解决方案或其他适当的算法来寻找所有顶点的最短路径

我确信有很多适合于基因组推断的工具和技术

若要查找两个序列之间的距离,请将一个序列倒置,然后查找最长的公共前缀

def接头匹配(序号1、序号2、最小值=4): 尾部=序列2[:4] 对于范围内的i(长度(序号1),4,-1) 如果seq1.开始使用(seq2[n-i:]
返回“%s%s”(seq2[:n-i],seq1)

大约5是多少?嗨,阿尔帕,你的描述很短,你还没有告诉我们你尝试了什么。甚至很难说出你想做什么。我能说的最好的一点是,你正在尝试将你的短读与长读对齐。这不是我建议你手工做的事情,而是一个正在进行的研究领域,寻找最好的方法。我建议你看看社区中可用的工具来完成这项任务。假设你真的在处理DNA数据,有很多非常专业的工具来完成这项工作(并允许误读)。尝试或搜索“序列程序集”