高い突然変異率、自然選択および組換えは、RNAウイルス集団の高い遺伝的多様性につながる可能性がある(Domingo-Calap et al、2016)。これらはclosely relatedだが異なるウイルス株で構成されている。ウイルス集団のこれらのグループは、しばしばquasispeciesと呼ばれる(Nowak、2006)。これらの各系統は、そのハプロタイプ配列によって定義される。高速変異ウイルスのよく知られた例には、ヒト免疫不全ウイルス(HIV-1)やC型肝炎ウイルス(HCV)などの臨床的に重要なウイルスが含まれる。ウイルス集団の遺伝的不均一性は、適応行動の鍵である。自然選択は1つではなく一連の配列で機能し、遺伝的多様性が高いため、ウイルスは宿主の免疫応答を回避したり、薬剤耐性を発現したりし得る。ウイルスハプロタイプの再構築は、ウイルス集団の構造を特徴づけ、ウイルス表現型を予測し、最終的に臨床治療と予防に重要な情報を提供するための基本的なステップである(Schirmer et al、2014)。
次世代シーケンシング技術の開発により、ハプロタイプの特性評価と異種ウイルス集団におけるそれらの豊富さが向上する。ウイルス集団サンプルの詳細なシーケンスが利用可能になり、ウイルスハプロタイプ再構築のためのさまざまな方法とツールが考案されてきた(Baaijens et al、2017; Jayasundara et al、2015; Malhotra et al、2015; Mangul et al、2014; Töpferet al、2014)。方法は、リファレンスゲノムへの依存に基づいて2つのグループに分けることができる(Beerenwinkel et al、2012)。メソッドの最初のグループは、リファレンスゲノムを必要とし、リファレンス配列に対するリードアライメントを使用してハプロタイプを推測する。ただし、突然変異率が高いため、ウイルス集団の高品質のリファレンスゲノムが常に利用できるとは限らない。特に、ブレイクアウトのリファレンスゲノムを欠くSARSなどの新興の感染性ウイルス疾患では、リファレンスベースの方法は妥当ではない。メソッドの2番目のグループは、リファレンスゲノムを必要としないde novoハプロタイプ再構成に属する。これらの方法は、新しいウイルス株または新しいハプロタイプを特徴付けることができる。著者らの仕事は2番目のグループに属している。
ハプロタイプ再構成ツールの最近のレビューは、ハプロタイプのリカバリが計算上チャレンジングな問題であることを示している(Schirmer et al、2014 pubmed)。一連のデータに関する著者のベンチマーク結果は、シーケンスの相違が少ない場合、テストされたプログラムのパフォーマンスが低いことを示した。さらに、これらのプログラムはレアなハプロタイプを回復できなかった。したがって、より正確なハプロタイプの再構築のための新しい方法とツールに対する差し迫った必要性が生じている。
レビューでテストされたプログラム(Schirmer et al、2014)はすべてグループ1に属し、入力としてリファレンス配列に対するアラインメントが必要である。リファレンス配列を使用せずに、ディープシーケンスデータからのハプロタイプ再構築の方法では、de novoゲノムアセンブリと同様の方法を使用する。ウイルスのハプロタイプの再構築にアセンブリを適用すると、いくつかの課題に直面する。最初の課題は、異なる系統の非常に類似したゲノムを区別することである。論文補足図S3および表S1は、対象のゲノム間の高い配列類似性を示している。既存のアセンブリ方法は、非常に類似したゲノムを含むディープシーケンスデータから短いまたはキメラのコンティグを生成する傾向がある。 2番目の課題は、シーケンスエラーをまれなハプロタイプの変異と区別するのが非常に難しいことである。 3番目の課題は、存在量の少ないハプロタイプを回復することである。
(複数段落省略)
論文図3に示すように、PEHaploのパイプラインは5つの主要なコンポーネントからなる。最初の前処理段階では、低品質またはあいまいなベースコールのリードがフィルター処理またはトリミングされる。塩基エラーまたはインデルは、アライメントベースのエラー修正ツールKarectを使用して、フィルター処理されたリードセットから修正される(Allam et al、2015)。 Karect(紹介)を選択したのは、最近公開されたものであり、エラー修正にk-merではなくリード全体を利用しているためである。Duplicatedリードと部分文字列のリードは、修正されたリードから削除される。詳細な前処理の説明は、補足資料セクションS2にある。第二に、Readjoiner(Gonnella and Kurtz、2012)によって計算されたオーバーラップを使用して、前処理されたリードからオーバーラップグラフが作成され、グラフを走査することでリードのストランドが調整される。ストランド調整に関する詳細な戦略については、論文補足資料セクションS3にある。出力のリードは同じ向きになる。第3段階では、Apspによって計算されたオーバーラップを使用して、ストランド調整済みのリードからオーバーラップグラフを再度構築し(Haj Rachid and Malluhi、2015)、さまざまなグラフのプルーニング手法を使用して、可能なランダムオーバーラップを削除し、効率的なアセンブリのためにグラフを単純化する。第4段階では、 ペアエンドのガイド付きパス検索アルゴリズムが適用され、ペアエンドのオーバーラップグラフからコンティグが生成される。最後に、bowtie2(Langmead and Salzberg、2012)によって生成されたコンティグに対してペアエンドリードがアラインメントされ、潜在的な誤った結合を特定して修正する。
インストール
miniconda2.4.0.5環境でテストした(docker使用、ホストOS macos10.14)。
依存
#networkx1.11
pip install networkx==1.11
#Apsp
git clone https://github.com/chjiao/Apsp.git
cd Apsp/
make
git clone https://github.com/chjiao/PEHaplo.git
cd PEHaplo/
> python pehaplo.py -h
$ python pehaplo.py -h
usage: pehaplo.py [-h] -f1 INPUT_F1 -f2 INPUT_F2 -l OVERLAP_LEN
[-l1 OVERLAP_LEN1] -r READ_LEN [-F FRAGMENT_LEN]
[-std FRAGMENT_STD] [-n DUP_N] [-correct CONTIG_CORRECT]
[-t THREADS] [-m MEMORY]
Program: PEHaplo - De novo haplotype reconstruction in virus quasispecies
using paired-end reads Version: 0.1 Contact: Jiao Chen - chjiao3456@gmail.com
optional arguments:
-h, --help show this help message and exit
-f1 INPUT_F1 input .1 part of paired-end fastq or fasta file
-f2 INPUT_F2 input .2 part of paired-end fastq or fasta file
-l OVERLAP_LEN, --overlap_len OVERLAP_LEN
overlap threshold between reads for reads orientation
adjustment
-l1 OVERLAP_LEN1, --overlap_stage1 OVERLAP_LEN1
overlap cutoff to remove potentially wrong overlaps
after merging linked cliques, default same as -l
-r READ_LEN, --read_len READ_LEN
reads length
-F FRAGMENT_LEN, --fragment_len FRAGMENT_LEN
paired-end reads insert size, default as 2.5*read_len
-std FRAGMENT_STD standard deviation of paired-end reads insert size,
default as 100
the reads kept should be duplicated at least n times,
default as keep all the duplicates removed reads
-correct CONTIG_CORRECT
whether apply alignment based contigs
correction(yes/no), default = no
-t THREADS, --threads THREADS
threads for karect, sga, bowtie2
-m MEMORY, --memory MEMORY
maximal memory for readjoiner (xGB), default: 2GB
テストラン
cd PEHaplo
mkdir assembly
cd assembly
python ../apsp_overlap_clique.py ../processed_test_data/Plus_strand_reads.fa ../processed_test_data/pair_end_connections.txt 180 250 600 210
実行方法
python pehaplo.py -f1 pair1.fq -f2 pair2.fq \
-l OVERLAP_LEN -r READ_LEN [-l1 OVERLAP_LEN1] [-F FRAGMENT_LEN] [-std FRAGMENT_STD] [-n DUP_N] [-correct CONTIG_CORRECT] [-t THREADS]
- -f1 input .1 part of paired-end fasta file
- -f2 input .2 part of paired-end fasta file
- -l overlap threshold between reads for overlap graph construction
- -l1 overlap cutoff to remove potentially error overlaps after merging linked cliques, default same as -l
- -n keep the reads that are duplicated at least n times
- -r reads length
- -F paired-end reads insert size, default as 2.5*read_len
- -std standard deviation of paired-end reads insert size, default as 100
- -correct whether apply alignment based contigs correction(yes/no), default: no
- -t threads for karect, sga, bowtie2
引用
De novo haplotype reconstruction in viral quasispecies using paired-end read guided path finding
Chen J, Zhao Y, Sun Y
Bioinformatics. 2018 Sep 1;34(17):2927-2935