生信工具:ppsPCP-植物存在/缺失变异扫描和泛基因组构建工具

工具简介

在原核生物的泛基因组研究中早早已经有很多工具被设计并使用。对于植物来说,由于其基因组比较复杂,比较大,一直没有很完善的流程被设计出来。该推文主要和大家介绍植物泛基因组流程ppsPCP。它能够扫描存在/缺失变异(PAV)并构建完全注释的泛基因组。该工具将有助于植物泛基因组研究,并帮助我们研究基因的存在、缺失变异与遗传/表型变异和基因组多样性的联系。当然以我个人的见解是,该工具也适合其它物种关于存在/缺失变异和构建泛基因组的研究。

背景简介

为了预防大家对这个概念或者领域比较陌生,下面会简单的和大家介绍一下其背景知识。

2005年,Tettelin等人提出了微生物泛基因组概念(pangenome,pan源自希腊语‘παν’,全部的意思),泛基因组即某一物种全部基因的总称。2009 年,Li等人首次采用新全基因组组装方法对多个人类个体基因组进行拼接,发现了个体独有的DNA序列和功能基因,并首次提出了“人类泛基因组”的概念,即人类群体基因序列的总和。2009 年泛基因组测序首次应用于人类基因组学研究;2013年泛基因组测序应用于动植物研究领域;2019年第一个泛基因组研究在大规模的(910名)非洲人后裔中开展。源源不断中,还有很多很多泛基因组的研究正在进行中。可以看出,随着测序技术的进步和其价格的下降,泛基因组研究变得越来越热门。

如图,泛基因组进而可以分为,核心基因组(core genome)和可变基因组 (variable genome)。核心基因指的是,在所有动植物品系或者菌株中都存在的基。可变基因组是指,在1个以及1个以上的动植物品系或者菌株中存在的基因。如果某个基因,仅存在某一个动植物品系或者菌株中,该基因还可以细分为品系或者菌株特有基因。一般来说,核心基因组控制着生命体基本生成代谢的功能。另外,结构变异中的存在/缺失变化(presnece/absence variation)是泛基因组的重点研究对象,因为可变基因组可能就是使个体产生不同性状(抗病性,抗寒性等)的原因。

泛基因组的构建法:重头组装构建法

这是构建泛基因组最经典的方法,最早运用于构建细菌的泛基因组。分别对多个个体进行,分别的重头组装和注释,然后将所得的每个个体的新组装的序列与参考序列reference基因组进行比对,找出比对不上的区域,进行整合。对于比较大的基因组,此方法需要耗费更多的电脑资源,因为需要对每一个个体进行分别进行重头组装。那为什么要提这个构建方法呢,因为即将介绍的工具是基于这种泛基因组的构建方法。

工具的安装

介绍了那么多,差不多可以开始接触这个工具了。首先是要把这个工具还有其需要依赖的工具一一安装好。

ppsPCP的安装
简单地从git hub上拷贝下来就好了

git clone git@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
# Add MUMmer tools to your PATH
$ export PATH=/path/to/installation/:$PATH

Blast+

经我测试对版本没有绝对的要求,如果你系统已经按照好了旧的blast+,依然是可以运行的。当然不推荐用很旧很旧的版本(好几年没更新过那种)。

$ wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.9.0+-x64-linux.tar.gz
$ tar zxvf ncbi-blast-2.9.0+-x64-linux.tar.gz
# Add Blast+ tools to your PATH
$ export PATH=/path/to/blast+/bin:$PATH

Bedtools
这里我要说,这个bedtools一定要使用最新的版本,一开始我根据该工具的manual使用bedtoolsv v2.5 结果就是无论怎样,运行到最后一步bedtools要index fasta这一步都会出错。

$ wget https://github.com/arq5x/bedtools2/releases/download/v2.28.0/bedtools-2.28.0.tar.gz
$ tar -zxvf bedtools-2.28.0.tar.gz
$ cd bedtools2
$ make
$ export PATH=/path/to/bedtools/bin:$PATH

Blat和gffread

这几个就正常跟着流程按照就好了,对版本要求不大。

