Source: https://blog.csdn.net/Longyan_sysu/article/details/52184628
作者:龙炎
联系邮箱:[email protected]
时间:2016/07/25
一.ABySS的功能
分别为: 组装paired-end库(paired-endlibrary),
组装多个库(multiplelibraries),
组装长距离的mate-pair库(Long-distance mate-pair libraries),
Rescaffolding with long sequences。
1.组装paired-end库(paired-end library)
$abyss-pename=ecoli k=64 in='reads1.fa reads2.fa'
参数的说明:
in: 输入文件来读,格式可能为FASTA,FASTQ, qseq, export, SRA, SAM or BAM或者打包为gz, bz2, xz, tar文件
name: 组装的contigs将会储存在文件${name}-contigs.fa中
k:简单来说就是两条序列重叠区段的碱基数,kmer越小,越容易将不同的reads连接起来,但是拼出来的contig就会相对比较碎,kmer越大,容易将测序等引入的错误被认为不匹配,从而人为的摒弃掉了相对较多的数据,这样得到的contig就较少
C:表示运行前换目录
n:表示一个contig含有的reads的最小个数,推荐设为10
- 组装多个库(multiple libraries):
$abyss-pe k=64name=ecoli lib='pe200 pe500' pe200='pe200_1.fa pe200_2.fa' pe500='pe500_1.fape500_2.fa' se='se1.fa se2.fa'
组装库中的文件说明:
pe200库有文件pe200_1.fa和 pe200_2.fa
pe500库有文件pe500_1.fa和 pe500_2.fa
没有mates的reads放在se文件中,single-end的reads有文件se1.fa和se2.fa
- 组装长距离的mate-pair库(Long-distance mate-pair libraries)
长距离的mate-pair 库可用来支架的组装,mate-pair的库的名字用mp表示
$abyss-pe k=64name=ecoli lib='pe1 pe2' mp='mp1 mp2' pe1='pe1_1.fa pe1_2.fa' pe2='pe2_1.fape2_2.fa' mp1='mp1_1.fa mp1_2.fa' mp2='mp2_1.fa mp2_2.fa'
4.Rescaffolding with long sequences
$abyss-pe k=64name=ecoli lib='pe1 pe2' mp='mp1 mp2' long=long1 \
pe1='pe1_1.fape1_2.fa' pe2='pe2_1.fa pe2_2.fa' \
mp1='mp1_1.famp1_2.fa' mp2='mp2_1.fa mp2_2.fa' \
long1=long1.fa
二.K的取值影响运行的结果,可以对K优化:
实例:
使用的数据reads1.fastq和reads2.fastq可由下面命令获取:
$wget http://www.bcgsc.ca/platform/bioinfo/software/abyss/releases/1.3.4/test-data.tar.gz
$export k
$for k in {20..25};do
mkdir k$k
abyss-pe–C k$k name=ecoli in=’../test-data/reads1.fastq ../test-data/reads2.fastq’
done
$abyss-fack*/ecoli-contigs.fa
屏幕输出如下:
对结果的评判标准有N80, N50, N20
以N80为标准:k=20更优
以N50为标准:k=21更优
以N20为标准:k=23更优
二.并行运行
ABySS可直接调用这个命令:
$abyss-pe np=8
四.在集群系统下运行ABySS的实例
在SGE作业调度系统下提交作业
实例1:
to submit an array of jobs to assemble every odd value of k between 51 and 63 using 64 processes for eachjob:
$mkdir k{51..63..2}
SGE_TASK_ID in=/data/reads.fa’
-N ecoli指定作业的名字
-pe openmpi 64表示在openmpi的环境下并行运行64个进程
在PBS作业调度系统下提交作业
实例1:
在中山大学南方1号集群系统上,用单节点12个进程运行ABySS,脚本文件test.sh内容如下:
#!/bin/bash
#PBS -N abyss_run
### 单节点12个进程
#PBS -l nodes=1:ppn=12
#PBS -j oe
PBS -l walltime=00:00:30
cd $PBS_O_WORKDIR
NSLOTS=`cat ${PBS_NODEFILE} | wc -l`
source /public/scripts/openmpi143-gnu.sh
abyss-pe np=12 k=33 name=test in='/parastor/users/lnszyd/longyan/test-data-abyss/reads1.fastq /parastor/users/lnszyd/longyan/test-data-abyss/reads2.fastq'
提交作业
$qsub test.sh
实例2:
在中山大学南方1号集群系统上,用2个节点,每个节点12个进程,共24个进程运行ABySS,为了在多个节点上运行,必须创建一个hostfile文件用于分配节点,脚本文件test2.sh内容如下
!/bin/bash
PBS -N abyss_run
使用2个节点,共24个进程。
PBS -lnodes=2:ppn=12
PBS -j oe
PBS -lwalltime=00:00:30
cd $PBS_O_WORKDIR
source/public/scripts/openmpi143-gnu.sh
abyss-pempirun="mpirun -x PATH -hostfile ${PWD}/myhostfile.txt" k=31 np=24name=C2 in=' /parastor/users/lnszyd/longyan/test-data-abyss/reads1.fastq /parastor/users/lnszyd/longyan/test-data-abyss/reads2.fastq'
myhostfile.txt内容:
c0 slots=12
c1 slots=12
提交:
$qsub test2.sh
实例3:
在中山大学南方1号集群系统上,用2个节点,每个节点12个进程,共24个进程运行ABySS,自动分配节点,脚本文件test3.sh内容如下:
!/bin/bash
PBS -N abyss_run
PBS -l nodes=2:ppn=12
PBS -j oe
PBS -l walltime=00:00:30
PBS -q compsci
cd $PBS_O_WORKDIR
source/public/scripts/openmpi143-gnu.sh
abyss-pempirun="mpirun -x PATH" k=31 np=24 name=C in='/parastor/users/lnszyd/longyan/test-data-abyss/reads1.fastq /parastor/users/lnszyd/longyan/test-data-abyss/reads2.fastq'
不需要写hostfile文件,提交脚本:
$qsub test3.sh
名词附录:
Reads:高通量测序平台产生的序列就称为reads
Contig:拼接软件基于reads之间的overlap区,拼接获得的序列称为Contig(重叠群)
Scaffold:基因组de novo测序,通过reads拼接获得Contigs后,往往还需要构建454 Paired-end库或Illumina Mate-pair库,以获得一定大小片段(如3Kb、6Kb、10Kb、20Kb)两端的序列。基于这些序列,可以确定一些Contig之间的顺序关系,这些先后顺序已知的Contigs组成Scaffold
Contig N50:Reads拼接后会获得一些不同长度的Contigs。将所有的Contig长度相加,能获得一个Contig总长度。然后将所有的Contigs按照从长到短进行排序,如获得Contig 1,Contig 2,Contig 3...………Contig 25。将Contig按照这个顺序依次相加,当相加的长度达到Contig总长度的一半时,最后一个加上的Contig长度即为Contig N50。举例:Contig 1+Contig 2+ Contig 3 +Contig 4=Contig总长度*1/2时,Contig 4的长度即为ContigN50。Contig N50可以作为基因组拼接的结果好坏的一个判断标准。
Contig N80:Reads拼接后会获得一些不同长度的Contigs。将所有的Contig长度相加,能获得一个Contig总长度。然后将所有的Contigs按照从长到短进行排序,如获得Contig 1,Contig 2,Contig 3...………Contig 25。将Contig按照这个顺序依次相加,当相加的长度达到Contig总长度的80%时,最后一个加上的Contig长度即为Contig N80。
Contig N20:Reads拼接后会获得一些不同长度的Contigs。将所有的Contig长度相加,能获得一个Contig总长度。然后将所有的Contigs按照从长到短进行排序,如获得Contig 1,Contig 2,Contig 3...………Contig 25。将Contig按照这个顺序依次相加,当相加的长度达到Contig总长度的20%时,最后一个加上的Contig长度即为Contig N80。
Scaffold N50:Scaffold N50与Contig N50的定义类似。Contigs拼接组装获得一些不同长度的Scaffolds。将所有的Scaffold长度相加,能获得一个Scaffold总长度。然后将所有的Scaffolds按照从长到短进行排序,如获得Scaffold 1,Scaffold 2,Scaffold 3...………Scaffold 25。将Scaffold按照这个顺序依次相加,当相加的长度达到Scaffold总长度的一半时,最后一个加上的Scaffold长度即为Scaffold N50。举例:Scaffold 1+Scaffold 2+ Scaffold 3 +Scaffold 4 +Scaffold 5=Scaffold总长度*1/2时,Scaffold 5的长度即为ScaffoldN50。Scaffold N50可以作为基因组拼接的结果好坏的一个判断标准
单端测序(Single-read)首先将DNA样本进行片段化处理形成200-500bp的片段,引物序列连接到DNA片段的一端,然后末端加上接头,将片段固定在flow cell上生成DNA簇,上机测序单端读取序列
Paired-end方法是指在构建待测DNA文库时在两端的接头上都加上测序引物结合位点,在第一轮测序完成后,去除第一轮测序的模板链,用对读测序模块(Paired-End Module)引导互补链在原位置再生和扩增,以达到第二轮测序所用的模板量,进行第二轮互补链的合成测序
Mate-pair文库制备旨在生成一些短的DNA片段,这些片段包含基因组中较大跨度(2-10 kb)片段两端的序列,更具体地说:首先将基因组DNA随机打断到特定大小(2-10 kb范围可选);然后经末端修复,生物素标记和环化等实验步骤后,再把环化后的DNA分子打断成400-600 bp的片段并通过带有链亲和霉素的磁珠把那些带有生物素标记的片段捕获。这些捕获的片段再经末端修饰和加上特定接头后建成mate-pair文库,然后上机测序
作者:Longyan_sysu
来源:CSDN
原文:https://blog.csdn.net/Longyan_sysu/article/details/52184628
版权声明:本文为博主原创文章,转载请附上博文链接!