1 基础了解
NGS008 测序常用名词
NGS009 生信常用数据格式
NGS010 测序数据质控
2 fasta与fastq
一般NGS测序数据均为Fastq格式
FASTQ格式的序列一般都包含有四行,第一行由'@'开始,后面跟着序列的描述信息,这点跟FASTA格式是一样的。第二行是序列。第三行由'+'开始,后面也可以跟着序列的描述信息。第四行是第二行序列的质量评价(quality values,注:应该是测序的质量评价),字符数跟第二行的序列是相等的
首行:@SRR3589956.1 D5VG2KN1:224:C4VAYACXX:5:1101:1159:2173 length=102
Tag | 描述 |
---|---|
SRR3589956.1 | 数据名称 |
D5VG2KN1 | 仪器编号 |
224 | run id |
C4VAYACXX | flowcell编号 |
5 | flowcell lane |
1101 | flowcell lane中的tile编号 |
1159 | 簇的“x”坐标 |
2173 | 簇的“y”坐标 |
已比对的数据一般以Fasta格式存储
fasta格式文件的第一行是由大于号“>”(较常用)或分号“;”打头的任意文字说明,用于序列标记。从第二行开始为序列本身,只允许使用既定的核苷酸或氨基酸编码符号(参见支持代码类型)。通常核苷酸符号大小写均可,而氨基酸常用大写字母。使用时应注意有些程序对大小写有明确要求。一般每行60~80个字母。
3 Fastqc
3.1 软件安装
Linux010 Miniconda安装及使用
Linux012 Fastqc安装及使用
Linux018 conda虚拟环境
linux023 conda安装常用生信软件
FastQC是一款基于Java的软件,它可以快速地对测序数据进行质量评估,其官网为:http://www.bioinformatics.babraham.ac.uk/projects/fastqc/
安装过程详见2.1节
3.2 语法
fastqc seqfile1 seqfile2 .. seqfileN
fastqc [-o output dir] [--(no)extract] [-f fastq|bam|sam][-c contaminant file] seqfile1 .. seqfileN
3.3 主要参数
-h --help
-v --version
-o -output dir
-casave 文件来自原始 casave 输出
-nano 文件来自 naopore 序列,采用 fast5 格式
-extract 如果设置,则压缩输出
-j --java java二进制文件完整路径
-nogroup 禁止读取2500bp以上的碱基组
-f 跳过正常文件格式检测,强制使用指定格式 bam | sam | bam_mapped | sam_mapped | fastq
-t --threads 多线程,每个线程 250 M
-c --contamin 指定包含列表的非默认文件,污染物筛选过多的序列(哈希)
-a -adapters 指定包含列表的非默认文件,包含一组已经命名的Adapter(哈希)
-l 指定一个非默认文件,限制将用于确认 warning / Fairure,或者从结果中删除一些模块, cofiguration --> limits.txt
-k -kmers 指定要在Kmer中查找的长度,必须在2-10 之间,默认为7
-q -quiet 安静模式,在标准输出上禁止所有的进度消息,只报错
-d --dir 一个目录用于写入临时文件当生成图像时, 默认系统临时目录
3.4 运行结果
Fastqc运行结束后生成两个文件:一个html网页文件和一个zip压缩文件
使用浏览器打开html网页文件如下:
3.4.1 基本统计 Basic Statistics
3.4.2 碱基序列质量 Per base sequence quality
碱基质量值均在30以上,也即Q30比例很高,测序质量很好
3.4.3 每tile序列质量
横轴代表101个碱基的不同位置,纵轴是tile的编号,代表在芯片中的位置
蓝色代表测序质量很高,暖色代表测序质量不高,如果某些tile出现暖色,可以在后续分析中把该tail测序的结果全部都去除
3.4.4 每个序列的质量得分 Per sequence quality scores
这个图可以看出各个序列质量的分布情况,上图可以看出绝大部分序列质量都在30以上。
3.4.5 每个碱基的含量 Per base sequence content
从图中可以看是AGCT的分布比较均一,因该图采用的是PE50测序,所以在正反向测序的起始几个碱基,会有一定的波动,总体看来,碱基是平衡的
3.4.6 每个序列的GC含量 Per sequence GC content
蓝色的线是程序根据经验分布给出的理论值,红色是真实值,两个应该比较接近才比较好
当红色的线出现双峰,基本肯定是混入了其他物种的DNA序列
3.4.7 N碱基数量 Per base N content
序列中各个位点的N含量,越小越好
3.4.8 序列长度分布 Sequence Length Distribution
序列测序长度统计,从图中可以看出序列的平均长度为102
3.4.9 序列重复水平 Sequence Duplication Levels
在测序过程中有较多的原因会导致产生Duplication,dup越高说明文库的复杂度偏低,有效数据量偏少
3.4.10 Overrepresented sequences
over-represented意为某个序列大量出现,fastqc的标准是占全部reads的0.1%以上。为了计算方便,只取了fq数据的前200,000条reads进行统计,所以有可能over-represented reads不在里面。而且大于75bp的reads也是只取50bp。当发现超过总reads数0.1%的reads时报"黄色!",当发现超过总reads数1%的reads时报"红色×"。
3.4.11 接头含量 Adapter Content
出现接头的主要原因是某些较短的reads在测序过程中被测通了,如果有接头混入,需要对数据进行去接头处理,得到clean reads
4 multiqc
fastqc是一款基于java的软件,能够对测序数据的质量进行评估。一个样本生成一个报告,当样本量过多时,逐一查看样本质量就稍显不方便
multiqc是一个基于Python的模块, 用于整合其它软件的报告的软件,能将fastqc生成的多个报告整合成一个报告的软件,这样能方便的查看所有测序数据的质量。
4.1 软件安装
multiqc可以通过conda进行安装
# 默认安装最新版
conda install multiqc
# -c选定镜像安装
conda install -c bioconda multiqc
# 安装特定版本X
conda install -c bioconda multiqc=X
4.2 使用及参数
multiqc [OPTIONS] <analysis directory>
4.3 运行结果
5 批量运行
5.1 文件转换
如果是下载sra文件,需要使用sratoolkit中的fastq-dump命令进行转换
# 单份文件太大,--split进行分割为三份
for id in `seq 56 62`
do
fastq-dump --gzip --split-3 -O /mnt/f/Data/RNA-Seq -A SRR35899${id}
done
5.2 文件合并及质控
那么分割的文件怎么去运行fastqc呢?
如下图:
# 因为文件均是.fastq.gz,可以使用通配符代替文件名
fastqc *.fastq.gz
# 或者也可以将同样本的数据进行合并
cat SRR3589956*.fastq.gz > SRR3589956.fastq.gz
fastqc *.fastq.gz
利用循环
# 通过循环将同一数据的多个压缩包进行合并qc,-o指定输出文件夹,----noextract不解压文件
for i in {56..62};do cat SRR35899$i*.fastq.gz > SRR35899$i.fastq.gz;fastqc -o /home/cqs/biotest/RNA --noextract SRR35899$i.fastq.gz;done
# 或是for((i=56;i<=62;i++));do cat SRR35899$i*.fastq.gz > SRR35899$i.fastq.gz;fastqc -o /home/cqs/biotest/RNA --noextract SRR35899$i.fastq.gz;done
# 上述命令也可以写成如下形式
for i in {56..62}
do
cat SRR35899$i*.fastq.gz > SRR35899$i.fastq.gz
fastqc -o /home/cqs/biotest/RNA --noextract SRR35899$i.fastq.gz
done
# 也可以将上述循环分开,?仅代表单个字符,对合并后的文件进行质控 fastqc SRR35899??.fastq.gz
# 对文件夹内fastqc质控文件进行合并
cd /home/cqs/biotest/RNA
multiqc ./
需要注意的是,把文件合并后,合并前的文件仍在,如下图,整个存储空间会翻倍
fastqc以及multiqc结果
-
multiqc_report_html
-
multiqc_data
- multiqc_fastqc.txt
less -SN multiqc_fastqc.txt
参考
https://zhuanlan.zhihu.com/p/93186419
http://www.biotrainee.com/thread-1931-1-1.html
http://www.biotrainee.com/thread-1750-1-1.html
http://www.biotrainee.com/thread-1831-1-1.html