2016-09-28 6 views
0

私の問題です:配列内の既知のモチーフ間の平均距離を検索し、これを配列のリストに拡張します。最初の部分が完了し、2番目の部分(シーケンスのリストに拡張)が問題の1つです!だから、ここで私は最初の部分をやっている方法:DNA配列リスト中の既知のモチーフ間の平均距離を調べる方法

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リストの最初のシーケンスは2つのTCCAモチーフの間に152個のヌクレオチドの平均距離を持っているように見えるのです。そして、私はどのようにdfのすべての私のリストにこれを自動化しているのかわかりません...

おかげさまで助けてくれてありがとう。

ケベック

答えて

0

これはテストされていませんが、動作するはずです。 sapplyは、各リスト要素を「登る」(lapplyも使用可能)。

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

結果はベクトルになります。それをリストのままにしたい場合は、sapply(..., simplify = FALSE)を使用してください。簡略化はlapplyで行われません。いずれかの行動を便宜的に考える。 :)

+0

本当にありがとう!完璧に動作します! –

+0

こんにちは、私は新しい問題を持っています...同じ配列リスト内の2つの異なるモチーフ間の平均距離を以前より計算したいと思います。あなたはこれをどうやって管理するかについていくつか手がかりを持っています –

関連する問題