macでインフォマティクス

macでインフォマティクス

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

解析内容などから適したインフォマティクスツールを探せる Bio-TDS

 

 バイオインフォマティクスと計算生物学は、バイオサイエンスとバイオメディカル研究において重要な役割を果たす。研究者が実験プロジェクトを設計する際には、データから新しい知識発見に至る最も関連性の高いバイオインフォマティクスツールキットを見つけることが大きな課題となる。 Bio-TDS(Bioscience Query Tool Discovery Systems、http://biotds.org/)は、研究者が最も適用可能な分析ツールをフリーテキスト検索して探せるように開発された。 Bio-TDSは、複数のバイオサイエンス領域(例えばゲノム、プロテオーム、バイオイメージング)の統合されたコミュニティリポジトリから12000個の分析ツールを照会する能力をユーザに提供する、柔軟な検索システムである。 Bio-TDSの主なコンポーネントの1つは、アノテーション、キュレーション、クエリ処理、評価のためのオントロジー自然言語処理ワークフローである。 Bio-TDSの科学的影響は、biological data analysisに焦点を当てたサイトであるBiostarsにおいて研究者が質問したサンプルを用いて評価された。 Bio-TDSは、5つの同様のバイオサイエンス分析ツール検索システムと比較され、関連性および完全性に関して他のものよりも優れていた。 Bio-TDSは、知識発見プロセスにおいて、データ分析に必要な、研究者の質問と最も関連性の高い計算ツールセットを結びつける能力を提供する。

 

Getting started

http://biotds.org/help/gettingstarted.xhtml;jsessionid=65897f4ccf9e2f234ddcd3a7883b

Overview

他のチュートリアル動画

http://biotds.org/help/videos.xhtml;jsessionid=672bf8c8cc3e16f417347fd7b17a

Bio-TDSに関するツイート。

 

ラン

http://biotds.orgにアクセスする。

f:id:kazumaxneo:20180726202446p:plain

 

1、キーワード検索

例えばクエリとしてRNAとタイプ。インクリメンタルサーチに対応しており、候補が表示される。RNA secondary structureを選択。Searchボタンをクリック。

f:id:kazumaxneo:20180727004136p:plain

候補のツールが表示される。

f:id:kazumaxneo:20180727004434p:plain

クリックすると、詳細とツールへのリンクが表示される。

f:id:kazumaxneo:20180727004428p:plain

ツール名を直接打って検索することもできる。

 

2、分野から検索。

ツールが研究分野毎に分類されている。画像はBioinformaticsを選択したところ。

f:id:kazumaxneo:20180727005128p:plain

 

3、Methodから検索。

画像はpathwayを選択したところ。

f:id:kazumaxneo:20180727005450p:plain

 

4、Data formatから検索。

Alignmentから検索。

f:id:kazumaxneo:20180727005928p:plain

 

引用
Bio-TDS: bioscience query tool discovery system

Gnimpieba EZ, VanDiermen MS, Gustafson SM, Conn B, Lushbough CM

Nucleic Acids Res. 2017 Jan 4;45(D1):D1117-D1122

 

シーケンスクオリティを絵文字で表す fastqe

そのままのツールです。ツイッターで教えてもらいました。

 

インストール

mac os 10.13のpython3.4でテストした(pyton2環境でも多分動きます)。

依存

  • pyemojify
  • BioPython
  • NumPy

pipで必要なライブラリを入れておく。

pip install pyemojify numpy Biopython

本体 Github

 

ラン

実行するにはfastqファイルを引数で指定する(iIllumina 1.8+/Sanger format)。

python input.fq

 

InSilicoSeq(リンク)を使い発生させたリードを分析してみる。

#ランダムにバクテリアゲノムを1つダウンロードしてリードを発生
iss generate --ncbi bacteria -u 1 --model NovaSeq --output ncbi_reads -p 8

分析実行

python fastqe.py ncbi_reads_R1.fastq 

python fastqe.py ncbi_reads_R1.fastq 

🙀🙀🙀🙀🙀😬😬🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈🙈😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😬😿😿😿😿😿😿😿😿😿😿😿😿😿😿😿😿😿😿😿😿😿😿😿🙅

対応絵文字はコードから確認して下さい(リンク)。

同じデータをfastqcでも分析。

> fastqc #GUI起動

f:id:kazumaxneo:20180726190026p:plain

NovaSeqのクオリティはかなり良好ですね。

 

ちょっとしたジョークアプリだと思いますが、真剣に導入したくなりました😬😬😬

引用

https://github.com/lonsbio/fastqe

 

ミドルサイズのindelを検出する IMSindel

 挿入および欠失(indel)は、フレームシフトの導入による遺伝子機能の根本的な変更を介してたくさんのヒト疾患に関与している。しかし、次世代シークエンシングデータからのこれらのindelを正確に検出する事は現在でもチャレンジングである。これは、DNAシーケンシングリードが短いため、中間サイズのindels(50 bp以上)に特に当てはまる。著者らは、BWAのソフトクリッピングされたフラグメント(マッピングされたリードの中で部分的にマッチしない領域)とマッピングされていないリードを使用して、中間サイズのindelを予測する新しい方法を開発した。我々(著者ら)は、同じサンプルからのwholeエクソンシークエンシングデータを使用して、本手法、GATK、PINDELおよびScanIndelの性能比較を報告する。これらの4つの方法において予測されたすべてのindelsのサンガーシーケンシングにより、偽陽性および偽陰性の数が決定された。Recallとprecisionの調和平均(F-measure)を用いて、各方法の性能を測定した。GATK 0.56、PINDEL 0.52、ScanIndel 0.46と比較して、我々(著者ら)の方法は1つのサンプルで0.84の最高F値を達成した。追加の試料でも同様の結果が得られ、本方法は他の中程度の指標を検出する方法より優れていることが示された。、我々(著者ら)は、この方法論がヒト疾患に関連した中間サイズのindels発見に貢献すると考えている。

 

東京医科歯科大学 プレスリリース

 http://www.tmd.ac.jp/archive-tmdu/kouhou/20180411_1.pdf

 

インストール

mac10.12のdokcerコンテナ上でテストした。

依存

 本体 Github

dokcerコンテナとして導入する。

git clone https://github.com/NCGG-MGC/IMSindel.git
cd IMSindel/
docker build -t imsindel .

> docker run --rm -v /Users/user/Documents/docker_share:/data imsindel

$ docker run --rm -v /Users/user/Documents/docker_share:/data imsindel

Usage: imsindel [options]

        --bam /path/to/foo.bam

        --chr chromosome

        --outd /path/to/outoput-dir

        --indelsize maximal indel-size

        --reffa /path/to/ref.fa

        --baseq [20]

        --mapq [20]

        --within [3]

        --pair-within [5]

        --alt-read-depth [5]

        --support-reads [3]

        --clip-length [5]

        --support-clip-length [5]

        --glsearch [glsearch36]

        --glsearch-mat [data/mydna.mat]

        --mafft [mafft]

        --samtools [samtools]

        --temp [/temp]

        --thread [1]

        --output-consensus-seq /path/to/output-dir

 

 ラン

 実行するには、リードをマッピングして得たbamとbam.bai、リファレンスのfastaが必要になる。マッパーとして、論文ではBWA-MEMが使われている。

#コンテナの/home/との共有ディレクトリ/Users/user/Documents/docker_share/をホスト側(mac os10.12側)に準備し、そこにbamとbamのindex、リファレンスfastaを配置した。

#共有ディレクトリを指定してランする。"--rm"で終了後コンテナ破棄。ファイルパスは仮装イメージ側の絶対パスを記載する。
docker run --rm -v /Users/user/Documents/docker_share:/data imsindel --bam /data/input.bam --chr chr10 --outd /data --indelsize 10000 --reffa /data/hg19.fa

結果は載せられないが、出力は以下のフォーマットに乗っ取っている。

f:id:kazumaxneo:20180725120549j:plain

クロモソーム1つ分なら、早ければ数分で解析は終わります(WES 2GBデータ)。

  

引用

IMSindel: An accurate intermediate-size indel detection tool incorporating de novo assembly and gapped global-local alignment with split read analysis

Shigemizu D, Miya F, Akiyama S, Okuda S, Boroevich KA, Fujimoto A, Nakagawa H, Ozaki K, Niida S, Kanemura Y, Okamoto N, Saitoh S, Kato M, Yamasaki M, Matsunaga T, Mutai H, Kosaki K, Tsunoda T

Sci Rep. 2018 Apr 4;8(1):5608.

 

CSVやTSVのファイルを整形表示するtableviewコマンド

 

tableviewはOKAMURA YasunobuさんがGithubに公開されている、自動でcsv区切りを認識し、人間が見やすいよう整形表示してくれるコマンド。

 

インストール

GIthub

リリースから各プラットフォームに対応したバイナリをダウンロードする。ここではmac版をダウンロードし、パスの通ったディレクトリに移動した。

https://github.com/informationsea/tableview/releases

mv tableview_darwin_386.dms /usr/local/bin/tableview

> tableview -help

$ tableview -help

tableview [-format FORMAT] [FILE]

 

  -format string

    input format (auto/csv/tsv/tdf) (default "auto")

  -header

    Fix header line

  -help

    Show help

  -license

    Show license

  -logger string

    Log file for debug

  -sheet int

    Sheet index (Excel only) (default 1)

  -version

    Show version

 

Key Binding

 

  j, Ctrl-N, ARROW-DOWN, ENTER

       Scroll forward 1 line

 

  k, Ctrl-P, ARROW-UP

       Scroll back 1 line

 

  h, ARROW-LEFT

       Scroll horizontally left 1 column

 

  l, ARROW-RIGHT

       Scroll horizontally right 1 column

 

  f, Ctrl-V, SPACE, PageDown

       Scroll forward 1 window

 

  [

       Scroll horizontally left 1 character

 

  ]

       Scroll horizontally right 1 character

 

  g, Home, <

       Go to first line

 

  G, End, >

       Go to last line

 

  /pattern

       Search forward in the file

 

  n

       Repeat previous search

 

  N

       Repeat previous search, but in the reverse direction

 

  ?

       Show this help

 

  L

       Show license

 

 

ラン

csvファイルをコマンドライン環境で表示すると、区切り自体が文字なので、とても見にくくなる。

一応excelなどの表計算ソフトに読み込めば表示できるが、中身を確認するだけなら無駄が多い。

open -a excel test1.csv #-aでアプリ指定

 

やはりコマンドライン環境で完結する方がスムーズに進む。 columnコマンドを使えば、","をセパレータと認識して整形表示できる。

column -t -s, test1.csv |less

Header 1  Header 2  Header 3

1         2         3

12        23        34

123       234       345

1234      2345      3456

12345     23456     34567

123456    234567    345678

1234567   2345678   3456789

hogehoge  foo       bar

1         2         3

12        23        34

123       234       345

1234      2345      3456

12345     23456     34567

123456    234567    345678

1234567   2345678   3456789

hogehoge  foo       bar

1         2         3

12        23        34

123       234       345

これで実用上問題ないが、列が増えてくると視認性が悪くなる。また、列が画面に収まりきらないほど増えてくると、見かけ上の改行が入ってごちゃごちゃになってしまう。 その他、オプションを忘れると調べ直さないといけないので、手が止まる。

 

tableviewはおそらくこのあたりの問題の解決を目指して作成されている。testデータを開いてみる。

tableview test1.csv

 

Header 1 | Header 2 | Header 3

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

    1234 |     2345 |     3456

   12345 |    23456 |    34567

  123456 |   234567 |   345678

 1234567 |  2345678 |  3456789

hogehoge | foo      | bar

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

    1234 |     2345 |     3456

   12345 |    23456 |    34567

  123456 |   234567 |   345678

 1234567 |  2345678 |  3456789

hogehoge | foo      | bar

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

       1 |        2 |        3

      12 |       23 |       34

(line: 1/72+   column: 1/3)

縦線 " " で区切りが入り、見やすくなっている(拡張子によるフォーマット認識はdefaultではauto)。十字キーで1行単位スクロール、スペース(下方向)とb(上方向)でページ単位スクロールができる。また、列が多くて画面からはみ出す場合、十字キーの← →で横方向スクロールもできるようになっている。これだけのことで、視認性がかなり改善する。

エスケープキーで終了する。

 

 -header をつけると、ヘッダー行だけ固定して縦方向スクロールができる。

tableview -header test1.csv

Header 1 | Header 2 | Header 3

      12 |       23 |       34

     123 |      234 |      345

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

       1 |        2 |        3

      12 |       23 |       34

スクロールしてもヘッダー行が残っている。

 

/patternでキーワード検索できる。

"/"を押してから"12345"とタイプ。キーワード12345が検索される。

   12345 |   23456 |   34567

  123456 |  234567 |  345678

 1234567 | 2345678 | 3456789

hogehoge | foo     | bar

       1 |       2 |       3

      12 |      23 |      34

     123 |     234 |     345

    1234 |    2345 |    3456

   12345 |   23456 |   34567

  123456 |  234567 |  345678

 1234567 | 2345678 | 3456789

hogehoge | foo     | bar

       1 |       2 |       3

      12 |      23 |      34

     123 |     234 |     345

       1 |       2 |       3

      12 |      23 |      34

     123 |     234 |     345

       1 |       2 |       3

      12 |      23 |      34

     123 |     234 |     345

       1 |       2 |       3

      12 |      23 |      34

     123 |     234 |     345

       1 |       2 |       3

      12 |      23 |      34

     123 |     234 |     345

       1 |       2 |       3

(line: 6/72   column: 1/3  Search:12345  Found:1/6)

 

CSVの編集やstatisticsを確認したければ、Csvkitはどうでしょうか?坊農さん(HPリンク)にツイート経由で教えていただきました。

 

引用

GitHub - informationsea/tableview: Format CSV file as human readable table

 

既知の二次代謝産物生合成遺伝子クラスターを検出する antiSMASH

2019 6/17 インストール追記

2020 5/15 help追加

2020 7/9 ローカルでの実行例記載

2021 5/13 v6について追記

 

 二次代謝産物または特殊代謝産物とも呼ばれる天然の産物(Natural products)は、多くの薬の基礎であり、農業および栄養学の応用にとって重要な分子でもある。さらに、分子生物学および細胞生物学の多くの側面を研究する化学プローブとして科学研究に重要な役割を果たす。多くの微生物ゲノムがこのような分子の産生をコードする複数の生合成遺伝子クラスター(BGCs: biosynthetic gene clusters)を含んでいるという科学的洞察は、天然産物研究のパラダイムシフトにつながった: ここ10年で、バイオアッセイおよびケミストリー主導の古典的な天然産物の探索手法(論文より ref.1)を補完する目的でゲノムマイニングが重要な技術として確立された。この基礎的な部分の変更は、wetの実験室の微生物研究者や化学研究者が使用可能な様々なゲノムマイニングソフトウェアツールの開発と公開によりサポートされてきた、それらのツールにはNP.searcher(ref.5)、antiSMASH(ref.6)、NaPDoS(ref.9)、そして最近のPRISM / GNP(ref.10,11)などがある。

 総合的なオープンソースのBGCマイニングプラットフォームantiSMASH(ref.6-8)は、2011年に初めてリリースされ、て定期的に拡張機能付きで更新されてきた。 antiSMASHは、バクテリアや真菌のゲノムマイニングを容易にし、plantiSMASH、a new variant for BGC mining in plants (ref.12)、antiSMASHデータベース(ref.13)、実験的に「特徴づけされたBCGsのリポジトリである Minimum Information on Biosynthetic Gene Cluster (MIBiG) などと相互接続している(ref.14)。

 ここではantiSMASHのバージョン4を報告する。主要な拡張機能のいくつかは、真菌BGCの遺伝子クラスター境界予測、テルペンの改善されたケミストリー予測、リボソームペプチドおよび非リボソームペプチドのBGC、トランスATポリケチドシンターゼ(PKS)のアセンブリTTAコドンアノテーションとの比較アライメントなどのいくつかの主要な拡張を含む。さらに、改良されたユーザインタフェースが導入され、他にもいくつかのユーザビリティと効率改善が導入された。公式のantiSMASH Webサーバーはhttp://antismash.secondarymetabolites.orgから自由にアクセスできる。

 

 Documentationより

 バクテリアおよび真菌の二次代謝は、抗生物質コレステロール低下薬または抗腫瘍薬の豊富な供給源を構成しており、現在利用されている多くの化学物質の生合成経路を含む潜在的医薬価値の生物活性化合物の構成源となっている。 興味深いことに、このような二次代謝産物の産生に関与する生合成経路をコードする遺伝子は、染色体上の特定の位置に密接に集まっていることがしばしばある。 このような遺伝子群は、「二次代謝産物生合成遺伝子クラスター」と呼ばれる。 この遺伝的アーキテクチャにより、遺伝子クラスターを突き止めることによる二次代謝産物生合成経路の直接的な検出の可能性の扉が開かれた。 近年、バクテリアおよび真菌の全ゲノムシーケンシングコストが劇的に低下し、多くのゲノム配列が利用可能になっている。antiSMASHは、特定のタイプの遺伝子クラスターに特異的な遺伝子の 隠れマルコフモデルに基づいて、既知の広範なケミカルクラスの二次代謝産物をコードする遺伝子クラスターを正確に同定することができる。 antiSMASHは、遺伝子クラスターを検出するだけでなく、詳細な配列解析も提供する。

 

 antiSMASHが検出できるのは既知の二次代謝産物合成遺伝子クラスターである。既知の代謝産物合成遺伝子クラスターでも、検出されないものがある点に注意する。例えば代謝産物のクラスターは脂肪酸生合成やCofactor生合成系は一次代謝産物 合成系に属するため、検出されない。

antiSMASH Documentation

https://docs.antismash.secondarymetabolites.org

Using antiSMASH

https://docs.antismash.secondarymetabolites.org/using_antismash/

 (2012) antiSMASH: Searching for New Antibiotics Using Open Source Tools - Kai Blin

antiSMASHに関するツイート。

 

 

使い方

ローカルサーバーを立てて利用することもできるが、ここではweb版を紹介する。

 antiSMASH bacterial versionにアクセスする。

https://antismash.secondarymetabolites.org/#!/start

f:id:kazumaxneo:20180723144111j:plain

 

3つのツールがあり、antiSMASH bacterial version、antiSMASH fungal version、Plant Secondary Metabolite Analysisがあり、それぞれ、バクテリア、真菌類、植物(pubmed)がターゲットになっている。

fungal version

https://fungismash.secondarymetabolites.org/#!/start

Plant Secondary Metabolite Analysis

http://plantismash.secondarymetabolites.org

 

ここではbacterial versionを例に流れを確認する。

f:id:kazumaxneo:20180723202551p:plain

 

遺伝子クラスターを調べたいゲノムのGenbankファイル、GFF3ファイルをアップロードするか、NCBI accession numberを指定する。右上のexample データを選択すると、"Amycolatopsis balhimycina biosynthetic gene cluster for balhimycin"(リンクgenbankファイルのaccession number "Y16952"が読み込まれる。

f:id:kazumaxneo:20180723202731p:plain

データをアップロードする場合、genbank、gff3の他にアセンブリして得たFASTAもアップロードできる。FASTAはantiSMASHサーバーサイドでProdigalを使ってアノテーションされてから使用される。

他にも利用できる形式がある。詳細はantiSMASH Documentationを参照。

 

 他の条件はdefaultのままランする。ジョブが終わると、resultsがアクティブになる。クリックすると結果の画面に移行する。

f:id:kazumaxneo:20180723212436p:plain

 

exampleデータは1つの生合成遺伝子クラスターだけ使われている。resultsには、そのクラスターがそのまま1つの遺伝子クラスターとして検出される。

f:id:kazumaxneo:20180723205821p:plain

Cluster1をクリックする。遺伝子クラスターの詳細が表示される。

f:id:kazumaxneo:20180723213718p:plain

一番上が検出された遺伝子クラスターの全体像である。赤色ORFはcore biosynthetic genes、ピンクORFはadditional biosynthetic genesと予測されたORFになる。antiSMASHの予測では末端に関係ない遺伝子が余分に1−2個検出されることがある(Q&A参照)。

f:id:kazumaxneo:20180723214102p:plain

赤色のORFについてはdomain情報に関するアノテーションも表示される(情報がある場合のみ)。

f:id:kazumaxneo:20180723215014p:plain

 

下の方にスクロールすると、検出されたクラスターと、antiSMASHのデータベース内で相同性が高かったTOP10のクラスターが表示される。

f:id:kazumaxneo:20180723213834p:plain

 

clsuter classについては次のリンク先にまとめられています。

https://docs.antismash.secondarymetabolites.org/glossary/

 

追記

ローカルマシンへのインストール

#bioconda (link)
#依存が多いので環境を作って導入するのが無難
conda create -n antismash -y
conda activate antismash
conda install -c bioconda -y antismash

#database (小さめ)
download-antismash-databases

antismash

$ antismash -h

/home/kazu/anaconda3/envs/antismash/lib/python3.7/site-packages/scss/selector.py:54: FutureWarning: Possible nested set at position 329

  ''', re.VERBOSE | re.MULTILINE)

 

########### antiSMASH 5.1.2 #############

 

usage: antismash [-h] [options ..] sequence

 

 

arguments:

  SEQUENCE  GenBank/EMBL/FASTA file(s) containing DNA.

 

--------

Options

--------

-h, --help              Show this help text.

--help-showall          Show full lists of arguments on this help text.

-c CPUS, --cpus CPUS    How many CPUs to use in parallel. (default: 56)

 

Basic analysis options:

 

  --taxon {bacteria,fungi}

                        Taxonomic classification of input sequence. (default:

                        bacteria)

 

Additional analysis:

 

  --fullhmmer           Run a whole-genome HMMer analysis.

  --cassis              Motif based prediction of SM gene cluster regions.

  --cf-borders-only     Only annotate borders of existing clusters.

  --cf-create-clusters  Find extra clusters.

  --clusterhmmer        Run a cluster-limited HMMer analysis.

  --smcog-trees         Generate phylogenetic trees of sec. met. cluster

                        orthologous groups.

  --tta-threshold TTA_THRESHOLD

                        Lowest GC content to annotate TTA codons at (default:

                        0.65).

  --cb-general          Compare identified clusters against a database of

                        antiSMASH-predicted clusters.

  --cb-subclusters      Compare identified clusters against known subclusters

                        responsible for synthesising precursors.

  --cb-knownclusters    Compare identified clusters against known gene

                        clusters from the MIBiG database.

  --asf                 Run active site finder analysis.

  --pfam2go             Run Pfam to Gene Ontology mapping module.

 

Output options:

 

  --output-dir OUTPUT_DIR

                        Directory to write results to.

  --html-title HTML_TITLE

                        Custom title for the HTML output page (default is

                        input filename).

  --html-description HTML_DESCRIPTION

                        Custom description to add to the output.

 

Gene finding options (ignored when ORFs are annotated):

 

  --genefinding-tool {glimmerhmm,prodigal,prodigal-m,none,error}

                        Specify algorithm used for gene finding: GlimmerHMM,

                        Prodigal, Prodigal Metagenomic/Anonymous mode, or

                        none. The 'error' option will raise an error if

                        genefinding is attempted. The 'none' option will not

                        run genefinding. (default: error).

  --genefinding-gff3 GFF3_FILE

                        Specify GFF3 file to extract features from.

 

配列のgenbankファイルを指定する。prokkaでアノテーション付したgbkファイルも使用可能になっている。

antismash input.gbk

出力

f:id:kazumaxneo:20200709174407p:plain

 

metagenome assemblyであれば短い配列を除いてアノテーションをつけ、出力のgenbankファイルを使用する。

seqkit seq -m 5000 megahit-asssembly.fa > megahit_long_contig.fa
prokka megahit_long_contig.fa -o out_dir --metagenome --cpus 20
antismash out_dir/iPROKKA.gbk

 

 

2021 5/13

antiSMASH 6.0: improving cluster detection and comparison capabilities | Nucleic Acids Research | Oxford Academic

現在はベータ。submit前に以下のチェックをつける。

f:id:kazumaxneo:20210513102225p:plain


引用

antiSMASH 4.0-improvements in chemistry prediction and gene cluster boundary identification
Blin K, Wolf T, Chevrette MG, Lu X, Schwalen CJ, Kautsar S, Suarez Duran HG, de Los Santos ELC, Kim HU, Nave M8, Dickschat JS, Mitchell DA, Shelest E, Breitling R, Takano E, Lee SY, Weber T, Medema MH

Nucleic Acids Res. 2017 Jul 3;45(W1):W36-W41. doi: 10.1093/nar/gkx319.
 

The antiSMASH database, a comprehensive database of microbial secondary metabolite biosynthetic gene clusters
Blin K, Medema MH, Kottmann R, Lee SY, Weber T

Nucleic Acids Res. 2017 Jan 4;45(D1):D555-D559. 

 

antiSMASH 3.0—a comprehensive resource for the genome mining of biosynthetic gene clusters
Tilmann Weber, Kai Blin, Srikanth Duddela, Daniel Krug, Hyun Uk Kim, Robert Bruccoleri, Sang Yup Lee,Michael A Fischbach, Rolf Müller, Wolfgang Wohlleben, Rainer Breitling, Eriko Takano, and Marnix H Medema

Nucleic Acids Res. 2015 Jul 1; 43(Web Server issue): W237–W243.


antiSMASH 2.0--a versatile platform for genome mining of secondary metabolite producers
Blin K1, Medema MH, Kazempour D, Fischbach MA, Breitling R, Takano E, Weber T.

Nucleic Acids Res. 2013 Jul;41(Web Server issue):W204-12.

 

antiSMASH: rapid identification, annotation and analysis of secondary metabolite biosynthesis gene clusters in bacterial and fungal genome sequences
Marnix H. Medema, Kai Blin, Peter Cimermancic, Victor de Jager, Piotr Zakrzewski, Michael A. Fischbach,4Tilmann Weber, Eriko Takano, and Rainer Breitling

Nucleic Acids Res. 2011 Jul 1; 39(Web Server issue): W339–W346.

 

 

関連


メタゲノムアセンブリを分類する MetaProb

 

 Metagenomicsは、環境から直接得られたゲノム配列の研究である。微生物群集の分類学的多様性を特徴づけることは、メタゲノム研究の第一の目的の一つであり、過去10年間でますます普及している分野となっている(Mande et al、2012)。例えば、ヒトにおける微生物の多様性は、炎症性腸疾患(IBD)(Qin eet al、2010)および結腸直腸癌(Zeller et al、2014)などの疾患と関連することが見出されている。この分野では、高スループットの次世代シークエンシング(NGS)技術により、研究者は個々の微生物を単離して培養する必要なく、複数種のゲノムを直接シーケンシングすることができる。

 微生物群集の分類学的解析は、通常、ビニング(binning)と呼ばれるプロセスによって行われ、同じ種からのリードが一緒にグループ化される。リードをビニングすることにより、研究者は環境中の種の数と豊富さを特定し、各々の種がどのような機能的役割を果たし、これらの種がどのように働くかをさらに理解することができる。

 メタゲノムリードを分類するための多くの計算方法が開発されている。これらの方法は大きく2つのカテゴリーに分類することができる。 1つのカテゴリはリファレンスベース(教師あり)であり、リファレンスデータベース内のヒットシーケンスを利用してリードを分類する。Meta(Huson et al、2007)、Kraken(Wood and Salzberg、2014)、Clark (Ounit et al、2015)およびMetaPhlan(Segata et al、2012)などがある。リファレンスなし(教師なし)の手法は、BiMeta(Vinh et al、2015)、MetaCluster(Wang et al、2012; Yang et al、2010)、AbundanceBin(Wu and Ye、2011)、CompostBin (Chatterji et al、2008)がある。これらのツールはリファレンス配列を必要とせずリードをグループ化する。これらの方法は、通常、リード間の類似性のさまざまな定義に基づいている。

 リファレンスベースの方法では、ターゲットゲノムのデータベースを索引付けする必要がある。例えばNCBI / RefSeqはバクテリアゲノムのデータベースであり、これはクエリのリードを分類するために使用できる。これらの方法大量のRAMとディスク容量を必要とするコンピューティング機能が必要になる。しかし、環境試料中のほとんどの微生物のゲノムに由来するクエリ配列は、既存のリファレンスデータベースにおいて分類学的に関連する配列を欠いている。環境試料中に見出されるほとんどのバクテリアは未知であり、実験室で培養および分離することができない(Eisen、2007)。これらの理由から、リファレンスベースの方法を使用する場合、割り当てられていないリードの数は非常に高くなる可能性がある(Lindgreen et al、2016)。これは、サンプルに含まれるすべてのゲノムが分かっている場合にのみリファレンスベースの方法が役立つことを示している可能性がある。したがって、分類学的コンテキストが存在しないため、ビニングは非常に困難な作業になる。

 一方、リファレンスフリーの方法では、サンプル中のすべてのゲノムを知る必要はないが、リードをグループに分けて、同じ種からのリードが一緒になるようにする。リファレンスフリーのビニングツールは、同じゲノムからのDNAフラグメントのk-mer(フラグメントの長さ-kサブストリング)分布は異なるゲノムのDNAフラグメントよりも類似しているという観察に基づいている。したがって、リファレンスゲノムを使用せず(すなわち教師がいない)、2つのフラグメントがそれらのk-mer分布に基づいて類似の種のゲノムに由来するかどうかを決定することができる。メタゲノミックデータを処理する際の主な問題は、サンプル中の種の割合、すなわち存在量(abundance rate)が大きく変化し得るという事実である。ほとんどのツールは豊富な比を持つ種のみを扱うことができ、種の豊富さの比が異なる実際の状況ではそのビニング性能が著しく低下する。不均一な存在比を扱うために、最近(論文執筆時点)、いくつかのアルゴリズムが開発されている(Vinh et al、2015; Wang et al、2012; Wu and Ye、2011)。例えば、AbundanceBin(Wu and Ye、2011)は存在比が非常に異なる場合はうまくいくが、いくつかの種が同様の存在比を持つ場合に問題が生じる。 BiMeta(Vinh et al、2015)やMetaCluster(Wang et al、2012)のような他のツールは、リードを多くの小さなクラスターにグループ化して、少数の種(低い存在比で)のリードを分離クラスターとして存在させることができる。これらの両方の方法は、比較手段として、グループ上のk-mersカウントのベクトル間の単純なユークリッド距離を使用する。しかし、最近、k-mers数のユークリッド距離は単一シーケンスノイズによって支配される傾向があり、この作業には適していないことが示されている(Song et al、2014)。 2つの配列または配列セットのペアワイズ比較は、アライメントフリーの統計学における研究から導かれた、より洗練された類似性測定法を用いて行うことができる(Comin et al、2015; Kantorovitz et al、2007; Pizzi、2016; Sims et et al、2009)。同じパラダイムに従って、ここでは、個々の配列のノイズによって支配されない確率論的配列シグネチャと呼ばれる新しい自己標準化統計を提案する。これは異なる存在比でリードグループを比較することができる。

 本論文では、MetaProbと呼ばれるメタゲノムビニングのための新しいアセンブリアシスト手法について説明する。これは独立リードセットと確率的シーケンスシグネチャの定義に基づいている。本方法は以下のように要約することができる:(i)k-mers頻度が重複したk-merをカウントしないように、独立したセットをカウントする方法の定義。 (ii)k-mersカウントを処理し確率的配列シグネチャに変換する新しい方法と、基礎となるゲノム統計のより良い推定値を生成するために、k-merの可変分布および不均衡なリードグループを補正する。 (iii)異なるシーケンシング技術に容易に適応できる確率的枠組みの提案、実際にMetaprobは現在のショットガンリード(700 bp以上)に適している; (iv)確率的配列シグネチャーに基づくサンプル中の種の数の新規で効果的な推定。

 著者らは、合成データセットと実データセットで実験を行い、MetaProbを人気ツールAbundanceBin(Wu and Ye、2011)、BiMeta(Vinh et al、2015)、MetaCluster(Wang et al、2012)と比較した。 MetaProbは種とその存在量を正確に識別する能力において他の方法よりも優れている。

 

インストール

ubuntu18.04のPython 3.6.2 :: Anacondaでテストした。

依存

  • Boost library
  • Eingen library

本体 Bitbucket

#Anaconda環境ならcondaで導入できる (linux only)。
conda install -c bioconda metaprob

 > MetaProb 

$ MetaProb 

 

Directory output: output/

N. Cluster: 0

Parameter q: 30

Parameter m: 5

Parameter SeedSize: 9000

Parameter lmerfreq: 4

Parameter Kmeans iteration max: 100

Norm: D2star_All_Read_Prob_Lmer_Euclidian

Graph Type: Paired

Loading Sequences... Complete

Loaded sequences: 0

-----------------------------------------

Number of groups: 0

-----------------------------------------

-----------------------------------------

——

 

テストラン

exampleデータをランする。

git clone https://bitbucket.org/samu661/metaprob.git
cd metaprob/TestInputFile/

 

シングル。fastaフォーマット。

MetaProb -si long_example_1.fna -numSp 2 -feature 2 -m 45

  

MetaProb -pi short_example_1.fna.1 short_example_1.fna.2 -numSp 2
MetaProb -pi short_example_2.fna.1 short_example_2.fna.2 -numSp 2 -feature 1

  

引用

MetaProb: accurate metagenomic reads binning based on probabilistic sequence signatures

Girotto S, Pizzi C, Comin M

Bioinformatics. 2016 Sep 1;32(17):i567-i575

 

小メモリで高速にtaxonomy assignmentを行う metacache

 

 メタゲノム研究の例として、ヒト腸のシーケンシング解析(Korpela et al、2016)、ヒトの皮膚(Bzhalava et al、2014)、水生生態系(Bork et al、2015)、食物(Ripp et al、2014 )、土壌(Fierer et al、2012)および空中の微生物(Barberánet al、2015)が含まれる。初期のプロジェクトは、特定のマーカー遺伝子のアンプリコンシーケンシングするだけだった。しかしながら、最近の次世代シークエンシング(NGS)技術の進歩により、サンプル中の全DNAのショットガンシーケンシングが実行可能で費用対効果の高いものとなった。生成されたNGSデータセットは通常、計算分析を困難にする大きなものである。したがって、大規模なメタゲノムショートシーケンシングリードデータを正確かつ効率的に処理するためのソフトウェアツールの設計および実装は、研究コミュニティおよび産業アプリケーションにとって非常に重要になる。
 シーケンシング解析されたサンプルの分類学的組成の分析は、多くのメタゲノム処理パイプラインにおける重要なステップである。対応するリード分類問題は、適切な分類学的ラベル(例えば、種または属)を所定のNGSシーケンシングリードに割り当てることを目的とする。この問題に対処する従来のアプローチは、リファレンスゲノムのアノテートされたデータベースを使用することによって行われてきた [例えば、 BLAST(Camacho et al、2009)またはMegaBLAST(Morgulis et al、2008))。残念なことに、膨大なリードに対処するには対応するソフトウェアツールのコンピューティングアライメントは一般に遅すぎて実行時間が長くなる。( Husonら(2011年)またはBrady and Salzberg(2009年)を参照)。この時間のかかる手順を加速する1つの方法は、分類をマーカー遺伝子の小さなサブセットに限定することである。このアプローチに基づくプログラムには、MetaPhlAn(Truong et al、2015)(紹介)、MetaPhyler(Liu et al、2010)、mOTU(Sunagawa et al、2013)およびQIIME(Caporaso et al。、2010)が含まれる。

 最近のアライメントフリーツールはこの制限を回避でき、正確なk-merマッチングに基づいて高速な実行時間と高い精度を実現している。このアプローチでは、k-merインデックスデータ構造(またはデータベース)が前処理ステップで構築される。インデックスは、通常、リファレンスデータベース内の各ゲノムの長さkの異なる部分文字列をすべて含むハッシュテーブルに基づいている。与えられリードRは、その後、Rの中のすべてのk-mers集合を抽出し、続いてそれを事前計算されたインデックスに対して照会する検索手順によって分類される。ルックアップが単一の一致を返す場合、対応するゲノムのためのカウンターが増分される。複数のマッチの場合、マッチするゲノムの最も一般的な分類学的祖先のカウンターを使用することができる。この手続きの終わりに、Rは高得点カウンターに基づいて分類することができる。このアプローチに続く最初のプログラムの1つは、LMAT(Ames et al、2013)であった。 Kraken(Wood and Salzberg、2014)紹介は、LMATと比較してメモリ消費と分類速度を向上させるために分類ツリーを使用している。 CLARK(Ounit et al、2015)は、あらかじめ定義された分類学的レベルに標的特異的k-merを保存して、Krakenのメモリ量をさらに改善する。 CLARK-S(Ounit and Lonardi、2016)はCLARKのバリアントで、感度を改善するためにより高いメモリ消費とスピードの遅さ両方を犠牲にするが、spaced k-mersを使う。 Kaiju(Menzel et al、2016)(紹介)は、リファレンスゲノムのアノテーションされたタンパク質コード遺伝子に基づいてリードを分類する。最近のベンチマーク研究(Lindgreen et al、2016)では、Krakenが、14個のテスト済みツール(CLARK、LMAT、MetaPhlAn、mOTU、QIIME、MetaPhyler、およびMEGAN)の比較において、リードのアサイン精度、属、門レベルの分類速度においてベストパフォーマンスを示した。リード分類器によってアサインされた分類学的標識は、メタゲノム試料からDNA中の種の存在量を推定する基礎としても用いることができる。例えばBracken(Lu et al。、2016)は、Kraken出力を用いてベイズ尤度計算を行う豊富さ推定の正確な確率論的方法である。
 最近の他のツールでは、MetaKallisto(Schaeffer et al、2017)のような擬似アラインメント手法や、 WGSQuikr(Koslicki et al、2014)およびMetapallette(Koslicki and Falush、2016)の圧縮センシング(compressed sensing estimates)手法がある。圧縮センシング手法は、リファレンスゲノムのk-meスペクトラムプロファイルに基づき、線形システムを解くことでサンプルのk-merスペクトラムプロファイルを再構成する。

 本論文では、KrakenやCLARKよりもはるかに少ないメモリでindexデータ構造を作成し、同等の分類速度で高感度と高精度両方を達成できるMetaCacheと呼ばれる新しいリード分類ソフトウェアツールを紹介する。著者らによるパフォーマンス評価は、MetaCacheが2つの理由でk-merベースのリード分類アプローチの最先端技術を進化させることを示している。第1に、ハッシュを使用することによって、k-merサブセットのみが使用され、それによりデータインデックス構造サイズが大幅に縮小される。第2に、このアプローチは、ゲノム全体のどの位置でもなく、ローカルウインドウ内のコンテキスト認識k-merマッチのみを使用する。これにより、比較的小さなk値を効果的に適用することができ、すなわち、ランダムなマッチングを大幅に低減しながら高感度を達成することができる。たとえば、NCBI RefSeqドラフトゲノムとcompleteゲノムの合計約1,400億塩基をリファレンスデータベースとすると、MetaCacheのデータベースは62 GBのメモリしか消費しないが、クラークンとCLARKは512 GB RAMのワークステーションでそれぞれのデータベースを構築に失敗する。さらに、我々(著者ら)の実験から、利用リファレンスゲノムデータ量が増えることで、分類精度が継続的に向上することを示す。

 

インストール 

ubuntu16.04に導入した。

本体 Github

git clone https://github.com/muellan/metacache.git 
cd metacache
make

#NCBI Refseqにアクセスして、最新のバクテリアアーキア、ウィルスのコンプリートゲノムをダウンロードし、データベースを作成します(数十GBあって時間がかかります)
./metacache-build-refseq

デフォルトではk-mer≤16、65,535リファレンスまで対応している。変更する時はmakeを打ってビルド時にパラメータを指定する。詳細はGithubで確認してください。

> ./metacache

$ ./metacache 

MetaCache  Copyright (C) 2016-2017  André Müller

This program comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it

under certain conditions. See the file 'LICENSE' for details.

 

You need to specify one of the following modes:

    help        shows documentation 

    query       classify read sequences using pre-built database

    build       build new database from reference sequences (usually genomes)

    add         add reference sequences and/or taxonomy to existing database

    info        show database and reference sequence properties

    annotate    annotate sequences with taxonomic information 

 

EXAMPLES:

    Query 'myreads.fna' against pre-built database 'refseq':

        ./metacache query refseq myreads.fna

 

    Query all sequence files in folder 'test' againgst pre-built database 'refseq':

        ./metacache query refseq test

 

    View documentation for all query options:

        ./metacache help query

 

    View documentation on how to build databases:

        ./metacache help build

 

詳細なヘルプはtopicを指定して実行する。以下のコマンドがあり、

  • help
  • query
  • build
  • add
  • annotate
  • info

modifyのヘルプを見るなら以下のように実行する。

> ./metacache query help

$ ./metacache query help

Reading database from file 'help.db' ... FAIL

 

ABORT: Could not read database file 'help.db'!

kamisakBookpuro:metacache kamisakakazuma$ ./metacache help query

Documentation for MetaCache mode "query"

 

SYNOPSIS

    metacache query <database name> [<query sequence>...] OPTIONS

 

DESCRIPTION

    Map sequences (short reads) to their most likely origin.

 

    You can also provide names of directories that contain

    sequence files instead of single filenames. MetaCache will

    search at most 10 levels down in the file hierarchy.

 

    If no input sequence filenames or directories are given, MetaCache will

    run in interactive query mode. This can be used to load the database into

    memory only once and then query it multiple times with different

    query options.

 

BASIC OPTIONS

    -out <file>        Redirect output to file <file>.

                       If not specified, output will be written to stdout.

                       If more than one input file was given all output

                       will be concatenated into one file.

 

    -splitout <file>   Generate output and statistics for each input file

                       separately. For each input file <in> an output file 

                       <file>_<in> will be written.

 

    -pairfiles         Interleave paired-end reads from two consecutive files,

                       so that the nth read from file m and the nth read

                       from file m+1 will be treated as a pair.

                       If more than two files are provided, their names

                       will be sorted before processing. Thus, the order

                       defined by the filenames determines the pairing not

                       the order in which they were given in the command line.

 

    -pairseq           Two consecutive sequences (1+2, 3+4, ...) from each file

                       will be treated as paired-end reads.

 

    -insertsize        Maximum insert size to consider.

                       default: sum of lengths of the individual reads

 

    -lowest  <rank>    Do not classify on ranks below <rank>.

                       default: sequence

 

    -highest <rank>    Do not classify on ranks above <rank>.

                       default: domain

 

    -hitmin <t>        Sets classification threshhold to <t>.

                       A read will not be classified if less than t features

                       from the database are found in it.

                       Higher values will increase precision at the expense of

                       lower sensitivity.

 

    -max-cand <no>     maximum number of reference taxon candidates to 

                       consider for each query; A large value can significantly 

                       decrease the querying speed!

                       default: 2

 

OUTPUT FORMATTING OPTIONS

 

    -nomap             Don't report classification for each individual query

                       sequence; show summaries only (useful for quick tests).

                       default: off (= print per-read mappings)

 

    -mapped-only       Don't list unclassified queries.

                       default: off (= print all mappings)

 

    -taxids            Print taxon ids in addition to taxon names.

                       default: off

 

    -taxids-only       Print taxon ids instead of taxon names.

                       default: off

 

    -omit-ranks        Don't print taxon ranks.

                       default: off (= do print taxon ranks)

 

    -separate-cols     Prints *all* mapping information (rank, taxon name, taxon ids)

                       in separate columns (see option "-separator").

                       default: off (= print rank:taxon_name in one column)

 

    -separator <text>  string that separates output fields (sequence name, 

                       classification result, etc.)

                       default: "\t|\t"

 

    -queryids          Show a unique id for each query.

                       Note that in paired-end mode a query is a pair of two 

                       read sequences. This option will always be activated if 

                       "-hits-per-seq" is given.

                       default: off

 

    -locations         Show locations in classification candidate reference 

                       sequences.

                       default: off 

 

    -lineage           Report complete lineage for per-read classification

                       starting with the lowest rank found or allowed and

                       ending with the highest rank allowed. See also

                       options '-lowest' and '-highest'.

                       default: off

 

    -no-query-params   don't show query settings at the beginning of the

                       mapping output

                       default: do show query settings

 

    -no-summary        don't show result summary & mapping statistics at the

                       end of the mapping output

                       default: do show the summary

 

ADVANCED ANALYSIS OPTIONS

 

    -tophits           For each query, print top feature hits in database.

                       default: off

 

    -allhits           For each query, print all feature hits in database.

                       default: off

 

    -hits-per-seq      Shows a list of all hits for each reference sequence.

     [<filename>]      If this condensed list is all you need, you should

                       deactive the per-read mapping output with "-nomap".

                       If a valid filename is given after '-hits-per-seq',

                       the list will be written to a separate file.

                       This will activate "-queryids" and set the lowest 

                       classification rank to "sequence".

                       default:off

 

ADVANCED OPTIONS 

 

    -threads <no>      use <no> many parallel threads

                       default: automatic

 

    -batch-size <no>   process <no> many reads per thread;

                       This can be used for performance tuning.

                       default: automatic 

    

    -query-limit <no>  Classify at max. <no> reads per file.

                       This can be used for quick tests.

                       default: off

 

    -winlen <no>       number of letters in each sampling window

                       default: same as for reference sequences in database

 

    -winstride <no>    distance between window starting positions

                       default: same as for reference sequences in database

 

    -sketchlen <no>    number of features per window

                       default: same as in database

 

    -ground-truth      Report correct query taxa if known.

                       Queries need to have either a 'taxid|<number>' entry in

                       their header or a sequence id that is also present in

                       the database.

                       This will decrease querying speed!

                       default: off

 

    -precision         Report precision & sensitivity

                       by comparing query taxa (ground truth) and mapped taxa.

                       Queries need to have either a 'taxid|<number>' entry in

                       their header or a sequence id that is also found in

                       the database.

                       This will decrease querying speed!

                       default: off

 

    -taxon-coverage    Also report true/false positives and true/false negatives.

                       This option will turn on '-precision'.

                       This will decrease querying speed!

                       default: off

 

    -align             Show semi-global alignment for best candidate target.

                       Original files of reference sequences must be available.

                       This will decrease querying speed!

                       default: off

    

    -max-load-fac <f>  maximum hash table load factor 

                       This can be used to trade off larger memory consumption

                       for speed and vice versa. A lower load factor will

                       improve speed, a larger one will improve memory

                       efficiency. 

                       default: 0.8

 

EXAMPLES

    Query all sequences in 'myreads.fna' against pre-built database 'refseq':

        ./metacache query refseq myreads.fna -out results.txt

 

    Query all sequences in multiple files against database 'refseq':

        ./metacache query refseq reads1.fna reads2.fna reads3.fna

 

    Query all sequence files in folder 'test' againgst database 'refseq':

        ./metacache query refseq test

 

    Query multiple files and folder contents against database 'refseq':

        ./metacache query refseq file1.fna folder1 file2.fna file3.fna folder2

 

    Perform a precision test and show all ranks for each classification result:

        ./metacache query refseq reads.fna -precision -allranks -out results.txt

 

    Load database in interactive query mode, then query multiple read batches

        ./metacache query refseq

        reads1.fa reads2.fa -pairfiles -insertsize 400

        reads3.fa -pairseq -insertsize 300

        reads4.fa -lineage

 

OUTPUT FORMAT

    MetaCache's default read mapping output format is: 

    read_header | rank:taxon_name

 

    This will not be changed in the future to avoid breaking anyone's

    pipelines. Command line options won't change in the near future for the

    same reason. The following table shows some of the possible mapping

    layouts with their associated command line arguments:

 

    read mapping layout                      command line arguments           

    ---------------------------------------  ---------------------------------

    read_header | taxon_id                       -taxids-only -omit-ranks         

    read_header | taxon_name                     -omit-ranks                      

    read_header | taxon_name(taxon_id)           -taxids -omit-ranks              

    read_header | taxon_name | taxon_id          -taxids -omit-ranks -separate-cols

    read_header | rank:taxon_id                  -taxids-only                     

    read_header | rank:taxon_name                                                    

    read_header | rank:taxon_name(taxon_id)      -taxids                          

    read_header | rank | taxon_id                -taxids-only -separate-cols      

    read_header | rank | taxon_name              -separate-cols                   

    read_header | rank | taxon_name | taxon_id   -taxids -separate-cols           

 

    Note that the separator "<tab>|<tab>" can be changed to something else with

    the command line option "-separator <text>".

 

    Note that the default lowest taxon rank is "sequence". Sequence-level taxon

    ids have negative numbers in order to not interfere with NCBI taxon ids.

    Each reference sequence is added as its own taxon below the

    lowest known NCBI taxon for that sequence. If you do not want to classify

    at sequence-level, you can set a higher rank as lowest classification rank

    with the "-lowest" command line option: "-lowest species" or

    "-lowest subspecies" or "-lowest genus", etc.

 

 

 

 

実行方法

別のツール用にRefSeqをダウンロードしていたので、ここではRefSeqを使う。

手動でデータベースを構築する。

#ダウンロードしたgenome/ゲノムfna.gzを解凍
cd genome/ && gunzip * && cd ../
metacache build refseq genome/*fna

refseq.dbができる。テストした際は、Refseq全データでビルドするとエラーになったので、1Mbp以上の配列に限定して実行した。ダウンロードがパーフェクトかチェックしてないが、何らかのファイルが破損していたのかもしれない。

 

metacacheのコマンドは、シーケンスデータを直接指定するか、fastaやfastqが入ったディレクトリを指定して実行する。

fastaを指定して実行。

metacache query refseq input.fa -out results.txt

 

fastaやfastqが入ったディレクトリを指定して実行。

metacache query refseq sequence_dir/ -out results.txt

 

 ジョブが終わると、リードごとの分類結果がテキストにまとめられて出力される。データが無ければ、InSilicoSeq(紹介)などのシミュレータを使ってテストしてみて下さい。

 引用
MetaCache: context-aware classification of metagenomic reads using minhashing
Müller A, Hundt C, Hildebrandt A, Hankeln T, Schmidt B

Bioinformatics. 2017 Dec 1;33(23):3740-3748