dbCAN碳水化合物酶基因数据库及run_dbCAN4工具安装配置及使用

news2024/10/6 14:32:30

dbCAN(碳水化合物酶基因数据库)是一个专门用于在基因组中预测碳水化合物酶基因的在线工具。它基于隐马尔可夫模型(HMM)和BLAST搜索,能够在蛋白质序列中识别和注释不同类型的碳水化合物酶基因,包括纤维素酶、木质素酶、半纤维素酶、淀粉酶、果糖酶等等。 dbCAN是一个非常有用的生物信息学工具,对于研究纤维素生物转化、生物能源、生产生物基化学品等领域的研究具有重要意义。

Run_dbCAN是一个用于预测生物信息学中的碳水化合物活性酶的工具。它用于分析基因组或转录组数据,以识别编码碳水化合物活性酶的基因。

 相关文章:

dbCAN2: a meta server for automated carbohydrate-active enzyme annotation | Nucleic Acids Research | Oxford Academic

dbCAN3: automated carbohydrate-active enzyme and substrate annotation | Nucleic Acids Research | Oxford Academic

dbCAN-seq: a database of carbohydrate-active enzyme (CAZyme) sequence and annotation | Nucleic Acids Research | Oxford Academic

github最新版代码源 

GitHub - linnabrown/run_dbcan: Run_dbcan V4, using genomes/metagenomes/proteomes of any assembled organisms (prokaryotes, fungi, plants, animals, viruses) to search for CAZymes.

其他相关链接(有些链接暂时打不开,大家可以等一段时间后再试,或者站内找本人发布的相关资源下载):

CAZy - Home

Index of /dbCAN2/download (unl.edu)

https://github.com/linnabrown/run_dbcan/issues

dbCAN-sub 

1、安装dbcan

conda环境安装

conda create -n run_dbcan python=3.8 dbcan -c conda-forge -c bioconda
conda activate run_dbcan

docker 拉取

docker pull haidyi/run_dbcan:latest


docker run --name <preferred_name> -v <host-path>:<container-path> -it haidyi/run_dbcan:latest run_dbcan <input_file> [params] --out_dir <output_dir>

2、数据库配置

 可以在指定位置建立db或dbcan的目录,然后下载相关文件包并用对应的软件处理,这里面有些文件不是最新的,大家可以修改后下载最新版然后再执行,下面的脚本是官方的,首先看是否有db文件夹,如果没有就创建db,然后进入db文件夹开始下载和处理数据库文件,这个可以分开来做,大家应该都理解。

test -d db || mkdir db
cd db \
    && wget http://bcb.unl.edu/dbCAN2/download/Databases/fam-substrate-mapping-08252022.tsv \
	&& wget http://bcb.unl.edu/dbCAN2/download/Databases/PUL.faa && makeblastdb -in PUL.faa -dbtype prot \
	&& wget http://bcb.unl.edu/dbCAN2/download/Databases/dbCAN-PUL_07-01-2022.xlsx \
    && wget http://bcb.unl.edu/dbCAN2/download/Databases/dbCAN-PUL_07-01-2022.txt \
	&& wget http://bcb.unl.edu/dbCAN2/download/Databases/dbCAN-PUL.tar.gz && tar xvf dbCAN-PUL.tar.gz \
    && wget http://bcb.unl.edu/dbCAN2/download/Databases/dbCAN_sub.hmm && hmmpress dbCAN_sub.hmm \
    && wget http://bcb.unl.edu/dbCAN2/download/Databases/V11/CAZyDB.08062022.fa && diamond makedb --in CAZyDB.08062022.fa -d CAZy \
    && wget https://bcb.unl.edu/dbCAN2/download/Databases/V11/dbCAN-HMMdb-V11.txt && mv dbCAN-HMMdb-V11.txt dbCAN.txt && hmmpress dbCAN.txt \
    && wget https://bcb.unl.edu/dbCAN2/download/Databases/V11/tcdb.fa && diamond makedb --in tcdb.fa -d tcdb \
    && wget http://bcb.unl.edu/dbCAN2/download/Databases/V11/tf-1.hmm && hmmpress tf-1.hmm \
    && wget http://bcb.unl.edu/dbCAN2/download/Databases/V11/tf-2.hmm && hmmpress tf-2.hmm \
    && wget https://bcb.unl.edu/dbCAN2/download/Databases/V11/stp.hmm && hmmpress stp.hmm \
    && cd ../ && wget http://bcb.unl.edu/dbCAN2/download/Samples/EscheriaColiK12MG1655.fna \
    && wget http://bcb.unl.edu/dbCAN2/download/Samples/EscheriaColiK12MG1655.faa \
    && wget http://bcb.unl.edu/dbCAN2/download/Samples/EscheriaColiK12MG1655.gff

 手动下载位置:Index of /dbCAN2/download (unl.edu)

SignalP数据库下载和配置

文章:Predicting Secretory Proteins with SignalP | SpringerLink

SignalP 4.1 - DTU Health Tech - Bioinformatic Services

 需要填写邮箱信息同意后才会发送限时链接(4小时内有效)到对应邮箱

当然大家可以直接在网上丢个fasta文件,选择参数后提交在线的注释任务。

3、使用run_dbcan

帮助信息:

Required arguments:
  inputFile             User input file. Must be in FASTA format.
  {protein,prok,meta}   Type of sequence input. protein=proteome; prok=prokaryote; meta=metagenome

optional arguments:
  -h, --help            show this help message and exit
  --dbCANFile DBCANFILE
                        Indicate the file name of HMM database such as dbCAN.txt, please use the newest one from dbCAN2 website.
  --dia_eval DIA_EVAL   DIAMOND E Value
  --dia_cpu DIA_CPU     Number of CPU cores that DIAMOND is allowed to use
  --hmm_eval HMM_EVAL   HMMER E Value
  --hmm_cov HMM_COV     HMMER Coverage val
  --hmm_cpu HMM_CPU     Number of CPU cores that HMMER is allowed to use
  --out_pre OUT_PRE     Output files prefix
  --out_dir OUT_DIR     Output directory
  --db_dir DB_DIR       Database directory
  --tools {hmmer,diamond,dbcansub,all} [{hmmer,diamond,dbcansub,all} ...], -t {hmmer,diamond,dbcansub,all} [{hmmer,diamond,dbcansub,all} ...]
                        Choose a combination of tools to run
  --use_signalP USE_SIGNALP
                        Use signalP or not, remember, you need to setup signalP tool first. Because of signalP license, Docker version does not have signalP.
  --signalP_path SIGNALP_PATH, -sp SIGNALP_PATH
                        The path for signalp. Default location is signalp
  --gram {p,n,all}, -g {p,n,all}
                        Choose gram+(p) or gram-(n) for proteome/prokaryote nucleotide, which are params of SingalP, only if user use singalP
  -v VERSION, --version VERSION

dbCAN-sub parameters:
  --dbcan_thread DBCAN_THREAD, -dt DBCAN_THREAD
  --tf_eval TF_EVAL     tf.hmm HMMER E Value
  --tf_cov TF_COV       tf.hmm HMMER Coverage val
  --tf_cpu TF_CPU       tf.hmm Number of CPU cores that HMMER is allowed to use
  --stp_eval STP_EVAL   stp.hmm HMMER E Value
  --stp_cov STP_COV     stp.hmm HMMER Coverage val
  --stp_cpu STP_CPU     stp.hmm Number of CPU cores that HMMER is allowed to use

CGC_Finder parameters:
  --cluster CLUSTER, -c CLUSTER
                        Predict CGCs via CGCFinder. This argument requires an auxillary locations file if a protein input is being used
  --cgc_dis CGC_DIS     CGCFinder Distance value
  --cgc_sig_genes {tf,tp,stp,tp+tf,tp+stp,tf+stp,all}
                        CGCFinder Signature Genes value

CGC_Substrate parameters:
  --cgc_substrate       run cgc substrate prediction?
  --pul PUL             dbCAN-PUL PUL.faa
  -o OUT, --out OUT
  -w WORKDIR, --workdir WORKDIR
  -env ENV, --env ENV
  -oecami, --oecami     out eCAMI prediction intermediate result?
  -odbcanpul, --odbcanpul
                        output dbCAN-PUL prediction intermediate result?

