# Bioconductor Shortread

> This package implements sampling, iteration, and input of FASTQ files. The package includes functions for filtering and trimming reads, and for generating a quality assessment report. Data are represented as DNAStringSet-derived objects, an

- Skill: `biomate-ai/bioconductor-shortread` (Agent Skill)
- Install (CLI): `npx skillmds@latest add biomate-ai/bioconductor-shortread`
- Raw SKILL.md: https://api.skillmd.com/api/skills/biomate-ai/bioconductor-shortread/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: biomate-ai (https://skillmd.com/u/biomate-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/biomate-ai/bioconductor-shortread

---


# 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()` and `yield()`.
- **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()` and `report()`.
- **Filtering and Trimming**: Removing low-quality reads or trimming tails using `nFilter()` and `trimTailw()` before writing back to disk with `writeFastq()`.

## When NOT to Use
- For whole-genome alignments or flexible pairwise alignment, use **Biostrings** or **pwalign** instead because `ShortRead` is 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, `ShortReadQ` objects, or HTML QA reports.
- **Data Structures**: Reads are represented as `DNAStringSet` objects and quality scores as `FastqQuality` or `BStringSet` objects.

## 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 a `repeat` loop 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 using `browseURL(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*: Use `FastqStreamer()` 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 using `trimTailw()`.
- **Slow Text Parsing**: Using base R functions to read specific columns of sequence text files. *Fix*: Use `readXStringColumns()` to quickly parse columns directly into `DNAStringSet` and `BStringSet` objects.

## 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

<!-- biomate-cta -->
---

## 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](https://www.biomate.ai?ref=kb&pkg=shortread)** — free to start.

▶ **[Open `shortread` on BioMate →](https://www.biomate.ai?ref=kb&pkg=shortread)**

