yukke::note

technical note

miRBaseのID変換

miRBase

 miRBase (http://www.mirbase.org/)は、microRNAのおそらく世界でもっとも使われているデータベース。さまざまな生物種のmiRNAについて、そのアノテーションや配列などの情報がのっている。

HTSeq

 HTSeqは、DESeqなど発現解析をするさいにraw read countをBAMファイルから計算するときに使われるhtseq-countというコマンドラインツールがあるが、このツールはHTSeqという名前空間をもったpython libraryとして提供されている。pip install htseqでインストールできる。

 SAM/BAM/GFF/GTF/Fasta/FastaqなどBioinformatics解析では、デファクトとなっているフォーマットのパーサーがあるので、非常に便利。Reference overview — HTSeq 0.6.1p2 documentation このURLには、各ファイル形式にたいするparser classがのっているので、これに任意のファイルパスを与えれば、適当にパースされた結果がイテレータとして返るつくりになっている。

 ちなみに、HTSeq.GFF_Readerクラスは、GenomicFeatureイテレータを返す。GenomicFeatureクラスはパースしたGFFの情報がいろいろつめ込まれている。HTSeq.GenomicFeatureiv (interval)というattributeをもち、ここにはstrandやchromosome、startやendなどの情報がはいっている。

miRBaseのID

 miRBaseにはいくつかIDがある。miRNAはその生合成過程において、二本鎖のpre-miRNAが切断されて5pと3pの二つのmature miRNAができる。3pと5pはお互いに相補的な配列を持ち、どちらか/両方がターゲットの遺伝子と塩基配列相補的に対合する。

 miRBaseでは、preはMIというプレフィックスが、matureはMIMATというプレフィックスがそれぞれユニークなIDに割り当てられている。すなわち、おなじpreからできた3pと5pは元は同じなので、共通のpreのIDへ遡ることができる。

mature miRNAからpre-miRNAへ

 これを踏まえて、任意のmature miRNA IDがどのpre-miRNA IDから生まれたのか?を知るためには、以下のようなコードになる。つまり、preとmatureのGTFファイル (なんでもよいが)を準備して、mature GTFに含まれている"Derives_from"属性をキーにして、pre.gtfから該当するカラムを見つける。これにより、もともとの (pre)のIDのほかにゲノム座標などを切り出すことができる。