rtracklayer
Dependencies & Environment
Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.
- Version: 1.72.0 · Bioconductor: 3.23 · R: ≥ 4.6
- Depends: GenomicRanges
- Imports: XML, BiocGenerics, S4Vectors, IRanges, XVector, Seqinfo, Biostrings, curl, httr, Rsamtools, GenomicAlignments, BiocIO, restfulr
- System requirements: URL
- Install:
BiocManager::install("rtracklayer")
When to Use
- Genomic Track Import/Export: Importing and exporting genomic annotation tracks (e.g., BED, GFF, WIG) into R as
GRangesobjects usingimportandexport. - UCSC Genome Browser Interaction: Interacting programmatically with the UCSC genome browser via
browserSession. - Custom Track Uploads: Uploading custom annotation tracks to a genome browser using the
track<-function. - UCSC Table Queries: Querying and downloading built-in UCSC tracks (like RepeatMasker) using
ucscTableQueryandgetTable.
When NOT to Use
- For core manipulation of genomic intervals without file I/O, use
GenomicRangesinstead. - For parsing raw sequencing alignments, use
GenomicAlignmentsorRsamtoolsinstead, asrtracklayeris designed for annotation tracks.
Data Requirements
- Input Formats: BED, GFF (v1/2/3), WIG, and other browser-supported formats.
- R Representation: Genomic coordinates must be 1-based when represented as
GRangesin R. - Genome Build: Valid genome build identifiers (e.g., "hg18", "hg19") for UCSC integration.
Key Parameters
- format: Explicitly specifies the file format (e.g., "bed", "gff1") for
importorexport. - name: Character vector identifying the track within a
browserSession. - range: A
GRangesobject specifying the genomic segment to view or download. - pack: Instructs the browser to use the "pack" mode for viewing a track.
- track: Specifies the name of the track to query in
ucscTableQuery. - table: Specifies the specific table within a track to retrieve via
ucscTableQuery.
Best Practices
- Use
GRangesForUCSCGenometo formally associate interval data with a UCSC genome build and validate bounds before uploading. - Subset large
GRangestracks before uploading or viewing (e.g.,targetTrack[1:10]) to avoid overwhelming the browser session. - Rely on the default "auto" format detection in
exportandimportwhich derives the format from the file extension.
Common Pitfalls
- Coordinate System Confusion: R and
GRangesuse 1-based coordinates, while formats like BED use 0-based. Fix:rtracklayerhandles this automatically duringimport/export, so avoid manual coordinate shifting. - Opening too many browser tabs: Changing the view state in UCSC opens a new page in the web browser. Fix: Consolidate view adjustments or use
browseGenometo load tracks and set the view in a single call.
Alternatives
- GenomicRanges: For in-memory manipulation of genomic intervals without external browser interaction.
- BSgenome: For retrieving and manipulating full genome sequences rather than annotation tracks.
Citations
- Lawrence M, et al. (2009) "Software for Computing and Annotating Genomic Ranges." PLoS Computational Biology.
- Lawrence M, et al. (2007) "rtracklayer: an R package for interfacing with genome browsers." Bioinformatics.
References
- Homepage: https://bioconductor.org/packages/rtracklayer
- Vignette: https://bioconductor.org/packages/release/bioc/vignettes/rtracklayer/inst/doc/rtracklayer.pdf
Run this on BioMate
This skill is the knowledge layer — when, why, and how to use rtracklayer. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.


