Skip to main content

Bulk RNA-seq Pipeline (rnaseq-pipeline)

An interactive, terminal-based pipeline for bulk RNA-seq: from public accessions (SRA, GEO, ENA) or local FASTQ files to differential-expression results, plots and an HTML report.

  • Python does everything up to the gene count matrix: download/import, FASTQ validation, FastQC/MultiQC, the quality gate, fastp, reference preparation, HISAT2, BAM validation and QC, strandedness, StringTie2 and featureCounts.
  • R runs DESeq2 and everything after it: normalisation, tests, up/down genes, and plots.
  • Every stage validates its outputs independently (for example, FASTQ reads = HISAT2 reads = BAM primary records; count-matrix column sums = featureCounts assigned reads; up/down tables re-derived from the full result table).
  • Checkpoints make interrupted runs resumable. A changed input, output or scientific setting re-runs exactly the affected stages.
  • Scientific decisions (trimming, strandedness, experimental design) are never guessed; you confirm each one, with an explanation.

New to RNA-seq or to this tool? Read the illustrated User Guide and Learning Book (PDF · Word): installation step by step, every stage and tool explained in plain language with flowcharts, how to read the results and plots, a worked example, troubleshooting, a glossary and how to cite. No programming knowledge needed.

DATA (SRA / GEO / ENA / local, or search NCBI) -> FASTQ validation -> FastQC + MultiQC -> quality gate
  -> [fastp -> validation -> FastQC + MultiQC]  (only if you decide to trim)
  -> reference (catalog, any organism from NCBI, or your own FASTA + GTF; validated; HISAT2 index)
  -> HISAT2 | samtools sort -> BAM validation -> BAM QC -> strandedness (inferred, confirmed)
  -> StringTie2 (transcript TPM)   and   featureCounts (gene counts)      <- independent
  -> count matrix -> experimental design (you confirm) -> DESeq2 -> plots -> validated HTML report + manifest

Install

pipx install git+https://github.com/vipin839/rnaseq_pipeline.git         # the command
mamba env create -f "$(rnaseq-pipeline --runtime-env tools)"               # FastQC, HISAT2, samtools, ...
mamba env create -f "$(rnaseq-pipeline --runtime-env r)"                   # R + DESeq2
rnaseq-pipeline --check                                                    # functional health check

See docs/INSTALLATION.md for conda setup, the Bioconda recipe (one-command install after it is published), user settings and upgrading from 1.0.0.

Use

rnaseq-pipeline                              # interactive menu
rnaseq-pipeline --project ~/rnaseq_projects/RNAseq_MyStudy   # resume a project
rnaseq-pipeline --validate-project DIR       # re-verify a project: PROJECT HEALTH PASS / WARNING / FAIL
rnaseq-pipeline --dry-run --project DIR      # show what would run, execute nothing
rnaseq-pipeline --check                      # installation health check

What is supported

Status Notes
Bulk RNA-seq, paired-end or single-end, Illumina Supported the layout must be the same for all samples in a project
Unstranded / forward / reverse libraries Supported inferred with RSeQC and confirmed; all three tested end to end
Human, mouse, yeast (catalog); any organism with an NCBI GTF; custom FASTA + GTF Supported genome and annotation compatibility is checked (names, lengths, assembly)
Bacteria (CDS-only NCBI annotation) Supported counts CDS; StringTie2 skipped; tested with E. coli UTI89
Designs ~ condition, ~ batch + condition, several groups/contrasts Supported ≥2 biological replicates per group; confounding refused
Lanes / technical replicates Supported summed on request
Time course (LRT), interactions, continuous covariates Not supported planned
Mixed layouts or organisms in one project Refused use separate projects
Single-cell RNA-seq (10x, Drop-seq, Smart-seq, …) Refused detected from metadata and read structure; use Cell Ranger / STARsolo / alevin-fry
Human-scale data on a small machine Partially the index is built without splice sites below ~160 GB RAM (sites are given at alignment); ~8 GB RAM needed to align
GO / Reactome enrichment Partially optional; needs extra R packages; not part of the tested core
macOS, Windows (native) Not supported Linux and WSL2 only
Web interface, HPC schedulers, containers Not supported future versions

Documentation

Document Contents
User Guide and Learning Book (PDF) / Word complete illustrated guide for users: setup, workflow with flowcharts, every tool, result interpretation, worked example, troubleshooting, glossary, citation
docs/INSTALLATION.md install options, runtime layer, user settings, upgrading
docs/USER_GUIDE.md step-by-step use, menus, decisions, resuming, logs
docs/PIPELINE_METHODS.md what each stage does, parameters, thresholds, validation
docs/VERIFICATION_MATRIX.md requirement → code → tests → evidence → status
docs/TESTING.md test suites, synthetic truth data, real-data evidence
docs/TROUBLESHOOTING.md errors and fixes
docs/DEVELOPER_GUIDE.md architecture and extension points
docs/RELEASE.md release procedure (tag, PyPI, Bioconda)
CHANGELOG.md version history

How to cite

Vipin (2026). rnaseq-pipeline: an interactive, validated and resumable bulk RNA-seq pipeline (version 1.1.2) [Computer software]. GitHub. https://github.com/vipin839/rnaseq_pipeline

Please also cite the tools the pipeline runs (FastQC, MultiQC, fastp, HISAT2, SAMtools, RSeQC, StringTie2, featureCounts, DESeq2, apeglm). Full references and an example methods paragraph are in chapter 22 of the User Guide.

Developer and contact

Developed and maintained by Vipin (github.com/vipin839).

License: MIT.

Metadata

Release files for bulk-rnaseq-pipeline 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bulk-rnaseq-pipeline 1.1.2
File Size Uploaded Provenance
bulk_rnaseq_pipeline-1.1.2.tar.gz 158.3 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for bulk-rnaseq-pipeline 1.1.2
File Interpreter ABI Platform
bulk_rnaseq_pipeline-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 337.3 kB

Release files / bulk_rnaseq_pipeline-1.1.2.tar.gz

Download URL bulk_rnaseq_pipeline-1.1.2.tar.gz
Size 158.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9b864cc7848b7d13b5306ede4621b726675022eb4d1addeb08bd727d9747b3a3
BLAKE2b-256 checksum
How to use checksums
ddd1b93ba79fadd5a7121abf40b1ecd78ca570fe4897f605a393312f36cf4a4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / bulk_rnaseq_pipeline-1.1.2-py3-none-any.whl

Download URL bulk_rnaseq_pipeline-1.1.2-py3-none-any.whl
Size 179.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
85e3edca8fe1f5fad71a777a0e16b0fc8da802db98c7cb93dec1ae6da63805eb
BLAKE2b-256 checksum
How to use checksums
d4c9126f96aa9aeba9b63edda9d8b296ba83026d430b9b18b134dcfb2a3066b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Security for bulk-rnaseq-pipeline 1.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for bulk_rnaseq_pipeline-1.1.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page