macでインフォマティクス

macでインフォマティクス

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

SVの正確なGenotypingを行う SV2

 

 構造変化(SV)は、50bpよりも大きい染色体の構造の変化として定義される。 SVはヒトの遺伝子変異の主要な寄与因子であり、様々なヒト疾患にも関与している(Conrad、et al、2010; Sudmant、et al、2015)。特に、de novo構造変異(子孫固有で親にはない)は、特発性自閉症や知的障害のリスクにつながる(Brandler et al、2016)。新生児SVの正確な検出は、子どもの偽陽性や両親の偽陰性などの遺伝子型判定ミスのために困難である。さらに、ジェノタイピングエラーは、親から子への変異の伝達を強め、家系図の交絡分析にバイアスを与える。
 次世代シーケンシングからSVを特徴付けることは、SVの広範なサイズ(50bp〜50Mb)および広範なタイプのために困難な作業である。したがって、SVの多様性を完全に捉えるためには、スタンドアロンソリューション(GoNL Consortium、2014; Sudmant、et al、2015)として設計された多数のツールが必要になる。複数のSVコールメソッドからのバリアンコールと信頼スコアを調和させ統一されたジェノタイプを報告する方法が欠けている。

 ここでは、ペアエンドシーケンシングデータからの欠失およびduplicationのジェノタイピングのための機械学習アルゴリズムであるSV2について説明する。 SV2は、複数のSV発見アルゴリズムからのバリアントコールを、高度な遺伝子タイピング精度とde novo変異を検出する能力を備えた統一されたコールセットに迅速に統合することができる。

 SV2は、前処理、フィーチャの抽出、その後の遺伝子型分類の3段階で機能する(図1:下の図参照)。 ジェノタイピングは、4つの有益な特徴、すなわち、カバレッジデプス、不一致のペアエンド、スプリットリードおよびヘテロ接合性対立遺伝子比(HAR)を利用する。 ジェノタイピングは、1000ゲノムプロジェクト(1KGP)からの全ゲノム配列(WGS)で訓練された教師ありサポートベクターマシン分類器を用いて行われる。 得られた遺伝子型のVCFファイルには、1KGP(Sudmant et al、2015)によって記録された共通SVの遺伝子、反復要素および変異体識別のアノテーションが含まれている。

 

チュートリアル

https://github.com/dantaki/SV2/wiki/tutorial 

SV2に関するツイート。

f:id:kazumaxneo:20180728111325j:plain

ワークフロー。GIthubより転載。

 

インストール

mac os10.12のPython2.7.14環境でテストした。

依存

  • samtools (pileupで使う)
  • Bedtools 2.25 or later 

python2.7とライブラリ

  • cython
  • numpy
  • pandas
  • pybedtools
  • pysam 0.9+
  • scikit-learn v0.19+

本体

Github

github.com

pip install sv2

 > sv2 -h

$ sv2

                       ____

  _____________   ___ |___

 /   _____/   /   // ___/

 _____      Y   //_____)

 /              /

/_________/   ___/

 

Support Vector Structural Variation Genotyper

Version 1.4.3.4    Author: Danny Antaki <dantaki at ucsd dot edu>    github.com/dantaki/SV2

 

  sv2 -i <bam ...> -v <vcf ...> -b <bed ...> -snv <snv vcf ...> -p <ped ...> [OPTIONS]

 

input arguments: github.com/dantaki/SV2/wiki/Options#input-arguments

 

  Note: input arguments can take multiple files, separated by space <-i BAM1 BAM2 ...>

 

  -i, -bam    ...     bam file(s)

  -v, -vcf    ...     vcf files(s) of SVs

  -b, -bed    ...     bed files(s) of SVs

  -snv        ...     snv vcf files(s), must be bgzipped and tabixed

  -p, -ped    ...     ped files(s)

 

genotype arguments: github.com/dantaki/SV2/wiki/Options#genotype-arguments

 

  -g, -genome         reference genome build <hg19, hg38, mm10> [default: hg19]

  -pcrfree            GC content normalization for pcr free sequences

  -M                  bwa mem -M compatibility, split-reads flagged as secondary instead of supplementary

  -merge              merge overlapping SV breakpoints after genotyping

  -min-ovr            minimum reciprocal overlap for merging [default: 0.8]

  -no-anno            genotype without annotating variants   

 

  -pre                preprocessing output directory, skips preprocessing

  -feats              feature extraction output directory, skips feature extraction

 

classifier arguments: github.com/dantaki/SV2/wiki/Options#classifier-arguments

 

  -load-clf           add custom classifiers (-load-clf <clf.json>)

  -clf                define classifier for genotyping [default:default]

 

