Palmsonntagmorgen

NGSデータを使った解析と、その周辺。

LiftOver: BEDファイルを異なるbuildへ変換

公開されているゲノム配列は現在も更新中であるため、いくつかのバージョン (build) があります。 humanだとhg18, hg19, hg38などがあり、hg38が現時点で最新です。
NGS解析をするうえでは全ての解析データのbuildを統一する必要がありますが、「既存論文のデータの一部を用いたい」というような場合、buildが合わずに困ることがあります。 「自分はhg38で統一しているのに、既存論文のBEDファイルはhg19しか提供されてない」というような場合ですね。

そういった場合には LiftOver というツールを使うと、バージョンに合わせてBEDファイルを再生成してくれます。 詳細は以下のリンクを参照してください。

LiftOver - Genome Analysis Wiki

(話がそれますが、hg38がリリースされて既に久しいのですが、2018年の論文でも普通にhg19が使われています。 おそらくhg19で生成されたデータベース、アノテーションの類があまりに多すぎるため、 hg38にアップデートできない状態なのではないかと思います。ROADMAPもJuicerToolsもhg19ですしね。 既存データベースのデータを多く使う実験を組む際にはbuildをhg19にするのも手かもしれません。)

LiftOver (web)

hg19のBEDファイル(sample.bed)をhg38に変換する例です。
最も簡単なのは、UCSC web browser上で変換する方法です。

Lift Genome Annotations

デフォルトではhg19 -> hg38への変換になっていますので、そのまま使いましょう。 sample.bedをアップロードするか、bedの内容を直接テキストボックスに貼りつけてsubmitします。

submit すると、下にResultsができ、生成されたBEDファイルをダウンロードすることができます。

LiftOver (コマンドライン)

LiftOverはコマンドラインツールでも提供されています。 変換したいファイルが大量にあるような場合はこちらのほうが便利でしょう。

以下のようにしてバイナリファイルをダウンロードしましょう。

wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/liftOver
chmod +x liftOver  # 実行権限の付与

変換にはLiftOverツールそのものの他に、変換用のchainfileが必要になります。

以下のディレクトリから、hg19 -> hg38 用のchainfile hg19ToHg38.over.chain.gz をダウンロードしましょう。

http://hgdownload.cse.ucsc.edu/goldenPath/hg19/liftOver/

ダウンロード後、解凍しておきます。

gunzip hg19ToHg38.over.chain.gz 

liftOver コマンドは、 liftOver <入力ファイル> <chainfile> <出力ファイル> <変換失敗したサイトを格納するファイル>というかたちで実行します。 今回の場合は以下のコマンドで変換完了です。

liftOver sample.bed hg19ToHg38.over.chain output.bed unlifted.bed

unlifted.bedには、何らかの理由で変換できなかったbedサイトが格納されます。変換できない理由は以下を参照してください。

https://genome.sph.umich.edu/wiki/LiftOver#Various_reasons_that_lift_over_could_fail

注意点

LiftOverを使っての変換は同一生物種の異なるbuildが想定されており、異なる生物種への変換は可能ではあるものの推奨はされていません。

また、変換失敗するサイトが発生することからもわかるように、変換は厳密なものではありません。 例えば、hg19でピークコールしたものをhg38に変換したピークリストと、hg38でピークコールしたピークリストはけっこう違います。遺伝子のアノテーションなどもかなり変わっています。
ので、大規模に統合したい場合には面倒でもfastqファイルから(条件を統一して)解析しなおす方がおすすめです。open chromatin regionのリストが欲しい、くらいであれば問題ないとは思います。