炭水化物は、核酸、タンパク質、脂質とともにすべての細胞に存在する4つの主要な生体高分子の1つである。炭水化物には、単糖類、オリゴ糖、多糖類がある。糖タンパク質や糖脂質などの他の生体高分子に糖質が共有結合したハイブリッド生体高分子は、糖質複合体と呼ばれている。複合糖質と糖質複合体は、すべての生物において糖質活性酵素(CAZymes)によって合成、分解、修飾されている(ref.1)。特に植物は光合成を利用して二酸化炭素と水を糖に変換し、さらにCAZymesの助けを借りてデンプンやセルロースなどの炭水化物に変換している。したがって、CAZymesは植物や植物に関連する動物や微生物にとって極めて重要であり、特に植物や植物分解微生物のゲノムにはCAZymes遺伝子が豊富に存在していることは驚くに値しない(ref.2,3)。
CAZymesは、バイオエネルギーや農業における意義(ref.4)に加えて、ヒトの健康にとっても極めて重要である(ref.5)。なぜなら、ヒトや他の動物は、消化管内に生息するバクテリアに依存して、様々な難消化性炭水化物を分解し、栄養素をサルベージしているからである(ref.6)。動物の腸内細菌のゲノムには数百の炭水化物分解GH(グリコシドヒドロラーゼ)遺伝子がコードされているのに対し、ヒトのゲノムには17の消化性GH遺伝子しかコードされていないことが明らかになっている(ref.7)。最近の研究では、食事の炭水化物組成を変化させることが腸内細菌叢の構造に大きな影響を与え、ヒトの健康にさらに影響を与えることが示唆されている(ref.8,9)。
1990年代以降、360以上のCAZymeファミリーがCAZyデータベースによって定義・分類されており(ref.10)、グリコシルトランスフェラーゼ[GTs]、グリコシドヒドロラーゼ[GHs]、多糖リアーゼ[PLs]、炭水化物エステラーゼ[CEs]、炭水化物結合モジュール[CBM]、補助活性酵素[AAs]の6つの主要なクラスを形成している。CAZyはGenBankのタンパク質をCAZymeファミリーに割り当てており、これらのCAZyの事前アノテーション済みタンパク質は、配列類似性に基づいたCAZymeアノテーションの基礎となっている。
CAZymesの重要性に鑑み、新たに配列決定されたゲノムを用いてCAZymesの解析が行われることが多い(CAZomeと総称される)。CAZomeのアノテーションには2つのアプローチがある。
ユーザーがCAZyデータベースに連絡を取り、CAZyデータベースが半自動でCAZomeアノテーションを行う( ref.11)が、専門家の手動によるキュレーションを伴うため、CAZyアノテーションはゴールドスタンダードな方法と考えられている。
利用者は、HMMER(ref.12)やBLAST(ref.13)のような自動ツールを自分のコンピュータやWeb上で実行して、CAZomeアノテーションを行う(後述)。2012年以前は、BLASTを利用してCAZyアノテーション済みのタンパク質を利用者自身のコンピュータ上で検索することが多かったが、2012年以降は、BLASTを利用してCAZyアノテーション済みのタンパク質を利用者自身のコンピュータ上で検索するようになった。
2010年には、CAT(CAZyme Analysis Toolkit)がウェブサーバーとして開発され、ユーザーはBLAST検索とHMMER検索の両方をCATウェブサーバー上でリモートで実行することができるようになった(ref.14)。HMMER検索は、事前にアノテーションされたCAZymeに関連付けられたPfam HMM(隠れマルコフモデル)に対して実行される。
2012年には、CAZymeファミリー固有のシグネチャドメインのためのHMMのデータベースであるdbCANを開発した(ref,4)。CATとは異なり、各CAZymeファミリーについて、CDD(NCBIの保存ドメインデータベース)データベースの検索と手動の文献キュレーションにより、CAZyの事前にアノテーションされたメンバーからシグネチャドメインを取得した。
CAZymeファミリーとCAZyデータベースで新たに作成されたサブファミリーのHMMを作成して、ほぼ年に一度dbCANを更新している(図1)。ユーザーはHMMをダウンロードし、ローカルでHMMERを実行することで、CAZomeの自動アノテーションを行うことができる。また、HMMERの出力を解析するためのPerlスクリプトも提供しており、これはCAZymeシグネチャードメイン、その境界、E値、およびHMMドメインカバレッジを返す。このようなドメインベースのアノテーションは、複数のCAZymeドメインとドメインリピート(例えば、同じファミリーの複数のCBM)を持つモジュラータンパク質である傾向があるCAZymesにとって特に有用である。
dbCAN2 meta server
アミノ酸配列をFASTA形式でアップロードするだけで解析できる。
出力
上のダウンロードボタンから全データをダウンロードできる。
ローカルでのラン
ローカルで動かすなら、dbCAN2の論文のオーサーの1人であるLe Huangさんが開発されたrun_dbcanが利用できる。
インストール
本体 Github
conda create -n run_dbcan python=3.8 diamond hmmer prodigal -c conda-forge -c bioconda
conda activate run_dbcan
pip install run-dbcan==2.0.11
> run_dbcan.py -h
$ run_dbcan.py -h
usage: run_dbcan.py [-h] [--cluster CLUSTER] [--dbCANFile DBCANFILE] [--dia_eval DIA_EVAL] [--dia_cpu DIA_CPU] [--hmm_eval HMM_EVAL] [--hmm_cov HMM_COV] [--hmm_cpu HMM_CPU] [--hotpep_hits HOTPEP_HITS] [--hotpep_freq HOTPEP_FREQ] [--hotpep_cpu HOTPEP_CPU] [--tf_eval TF_EVAL] [--tf_cov TF_COV]
[--tf_cpu TF_CPU] [--stp_eval STP_EVAL] [--stp_cov STP_COV] [--stp_cpu STP_CPU] [--out_pre OUT_PRE] [--out_dir OUT_DIR] [--db_dir DB_DIR] [--cgc_dis CGC_DIS] [--cgc_sig_genes {tp,tf,all}] [--tools {hmmer,diamond,hotpep,all} [{hmmer,diamond,hotpep,all} ...]] [--use_signalP USE_SIGNALP]
[--gram {p,n,all}]
inputFile {protein,prok,meta}
dbCAN2 Driver Script
positional 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
--cluster CLUSTER, -c CLUSTER
Predict CGCs via CGCFinder. This argument requires an auxillary locations file if a protein input is being used
--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
--hotpep_hits HOTPEP_HITS
Hotpep Hit value
--hotpep_freq HOTPEP_FREQ
Hotpep Frequency value
--hotpep_cpu HOTPEP_CPU
Number of CPU cores that Hotpep is allowed to use
--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
--out_pre OUT_PRE Output files prefix
--out_dir OUT_DIR Output directory
--db_dir DB_DIR Database directory
--cgc_dis CGC_DIS CGCFinder Distance value
--cgc_sig_genes {tp,tf,all}
CGCFinder Signature Genes value
--tools {hmmer,diamond,hotpep,all} [{hmmer,diamond,hotpep,all} ...], -t {hmmer,diamond,hotpep,all} [{hmmer,diamond,hotpep,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.
--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
任意でsignalIPもダウンロードする(link)。手順はGIhtub参照。
データベースの準備
test -d db || mkdir db
cd db \
&& wget http://bcb.unl.edu/dbCAN2/download/CAZyDB.07312019.fa.nr && diamond makedb --in CAZyDB.07312019.fa.nr -d CAZy \
&& wget http://bcb.unl.edu/dbCAN2/download/Databases/dbCAN-HMMdb-V8.txt && mv dbCAN-HMMdb-V8.txt dbCAN.txt && hmmpress dbCAN.txt \
&& wget http://bcb.unl.edu/dbCAN2/download/Databases/tcdb.fa && diamond makedb --in tcdb.fa -d tcdb \
&& wget http://bcb.unl.edu/dbCAN2/download/Databases/tf-1.hmm && hmmpress tf-1.hmm \
&& wget http://bcb.unl.edu/dbCAN2/download/Databases/tf-2.hmm && hmmpress tf-2.hmm \
&& wget http://bcb.unl.edu/dbCAN2/download/Databases/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
ランする際は"--db_dir db/"で指定する。
テストラン
タンパク質配列などを指定する。
run_dbcan.py EscheriaColiK12MG1655.faa protein --out_dir outdir --db_dir db/
- inputFile User input file. Must be in FASTA format.
- {protein, prok, meta} Type of sequence input. protein=proteome; prok=prokaryote; meta=metagenome
出力
出力についてはGIthubで説明されています。確認して下さい。
引用
dbCAN2: A Meta Server for Automated Carbohydrate-Active Enzyme Annotation
Han Zhang, Tanner Yohe, Le Huang, Sarah Entwistle, Peizhi Wu , Zhenglu Yang , Peter K Busk, Ying Xu, Yanbin Yin
Nucleic Acids Res. 2018 Jul 2;46(W1):W95-W101
dbCAN: a web resource for automated carbohydrate-active enzyme annotation
Yanbin Yin, Xizeng Mao, Jincai Yang, Xin Chen, Fenglou Mao, Ying Xu
Nucleic Acids Res. 2012 Jul; 40(Web Server issue): W445–W451
関連