###blat
$ mkdir UCSC_tools
$ rsync -aP rsync://hgdownload.soe.ucsc.edu/genome/admin/exe/linux.x86_64/ ./
# Add blat to your PATH
export PATH=/path/to/UCSC_tools/blat/:$PATH
###gffread 它是cufflinks中的一个小工具,所以通过按照cufflinks就能调用了
$ wget http://cole-trapnell-lab.github.io/cufflinks/assets/downloads/cufflinks-2.2.1.Linux_x86_64.tar.gz
$ tar zxvf cufflinks-2.2.1.Linux_x86_64.tar.gz
# Add gffread to your PATH
$ export PATH=/path/to/cufflinks-2.2.1.Linux_x86_64/:$PATH

Perl module
最后就是安装bioperl这个模块,因为这个工具其中的几个脚本都有调用到这个模块

$ cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
$ cpanm Bio::Perl

工具使用说明

依赖的包不少,但使用的方法却很简单,只要将参考基因组和参考基因组的注释,再加上其它不同的植株所对应的组装和注释放到命令中就行了。换句话讲,这就要求你事先已经组装好每一个不同植株或者个体,并且将其注释好(为了确保准确性和一致性这里一般都会使用相同的工具进行组装和注释)。

Usage: 
make_pan.pl [options] --ref [reference_genome] --ref_anno [refernece_anno] --query query1_genome[query2...] --query_anno query1_anno[query2...] 

其它比较重要的参数就是--coverage--sim_gene--sim_pav,基因存在/缺失的变异,将由序列的深度,相似度来决定。然后就是--thread,使用更多的CPU能够在mummer和blast的步骤极大提高运行的效率。

***Filter parameters
--coverage      The coverage used to filter similar PAVs. Can be any number between 0 and 1. Default: 0.9
--sim_pav       The similarity used to filter similar PAVs. Can be any number between 0 and 1. Default: 0.95
--sim_gene      Then similarity used to filter mapped genes in blat mapping. Can be any number between 0 and 1. Default: 0.8

--thread        The number of threads used for mummer and blastn. Remember not all the phases of ppsPCP are parallelized. Default: 1

流程概述

接着就让我们更加细致了解一下这个工具所涉及的流程,主要步骤分为十步:

  1. 全基因组de novo assembly,然后每个材料的全基因组和参考基因组比对去找出新的独特的non-references的序列。这一步会使用到MUMmer。
  2. 比对的结果回用于扫描PAVs,最短的PAV长度是被定义为100bp。
  3. 为了确认这些PAV,BLASTn用于在参考基因组上搜索这些PAV序列,确认他们是存在/缺失。
  4. 将上面BLASTn的结果用来判断PAVs序列可不可信,分别有两种情况:1)与参考序列非常接近(相似度>=95% 和该片段>=90%的序列被覆盖到),这种情况下,这些高度相似的片段会被过滤掉。2)PAVs序列在参考基因组中找不到。另一句话说他们是缺失的。要被选出来。
  5. 这些被选出来的PAVs,进一步和query片段比较,如果他们是重叠的,就进而延长他们。
  6. 所有被挑选出来并延长的PAVS片段,会挪到一起,每个片段之间使用100bp的N-bases相连.然后准备进行注释
  7. 最后这些新的PAVS片段和参考基因组就组成了泛基因组
  8. 每个材料的基因组和参考基因组比对使用BLAT工具。
  9. 提取的基因区域是从query基因组和新生成二代PAV基因组中挖掘出来的(第五步中的结果)
  10. 一个完整的基于参考基因组的泛基因组,是通过合并PAVS序列文件及其与参考基因组的注释来构成泛基因组的

测试运行

使用其提供的测试文件进行测试

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.fapangenome1.gff3。简单解析一下,pangenome1.fa就是该测试数据所生成的泛基因组,其由参考基因组Zmw_sc00394.1.fa和另一个isolateZjn_sc00188.1.fa组装中和参考基因组不相同的序列组成(相当于non-refernce sequences,Zjn_sc00188.1 isolate中独有的基因)。pangenome1.gff3就是由参考基因中的基因注释加上只存在于Zjn_sc00188.1中的PAVS 基因(存在/缺失)注释共同组成。

介绍到这里就差不多结束了,除了该测试数据外,我个人也很有兴趣去使用更大的测试数据例如rice的去测试该方法找到的genes PAV和 mapping based 的方法找到的genes PAV的差异。

该工具包链接:
https://github.com/Zhuxitong/ppsPCP

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,313评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,369评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,916评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,333评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,425评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,481评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,491评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,268评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,719评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,004评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,179评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,832评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,510评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,153评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,402评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,045评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,071评论 2 352

推荐阅读更多精彩内容