工欲善其事,必先利其器
1FastQC
- 跨平台应用程序,支持 WIN、MAC、Linux 平台。
- 编程语言Java
- 官网 https://www.bioinformatics.babraham.ac.uk/projects/fastqc/
2简要用途
FastQC——高通量测序质量控制工具。用于检查原始数据以确认是否存在质量问题或偏差。它可以作为交互式应用程序用于少量文件的即时分析,也可以非交互式地运行,适合于作为大规模分析流程的一部分。FastQC与特定的测序技术无关,因此可以用于查看各种组学的测序数据(包括不限于 WGS、WES、RNAseq、ChIP-seq、BS-Seq等)
3下载安装
如果可以Conda安装,我们一般默认推荐采用conda安装
代码语言:javascript复制## 首先创建一个RNAseq分析小环境
conda crean -n rnaseq
## 激活小环境
conda activate rnaseq
## 安装软件
conda install fastqc
当然你也可以下载二进制或源码编译安装
4最小化使用
FastQC的使用非常简单
代码语言:javascript复制
fastqc seqfile1 seqfile2 .. seqfileN
## fastqc命令 输入文件 即可运行
## example
~/biosoft/FastQC/fastqc /public/project/father/DYDFN-785-10_H7Y5NCCXY_L7_1.fq.gz
5其它参数
复杂一点的用法,你可以指定一些可选参数
代码语言:javascript复制fastqc [-o output dir] [--(no)extract] [-f fastq|bam|sam]
[-c contaminant file] seqfile1 .. seqfileN
-o #用来指定输出文件的所在目录,注意是不能自动新建目录的。输出的结果是.zip文件,默认自动解压缩,命令里加上--noextract则不解压缩。
-f #用来强制指定输入文件格式,不加也可以,因为默认会自动检测。
-c #用来指定一个contaminant文件,fastqc会把overrepresented sequences往这个contaminant文件里搜索。contaminant文件的格式是"NametSequences",#开头的行是注释。
-q #运行时会进入沉默模式,即不出现下面的提示:
Started analysis of target.fq
Approx 5% complete for target.fq
pprox 10% complete for target.fq
-d #指定一个临时文件目录
示例
代码语言:javascript复制## example
~/biosoft/FastQC/fastqc -f fastq -o ~/outdir -d ~/tmpdir /public/project/test_date/DYDFN-785-10_H7Y5NCCXY_L7_1.fq.gz
## 批量处理
#方法一
fastqc xxx*.gz
#方法二
for i in 'ls *gz';do fastqc $i;done
#方法三
ls *gz | xargs -I [] echo 'nohup fastqc [] &' > fastqc.sh
6RNAseq流程的Fastqc结果怎么看?
FastQC适用多种组学流程分析,那么在RNAseq流程中,fastqc 输出结果该如何去理解呢?下面让我们拿一个RNAseq报告的结果来一一解读一下吧。
1、Basic Statistics
参数 | 描述 |
---|---|
Filename | 原始分析文件名 |
File type | 文件类型 base calls 表示碱基识别,带有fq序列信息文件 |
Encoding | 编码ASCII 编码的质量值系统 |
Total Sequences | 测序数据的总read数 |
Filtered Sequences | 过滤后的read数 |
Sequences flagged as poor quality | 标记为质量不佳的序列(得分低于设定的阈值) |
Sequence Length | 提供最长和最短read的length,如果所有read一样长,则只有一个数值 |
%GC | GC含量 |
2、Per base sequence quality
展示fq文件中每个位置上的所有read的碱基质量的一个箱线图
如图文件有22783596个read,那么第一个位置上的base(碱基)就有22783596个质量值,这个值画成第一个箱线图,然后依次往后推。图中可以看到该数据质量非常好
3、Per Sequence Quality Scores
每个序列质量分数报告允许你查看序列的子集是否具有普遍较低的质量值。
- 横轴:质量值0-40 ,也即是Q值
- 纵轴:每个质量值对应的read数
图中测序结果主要集中在高分中,说明测序质量良好。
4、Per Base Sequence Content
每个碱基位置上:ATGC含量的分布图。碱基类型分布检查用于检测有无AT、GC分离现象,由于RNA-Seq所测的序列为随机打断的cDNA片段,因随机性打断及碱基互补配对原则,理论上,G和C、A和T的含量每个测序循环上应分别相等,且整个测序过程稳定不变,呈水平线。由于Reads 5'端的前几个碱基为随机引物序列存在一定的偏好性,因此会在碱基分布图中出现前端波动较大的现象。
- 横轴:各碱基位置;
- 纵轴:碱基百分比
图上展示了在所有读取序列的每个位置上,四种核苷酸(腺嘌呤 [A],胞嘧啶 [C],鸟嘌呤 [G] 和胸腺嘧啶 [T])的比例。每种核苷酸用不同颜色表示。初始位置显示了显著的变异和不平衡,这是正常的,在序列的1-9位,通常会出现较大的波动。在第10位之后,线条趋于变得更稳定,但仍有一些波动,这表明文库可能存在轻微的偏差,或者测序过程中存在导致碱基分布不均的问题。
5、Per sequence GC content
此模块评估文件中每个序列的整个长度的GC含量,并将其与建模的正态分布GC含量进行比较。
- 横轴:GC含量百分比
- 纵轴:每个GC含量对应的序列数量
图上的曲线表示在所有测序读取中,每个读取序列的平均GC含量的分布(通常假设是正态分布)。蓝线为理论分布;红线为测量值,二者越接近越好
在这张图中,红色实际分布线条在中间的GC含量区间与蓝色理论分布线条较为吻合,表明在这个区间内的GC含量是符合预期的。然而,在高GC含量区间,实际分布的读取数量超过了理论分布预期的数量,这可能表明在高GC含量的区域有过量的读取。这种情况可能是由于样本中某些富含GC的区域被过度测序,或者是测序过程中的某些偏差导致。
6、Per base N content
N含量分布图,理想情况下,整个读取中的N含量应该是非常低的,因为N代表一个位置上碱基的不确定性,通常是由于测序仪器无法确定该位置的碱基是A、T、C还是G。
- 横轴:读取序列中的位置(以碱基对为单位),
- 纵轴:该位置上N的百分比。
图中,整个读取长度范围内的N含量几乎为零,这表示质量很好。
7、Sequence Length Distribution
reads 长度分布图。通常情况下,这将生成一个简单的图表,只显示一个大小的峰值,但是对于可变长度的FastQ文件,这将显示每个不同大小的序列片段的相对数量。
- 横轴:读取的长度,单位是碱基对(bp)
- 纵轴:在每个长度区间内reads的数量
在图中,可以看到几乎所有的读取都集中在一个非常窄的长度区间(图上是145-149bp)。这种情况通常意味着测序读取的长度非常一致,这在使用特定长度的测序策略时是预期的结果。长度的一致性通常对后续分析有利,例如在进行序列组装或映射到参考基因组时。
8、Sequence Duplication Levels
序列重复性分布图
- 横坐标表示duplication 的次数。例如1表示序列没有重复,2表示序列重复了一次,以此类推。“>1”表示重复一次以上的序列,“>10”表示重复超过10次的序列,依此类推,直至“>10k”表示重复超过10,000次的序列。
- 纵坐标是重复序列占总序列的百分比
在理想的RNAseq数据中,大多数序列都应该是唯一的,因为它们代表了从不同转录本中捕获的RNA片段。然而,一些RNA片段可能由于生物学上的原因或者技术上的原因(如PCR扩增)出现重复。
从图中可以看到,大部分序列只出现一次(没有重复),这是好的。但是,也有一定比例的序列出现了多次重复,特别是在某些较高的重复水平区域(如9次、>10次),这些峰值表示特定序列高频出现。图上方的文字“Percent of seqs remaining if deduplicated 8.31%”意味着如果去除所有的重复序列,还会剩下8.31%的唯一序列。这个比例较低,可能表明在测序数据中存在大量的重复。这种高水平的重复可能是由于高表达基因造成的,也可能是文库制备或测序过程中的偏差。这种大量重复在RNAseq中是正常的。
9、 Overrepresented sequences
表中的“序列”列显示了具体的核苷酸序列。"计数"列显示了每个序列在数据中出现的次数,而“百分比”列显示了该序列出现次数占总测序读取的百分比。最后,“可能来源”列显示了这些序列可能与已知序列的匹配情况,这里都显示为"No Hit",意味着没有找到与这些高频序列相匹配的已知来源。
过量表达的序列可能意味着:
- 有些序列可能是由于技术原因过度扩增,如PCR过程中的偏好性扩增。
- 它们可能来源于RNA样本中表达水平特别高的基因。
- 也可能是污染或者其他实验室技术问题的结果。
10、Adapter Content
该图用于检测测序读取中是否存在接头序列。在测序过程中,接头序列被添加到DNA片段的两端,以便将片段固定到测序平台上。理想情况下,这些接头序列在数据处理之前会被去除,因为它们不是样本的一部分。然而,如果接头剪切不完全,它们可能会在测序数据中出现。
- 横轴:表示读取序列中的位置
- 纵轴:检测到接头序列的百分比。
- 不同颜色代表了不同的接头类型,例如Illumina Universal Adapter、Illumina Small RNA 3' Adapter等。
软件内置了四种常用的测序接头序列,同时fastqc也有一个参数-a
可以自定义接头序列
从上图中可以看出,在所有读取位置上几乎没有检测到接头序列,这意味着数据中的接头含量非常低,或者说几乎没有接头污染。表明接头序列已被有效去除,减少了对后续数据分析造成干扰的可能性。