ゲノムのコンタミネーションは、比較進化ゲノミクスからメタゲノミクスに至るまで、様々なダウンストリームアプリケーションに影響を及ぼす問題として、ますます認識されるようになってきている。ここでは、ContScoutを紹介する。ContScoutは、アノテーションされたゲノムから外来配列を除去するための精密なツールである。ContScoutは、合成ベンチマークデータにおいて、汚染物質が近縁種である場合でも高い特異性と感度を達成した。競合ツールよりも優れた性能を示し、水平遺伝子転移と汚染を区別することができた。844の真核生物ゲノムの汚染に関するスクリーニングの結果、最も一般的な汚染源は細菌であり、次いで真菌類、植物であることが明らかになった。さらに、祖先ゲノムの再構築におけるコンタミネーションは、遺伝子の初期起源を誤り、遺伝子損失率を増大させ、複雑な祖先ゲノムの誤った概念につながることを示した。以上のことから、外来タンパク質を高感度に除去するツールを提供し、多様な真核生物ゲノムから汚染物質を同定・除去し、系統学的解析への影響を評価する。
Tutorials
https://github.com/h836472/ContScout/tree/main/UserManual/Tutorials
インストール
ubuntuでpre-buildのdocker imageを使ってテストした。
program's minimum requirements
- 128 GB RAM, 500 GB of storage. Recommended: >=512 GB RAM, >=4 TB storage
依存
- python 3.x
- java (tested with openJDK 17)
- curl, wget tools
- R programming language (tested with v4.1.2)
- several R packages (optparse, bitops, Biostrings, rtracklayer, rlang,
- GenomicRanges, WriteXLS, googlesheets4)
- NCBI blast (for importing NCBI databases. Tested with 2.12.0+)
- awk
- DIAMOND (tested with v2.1.8)
- MMSeqs (tested with version "25688290f126d7428155ad817e9809173fe78afd")
- jacksum (tested with v3.5.0)
#docker image
docker pull h836472/contscout:latest
#singularity image
mkdir ~/CS_install
cd ~/CS_install
singularity build contscout_latest.sif docker://h836472/contscout:latest
> updateDB -h
This is the database updater component of ContScout.
Loading R libraries.
Usage: updateDB [options]
Options:
-u USERDIR, --userdir=USERDIR
Path to local database repository folder
-i INFO, --info=INFO
Path to local database repository folder
-l, --list_databases
List pre-formatted databases stored in the local database repository.
-f, --force
Force database update despite low disk space.
-c CPU, --cpu=CPU
Number of CPUs to use
-d DBNAME, --dbname=DBNAME
Name of the database to be used as a reference
-h, --help
Show this help message and exit
> ContScout -h
This is ContScout, a contamination remover tool written in R.
Loading R libraries.
Usage: ContScout [options]
Options:
-a ALIGNER, --aligner=ALIGNER
Aligner software to use
-u USERDIR, --userdir=USERDIR
Path to local database repository folder
-U UNKNOWN, --unknown=UNKNOWN
How to handle proteins without reference hit ("keep" / "drop")
-w WHAT, --what=WHAT
Main project name
-c CPU, --cpu=CPU
Number of CPUs to use
-C CONSENSUS, --consensus=CONSENSUS
Consensus taxon call threshold
-d DBNAME, --dbname=DBNAME
Name of the reference database
-i INPUTDIR, --inputdir=INPUTDIR
Input data directory containing fasta protein sequence and annotation files
-q QUERYTAX, --querytax=QUERYTAX
NCBI TaxonID for query
-f, --force
Force the analysis despite inconsistencies between annotation file and fasta file.
-G, --genome_filter
Remove contaminants from genome too.
-r, --reuse_abc
Reuse ABC file from previous run if possible.
-n, --no_annot
Perform analysis on a genome with no annotation.
-N NUM_HITS, --num_hits=NUM_HITS
Consider up to this many database hits per query protein.
-s SENSM, --sensM=SENSM
Sensitivity value for MMSeqs
-S SENSD, --sensD=SENSD
Sensitivity value for Diamond
-m MEMLIMIT, --memlimit=MEMLIMIT
Memory usage limit for
-l, --list_databases
List pre-formatted databases stored in the local database repository.
Minimum percentage of sequence identity between query and hit.
-t TMPDIR, --tmpdir=TMPDIR
Path to temp folder.
-h, --help
Show this help message and exit
データベース
ランするにはリファレンスデータベースをインストールする必要がある。ContScoutにはupdateDBと呼ばれるuniref, nr, uniprotKBなどを自動で取得し、更新もできるツールが含まれてる。これを使用してデータベースを取得する。
swissprotデータベースとtaxidを取得し、ラベル付けして整形して使用する(分類学的ラベリングはNCBIの分類学データベースに基づく)。
mkdir -p test/database
updateDB -u ~/test/database -d swissprot
テストラン
まずクエリーデータ用の入力フォルダを作成する(protein_seqとannotation_data)。そこにタンパク質配列のfastaとアノテーションのgff or gtfをそれぞれ配置する。
mkdir test/query
mkdir test/query/protein_seq
mkdir test/query/annotation_data
wget https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/146/045/GCF_000146045.2_R64/GCF_000146045.2_R64_protein.faa.gz -O test/query/protein_seq/GCF_000146045.2_R64_protein.faa.gz
wget https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/146/045/GCF_000146045.2_R64/GCF_000146045.2_R64_genomic.gff.gz -O test/query/annotation_data/GCF_000146045.2_R64_genomic.gff.gz
ContScoutのラン。NCBIの taxonomyデータベースで目的のゲノム(汚染でない自分のゲノム)のtaxonomy idを調べ、それを指定する。
ContScout -u ~/test/database -d swissprot -i ~/test/query/ -q 559292 -t /tmp
-
-d Name of the reference database
-
-i Input data directory containing fasta protein sequence and annotation files
-
-q NCBI TaxonID for query
結果はtest/query/に出来たtaxid名で始まるディレクトリに保存される。
出力例
diag_dataディレクトリには、$ProjectName_RunDiag.xlsxがあり、実行時のパフォーマンスに関する重要な品質管理データが保存されている。
Saccharomyces_cerevisiae_S288C_RunDiag.xlsx
filtered_outputs/
filtered outputs/には、各分類群レベルでキープされた宿主タンパク質ファイル(kept)とコンタミネーションタンパク質ファイル(dropped)が、分類群テーブルサマリーとともに書き込まれる。
R_saved_object/
解析中に保存された様々なデータテーブルやリストが R データ形式で保存されている。これらはreadRDSコマンドでRコンソールから開くことができる。重要な診断データファイルは "rescall.RDS "と "ctgDB_with_taxCalls.RDS "。
そのほか
- ContScoutの中核となる仮定は、真のコンタミネーションは均質なコンティグ/スキャフォールドに組織化され、他の外来タンパク質(水平遺伝子導入で得られたものを含む)は本物の宿主タンパク質とコンティグを共有しているというものである。この目的のために、ContScoutは個別にピックアップされた外来タンパク質("IndivProtDrop")とコンティグフィルタリングに基づいたタンパク質(CtgProtDrop)を比較する。
-
特定の分類群レベルでの疑わしい解析結果の指標:
medRLE(各タンパク質タクソンコールをサポートするリード数の中央値)の値が5を下回った場合。混合タクソンタグは、"keep "と "droped "の両方のグループに存在する。IndivProtDrop "カラムの値は急上昇し、"CtgProtDrop "の値は低いままである。Jackardの値は0に近いままであり、個別にマークされたタンパク質とコンティグレベルでマークされたタンパク質が競合していることを示している。
-
信頼できる分析結果の指標
各分類群レベルでMedRLE値が高い(>10)。保持タンパク質グループと脱落タンパク質グループの間に混合タクソンがほとんど現れない。混合タクソンがある場合、混合タグタンパク質の大部分は宿主セクションに残る。IndivProtDropカラムとCtgProtDropカラムで同じような値が見られ、Jaccard値は1に近く、個々のタンパク質タグとコンティグベースのコールの間で良い一致を示している。CtgProtDropの値が複数の連続した分類群レベルで類似している。
論文より
- ContScoutは、各クエリ配列に対して6つの分類群レベル(superkingdom、kingdom、phylum、class、order、family)のラベルを信頼度スコアとともに付与する。この情報を遺伝子位置データと組み合わせることで、既存の手法に比べて分類精度が向上した。
- ContScoutは汚染配列を正確に同定する一方で、ほとんどの場合、HGTを汚染として認識しないことも示した。また、コンタミネーションが進化ゲノム解析に及ぼす悪影響(偽の祖先遺伝子数の推定や遺伝子損失率の著しい膨張をもたらす)を示した。
引用
ContScout: sensitive detection and removal of contamination from annotated genomes
Balázs Bálint, Zsolt Merényi, Botond Hegedüs, Igor V. Grigoriev, Zhihao Hou, Csenge Földi & László G. Nagy
Nature Communications volume 15, Article number: 936 (2024)
関連