使用Hamming距离将一系列DNA序列组合成相似的序列(Python)?

2024-09-26 17:59:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我从一个FASTQ文件中提取了一个DNA序列的列表,目前它被存储在一个列表中。在

sequences = ['ATCT','ATTT','ACGG','ACCG','ACGT','AGGT','ATGC','ATCC','AGTT']

我想把序列聚类到一个元组列表中,这样元组中的每个序列都是相似的。在

我最初考虑使用汉明距离(代码如下所示)将相似的序列聚集在一起,但如果我正确理解汉明距离,我将不得不使用其中一个序列作为参考,将汉明距离与另一个序列进行比较,根据我的参考序列,我最终会得到不同的结果聚类(例如:如果我使用“ACGG”作为参考序列,并将其与列表中的其他序列进行比较,如果我选择汉明距离1作为标准,那么“ACCG”和“ACGT”将与“ACGG”聚集在一起。相反,如果我使用'ACGG'作为我的参考序列,'ACGG'将与它聚集在一起,而不是'ACGT',因为'ACGT'与'acg'相比有2个汉明距离。)

^{pr2}$

对于使用汉明距离的缺点,我考虑过使用Levenshtein比率(来自Levenshtein模块)或fuzzyfuzzy比率(来自fuzzyfuzzy模块)来聚类序列。在

每种方法的优缺点是什么?我应该如何设置代码以将相似的序列聚集在一起?在


Tags: 模块文件代码距离列表序列聚类fastq

热门问题