omics.co.in logo omics.co.in

12: Single-Cell RNA Sequencing Foundations

Tested Stacks: GATK 4.6.1 Samtools 1.21 Nextflow 24.10 Seurat v5.1 Python 3.12
Prerequisites: Basic Linux CLI & Sequencing Formats
📚 Chapter 12 of 13 0% Course Completed

Chapter 12: Single-Cell RNA Sequencing Foundations

Bulk RNA sequencing measures the average gene expression across millions of pooled cells, masking rare stem cell populations, transitional differentiation states, and tumor microenvironment heterogeneity. Single-Cell RNA Sequencing (scRNA-seq) isolates individual cells, allowing researchers to explore biology at single-cell resolution.

The Architecture of a Droplet Read: Barcode vs. UMI

In 10x Chromium chemistry, each sequencing read pair carries vital structural barcodes:

  • Cellular Barcode (16 bp): Identifies the specific oil droplet / gel bead from which the mRNA molecule originated. All reads with the same cell barcode originate from the same single cell.
  • Unique Molecular Identifier (UMI, 10–12 bp): A completely random oligonucleotide appended to the individual mRNA molecule before any PCR amplification. Multiple reads sharing identical cell barcodes, alignments, and UMIs represent PCR duplicates of a single original transcript and are collapsed into a single count.

1. Primary Processing with Cell Ranger

# Execute 10x Genomics Cell Ranger count on FASTQ directories
cellranger count \
    --id=pbmc_10k_run \
    --transcriptome=/databases/refdata-gex-GRCh38-2024-A \
    --fastqs=raw_fastqs/ \
    --sample=pbmc_10k \
    --localcores=16 \
    --localmem=64

2. Key Single-Cell Quality Control Filters

  • Number of Detected Genes (nFeature_RNA): Cells with <200 genes represent empty droplets or debris; cells with abnormally high gene counts (>6,000) represent doublets (two cells in one droplet).
  • Mitochondrial Transcript Percentage: When a cell membrane ruptures during dissociation, cytoplasmic mRNA leaks out while mitochondria are retained. High mitochondrial percentages (>10–20%) indicate dying or damaged cells.
⚠️

Common Pitfalls & Troubleshooting Checklist

  • Java Heap Exhaustion (GATK / Picard): If processes terminate with java.lang.OutOfMemoryError, set your environment variable explicitly: export _JAVA_OPTIONS="-Xmx16g -Djava.io.tmpdir=/tmp".
  • Index Timestamp Mismatch: If tools complain that a BAM index is missing or out of date, regenerate with samtools index -@ 4 sample.bam.
  • Conda Channel Conflicts: Avoid ABI incompatibilities between bioconda and conda-forge by setting strict priority: conda config --set channel_priority strict.
  • Chromosome Naming Contamination: Always verify whether reference FASTA headers use chr1 or 1; divergent naming causes silent alignment drops.
Was this guide helpful to your research?
Help us maintain 100% accurate, peer-reviewed bioinformatics standards.
📝 Propose Edit on GitHub ↗