gpt4 book ai didi

Python:查找字符串差异索引的有效方法

转载 作者:行者123 更新时间:2023-12-01 09:27:53 24 4
gpt4 key购买 nike

我有大量的 DNA 序列,格式如下:

//
BLOCK_1
AATTCAT
AGTTCAT
AATTCGT
//
BLOCK_2
AGAGGA
AGAGGA
AGAGGA

block 中的每一行对应一个样本。真实数据集每个序列行有 120 个字符,每个“ block ”有 250 个样本/行,总共大约有 10000 个这样的 block 。

我现在需要删除每个 block 中所有样本中相同的位置。所需的输出如下所示:

//
BLOCK_1
AA
GA
AG
//
BLOCK_2

通过为每行创建一个哈希列表并按照以下顺序快速删除所有序列都相同的 block :Python: determine if all items of a list are the same item 。然而,我现在正在努力寻找一种方法来有效地找到这些字符串中至少有一个不同的位置。

最佳答案

这是一种方法。请注意,这仅处理单个 block ,因此您必须扩展它以处理多个 block :

>>> block1 = ['AATTCAT', 'AGTTCAT', 'AATTCGT']
>>> [''.join(b) for b in zip(*(r for r in zip(*block1) if len(set(r)) > 1))]
['AA', 'GA', 'AG']

这基本上转置了二维数组,以便当同一行(之前在同一列)中的所有字母都相同时可以消除列表。然后重新转置结果。

关于Python:查找字符串差异索引的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50217893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com