使用RGAugury鉴定基因组中的抗性基因

RGAugury:用于全基因组预测植物抗性基因类似物 (RGA) 的管道论文地址:https://bmcgenomics.biomedcentral.com/articles/10.1186/s12864-016-3197-x
依赖软件和本软件的安装使用说明在https://bitbucket.org/yaanlpc/rgaugury/wiki/Home
https://bitbucket.org/yaanlpc/rgaugury/src/master/

RGAugury的安装

没有root,没有conda的包,需要自己从头安装或者使用docker安装。

git clone https://bitbucket.org/yaanlpc/rgaugury.git
cd rgaugury

部分参考https://www.jianshu.com/p/433cd619f9c0

安装依赖环境

依赖的软件

  • BLAST+包下载以“x64-linux.tar.gz”扩展名结尾的文件
  • Hmmer3在 pfam_scan 包之前安装 Hmmer
  • 新的 Interproscan 通常需要Java 11,请确保它已正确安装。
  • pfam_scan包,确保 pfam_scan.pl 可以在任何地方直接运行而无需添加路径前缀。检查此链接以更轻松地安装依赖项。
  • phobius1.01包,这是一个 32 位程序,需要确保 64 位 Linux 操作系统已经安装了 32 位运行时(libstdc++6:i386)才能加载。请参阅此线程以获取更多帮助。
  • ncoils包已经嵌入到这个包中,考虑到源代码的一个小的修改,使其适应管道,因此我们不希望你使用原始的。
  • git是可选的,您可以直接克隆我们的存储库。我们强烈建议您使用 git 来克隆此存储库,因为可以以正确的方式保留文件的权限。
  • jdk,JDK 1.8 是在 v57 上使用 InterproScan 时的必备组件。
  • interproscan , 基于 HMM 的域/主题识别包
  • CViT,一个基于 Perl 的基因组连锁特征可视化工具包。确保所有必需的 perl 模块都已成功安装,并且在使用独立于 RGAugury 的 CViT 时没有报告错误。

安装依赖的包

  • zlib
  • libpng
  • freetype
  • libgd

安装perl模块

cpanm Log::Log4perl
cpanm GD
cpanm Config::IniFiles
cpanm Moose
cpanm BioPerl

后两个模块安装比较费时间
需要配置的环境变量的信息如下

 export PATH=$PATH:/home/lipch/bin/phobius1.01  # to specify the path of phobius.pl script and binary.

  export PATH=$PATH:/home/lipch/bin/hmmer3/bin   # binary path

  export PATH=$PATH:/home/lipch/bin/blast/bin    # binary path of blast+ package

  export PATH=$PATH:/home/lipch/RGAugury_pipeline  # this package scripts path

  export PATH=$PATH:/home/lipch/RGAugury_pipeline/coils  #the path to scoils-ht, which is a modified version of coils to adapt to RGAugury pipeline.

  export PATH=$PATH:/home/lipch/database/interproscan-x.xx-xx.0    #download latest one as your wish. Do not add the path of "bin" under interproscan directory.

  export PATH=$PATH:/home/lipch/Downloads/PfamScan    #to specify the path for script of pfam_scan.pl

  export PATH=$PATH:/home/lipch/bin/cvit.1.2.1        #to specify the path of cvit.pl in CViT package, make sure cvit.pl can be found by 'which' command.

  export COILSDIR=/home/lipch/RGAugury_pipeline/coils # or create a plain file with putting this command only but a directory all user can access and drop it to /etc/profile.d/, file permission changes to 755, otherwise export it to user's profile and point to another user authorized directory

  export PERL5LIB=/home/lipch/Downloads/PfamScan:$PERL5LIB  #perl module for pfam_scan.pl

  export PFAMDB=/home/lipch/database/pfam           #这个路径是下面下载的~/database/pfam的绝对路径

下载需要的数据库

手动修改interproscan-5.57-90.0/interproscan.properties文件的precalculated.match.lookup.service.url=https://www.ebi.ac.uk/interpro/match-lookuphttps://www.ebi.ac.uk/interpro/match-lookup删除,只保留前面的precalculated.match.lookup.service.url=

pfam数据库的下载

mkdir ~/database/pfam
wget https://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/Pfam-A.hmm.gz
wget https://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/Pfam-A.hmm.dat.gz
wget http://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/active_site.dat.gz
pigz -d Pfam-A.hmm.gz
pigz -d Pfam-A.hmm.dat.gz
hmmpress Pfam-A.hmm

准备输入文件

蛋白文件的格式,除了编号后面不要有其他内容

>AT1G52660.1 
MGKDFKSLVTRCIYVGKMNDNAKKLKIATEELKDLGNNVMKRVKLCEEQQQMKRLDKVQTWLRQADTVIKEAEEYFLMSSSSSSSGLISSSHKMEKKICKKLKEVQEIKSRGMFEVVAESTGGIGGGAGGGLTIKDSDEQTIGLEAVSGLVWRCLTMENT

