我从一个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模块)来聚类序列。在
每种方法的优缺点是什么?我应该如何设置代码以将相似的序列聚集在一起?在
目前没有回答
相关问题 更多 >
编程相关推荐