零基础入门转录组上游分析——第三章(质控及数据过滤)
零基础入门转录组上游分析——第三章(质控及数据过滤)
转录组数据分析是生物信息学领域的重要组成部分,其中数据质控和过滤是确保后续分析准确性的关键步骤。本文将详细介绍如何使用fastqc、multiqc和trim-galore等工具对原始测序数据进行质控和过滤,帮助零基础的学习者掌握这一重要技能。
实验环境与准备
本教程使用的虚拟机环境为VMware Workstation 16.0.0,操作系统为Ubuntu 20.04.3 64位。实验数据来源于C57BL/6J小鼠,分为药物处理组和对照组,每组6只。所需软件包括vim、fastqc、multiqc和trim-galore。
1. 查看原始数据
首先需要在Linux桌面上创建一个名为00_raw_data
的文件夹,并将所有原始数据拷贝到该文件夹中。通过终端指令完成以下操作:
切换到原始数据文件夹:
cd Desktop/00_raw_data/
查看当前文件夹下所有文件的详细信息:
ls -lh
准备样本信息文件:
ls -lh > sample_info
使用vim编辑器打开并处理
sample_info
文件,删除第一行和最后一行,保留9列信息。
2. 质控
使用fastqc工具对样本进行质量分析:
对单个样本进行质控:
fastqc A2_1.fq.gz
运行结束后会生成html和zip文件,重点关注html文件以查看质控结果。
3. 质控进阶
为了处理多个样本,可以编写脚本让系统自动运行:
提取样本信息表中的样本名称:
awk '{print "fastqc "$9}' sample_info > fastqc_run.sh
查看生成的脚本:
cat fastqc_run.sh
执行脚本:
bash fastqc_run.sh
4. 质控结果合并
使用multiqc工具合并所有质控结果:
multiqc .
运行结束后会生成multiqc_data
文件夹和multiqc_report.html
文件,重点关注multiqc_report.html
文件。
5. multiqc结果解读
(1)General Statistics
显示所有样本的基本统计信息,包括重复reads比例、GC含量和总测序量等。
(2)Sequence Counts
显示每个样本的重复reads比例。
(3)Sequence Quality Histograms
显示每个read各位置碱基的平均测序质量,颜色区间表示质量等级。
(4)Per Sequence Quality Scores
显示具有平均质量分数的reads的数量分布。
(5)Per Base Sequence Content
显示每个样本各位置碱基ATCG的比例分布。
(6)Per Sequence GC Content
显示reads的平均GC含量分布。
(7)Per Base N Content
显示每条reads各位置N碱基含量比例。
(8)Sequence Length Distribution
显示测序长度和read counts的对应关系。
(9)Sequence Duplication Levels
显示序列的相对重复水平分布。
(10)Overrepresented sequences和Adapter Content
显示文库中过表达序列的比例和接头含量。
6. 数据过滤
使用trim-galore工具进行数据过滤:
创建输出文件夹:
mkdir 02_clean_data
切换到原始数据文件夹:
cd 00_raw_data
运行质量过滤:
trim_galore --quality 25 --stringency 1 --length 50 --paired --output_dir /home/daizhuer/Desktop/02_clean_data/ A2_1.fq.gz A2_2.fq.gz
过滤结果会保存在02_clean_data
文件夹中,包括过滤后的文件和质量过滤的结果报告。
质量过滤结果解读
- 质量分数阈值:设置为25,表示质量小于25的reads会被去除。
- 接头重叠碱基数:设置为1,表示对接头中重叠碱基数检查非常严格。
- 输出reads长度阈值:设置为50,表示长度小于50的reads会被去除。
- 完成质量过滤所消耗的时间。
- 接头重叠碱基数大于1的reads比例。
- 质量小于25的reads比例。
如果样本量较大,可以参照质控进阶部分,通过awk指令编写脚本自动运行剩余样本。
补充说明
质量过滤是否必要取决于质控分析结果。如果发现样本质量不佳,可以尝试进行过滤。过滤参数可以根据具体需求进行调整。