2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

リファレンスゲノム間の座標の変換に必要になるChain形式

Posted at

はじめに

リファレンスゲノム間の変換をするときには、Chain形式のファイルが必要になることがあります。この記事ではこのChain形式を理解します。

参考文献:UCSCの公式のリファレンス

Chain ファイルの一例

    chain 4900 chrY 58368225 + 25985403 25985638 chr5 151006098 - 43257292 43257528 1
     9       1       0
     10      0       5
     61      4       0
     16      0       4
     42      3       0
     16      0       8
     14      1       0
     3       7       0
     48

     chain 4900 chrY 58368225 + 25985406 25985566 chr5 151006098 - 43549808 43549970 2
     16      0       2
     60      4       0
     10      0       4
     70

まず最初にヘッダー列があり、

    chain 4900 chrY 58368225 + 25985403 25985638 chr5 151006098 - 43257292 43257528 1

それから、3つ組の数字が並んで

     9       1       0
     10      0       5
     61      4       0
     16      0       4
     42      3       0
     16      0       8
     14      1       0
     3       7       0

最後は

     48

数字一つで終わっているのが見えると思います。前者はヘッダー行で、後者はアラインメントデータ行です。このヘッダー行とアラインメントデータ行のセットが繰り返されてChain形式のファイルは構成されています。

ヘッダー行

tはtarget(変換先), qはquery(問い合わせ元)を意味しています。

具体例:

chain 4900 chrY 58368225 + 25985403 25985638 chr5 151006098 - 43257292 43257528 1
chain score tName tSize tStrand tStart tEnd qName qSize qStrand qStart qEnd id 
キーワード 説明 配列 備考
chain ヘッダー行であることを示す
score chain score
tName 染色体 参照/ターゲット配列
tSize 染色体のサイズ 参照/ターゲット配列
tStrand ストランド 参照/ターゲット配列 + または -
tStart アラインメントの開始位置 参照/ターゲット配列 0-base の半開区間
tEnd アラインメントの終了位置 参照/ターゲット配列 0-base の半開区間
qName 染色体 クエリ配列
qSize 染色体のサイズ クエリ配列
qStrand ストランド クエリ配列 + または -
qStart アラインメントの開始位置 クエリ配列 0-base の半開区間
qEnd アラインメントの終了位置 クエリ配列 0-base の半開区間
id chain ID

注意が必要なのは、アラインメントの開始位置と終了位置は、0-base の半開区間 として表現されていることです。
バイオインフォマティックスの世界では、1-base と 0-base が混じり合って非常にややこしいですが、Chain形式は、0-base なので間違えないように注意する必要がありますね。

またChainファイルによっては、最後の chain ID とは名ばかりで、全部に 0 が入っていたりするケースもあるようです。

アラインメントデータの行

     9       1       0
     10      0       5
     61      4       0
     16      0       4
     42      3       0
     16      0       8
     14      1       0
     3       7       0
     48
size dt dq
キーワード 説明 備考
size ギャップのないアライメントのサイズ
dt このブロックの末尾と次のブロックの先頭の差(参照/ターゲット配列)
dq このブロックの末尾と次のブロックの先頭の差(クエリ配列)

中国のZhongxu blogというサイトのliftover,crossmap进行坐标转换时用到的chain文件介绍というページにわかりやすい図が掲載されていたので転載します。

2018-02-11-liftover-chain-description.png

このようにして、ギャップのない配列の数、ターゲット配列のギャップの数、クエリ配列のギャップの数が、順番に記載されています。

最後のブロックには「次のブロック」というものがないので、一行に数字が1つだけになるようです。

まとめ

Chainがどのようなファイルフォーマットなのか概説しました。
非常に簡単なフォーマットなので、その気になれば、自分でLiftOverを行うスクリプトを書くこともできるような気がします。とはいえ、バイオインフォの世界では細かい例外が多いので、既存の信用できるツールを使って座標を変換するのが良いと思います。

この記事は以上です。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?