所以有我的问题:我正在搜索序列中已知主题之间的平均距离,并将其扩展到序列列表......第一部分完成,第二部分(扩展到序列列表) )是有问题的!所以,这就是我在做第一部分的方式:
source("motifOccurrence.R") #https://www.r-bloggers.com/calculate-the-average-distance-between-a-given-dna-motif-within-dna-sequences-in-r/
library("seqinr")
df <- readDNAStringSet("X.fasta")
df2 <- df[[1]]
motif <- c("T", "C", "C", "A")
coord <- coordMotif(df2, motif)
motidist <- computeDistance(coord)
motidist
[1] 152
似乎我的fasta列表的第一个序列在两个TCCA基序之间的平均距离为152个核苷酸。并且,我不知道如何将自动化到我在df中的所有列表......
感谢提前帮助。
凯文
答案 0 :(得分:0)
这是未经测试的,但应该有效。 sapply
&#34;攀登&#34;每个列表元素(我们也可以在这里使用lapply
。)
sapply(df, FUN = function(x, motif) {
computeDistance(coordMotif(x, motif))
}, motif = motif)
结果将是一个向量。如果您想将其保留为列表,请使用sapply(..., simplify = FALSE)
。 lapply
没有简化。将这两种行为视为一种便利。 :)