研究ブログ

2012年6月の記事一覧

Multiple Tracks on GenomeDiagram of Byopython

Byopythonを使って配列(文字列)から低頻度だけど意外で興味深いパタンを発見してます。この時、見つかったパタンを評価するのに、数値での評価とあわせて、配列上に存在する生物的な機能(遺伝子とかRNAとか)と重ねて表示させています。これにはGenomeDiagramを使っています。
この例が、下の絵です。一番目立つ赤をパタンにしてて、青系統をRNAとしています。青いRNAの領域に赤のパタンがうまく重なっているののですが、赤が青をほとんど覆っているので、単にパタンだけあるのか、重なってて下の機能(青)が見えないのかがよくわかりません。もともと数Mbp程度のものを表示させているので、色を透明にしても効果なしです。

いままでは、機能だけを表示したものと、パタンと機能を表示したものを別に作ってたのですが、それぞれを見比べる必要があるのでいまいちでしたが、今回、トラックを複数表示する方法を調べたので、備忘録を兼ねて書いておきます。つまり、2本トラックを用意して、片方に見つけたパタンを、もう片方に生物学的な機能を表示させることで、同時に見ることができます。
チュートリアルやマニュアルには、シングルトラックの例しかなくて、「複数もできるよ」としか書いてなかったので、いままでやってなかったけど、やってみると見やすくて(下図)、早くやっとけばと。また、分かってみると非常の簡単でもあります。

まったく同じ図ではないのですが、見やくなったのは分かってもらえるでしょう。

さて、作り方は以下のような感じです。
# how to draw maltiple tracks using GenomeDiagram
# create Diagram
gd_diagram = GenomeDiagram.Diagram("AAA")

# track and set for features
gd_track_for_features = gd_diagram.new_track(1, name="XYZ")
gd_feature_set = gd_track_for_features.new_set()

# track and set for your patterns
gd_track_for_pattern = gd_diagram.new_track(2, name="ABC")
gd_pattern_set = gd_track_for_pattern.new_set()

# then, add features or patterns to corresponding sets

# in case of a feature, you already have some feature object, and add like this
gd_feature_set.add_feature(feature....)

# in case of a pattern, you have to create a feature object first.
# here, "pos" stands for the begining position of this pattern
pat_feature = SeqFeature(FeatureLocation(pos, pos+len(xy)), strand=s)
gd_pattern_set.add_feature(pat_feature....)

# finally, draw
gd_diagram.draw(format="linear", ...)
0