Blog

Tagged: tutorial

35 posts found

Bioinformatics

What FastQC Reports Actually Tell You (And What Beginners Miss)

A senior bioinformatician walks through the FastQC sections that real beginners miss, with screenshots and decisions to make at each step.

Abdullah Shahid ·
Tutorial

STAR vs Salmon vs HISAT2: When To Use Each (With Working Code)

STAR, Salmon, and HISAT2 each have a distinct use case. A practical comparison with working commands, real runtime and memory numbers, and DEG concordance data.

Abdullah Shahid ·
Tutorial

Salmon From FASTQ to Counts: A Complete Pseudoalignment Tutorial

A complete Salmon tutorial with decoy-aware indexing, quantification flags explained, tximport into R, DESeq2 integration, and QC checks at every step.

Abdullah Shahid ·
Tutorial

Differential Expression in Python with PyDESeq2: A Tutorial

PyDESeq2 brings DESeq2 statistics to Python. A complete tutorial covering model fitting, validation against R DESeq2, volcano plots, and enrichment export.

Abdullah Shahid ·
Tutorial

Publication-Ready RNA-Seq Plots in ggplot2: Volcano, Heatmap, PCA

Reviewer-ready RNA-seq plots in R: volcano with gene labels, z-score heatmap with annotation bars, PCA with variance explained, and journal export settings.

Abdullah Shahid ·
Tutorial

ORA vs GSEA: A Side-by-Side Tutorial in R with clusterProfiler

ORA and GSEA answer different questions. A working clusterProfiler tutorial with FDR correction, proper backgrounds, and side-by-side result interpretation.

Abdullah Shahid ·
Bioinformatics

GTF and GFF Files: Why They Hurt and How To Tame Them

GTF and GFF files from the same database often disagree, prokaryotic files lack exon features, AGAT fixes some and breaks others. A practical field guide.

Abdullah Shahid ·
Tutorial

Your First Nextflow Pipeline for RNA-Seq (Without Losing Your Mind)

A minimal Nextflow DSL2 RNA-seq pipeline in under 80 lines: three processes, channel wiring, Docker config, and how to read the execution report and DAG output.

Abdullah Shahid ·
Tutorial

Reducing GO Term Redundancy: simplify, rrvgo, and What Works

After enrichment you get hundreds of overlapping GO terms. A tutorial on clusterProfiler simplify, rrvgo, REVIGO, and a custom uniqueness-score fallback.

Abdullah Shahid ·
Tutorial

Pathway Enrichment Analysis: GSEA and ORA in R and Python

Tutorial for pathway enrichment analysis: GSEA with clusterProfiler and fgsea in R, ORA with enrichGO, and the Python equivalent using gseapy prerank and enrichr. Covers MSigDB Hallmark, KEGG, and GO sets.

Abdullah Shahid ·
Tutorial

fastp vs Trimmomatic vs BBDuk: A Benchmark on RNA-Seq Reads

A side-by-side benchmark of fastp, Trimmomatic, and BBDuk on paired-end RNA-seq data: speed, post-trim quality, mapping rate, and downstream DEG impact.

Abdullah Shahid ·
Tutorial

DESeq2 Contrasts: Multiple Conditions and Multi-Factor Designs

Three conditions, paired designs, two-factor experiments, and time courses: how to build the design formula, specify contrasts, and avoid common mistakes.

Abdullah Shahid ·
Tutorial

From Count Matrix to Volcano Plot: A DESeq2 Walkthrough in R

A complete DESeq2 tutorial in R: loading counts, building the design formula, running DE, applying lfcShrink, generating a volcano plot, and exporting results.

Abdullah Shahid ·
Tutorial

RNA-Seq Plots: Volcano, MA, and Heatmap in R and Python

Tutorial for publication-ready RNA-seq visualization: volcano plots with ggplot2 and ggrepel, MA plots, and DEG heatmaps with pheatmap and seaborn. Includes 300 dpi export for journals.

Abdullah Shahid ·
Tutorial

Bulk RNA-Seq Deconvolution: CIBERSORTx and MuSiC Tutorial

Estimate cell type proportions from bulk RNA-seq using CIBERSORTx and MuSiC. Reference selection, batch correction, validation, and result interpretation.

Abdullah Shahid ·
Tutorial

Detecting and Correcting Batch Effects in Bulk RNA-Seq

A tutorial on spotting batch effects with PCA, modeling them in DESeq2, and when to reach for ComBat-Seq, RUVSeq, or sva instead. Real code, real plots.

Abdullah Shahid ·
Tutorial

How to Run Differential Expression in Python with PyDESeq2

Complete PyDESeq2 tutorial: build a count matrix from Salmon output, fit a DeseqDataSet, run Wald tests, apply apeGLM shrinkage, and export DEG results in Python. No R required.

Abdullah Shahid ·
Tutorial

How to Run DESeq2 in R: From Salmon Counts to DEG Results

Complete DESeq2 tutorial in R: import Salmon quant.sf files with tximeta, build a DESeqDataSet, run the Wald test, apply apeglm shrinkage, and export a ranked DEG table.

Abdullah Shahid ·
Tutorial

