如何确定DNA序列列表中已知基序之间的平均距离

时间:2016-09-28 09:30:12

标签: r distance dna-sequence

所以有我的问题:我正在搜索序列中已知主题之间的平均距离,并将其扩展到序列列表......第一部分完成,第二部分(扩展到序列列表) )是有问题的!所以,这就是我在做第一部分的方式:

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中的所有列表......

感谢提前帮助。

凯文

1 个答案:

答案 0 :(得分:0)

这是未经测试的,但应该有效。 sapply&#34;攀登&#34;每个列表元素(我们也可以在这里使用lapply。)

sapply(df, FUN = function(x, motif) {
  computeDistance(coordMotif(x, motif))
}, motif = motif)

结果将是一个向量。如果您想将其保留为列表,请使用sapply(..., simplify = FALSE)lapply没有简化。将这两种行为视为一种便利。 :)