最近注目されている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というパイプラインに組みこまれているので、自分で用意することはないと思います。