我有大量的 DNA 序列 {A,C,T,G}(总共 100,000 个列表,每个列表有 3000 个字符)。我需要成对分析这些列表,从第一个列表开始,然后将其与第二个、第三个、第四个、...、第 100,000 个进行比较。然后移动到第 2 个列表并将其与第 3 个、第 4 个、...、第 100,000 个等进行比较。
在每个成对比较中,我需要找到元素的唯一组合的索引。例如:
列表 1 =“A”、“C”、“A”、“G”、“T”、“A”、“C”、“T”、“C”。
列表 2 =“A”、“G”、“G”、“G”、“C”、“A”、“G”、“G”、“C”。
我想要的输出是:
AA = {1, 6}
CG = {2, 7}
AG = {3}
GG = {4}
TC = {5}
TG = {8}
抄送 = {9}
我曾尝试使用循环和语句对此进行编码Rcpp
,for
但if/else
结果非常慢。使用R
诸如apply, unique, etc.
似乎执行更慢的功能!我什至尝试使用整数对这些字符进行编码,但没有注意到改进。
只是想知道是否有人能想到一个更快的方法来做到这一点......
谢谢!