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

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:latestdocker 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=metagenomeoptional arguments:-h, --help            show this help message and exit--dbCANFile DBCANFILEIndicate 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_SIGNALPUse 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_PATHThe 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 VERSIONdbCAN-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 useCGC_Finder parameters:--cluster CLUSTER, -c CLUSTERPredict 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 valueCGC_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, --odbcanpuloutput 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_TYPENone[TC-TC,STP-STP]. Some like sigunature hits-eptn EXTRA_PAIR_TYPE_NUM, --extra_pair_type_num EXTRA_PAIR_TYPE_NUMspecify signature pair cutoff.1,2-iden IDENTITY_CUTOFF, --identity_cutoff IDENTITY_CUTOFFidentity to identify a homologous hit-cov COVERAGE_CUTOFF, --coverage_cutoff COVERAGE_CUTOFFquery coverage cutoff to identify a homologous hit-bsc BITSCORE_CUTOFF, --bitscore_cutoff BITSCORE_CUTOFFbitscore cutoff to identify a homologous hit-evalue EVALUE_CUTOFF, --evalue_cutoff EVALUE_CUTOFFevalue cutoff to identify a homologous hitdbCAN-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_CUTOFFdefine 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_CUTOFFdefine how many sequences share substrates in a CGC, one protein may include several subfamily domains.-subs SUBSTRATE_SCORS, --substrate_scors SUBSTRATE_SCORSeach 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_EscheriaColiK12MG1655run_dbcan EscheriaColiK12MG1655.faa protein --out_dir output_EscheriaColiK12MG1655run_dbcan EscheriaColiK12MG1655.fna prok -c cluster --out_dir output_EscheriaColiK12MG1655run_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.mzph.cn/news/184456.shtml

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

相关文章

Python中基于Pandas的Excel工具类,一文掌握!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在Python中处理Excel时&#xff0c;Pandas库是一个强大且灵活的工具。它不仅能够轻松处理数据分析任务&#xff0c;还能用于创建、读取和写入Excel文件。在本文中&#xff0c;将探讨如何使用Pandas库封装一个Exc…

48、Flink DataStream API 编程指南(1)- DataStream 入门示例

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

SpringBoot application.yml配置文件写法

1&#xff0c;基本介绍 &#xff08;1&#xff09;YAML 是 JSON 的超集&#xff0c;简洁而强大&#xff0c;是一种专门用来书写配置文件的语言&#xff0c;可以替代 application.properties。 &#xff08;2&#xff09;在创建一个 SpringBoot 项目时&#xff0c;引入的 spri…

2023年汉字小达人市级比赛答题通道和时间已公布,常见问题和解答

备受上海市小学生关注的2023年第十届汉字小达人市级比赛将于今天下午16点-18点正式开始。很多家长和孩子都在关心届时如何进入汉字小达人市级比赛的通道&#xff08;入口&#xff09;呢&#xff1f;用什么设备呢&#xff1f;有什么注意事项呢&#xff1f;尤其是第一次参加比赛的…

彻底删除VsCode配置和安装过的插件与缓存

前言 当你准备对 Visual Studio Code&#xff08;VSCode&#xff09;进行重新安装时&#xff0c;可能遇到一个常见问题&#xff1a;重新安装后&#xff0c;新的安装似乎仍然保留了旧的配置信息&#xff0c;这可能会导致一些麻烦。这种情况通常是由于卸载不彻底所致&#xff0c…

git分支命名规范

https://www.cnblogs.com/wq-9/p/16968098.html

Android-P CameraSerivce

0 前言 本文重点分析Android-P的CameraService实现。 验证:Goldfish模拟器 1 定义 图1.1 CameraService ICameraServiceframeworks/av/camera/aidl/android/hardware/ICameraService.aidlBnCameraServiceout/soong/.intermediates/frameworks/av/camera/libcamera_client/an…

《微信小程序开发从入门到实战》学习三十七

4.2 云开发JSON数据库 4.2.8 分页查询 在计算机互联网时代&#xff0c;很多页面底部分页导航按钮&#xff0c;有首页、上一页、第一页、第二页、尾页。 分页查询是指根据页码将每一页的数据查询出来。 在移动互联网时代&#xff0c;网页和应用都对网页进行优化&#xff0c;…

浅谈安科瑞网络电力仪表在斯里兰卡某项目的应用

