首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R中使用agrep输出特定长度的字符串

如何在R中使用agrep输出特定长度的字符串
EN

Stack Overflow用户
提问于 2015-10-31 20:41:40
回答 1查看 134关注 0票数 0

我有一堆DNA序列。

我想要匹配序列的一部分,并且想要返回直到特定长度的匹配

dataframe df包含以下列:

V1和V2

代码语言:javascript
复制
>chr1:61695-62229      aattccaagagtattattgcaccaaaaggcatggacttaaaattcttgatacatgatttcaaaatattttctttaaggtttgaatcagtctatattccctccagcagcgtataaaagtgccaatttctctgatccttagccagtttgggtaataataattgtaaaacttttttttctttttttttgagacagagtctccctctgtcgccaggctgaagtgcagtggcgcaatctcggctcactgcaacctccgcctcccggggtcaagctattctcctgcctcagcctcccaagtagctgggactacaggcatgcaccaccatgcccagctaatttttgttatttttagtagagatggagtttccccatgttggacaggatggtctcgatctcttgacctcgtgatccaccctcctcggcctcccaaagtgctgggataacaggcgtgaacaaccatgcccggcctgtaaaactttttcctaatttaacagaaaaataatagtattatattttatcatatttctttgatttcta

>chr1:101718-102194   taaaaataaatgtattaagtatgaacaacaaaaaagctagtaaaggttgaacaacaactatccttaggaaagtggaaataatgtattaataaatatgaaagcaggctagccacggtgactcacatctgtaatcccagcactttgggaggctgaggcaggcagatcacctgaggtcaggagttccagaccagcctggccaacatggtgaaatcttgtctctcctacaaatacaaaaactagccaggcttggttgtgcactcctgtaattcgagctacttgggaggctgaggcaggagaatctcttgaacctgagaggcagaggttgcagtgagccaagatcatgccactgcactccagctggggcaacagagtgacactccatctcaaaataaataaataagaaagcagaaactaataaactagaaaacagaaacatagaactaatttataaatcaaagcactatgccttgaaaaga

我已经使用了agrep来获得匹配。

代码语言:javascript
复制
RepeatAlusSequencesdfMatch <- RepeatAlusSequencesdf[agrep("aacctcaaagactggcctca", RepeatAlusSequencesdf[,2],ignore.case = TRUE, max.distance = 0.3), ]

但我还想返回匹配结束时146个字符的长度。目前它给我的是我不能使用的整个序列

EN

回答 1

Stack Overflow用户

发布于 2015-10-31 22:15:19

请看我上面的评论。我不认为你可以通过agrep来实现你想要做的事情。如果您尝试模糊匹配的DNA序列具有可预测的核苷酸插入/删除/替换的数量和位置,则只需使用一个(或多个)带有捕获组的正则表达式来提取所需的内容。

如果差异是不可预测的,并且您确实需要模糊匹配,则可以使用类似以下的蛮力算法:

  1. 将你的每个DNA字符串分解成随机的位置,比如产生不同的146个核苷酸长的“阈值”max.distance,对结果序列运行
    1. ,并选择匹配的序列。
    2. 从上面的集合中选择最佳匹配项,方法是使用连续变小的max.distances运行
    3. ,直到得到您感兴趣的匹配项。

你选择的146个核苷酸序列越不同,你得到的结果就越准确。如果你想找到最佳匹配,可以使用穷举搜索,从头开始遍历每个DNA序列,将其分解为146个核苷酸片段,然后运行上面的算法,然后从开始留出一个核苷酸,选择下一个分区,依此类推,直到最后。

希望这对你有所帮助,或者提供更好的想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33451708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档