macでインフォマティクス

macでインフォマティクス

NGS関連のインフォマティクス情報についてまとめています。

糖質活性酵素(CAZymes)のアノテーションを行うdbCAN2 webサーバーと、ローカルでアノテーション を行う run_dbcan

 

 炭水化物は、核酸、タンパク質、脂質とともにすべての細胞に存在する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

http://bcb.unl.edu/dbCAN2/

f:id:kazumaxneo:20200603123332p:plain

アミノ酸配列をFASTA形式でアップロードするだけで解析できる。

 

出力 

f:id:kazumaxneo:20200603124823p:plain

 上のダウンロードボタンから全データをダウンロードできる。 

f:id:kazumaxneo:20200603125128p:plain

 

ローカルでのラン

ローカルで動かすなら、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 input.fa prok --out_dir outdir --db_dir db/

出力

f:id:kazumaxneo:20200603132524p:plain

出力については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