====== 基于abricate软件的virulencefinder搭建 ======
===== abricate简介 =====
abricate 是tseemann开发的一个很方便的工具,可以对细菌基因组 fasta 数据进行扫描,获得其基因组携带那些毒力基因和耐药基因结果。软件包含数据库,不需要自己再额外下载构建,数据库包括:
* vfdb: 基于vfdb毒力基因数据库
* argannot: 基于argannot耐药数据库
* plasmidfinder: 基于plasmidfinder用于质粒扫描
* ecoli_vf: 基于大肠杆菌毒力基因
* megares: 基于megares耐药数据库
* resfinder: 基于resfinder耐药数据库
* ecoh: 用于大肠杆菌O/H抗原分析
* ncbi: 基于NCBI的耐药数据库
* card: 基于加拿大CARD耐药数据库
abricate官网:[[https://github.com/tseemann/abricate]]
virulencefinder数据库官网:[[https://bitbucket.org/genomicepidemiology/virulencefinder_db/src/master/]]
====== 使用方法 ======
# 新建一个虚拟环境运行 abricate
conda create -n abricate
conda activate abricate
我们已经创建好了conda环境,可以直接调用
source /TJPROJ1/META_ASS/soft/anaconda3/bin/activate abricate
最关键的有:
--db 使用指定的数据库,默认是软件安装环境的db库中的ncbi。--datadir还可以跟换db库的路径。
--minid DNA identity阈值设置,默认是80%
--mincov DNA coverage 阈值设置,默认是80%
--summary 可以将批量的结果报告整合到一个表格中
(2)运行命令行
#默认使用,注意需要用“>”将结果记录
abricate input.fasta >out.tab
# 选择其他数据库 vfdb
abricate -db vfdb input.fasta >out.tab
# 批量扫描生成结果
for i in *.fa; do abricate --db card --quiet $i > ${i%.fa}.result; done
abricate --summary *.result > result
cat result
# 用parallel 加速并行结果
ls *.fa | parallel --max-args=1 abricate --db vfdb -q {1} > vfdb.result
less vfdb.result
** 创建自制数据库 **
假设您想创建自己的数据库,名为tinyamr。 您所需要的只是一个核苷酸序列的 FASTA 文件,例如tinyamr.fa。 理想情况下,序列 ID 的格式为 >DB~~~ID~~~ACC~~~RESISTANCES,其中 DB 是tinyamr,ID 是基因名称,ACC 是序列源的登录号,RESISTANCES 是表型 报告,DESC 可以是任何文本描述。
% cd /TJPROJ1/META_ASS/soft/anaconda3/envs/abricate/db
% mkdir tinyamr
% cp tinyamr.fa sequences 数据名称要求为sequences
% head -n 1 sequences
>tinyamr~~~GENE_ID~~~GENE_ACC~~RESISTANCES some description here
% abricate --setupdb
% # or just do this: makeblastdb -in sequences -title tinyamr -dbtype nucl -hash_index
% abricate --list
DATABASE SEQUENCES DBTYPE DATE
tinyamr 173 nucl 2019-Aug-28
% abricate --db tinyamr screen_this.fasta