ShortRead
Dependencies & Environment
Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.
- Version: 1.70.0 · Bioconductor: 3.23 · R: ≥ 4.6
- Depends: BiocGenerics, BiocParallel, Biostrings, Rsamtools, GenomicAlignments
- Imports: Biobase, S4Vectors, IRanges, Seqinfo, GenomicRanges, pwalign, hwriter, lattice, latticeExtra
- Install:
BiocManager::install("ShortRead")
When to Use
- Iterative FASTQ Processing: Processing massive FASTQ files in memory-efficient chunks using
FastqStreamer()andyield(). - Random Subsampling: Drawing a random sample of reads from a FASTQ file using
FastqSampler()for quick inspection. - Quality Assessment: Generating HTML quality assessment reports across multiple FASTQ files using
qa()andreport(). - Filtering and Trimming: Removing low-quality reads or trimming tails using
nFilter()andtrimTailw()before writing back to disk withwriteFastq().
When NOT to Use
- For whole-genome alignments or flexible pairwise alignment, use Biostrings or pwalign instead because
ShortReadis designed for basic input, QA, and filtering rather than complex alignments.
Data Requirements
- Input: FASTQ files (e.g.,
.fastq,.fastq.gz) or legacy Solexa export files (s_N_export.txt). - Output: Filtered FASTQ files,
ShortReadQobjects, or HTML QA reports. - Data Structures: Reads are represented as
DNAStringSetobjects and quality scores asFastqQualityorBStringSetobjects.
Key Parameters
- fl: The file path to the FASTQ file being read or streamed.
- destination: The output file path used in
writeFastq(). - type: The format type specified in
qa()(e.g.,type="fastq"). - dirPath: The directory path used in
readXStringColumns()to locate files. - pattern: The regular expression pattern used to match files in
readXStringColumns(). - colClasses: A list specifying the class of each column to be read in
readXStringColumns().
Best Practices
- Use
FastqStreamer()in arepeatloop to process large FASTQ files in chunks, preventing memory exhaustion. - Use
FastqSampler()to draw a representative subset (e.g., 1M reads) for rapid quality assessment. - Generate a QA report using
qa()and view it in a browser usingbrowseURL(report())before starting downstream analysis. - Check the quality score encoding of your FASTQ files using
encoding(quality())to ensure accurate quality filtering.
Common Pitfalls
- Out of Memory Errors: Attempting to load an entire massive FASTQ file into memory with
readFastq(). Fix: UseFastqStreamer()to iterate through the file in manageable chunks. - Incorrect Quality Trimming: Applying the wrong Phred score threshold because of unknown encoding. Fix: Verify the encoding using
encoding(quality(fq))before usingtrimTailw(). - Slow Text Parsing: Using base R functions to read specific columns of sequence text files. Fix: Use
readXStringColumns()to quickly parse columns directly intoDNAStringSetandBStringSetobjects.
Alternatives
- Biostrings: For general sequence manipulation, pattern matching (
matchPDict), and whole-genome alignments. - pwalign: For flexible pairwise sequence alignment.
Citations
- Morgan M, et al. (2009) "ShortRead: a bioconductor package for input, quality assessment and exploration of high-throughput sequence data." Bioinformatics.
References
- Homepage: https://bioconductor.org/packages/ShortRead
- Vignette: https://bioconductor.org/packages/release/bioc/vignettes/ShortRead/inst/doc/Overview.pdf
Run this on BioMate
This skill is the knowledge layer — when, why, and how to use shortread. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.


