xushuangbin的个人博客分享 http://blog.sciencenet.cn/u/xushuangbin

博文

三代基因组拼接软件--Falcon篇

已有 14916 次阅读 2016-11-19 11:47 |系统分类:科研笔记| falcon

Falcon是PacBio开发的一款用于三代基因组devono拼接软件,该软件支持PBS,SLURM,SGE,TORQE, LSF作业调度系统。大体的工作原理是将长reads分隔成指定大小模块,这些模块彼此间再相互比对,进行自我纠错以及查找重叠信息,然后再用De Bruijn算法进一步拼接生成contigs。

###################################################################

一、安装

这里介绍下在不联网的情况下Falcon的安装方法(非root)。

1.python 安装

1.1 自行下载python安装包如Python-2.7.9.tgz

 https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz

 tar -zxvf Python-2.7.9.tgz

 cd Python-2.7.9

 ./configure --prefix=你想安装的路径

 make && make install

1.2添加python环境变量

 vi ~/.bashrc

 export PYTHONPATH=$PYTHONPATH:python路径

 source ~/.bashrc

2.virtualenv安装

 2.1自行在下安装包

https://pypi.python.org/packages/d4/0c/9840c08189e030873387a73b90ada981885010dd9aea134d6de30cd24cb8/virtualenv-15.1.0.tar.gz#md5=44e19f4134906fe2d75124427dc9b716

   tar -zxvf virtualenv-15.1.0.tar.gz

  python setup.py install --prefix=python路径 --record install.log

 2.2激活进入虚拟环境

  virtualenv --no-site-packages --always-copy --no-setuptools --no-pip --no-wheel --python=python路径 $FC(你想指定的虚拟环境路径)

  . 虚拟环境路径/bin/activate

3. python相关依赖包安装

   setuptools,pip,wheel,six-1.10.0,html5lib-0.999999,isodate-0.5.4,rdfextras-0.4,rdflib-3.4.0,pypasing-1.5.7,networkx-1.10,decorator-3.4.0等,

  方法就是从网上搜源码安装包,然后上传到服务器

  在激活环境下安装:(可能有先后顺序)

  tar -zxvf 安装源码包

  cd 解压后的文件夹下

  python setup.py install --record install.log

4.Falcon-integrate安装

https://github.com/PacificBiosciences/FALCON-integrate/archive/1.8.2.tar.gz

tar -zxvf 1.8.2

cd Falcon-integrate

下载pypeFLOW安装包解压

cd pypeFLOW

python setup.py install --record install.log

下载FALCON安装包解压

cd FALCON

python setup.py install --record install.log

下载DALIGNER,DAMASKER,DAZZ_DB,DEXTRACTOR安装包解压,

cd 到对应文件夹下

make

cp 生成的二进制命令文件到 虚拟环境下

####################################################################

二、原理简介:

1.Raw sub-reads overlapping for error correction(构建进行错误矫正的重叠信息)

 具体先由fasta2DB与DBsplit对原始reads进行建库分割,分割大小有参数可控,可见下文参数解析,再HPC.daligner生成多个job数的shell脚本放在run_jobs.sh里,接着再根据设定的job_type类型,即根据作业调度系统或者单一节点模式,PBS,SGE通过qsub,SLURM用sbatch将这些job投到相应的计算节点上去,再由每个rj开头的shell脚本对之前分割好的模块进行daligner比对生成相应的.las,再由LAchek,LAsort,LAmerge进行检查,排序,合并。

2.Pre-assembly and error correction (预组装与错误矫正)

 通过LA4Falcon将之前合并好的.las文件转成falcon识别的格式,再通过管道传递给fc_consensus进行预组装与错误矫正,最后生成fasta文件,所生成的fasta文件数应该与0_rawreads/preads/下的cns开头的文件夹数相同,最后的这些preads将被用于下面的组装。

3.overlapping detection of the error corrected reads (错误矫正后的重叠信息群的构建)

     与1相似也是通过fasta2DB与DBsplit对矫正过的reads进行建库分割,也是由HPC.daligner生成一个所有jobs数的集合脚本run_jobs.sh,再根据设定的job_type以及参数投放到节点上,再由daligner,LAcheck,LAsort,LAmerge进行比对,查找,排序,合并

4.Overlap filtering(重叠信息过滤)

    过虑主要是为了减少计算以及后续拼接的复杂度,过虑的情况主要有:如果其中的一条reads跟一条完全一样就不能提供额外信息,故过滤之;序列两端的重叠信息冗余,不需要太多的重叠信息就可推断出重叠关系的;有些重复区域的会造成覆盖度较高,这些重复区域不能提供额外信息故可通过参数顾虑一些,但在覆盖度偏低的地方,又会造错误率过高,所以也可通过参数过滤掉低覆盖度(fc_ovlp_filter完成的)。

