Trinotate 半自动快速安装与部署

作者: 学生信的大叔 | 来源:发表于2021-10-27 22:17 被阅读0次

Trinotate半自动化安装与部署,绕过wget那可怜的下载网速。因为自动配置数据库部分用到了wget ,我租用的服务器上wget 下载过慢,所以自己尝试数据库(包)自己下载,剩余设置使用trinotate自带脚本进行配置。

如果大家服务器速度足够快,就没必要用这篇推文的办法了。

1. 软件安装

1.1 所需软件

根据Trinotate主页https://github.com/Trinotate/Trinotate.github.io/wiki 可以知道,需要安装

必需软件:Trinotate,Trinity,TransDecoder ,SQLite,NCBI BLAST+, HMMER

可选软件:signalP v4,tmhmm v2,RNAMMER

这次只安装必需软件,不安装可选软件。

1.2 安装

1.2.1 介绍

6个必需的软件,在用conda安装trinity时,也会安装好selite, blast, hmmer, transdecoder。
trinotate使用github版本,而不用conda安装(conda安装版本,注释最后一步:$TRINOTATE_HOME/util/extract_GO_assignments_from_Trinotate_xls.pl 会提示缺少文件。而且conda版本无法找到conf.txt (自动注释autoTrinotate.pl 所需要的配置文件))。

1.2.2 安装

这里我用mambatrinitygit clone下载trinotate (v3.2.2)。

#Trinity,TransDecoder, SQLite,NCBI BLAST+,HMMER 通过conda安装trinity时都能装上
$ conda create -n trinotate mamba
$ conda activate trinotate
$ mamba install -c bioconda -y trinity  
#git clone下载trinotate (v3.2.2)
~/biosoft $
git clone https://github.com/Trinotate/Trinotate.git

2. 配置trinotate数据库

2.1 配置trinotate数据库需要知道

根据Build_Trinotate_Boilerplate_SQLite_db.pl 内容,查看数据库配置需要做的内容(我也不懂perl,但是每个步骤能看个大概。如有描述错误,还请指正。)

在配置数据库前,应该知道

  • Build_Trinotate_Boilerplate_SQLite_db.pl 自动配置时,需要下载5个数据库(包),每个包下载完成后需要一些配置操作。

5个数据包链接可以从脚本获取下载链接:

## Resources:
my $SPROT_DAT_URL = "ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.dat.gz";
my $EGGNOG_DAT_URL = "http://eggnogdb.embl.de/download/eggnog_4.5/data/NOG/NOG.annotations.tsv.gz";
my $GENE_ONTOLOGY_DAT_URL = "http://purl.obolibrary.org/obo/go/go-basic.obo";
my $PFAM_DAT_URL = "ftp://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/Pfam-A.hmm.gz";
#my $PFAM2GO_DAT_URL = "http://www.geneontology.org/external2go/pfam2go"; # ftp://ftp.geneontology.org/pub/go/external2go/pfam2go
my $PFAM2GO_DAT_URL = "http://current.geneontology.org/ontology/external2go/pfam2go";
  • Build_Trinotate_Boilerplate_SQLite_db.pl 自动配置可以接续,但是这个接续是有限制的。

可以接续:每个数据库(包)下载完成后,会创建一个文件,用作下载完成的标志。再次运行时会先检查这个标志文件,如果标志文件存在,这个数据库(包)会跳过下载。

接续限制:每个数据库(包)的下载是使用wget 下载的,而且没有加--continue 选项,如果数据库下载一半,这部分是不能接续的。

2.2 我的思路

第一步:2个大的数据库(包)先在win系统上下载,然后上传服务器。3个小数据库(包)直接在服务器下载。

第二步:对5个数据库(包)创建下载完成的标志文件,用以骗过脚本。

第三步:然后使用Build_Trinotate_Boilerplate_SQLite_db.pl 配置就可以了。

2.3 下载5个数据库(第一步)

准备数据库存放路径:

