macでインフォマティクス

macでインフォマティクス

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

ショートシーケンシングリードとアセンブリの評価ツール SQUAT

 

 最近の次世代シークエンシング技術により低コストで提供される超高スループットは、特に非モデル生物の全ゲノムシークエンシングプロジェクトの急速な成長を引き起こした[ref.1、2]。広域分類群のための大規模ゲノムプロジェクト、例えば脊椎動物種のためのGenome 10 K Project [ref.3 link]、海洋無脊椎動物種のためのGlobal Invertebrate Genomics Alliance(GIGA)[ref.4]、そしてゲノム配列決定を目的とする最新のEarth BioGenome Project 、これは10年間をかけて約150万の既知の真核生物種のシーケンシングを行う[ref.5 link]、があり、これは近日中に予定されているde novoゲノムアセンブリの構築と分析に新たな挑戦をもたらしている。重要な課題の1つは、シーケンスデータとアセンブリ結果のクオリティを管理することである。

 ゲノムアセンブリのデータクオリティ評価(DQA)は、入力データとアセンブリ結果を統計的に評価してから、データとアセンブリ結果がクオリティ要件を満たしているかどうかを判断するプロセスである。DQAは、新規のゲノム構築にとって重要なタスクであり、大量のゲノム構築が進行中またはドラフトとして利用可能であるため、今日特に有用である。ゲノムアセンブリのクオリティ関連問題に関する最近の研究は、2つの側面に焦点を当てている:シーケンシングデータのクオリティ管理およびアセンブリ結果のクオリティ評価である。    

 Illuminaプラットフォームの場合、FastQC [ref.6]はHTMLレポートでクオリティ管理チェックを提供する。FastQCのレポートには、塩基ごとのクオリティ、平均リードクオリティ、GC含量、シーケンス長、重複のレベル、および過度に表現された配列が含まれる。 NGS QC Toolkit [ref.7]は高品質データのフィルタリングのために、クオリティ管理、トリミング、フォーマット変換、統計などのさまざまなツールを提供する。 QC-chain [ref.8]は、クオリティ評価とrawリードのトリミング、ならびに未知の汚染配列の識別とフィルタリングに焦点を当てている。 ClinQC [ref.9]は臨床目的のためにいくつかのQCツールを統合している。アセンブリ結果のクオリティ評価のために、GAGE [ref.10]とGAGE-B [ref.11]は、リファレンスゲノムが与えられた場合にアセンブリの正確さを評価する機能と共にベンチマークデータセットを提供する。 QUAST [ref.12]は、ゲノムアセンブリを評価および比較するクオリティ評価ツールである。これは、de novoアセンブリについてHTMLレポートでアセンブリの包括的なメトリック、つまりscaffoldsの長さ統計を提供し、リファレンスが利用可能な場合はGAGEモードをサポートする。

 SQUATツールは、ゲノムアセンブリとそれらのインプットリードの両方のクオリティ評価を提供することを目的としており、ユーザーはアセンブリ前とアセンブリ後の両方のレポートをクロスチェックすることによって、de novoアセンブリの正確さを調べることができる。 SQUATアセンブリ前モジュールは、シーケンシングリードのクオリティ統計を計算し、分析結果を適切に設計されたインタラクティブなHTMLインターフェイスに表示する。一方、全体的な評価のために、リードを3つのグループ、つまり高クオリティ、中クオリティ、および低クオリティのリードに分ける。分類基準は、リードサブセット選択のためのMinimalQ測度[ref.13]と、Methodsに記載されているMinimalQの一般化による新しい測度に基づいている。 SQUATのポストアセンブリモジュールは、リードマッピングを実行し、リードとscaffoldsの関係に基づいてリードを複数のグループに分類する。さらに、マッピングされていないリードだけでなく、「方法」に記載されているさらなる分析を介して高いクリップ率または高いミスマッチ率を有するリードも含めることによって、poorly mapped (PM)リードを識別する。 QUASTの結果と統合された、前述の分類と分析の表とチャートを、適切に設計されたHTMLインターフェースで表示する。論文の結果では、6つのデータセットに対してSQUATを評価した。ウナギ、キノコ、ワームのデータセットは、本著者らの研究所が主導している進行中のde novoゲノムプロジェクトからのものである。また、SPAdesのGAGE-Bレポートに記載されている3つのバクテリアデータセットを分析した[ref.14、15]。結果は、SQUATが100万のランダムにサンプリングされたリードのみを使用したとしても、これらのデータセットのクオリティを首尾よく区別することができることを示している。さらに、この結果は、一部のデータセットに重大なクリップやリードの不一致がある理由の説明にも役立つ。

 SQUAT評価のワークフローを論文図1に示す。全プロセスは、リードとそのアセンブリを入力として取り、ユーザーがさまざまな観点から自分のデータを調べるのに役立つ、アセンブリ前およびアセンブリ後のHTMLレポートを生成する。 まず、元のデータセットから100万リードをランダムにサンプリングして、簡単に調べる。 マニュアルに示されているように、ユーザーはデフォルトのサンプルサイズ「1メガ」を変更したり、サンプリングプロセスをバイパスすることができる。アセンブリ前のワークフローを論文図1の左側に示す。クオリティ統計モジュールは、サンプリングされたリードを入力として受け取り、基本クオリティとリードクオリティを詳細に評価するテーブルと分布をHTMLレポートに生成する。 また、レポート上に円グラフを表示して、全体的な評価に対する質の低い、中程度、および質の高いリードの割合を示す。

 

