- 熟悉使用高性能计算机集群
- 熟悉基因组从头组装原理及步骤
- 掌握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进行辅助选择
- 选择你熟悉的软件
- 选择大家使用多的软件
- 选择适合项目性质的软件,如基因组大小,染色体倍性,杂合度,数据类型,宏基因组,转录组等
#新建一个目录lab1,本实验所有数据和输出都放入该目录中
mkdir lab1
cd lab1
mkdir data
mkdir result
数据存放在服务器位置:
/data/lab/genomic/lab01/data/reads_1.fq.gz
/data/lab/genomic/lab01/data/reads_2.fq.gz
#参考基因组
/data/lab/genomic/lab01/data/ref.fa
cd data
ln -s /data/lab/genomic/lab01/data/reads_1.fq.gz /data/lab/genomic/lab01/data/reads_2.fq.gz ./
cd ../result
$ ls ../data/reads_* > reads.file
新建一个脚本文件,work_kmer.sh,写入以下内容:
#!/bin/bash
#$ -S /bin/bash
#$ -N kmer
#$ -cwd
#$ -j y
/opt/bio/kmergenie-1.7048/kmergenie reads.file
结束后查看结果,选择最优k值57
新建一个脚本文件,work_velvet.sh,写下下列内容:
#!/bin/bash
#$ -S /bin/bash
#$ -N velvet
#$ -cwd
#$ -j y
velveth ecoli.velvet 57 -shortPaired -fastq.gz -separate ../data/reads_1.fq.gz ../data/reads_2.fq.gz
velvetg ecoli.velvet -exp_cov auto
新建一个脚本文件,work_minia.sh,写入下列内容:
#!/bin/bash
#$ -S /bin/bash
#$ -N minia
#$ -cwd
#$ -j y
/opt/bio/bin/minia -in ../data/reads_1.fq.gz,../data/reads_2.fq.gz -kmer-size 57 -out ecoli.minia
新建一个脚本文件,work_spades.sh,写入下列内容:
#!/bin/bash
#$ -S /bin/bash
#$ -N spades
#$ -cwd
#$ -j y
spades.py -t 4 -1 ../data/reads_1.fq.gz -2 ../data/reads_2.fq.gz -o ecoli.spades
quast -R /data/lab/genomic/lab01/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和57进行组装,比较组装效果
- 熟悉和理解基因组组装一些术语名词,如N50, NG50, contig, scaffold, gap等
- 理解k-mer频次分布图,如何根据k-mer频次分布图估算基因组大小及杂合度