macでインフォマティクス

macでインフォマティクス

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

DIAMOND用のCOGデータベースを作成するスクリプト COG

 

Githubより

微生物のメタゲノムやメタトランスクリプトームをアノテーションする際、生物のアノテーションだけでは不十分なことが多く、時には機能的アノテーションも必要となる。ゲノムの機能アノテーションに便利なデータベースとして、NCBIが管理するCOG(Clusters of Orthologous Groups)がある(https://www.ncbi.nlm.nih.gov/COG/)。

これらのCOGファイルはNCBIFTPサイト(ftp://ftp.ncbi.nlm.nih.gov/pub/COG/COG2014/data/)から直接ダウンロードできるが、DIAMONDのような高速アライナーを使用した場合、すぐには検索可能な形で構造化されていない。このレポジトリには、DIAMONDのリファレンスとして使用するためのマージされたデータベースファイルを得るためのスクリプトがいくつか含まれている。

 

 

 

インストール

一部のスクリプトのみpython2で書かれているため、mambaでpython2の仮想環境を作ってテストした。Rの3.6も導入して/usr/bin/Rの環境が影響を受けないようにした。

本体 Github

mamba create -n COG -y python=2.7
conda activate COG

#Rの導入(3.6が入る)
mamba install -c r r -y

#Rのパッケージのイントール
install.packages("optparse")
install.packages(c("data.table", "dplyr"))
install.packages("ggplot2")

git clone https://github.com/transcript/COG.git
cd COG/

 

 データベースの準備

COGのデータベース(link)をダウンロードする。ここでは2014更新版をダウンロードしているが、2020更新版が最新。

wget https://ftp.ncbi.nih.gov/pub/COG/COG2014/data/prot2003-2014.fa.gz
wget https://ftp.ncbi.nih.gov/pub/COG/COG2014/data/cog2003-2014.csv
wget https://ftp.ncbi.nih.gov/pub/COG/COG2014/data/cognames2003-2014.tab
gzip -dv prot2003-2014.fa.gz

 

 

実行方法

1、NCBIFTPアーカイブからダウンロードしたCOGファイルを、DIAMONDにデータベースとして読み込むことができる1つのFASTA構造ファイルに変換する。

python COG/merger.py prot2003-2014.fa cog2003-2014.csv cognames2003-2014.tab

merged_cogs.faが出力される。

 

2、merged_cogs.faからDIAMONDのデータベースを作成する。

diamond makedb --in merged_cogs.fa -d COG_diamond.dmnd

COG_diamond.dmndが出力される。

 

3、分析対象のfastqDIAMONDファイルを指定してDIAMOND blastxを実行する(DIAMONDはデフォルトではfastモード)。

diamond blastx --db COG_diamond.dmnd -q input.fastq -a out.cogs
  • --sensitive   enable sensitive mode (default: fast)
  • --more-sensitive   enable more sensitive mode (default: fast)
  • --very-sensitive   enable very sensitive mode (default: fast)
  • --ultra-sensitive   enable ultra sensitive mode (default: fast)
     

4、DIAMONDの出力を表示可能な形式に変換する。

diamond view --daa cogs.daa -o out.cogs > table

 

5、DIAMONDのの結果を分析し、全てのマッチを凝縮して、最も多くマッチしたカテゴリーのサマリーを得る。-Iで4の出力テーブルを指定する。-Dで指定するのはstep1で作成したmerged_cogs.faファイル。このスクリプトはpython3なので、仮想環境を抜けてpython3環境で実行する。

conda deactivate
python COG/DIAMOND_COG_analysis_counter.py -I table -D /media/kazu/8TB2/COG/merged_cogs.fa -O out

 

6、サマリーレポートを作成する。

conda activate COG
Rscript COG/COG_analysis.R -I cogs.daa -O graph.pdf -T 20

出力

f:id:kazumaxneo:20210417010334p:plain


 

引用

GitHub - transcript/COG: Scripts and steps for making a consolidated COG database file for tools like DIAMOND.

 

関連