アメリエフの技術ブログ

Amelieff Staff Blog

Yet Another Bioinformatics Library

バイオ分野で使われているプログラミング言語には、バイオインフォマティクス向けのライブラリが用意されており、BioPerlBioPythonなどをご存知の方は多いかもしれません。

最近注目されているGoogleによって開発されたGO言語にも、バイオインフォマティクス用のライブラリであるbiogoというものがあります。

今回はそのbiogoを使用している例として、Lariatというアライメントツールのご紹介をしたいと思います。

Lariatは10x Genomicsが開発したGemCodeシステムに対応したアライメントツールです。GemCodeシステムはバーコード配列を利用してショートリードから合成的にロングリードを生成する革新的なシステムです。

入力はFASTQ-likeなフォーマットで、入力ファイルに以下の情報が必要になります。
read header
read1 sequence
read1 quals
read2 sequence
read2 quals
10X barcode string
10X barcode quals
sample index sequence
sample index quals

Lariatの最初のステップでは、BWAのAPIを使ってアライメントを行っていきます。

次のステップでバーコードの情報を使って反復領域などのマッピングが難しい領域のリードを繋げていき、最終的なマッピングのポジションなどを決定します。
これにより、segmental duplicationなどの反復領域などへのリードのマッピングの正確性が向上すると考えられています。

ちなみに、biogoはBAMやSAMファイルのハンドリングに使われています。

Lariatの入力ファイルはFASTQ-likeなフォーマットが必要と書きましたが、Lariat自体はLong Rangerというパイプラインに組みこまれているので、自分で用意することはないと思います。