predORF.Rd
Predicts open reading frames (ORFs) and coding sequences (CDSs) in DNA sequences provided as DNAString
or DNAStringSet
objects.
predORF(x, n = 1, type = "grl", mode = "orf", strand = "sense", longest_disjoint=FALSE, startcodon = "ATG", stopcodon = c("TAA", "TAG", "TGA"))
DNA query sequence(s) provided as DNAString
or DNAStringSet
object.
Defines the maximum number of ORFs to return for each input sequence. The ORFs identified are sorted decreasingly
by their length. For instance, n=1
(default) returns the longest ORF, n=2
the two longest ones, and so on.
One of three options provided as character values: 'df'
returns results as data.frame
, while 'gr'
and 'grl'
(default) return them as GRanges
or GRangesList
objects, respectively.
The setting mode='ORF'
returns a continuous reading frame that begins with a start codon and ends with a stop codon. The setting mode='CDS'
return continuous reading frames that do not need to begin or end with start or stop codons, respectively.
One of three options passed on as character vector of length one: 'sense'
performs the predictions only for the sense strand of the query sequence(s),
'antisense'
does it only for the antisense strand and 'both'
does it for both strands.
If set to TRUE
and n='all'
, the results will be subsetted to non-overlapping ORF set containing longest ORF.
Defines the start codon(s) for ORF predictions. The default is set to the standard start codon 'ATG'. Any custom set of triplet DNA sequences can be assigned here.
Defines the stop codon(s) for ORF predictions. The default is set to the three standard stop codons 'TAA', 'TAG' and 'TGA'. Any custom set of triplet DNA sequences can be assigned here.
Returns ORF/CDS ranges identified in query sequences as GRanges
or
data.frame
object. The type
argument defines which one of them
will be returned. The objects contain the following columns:
seqnames
: names of query sequences
subject_id
: identified ORF/CDS ranges numbered by query
start/end
: start and end positions of ORF/CDS ranges
strand
: strand of query sequence used for prediction
width
: length of subject range in bases
inframe2end
: frame of identified ORF/CDS relative to 3'
end of query sequence. This can be important if the query sequence was
extracted directly upstream of an ORF (e.g. 5' UTR upstream of main ORF).
The value 1 stands for in-frame with downstream ORF, while 2 or 3 indicates
a shift of one or two bases, respectively.
scaleRanges
## Load DNA sample data set from Biostrings package
file <- system.file("extdata", "someORF.fa", package="Biostrings")
dna <- readDNAStringSet(file)
## Predict longest ORF for sense strand in each query sequence
(orf <- predORF(dna[1:4], n=1, type="gr", mode="orf", strand="sense"))
#> GRanges object with 4 ranges and 2 metadata columns:
#> seqnames ranges strand | subject_id inframe2end
#> <Rle> <IRanges> <Rle> | <integer> <numeric>
#> [1] YAL001C TFC3 SGDID:S.. 1472-4573 + | 1 2
#> [2] YAL002W VPS8 SGDID:S.. 1001-4825 + | 1 2
#> [3] YAL003W EFB1 SGDID:S.. 1781-1987 + | 1 2
#> [4] YAL005C SSA1 SGDID:S.. 1001-2929 + | 1 2
#> -------
#> seqinfo: 4 sequences 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")
}