macでインフォマティクス

macでインフォマティクス

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

NGSデータのクオリティフィルタリングパイプライン ngsComposer

2021 9/30 追記

 

 次世代シーケンサー(NGS)は、大規模なオミックスデータの大量並列収集を可能にするが、客観的なデータ品質のフィルタリングパラメータは不足している。プラットフォームが生成するPhred値は有用な指標ではあるが、塩基ごとのクオリティスコアを過大評価していることが明らかになっている。本著者らは、NGSデータのクオリティフィルタリングを効率化するために、経験に基づいた新しいアルゴリズムを開発した。このパイプラインでは、既知の配列モチーフを活用して、エラー率の経験的な推定、誤った塩基配列の検出、汚染されたアダプター配列の除去を可能にしている。モチーフを用いたエラー検出とクオリティフィルタリングの性能は、リードの圧縮率を用いてさらに検証されたが、これは偏りのない指標である。既知のモチーフが存在するリードエンドでのエラー率の上昇は、誤ったベースコールの伝播を伴うものだった。また、プールされたライブラリに固有の問題であるバーコードのスワッピングも効果的に軽減された。ngsComposerパイプラインは、アルゴリズムのベースとなる普遍的なコンセプトにより、様々なNGSプロトコルやプラットフォームに適している。

 

特徴(レポジトリより)

  • 様々な種類のライブラリに対応した最初から最後までの完全なパイプライン
  • 少ない依存関係(Python3とR)
  • 習得が容易
  • 可変長バーコードとデュアルインデックスをサポート
  • リードごとにバッファシーケンスと品質フィルタをトリミング
  • 複数のライブラリを含むプロジェクトディレクトリに対応
  • 生物学者による(ユーザーフレンドリな)設計

 

インストール

macosubuntuのdockerイメージを使ってテストした(python3.9, R4.1.1)。

依存

  • Python3 version 3.5 or above
  • R version compatible with the following required packackes: ggplot2

Github

git clone https://github.com/bodeolukolu/ngsComposer.git
cd ngsComposer/

> python composer.py -h

# python composer.py -h

usage: composer.py [-h] -i I

 

##################################################

               NGS-COMPOSER:

##################################################

 

version: 0.4.9

 

ngs-composer is an empirical, base-call filtering pipeline for preprocessing fastq libraries

 

basic usage: python3 composer.py -i <path_to_project_directory>

 

pipeline tools may be called individually from tools folder:

 

    crinoid.py  - qc stats

    scallop.py  - trimming

    anemone.py  - demultiplexing

    rotifer.py  - motif detection

    porifera.py - adapter removal

 

    krill.py    - quality filtering

see https://github.com/ryandkuster/ngscomposer for full usage notes

 

optional arguments:

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

  -i I        the full or relative path to the project directory

 

 

テストラン

fastqとconf.pyを含むディレクトリを指定する。ggpot2がインストールされていない場合、初回ランで自動的にインストールされる。

python composer.py -i examples/project1/

conf.py(Config file)にはペアエンドかどうか、qcを行うか、どうかなどを書いていく。パラメータについては全てレポジトリで説明されている。

入力ファイル

f:id:kazumaxneo:20210927123112p:plain

パイプラインは対話モードで進行し、デフォルトのconfig設定ではステップの後に一時停止し、QCを行うかなどを選択できるようになっている。

 

出力

f:id:kazumaxneo:20210927123136p:plain

Demultiplexing、アダプタートリミングはオプションで、スキップすることもできる。最終的に、フィルタリングされたデータと、パイプラインで作成されたqc統計のみが保存される。

 

 

引用

ngsComposer: an automated pipeline for empirically based NGS data quality filtering
Ryan D Kuster, G Craig Yencho, Bode A Olukolu
Briefings in Bioinformatics, Published: 05 April 2021