PAFファイルフォーマットとは
Pafファイルフォーマットは、minimap2 が出力するファイル形式の一つである。
Sam形式に非常によく似ているが、Pafはシーケンスデータとクオリティスコアを含まないという特徴がある。
このページは、各種AIツールの助けを借りながら人間が書いてます。
Pafの基本構造
PAFは、タブ区切りのテキストフォーマットで、各行が1つのアライメントを表す。
最低12個の必須フィールドがある。
- クエリ配列名
- クエリ配列長
- クエリ開始座標(0ベース)
- クエリ終了座標(0ベース)
- ストランド(+または-)
- ターゲット配列名
- ターゲット配列長
- ターゲット開始座標(0ベース)
- ターゲット終了座標(0ベース)
- マッチングした塩基数
- アライメント長(ギャップを含む)
- マッピング品質(0-255、255は欠損値) minimap2.1:751-769
PafファイルとSamファイルの違い
Samと比較すると、次のような特徴がある。
- ヘッダーセクション(@で始まる行)がない
- シーケンスデータ自体を含まない(SEQフィールド)
- クオリティスコアを含まない(QUALフィールド)
- CIGARストリングは必須ではなく、入れたい場合はタグに入れる
- 座標系: PAFは0ベース、SAMは1ベースの座標系を使用
Pafファイルの操作
Minimap2のリポジトリの中にあるPaftoolsを利用する。
このツールは、JavaScriptで書かれており、k8という高速軽量なインタープリター上で動作する。k8は、Googleの開発するJavaScriptエンジンのV8にいくつかの機能を追加したものである。
- Bytesオブジェクト:バイナリデータを効率的に扱うためのリサイズ可能なバッファ
- Fileオブジェクト:同期ファイルI/O操作のためのインターフェース
- グローバル関数:
print()
,warn()
,exit()
,load()
などの基本的な関数 - 関数:
k8_read_file()
,k8_encode()
,k8_decode()
,k8_revcomp()
この記事は以上です