文献:Muhammad Tahir ul Qamar, Xitong Zhu, Feng Xing, Ling-Ling Chen. ppsPCP: A Plant Presence/absence Variants Scanner and Pan-genome Construction Pipeline. Bioinformatics, 2019.
在原核生物的泛基因组研究中早早已经有很多工具被设计并使用。对于植物来说,由于其基因组比较复杂,比较大,一直没有很完善的流程被设计出来。该推文主要和大家介绍植物泛基因组流程ppsPCP。它能够扫描存在/缺失变异(PAV)并构建完全注释的泛基因组。该工具将有助于植物泛基因组研究,并帮助我们研究基因的存在、缺失变异与遗传/表型变异和基因组多样性的联系。当然该工具应该也适合其它物种关于存在/缺失变异和构建泛基因组的研究。
总的来说,ppsPCP主要包含十步:
全基因组de novo assembly,然后每个材料的全基因组和参考基因组比对去找出新的non-references的序列。这一步会使用到MUMmer。
比对的结果回用于扫描PAVs,最短的PAV长度是被定义为100bp。
为了确认这些PAV,BLASTn用于在参考基因组上搜索这些PAV序列,确认他们是存在/缺失。
将上面BLASTn的结果用来判断PAVs序列可不可信,分别有两种情况:1)与参考序列非常接近(相似度>=95% 和该片段>=90%的序列被覆盖到),这种情况下,这些高度相似的片段会被过滤掉。2)PAVs序列在参考基因组中找不到。另一句话说他们是缺失的。要被选出来。
这些被选出来的PAVs,进一步和query片段比较,如果他们是重叠的,就进而延长他们。
所有被挑选出来并延长的PAVS片段,会挪到一起,每个片段之间使用100bp的N-bases相连.然后准备进行注释
最后这些新的PAVS片段和参考基因组就组成了泛基因组。
每个材料的基因组和参考基因组比对使用BLAT工具。
提取的基因区域是从query基因组和新生成二代PAV基因组中挖掘出来的(第五步中的结果)。
一个完整的基于参考基因组的泛基因组,是通过合并PAVS序列文件及其与参考基因组的注释来构成泛基因组的。
===工具以及依赖包安装====
ppsPCP的安装简单地从git hub上拷贝下来就好了
git clonegit@github.com:Zhuxitong/ppsPCP.git
export PATH=/path/to/ppsPCP/bin/:$PATH
依赖包
MUMmer
这里一定要下载并使用 Mummer-4.0.0beta2的版本,如果使用其它版本,很多用户说测试是会报错的。估计这个工具写的时候,是按照只适用于该版本的Mummer进行编写的。
wget https://github.com/mummer4/mummer/releases/download/v4.0.0beta2/mummer-4.0.0beta2.tar.gz
tar -xvzf mummer-4.0.0beta2.tar.gz
./configure --prefix=/path/to/installation
make
make install
export PATH=/path/to/installation/:$PATH
Blast+
经我测试对版本没有绝对的要求,如果你系统已经按照好了旧的blast+,依然是可以运行的。我自己以前安装过了,所以这次就不安装了。
Bedtools
这里我要说,这个bedtools一定要使用最新的版本,使用bedtoolsv v2.5 结果就是无论怎样,运行到最后一步bedtools要index fasta这一步都会出错。
Blat和gffread
这2个好像对版本要求不大。我是conda安装的。
conda install blat -c bioconda
Perl module
安装bioperl这个模块,因为这个工具其中的几个脚本都有调用到这个模块。
===例子测试===
其实,ppsPCP的运行很简单:
使用其提供的example文件进行测试:
perl ../bin/make_pan.pl --ref Zmw_sc00394.1.fa --ref_anno Zmw_sc00394.1.gff3 --query Zjn_sc00188.1.fa --query_anno Zjn_sc00188.1.gff3
一共生成了两个文件: pangenome1.fa 和pangenome1.gff3。
其中:pangenome1.fa就是该测试数据所生成的泛基因组,其由参考基因组Zmw_sc00394.1.fa和另一个isolate Zjn_sc00188.1.fa组装中和参考基因组不相同的序列组成(相当于non-refernce sequences,Zjn_sc00188.1 isolate中独有的基因)。从长度中我们也可以看出:
pangenome1.gff3就是由参考基因中的基因注释加上只存在于Zjn_sc00188.1中的PAVS 基因(存在/缺失)注释共同组成。
当然ppsPCP也支持多个query。如果有多个query的时候,将会输出pangenome1.fa,pangenome2.fa等。最后一个将是最终的pangenome。
===拟南芥和水稻例子测试===
拟南芥和水稻例子下载地址:
http://cbi.hzau.edu.cn/ppsPCP/files/rice_ppsPCP.tar.gz
http://cbi.hzau.edu.cn/ppsPCP/files/arabidopsis_ppsPCP.tar.gz
水稻运行(这里是有多个query的):
perl ../../../bin/make_pan.pl -ref Nipponbare.fasta --ref_anno Nipponbare.gff3 --query Shuhui498.fa --query_anno Shuhui498.gff3 --query Minghui63.fa --query_anno Minghui63.gff3 --thread 40
可以看出有pangenome1.fa,pangenome2.fa两个文件。
本文使用 文章同步助手 同步