5.Constructing graph from overlap (通过重叠信息构图)

利用fc_ovlp_filter过滤后生成的pread.ovl构建一系列的图信息,边的信息存放在sg_edges_list,然后再进一步连接成unitigs存放在utg_data中,再根据unitigs构建contig图存放在ctg_path中。

6.Constructing contig from graph (通过图信息构建 contigs)

根据图信息以及序列构建contigs。

####################################################################  

三、输入参数解析:主要在fc_run.cfg文件中

[General]

(Falcon支持LOCAL,SLURM,PBS,SGE,TORQUE,LSF等工作类型,需要结合计算机资源以及拼接数据的大小来选择,这里介绍local,slurm与pbs的配置参数)

#job_type=local

#job_type=SLURM

job_type=PBS

input_fofn = input.fofn

#input_fofn = preads.fofn


input_type = raw(指定输入数据类型)

#input_type = preads


# The length cutoff used for seed reads used for initial mapping

length_cutoff = 10000 用于错误矫正的序列的最低长度

#The length cutoff used for seed reads used for pre-assembly

length_cutoff_pr = 10000用于预组装的序列的最低长度


#the job of queue

jobqueue = yourqueue

#############################################    

#THE CONFIGURE OF LOCAL

#############################################

#sge_option_da = -pe smp 8 -q %(jobqueue)s【stage-0】

#sge_option_la = -pe smp 2 -q %(jobqueue)s【stage-0】

#sge_option_cns = -pe smp 8 -q %(jobqueue)s【stage-0】

#sge_option_pda = -pe smp 6 -q %(jobqueue)s【stage-1】

#sge_option_pla = -pe smp 2 -q %(jobqueue)s【stage-1】

#sge_option_fc = -pe smp 8 -q %(jobqueue)s [stage-2]

##################################################################

#        THE CONFIGURE OF PBS

##################################################################

sge_option_da = -l nodes=1:ppn=12 -q %(jobqueue)s

sge_option_la = -l nodes=1:ppn=12 -q %(jobqueue)s

sge_option_pda = -l nodes=1:ppn=12 -q %(jobqueue)s

sge_option_pla = -l nodes=1:ppn=12 -q %(jobqueue)s

sge_option_fc = -l nodes=1:ppn=12 -q %(jobqueue)s

sge_option_cns = -l nodes=1:ppn=12 -q %(jobqueue)s

(这是PBS作业调度系统sge_option参数的参考配置信息,具体可以根据集群资源进行设置。)

####################################################################

pa_concurrent_jobs = 20

ovlp_concurrent_jobs = 20

cns_concurrent_jobs = 20

(提交的任务的并发数,根据计算资源来确定)


pa_DBsplit_option = -x500 -s200

ovlp_DBsplit_option = -x500 -s200

(-s分割数据块的大小即block的大小,越大需要的内存越大,每个模块间相互比对的时间也越长)


pa_HPCdaligner_option = -v -B10 -t16 -e.70 -l1000 -s1000 -T12

-B与jobs总数有关对内存影响不大,e取值范围【0.7,1】raw read设低点。-T线程数


ovlp_HPCdaligner_option = -v -B10 -t32 -h60 -e.96 -l500 -s1000 -T12

(参考上面的pa_HPCdaligner_option,e值此时为矫正过的可设高点)


falcon_sense_option = --output_muti --min_idt 0.70 --min_cov 4 --max_n_read 200 --n_core 12

(--min_idt 用于装配拼接的序列间比对的最低相似度,--min_cov 种子序列的最低覆盖度,--max_n_read用于错误矫正的最高的read数)


overlap_filter_setting = --max_diff 100 --max_cov 100 --min_cov 20 --bestn 12 --n_core 24

(--max_diff序列两端覆盖度的最大差异,--max_cov序列两端的最大覆盖度--minx_cov序列两端的最小覆盖度,--bestn 默认为12,--n_core线程数)

fc_ovlp_to_graph_option = --min_len (length_cutoff_pr,default4000) --min_idt(default 96)

####################################################################

四、运行:

fc_run.py fc_run.cfg

####################################################################

五,参考信息:

https://github.com/PacificBiosciences/FALCON/wiki/Manual




   



https://blog.sciencenet.cn/blog-3255195-1015620.html


收藏 IP: 58.23.13.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-27 10:19

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部