f:id:kazumaxneo:20190424212512p:plain

SQUAT assessment workflow.  論文より転載。

 

manual

https://legacy.gitbook.com/book/luke831215/squat/details

 

インストール

オーサーらの用意したdockerイメージを使ってテストした(ホストOS macos10.14)。

依存

Prerequisite

  • Python3

Dependencies

  • Matplotlib
  • Numpy
  • Beautiful Soup (+ lxml parser)

本体 Github

git clone https://github.com/luke831215/SQUAT.git
cd SQUAT; make install

> ./squat.sh

# ./squat.sh 

SQUAT: a Sequencing Quality Assessment Tool

Usage: ./squat.sh seq1 seq2 ...  seqN [-o <output_dir>] [-r <ref_asm>]

 

Optional args:

-t    --thread    <int>   Number of threads to use

-f    --flush  flush The sam file after alignment

-s    --subset    <str>   Return the subset of sequencing reads according to labels (in capitals, e.g. PSCO)

-g   <str>   Path to the reference genome file for GAGE benchmark tool

--gage    Activate gage mode, must specify reference genome (-g)

--sample-size <int>    the read size for random sampling, default 1M

--all    Deactivate random sampling, take the whole read file as input

-c   <float>   The threshold for overall sequencing quality

--mt   --mismatch-thre <float>    Threshold for reads with substitution errors. Above threshold = poor quality reads, default 0.2

--ct   --clip-thre    <float>   Threshold for reads containing clips. Above threshold = poor quality reads, default 0.3

--ot   --others-thre    <float>   Threshold for reads with other errors. Above threshold = poor quality reads, default 0.1

--nt   --n-thre   <float>   Threshold for reads containing N. Above threshold = poor quality reads, default 0.1

--seed   <int>   Specify the seed for random sampling, default 0

dockerイメージも用意されている(テスト時は)。

docker pull luke831215/squat
docker run --name=squat_docker -it -w /root/SQUAT -v $PWD/data luke831215/squat
git clone https://github.com/luke831215/SQUAT
cd SQUAT; make install

 

テストラン

cd SQUAT/
./squat.sh example/SEQ.fastq -r example/ASSEMBLY.fasta -o example -t 8

 

f:id:kazumaxneo:20190525200636p:plain Pre-Assembly SQUAT Report

f:id:kazumaxneo:20190525200745p:plain

f:id:kazumaxneo:20190525200901p:plain

f:id:kazumaxneo:20190525200908p:plain

f:id:kazumaxneo:20190525200921p:plain

f:id:kazumaxneo:20190525200931p:plain

f:id:kazumaxneo:20190525200934p:plain


Post-Assembly SQUAT Report

f:id:kazumaxneo:20190525201310p:plain

f:id:kazumaxneo:20190525201313p:plain

f:id:kazumaxneo:20190525201319p:plain

f:id:kazumaxneo:20190525201339p:plain

f:id:kazumaxneo:20190525201345p:plain

f:id:kazumaxneo:20190525201356p:plain

f:id:kazumaxneo:20190525201401p:plain

f:id:kazumaxneo:20190525201414p:plain

f:id:kazumaxneo:20190525201419p:plain

 

引用

SQUAT: a Sequencing Quality Assessment Tool for data quality assessments of genome assemblies

Li-An Yang, Yu-Jung Chang, Shu-Hwa Chen, Chung-Yen Lin, Jan-Ming Ho
BMC Genomics 2019 19 (Suppl 9) :238