リファレンスゲノム間で座標を変更したい
hg18 (NCBI36) <=> hg19 (GRCh37) でゲノム座標を変換したいということが、しばしばあると思います。このようなとき、LiftOverというツールがよく使われます。しかし、CrossMap というツールもあって、非常に便利であることを知りました。このツールについて、日本語の記事がほとんどないようなので、ググラビリティの改善のためにQiita記事にします。
CrossMap
概要
CrossMap is a program for genome coordinates conversion between different assemblies (such as hg18 (NCBI36) <=> hg19 (GRCh37)). It supports commonly used file formats including BAM, CRAM, SAM, Wiggle, BigWig, BED, GFF, GTF, MAF VCF, and gVCF.
CrossMapは、異なるアセンブリ間(hg18 (NCBI36) <=> hg19 (GRCh37)など)のゲノム座標変換を行うプログラムです。BAM, CRAM, SAM, Wiggle, BigWig, BED, GFF, GTF, MAF VCF, gVCF などの一般的なファイル形式をサポートしています。
↓Github もあるが ↑公式サイトの方が情報量が多い
インストール
pipを使ってインストール・アップグレードできます。
pip3 install CrossMap
pip3 install CrossMap --upgrade
Python2の場合:
pip2 install CrossMap
pip2 install CrossMap --upgrade
使い方
サブコマンドとして、変更したいファイルのファイル形式を指定します。
bed
, bam
, gff
, wig
, bigwig
, vcf
, gvcf
, maf
, region
, viewchain
例:bedファイルの変換
CrossMap.py bed hg18ToHg19.over.chain.gz test.hg18.bed3 test.hg19.bed3
VCFファイルの変換では、変換先のリファレンスゲノムが第三引数で必要になるなど、サブコマンドによって微妙に引数が異なるところがあるので、実行する前に自分が変換したいファイルのためのサブコマンドの使い方を確認しておきましょう。
CrossMap.py vcf --help
入力ファイル
次のようなファイルが必要になります。
ファイル | 説明 |
---|---|
chain | ゲノムの座標変換に必要になるChainフォーマットのファイルです。事前にダウンロードして用意します。 |
input | 変換するファイルの名前 |
ref.fa | ターゲットのリファレンスゲノム(VCF, GVCF, MAFの変換で必要) |
build_name | ターゲットアセンブリの名前(例 "GRCh38" )(MAFで必要) |
output | 出力するファイルの名前(省略すると標準出力) |
viewchainサブコマンド
Chainファイルをわかりやすく表示することができます。
CrossMap.py viewchain hoge.chain
評
このツールの素晴らしいところは、2014年に論文化されているにもかかわらず、その後も継続的なメンテナンスが行われていることです。直近では2022年7月12 日リリース バージョン 0.6.4 が出ており、メンテナンスが継続されていることです。リファレンスではLiftOverと同じ結果が出ることも検証されているとかかれています。非常に使いやすく、かつ信頼できるツールではないかと思います。