macでインフォマティクス

macでインフォマティクス

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

高い特異性と感度で外来配列を除去する ContScout

 

 ゲノムのコンタミネーションは、比較進化ゲノミクスからメタゲノミクスに至るまで、様々なダウンストリームアプリケーションに影響を及ぼす問題として、ますます認識されるようになってきている。ここでは、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)

Github

#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.

 

-p PCI, --pci=PCI

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)

 

関連