- 熟悉基因组从头组装原理及步骤
- 掌握velvet, minia, SPAdes等短序列拼装软件使用
- 熟悉用quast评价组装效果
- Overlap/layout/consensus
- De Bruijn k-mer graphs
第一种策略主要应用在长reads组装上,如sanger测序数据和第三代测序数据,组装软件包括phrap, cap3等。 第二种策略主要应用于短reads数据组装上,包括velvet, soapdenovo, ABYSS等。
Overlap/layout/consensus基本步骤
- Calculate all overlaps. 计算重叠片断
- Cluster based on overlap. 重叠片断聚类
- Do a multiple sequence alignment. 多序列比对,取一致序列
De Bruijin k-mer graphs基本步骤
- Building the k-mer graph,构建k-mer图,有的软件会在之前加一步,对reads进行纠错
- Construct contigs,搜索路径
- Scaffolding and fill gaps,构建scaffold并填洞
本实验主要介绍使用第二种策略的组装软件velvet, minia和SPAdes的使用
- 多试几个k,看组装效果
- 利用如KmerGenie进行辅助选择
- 选择你熟悉的软件
- 选择大家使用多的软件
- 选择适合项目性质的软件,如基因组大小,染色体倍性,杂合度,数据类型,宏基因组,转录组等
module add bioinfo
#新建一个目录lab1,本实验所有数据和输出都放入该目录中
mkdir lab1
cd lab1
mkdir data
mkdir result
组装软件:velvet
, minia
, SPAdes
评价软件:quast
# 说明:本实验所需软件已经下载到/bs1/data/genomeLab/lab1/soft/,可以直接将这些软件连接到soft目录下使用
# 安装velvet
git clone https://github.com/manogenome/velvet.git
cd velvet
make MAXKMERLENGTH=90 # 默认K最大为31
# 安装minia
cd ../
wget -c https://github.com/GATB/minia/releases/download/v2.0.7/minia-v2.0.7-Source.tar.gz
tar zxvf minia-v2.0.7-Source.tar.gz
cd minia-v2.0.7-Source
mkdir build
cd build
cmake ..
make -j8
# 安装SPAdes
cd ../../
wget -c http://spades.bioinf.spbau.ru/release3.9.0/SPAdes-3.9.0-Linux.tar.gz
tar zxvf SPAdes-3.9.0-Linux.tar.gz
# 安装quast
cd ../
curl -O -L https://downloads.sourceforge.net/project/quast/quast-2.3.tar.gz
tar xzf quast-2.3.tar.gz
# 安装kmergenie
wget -c http://kmergenie.bx.psu.edu/kmergenie-1.7016.tar.gz
tar zxvf kmergenie-1.7016.tar.gz
cd kmergenie-1.7016
make
数据存放在服务器位置:
/bs1/data/genomeLab/lab1/data/reads_1.fq.gz
/bs1/data/genomeLab/lab1/data/reads_2.fq.gz
#参考基因组
/bs1/data/genomeLab/lab1/data/ref.fa
# 准备数据
cd data
ln -s /bs1/data/genomeLab/lab1/data/reads_1.fq.gz /bs1/data/genomeLab/lab1/data/reads_2.fq.gz ./
cd ../result
[path to]/velveth ecoli.velvet 21 -shortPaired -fastq.gz -separate ../data/reads_1.fq.gz ../data/reads_2.fq.gz
[path to]/velvetg ecoli.velvet -exp_cov auto
# 注:[path to]为程序所在的路径,以下类似
[path to]/minia -in ../data/reads_1.fq.gz,../data/reads_2.fq.gz -kmer-size 21 -out ecoli.minia
[path to]/spades.py -t 4 -1 ../data/reads_1.fq.gz -2 ../data/reads_2.fq.gz -o ecoli.spades
#组装效果评价
[path to]/quast.py -R /bs1/data/genomeLab/lab1/data/ref.fa \
ecoli.velvet/contigs.fa \
ecoli.minia.contigs.fa \
ecoli.spades/scaffolds.fasta
#查看评价结果
less quast_results/latest/report.txt
- 不同k-mer值对组装的影响,对velvet和minia用31和51进行组装,比较组装效果
- 熟悉和理解基因组组装一些术语名词,如N50, NG50, contig, scaffold, gap等
- 理解k-mer频次分布图,如何根据k-mer频次分布图估算基因组大小及杂合度