macでインフォマティクス

macでインフォマティクス

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

高速なRNA seqのマッピングツール DART

 

 近年の次世代シーケンシング(NGS)プラットフォームの出現により、大量並列cDNAシークエンシング(RNA-Seq)技術は、発現の高分解能測定および低量の転写産物の検出における高感度を提供するもう一つの強力なツールとなっている。 RNA-Seqは、事前の遺伝子アノテーションを必要とせず、したがって、未知の転写物を研究することができる。最近の研究によれば、RNAマイクロアレイは置換可能ではなく、転写プロファイリング実験を行う際にも広く使用されているが、RNA-Seqは転写体プロファイリングにおいてマイクロアレイより優れた利点を示すことが示されている(論文より Fuら、2009; Sirbu et al、2012; Zhao et al、2014)。(一部略)

 参照ゲノムに対するRNA-Seqのショートリードのアラインメントは、リードが起きる座標を特定することである。しかしながら、RNA-Seqアラインメントは、従来のDNA配列アラインメントよりも困難である。両方のタイプのアライメントは、ゲノム変異および配列決定ミスに起因するミスマッチ、挿入および欠失を含むが、真核生物における成熟mRNA転写物は修飾され、それらは遺伝子配列中の遺伝子内領域(またはイントロン)を含まない。したがって、スプライシングされたRNAは、1つまたは複数のイントロンにまたがり、隣接または遠いエキソンを連結し、その結果、アライメントが連続しておらず、大きなギャップによって分離され得る。 Erange(Mortazaviら、2008)、OSA(Huら、2012)、SpliceSeq(Ryanら、2012)などのいくつかのRNA-Seqマッパーは、イントロンを回避するためにトランスクリプトームに対するリードを整列させるが、遺伝子の注釈は、研究された生物のほとんどでは不完全である。トランスクリプトームに基づくアラインメントは、既知の転写物に偏っているだろう。したがって、新しいスプライス接合を検出するためには、デノボスプライスRNAアライナーがより好ましい。

 近年では、QPALMA(De Bonaら、2008)、TopHat(Trapnellら、2009)、GSNAP(Wu and Nacu、2010)、STAR(Dobinら(2010))、PALMapper(Jeanら、2010)、MapSplice(Wangら、2010)、RUM 2013)、TopHat2(Kim et al。、2013)、HISAT(Kim et al。、2015)およびSubread(Liaoら、2013)。要約すると、ショートリードアライナーのほとんどは基本的にシード・アンド・エクステンド戦略(Li and Homer、2010)を採用しているが、これは本質的にシーケンシャルであり、ミスマッチを処理するための拡張手順ではかなりの時間がかかります。シーディング・ステップでは、アライナーはハッシュ・テーブルまたはサフィックス・アレイ(SA)/バウアー・ウィーラー・トランスフォーム(BWT)インデックス(Wheeler、1994)のいずれかを使用してシード・エクスプロードを実行している。ハッシュテーブルに基づくアライナは、k-mersのすべてを使用して発生場所を取得する。対照的に、SA / BWTベースのアライナーは、リードと参照ゲノムとの間の最大完全一致(MEM)を見出す。 MEMは、2つの配列間の最大完全一致であり、ミスマッチを許さずにさらに伸長することはできない。 MEMsは、全ゲノムアラインメントおよびNGSのアラインメントのためのに広く使用されている(Choiら、2005; Li and Durbin、2009; Liu and Schmidt、2012)。

 エキソン上のリードは、対応するエキソン内で完全にアライメントされ得るリードであり、参照ゲノムに対するその整列は比較的簡単である。対照的に、RNA-Seqアライメントにおけるより困難な課題は、1つ以上のイントロンにまたがリードに対処することとなる。この記事では、spanned readsと呼んでいる。上記の多くのRNA-Seqアライナーは、spanned readsを処理するのに同様の戦略を採用している。spanned readsを適切なフラグメントに分割し、各フラグメントを参照ゲノムに連続してアライメントさせ、適切なイントロンサイズ内のすべての望ましいサブ配列をマージして完全なアライメントを形成する。しかし、これらのアライナーはスプライス接合のアライメントをどのように扱うかが異なっている。

 QPALMAは、サポートベクターマシンSVM)を使用して、トランスクリプトームデータセットからスプライスジャンクションを学習した。次いで、訓練されたスコアリング関数に基づいて、シード領域からのスプライスされたアラインメントを推定する。 TopHatは接合部を2つの段階で検出する。 すなわちBowtie / Bowtie2を使用して、すべてのリードをリファレンスにマッピングし、マッピングされたリードを組み立てて隣接するコンセンサス配列(アイランドと呼ばれる)を生成する。次いで、canonicalな(GT-AG)イントロンを形成し得る隣接アイランドからの全ての候補スプライス接合を構築する。 GSNAPは、スプライス部位に隣接するヌクレオチドの頻度に由来する確率モデルを有するスプライスジャンクションを同定する。 MapSpliceは、シーケンスをいくつかの連続セグメントに分割し、各セグメントのエキソン配列を識別する。セグメントがスプライスされたアラインメントを含む場合、スプライスジャンクションはエキソンのアラインメントを有する隣接するセグメント間のダブルアンカー検索方法を使用して容易に発見できる。 STARは、エキソニックアラインメントのための最大マッパブルプレフィックス(MMP、MEMに類似)を見出す。それは、リードのマッピングされていない部分のMMPを繰り返し見つけるので、スプライス接合部は自然に発見することができる。 HISATは、スプライスされたアライメントのための階層インデックス付け戦略(グローバルおよびローカルFMインデックス作成)を採用した最初のアライナとなる。これは、異なるエキソン配列およびスプライスされたアライメントタイプを扱うための異なる戦略を適用する。 Subreadは、2スキャン手順でスプライス接合を検出する。これは、各リード(第1のスキャン)について最良の2つのマッピング位置の間の接合部位を特定し、すべてのマッピング可能性(第2のスキャン)を検査することによって接合部を検証する。

 上述のアライナの大部分は、アライメント感度および精度を高めるためにかなりの計算時間を必要とする。シーケンシング技術の進歩とENCODEプロジェクトでのシーケンシングデータの収集の継続に伴い、膨大な量のショートリードならびに関連するシーケンスのバリエーション(Engstrom et al、2013)を処理するためのより効率的なアルゴリズムが強く求められている。さらに、シーケンシングエラーが隣接する場所で発生すると、一部のアライナーがスプライス接合を検出できないことがある。この研究では、gtfなどの注釈なしでスプライスされたアライメントを処理するための新しいRNA-Seqマッピングアルゴリズムを提案する。DART(Division based Alignment for RNA-Seq Transcripts)は、著者らのDNAリードマッパーであるKart(Lin and Hsu、2017)に由来している。 DARTは、RNA-Seq転写産物アライメントを処理するための分割戦略を採用している。ダイナミックプログラミングステップでシードを両方向に拡張しようとするほとんどのリードアライナとは異なり、DARTはリードシーケンスを1つ以上のセグメントに分割してシード拡張ステップを置き換える。シミュレーションデータセットとリアルデータセットでの実験結果は、DARTが最高の感度と精度をもたらし、時間を最小限に抑える高効率のアライナであることを示している。

 

 

