filterTranscripts {ORFik} | R Documentation |
Filter transcripts to those who have leaders, CDS, trailers of some lengths, you can also pick the longest per gene.
filterTranscripts( txdb, minFiveUTR = 30L, minCDS = 150L, minThreeUTR = 30L, longestPerGene = TRUE, stopOnEmpty = TRUE )
txdb |
a TxDb file, a path to one of: (.gtf ,.gff, .gff2, .gff2, .db or .sqlite) or an ORFik experiment |
minFiveUTR |
(integer) minimum bp for 5' UTR during filtering for the transcripts. Set to NULL if no 5' UTRs exists for annotation. |
minCDS |
(integer) minimum bp for CDS during filtering for the transcripts |
minThreeUTR |
(integer) minimum bp for 3' UTR during filtering for the transcripts. Set to NULL if no 3' UTRs exists for annotation. |
longestPerGene |
logical (TRUE), return only longest valid transcript per gene. |
stopOnEmpty |
logical TRUE, stop if no valid transcripts are found ? |
If a transcript does not have a trailer, then the length is 0, so they will be filtered out if you set minThreeUTR to 1. So only transcripts with leaders, cds and trailers will be returned. You can set the integer to 0, that will return all within that group.
If your annotation does not have leaders or trailers, set them to NULL, since 0 does mean there must exist a column called utr3_len etc.
a character vector of valid transcript names
gtf_file <- system.file("extdata", "annotations.gtf", package = "ORFik") txdb <- GenomicFeatures::makeTxDbFromGFF(gtf_file) txNames <- filterTranscripts(txdb, minFiveUTR = 1, minCDS = 30, minThreeUTR = 1) loadRegion(txdb, "mrna")[txNames] loadRegion(txdb, "5utr")[txNames]