TAFFISH wrapper for Cufflinks, the classic RNA-seq command suite for reference-guided transcript assembly, abundance estimation, and differential expression workflows.
This repository packages upstream Cufflinks 2.2.1 as a TAFFISH tool app. It
downloads the official cufflinks-2.2.1.Linux_x86_64.tar.gz binary release,
keeps the bundled command suite together, and exposes it through the versioned
taf-cufflinks command.
Install from the public TAFFISH Hub index:
taf update
taf install cufflinksInstall the exact release:
taf install cufflinks 2.2.1-r2For local testing before the app is published to the public index:
taf install --from .Show TAFFISH app help:
taf-cufflinks --helpShow the upstream cufflinks command summary:
taf-cufflinks
taf-cufflinks cufflinksAssemble transcripts from coordinate-sorted RNA-seq alignments:
taf-cufflinks cufflinks -o sample_cufflinks accepted_hits.bamThe default command is cufflinks, so option-leading calls can also use the
TAFFISH -- separator:
taf-cufflinks -- -o sample_cufflinks accepted_hits.bamCompare assembled transcripts with a reference annotation:
taf-cufflinks cuffcompare -r reference.gtf transcripts.gtfMerge multiple assemblies:
printf "%s\n" sample1/transcripts.gtf sample2/transcripts.gtf > assemblies.txt
taf-cufflinks cuffmerge -g reference.gtf -s genome.fa assemblies.txtQuantify, test, and normalize expression:
taf-cufflinks cuffquant -o sample_quant reference.gtf accepted_hits.bam
taf-cufflinks cuffdiff -o diff_out transcripts.gtf sample1.bam sample2.bam
taf-cufflinks cuffnorm -o norm_out transcripts.gtf sample1.cxb sample2.cxbConvert or filter annotation records with the bundled gffread helper:
taf-cufflinks gffread transcripts.gtf -o transcripts.gff3Because this is a command-mode TAFFISH tool, the first non-option argument is treated as an executable inside the container. For Cufflinks suite commands, name the command explicitly:
taf-cufflinks cuffdiff -o diff_out transcripts.gtf sample1.bam sample2.bam
taf-cufflinks cuffmerge -g reference.gtf assemblies.txt
taf-cufflinks gffread transcripts.gtf -o transcripts.gff3This app packages the upstream Cufflinks 2.2.1 command suite:
cufflinks
cuffcompare
cuffmerge
cuffquant
cuffdiff
cuffnorm
gffread
gtf_to_sam
The upstream prebuilt package is linux/amd64, so this TAFFISH release declares
native support for linux/amd64 only. On Apple Silicon or other arm64 hosts,
Docker or Podman can run the amd64 image through emulation because
src/main.taf declares --platform linux/amd64:
TAFFISH_CONTAINER_BACKEND=docker taf-cufflinks cufflinksThat is amd64 emulation, not native arm64 support. Apptainer compatibility depends on the host and site configuration.
Cufflinks expects RNA-seq alignments sorted by reference coordinate. Spliced
alignments normally need XS:A strand tags, as produced by splice-aware
RNA-seq aligners in classic Tuxedo-style workflows.
This image does not bundle TopHat, Bowtie, HISAT2, STAR, SAMtools, R, cummeRbund, reference genomes, or annotation databases. Those tools and data should be installed as separate TAFFISH apps, host tools, or flow dependencies.
The upstream cuffmerge helper is a Python 2 script. During the Docker build,
the script is converted to Python 3 with 2to3 and small compatibility fixes;
the runtime image includes Python 3 and the helper executables that cuffmerge
calls.
name: cufflinks
command: taf-cufflinks
version: 2.2.1-r2
kind: tool
image: ghcr.io/taffish/cufflinks:2.2.1-r2
The container image is built from docker/Dockerfile. It starts from
debian:12-slim, downloads the official Cufflinks 2.2.1 Linux x86_64 binary
archive, verifies its SHA256 checksum, converts cuffmerge for Python 3, and
installs the command suite under /opt/cufflinks/bin.
Runtime dependencies are intentionally small:
python3
zlib1g
coreutils sort from Debian base
The TAFFISH metadata declares a Docker smoke check:
exist: cufflinks, cuffcompare, cuffmerge, cuffquant, cuffdiff, cuffnorm
exist: gffread, gtf_to_sam, python3, sort
test: each public command reports the pinned 2.2.1 command surface
test: cuffmerge is valid Python 3 after build-time conversion
test: gffread converts a tiny GTF and cuffcompare writes a combined GTF
- Project: Cufflinks
- Homepage: https://cole-trapnell-lab.github.io/cufflinks/
- Manual: https://cole-trapnell-lab.github.io/cufflinks/manual/
- Source: https://github.com/cole-trapnell-lab/cufflinks
- Release: https://github.com/cole-trapnell-lab/cufflinks/releases/tag/v2.2.1
- Download: https://cole-trapnell-lab.github.io/cufflinks/assets/downloads/cufflinks-2.2.1.Linux_x86_64.tar.gz
- Upstream license: Boost Software License 1.0
- Primary citation: Trapnell et al. 2010, doi:10.1038/nbt.1621, PMID:20436464
- Differential analysis citation: Trapnell et al. 2012, doi:10.1038/nbt.2450
Useful checks before publishing:
taf check
taf compile -- cufflinks
taf publish --release --dry-run
docker build --platform linux/amd64 -t ghcr.io/taffish/cufflinks:2.2.1-r2 -f docker/Dockerfile .
docker run --rm --platform linux/amd64 ghcr.io/taffish/cufflinks:2.2.1-r2 cufflinks
docker run --rm --platform linux/amd64 ghcr.io/taffish/cufflinks:2.2.1-r2 cuffmerge --helpThe repository wrapper files are licensed under Apache-2.0. Upstream Cufflinks is distributed under the Boost Software License 1.0, and third-party runtime components are distributed under their own upstream licenses.