dbCAN-PUL homologous searching parameters:
  how to define homologous gene hits and PUL hits

  -upghn UNIQ_PUL_GENE_HIT_NUM, --uniq_pul_gene_hit_num UNIQ_PUL_GENE_HIT_NUM
  -uqcgn UNIQ_QUERY_CGC_GENE_NUM, --uniq_query_cgc_gene_num UNIQ_QUERY_CGC_GENE_NUM
  -cpn CAZYME_PAIR_NUM, --CAZyme_pair_num CAZYME_PAIR_NUM
  -tpn TOTAL_PAIR_NUM, --total_pair_num TOTAL_PAIR_NUM
  -ept EXTRA_PAIR_TYPE, --extra_pair_type EXTRA_PAIR_TYPE
                        None[TC-TC,STP-STP]. Some like sigunature hits
  -eptn EXTRA_PAIR_TYPE_NUM, --extra_pair_type_num EXTRA_PAIR_TYPE_NUM
                        specify signature pair cutoff.1,2
  -iden IDENTITY_CUTOFF, --identity_cutoff IDENTITY_CUTOFF
                        identity to identify a homologous hit
  -cov COVERAGE_CUTOFF, --coverage_cutoff COVERAGE_CUTOFF
                        query coverage cutoff to identify a homologous hit
  -bsc BITSCORE_CUTOFF, --bitscore_cutoff BITSCORE_CUTOFF
                        bitscore cutoff to identify a homologous hit
  -evalue EVALUE_CUTOFF, --evalue_cutoff EVALUE_CUTOFF
                        evalue cutoff to identify a homologous hit

dbCAN-sub major voting parameters:
  how to define dbsub hits and dbCAN-sub subfamily substrate

  -hmmcov HMMCOV, --hmmcov HMMCOV
  -hmmevalue HMMEVALUE, --hmmevalue HMMEVALUE
  -ndsc NUM_OF_DOMAINS_SUBSTRATE_CUTOFF, --num_of_domains_substrate_cutoff NUM_OF_DOMAINS_SUBSTRATE_CUTOFF
                        define how many domains share substrates in a CGC, one protein may include several subfamily domains.
  -npsc NUM_OF_PROTEIN_SUBSTRATE_CUTOFF, --num_of_protein_substrate_cutoff NUM_OF_PROTEIN_SUBSTRATE_CUTOFF
                        define how many sequences share substrates in a CGC, one protein may include several subfamily domains.
  -subs SUBSTRATE_SCORS, --substrate_scors SUBSTRATE_SCORS
                        each cgc contains with substrate must more than this value

命令及结果参考

#参考格式
run_dbcan [inputFile] [inputType] [-c AuxillaryFile] [-t Tools]

#结果说明
uniInput - The unified input file for the rest of the tools
		(created by prodigal if a nucleotide sequence was used)
dbsub.out - the output from the dbCAN_sub run
diamond.out - the output from the diamond blast
hmmer.out - the output from the hmmer run
tf.out - the output from the diamond blast predicting TF's for CGCFinder
tc.out - the output from the diamond blast predicting TC's for CGCFinder
cgc.gff - GFF input file for CGCFinder
cgc.out - ouput from the CGCFinder run
overview.txt - Details the CAZyme predictions across the three tools with signalp results


###说的都很清楚了,就不重复了,英文可以chatgpt或者百度吧

 示例:

run_dbcan EscheriaColiK12MG1655.fna prok --out_dir output_EscheriaColiK12MG1655

run_dbcan EscheriaColiK12MG1655.faa protein --out_dir output_EscheriaColiK12MG1655

run_dbcan EscheriaColiK12MG1655.fna prok -c cluster --out_dir output_EscheriaColiK12MG1655

run_dbcan EscheriaColiK12MG1655.faa protein -c EscheriaColiK12MG1655.gff --out_dir output_EscheriaColiK12MG1655

手动注释CAZyDB

1、下载指定文件的数据库文件,注意下载最新版本:

###中间07312020表示2020年7月31日的版本,大家可以浏览download目录查看确认最新版
wget -c http://bcb.unl.edu/dbCAN2/download/CAZyDB.07312020.fa
wget -c http://bcb.unl.edu/dbCAN2/download/Databases/CAZyDB.07302020.fam-activities.txt

2、使用diamond工具进行快速比对

#基于fasta文件生成diamond比对参考数据库
diamond makedb --in CAZyDB.07312020.fa --db CAZyDB.07312020

# 提取fam对应注释
grep -v '#' CAZyDB.07302020.fam-activities.txt |sed 's/ //'| sed '1 i CAZy\tDescription' > CAZy_description.txt

###位置 /database/CAZyDB
diamond blastp --db /database/CAZyDB/CAZyDB.07312020 --query out_pro.fa --threads 10 -e 1e-5 --outfmt 6 --max-target-seqs 1 --quiet --out ./gene_diamond.f6

