Tutorial: From RNA-seq to Genomic &
Epigenetic Insights — Reproduction &
Development (Using GSE45719 Data)
Goal: a hands-on tutorial demonstrating how to process and interpret RNA-seq data from early
mouse embryos (GSE45719) to uncover genomic and epigenetic regulation of reproduction and
development.
This version uses GSE45719, a well-annotated dataset with explicit stage information: zygote, 2-
cell, 8-cell, and blastocyst.
0. Overview & Biological Context
Biological question: How does gene expression change during mouse preimplantation
development, and how might genomic and epigenetic mechanisms regulate these transitions?
Dataset summary (GSE45719):
Organism: Mus musculus
Stages: Zygote, Early 2-cell, 8-cell, Early Blastocyst
Platform: Illumina (single-end reads, Smart-Seq)
Source: GEO → SRA → FASTQ (public domain)
Each stage has multiple single-cell samples with explicit SRR identifiers.
1. Sample Metadata & Preparation
Create a working directory:
mkdir -p data/fastq ref align counts results qc
Prepare a [Link] file:
sample stage fastq
zyg_1 zygote [Link]
zyg_2 zygote [Link]
2c_1 early_2-cell [Link]
2c_2 early_2-cell [Link]
8c_1 8-cell [Link]
8c_2 8-cell [Link]
bs_1 early_blastocyst [Link]
bs_2 early_blastocyst [Link]
2. Downloading FASTQ files from SRA
Use the SRA Toolkit to fetch the raw reads:
for SRR in SRR805451 SRR805452 SRR805283 SRR805284 SRR805241 SRR805242
SRR805294 SRR805295
do
prefetch $SRR
fasterq-dump $SRR
gzip ${SRR}.fastq
done
These are single-end reads; no need for --split-files.
3. Quality Control (FastQC + MultiQC)
fastqc -o qc/raw/ data/fastq/*.[Link]
multiqc -o qc/raw/ qc/raw/
Inspect per-base quality, adapter content, and duplication levels. Embryo single-cell RNA-seq
often has high duplication and variable coverage.
4. Alignment / Quantification
We use STAR for alignment and featureCounts for quantification.
# Build STAR index (once)
STAR --runThreadN 8 --runMode genomeGenerate \
--genomeDir ref/STAR_index \
--genomeFastaFiles ref/[Link] \
--sjdbGTFfile ref/[Link] \
--sjdbOverhang 100
# Align each sample
for sample in $(cut -f1 [Link] | tail -n +2)
do