gff3文件和基因组序列可以不提供

Chr1    phytozomev10    mRNA    3631    5899    .   +   .   ID=AT1G01010.1;
Chr1    phytozomev10    UTR 3631    3759    .   +   .   ID=AT1G01010.1;
Chr1    phytozomev10    CDS 3760    3913    .   +   0   ID=AT1G01010.1;
Chr1    phytozomev10    CDS 3996    4276    .   +   2   ID=AT1G01010.1;
Chr1    phytozomev10    CDS 4486    4605    .   +   0   ID=AT1G01010.1;
Chr1    phytozomev10    CDS 4706    5095    .   +   0   ID=AT1G01010.1;
Chr1    phytozomev10    CDS 5174    5326    .   +   0   ID=AT1G01010.1;
Chr1    phytozomev10    CDS 5439    5630    .   +   0   ID=AT1G01010.1;

gff3格式要求,第一列必须染色体必须是Chr1或Chr01这种格式,scaffold不会被识别。
第3列可以包含的字符是mRNA,UTR,CDS,exon这4种类型,而且每个基因必须有1行是mRNA.

我的gff3包含five_prime_UTR和three_prime_UTR,需要替换为UTR。

sed 's/five_prime_UTR/UTR/g;s/three_prime_UTR/UTR/g' genome.gff3 >genome.gff

使用下面的代码提取符合规则的gff3行

awk '$1 ~/Chr/ && $3 =="mRNA"||$3=="CDS"||$3=="exon"||$3=="UTR" {print $0}' genome.gff >genome.new.gff3

删除行尾的.字符,只提取序列的ID

sed -i 's/\.$//g' genome.pep.fa
seqkit seq -i genome.pep.fa -o genome.protein.fa

运行RGAuguay的命令

perl ~/soft/RGAugury/rgaugury/RGAugury.pl -p genome.protein.fa -gff genome.new.gff3 -g genome.fa -c 16 -pfx prefix

参数说明:

  • -p 蛋白序列,必须提供
  • -gff gff3文件,可以不提供
  • -g 基因组序列,可以不提供
  • -c cpu数量,默认是2
  • -f 输出结果文件的前缀,默认是.
  • -e 控制比对的e值,默认是1e-5
  • -d 数据库,默认是pfam,gene3d
  • -n cds文件,可以不提供

输出结果解析

软件运行流程示意图

RGA运行流程示意图

image.png

第一步是blast,后续是分别使用4个数据库进行分析。
并通过整合五个程序产生的结果来识别 RGA:BLAST、InterProScan、pfam_scan、nCoil 和 Phobius。四种不同 RGA 类型的带注释候选被导出为纯文件。以并行模式执行的分析以蓝色标记。中间结果用虚线框表示。
GFF3:通用特征格式版本 3;
CC:卷曲螺旋;
LRR:富含亮氨酸的重复;
NB-ARC:APAF-1、R基因产物和CED-4共享的核苷酸结合接头;
STTK:丝氨酸/苏氨酸和酪氨酸激酶;
LysM:溶素基序;
TM:跨膜
最终识别出的蛋白质中有 7 个与 RGA 相关的结构域和基序,包括 NB-ARC 或 NBS、LRR、TM、STTK、LysM、CC 和 TIR。

是并行的其中一个数据库失败,其他数据库可能仍正常运行。可以把输出的错误的文件删除后,重新运行程序,会自动跳过已经的分析。

blast输出的文件有:

.preRGA.candidates.by.Blast.fasta
.preRGA.candidates.by.Blast.lst
.RGA.blastp.1e-5.out

pfam的输出文件有:

.LRR.res.pfam.txt
.candidates_RGA_pfam_out

报错汇总:

  1. FATAL: can't find "Pfam-A.hmm" and/or "Pfam-A.hmm" binaries and/or "Pfam-A.hmm.dat" file in "/media/owner/b45f8e7a-003c-4573-8841-bcb5f76f281f/sn/rgaugury/database/pfamdb" at /media/owner/b45f8e7a-003c-4573-8841-bcb5f76f281f/sn/rgaugury/PfamScan/pfam_scan.pl line 68.
    就是你配置了PFAMDB环境变量,路径里也有这个文件,为啥报错呢?
    解决方法:在你上面放Pfam-A.hmm路径里运行hmmpress Pfam-A.hmm,用来生成数据库。
  2. [uk.ac.ebi.interpro.scan.business.sequence.BerkeleyPrecalculatedProteinLookup:381] ERROR - Lookup version check failed ... interproscanVersion:
    类似上述的java的报错,原因是interproscan里的配置文件有误,因为服务器的任务节点无法联网,所以就需要关闭interproscan的网络查找功能。找到interproscan.sh所在的路径修改里面的interproscan.properties文件。把precalculated.match.lookup.service.url=https://www.ebi.ac.uk/interpro/match-lookup修改为precalculated.match.lookup.service.url=即可。

你可能感兴趣的:(使用RGAugury鉴定基因组中的抗性基因)