macでインフォマティクス

macでインフォマティクス

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

SeqWho

 

シーケンサー技術の大幅な向上とプロトコルの増加により、シーケンサーは複雑な生物学的問題に答えるために使用されるようになってきた。それに伴い、解析パイプラインはより時間と複雑さを増し、通常、非常に大規模な事前検証ステップを必要とするようになった。ここでは、シーケンシングファイルの品質をヒューリスティックに評価し、k-mer頻度やリピート配列の同一性に由来するバイアスに基づいたRandom Forest分類法を用いて、生物とプロトコルタイプを確実に分類するプログラム、SeqWhoを紹介する。

主要モデルの1つを使用して、本メソッドが9つの異なるシーケンスライブラリから得られたヒトとマウスの配列を、生物種、ライブラリ、両方を合わせて、それぞれ98.32%、97.86%、96.38%の割合で正確かつ迅速に分類することを示した。SeqWhoはあらゆるパイプラインで使用されるシーケンスファイルの品質と同一性を確実に検証するための強力な手法であることを実証する。

 

マニュアルより

SeqWhoは大きく分けて2つの機能を持っている。1) モデルのトレーニング 2) ファイルの分類 どちらの場合も、SeqWhoはFASTQ(A)ファイル中のリードをk-merizeし、1-5merをカウントして頻度配列を構築することで機能を発揮する。SeqWhoは、トレーニング時にHISAT2の完全なリピートインデックスを利用するか、ファイル分類時にSeqWho.ixファイル内の内部リピートインデックスを利用する。SeqWhoはこれらのコア関数を使用して、分類のコアモードとしてRandom Forest分類器を学習する。理論的には、SeqWhoで可能な分類の数に限界はない。モデルを適切に学習させるために十分なデータを取得できるかどうかに大きく依存する。

SeqWho は、FASTQ(A) 配列ファイルの同一性、ソースプロトコル、および起源となった生物種の両方を判定する、信頼性が高く非常に高速なプログラムです。これは、k-mer頻度やリピート配列の同一性のバイアスから学習するRandom Forest分類器を活用したアライメントフリーアルゴリズムを使用して実現されています。SeqWhoは、ファイル分類において96%以上の精度を達成することができます。

 

Manual

https://daehwankimlab.github.io/seqwho/manual/

 

インストール

ubuntu18にて、condaで環境を作ってpipで導入してテストした。また、レポジトリからyamlファイルをダウンロードしてcondaで環境を作ってテストした。

依存

Github

mamba create -n seqwho_v1 python=3.7 pip -y
conda activate seqwho_v1
pip install seqwho

>  seqwho.py -h

usage: seqwho.py [-h] -x IDX -f FILES [FILES ...] [-o OUT]

 

Seq-Who: Full Version Beta-1.0.0

 

optional arguments:

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

  -x IDX, --index IDX   Index name

  -f FILES [FILES ...], --files FILES [FILES ...]

                        Files to type

  -o OUT, --out OUT     Name of output files (Default: "SeqWho_call"

 

> seqwho_buildindex.py -h

usage: seqwho_buildindex.py [-h] -r REPFN -l LABELFN [-m MASK] [-k KSIZE]

                            [-j REPSIZE] [-n NUMLINES] [-o OUTFN] [--rebuild]

                            [-v]

 

Build SeqWho index for classifying sequence file types

 

optional arguments:

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

  -r REPFN, --repeats REPFN

                        Comma separated list of repeat indecies from HISAT2

                        for each species

  -l LABELFN, --labels LABELFN

                        CSV file with: base_filename, species,

                        sequence_file_type

  -m MASK, --mask MASK  Comma separated list of any file types you want to

                        ommit

  -k KSIZE, --ksize KSIZE

                        Size of full kmer vector (default: 5)

  -j REPSIZE, --repeat-kmer REPSIZE

                        Size of repeat kmers to use (default: 31)

  -n NUMLINES, --number_of_lines NUMLINES

                        Number of lines to draw from the files. (Default:

                        100000

  -o OUTFN, --out OUTFN

                        Final name of SeqWho index file

  --rebuild             If SeqWho index is detected build will stop.

  -v, --verbose         Verbose Output

 

 

学習済みSeqWhoインデックスのダウンロード

GitHub - DaehwanKimLab/seqwho: SeqWho - A reliable and rapid FASTQ(A) file classifier

 

実行方法

1、モデルのビルド

hisat2-repeat mouse_genome.fa mouse
seqwho_buildindex.py -r [REPEAT FILES] -l [LABEL FILE] [OPTIONS]

今回はヒトとマウスの構築済みインデックスをダウンロードした。

 

2、seqwhoのラン

seqwho.py -x SeqWho.ix -f file1.fq.gz file2.fq.gz

 

SeqWhoは3種類のファイルを生成する。

  1. PNGファイル:1つは1塩基のquality coreの数、2つ目は位置ごとのquality scoreの平均値、3つ目は任意の長さのリード数、最後はリードの位置ごとの塩基頻度のヒートマップの4つのプロット。
  2. 1 のプロットを作成するために必要なすべてのデータと、以下のデータを含む Json ファイル。
  3. 上記2)の情報をすべて含むTSV。

 

ペアエンドfastqを指定したところ、ラン中にエラーを起こした。

引用

SeqWho: reliable, rapid determination of sequence file identity using k-mer frequencies in Random Forest classifiers
Christopher Bennett, Micah Thornton, Chanhee Park, Gervaise Henry, Yun Zhang, Venkat Malladi, Daehwan Kim

Bioinformatics, Volume 38, Issue 7, 1 April 2022, Pages 1830–1837