abricate 是tseemann开发的一个很方便的工具,可以对细菌基因组 fasta 数据进行扫描,获得其基因组携带那些毒力基因和耐药基因结果。软件包含数据库,不需要自己再额外下载构建,数据库包括:
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