View source: R/functions_GR_ovlerlaps.R
| gr_distance_overlap | R Documentation |
Find items in b within a certain distance (max_dist) all items in a.
gr_distance_overlap(a, b, max_dist)
a |
The left side of output, regions that get extended when applying max_dist. |
b |
The right side of output |
max_dist |
Maximum distance allowed from a to b. |
Items in a will be repeated for every item in b they overlap with.
a is the left side of output and the regions that extended when applying max_dist.
a GRanges of b appended to regions they overlap with from a.
max_distance = 5e4
np_file = "/slipstream/galaxy/uploads/working/qc_framework/output/MCF7_H3K4ME3_R1/MCF7_H3K4ME3_R1_peaks.narrowPeak"
np_gr = seqsetvis::easyLoad_narrowPeak(np_file)[[1]]
ref_gr = rtracklayer::import.gff("~/gencode.v36.annotation.gtf", feature.type = "gene")
pr_gr = GenomicRanges::promoters(ref_gr, 1)
olap_gr = gr_distance_overlap(pr_gr, np_gr, max_distance)
#not the impact of reversing the inputs
olap_gr.flip = gr_distance_overlap(np_gr, pr_gr, max_distance)
wd = "/slipstream/home/sophiakogut/IK_peaks"
np_file2 = file.path(wd, "IK_common.narrowPeak")
mir_file = file.path(wd, "DE_mirna_primary.txt")
# This ain't a narrowPeak file!
np_gr2 = seqsetvis::easyLoad_bed(np_file2)[[1]]
mir_gr = seqsetvis::easyLoad_bed(mir_file)[[1]]
mir_olaps = gr_distance_overlap(mir_gr, np_gr2, 5e4)
mir_olaps
# writing the output
df = as.data.frame(mir_olaps)
df = df[, colnames(df)[c(1:3, 6, 7, 5, seq(8, ncol(df)))]]
# this file is very similar to a bed file and will work with bedtools if you remove the first line with column names
# the first 6 columns are standard bed format
write.table(df, "mir_nearby_peaks.txt", sep = "\t", quote = FALSE, row.names = FALSE)
# load it back into R like this
loaded_gr = GRanges(read.table("mir_nearby_peaks.txt", header = TRUE))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.