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)

Arguments

subject

Genomic ranges provided as GRangesList object. Their name and length requirements are described under query.

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.

type

Feature name to use in type column of GRangesList result.

verbose

The setting verbose=FALSE suppresses all print messages.

Value

Object of class GRangesList

Author

Thomas Girke

See also

predORF

Examples

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")
}