utils {GenomicRanges} | R Documentation |
Rename or subset the seqlevels in a GenomicRanges, GRangesList or GappedAlignments object.
## S4 method for signature 'GenomicRanges,character' keepSeqlevels(x, value, ...) ## S4 method for signature 'GenomicRanges,character' renameSeqlevels(x, value, ...)
x |
The GenomicRanges, GRangesList or GappedAlignments object in which the seqlevels will be removed or renamed. |
value |
For For |
... |
Arguments passed to other functions. |
Many operations on GRanges objects require the seqlevels to match
before a comparison can be made (e.g., findOverlaps(type="within")
).
keepSeqlevels
and renameSeqlevels
are convenience functions
for subsetting and renaming the seqlevels of these objects.
keepSeqlevels
subsets x
based on the seqlevels provided in
value
. If value
does not match any seqlevels in x
the
original x
is returned. When x
is a GRangesList, there
may be multiple chromosomes in a single list element. If not all chromosomes
are specified in value
, a reduced list element is returned. All empty
list elements are dropped. See examples.
renameSeqlevels
renames the seqlevels in x
to those provided
in value
. value
is a named character vector where the names are
the ‘old’ seqlevel names and the values are the ‘new’. If
no names in value
match the seqlevels in x
the original x
is returned.
The x
object with seqlevels removed or renamed. If x
has
no seqlevels (empty object) or no replacement values match the current
seqlevels in x
the unchanged x
is returned.
Valerie Obenchain vobencha@fhcrc.org
gr1 <- GRanges(seqnames = c("chr1", "chr2"), ranges = IRanges(c(7,13), width = 3), strand = c("+", "-"), score = 3:4, GC = c(0.3, 0.5)) gr2 <- GRanges(seqnames = c("chr1", "chr1", "chr2", "chr3", "chr3"), ranges = IRanges(c(1, 4, 8, 9, 16), width=5), strand = "-", score = c(3L, 2L, 5L, 6L, 2L), GC = c(0.4, 0.1, 0.55, 0.20, 0.10)) gr3 <- GRanges(seqnames = c("CHROM4", "CHROM4"), ranges = IRanges(c(20, 45), width=6), strand = "+", score = c(2L, 5L), GC = c(0.30, 0.45)) ## GRanges : gr3_rename <- renameSeqlevels(gr3, c(CHROM4="chr4")) gr3_rename gr2_subset_chr <- keepSeqlevels(gr2, c("chr1", "chr2")) gr2_subset_gr <- keepSeqlevels(gr2, gr1) identical(gr2_subset_chr, gr2_subset_gr) ## GRangesList : grl1 <- GRangesList("gr1" = gr1, "gr2" = gr2, "gr3" = gr3) grl2 <- GRangesList("gr1" = gr1, "gr2" = gr2, "gr3" = gr3_rename) grl1_rename <- renameSeqlevels(grl1, c(CHROM4="chr4")) identical(grl1_rename, grl2) grl1_subset <- keepSeqlevels(grl1, "chr3") ## GappedAlignments : library(Rsamtools) galn_file <- system.file("extdata", "ex1.bam", package="Rsamtools") galn <- readGappedAlignments(galn_file) galn_rename <- renameSeqlevels(galn, c(seq2="chr2")) galn_subset <- keepSeqlevels(galn_rename, gr1) galn_subset ## See ?VCF for examples using renameSeqlevels and keepSeqlevels with ## VCF class objects