シーケンサー技術の大幅な向上とプロトコルの増加により、シーケンサーは複雑な生物学的問題に答えるために使用されるようになってきた。それに伴い、解析パイプラインはより時間と複雑さを増し、通常、非常に大規模な事前検証ステップを必要とするようになった。ここでは、シーケンシングファイルの品質をヒューリスティックに評価し、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で環境を作ってテストした。
依存
- Python >3
- Conda >4.7
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種類のファイルを生成する。
- PNGファイル:1つは1塩基のquality coreの数、2つ目は位置ごとのquality scoreの平均値、3つ目は任意の長さのリード数、最後はリードの位置ごとの塩基頻度のヒートマップの4つのプロット。
- 1 のプロットを作成するために必要なすべてのデータと、以下のデータを含む Json ファイル。
- 上記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