繁体   English   中英

从DNA字符串集中的字符串中选择序列

[英]selecting sequence from string in DNA stringset

我正在分析一个大的DNA stringSet,如下所示:

SEQUENCE

A DNAStringSet instance of length 6
     width seq                                                                                                          names               
[1]    253 GAACAGCATGAATGTTAAAACTGAAATGGATGATGATGATGATGATGATGATG...GTATTATGGCATCATGATGAATGATGGTTAGGTTTTCAGAAAAAGCAGAAGA C3
[2]    158 TATATATATATAGTCAATTCGAGGATGTTAGATCGACAATGGGGATTATAGAA...AGCAAGAATTAGCAGGACCACTCCGGATACTATTCCAGAGTTTCCTTGCAAA B4
[3]    619 ATAGACATACACACAAATATTTTTATATCACATGCATACCCATACACACACAT...TCATATATAGACACAAATATATATATACATATTTATACATATATATATATAT A0
[4]    359 TCACCAGTGGCAGCCGCGGCTACAGCAAAAGGTGGCCGGCCAAGGAGTGTCGT...GGTGTCGCGTGCCCTTGTGGACACGGGCTGTACAACGACCCTGATGACTCCG A1
[5]    239 GAAGTGGTAAAGAGTGCGATGCGCTGAAAAAAGAGAGAACAGTACTTGAAATG...CCACACTTCAAGTACTGTTCTCTCTTTTTTCAGCGCATCGCACTCTTTACCA A2
[6]    212 CAAAAAGAAGGTTATGGTGACTGTTTGGTGGTGTACTGCTGGACCCATCCCCT...ATAGGGCCAATCATTCTTCATGACAATGCTCGACCACACGTTTTACTAATGA A3
... .... .....

好吧,假设我需要在名称为A1的字符串中找到特定的序列,例如GCGGCTACAGCAAAAGGTGGCCGGCCAAGG ,我不知道该如何获取。 我已经试过了:

s1= SEQUENCE[4]
  A DNAStringSet instance of length 1
    width seq                                                                                                           names               
[1]   359 TCACCAGTGGCAGCCGCGGCTACAGCAAAAGGTGGCCGGCCAAGGAGTGTCGT...AGGTGTCGCGTGCCCTTGTGGACACGGGCTGTACAACGACCCTGATGACTCCG A1

现在,这是一个简单的示例,在该示例中,我可以看到名称A1对应于字符串[4] ,但是如果仅知道超过10000个字符串中的名称,则无法执行此操作。 无论如何,我只想获取序列,而不是名称,而不是宽度,但是我不知道如何从此字符串集中提取序列。 你能帮助我吗?

一个基本的R选项是使用grepl 作为原始数据的较小版本,我正在使用以下方法:

sequences <- c("GAACAGCATG", "TATATATATA", "ATAGACATAC")
sequences[grepl("GAACA", sequences)]

[1] "GAACAGCATG"

如果您正在使用数据框存储序列信息,请使用以下方法:

df[,grepl(df$seq, "GCGGCTACAGCAAAAGGTGGCCGGCCAAGG")]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM