scaleRanges.Rd
Function to scale mappings of spliced features (query ranges) to their
corresponding genome coordinates (subject ranges). The method accounts for
introns in the subject ranges that are absent in the query ranges. A use case
example are uORFs predicted in the 5' UTRs sequences using predORF
.
These query ranges are given relative to the 5' UTR sequence. The
scaleRanges
function will scale them to the corresponding genome
coordinates. This way they can be used in RNA-Seq expression experiments
like other gene ranges.
scaleRanges(subject, query, type = "custom", verbose = TRUE)
Genomic ranges provided as GRangesList
object. Their name and length
requirements are described under query
.
Feature level ranges provided as GRangesList
object. The names of the
query ranges need to match the names of the GRangesList
object
assigened to the subject
argument. In addition, the length of
each query
range cannot exceed the total length of the corresponding
subject
range set.
Feature name to use in type
column of GRangesList
result.
The setting verbose=FALSE
suppresses all print messages.
Object of class GRangesList
predORF
library(IRanges)
## Usage for simple example
subject <- GRanges(seqnames="Chr1", IRanges(c(5,15,30),c(10,25,40)), strand="+")
query <- GRanges(seqnames="myseq", IRanges(1, 9), strand="+")
scaleRanges(GRangesList(myid1=subject), GRangesList(myid1=query), type="test")
#> Scaled range 1 of 1 ranges: myid1:1_9
#> GRangesList object of length 1:
#> $`myid1:1_9`
#> GRanges object with 2 ranges and 3 metadata columns:
#> seqnames ranges strand | feature_by featuretype_id featuretype
#> <Rle> <IRanges> <Rle> | <CharacterList> <character> <character>
#> [1] Chr1 5-10 + | myid1:1_9 myid1:1_9.1 test
#> [2] Chr1 15-17 + | myid1:1_9 myid1:1_9.2 test
#> -------
#> seqinfo: 1 sequence from an unspecified genome; no seqlengths
#>
if (FALSE) {
## Usage for more complex example
library(GenomicFeatures); library(systemPipeRdata)
gff <- system.file("extdata/annotation", "tair10.gff", package="systemPipeRdata")
txdb <- makeTxDbFromGFF(file=gff, format="gff3", organism="Arabidopsis")
futr <- fiveUTRsByTranscript(txdb, use.names=TRUE)
genome <- system.file("extdata/annotation", "tair10.fasta", package="systemPipeRdata")
dna <- extractTranscriptSeqs(FaFile(genome), futr)
uorf <- predORF(dna, n="all", mode="orf", longest_disjoint=TRUE, strand="sense")
grl_scaled <- scaleRanges(subject=futr, query=uorf, type="uORF", verbose=TRUE)
export.gff3(unlist(grl_scaled), "uorf.gff")
}