ゲノムの特定の場所またはむしろ範囲で起こる突然変異を数える必要があります。突然変異はゲノム位置(染色体および塩基対、例えばChr1、10658324)を有する。範囲またはスポットはそれぞれ、ゲノム中の所与の位置の10000塩基対の上流および下流(+ - )として定義される。突然変異の位置および「スポット」の位置の両方がデータフレームに記憶される。データフレームに与えられたゲノム領域の周りの出現数
例:
set.seed(1)
Chr <- 1
Pos <- as.integer(runif(5000 , 0, 1e8))
mutations <- data.frame(Pos, Chr)
Chr <- 1
Pos <- as.integer(runif(50 , 0, 1e8))
spots <- data.frame(Pos, Chr)
だから私は求めています質問は:「スポット」に指定した位置の周り-10k塩基対+存在しているどのように多くの変異。 (例:スポットが100kの場合、範囲は90k-110kになります) 実際のデータには24の染色体がすべて含まれていますが、ここでは簡単にするために1つの染色体に焦点を当てることができます。 最終データには、「スポット」とその近傍の突然変異の数、理想的にはデータフレームまたはマトリックスが含まれている必要があります。
アドバイスやアドバイスを事前にいただきありがとうございます。
は、ここで最初の試みだが、私はかなりSHURE午前、それを行う方法よりエレガントな方法があります。
w <- 10000 #setting range to 10k basepairs
loop <- spots$Pos #creating vector of positions to loop through
out <- data.frame(0,0)
colnames(out) <- c("Pos", "Count")
for (l in loop) {
temp <- nrow(filter(mutations, Pos>=l-w, Pos<=l+w))
temp2 <- cbind(l,temp)
colnames(temp2) <- c("Pos", "Count")
out <- rbind(out, temp2)
}
out <- out[-1,]
あなたがRのコミュニティからの助けを取得したい場合、これは、非常に具体的であるが、それはあります – Learner
なぜ連続分布からの擬似乱数を使用して、離散(整数)分布で何が起きているのかをシミュレートしていますか?あなたは "正しい"答えを与えることができる例を掲示するべきです。 –
有用なセット操作を提供するゲノム範囲を見てください:https://bioconductor.org/packages/release/bioc/html/GenomicRanges.html – Drey