查找部分匹配的字符串

时间:2021-05-25 07:58:42

标签: r

我有一个字符向量列表如下:

>seq
[[1]]
[1] "**GTCAGCCGATCGGGCGTCAG**TCGAACGGGGGGGGTAACTTGTCCGGGATCATGCGTCCGGCAAACCAAAGAGCCAACTGGGTTAAGAACGTGAGCCGGAGCCCACCCCACCTTTGCACTGCTGGGATTTGGAGGTTTCCT"
[[2]]
[1] "**GTCAGCCGATCGGGCGTCAG**TGGACAACAATCGTTTGACTGGCGCAGTCGTATCCGTGTACCGGCATCGGTCATAGGACTGAGCGACAAAATACATTTAAGGCGTTTAAAACCGGTCCAACTGGGATTTGGAGGTTTCCT"

我的原始列表将包含更多元素,但为了保持精确,我只突出显示了 2 个元素。

我想在列表中找到所有这些字符串的位置,它们完全或部分匹配粗体字符。当我使用 grep 进行搜索时,它会查找完全匹配的内容。例如,

grep("GTCAGCCGATCGGGCGTCAG",seq)

将它们的位置返回为 1,2,但我想以这样一种方式进行搜索,即使字符串包含略有不同的字符,它们仍然会返回它们各自的位置。

例如,如果我按照以下顺序进行搜索,其中第 7 位的 C 已更改为 T,第 17 位的 T 已更改为 A,我仍然应该能够恢复列表中的字符串位置为1,2

     "GTCAGCTGATCGGGCGACAG"

ClustalW 是 R 中众所周知的对齐工具。有没有办法使用 clustalW 或任何其他方式来实现这一点?

0 个答案:

没有答案