如何确定 DNA 序列列表中已知基序之间的平均距离
How to determine the average distance between known motif in a list of DNA sequences
所以我的问题是:我正在搜索序列内已知基序之间的平均距离,并将其扩展到序列列表...第一部分完成,第二部分(扩展到列表序列)是有问题的!所以,这是我做第一部分的方式:
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 中的所有列表...
预先感谢您的帮助。
凯文
这未经测试,但应该可以。 sapply
"climbs" 每个列表元素(我们也可以在这里使用 lapply
)。
sapply(df, FUN = function(x, motif) {
computeDistance(coordMotif(x, motif))
}, motif = motif)
结果将是一个向量。如果您想将其保留为列表,请使用 sapply(..., simplify = FALSE)
。 lapply
没有进行简化。将任何一种行为都视为一种方便。 :)
所以我的问题是:我正在搜索序列内已知基序之间的平均距离,并将其扩展到序列列表...第一部分完成,第二部分(扩展到列表序列)是有问题的!所以,这是我做第一部分的方式:
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 中的所有列表...
预先感谢您的帮助。
凯文
这未经测试,但应该可以。 sapply
"climbs" 每个列表元素(我们也可以在这里使用 lapply
)。
sapply(df, FUN = function(x, motif) {
computeDistance(coordMotif(x, motif))
}, motif = motif)
结果将是一个向量。如果您想将其保留为列表,请使用 sapply(..., simplify = FALSE)
。 lapply
没有进行简化。将任何一种行为都视为一种方便。 :)