摘要&#xff1a;安科瑞APM系列网络仪表适用于高低压柜&#xff0c;进线以及出线处的全电量测量及监测。 Absrtact: APM series of network power meter are suitable for full power measurement and monitoring of high and low voltage cabinets, incoming and outgoing li…

低功耗CMOS实时时钟/日历电路芯片D8563,1.0~5.0V,内置报警和定时器,电源复位功能

D8563是低功耗的CMOS实时时钟/日历电路,它提供一个可编程时钟输出&#xff0c;一个中断输出和掉电检测器&#xff0c;所有的地址和数据通过IC总线接口串行传递。最大总线速度为400Kbitss每次读写数据后&#xff0c;内嵌的字地址寄存器会自动产生增量。 主要特点&#xff1a; …

Python异常处理:try...except语句

Python是一门非常灵活且易于学习的编程语言&#xff0c;在日常开发中被广泛应用。然而&#xff0c;由于各种原因&#xff0c;我们的代码可能会出现异常情况&#xff0c;例如输入错误、文件读写异常等等。Python异常处理是Python中重要的一部分&#xff0c;为了保证程序的稳定性…

一、Gradle 手动创建一个项目

文章目录 Gradle 介绍Gradle Wrapper Gradle 使用手动安装 Gradle初始化 Gradle 介绍 Gradle 是一个快速的、可信的、适应性强的自动化构建工具&#xff0c;它是开源的。它使用优雅的并且可扩展的描述性语言。其他的介绍在官网可以了解。 Gradle Wrapper 官方建议使用 Gradl…

适配器模式-C++实现

适配器是一种结构型设计模式&#xff0c;用于将一个接口转换为另一个客户端所需要的接口。该模式通过创建一个适配器对象&#xff0c;使不兼容的接口可以协同工作。 适配器模式主要分为三个角色&#xff1a;适配器类、目标类、适配者类。 适配器模式分为对象适配器和类适配器…

信号收尾.

sigaction 信号捕捉 它也是信号捕捉&#xff0c;不仅能处理普通信号还能处理实时信号&#xff0c;但我们不管实时信号 我们发现函数名和形参中结构体名一样都是sigaction&#xff0c;这在c/c中允许吗&#xff1f; 不建议&#xff0c;但是可以 signo你要捕捉几号信号 输入型参…

老泮识趣:难忘何家桥

回忆何家桥往事&#xff0c;写了篇《消失的何家桥》&#xff0c;没想到点击率如此高&#xff0c;出乎意料。网友的共鸣可见&#xff0c;城市发展的今天&#xff0c;乡情是个美好的存在&#xff0c;清贫、朴实&#xff0c;丝毫不影响美感。由于大家的鼓励&#xff0c;触动了我再…

基于Netty实现TCP通信

创建一个Maven项目添加下面依赖 <dependencies><!-- 日志依赖 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.32</version></dependency><dependency><g…

TCP 连接断开

1&#xff1a;TCP 四次挥手过程是怎样的&#xff1f; 客户端打算关闭连接&#xff0c;此时会发送一个 TCP 首部 FIN 标志位被置为 1 的报文&#xff0c;也即 FIN 报文&#xff0c;之后客户端进入 FIN_WAIT_1 状态。 服务端收到该报文后&#xff0c;就向客户端发送 ACK 应答报文…

阿里云崩溃了,为什么你没有收到补偿?【补偿领取方式放文末】

事情经过 北京时间11月27日&#xff0c;阿里云部分地域云数据库控制台访问出现异常。据悉&#xff0c;从当日09:16起&#xff0c;阿里云监控发现北京、上海、杭州、深圳、青岛、香港以及美东、美西地域的数据库产品(RDS、PolarDB、Redis等)的控制台和OpenAPI访问出现异常&…

PHP在线日语学习平台

有需要请加文章底部Q哦 可远程调试 PHP在线日语学习平台 一 介绍 此日语学习平台基于原生PHP开发&#xff0c;数据库mysql。系统角色分为用户和管理员。(附带参考设计文档) 技术栈&#xff1a;phpmysqlphpstudyvscode 二 功能 学生 1 注册/登录/注销 2 个人中心 3 查看课程…

C#开发的OpenRA游戏之属性SelectionDecorations(14)

C#开发的OpenRA游戏之属性SelectionDecorations(14) 前面分析选择类时,还有一个功能,就是把选中物品的状态和生命值显示出来。 它是通过下面的函数来实现: protected override IEnumerable<IRenderable> RenderSelectionBars(Actor self, WorldRenderer wr, bool …