mkdir -p ~/db/Trinotate && cd ~/db/Trinotate

下载数据库,并将其存放到准备好的数据库路径

#win下准备:
#ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.dat.gz
#ftp://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/Pfam-A.hmm.gz
#服务器上下载
wget http://eggnogdb.embl.de/download/eggnog_4.5/data/NOG/NOG.annotations.tsv.gz
wget http://purl.obolibrary.org/obo/go/go-basic.obo
wget http://current.geneontology.org/ontology/external2go/pfam2go

前两个ftp站点数据库直接复制到浏览器进行下载,也可以使用Filezilla的ftp协议匿名登录下载。

后三个数据库包用wget或者curl下载。

下面描述用Filezilla下载 uniprot_sprot.dat.gz 的步骤

① 将ftp://ftp.uniprot.org 复制到“主机”部分。直接点击“快速链接”。对于不安全的链接提示,点击“确定”

② 将/pub/databases/uniprot/current_release/knowledgebase/complete/ 复制到“远程站点”,回车跳转路径。在当前ftp站点当前文件夹下找到uniprot_sprot.dat.gz 并下载到本地。

1635342499.jpg

所有数据库(包)下载完成后,数据库文件夹下内容

~/db/Trinotate $
├── go-basic.obo
├── NOG.annotations.tsv.gz
├── pfam2go
├── Pfam-A.hmm.gz
└── uniprot_sprot.dat.gz

2.4 创建标志文件,骗过脚本(第二步)

创建脚本识别已经下载完成的文件,用以欺骗脚本,让它以为已经下载过了数据库(包)。

~/db/Trinotate $
mkdir __trino_chkpts && cd __trino_chkpts && touch download_pfam.ok  eggnog_download.ok  go_download.ok  pfam2go_download.ok  wget_sprot_dat.ok && cd ../
#此时数据库文件夹下内容
├── go-basic.obo
├── NOG.annotations.tsv.gz
├── pfam2go
├── Pfam-A.hmm.gz
├── __trino_chkpts
│   ├── download_pfam.ok
│   ├── eggnog_download.ok
│   ├── go_download.ok
│   ├── pfam2go_download.ok
│   └── wget_sprot_dat.ok
└── uniprot_sprot.dat.gz

2.5 用Build_Trinotate_Boilerplate_SQLite_db.pl 完成剩余配置(第三步)

~/db/Trinotate $
#Build_Trinotate_Boilerplate_SQLite_db.pl  + 路径/数据库名称
~/biosoft/Trinotate/admin/Build_Trinotate_Boilerplate_SQLite_db.pl Trinotate20211027
#此时数据库文件夹下内容
├── Pfam-A.hmm.gz
├── Trinotate20211027.sqlite
├── uniprot_sprot.dat.gz
└── uniprot_sprot.pep
#准备蛋白数据库(选择blast或者diamond建库,我的序列不是太多,依然用blastp建库)
makeblastdb -in uniprot_sprot.pep -dbtype prot
#解压并准备Pfam数据库
gunzip Pfam-A.hmm.gz
hmmpress Pfam-A.hmm
#此时数据库文件夹下内容
├── Pfam-A.hmm
├── Pfam-A.hmm.h3f
├── Pfam-A.hmm.h3i
├── Pfam-A.hmm.h3m
├── Pfam-A.hmm.h3p
├── Trinotate20211027.sqlite
├── uniprot_sprot.dat.gz
├── uniprot_sprot.pep
├── uniprot_sprot.pep.pdb
├── uniprot_sprot.pep.phr
├── uniprot_sprot.pep.pin
├── uniprot_sprot.pep.pot
├── uniprot_sprot.pep.psq
├── uniprot_sprot.pep.ptf
└── uniprot_sprot.pep.pto

到此软件安装与数据库配置完毕。

相关文章

网友评论

    本文标题:Trinotate 半自动快速安装与部署

    本文链接:https://www.haomeiwen.com/subject/tbqmaltx.html