macでインフォマティクス

macでインフォマティクス

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

(メタゲノム) ロングリードのビニングツール MetaBCC-LR

 

 メタゲノム研究は、さまざまな環境下で見られる微生物群集の構成と構造に関する重要な知見を提供している。メタゲノムデータを解析するための技術のうち、ビニングは、存在するさまざまな微生物の種を特徴づけるための重要なステップと考えられている。しかし、多くのビニングツールでは、ショートリードデータを使用しているため、種特異的なシグナルが十分に得られないなどの限界があり、ロングリードシーケンス技術の登場により、その限界を克服する機会が訪れている。しかし、現在のメタゲノム解析用ビニングツールのほとんどは、ショートリード用に開発されたものである。ロングリードを処理できる数少ないツールは、入力サイズの増加に対応できないか、未知の場合が多い参照ゲノムを含むデータベースを必要とする。本論文では、MetaBCC-LRを紹介する。MetaBCC-LRは、ロングリードをk-merカバレッジヒストグラムとオリゴヌクレオチド組成に基づいて直接クラスタリングする、スケーラブルなリファレンスフリーのビニング手法である。 

 MetaBCC-LRを、カバレッジとエラーレートが異なる複数のシミュレートされた実際のメタゲノムロングリードデータセットで評価した。実験の結果、MetaBCC-LRは、最新のリファレンスフリーのビニングツールを大幅に上回り、過去の最良のツールと比較して、F1スコアで約13%、ARIで約30%の改善を達成した。さらに、ロングリードアセンブリの前にMetaBCC-LRを使用することで、アセンブリの品質を向上させると同時に、時間やメモリ使用量などのアセンブリコストを大幅に削減できることを示している。MetaBCC-LRの効率性と精度は、幅広いアプリケーションをサポートする、より効果的なロングリードベースのメタゲノミクス分析への道を開くものである。

 

 

インストール

依存

Python dependencies

  • numpy 1.16.4
  • scipy 1.3.0
  • kneed 0.4.2
  • seaborn 0.9.0
  • h5py 2.9.0
  • tabulate 0.8.7
  • umap-learn 0.5.1
  • song-vis (latest version from github)

C++ requirements

  • GCC version 9.1.0
  • OpenMP 4.5 for multi processing
  • PThreads (any version should work)

Github

git clone https://github.com/anuradhawick/MetaBCC-LR.git
cd MetaBCC-LR/
pip install .

#h5py
pip install h5py

> python mbcclr -h

$ python mbcclr -h

 

usage: mbcclr [-h] --reads-path READS_PATH [--embedding {tsne,umap,song}] [--k-size {3,4,5,6,7}] [--sample-count SAMPLE_COUNT] [--sensitivity SENSITIVITY] [--bin-size BIN_SIZE] [--bin-count BIN_COUNT]

[--threads THREADS] [--ground-truth GROUND_TRUTH] [--resume] --output OUTPUT [--version]

 

MetaBCC-LR Help. A tool developed for binning of metagenomics long reads (PacBio/ONT). Tool utilizes composition and coverage profiles of reads based on k-mer frequencies to perform dimension reduction.

dimension reduced reads are then clustered using DB-SCAN. Minimum RAM requirement is 9GB.

 

optional arguments:

-h, --help show this help message and exit

--reads-path READS_PATH, -r READS_PATH

Reads path for binning

--embedding {tsne,umap,song}, -e {tsne,umap,song}

Embedding tool to be used for clustering

--k-size {3,4,5,6,7}, -k {3,4,5,6,7}

Choice of k-mer for oligonucleotide frequency vector.

--sample-count SAMPLE_COUNT, -c SAMPLE_COUNT

Number of reads to sample in order to determine the number of bins. Set to 1% of reads by default. Changing this parameter will affect whether low coverage species are separated or

not.

--sensitivity SENSITIVITY, -s SENSITIVITY

Value between 1 and 10, Higher helps recovering low abundant species (No. of species > 100)

--bin-size BIN_SIZE, -bs BIN_SIZE

Size of each bin in coverage histogram.

--bin-count BIN_COUNT, -bc BIN_COUNT

Number of bins in the coverage histogram.

--threads THREADS, -t THREADS

Thread count for computation

--ground-truth GROUND_TRUTH, -g GROUND_TRUTH

Ground truth of reads for dry runs and sensitivity tuning

--resume Continue from the last step or the binning step (which ever comes first). Can save time needed to run DSK and obtain k-mers. Ideal for sensitivity tuning

--output OUTPUT, -o OUTPUT

Output directory

--version, -v Show version.

 

 

 

テストラン

Gitrhubのリンクからテストデータをダウンロードする。

解凍した。

data/

f:id:kazumaxneo:20210620233225p:plain

ロングリードのfasta | fastqを指定する。

python mbcclr --resume -r data/reads.fasta -g data/ids.txt -o test_output -e umap -c 25000 -bs 10 -bc 10 -k 4

f:id:kazumaxneo:20210620233149p:plain

 

出力

f:id:kazumaxneo:20210620233548p:plain

images

f:id:kazumaxneo:20210620233428p:plain

f:id:kazumaxneo:20210620233506p:plain

 

ビニング

python reads2bins.py --reads data/reads.fasta --bins test_output/final.txt --output OUTPUT

出力

f:id:kazumaxneo:20210620234138p:plain

ロングリードを直接ビニングしているので、ドラフトゲノムサイズは細菌のゲノムサイズよりずっと大きくなっている。このあと、必要に応じてアセンブルしたりする。

 

以前一度紹介したのですが、失念して再び紹介してしまいました。このまま残しておきます。

引用
MetaBCC-LR: metagenomics binning by coverage and composition for long reads
Anuradha Wickramarachchi, Vijini Mallawaarachchi, Vaibhav Rajan, Yu Lin

Bioinformatics. 2020 Jul 1;36(Suppl_1):i3-i11