一般需要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)
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
具有参考和从头组装比较:
从头组装
需要使用适当的组装器来对Trimmomatic的文件()进行组装。
velvet组装器
介绍与下载:
http://www.ebi.ac.uk/~zerbino/velvet/
http://en.wikipedia.org/wiki/Velvet_assembler
需要两步完成:
(1)velveth <newfolder> hash_length {[-file_format][-read_type][-separate|-interleaved] filename1 [filename2 ...]}
PS:hash_length : refers to k-value
(2) velvetg <newfolder>
实际代码:
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 <output_dir>
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),需要输入:
eg:
接着使用:python Merge.py merge.config
2nd: python CISA.py cisa.config
再次创建一个参数文件(cisa.config):
再运行:python CISA.py cisa.config
屏幕最后会输出contigs的信息
一旦达到较少数量的具有良好基因组覆盖的contigs,您就可以准备构建contigs,即,将它们按正确的顺序和方向放置
7 scaffolding with SSPACE
SSPACE 是一个独立程序,用于使用配对读取数据构建预组装的contigs。 通过使用配对末端和/或配对数据的距离信息,SSPACE 能够评估contigs的顺序、距离和方向,并将它们组合成支架。 最终scaffolds以 FASTA 格式提供。
使用:
perl SSPACE.pl -l libraries.txt <options>
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 <path_to_kmergenie_reads_file.txt>
工作的长度为k
使用特定的频率重复整个基因组
频率取决于长度:
graph 理论
其实考虑一个结构包含多少个nodes和edges
OLC
DBG
组装的评价
覆盖率百分比
计算:重叠群的数量/最长重叠群的长度
差距(Gap)百分比
读取到重叠群的映射
支架(scaffold)和重叠群(conting) N50
组装使用的文件
当组装时,需要使用两个文件:1 contigs, 其具有多种形式: paired-end reads, mate pair read and single-end reads
2 scaffolds