ゲノムグラフ VG関連ファイル形式の用語集

VG の Wiki には VG 関連ファイル形式のページがある。

https://github.com/vgteam/vg/wiki/File-Types

このページが有益と思われたので、ChatGPT に翻訳してもらた。

## リファレンス形式

これらの形式は、ゲノムリファレンスを保存し、ゲノミクスが行える空間を定義します。

| 名前                      | 説明                                                                                                                         | 拡張子                  | ステータス             | 備考                                                                                                                          |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| VG Protobuf               | VG のオリジナルグラフ形式                                                                                                    | `.vg`                   | 条件付きで有用         | ノードやエッジなしでパスのみを保存することも可能。VG v1.40.0 では`vg construct`のデフォルト出力形式。通常は block-GZIP 圧縮。 |
| GBZ                       | サンプルのハプロタイプでトラバースされたグラフを圧縮して保存する形式                                                         | `.gbz`                  | 推奨                   | グラフだけでなく、多数のハプロタイプも保存できるため、追加の GBWT ファイルが不要。内部には GBWT と GBWTGraph を保存。         |
| GFA                       | [Graphical Fragment Assembly](https://gfa-spec.github.io/GFA-spec/GFA1.html): グラフとその埋め込みパスを保存するテキスト形式 | `.gfa`                  | 交換用として推奨       | VG は GFA 1.x を使用し、GFA 2 はサポートされていません。                                                                      |
| HashGraph                 | ハッシュテーブルに基づくグラフ形式                                                                                           | `.hg`, `.vg`            | 推奨                   | VG の多くのサブコマンドのデフォルト出力形式（v1.40.0 以降）。                                                                 |
| PackedGraph               | 簡潔データ構造に基づくグラフ形式                                                                                             | `.pg`, `.vg`            | 大規模グラフ向けに推奨 | HashGraph よりも少ないスペースで保存可能ですが、速度が遅く、複雑です。                                                        |
| Memory-Mapped PackedGraph | ディスクからインクリメンタルに読み取れる PackedGraph のバージョン                                                            | `.mpg`?                 | 実験的                 | 実際に採用されるかは不明。GBZ は、異なるがより重要な問題を解決。                                                              |
| ODGI (vg flavor)          | "Optimized Dynamic Genome/Graph Implementation" 形式                                                                         | `.odgi`                 | 削除済み               | VG は libbdsg で実装されたバージョンをサポートしていましたが、odgi プロジェクトのバージョンとは非互換のため削除。             |
| XG                        | 圧縮された不変のグラフ形式                                                                                                   | `.xg`                   | 条件付きで有用         | PackedGraph がより良いかもしれませんが、多くのツールが"xg ファイル"を参照しています。                                         |
| GBWTGraph                 | GBWT をグラフに変換するための補足情報                                                                                        | `.gg`                   | 非推奨                 | ノードのシーケンスのみを保存。GBWT ファイルと組み合わせて使用。                                                               |
| VG JSON                   | VG Protobuf 形式を JSON で表現したもの                                                                                       | `.json`                 | 条件付きで有用         | `jq`で小規模なグラフを解析したり、libbdsg や libvgio を使用できないツールからグラフをインポートするのに有用。GFA を推奨。     |
| Indexed VG Protobuf       | ソートされた順序で保存され、ランダムアクセス用の補助インデックスファイルが付属した VG Protobuf 形式                          | `.sorted.vg`            | 非推奨                 | あまり人気がなく、Memory-Mapped PackedGraph が代替を意図。                                                                    |
| FASTA                     | DNA シーケンスを保存するための"FASTA"形式                                                                                    | `.fa`, `.fasta`, `.fna` | 推奨                   | リニアリファレンス用に推奨。VG はこの形式を使用可能。                                                                         |

## リードとアラインメント形式

これらの形式は、DNA シーケンシング機器からの短いリードや長いリードを保存し、それらがリファレンスにどのようにフィットするかを記述します。

| 名前          | 説明                                                                                                                                                 | 拡張子          | ステータス       | 備考                                                                                                      |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ---------------- | --------------------------------------------------------------------------------------------------------- |
| GAM Protobuf  | Graph Alignment/Map、VG の主要なアラインメント形式                                                                                                   | `.gam`          | 推奨             |                                                                                                           |
| GAF           | [Graph Alignment Format](https://github.com/lh3/gfatools/blob/master/doc/rGFA.md#the-graph-alignment-format-gaf), テキストベースのアラインメント形式 | `.gaf`          | 交換用として推奨 | リードシーケンスが回復可能であることを保証するために、VG は`cg`CIGAR 文字列タグの代わりに`cs`タグを使用。 |
| Sorted GAM    | グラフノード ID でソートされた GAM ファイル。ランダムアクセスに有用                                                                                  | `.sorted.gam`   | 推奨             |                                                                                                           |
| GAM JSON      | Protobuf GAM 形式の JSON バージョン                                                                                                                  | `.json`         | 条件付きで有用   | `jq`を使ってリードを解析するのに便利。                                                                    |
| GAMP Protobuf | マルチパスアラインメントバージョンの GAM                                                                                                             | `.gamp`         | 推奨             |                                                                                                           |
| GAMP JSON     | GAMP 形式の JSON バージョン                                                                                                                          | `.json`         | 条件付きで有用   |                                                                                                           |
| BAM           | リニアリファレンスに対するアラインメントのバイナリ形式                                                                                               | `.bam`          | 推奨             |                                                                                                           |
| SAM           | BAM のテキストバージョン                                                                                                                             | `.sam`          | 推奨             |                                                                                                           |
| FASTQ         | 各塩基のクオリティスコアを含む FASTA のバージョン。未整列のリードに使用                                                                              | `.fq`, `.fastq` | 推奨             |                                                                                                           |

## サンプル情報形式

これらの形式は、個々の人々や他の生物のゲノムがリファレンスにどのようにフィットするか、またはそれとどのように異なるかを記述します。

| 名前            | 説明                                                                                                                                                    | 拡張子            | ステータス     | 備考                                               |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | -------------- | -------------------------------------------------- |
| GBWT            | サンプルのハプロタイプを保存する[Graph Burrows-Wheeler Transform](https://github.com/jltsiren/gbwt/)ファイル                                            | `.gbwt`           | 条件付きで有用 | GBZ を使用する方が理にかなっている場合もある。     |
| GBZ             | 上記の[Reference Formats](#Reference-Formats)参照                                                                                                       | `.gbz`            | 推奨           |                                                    |
| VCF             | サンプルのジェノタイプやハプロタイプをリニアリファレンスに対して保存する[Variant Call Format](https://samtools.github.io/hts-specs/VCFv4.2.pdf)ファイル | `.vcf`, `.vcf.gz` | 推奨           | VG は VCF 4.3 のすべての機能をサポートしていない。 |
| Pack File       | 訪問されたグラフ要素のカウントとしてリード情報を保存                                                                                                    | `.cx`             | 推奨           |                                                    |
| Pileup Protobuf | 訪問されたグラフ要素のカウントとしてリード情報を保存                                                                                                    | `.pileup`?        | 非推奨         |                                                    |
| Pileup JSON     | Pileup Protobuf 形式の JSON バージョン                                                                                                                  | `.json`           | 非推奨         |                                                    |
| Locus Protobuf  | グラフリファレンスに対するジェノタイプを保存                                                                                                            | `.loci`           | 実験的         |
| Locus JSON      | Locus Protobuf 形式の JSON バージョン                                                                                                                   | `.json`           | 非推奨         |                                                    |

## その他の形式

これらの形式は他の種類の情報を保存するか、他のデータに対する操作を高速化するために事前に計算されたインデックスを保存します。

| 名前                    | 説明                                                                                                                       | 拡張子               | ステータス     | 備考                                                           |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------- | -------------- | -------------------------------------------------------------- |
| Distance Index (v1)     | グラフ内の点間の距離を計算するためのインデックス                                                                           | `.dist`              | 非推奨         | `vg giraffe`で使用。                                           |
| Distance Index (v2)     | グラフ内の点間の距離を計算するためのインデックス                                                                           | `.dist`              | 推奨           |                                                                |
| GCSA                    | [Generalized Compressed Suffix Array](https://github.com/jltsiren/gcsa2), グラフ内の部分文字列を検索するためのインデックス | `.gcsa`              | 推奨           | `vg map`や`vg mpmap`で使用。                                   |
| Minimizer Index         | グラフ内の「minimizer」部分文字列を見つけるために使用されるインデックス                                                    | `.min`               | 推奨           | `vg giraffe`で使用。                                           |
| BED                     | [Browser Extensible Data](https://genome.ucsc.edu/FAQ/FAQformat.html#format1)形式、リージョンを定義するための形式          | `.bed`               | 推奨           |                                                                |
| Dot                     | GraphViz の入力形式                                                                                                        | `.dot`               | 条件付きで有用 | `vg view -d`でエクスポート可能。                               |
| Snarl Protobuf          | グラフを変動サイトに階層的に分解するデータ形式                                                                             | `.snarls`            | 推奨           |                                                                |
| Snarl JSON              | Snarl Protobuf データの JSON 表現                                                                                          | `.json`              | 条件付きで有用 |                                                                |
| SnarlTraversal Protobuf | Snarls を通過する可能なパスのバイナリ表現                                                                                  | `.trav`?             | 条件付きで有用 |                                                                |
| SnarlTraversal JSON     | Snarls を通過する可能なパスのテキスト表現                                                                                  | `.json`              | 条件付きで有用 |                                                                |
| Node ID Translation     | グラフの変更時に行われたノードに対する変更を記録                                                                           | `.trans`             | 条件付きで有用 |                                                                |
| VG Protobuf Index       | ソートされた VG Protobuf ファイルのインデックス                                                                            | `.vgi`               | 実験的         |                                                                |
| GAM Index               | ソートされた GAM Protobuf ファイルのインデックス                                                                           | `.gai`, `.gam.index` | 推奨           | 特定のリージョンのリードを取得するために`vg chunk`で使用可能。 |
| FASTA Index             | FASTA ファイルのインデックス、ランダムアクセス用                                                                           | `.fai`               | 推奨           |                                                                |
| BAM Index               | ソートされた BAM ファイルのインデックス、ランダムアクセス用                                                                | `.bai`               | 推奨           |                                                                |
| Tabix VCF Index         | ソートされた圧縮 VCF ファイルのインデックス、ランダムアクセス用                                                            | `.tbi`               | 推奨           |                                                                |
| Zipcodes                | グラフ上の位置の補足距離情報を保存                                                                                         | '.zipcodes'          | 実験的         |                                                                |