PBJelly安装及使用

PBJelly是一款用于基因组Gap filling的软件,通过将三代reads比对到sccofolds进行连接补洞。Github地址:PBJelly

 

一、安装
#创建Python环境,python=2.7

conda create -n python2.7 python=2.7

#配置依赖包

conda install blasr,networkx

#clone下载

git clone https://github.com/esrice/PBJelly.git

二、配置
#配置setup.sh文件

vim setup.sh

#配置内容参照如下

#/bin/bash

#If you use a virtual env - source it here
source activate python2.7

#This is the path where you've install the suite.
export SWEETPATH=/home/liuxin/PBJelly
#for python modules
export PYTHONPATH=$PYTHONPATH:$SWEETPATH
#for executables
export PATH=$PATH:$SWEETPATH/bin/

#每次使用前激活setup.sh文件

source /home/liuxin/PBJelly/setup.sh

#或者将其放入配置文件登录自动将其激活

echo "source /home/liuxin/PBSuite/setup.sh" > ~/.bash_profile

三、使用默认数据配置进行测试

#修改配置文件

vim /home/liuxin/PBJelly/docs/TemplateProtocol.xml

#修改reference,output,input路径,job设置为用来mapping的reads文件名

<jellyProtocol>
    <reference>/home/liuxin/PBJelly/docs/jellyExample/data/reference/lambda.fasta</reference>  
    <outputDir>/home/liuxin/PBJelly/docs/jellyExample/data/</outputDir>
    <blasr>-minMatch 8 -minPctIdentity 70 -bestn 1 -nCandidates 20 -maxScore -500 -nproc 20 -noSplitSubreads</blasr>
    <input baseDir="/home/liuxin/PBJelly/docs/jellyExample/data/reads">
        <job>filtered_subreads.fastq</job>
    </input>
</jellyProtocol>

四、检查一下demo数据

#查看reference数据统计信息

summarizeAssembly.py /home/liuxin/PBJelly/docs/jellyExample/data/reads/lambda.fasta

#查看reads数据统计

readSummary.py /home/liuxin/PBJelly/docs/TemplateProtocol.xml

#PS:若reference序列没有质量文件,需要用fakeQuals.py生成对应的.qual文件(否则后续运行时会有warning)

fakeQual.py /home/liuxin/PBJelly/docs/jellyExample/data/reference/lambda.fasta /home/liuxin/PBJelly/docs/jellyExample/data/reference/lambda.qual

五、开始运行

PS:一定要等待每个阶段运行完成,才可以执行下一个阶段。

#具体命令格式如下,<stage>包括6个stage,<Protocol.xml>使用绝对路径

Jelly.py <stage> <Protocol.xml>

#分六个stages运行,如果数据集较大,mapping的过程会比较久,需要等待结果生成再进行下一步

Jelly.py setup /home/liuxin/PBJelly/docs/TemplateProtocol.xml
Jelly.py mapping /home/liuxin/PBJelly/docs/TemplateProtocol.xml
Jelly.py support /home/liuxin/PBJelly/docs/TemplateProtocol.xml
Jelly.py extraction /home/liuxin/PBJelly/docs/TemplateProtocol.xml
Jelly.py assembly /home/liuxin/PBJelly/docs/TemplateProtocol.xml
Jelly.py output /home/liuxin/PBJelly/docs/TemplateProtocol.xml

PS:setup生成的相关文件在reference文件夹下,mapping、support、extraction以及assembly均会在/home/liuxin/PBJelly/docs/jellyExample/data目录下生成相应的文件,其中会记录对应的输出log,查看err文件可确认每个阶段是否顺利完成。

六、查看结果

#结果输出在/home/liuxin/PBJelly/docs/jellyExample/data,包含三个文件,其中:

#gap_fill_status.txt 给出补洞统计信息

more gap_fill_status.txt 

#jelly.out.fasta 即为输出fasta

less jelly.out.fasta

PS:可使用-x传递参数,nproc设置处理器数量

Jelly.py assembly <Protocol.xml> -x "--nproc=20"

 

参考文献


English, Adam C., Stephen Richards, Yi Han, Min Wang, Vanesa Vee, Jiaxin Qu, Xiang Qin, et al. "Mind the Gap: Upgrading Genomes with Pacific Biosciences RS Long-Read Sequencing Technology." PLoS ONE 7, no. 11 (November 21, 2012): e47768

posted @ 2022-08-30 20:51  pd_liu  阅读(430)  评论(0编辑  收藏  举报