macでインフォマティクス

macでインフォマティクス

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

Viral quasispeciesのアセンブリを行う virus-vg

 

 ウイルスは、遺伝的に関連のある突然変異株のコレクションであるquasispeciesとして宿主に寄生する。Viral quasispeciesのアセンブリは、リードデータから株固有のハプロタイプを再構築することであり、株間の相対的な存在量を予測することは、治療に関連した様々な理由から重要なステップとなる。リファレンスゲノムに依存しない(「de novo」)アプローチは、リファレンスガイド型アプローチに比べて利点があるが、これは発散している株を扱う場合、リファレンスに起因するバイアスが圧倒的に大きくなるからである。現存するDe novo法は非常に正確ではあるが、コンティグが短いものしか得られない。残る課題は、このようなコンティグから完全長のハプロタイプを再構築することと、それに伴うその豊富さを再構築することである。
 本研究では、あらかじめアセンブリされたコンティグからウイルスのハプロタイプを再構成するためのデノボアプローチとしてVirus-VGを提案する。この手法では、リファレンスゲノムを使用せずに、短い入力コンティグからバリエーショングラフを構築する。次に、元のハプロタイプを反映したバリエーショングラフのパスを得るために、最小化問題を解き、バリエーショングラフのノードに対して計算されたリードカバレッジとの互換性の観点から最適な最大長のパスを選択する。結果として得られた最大長のパスの選択をハプロタイプとその豊富さとともに出力する。困難なシミュレーションおよび実データセット上でのベンチマーク実験では、入力コンティグと比較してアセンブリの連続性が大幅に改善されていることが示された。Virus-vgは、https://bitbucket.org/jbaaijens/virus-vg から自由に利用できる。

 

インストール

condaでpython3.7の仮想環境を作ってテストした(macos10.14使用)。

依存

Bitbucket

git clone https://bitbucket.org/jbaaijens/virus-vg.git
cd virus-vg/
conda create --name virus-vg-deps --file conda_list_explicit.txt
conda activate virus-vg-deps
#gurobiのライセンスアクティベート(参考

#vgのバイナリダウンロード
wget https://github.com/vgteam/vg/releases/download/v1.7.0/vg-v1.7.0
chmod u+x vg-v1.7.0

python build_graph_msga.py -h

$ python build_graph_msga.py -h

usage: build_graph_msga.py [-h] -f FORWARD [-r REVERSE] -c CONTIGS -vg VG [-t THREADS] [-w MSGA_W] [--reuse_graph]

 

Build contig variation graph using vg msga and compute node abundances.

 

optional arguments:

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

  -f FORWARD, --forward FORWARD

                        Forward reads in fastq format

  -r REVERSE, --reverse REVERSE

                        Reverse reads in fastq format

  -c CONTIGS, --contigs CONTIGS

                        Input contigs in fastq format

  -vg VG, --vg_path VG  Path to vg executable

  -t THREADS, --threads THREADS

                        Set number of threads used for vg.

  -w MSGA_W, --msga_w MSGA_W

                        Set alignment band width parameter for vg msga.

  --reuse_graph

 

 

python optimize_strains.py -h

# python optimize_strains.py -h

usage: python opt_edge.py [-h] -m M -c MIN_COV [-d MIN_DEPTH] [-o FASTA]

                          [-p PATHS] [-r REDUCE_OBJ] [-t THREADS]

                          [--trim TRIM] [--max_strains MAX_STRAINS]

                          abundancefile graphfile

 

Build strains from contigs in variation graph and estimate their abundances.

 

positional arguments:

  abundancefile         Node abundance file

  graphfile             GFA file containing the contig variation graph

 

optional arguments:

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

  -m M, --min_abundance M

                        Minimal node abundance; nodes below this threshold are

                        considered erroneous and allowed to match any other

                        node.

  -c MIN_COV, --min_cov MIN_COV

                        Minimum coverage required per strain

  -d MIN_DEPTH, --min_depth MIN_DEPTH

                        Output a list of nodes with sequence depth less than

                        <min_depth>.

  -o FASTA, --out_fasta FASTA

                        Output fasta file with final haplotypes

  -p PATHS, --paths PATHS

                        Read candidate paths from file instead of enumerating

                        them.

  -r REDUCE_OBJ, --reduce_obj REDUCE_OBJ

                        Use a reduced objective function by specifying how

                        many times a given combination of paths will be

                        evaluated (reduces runtime and memory usage).

  -t THREADS, --threads THREADS

                        Set number of threads used for Gurobi.

  --trim TRIM           number of bases trimmed on either end of contig

  --max_strains MAX_STRAINS

                        set an upper bound on the number of strains predicted

 

 

テストラン 

example/のペアエンドfastqを指定する。実行時にはvgのバイナリのパスを指定する必要がある。

cd virus-vg/example/
python ../scripts/build_graph_msga.py -f forward.fastq -r reverse.fastq -c input.fasta -vg ../vg-v1.7.0 -t 8

 

optimize_strains.py -m <node_ab> -c <strain_ab> node_abundance.txt contig_graph.final.gfa

 

 

引用

Full-length de novo viral quasispecies assembly through variation graph construction
Jasmijn A Baaijens, Bastiaan Van der Roest, Johannes Köster, Leen Stougie, Alexander Schönhuth
Bioinformatics, Volume 35, Issue 24, 15 December 2019, Pages 5086–5094