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.GenomicFeature
はiv
(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のほかにゲノム座標などを切り出すことができる。