Trinotate 半自动快速安装与部署

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

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

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