细菌基因组拼接(一)

2021.3.17
持续更新中。。。


⭐总纲

  • 材料:Illumina双末端测序原始数据(通常是两个fastaq的.gz压缩文件,文中为:sequence_1.fastq.gz和sequence_2.fastq.gz)
  • 软件:FastQC、Trimmomatic、SPAdes、QUAST(均可通过conda一键下载)

1. FastQC —— 质量评估

FastQC是一款基于Java的软件,它可以快速地对测序数据进行质量评估,并生成网页版的报告。

1.1 使用

fastqc   -o <目录名> -t 线程数

重要参数
1. -o:输出文件目录(需要提前新建一个目录)
2. -t:选择程序运行的线程数
3. -f:指定输入文件格式

1.2 输出文件

每个原始数据文件会生成两个文件,一个为.html网页文件,一个为.zip文件。打开.html可以查看序列的测序质量情况,分为三个等级:合格项为绿色√,警告是黄色的!,不合格为红色的×。(绿色越多越好)

fastqc质量报告


2. Trimmomatic —— 过滤

Trimmomatic用于illumina二代测序数据的reads处理,主要用于对接头(adapter)序列和低质量序列进行过滤。能够识别fastq的.gz和.bz2文件。主要有两种模式:双端模式(PE)和单端模式(SE)。

注:二代测序下机数据一般是150bp的序列,这些序列理论上全是自己的目标序列,但是有可能由于测通而含有接头序列。

2.1 使用(一条命令)

trimmomatic PE -phred33    
 <目录/sequence_1_paired.fastq.gz> <目录/sequence_1_unpaired.fastq.gz> <目录/sequence_2_paired.fastq.gz> <目录/sequence_2_unpaired.fastq.gz> 
 ILLUMINACLIP:~/miniconda3/pkgs/trimmomatic-0.39-1/share/trimmomatic/adapters/TruSeq3-PE.fa:2:30:10:1:TRUE
 SLIDINGWINDOW:5:20 LEADING:20 TRAILING:20 MINLEN:75

重要参数
1. PE:指定为双末端测序(单端用SE)
2. -phred33将 reads 的碱基质量值体系转为 phred-33,也可以设置为phred-64。
3. ILLUMINACLIP:过滤 reads 中的 Illumina 测序接头和引物序列,并决定是否去除反向互补的 1/2 中的 2。ILLUMINACLIP参数后面的是.fa文件,用conda安装的话一般在miniconda3/pkgs/trimmomatic-0.39-1/share/trimmomatic/adapters/TruSeq3-PE.fa下,其中有两种文件可选:TruSeq3-PE.faTruSeq2-PE.faTruSeq3-PE.fa适用于Hiseq和Miseq机器测序,TruSeq2-PE.fa用于GAII机器测序。(TruSeq和Nextera是DNA建库常用的试剂盒)
4. SLIDINGWINDOW: 从 reads 的 5' 端开始,进行滑窗质量过滤。示例的意思是以5bp为窗口,若这5bp碱基的平均质量值低于20,则要进行切除。
5. LEADING:从reads起始开始,去除质量低于阈值或为'N'的碱基。
6. TRAILING:从 reads 的末尾开始切除质量值低于阈值的碱基。
7. MINLEN:如果经过剪切后 reads 的长度低于阈值则丢弃这条 reads。

可选参数
1. AVGQUAL:如果 reads 的平均碱基质量值低于阈值则丢弃这条 reads。
2. MAXINFO:一个自动调整的过滤选项,在保证 reads 长度的情况下尽量降低测序错误率,最大化 reads 的使用价值。

2.2 输出文件

一共会输出四个文件,其中双端序列都保留的序列在sequence_1_paired.fastq.gzsequence_2_paired.fastq.gz中可以用于下一步的序列拼接。只保留一条的序列在sequence_1_unpaired.fastq.gzsequence_2_unpaired.fastq.gz中。

过滤之后,还需要用fastqc对过滤后的数据进行质控,如果不符合要求,可重新更改参数进行过滤。


3. SPAdes —— 短序列拼接

SPAdes是常用的序列拼接软件之一,支持illumina、PacBio、Nanopore、Sanger、Ion Torrent等测序数据的拼接,同样适合用于混合组装来改善拼接效果。

3.1 使用

spades.py --pe1-1  --pe1-2  
 -t 10  -m 100 --careful --phred-offset 33 -o 

重要参数:
1. --pe<#>-1:指定输入文库,其中#表示第几个文库。例如,第一pairend文库就可以写成--pe1-1,之后接reads1文件
2. --pe<#>-2:和上面类似,如果是大片段的matepair文库,就使用--mp1-1等。
3. -t:线程数,默认是16个。
4. -m:用于内存限制。
5. --careful:减少错误和插入序列,添加此项会消耗更多的时间。
6. --phred-offset:碱基质量体系,在数据纠错中会用到,现在illumina数据一般采用phred 33。
7. -o:输出目录

可选参数:
1. -k:k-mer值列表,数字必须是小于128的奇数。注:若小片段文库(150bp×2)数据量足够(50×+),则推荐使用-k 21,33,55,77
2. --pacbio:指定pacbio数据输入。
3. --nanopore:指定nanopore数据输入。

3.2 输出文件

着重关注文件*scaffolds.fasta*contigs.fasta文件即可。


4. QUAST —— 评价组装结果

4.1 安装

conda install quast

在用conda安装了FastQC、Trimmomatic、SPAdes后,环境中的python版本是3.9,安装不上QUAST了,在一个低版本的python环境下安装了QUAST。

4.2 使用

quast.py -o   -R  -t 25 <*scaffolds.fasta> <*scaffolds.fasta>

重要参数:
1. -o:输出目录
2. -R:参考基因组序列
3. -t:线程数

5. 总结

自己提取基因组送去公司测了以此框架图,回馈的原始数据深度达到了200×+,但是自己通过这个软件流程下来发现最后拼接得到的scaffold的数量有2000+!!!但是公司最后回馈的草图只有100条不到的scaffold数量。说明仅靠这些步骤拼接出来的质量并不是很高!!!

你可能感兴趣的:(细菌基因组拼接(一))