RNA-seq分析全流程详解:从数据准备到功能富集分析
创作时间:
作者:
@小白创作中心
RNA-seq分析全流程详解:从数据准备到功能富集分析
引用
CSDN
1.
https://m.blog.csdn.net/Da_gan/article/details/143466797
RNA-seq(RNA测序)是用于研究基因表达和转录组的强大工具。它通过高通量测序技术对生物样本中的RNA进行测序,从而获得基因表达的定量信息。RNA-seq分析在疾病研究、药物开发、功能基因组学等领域有着广泛的应用。本文将详细介绍RNA-seq分析的完整流程,包括数据准备、质量控制、序列比对、表达量定量以及差异表达分析等关键步骤,并提供具体的代码示例。
1. 数据准备
首先,从测序公司获取测序数据,一般是FastQ格式的原始数据文件(.fastq或.fastq.gz)。
文件说明:
- 一般会有两个文件(如果是成对的双端测序):
- sample_1.fastq.gz
- sample_2.fastq.gz
2. 数据质控(Quality Control, QC)
QC可以帮助识别和去除低质量的reads。常用工具:FastQC和MultiQC。
FastQC分析
# 安装FastQC
conda install -c bioconda fastqc
# 运行FastQC
fastqc sample_1.fastq.gz sample_2.fastq.gz -o ./qc_output/
MultiQC汇总
# 安装MultiQC
conda install -c bioconda multiqc
# 运行MultiQC
multiqc ./qc_output/ -o ./multiqc_report/
3. 去除低质量和接头序列(Trimming)
使用Trimmomatic或Cutadapt来清除接头和低质量的reads。
使用Trimmomatic
# 安装Trimmomatic
conda install -c bioconda trimmomatic
# 运行Trimmomatic
trimmomatic PE -phred33 \
sample_1.fastq.gz sample_2.fastq.gz \
sample_1_paired.fastq.gz sample_1_unpaired.fastq.gz \
sample_2_paired.fastq.gz sample_2_unpaired.fastq.gz \
ILLUMINACLIP:TruSeq3-PE.fa:2:30:10 \
LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36
4. 比对到参考基因组(Alignment)
常用工具:HISAT2、STAR。
使用HISAT2
首先需要下载参考基因组文件并构建索引。
# 安装HISAT2
conda install -c bioconda hisat2
# 下载参考基因组
wget ftp://ftp.ensembl.org/pub/release-104/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
gunzip Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
# 构建索引
hisat2-build Homo_sapiens.GRCh38.dna.primary_assembly.fa GRCh38_index
# 进行比对
hisat2 -x GRCh38_index -1 sample_1_paired.fastq.gz -2 sample_2_paired.fastq.gz -S sample_aligned.sam
5. SAM文件转换为BAM并排序
使用Samtools进行SAM到BAM的转换,并排序和索引。
# 安装Samtools
conda install -c bioconda samtools
# SAM to BAM转换
samtools view -Sb sample_aligned.sam > sample_aligned.bam
# BAM排序
samtools sort sample_aligned.bam -o sample_aligned_sorted.bam
# 索引BAM文件
samtools index sample_aligned_sorted.bam
6. 定量转录本表达量
使用featureCounts对比对后的BAM文件进行定量。
# 安装Subread(包含featureCounts工具)
conda install -c bioconda subread
# 使用featureCounts进行基因表达定量
featureCounts -a Homo_sapiens.GRCh38.104.gtf -o gene_counts.txt sample_aligned_sorted.bam
7. 差异表达分析
差异表达分析通常在R中进行,常用的包有DESeq2和edgeR。
使用DESeq2进行差异表达分析
首先,将gene_counts.txt文件读入R。
# 安装DESeq2
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("DESeq2")
# 加载DESeq2包
library(DESeq2)
# 读入数据
counts <- read.table("gene_counts.txt", header = TRUE, row.names = 1)
coldata <- data.frame(row.names = colnames(counts), condition = factor(c("control", "treatment")))
# 创建DESeq2对象
dds <- DESeqDataSetFromMatrix(countData = counts, colData = coldata, design = ~ condition)
# 运行DESeq2
dds <- DESeq(dds)
res <- results(dds)
# 查看差异表达基因结果
summary(res)
可视化差异表达基因
常用的可视化图包括火山图(volcano plot)和热图(heatmap)。
火山图
# 安装EnhancedVolcano包
BiocManager::install("EnhancedVolcano")
library(EnhancedVolcano)
# 绘制火山图
EnhancedVolcano(res,
lab = rownames(res),
x = 'log2FoldChange',
y = 'pvalue',
title = 'Differentially Expressed Genes')
热图
# 安装pheatmap包
install.packages("pheatmap")
library(pheatmap)
# 准备数据
vsd <- vst(dds, blind = FALSE)
topVarGenes <- head(order(rowVars(assay(vsd)), decreasing = TRUE), 20)
mat <- assay(vsd)[topVarGenes, ]
mat <- mat - rowMeans(mat)
# 绘制热图
pheatmap(mat, annotation_col = coldata)
8. 功能富集分析(Gene Ontology, GO 或 KEGG)
可以使用clusterProfiler包进行GO和KEGG富集分析。
使用clusterProfiler进行GO分析
# 安装clusterProfiler
BiocManager::install("clusterProfiler")
library(clusterProfiler)
# 选择显著性差异基因
sig_genes <- rownames(res[res$padj < 0.05 & abs(res$log2FoldChange) > 1, ])
# GO富集分析
ego <- enrichGO(gene = sig_genes,
OrgDb = org.Hs.eg.db,
keyType = "SYMBOL",
ont = "BP",
pAdjustMethod = "BH",
pvalueCutoff = 0.05)
# 显示结果
barplot(ego, showCategory = 10)
热门推荐
大理教育探秘:特色学校与创新教育的完美融合
上海临港新片区:买房还是投资?
上海临港房产:下一个投资风口?
问界M7电池使用指南:正确充电与保养延长电池寿命
云南最美小镇:打洛的文化魅力
景莱村:一个边境村寨的文化传承与乡村振兴之路
独树成林景区:打洛必打卡景点推荐
秋冬喉咙卡卡?当心是这两种情况在作祟
6个方法快速治疗口腔溃疡
口腔上颚出现凸起水泡怎么办?可能病因及预防建议
杭州高端旅游体验:导游亲授最佳旅游月份,杭州景点季节性游览指南
办公室人员需预防消化道疾病
胃镜检查全攻略:从准备到过程,一次性了解清楚
说说胃肠镜检查那些事儿
照胃镜不仅能捕捉这些潜在疾病,而且这里的价格亲民!
揭秘美容护肤三大护发产品:红石榴补发护发素、护发素发膜精油与发膜精华护发素
天津话配音介绍:让方言在笑声中传承
天津话里的“哏儿”:一座方言岛里的文化密码
英国将苦瓜列入糖尿病预防指南!白苦瓜、绿苦瓜都有降糖效果
AI守护春节安全:上海市徐汇区的智慧实践
百度AI贺卡走红春节:一张贺卡背后的科技与温情
饮用桶装矿泉水,这些细节你注意了吗?
宋太宗赵光义书法《登黄鹤楼》赏析:帝王笔下的江山情怀
房车入门新手攻略:认识房车水电系统及房车旅行注意事项
崔颢与黄鹤楼:一段跨越千年的文化传奇
《长安三万里》带火的黄鹤楼之旅:从电影IP到文旅热潮
崔颢的《黄鹤楼》,你读懂了吗?
人际交往中最基本的原则:保持边界感
一定要远离内耗你的人
中国十大文化旅游景点,探寻历史与自然的交响