我有兩個「BED」文件。每一個指定基因組中的一組區域(開始和結束列),並且這些文件中的每一個指定給定基因組區域的特徵(例如NRL和另一個返回這些區域的'可映射性')基於重疊合並2個基因組文件
它們是安排如下:
head(file1)
chr start end mappability
chr1 3000066 3000100 1.0000
chr1 3000100 3000130 0.5000
chr1 3000130 3000199 0.0625
chr1 3000199 3000277 0.0500
head(file2)
chr start end NRL
chr1 3000000 3000067 250
chr1 3000067 3000079 300
chr1 3000079 3000084 200
chr1 3000084 3000099 130
的問題是,這些文件是不同的實驗結果,而不是所有的都是兩個文件之間記錄的區域重疊......所以我需要找出哪些地區重疊。 ..
我對此的嘗試迄今爲止:
file1-read.table("file1.txt", sep='\t', header = F)
file2=read.table("file2.txt", sep='\t', header = F)
overlapping_regions<-function(file1, file2){
for(i in file1[,2]){
x<-seq(file1[i,2], file1[i,3])
for(j in file1[,2]){
y<-seq(file2[j,2], file2[j,3])
if(setequal(union(x, y), c(setdiff(x, y), intersect(x, y), setdiff(y, x)))){
####GET OVERLAP
}
}
}
}
與上述戰略的第一個問題是,我得到上述錯誤:
Error in seq.default(file1[i, 2], file1[i, 3]) :
「從」
不能NA,NaN或無窮
其次,我不知道這策略是正確的,因爲我希望每個文件的每一行都能與另一個進行比較,找到ANY區域重疊...
所以我想知道如果有人可以幫我一個盧比cript解析這些文件,以便我可以創建一個新文件,其中包含每個開始和結束之間指定列的重疊區域,並保留與每個原始文件相關的功能...
所以我希望我的輸出是這樣的:
head(files_merged)
chr overlap mappability NRL GC_content more_features......
chr1 start-end 1.0000 250
chr1 start-end 0.5000 300
chr1 start-end 0.0625 200
我問這與嘗試應用機器學習算法來嘗試預測基因組特徵。
我可以看到(很明顯)我的計劃如何存在缺陷,因爲一個文件中指定的區域可能比另一個文件中的區域小得多。因此,我也開始建議更好的方法來做到這一點?
哦真棒謝謝我沒有意識到它被回答 – Chris