config arguments: github.com/dantaki/SV2/wiki/Options#config-arguments

 

  -download           download required data files

  -hg19               hg19 fasta file

  -hg38               hg38 fasta file

  -mm10               mm10 fasta file

  -ini                configuration INI file [default: $SV2_INSTALL_PATH/config/sv2.ini]

  

optional arguments:

 

  -L, -log            log file for standard error messages [default: STDOUT]

  -T, -tmp-dir        directory for temporary files [default: working directory]

  -s, -seed           random seed for preprocessing shuffling [default: 42]

  -o, -out            output prefix [default: sv2_genotypes]

  -O, -odir           output path, location for sv2 output directories [default: working directory]

 

  -h, -help           show this message and exit

 

——

 

ラン

テストランの流れを確認する(リンク)。

準備1: テストリファレンスゲノムデータをダウンロードし、パスを記載する。

#リファレンスのダウンロード(持ってなければ)
wget ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/technical/reference/human_g1k_v37.fasta.gz
gunzip human_g1k_v37.fasta.gz
samtools faidx human_g1k_v37.fasta

#付属データのダウンロード
sv2 -download

#fastaのパスを定義しておく。特にメッセージは出ないので、成功してるかわかりにくい(*1)。 
sv2 -hg19 /full/path/to/human_g1k_v37.fasta

 

準備2: テストデータをダウンロードする。

wget https://github.com/dantaki/SV2/releases/download/sv2v1.4.0/sv2_tutorial.zip 
unzip sv2_tutorial.zip
cd sv2_tutorial/

データは、1000Genomesのlow coverageサンプルをダウンサンプリングしたもので、bwa memでhg19にアライメントされbamになっている。VCFファイル1kgp_phase3_tutorial.vcfは 1000 Genomesの成果であるphase3 VCFをランダムサンプリングしたもの。HG00096_sub.vcf.gzはダウンサンプリングしたbamからFreebayesでバリアントコールしたもの。bgzipで圧縮されtabixでindexが付いている。bamとこれらをsv2の入力として使う。他にGWASで使うPLINKのバイナリファイル(HG00096.pedと1kgp.ped)などが入る。

 

テスト1。Freebayes1つのバリアントコール結果からgenotypingを行う。 

sv2 -i HG00096_sub.bam -v 1kgp_phase3_tutorial.vcf -snv HG00096_sub.vcf.gz -p HG00096.ped -o HG00096_sv2
  • -v  vcf files(s) of SVs
  • -snv vcf files(s), must be bgzipped and tabixed

  • -p  ped files(s)

  • -o  output prefix [default: sv2_genotypes]
  • -min-ovr minimum reciprocal overlap for merging [default: 0.8]

出力。図1の3段階のフローに相当するディレクトリができる。最終出力はsv2_genotypes。genotyeはvcfとbedで出力される(*2)。 f:id:kazumaxneo:20180728111056j:plain

 

スト2。複数のバリアントコール結果を統合してgenotypingを行う。 Manta(複数の間接的なSVシグナルを使い、コントロールケース実験の精度の高いSVコールを行う)のコールと、Lumpy(mantaと同様、複数手法を使う高感度なSVコーラー。論文発表はlumpyが先)のコールを使う。

sv2 -i HG00096_sub.bam -v 1kgp_phase3_tutorial.vcf -snv HG00096_sub.vcf.gz -p HG00096.ped -o HG00096_sv2

 

 # merge breakpoints with 95% reciprocal overlap

sv2 -i HG00096_sub.bam -b lumpy.bed manta.bed -snv HG00096_sub.vcf.gz -p HG00096.ped -o HG00096_95merged -min-ovr 0.95 -pre sv2_preprocessing/ -feats sv2_features/

 

SV2では、各サンプルごとにgenotypingを行い、それから統合し、genotpeの行列を出力するフローを推奨している(コマンド例はリンク先一番下のSV2 Guidelinesを参照)。

 

 

修正

mantaの説明をmetasvと勘違いして記載しておりました。修正します。

引用

SV2: accurate structural variation genotyping and de novo mutation detection from whole genomes.

Danny Antaki William M Brandler Jonathan Sebat

Bioinformatics, Volume 34, Issue 10, 15 May 2018, Pages 1774–1777,

 

*1 /sv2/config/sv2.ini を直接開きFASTAのパスを確認する。直接編集でもOK。

Running without install step (aka "config on the command line") · Issue #10 · dantaki/SV2 · GitHub

 

*2 出力について

https://github.com/dantaki/SV2/wiki/Output#vcf-output