Skip to content

taffish/fastqc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

taf-fastqc

TAFFISH wrapper for FastQC, a quality-control tool for high-throughput sequencing data.

This repository packages upstream FastQC 0.12.1 as a TAFFISH tool app. It uses the official compiled fastqc_v0.12.1.zip release and exposes the upstream fastqc command through the versioned taf-fastqc wrapper.

Installation

Install from the public TAFFISH Hub index:

taf update
taf install fastqc

Install the exact release:

taf install fastqc 0.12.1-r1

For local testing before the app is published to the public index:

taf install --from .

Usage

Show TAFFISH app help:

taf-fastqc --help

Show the TAFFISH package version:

taf-fastqc --version

Show the upstream FastQC version:

taf-fastqc fastqc --version
taf-fastqc -- --version

Show upstream command help:

taf-fastqc fastqc --help
taf-fastqc -- --help

Run FastQC on a FASTQ file:

taf-fastqc fastqc reads.fq.gz

Write reports to an existing output directory:

mkdir -p fastqc_reports
taf-fastqc fastqc --outdir fastqc_reports reads.fq.gz

Run several files with explicit memory and thread settings:

taf-fastqc fastqc \
  --outdir fastqc_reports \
  --threads 4 \
  --memory 512 \
  sample_R1.fq.gz sample_R2.fq.gz

Extract the report zip and use SVG graphs:

taf-fastqc fastqc \
  --outdir fastqc_reports \
  --extract \
  --svg \
  reads.fq.gz

Force input format or use custom adapter/contaminant/limits files:

taf-fastqc fastqc --format sam --outdir fastqc_reports alignments.sam
taf-fastqc fastqc --adapters adapters.txt --contaminants contaminants.txt reads.fq.gz
taf-fastqc fastqc --limits limits.txt reads.fq.gz

Because this is a command-mode TAFFISH tool, the first non-option argument is the in-container command. For normal FastQC usage, naming the upstream fastqc binary explicitly is the clearest form:

taf-fastqc fastqc reads.fq.gz
taf-fastqc fastqc --help

The app also accepts the common shorthand when the first argument is a FastQC option:

taf-fastqc -- --help
taf-fastqc --outdir fastqc_reports reads.fq.gz

This README lists common command-line usage patterns, not the full upstream manual. The TAFFISH wrapper calls the upstream fastqc script directly, so official FastQC options are available as upstream implements them. Use taf-fastqc fastqc --help for the complete option list.

Package

name: fastqc
command: taf-fastqc
version: 0.12.1-r1
kind: tool
image: ghcr.io/taffish/fastqc:0.12.1-r1

Container

The container image is built from docker/Dockerfile. It starts from debian:12-slim, downloads the official FastQC fastqc_v0.12.1.zip package, and installs it under /opt/FastQC.

The image includes these user-facing commands and runtimes:

fastqc
java
perl
unzip
gzip
bzip2

FastQC is a Java application launched through the upstream Perl wrapper. The container therefore includes OpenJDK, Perl, and font packages needed for headless report generation. The official FastQC package is kept with its configuration files, templates, help files, htsjdk library, bzip2 reader, and JHDF5 jar.

The app targets non-interactive command-line FastQC usage. The upstream no-argument GUI mode is not a useful mode inside a normal TAFFISH container; pass input files or --help/--version instead.

FastQC supports FASTQ, gzip-compressed FASTQ, bzip2-compressed FASTQ, SAM, and BAM inputs. The upstream package also contains JHDF5 support for Nanopore FAST5 mode (--nano), but its bundled native JHDF5 libraries are provided for Linux amd64/i386, not native Linux arm64. If you need --nano/FAST5 processing on an arm64 host, use the amd64 image through Docker or Podman platform emulation, for example:

TAFFISH_CONTAINER_BACKEND=docker \
TAFFISH_DOCKER_RUN_ARGS="--platform linux/amd64" \
taf-fastqc fastqc --nano fast5_directory

The image is built and validated for:

linux/amd64
linux/arm64

The native arm64 validation covers the standard command-line report paths, not the upstream JHDF5/FAST5 native-library path described above.

The TAFFISH metadata declares a Docker smoke check:

exist: fastqc, java, perl, unzip, gzip, bzip2
test:  FastQC reports upstream version 0.12.1
test:  upstream FastQC help is available
test:  Java and Perl runtime checks pass
test:  a tiny FASTQ produces HTML and zip reports
test:  gzip-compressed FASTQ is accepted
test:  bzip2-compressed FASTQ is accepted
test:  a tiny SAM file is accepted with --format sam
test:  --svg, --nogroup, --kmers, --memory, --threads, and --adapters run
test:  --extract creates the extracted report directory

During TAFFISH Hub indexing, this smoke metadata verifies that the published image exposes the expected command surface, reports the pinned upstream version, and can run representative local sequencing QC report workflows. It does not exhaustively validate every possible upstream option combination or every scientific interpretation of a FastQC report.

Each smoke command is self-contained because the public index runs every [smoke].test entry in a fresh temporary container. No smoke entry depends on files created by an earlier entry.

Upstream

Maintainer Notes

Useful checks before publishing:

taf check
taf compile -- fastqc --version
taf publish --release --dry-run
docker build -t ghcr.io/taffish/fastqc:0.12.1-r1 -f docker/Dockerfile .
docker build --platform linux/amd64 -t ghcr.io/taffish/fastqc:0.12.1-r1-amd64-test -f docker/Dockerfile .
docker build --platform linux/arm64 -t ghcr.io/taffish/fastqc:0.12.1-r1-arm64-test -f docker/Dockerfile .
docker run --rm ghcr.io/taffish/fastqc:0.12.1-r1 fastqc --version
docker run --rm ghcr.io/taffish/fastqc:0.12.1-r1 fastqc --help

The repository wrapper files are licensed under Apache-2.0. Upstream FastQC is distributed under GPL-3.0-or-later, and bundled third-party components remain under their own upstream licenses.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors