在r中查找分裂序列的长度

时间:2016-06-22 05:07:56

标签: r

我想计算两种模式之间的字符数 例如:

seq="AATTGGCCATGCAATTGGCCATTAAA"
pattern="ATGC|CCAT"

我希望这些作品

"AATTGGCC" "AATTGG" "TAAA"

然后我想找到这些拆分的长度。

2 个答案:

答案 0 :(得分:1)

使用此

spilt_seq <- unlist(str_split(str_split("AATTGGCCATGCAATTGGCCATTAAA",pattern="ATGC")[[1]],pattern = "CCAT"))
split_seq

然后使用nchar来衡量长度

nchar(split_seq)

答案 1 :(得分:1)

我们可以进行for循环

for(nm in pat){
 seq <- gsub(nm, " ", seq)
}

res <- scan(text=seq, sep="", what="", quiet=TRUE)
res
#[1] "AATTGGCC" "AATTGG"   "TAAA"    
nchar(res)
#[1] 8 6 4

数据

seq="AATTGGCCATGCAATTGGCCATTAAA"
pat <- c("ATGC", "CCAT")