从头组装基因组实践

一般需要8步骤:

![ME(}JV]M(16}157JQ6TIMWH.png](https://upload-images.jianshu.io/upload_images/24959989-adbdf01af82f0283.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

使用的原始文件

测序者会提供两个文件: 一个是fastq文件(每个样本一般为4行),包含测序序列,并且含有Phred quality score
来自wiki(https://en.wikipedia.org/wiki/Phred_quality_score)
Q= -10log10(P)

image.png

A good score is usually above Q20-30, which means 90-99% of the reads, are accurate. If your coverage is high you can afford to aim for a quality score above 30。
This module will raise a failure if the lower quartile for any base is less than 5 or if the median for any base is less than 20.

第二是:quality value 文件

QC的软件

FastQC, FASTX-Toolkit, SolexaQA, Galaxy, Picard

使用FastQC

文档:https://www.bioinformatics.babraham.ac.uk/projects/fastqc/

查看base的组成(ATGC比例),base的质量(phred score), 测序重复水平

per sequence quality score report:
您设法只保留平均质量得分较高的序列(例如 30-34)。

对于read的correction

需要:去除重复的reads, 适配体, 潜在污染,和修剪低质量的bases, 最后去除短reads。
工具:Trimmomatic
http://www.usadellab.org/cms/index.php?page=trimmomatic
其是用来处理:Illumina NGS 数据(paired-end and single-ended)处理fastq文件,对于phred +33或+64数据处理。

java -jar ../Trimmomatic-0.32/trimmomatic-0.32.jar PE -threads 4 -phred33 bactmp1.fastq bactmp2.fastq bactmp1.paired.fastq bactmp1.unpaired.fastq bactmp2.paired.fastq bactmp2.unpaired.fastq ILLUMINACLIP:../programfiles/adapters.fasta:2:30:20 LEADING:20 TRAILING:20 SLIDINGWINDOW:10:20 MINLEN:75

具有参考和从头组装比较:


image.png

从头组装

需要使用适当的组装器来对Trimmomatic的文件()进行组装。

velvet组装器

介绍与下载:
http://www.ebi.ac.uk/~zerbino/velvet/
http://en.wikipedia.org/wiki/Velvet_assembler

需要两步完成:
(1)velveth hash_length {[-file_format][-read_type][-separate|-interleaved] filename1 [filename2 ...]}
PS:hash_length : refers to k-value
(2) velvetg

实际代码:
elveth denovo/ 45 -fastq -shortPaired ../reads/bactpe.paired.fastq -shortPaired2 ../reads/bactmp.paired.fastq

自动进行

gedit ../VelvetOptimiser-2.2.5/VelvetOptimiser.pl
cpanm Bio::SeqIO module

!/usr/bin/env perl

perl ../VelvetOptimiser-2.2.5/VelvetOptimiser.pl -e 75 -f '-fastq -shortPaired ../reads/bactpe.paired.fastq -shortPaired2 ../reads/bactmp.paired.fastq'

SPAdes组装器

主页:http://cab.spbu.ru/software/spades/
但是其不适合哺乳动物
使用:
spades.py [options] -o

c. 使用 Quast 评估组件(Evaluate assemblies with Quast)
./quast.py ../contigs/velvet_contigs.fasta --no-plots –s

6 使用CISA整合Assemblies

CISA整合不同的assemblies(来自Ray和Velvet)
通过这种方式,它旨在在不失去覆盖范围的情况下最小化重叠群的总数; 它还具有可以改进重叠群的扩展选项; 您将使用生成并保存在 contigs 目录中的两个程序集来测试此工具。
使用:

1st: python Merge.py merge.config

需要建一个参数文件(merge.config),需要输入:


image.png

eg:


image.png

接着使用:python Merge.py merge.config

2nd: python CISA.py cisa.config

再次创建一个参数文件(cisa.config):


image.png

再运行:python CISA.py cisa.config
屏幕最后会输出contigs的信息

一旦达到较少数量的具有良好基因组覆盖的contigs,您就可以准备构建contigs,即,将它们按正确的顺序和方向放置

7 scaffolding with SSPACE

SSPACE 是一个独立程序,用于使用配对读取数据构建预组装的contigs。 通过使用配对末端和/或配对数据的距离信息,SSPACE 能够评估contigs的顺序、距离和方向,并将它们组合成支架。 最终scaffolds以 FASTA 格式提供。
使用:
perl SSPACE.pl -l libraries.txt

8 Mapping Scaffolds to a reference

将拼装的基因组与参考genome比较,验证拼装的好坏。
使用工具:CONTIHuator
CONTIGuator 是一种用于在参考基因组上映射contigs的软件工具,它允许contigs图的可视化,强调遗传元件的丢失和/或增加,并允许完成多部分基因组。
Galardini, M., Biondi, E.G., Bazzicalupo, M. et al. CONTIGuator: a bacterial genomes finishing tool for structural insights on draft genomes. Source Code Biol Med 6, 11 (2011). https://doi.org/10.1186/1751-0473-6-11

从头组装基因组特点

其算法会比较每一个read和其他read:所以需要memory,很慢。
编译器的类型:
1: 贪心算法(greedy algorithms)
2: 启发式算法(heuristic algorithms):
重叠/布局/共识(OLC)
德布鲁因图 (DBG)

k-mer

使用K-merGenie估计最佳k-mer(http://kmergenie.bx.psu.edu/)
KmerGenie 估计基因组从头组装的最佳 k-mer 长度。 给定一组读数,KmerGenie 首先计算 k 的许多值的 k-mer 丰度直方图。 然后,对于 k 的每个值,它预测数据集中不同基因组 k-mer 的数量,并返回使该数量最大化的 k-mer 长度。 在序列组装中,k-mers 通常用于构建 De Bruijn 图。
使用: kmergenie
工作的长度为k
使用特定的频率重复整个基因组
频率取决于长度:

image.png

graph 理论

其实考虑一个结构包含多少个nodes和edges


image.png

OLC

image.png

DBG

image.png

组装的评价

覆盖率百分比

计算:
image.png
重叠群的数量/最长重叠群的长度

差距(Gap)百分比
读取到重叠群的映射
支架(scaffold)和重叠群(conting) N50

组装使用的文件

当组装时,需要使用两个文件:1 contigs, 其具有多种形式: paired-end reads, mate pair read and single-end reads
2 scaffolds

你可能感兴趣的:(从头组装基因组实践)