How to Build a Counts Matrix from featureCounts and Salmon in Python

Python tutorial: parse featureCounts output, aggregate Salmon quant.sf files, build a tx2gene map from a GTF, round estimated counts, and save a DESeq2-ready integer count matrix with pandas.

Abdullah Shahid ·
Tutorial

How to Run STAR Alignment for Bulk RNA-Seq (Step-by-Step)

Complete STAR alignment tutorial: download genome and GTF, build a genome index with the right sjdbOverhang, run paired-end alignment, generate GeneCounts, and load counts into R for DESeq2.

Abdullah Shahid ·
Tutorial

How to Build a Salmon Index and Quantify Bulk RNA-Seq Reads

Step-by-step Salmon tutorial: download GENCODE references, build a decoy-aware index, run salmon quant with gcBias and seqBias on all samples, and verify mapping rates before DESeq2.

Abdullah Shahid ·
Tutorial

How to Run FASTQ Quality Control with FastQC, fastp, and MultiQC

Full pipeline tutorial for bulk RNA-seq QC: run FastQC on raw reads, trim adapters with fastp, rerun QC, and aggregate reports with MultiQC. Includes parallel processing and how to read results.

Abdullah Shahid ·
Tutorial

How to Download RNA-Seq Data from GEO and SRA Using sra-tools and pysradb

Step-by-step tutorial for downloading bulk RNA-seq FASTQ files from GEO and SRA. Covers prefetch, fasterq-dump, pysradb metadata extraction, batch downloads, and fixes for common errors.

Abdullah Shahid ·
Tutorial

How to Make Volcano Plots and MA Plots in R: ggplot2 and EnhancedVolcano

Step-by-step R tutorial for publication-quality volcano plots and MA plots from DESeq2 results. Covers ggplot2 from scratch, ggrepel gene labeling, EnhancedVolcano, and plot interpretation.

Abdullah Shahid ·
Tutorial

PCA and Clustering for RNA-Seq QC in Python: Spot Outliers Before DESeq2

Python tutorial: normalize RNA-seq counts, run PCA with scikit-learn, plot interactively with plotly, build a sample distance heatmap, and detect outliers before differential expression.

Abdullah Shahid ·
Tutorial

Differential Expression Analysis in Python with PyDESeq2: A Complete Tutorial

Run DESeq2 differential expression analysis entirely in Python using PyDESeq2. Learn DeseqDataSet, DeseqStats, apeglm shrinkage, multi-factor designs, and pandas result filtering.

Abdullah Shahid ·
Tutorial

How to Run DESeq2: A Complete Walkthrough from Count Matrix to Results

Step-by-step DESeq2 tutorial in R: build a DESeqDataSet, understand size factors and dispersion, run DESeq(), interpret results columns, apply lfcShrink with apeglm, and filter DEGs.

Abdullah Shahid ·
Tutorial

How to Set Up a Bulk RNA-Seq Analysis Environment on Ubuntu and macOS

Step-by-step guide to installing Miniforge, conda, bioconda, R 4.4, and DESeq2 for bulk RNA-seq analysis. Reproducible environments, version pinning, and fixes for common install errors.

Abdullah Shahid ·
Tutorial

How to Quantify RNA-Seq Reads with Salmon: Index, Quant, and Import to R

Step-by-step Salmon RNA-seq tutorial: build a decoy-aware index, run salmon quant on paired-end reads, understand quant.sf output, and import into DESeq2 with tximport.

Abdullah Shahid ·
Tutorial

Importing Salmon Output into R: tximeta, tximport, and DESeq2 Setup

Complete R tutorial for importing Salmon quant.sf files with tximeta and tximport. Build a tx2gene table, fix ID mismatch errors, and set up a DESeqDataSet for multi-factor designs.

Abdullah Shahid ·
Research Guide

STAR vs HISAT2 vs Salmon: Which Aligner Should You Use?

STAR does full genome alignment. HISAT2 uses less memory. Salmon skips alignment entirely. Here is what each approach actually means for your RNA-seq results and when each one is the right call.

Abdullah Shahid ·
Research Guide

What Actually Happens to Your RNA Sample Before It Becomes Data

From tissue extraction to FASTQ file: a clear breakdown of RNA-seq library prep, sequencing chemistry, and what goes wrong at each step.

Abdullah Shahid ·
Tutorial

Trimming Adapters with Trimmomatic and fastp: A Side-by-Side Walkthrough

When adapter trimming helps, when it hurts, and how to run Trimmomatic and fastp on RNA-seq data with the parameter choices that actually matter.

Abdullah Shahid ·
Tutorial

How to Run FastQC and MultiQC on Raw RNA-Seq Reads

A hands-on guide to automating RNA-seq QC across dozens of samples using FastQC and MultiQC, with bash and Python scripts for parsing and flagging failures.

Abdullah Shahid ·
Research Guide

Raw Reads to Counts: The Bulk RNA-Seq Pipeline Explained

A practical breakdown of every computational step in bulk RNA-seq: from FASTQ quality control through trimming, alignment, and quantification to your final count matrix.

Abdullah Shahid ·