インストール

ubuntu14.04に導入した。mac osでもビルドは可能。

Github

GitHub - hsinnan75/Dart: DART – a fast and accurate RNA-seq mapper with a divide-and-conquer strategy

git clone https://github.com/hsinnan75/Dart.git 
cd Dart/
make

./dart

$ ./dart 

 

DART v1.2.9 (Hsin-Nan Lin & Wen-Lian Hsu)

 

Usage: ./dart -i Index_Prefix -f <ReadFile_A1 ReadFile_B1 ...> [-f2 <ReadFile_A2 ReadFile_B2 ...>]

 

Options: -t INT        number of threads [4]

         -f            files with #1 mates reads

         -f2           files with #2 mates reads

         -o            alignment filename for output [stdout]

         -j            splice junction output filename [junctions.tab]

         -m            output multiple alignments

         -p            paired-end reads are interlaced in the same file

         -unique       output unique alignments

         -intron       the maximal intron size [500000]

 ./bwt_index

$ ./bwt_index -h

Usage: ./bwt_index Ref_File[ex. ref.fa] Prefix[ex. MyRef](anaconda3-2.3.0)

 

ラン

1、はじめにindexを作成する。prefixで指定した名前のファイルが作られる。ここではtestとする。

bwa index ref.fa test

index作成はbwa indexで作成されるindexと互換性がある。大きなゲノムでindexを作成すると数十分かかったりするので、過去にbwaでindexを作ってあるなら、シンボリックリンクを貼っておけばラク

 

2、ペアエンドデータのマッピング。fastqはgz圧縮にも対応。シーケンスデータがFASTAの時は、非圧縮のみ読み込み可。

dart -i test -t 8 -f pair1.fq -f2 pair2.fq -o out.sam
  • -t     number of threads [4]         
  • -f     files with #1 mates reads         
  • -f2   files with #2 mates reads         
  • -o    alignment filename for output [stdout]

 

.gzをつければgz出力される。

dart -i test -t 8 -f pair1.fq -f2 pair2.fq -o out.sam.gz

 

複数シーケンスデータを使うには、フォワードとリバースそれぞれでまとめて指定する。

dart -i test -f ReadFileA_1.fq ReadFileB_1.fq ReadFileC_1.fq -f2 ReadFileA_2.fq ReadFileB_2.fq ReadFileC_2.fq -o out.sam

 

 

 

引用

DART - a fast and accurate RNA-seq mapper with a partitioning strategy

Lin HN, Hsu WL

Bioinformatics. 2017 Sep 5.

 

レビュー

https://www.ncbi.nlm.nih.gov/pubmed/29069314