macでインフォマティクス

macでインフォマティクス

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

SVを考慮したロングリードのアライナー NGMLR

 

 少なくとも50bpの欠失、重複、挿入、逆位および転座を含む構造変化(SV)は、ヒトゲノム(preprintより ref.1)の分岐塩基対(bp)の最大数を占める。 SVは、多型のバリエーション、癌(ref.3)、自閉症(ref.4)、またはアルツハイマー病(ref.5)などのいくつかのヒト疾患と関連している。 SVはまた、他の生物の数が増加するにつれて表現型に影響を与えることが示されている(ref.6-10)。しかしながら、SVコーラーは、多数のfalse positives(すなわち、実際には存在しないSVを誤って呼び出す)およびfalse negatives(すなわち、存在する真のSVを呼び出さない)をコールする、初期の段階にある。
 SVの普及と重要性に関する最初の報告の1つは2004年で (Sebat et al)、大規模なコピー数多型を発見するためにマイクロアレイが使用された(ref.11)。結果は、健康なヒトゲノムにわたってコピー数多型は驚くほど共通していた。現在、SV検出は、最も一般的にはイルミナシーケンシングなどのショートペアエンドリードを使用して実行される。カバレッジまたはペアエンドリードの変化は、リファレンスゲノムに関する突然変異を示す。コピー数変化は、調整されたリードカバレッジ(ref.12)の減少(削除)または増加(増幅)として観測され、他のタイプのSVは、ペアエンドリードまたはスプリットリードアラインメントのシーケンス(ref.13-16)によって識別できる。しかし、ショートリードを使ったアプローチは感度に乏しいと広く報告されており、SVが検出された割合はわずか10%(ref.17)から70%(ref.6.8)の範囲で、偽陽性率も非常に高く(89%まで)(ref.6,18-21)、複雑なSVやneasted SVsの誤った検出があった(ref.6,22)。Pacific Biosciences(PacBio)およびオックスフォードナノポア(Oxford Nanopore)による一分子ロングリードシーケンス技術の出現は、SVを検出する信頼性および分解能を実質的に高める可能性を有する。約10kbpのリード長と100kbpを超えるリード数を有することにより、SVの形成を媒介することが多いリピート領域に対してリードをより確実にアライメントすることができる(ref.22)。さらにロングリードはSVをまたがる可能性が高いため、信頼性の高いアライメントでブレークポイントをキャプチャすることができる。さらに、ロングリードは、全体的なゲノム構造および対立遺伝子特異的な特徴を研究するために必要な、改善されたフェージングを可能にする。これらの利点にもかかわらず、一分子ロングリードシーケンシングは新たな課題も引き起こす。最も重要なのは、これらのテクノロジは、PacBioでは現在10%〜15%、Oxford Nanoporeシーケンシングでは5%〜20%の非常に高いシーケンシングエラーレートを持つことである(ref.23)。これらの高いエラー率は、ほとんどのアライナやSV検出アルゴリズムの能力を超え、新しい特殊な方法を必要とする。 BlasR(ref.24) 、BWA-MEM(ref.25)、さらに最近GraphMap(ref.26)を含むいくつかのアライナーが提案されている。しかし、挿入、欠失および逆位に焦点を当てたSVタイプのサブセットについてはSMHT-SV(ref.27)のようにいくつかのタイプが提案されているが、スタンドアロンではPBHoney(re.f18)のみがロングリードデータから全タイプのSVを検出できる。
 これらの課題に対処し包括的なロングリードアライメントとSV検出(図1)を行うために、新しいオープンソース解析アルゴリズムであるNGMLRとSnifflesを導入する。 NGMLR(https://github.com/philres/ngmlr)は、従来のシード・アンド・エクステンション・ショート・リード・アライナーNGM(ref.28)に基づいて、ロングリードを高速かつ正確に行うためのアライナーである。新しいセグメント化されたギャップ・コスト・スコアリング・高エラーモデルはSVブレークポイントを横切ってロングリードをアライメントする。そのパートナーアルゴリズムであるSniffles (https://github.com/fritzsedlazeck/Sniffles)は、すべてのタイプのSVを識別するためにアライメント内およびアライメント間を連続してスキャンする。 Snifflesは、リードのエラー率が高いことに対処するために、候補SVのサイズ、位置、種類、およびカバレッジに基づいて偽のSVを除外するための新しいSVスコアリングスキームを採用している。これは主要なエラータイプがfalse positives indelsになっているPacBioシークエンシング、システマティックなindelエラーがホモポリマーシーケンスで起きるOxford Nanoporeシークエンシングにとって特に重要である。
 本方法をシミュレートされたデータセットおよび本物のデータセットシロイヌナズナのTrios、健康なヒトのゲノム、および癌患者のゲノム)に適用し、ショートリードとロングリードの他のコーラーと比較して高い精度を持つことを実証した。 Snifflesの新しい特徴は、 inverted tandem duplications(INVDUP)や挿入や欠失に隣接した逆位などのnested SVを検出する能力である。これらは、ほとんど研究されていないSVのクラスであるが、ゲノム障害に関連しているとの報告がある(ref.29-31 32) 。しかし、代替的な方法でもそれをルーティンに検出することはできないため、現在のところその完全な意義は不明である。最後に、シークエンシングカバレッジと必要な計算リソースの両方でサンプルごとのコストを削減できることを示し、多数のサンプルにロングリードテクノロジを適用することがより一層実現可能になることを示す。

 

