# WES-germline Small Variants Quality Control Pipeline(Start from FASTQ files)
> Author:Luyao Ren Ruimei Liu
>
> E-mail:18110700050@fudan.edu.cn; 20110700157@fudan.edu.cn
>
> Git: http://47.103.223.233/liuruimei/WES_for_NIST/
>
> Last Updates: 2021/05/25
## 安装指南
```
# 激活choppy环境
open-choppy-env
# 安装app
choppy install liuruimei/WES_for_NIST
```
## App
此Quality_control APP用于以NIST benchmark为参考标准,对所检测的全基因组测序(whole-exome sequencing,WES)数据的质量评估,包括原始数据质控、比对数据质控和突变检出数据质控。
## 流程与参数
### 1. 原始数据质量控制
#### [Fastqc]() v0.11.5
FastQC是一个常用的测序原始数据的质控软件,主要包括12个模块,具体请参考[Fastqc模块详情]()。
```bash
fastqc -t -o
```
#### [Fastq Screen]() 0.12.0
Fastq Screen是检测测序原始数据中是否引⼊入其他物种,或是接头引物等污染,⽐比如,如果测序样本
是⼈人类,我们期望99%以上的reads匹配到⼈人类基因组,10%左右的reads匹配到与⼈人类基因组同源性
较⾼高的⼩小⿏鼠上。如果有过多的reads匹配到Ecoli或者Yeast,要考虑是否在培养细胞的时候细胞系被污
染,或者建库时⽂文库被污染。
```bash
fastq_screen --aligner --conf --top --threads
```
`--conf` conifg 文件主要输入了多个物种的fasta文件地址,可根据自己自己的需求下载其他物种的fasta文件加入分析
`--top`一般不需要对整个fastq文件进行检索,取前100000行
### 2. 比对后数据质量控制
#### [Qualimap]() 2.0.0
Qualimap是一个比对指控软件,包含Picard的MarkDuplicates的结果和sentieon中metrics的质控结果。
```bash
qualimap bamqc -bam -outformat PDF:HTML -nt -outdir --java-mem-size=32G
```
### 3. 突变检出数据质量控制
突变质量控制的流程如下

#### 3.1 根据标准数据集的数据质量控制
#### [Hap.py]() v0.3.9
hap.py是将被检测vcf结果与benchmarking对比,计算precision和recall的软件,它考虑了vcf中[突变表示形式的多样性](),进行了归一化。
```bash
hap.py -f --threads -o
```
## App输入文件
```bash
choppy samples liuruimei/WES_for_NIST-latest --output samples
```
####Samples文件的输入包括
**1. inputSamplesFile**,该文件的上传至阿里云,samples文件中填写该文件的阿里云地址
请查看示例 **inputSamples.Examples.txt**
```bash
#read1 #read2 #sample_name
```
read1 是阿里云上fastq read1的地址
read2 是阿里云上fastq read2的地址
sample_name是指样本的命名
所有上传的文件应有规范的命名
NIST_DNA_SequenceTech_SequenceMachine_SequenceSite_Sample_Replicate_Date.R1/R2.fastq.gz
SequenceTech是指测序平台,如ILM、BGI等
SequenceMachine是指测序仪器,如XTen、Nova、Hiseq(Illumina)、SEQ500、SEQ1000(BGI)等
SequenceSite是指测序单位的英文缩写
Replicate是指技术重复,从1开始依次增加
Date是指数据获得日期,格式为20200710
后缀一定是R1/R2.fastq.gz,不可以随意更改,R1/R2不可以写成r1/r2,fastq.gz不可以写成fq.gz
各个缩写规范请见 https://fudan-pgx.yuque.com/docs/share/5baa851b-da97-47b9-b6c4-78f2b60595ab?# 《数据命名规范》
**2. bed**
## 结果展示与解读
####1. 原始数据质量控制
原始数据质量控制主要通过考察测序数据的基本特征判断数据质量的好坏,比如数据量是否达到要求、reads的重复率是否过多、碱基质量、ATGC四种碱基的分布、GC含量、接头序列含量以及是否有其他物种的污染等等。
FastQC和FastqScreen是两个常用的原始数据质量控制软件
总结表格 **pre_alignment.txt**
| 列名 | 说明 |
| ------------------------- | ------------------------------------ |
| Sample | 样本名,R1结尾为read1,R2结尾为read2 |
| %Dup | % Duplicate reads |
| %GC | Average % GC content |
| Total Sequences (million) | Total sequences |
| %Human | 比对到人类基因组的比例 |
| %EColi | 比对到大肠杆菌基因组的比例 |
| %Adapter | 比对到接头序列的比例 |
| %Vector | 比对到载体基因组的比例 |
| %rRNA | 比对到rRNA序列的比例 |
| %Virus | 比对到病毒基因组的比例 |
| %Yeast | 比对到酵母基因组的比例 |
| %Mitoch | 比对到线粒体序列的比例 |
| %No hits | 没有比对到以上基因组的比例 |
#### 2. 比对后数据质量控制
总结表格**post_alignment.txt**
| 列名 | 说明 |
| --------------------- | --------------------------------------------- |
| Sample | 样本名 |
| %Mapping | % mapped reads |
| %Mismatch Rate | Mapping error rate |
| Mendelian Insert Size | Median insert size(bp) |
| %Q20 | % bases >Q20 |
| %Q30 | % bases >Q30 |
| Mean Coverage | Mean deduped coverage |
| Median Coverage | Median deduped coverage |
| PCT_1X | Fraction of genome with at least 1x coverage |
| PCT_5X | Fraction of genome with at least 5x coverage |
| PCT_10X | Fraction of genome with at least 10x coverage |
| PCT_30X | Fraction of genome with at least 30x coverage |
####3. 突变检出数据质量控制
具体信息**variants.calling.qc.txt**
| 列名 | 说明 |
| --------------- | ------------------------------ |
| Sample | 样本名 |
| SNV number | 检测到SNV的数目 |
| INDEL number | 检测到INDEL的数目 |
| SNV query | 在高置信基因组区域中的SNV数目 |
| INDEL query | 在高置信基因组区域中INDEL数目 |
| SNV TP | 真阳性SNV |
| INDEL TP | 真阳性INDEL |
| SNV FP | 假阳性SNV |
| INDEL FP | 假阳性INDEL |
| SNV FN | 假阴性SNV |
| INDEL FN | 假阴性INDEL |
| SNV precision | SNV与标准集比较的precision |
| INDEL precision | INDEL的与标准集比较的precision |
| SNV recall | SNV与标准集比较的recall |
| INDEL recall | INDEL的与标准集比较的recall |
| SNV F1 | SNV与标准集比较的F1-score |
| INDEL F1 | INDEL与标准集比较的F1-score |
与标准集比较的家庭单元整合结果**reference_datasets_aver-std.txt**
| | Mean | SD |
| --------------- | ---- | ---- |
| SNV precision | | |
| INDEL precision | | |
| SNV recall | | |
| INDEL recall | | |
| SNV F1 | | |
| INDEL F1 | | |