【基因课】测序数据过滤和质控
2018-10-24 本文已影响118人
猪猪头看世界
1. 课程大纲
- 基础知识
- 数据质控
- Fastqc结果解读
- 数据过滤
2. 学习笔记
2.1 基础知识
2.1.1 测序原理
- Sample Prep:DNA随机打断加adapter;
- Cluster Generation:桥式PCR;
- Sequencing: 边合成边测序;
- Data Analysis
2.1.2 fastq数据格式
- Read record information (including header, flow cell ID, Lane, Tile and barcode)
- Reads bases
- plus (+)
- quality scores (phred 33)
2.1.3 碱基质量体系
- A(黄)T(绿)C(红)G(蓝)
- Q = -10log10(e)转换:0.1对应10;
- Q30>80(质量大于30(错误率小于千分之一)的碱基比例大于80%)
- ASCII码,质量值 + 33后只需要一个值代替质量。
2.1.4 下载数据资料
git clone 网址(在对应文件夹下载,可下载至当前文件夹)
2.2 数据质控
2.2.1 md5:数据完整性校验
- 生成md5文件:md5sum *>md5.txt
- md5校验:md5sum -c md5
- 查看文件: cat md5.txt
2.2.2 安装FastQC
- 安装Bioconda(联网自动化安装miniconda64位):
wget miniconda website #官网下载对应版本miniconda
sh 文件名 # yes下来安装
conda source ~/.bashrc #将conda添加至环境变量PATH
conda install 软件名 #后续可用此命令安装常用生信软件
conda config --add channels bioconda #配置channel
which 软件名 # 查看文件安装位置
conda install bwa = 0.7.12 #安装特定版本软件
conda search bwa #查看所有版本,*为已有版本
conda list # 查看已安装情况
conda update 软件名 # 软件升级
conda remove 软件名 #软件卸载
- 安装FastQC
conda install fastqc # 安装
fastqc #查看是否安装好
which fastqc #查看安装位置
wget 网址 #手动安装下载文件
unzip 文件名 # 解压文件
fastqc为java文件,可直接使用,仅需修改权限
chmod a+x
- Tips:推荐自动安装,出现问题再选择手动安装,具体wget网址下载,按文件说明一步步安装。
2.2.3 使用FastQC进行质控
- 查看帮助文档
fastqc -help #查看帮助文档
fastqc 文件名 #简单的质控方法,默认结果输出至当前目录,输出结果包含html文件和一个zip压缩文件
fastqc -o ./ #设置存储位置,当前位置
fastqc --nogroup # 不设分组
- 用新建shell脚本取代命令行模式
vi qc.sh
sh qc.sh
- 后台运行方式
fastqc test.1.fastq & test.2.fastq # &符号可同时运行两个文件,不分先后
nohup fastqc -o ./ -- nogroup test.1.fastq & test.2.fastq # nohup 用于后台运行,只需要远程服务器连接状态即可
- 批量生成脚本方式
ls ../raw_data/raw_data/*.fastq.gz | xargs -i echo nohup fastqc -o ./ -- nogroup {} \& >fastqc.sh #列出所有质控文件,命令通道,按行处理,对每行执行fastqc和输出,将结果存档于fastqc文件
less nohup.out # 通过日志查看运行状态
2.3 Fastqc结果解读
2.3.1 数据常见问题
- 低质量:Trim or Remove
- Adapter序列:Trim or Remove
- 细菌污染:比对后remove
- Reads过短:remove
- 质控结果:网页文件,需下载至本地浏览器打开;提示信息中仅供参考(对号为通过;叹号为警告;×为未通过)
2.3.2 数据的基本信息
- Encoding:数据质量体系,旧版本Illumina 1.5,新的为Sanger体系;旧的需转换至新的体系。
- Total Sequences:总的reads数。
- Sequence Length:序列长度,分固定长度,不固定长度(三代测序结果)
- %GC:GC含量。
2.3.3 数据质量如何
- Per base sequence quality:单个碱基质量箱线图(上四分位,中位数,下四分位,横坐标为碱基位置,纵坐标为质量,一般至少20以上才合格),一般二代测序单独显示,三代会有合并显示;二代测序在质控时,一般设置no group参数。
- Per Tile sequencing quality:冷色调为高质量,暖色调为低质量,好的测序一般都为蓝色。
- Per Sequence Quality Scores:序列质量平均值分配,横坐标为质量值,纵坐标为reads数目,一般最右侧有一个峰值。
2.3.4 AT是否相等
- Per base sequence content:正常条件下,一般A=T,C=G;当数据不够多,可能会出现差异较大的情况;当出现头部AT不等时,可能是随机引物造成。
2.3.5 Sequence Duplication
- 含义:完全相同的reads
- 产生原因:基因组中的重复序列;不同细胞中的多套DNA;PCR扩增。
- 正常duplication比例为4%左右,RNA-seq偏高,主要由于rRNA,表达量高的看家基因等;
- 过高原因:过多PCR扩增(6轮64个拷贝),主要包括过少DNA、大片段文库;片段长度差异太大,短片段重复多;
- 实际中一般仅分析前十万条;大于75bp仅选择前50bp;大于10次合并显示。
- 实际分析中一次reads大于90%or95%比较合适。
2.3.6 序列是否有污染
- 污染种类:实验中添加试剂(adapter或primer);外源污染(人或细菌)。
- G/C含量图:正常一般为规则的正态分布平滑曲线,30-50%。
- Duplication level:个别重复数意外较多。
- Overrepresented sequences:某种序列格外多,证明有污染。
- Adapter Content:是否有adapter污染。
- kmer content:序列打断后,某种序列是否很多。
- Adapter 和 primer污染:过滤环节直接去除;
- 细菌污染:与其他基因组比对,确定是否有污染,若有,去除污染数据。
2.4 数据过滤
2.4.1 过滤软件哪家强
- SOAPnuke:华大专用,功能强大,安装复杂,有统计结果,低质量remove,需输入adapter序列,快。
- Trimmomatic:java不需要安装,低质量trim,保留更多数据,自带adapter库。
- FASTX-Toolkit:灵活,麻烦。
2.4.2 安装Trimmomatic
- 下载:wget 官网链接
- 解压:unzip 文件名
- 运行:java -jar 文件名(有java环境即可,否则需重新安装java)
2.4.3 使用trimmomatic过滤数据
-
过滤原理:接头处,空载,过短
过滤情况 - 过滤代码实例
java -jar trimmomatic-0.35.jar \ #注意写好文件所在绝对路径
PE \ #pair end
-phred33 \ #此处可省略
input_forward.fq.gz input_reverse.fq.gz \ #输入文件名
output_forward_paired.fq.gz output_forward_unpaired.fq.gz output_reverse_paired.fq.gz output_reverse_unpaired.fq.gz \ #输出文件名,一般四个
ILLUMINACLIP:adapter绝对路径/TruSeq3-PE.fa:2:30:10 \ #利用overexpresented数据确定adapter类型,Trueseq2 orTrueseq 3,去除adapter和primer等
LEADING:3 \ #去头,5’端低质量碱基
TRAILING:3 \ #去尾,3’端低质量碱基
SLIDINGWINDOW:4:15 \ #4个为单位的划窗,质量值小于15的去掉
MAXIINFO:60:0.2 # reads长度和质量的平衡
CROP/HEADCROP:100 \ # 最多保留N个碱基长度
MINLEN:36
3. 学习小结
- 注意活学活用,熟悉文件夹切换。
- 养成良好习惯,单独建立软件文件夹和数据文件夹。