ppt

f:id:kazumaxneo:20180421103303j:plain

ポスター

http://www.cibiv.at/%7Ephilipp_/files/gi2016_poster_phr.pdf

 

インストール

依存

  • OS: Linux and Mac OSX
  • zlib-dev
  • cmake
  • gcc/g++ (>=4.8.2)

本体 Github

https://github.com/philres/ngmlr

git clone https://github.com/philres/ngmlr.git 
cd ngmlr/
mkdir -p build
cd build/
cmake ..
make

cd ../bin/ngmlr-0.2.7/

$ ./ngmlr -h

ngmlr 0.2.7 (build: Apr 21 2018 10:13:31, start: 2018-04-21.10:14:51)

Contact: philipp.rescheneder@univie.ac.at

 

Usage: ngmlr [options] -r <reference> -q <reads> [-o <output>]

 

Input/Output:

    -r <file>,  --reference <file>

        (required)  Path to the reference genome (FASTA/Q, can be gzipped)

    -q <file>,  --query <file>

        Path to the read file (FASTA/Q) [/dev/stdin]

    -o <string>,  --output <string>

        Adds RG:Z:<string> to all alignments in SAM/BAM [none]

    --skip-write

        Don't write reference index to disk [false]

    --bam-fix

        Report reads with > 64k CIGAR operations as unmapped. Required to be compatibel to BAM format [false]

    --rg-id <string>

        Adds RG:Z:<string> to all alignments in SAM/BAM [none]

    --rg-sm <string>

        RG header: Sample [none]

    --rg-lb <string>

        RG header: Library [none]

    --rg-pl <string>

        RG header: Platform [none]

    --rg-ds <string>

        RG header: Description [none]

    --rg-dt <string>

        RG header: Date (format: YYYY-MM-DD) [none]

    --rg-pu <string>

        RG header: Platform unit [none]

    --rg-pi <string>

        RG header: Median insert size [none]

    --rg-pg <string>

        RG header: Programs [none]

    --rg-cn <string>

        RG header: sequencing center [none]

    --rg-fo <string>

        RG header: Flow order [none]

    --rg-ks <string>

        RG header: Key sequence [none]

 

General:

    -t <int>,  --threads <int>

        Number of threads [1]

    -x <pacbio, ont>,  --presets <pacbio, ont>

        Parameter presets for different sequencing technologies [pacbio]

    -i <0-1>,  --min-identity <0-1>

        Alignments with an identity lower than this threshold will be discarded [0.65]

    -R <int/float>,  --min-residues <int/float>

        Alignments containing less than <int> or (<float> * read length) residues will be discarded [0.25]

    --no-smallinv

        Don't detect small inversions [false]

    --no-lowqualitysplit

        Split alignments with poor quality [false]

    --verbose

        Debug output [false]

    --no-progress

        Don't print progress info while mapping [false]

 

Advanced:

    --match <float>

        Match score [2]

    --mismatch <float>

        Mismatch score [-5]

    --gap-open <float>

        Gap open score [-5]

    --gap-extend-max <float>

        Gap open extend max [-5]

    --gap-extend-min <float>

        Gap open extend min [-1]

    --gap-decay <float>

        Gap extend decay [0.15]

    -k <10-15>,  --kmer-length <10-15>

        K-mer length in bases [13]

    --kmer-skip <int>

        Number of k-mers to skip when building the lookup table from the reference [2]

    --bin-size <int>

        Sets the size of the grid used during candidate search [4]

    --max-segments <int>

        Max number of segments allowed for a read per kb [1]

    --subread-length <int>

        Length of fragments reads are split into [256]

    --subread-corridor <int>

        Length of corridor sub-reads are aligned with [40]

 

パスの通ったディレクトリに移動しておく。

GithubではDockerによる導入方法が説明されている。またリリースにはbinaryが用意されている。Githubにはそのほかprepintで使用したArabiのtrioとヒトのデータリンクも記載されている。

 

ラン

Pacbio

ngmlr -t 8 -r ref.fa -q input.fastq -o output.sam
  • -t <int>    Number of threads [1]
  • -r <file>   (required) Path to the reference genome (FASTA/Q, can be gzipped)
  • -q <file>   Path to the read file (FASTA/Q) [/dev/stdin]
  • -o <string>   Adds RG:Z:<string> to all alignments in SAM/BAM [none]

 

ONT

ngmlr -t 8 -r ref.fa -q input.fastq -x ont -o output.sam
  •  -x <pacbio, ont>   Parameter presets for different sequencing technologies [pacbio]

 

SV callerは別に紹介してます。 

 

 

2018 Workshop の資料とのことです。

引用

Accurate detection of complex structural variations using single molecule sequencing

View ORCID ProfileFritz J Sedlazeck, Philipp Rescheneder, Moritz Smolka, Han Fang, Maria Nattestad, Arndt von Haeseler, Michael Schatz

doi: https://doi.org/10.1101/169557 bioRxiv preprint

https://www.biorxiv.org/content/early/2017/07/28/169557