BiocManager::install('chipseq')
BiocManager::install('chipseq')
For storing and manipulating genomic intervals and variables defined along a genome
library(GenomicRanges)
gr = GRanges( seqnames = c("chr1", "chr1", "chr2", "chr3"), ranges = IRanges(start = 1:4, end = 10:13, names = head(letters,4)), strand = c("-", "+", "+", "-"))
gr
GRanges object with 4 ranges and 0 metadata columns: seqnames ranges strand <Rle> <IRanges> <Rle> a chr1 1-10 - b chr1 2-11 + c chr2 3-12 + d chr3 4-13 - ------- seqinfo: 3 sequences from an unspecified genome; no seqlengths
gr[2]
GRanges object with 1 range and 0 metadata columns: seqnames ranges strand <Rle> <IRanges> <Rle> b chr1 2-11 + ------- seqinfo: 3 sequences from an unspecified genome; no seqlengths
gr[2]
GRanges object with 1 range and 0 metadata columns: seqnames ranges strand <Rle> <IRanges> <Rle> b chr1 2-11 + ------- seqinfo: 3 sequences from an unspecified genome; no seqlengths
gr[2:4]
GRanges object with 3 ranges and 0 metadata columns: seqnames ranges strand <Rle> <IRanges> <Rle> b chr1 2-11 + c chr2 3-12 + d chr3 4-13 - ------- seqinfo: 3 sequences from an unspecified genome; no seqlengths
start(gr[2])
[1] 2
end(gr[2])
[1] 11
strand(gr[2])
factor-Rle of length 1 with 1 run Lengths: 1 Values : + Levels(3): + - *
gr[seqnames(gr)=="chr1"]
GRanges object with 2 ranges and 0 metadata columns: seqnames ranges strand <Rle> <IRanges> <Rle> a chr1 1-10 - b chr1 2-11 + ------- seqinfo: 3 sequences from an unspecified genome; no seqlengths
length(gr)
[1] 4
length(gr)
[1] 4
names(gr)
[1] "a" "b" "c" "d"
length(gr)
[1] 4
names(gr)
[1] "a" "b" "c" "d"
width(gr)
[1] 10 10 10 10
coverage(gr)
RleList of length 3 $chr1 integer-Rle of length 11 with 3 runs Lengths: 1 9 1 Values : 1 2 1 $chr2 integer-Rle of length 12 with 2 runs Lengths: 2 10 Values : 0 1 $chr3 integer-Rle of length 13 with 2 runs Lengths: 3 10 Values : 0 1
run length encoding: a way of condensing ordered values into a smaller package
gum = c(T,T,T,T,F,F,F,T,T,T) gum
[1] TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE
run length encoding: a way of condensing ordered values into a smaller package
gum = c(T,T,T,T,F,F,F,T,T,T) gum
[1] TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE
rle.gum = rle(gum) rle.gum
Run Length Encoding lengths: int [1:3] 4 3 3 values : logi [1:3] TRUE FALSE TRUE
coverage(gr)
RleList of length 3 $chr1 integer-Rle of length 11 with 3 runs Lengths: 1 9 1 Values : 1 2 1 $chr2 integer-Rle of length 12 with 2 runs Lengths: 2 10 Values : 0 1 $chr3 integer-Rle of length 13 with 2 runs Lengths: 3 10 Values : 0 1
gr
GRanges object with 4 ranges and 0 metadata columns: seqnames ranges strand <Rle> <IRanges> <Rle> a chr1 1-10 - b chr1 2-11 + c chr2 3-12 + d chr3 4-13 - ------- seqinfo: 3 sequences from an unspecified genome; no seqlengths
gr2 = GRanges( seqnames = c("chr1", "chr1", "chr2", "chr3"), ranges = IRanges(start = 1:4, end = 10:13, names = tail(letters,4)), strand = c("-", "+", "+", "-"))
gr2 = GRanges( seqnames = c("chr1", "chr1", "chr2", "chr3"), ranges = IRanges(start = 1:4, end = 10:13, names = tail(letters,4)), strand = c("-", "+", "+", "-")) gr2
GRanges object with 4 ranges and 0 metadata columns: seqnames ranges strand <Rle> <IRanges> <Rle> w chr1 1-10 - x chr1 2-11 + y chr2 3-12 + z chr3 4-13 - ------- seqinfo: 3 sequences from an unspecified genome; no seqlengths
gr_list = GRangesList("gr1" = gr,"gr2" = gr2)
gr_list
GRangesList object of length 2: $gr1 GRanges object with 4 ranges and 0 metadata columns: seqnames ranges strand <Rle> <IRanges> <Rle> a chr1 1-10 - b chr1 2-11 + c chr2 3-12 + d chr3 4-13 - ------- seqinfo: 3 sequences from an unspecified genome; no seqlengths $gr2 GRanges object with 4 ranges and 0 metadata columns: seqnames ranges strand <Rle> <IRanges> <Rle> w chr1 1-10 - x chr1 2-11 + y chr2 3-12 + z chr3 4-13 - ------- seqinfo: 3 sequences from an unspecified genome; no seqlengths
gr_list$gr2
GRanges object with 4 ranges and 0 metadata columns: seqnames ranges strand <Rle> <IRanges> <Rle> w chr1 1-10 - x chr1 2-11 + y chr2 3-12 + z chr3 4-13 - ------- seqinfo: 3 sequences from an unspecified genome; no seqlengths
gr_list[2]
GRangesList object of length 1: $gr2 GRanges object with 4 ranges and 0 metadata columns: seqnames ranges strand <Rle> <IRanges> <Rle> w chr1 1-10 - x chr1 2-11 + y chr2 3-12 + z chr3 4-13 - ------- seqinfo: 3 sequences from an unspecified genome; no seqlengths