# 提取基因与dbcan分类对应表
perl ./format_dbcan2list.pl -i gene_diamond.f6 -o gene.list

#按对应表累计丰度
python ./summarizeAbundance.py -i gene.count -m gene.list -c 2 -s ',' -n raw -o ./TPM

这里面format_dbcan2list.pl和summarizeAbundance.py的来源是来自刘永鑫文章和github代码仓库,后面有时间再给大家做详细介绍,或者大家看相关文章自己研究:

 https://doi.org/10.1002/imt2.83

YongxinLiu/EasyMicrobiome (github.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1271043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter App混淆加固、保护与优化原理

目录 引言 一、混淆原理 二、实现混淆 2.1、混淆Dart代码 2.2、混淆Android原生代码 三、优化应用程序包体积 3.1、移除未使用的资源 3.2、压缩图片资源 四、提高反编译难度 4.1、混淆字符串 代码加固 五、常见问题与解决方案 六、总结 引言 在移动应用程序开发中&…

【Vue】【uni-app】实现工单列表项详情页面

这次主要实现的是一个工单详情页面 从工单列表项中点击详情 跳转到工单详情页面&#xff0c;这个详情页面就是这次我们要实现的页面&#xff0c;并可以通过点击这个关闭按钮返回到工单列表页面 首先是在我们原有的工单列表页面的按钮增加一个点击跳转 <button size"m…

支付宝蚂蚁庄园2023年12月1日小课堂问题今天正确答案是什么?通常来说榴莲的气味越浓郁说明?为什么冬天容易手脚冰凉?

问题&#xff1a;通常来说&#xff0c;榴莲的气味越浓郁说明&#xff1f; 选项&#xff1a;A、越成熟 B、越生涩 答案&#xff1a;越成熟 解析&#xff1a;榴莲都会有独特的香味,一般情况下,香味越浓郁就说明榴莲的成熟度越高,它的果肉会越香甜,吃起来会更美味。 问题&#…

【React-Router】导航传参

1. searchParams 传参 // /page/Login/index.js import { Link, useNavigate } from react-router-dom const Login () > {const navigate useNavigate()return <div>登录页<button onClick{() > navigate(/article?id91&namejk)}>searchParams 传参…

11.22 作业 select实现TCP并发客户端/poll实现TCP并发服务器

#include <myhead.h> #define SERIP "192.168.115.162" #define SERPORT 8888 #define CLIIP "192.168.115.162" #define CLIPORT 6666 int main(int argc, const char *argv[]) {//创建客户端用于通信的套接字int cfd socket(AF_INET,SOCK_STREAM,…

数据通信——OSPF路由控制实验

实验需求 我们采用OSPF完成路由的控制&#xff0c;首先连接如下拓扑&#xff1a; 所有设备均属于area 0&#xff0c;网段及环回口配置如上图所示。 实验目的&#xff1a;R4和R1的环回口通信路径为R4——R2——R1若R2出现问题&#xff0c;自动切换到R3路径。 实验配置 1&am…

ChatGPT 改 Bug 能力,惊呆我了!

ChatGTP 是全球公认的最强的 AI 模型&#xff0c;能做的事情太多了。。 对于程序员来说&#xff0c;ChatGPT 可以自动生成代码、代码补全、代码分析、编程语言转换、写 SQL、写程序等等&#xff0c;下面我给大家先简单演示几个。 1、代码生成 ChatGPT 可以根据程序员输入的指…

磁盘配额Quota案例,针对组,用户设置宽限期限,限制值的报表

目的与账号&#xff1a; 1.设计专题&#xff0c;五个人一组&#xff0c;账号分别是myquota1-myquota5,密码&#xff1a;password&#xff0c;初始用户组myquotagrp,其他默认。脚本如下 增加执行权限&#xff0c;运行 2&#xff09;实践quota1&#xff0c;文件系统支持 只针对…

对话特斯拉北美车主:FSD什么水平?深度用户解密V11

作者 |Amy 编辑 |德新 近期中国四部委联合印发通知&#xff0c;部署开展智能网联汽车准入和上路通行试点工作&#xff0c;要求具备量产条件L3、L4 级别智能网联车在限定区域内开展上路试点&#xff0c;并且首次明确事故责任判定。 通知下发后&#xff0c;市场传闻&#xff1a…

STM32_11(SPI)

一、SPI通信 SPI&#xff08;Serial Peripheral Interface&#xff09;是由Motorola公司开发的一种通用数据总线四根通信线&#xff1a;SCK&#xff08;Serial Clock&#xff09;、MOSI&#xff08;Master Output Slave Input&#xff09;、MISO&#xff08;Master Input Slav…

一个菜单两个二级路由的搭建

效果如下&#xff0c;而且这是最上方的菜单&#xff0c;需要进入以后重定向。 {path: /,name: HOME,component: ConsoleLayout, //这里也有router-viewmeta: {menu: false},redirect: {name: ManagerList},children: [{path: /rightsManage,name: RightsManage,component: () &…

21.Oracle的程序包(Package)

Oracle的程序包Package 一、Package的概述1、什么是Oracle11g的Package2、Package的作用是什么3、常见的系统内置Package 二、创建Package的相关语法1、Package的创建语法2、Package的删除3、具体案例4、Package的使用5、与Package相关的其他语法 三、常见内置程序包的使用1、…

什么是电子负载

电子负载也被称为电子负载器或电源模拟器用于模拟实际负载的设备&#xff0c;它能够吸收和消耗电能&#xff0c;就像真实的电子设备一样&#xff0c;电子负载的主要功能是测试电源、电池、发电机等电源设备的性能和可靠性。 电子负载的工作原理是通过内部的电力转换电路&#x…

西工大网络空间安全学院计算机系统基础实验一(14,15)

给大家强调一点&#xff0c;如果这门课你只是通过了&#xff0c;但是其实你并不懂其中的原理&#xff0c;千万不要害怕&#xff0c;不要胆怯&#xff0c;因为后面你还有很多很多的时间来回头巩固它&#xff0c;正所谓“君子报仇&#xff0c;十年不晚”。同样的道理&#xff0c;…

OSI七层参考模型及其协议和各层设备

OSI网络模型是开放系统互联&#xff08;Open Systems Interconnection&#xff09;参考模型&#xff0c;它是由国际标准化组织&#xff08;ISO&#xff09;制定的。这个模型将网络系统划分为七个层次&#xff0c;OSI网络模型的七层是&#xff1a;物理层、数据链路层、网络层、传…

牛客算法题 HJ99 自守数 golang实现

题目 HJ99 自守数 描述 自守数是指一个数的平方的尾数等于该数自身的自然数。例如&#xff1a;25^2 625&#xff0c;76^2 5776&#xff0c;9376^2 87909376。请求出n(包括n)以内的自守数的个数数据范围&#xff1a; 1 ≤ &#xfffd; ≤ 100001≤n≤10000 输入描述&…

ACM32F070 RTC 引脚做普通 GPIO 用法配置

有场景需要把带RTC引脚功能的IO当做普通的GPIO使用&#xff0c;但是按照正常的GPIO初始化却无法使用&#xff0c;该芯片手册中有给出介绍 现给出配置方法&#xff0c;参考官方SDK里面PC13的配置&#xff1a; // PC13 GPIOC_Handle.Pin GPIO_PIN_13; GPIOC_Handle.Mod…

数据可视化:用图表和图形展示数据

写在开头 在当今信息爆炸的时代,海量的数据如同一座沉默的宝库,等待着我们挖掘和理解。然而,这些庞大的数据集本身可能令人望而生畏。在这个时候,数据可视化成为了解数据、发现模式和传达信息的强大工具。本篇博客将带领你探索数据可视化的奇妙世界,学习如何在python中使…

MacBook macOs安装RabbitMQ【超详细图解】

目录 一、使用brew安装RabbitMQ 二、安装RabbitMQWeb管理界面 三、启动RabbitMQ 一、使用brew安装RabbitMQ 刚好项目要用到RabbitMQ&#xff0c;安装顺便写下安装步骤记录一下以备用 使用brew命令安装&#xff0c;一般Mac会自带这个命令&#xff0c;如没有&#xff0c;…

如何看网络架构图-1基础篇

这是一个比较常见的网络部署架构图&#xff0c;通过LVSKeepalive做网络层的高可用架构&#xff0c;在应用层通过nginx做应用层细粒度的请求管控&#xff0c;然后根据负载均衡策略将请求转发到后端的tomcat服务。 首先看到这样的图&#xff0c;相信大部分人都能看懂&#xff0c;…