KGMLReaderがPluginManagerからインストールできるようになりました

KGMLReaderがCytoscapeのPlugin Managerからインストールできるようになりました。
KGMLReaderはKEGG PathwayのXML表現であるKGMLをCytoscapeにimportするプラグインです。


import結果は上記画像のような見栄えになります。
importの方法は

  1. importしたいkgmlをダウンロード後、そのkgmlファイルを指定する
  2. ブラウザでimportしたい画像を表示後、その画像をCytoscapeのウインドウにdrag and dropする

の2通りあります。

importしたいkgmlをダウンロード後、そのkgmlファイルを指定する場合

ftp://ftp.genome.jp/pub/kegg/xml/
からご希望のkgmlをダウンロード後、メニューバーの File -> Import -> Networkからkgmlファイルを指定してください。
この方法の場合、複数のkgmlをバッチimportすることも可能です。

ブラウザでimportしたい画像を表示後その画像をCytoscapeのウインドウにdrag and dropする場合

  1. まずメニューバーのPlugins -> KEGG Browser -> Open KEGG BrowserからブラウザでKEGG PathwayのBRITE hierarchyを開いてください。
  2. BRITE hierarchyからimportしたいパスウェイを選択、クリックします
  3. 次にimportしたいorganismをdrop down menuから指定します
  4. EC番号が色付けされたpathway画像をCytoscapenetwork view以外の部分にdrag and dropします。

<注記>
このエントリを書いていてPluginメニュー直下のKEGG BrowserというのはKGML Readerに変更した方がよいように感じたのでいずれ変わると思います

加えて注意して頂きたいとして
KEGG Pathway画像と異なり各organismでKOがついていないノードに対してはedgeを作らないようにしていること」
があります。

他の機能については追々書いていこうと思います。
バグ、ご要望ございましたら@kozo2宛にreply頂ければ幸いです。

Arduinoをはじめてみた

Python自習室に行って、Arduinoをはじめようキットでいろいろ教わったりした。

これは一番右の緑のLEDだけチカチカさせて左2個はつけっ放しにするもの。
最初は抵抗つけずにやっててそれだとまずいと教えてもらった。
3つの抵抗は1kΩので
http://arduino.cc/en/Tutorial/Blink
と同じExamples->Digital->Blinkを使ってる。
なんで青のケーブルはdigital pin 13につながってる。
モーターとかも貸して貰ったけど若干電源パワー的に厳しいみたいでコンデンサかまさないとExamples->Servo->Sweepをうまく動作し続けさせれなかった。
曲げセンサーを貸して貰ったのでAnalogInputを使ったりもした。

あと@arms22さんにコーヒーの紙カップで作るオーディオアンプキットを売ってもらった。
これはハンダ付けが必要らしいのでこれで自分も漢になれるかもしれない。
また三和電気計器のセンサーが欲しくなった。

Cytoscape retreat 2010 三日最終日

最終日は開発者(といってもTreyもGaryもいます)で今後Ver3に移る上でどうしていくか?ということのコンセンサスを確認してる感じでした。

ver3移行に関してMaven, OSGi, SpringDMの難しさをどうするか

議題は下記に列挙するようなもので

  • OSGiの難しさをplugin-developerに対していかに隠蔽するか
  • APIの違いをどうするか

これの答えとして(UCSDの方々が?)CyShimというクッションになるようなプラグインを用意してくれました。
これを使うと no knowledge of Maven, OSGi, SpringDM necessary でプラグイン書けるよ、ということをMikeがデモしてくれました。限界もあるらしいですけど確かにMaven, OSGi, SpringDMの知識を隠蔽してました。
結論として、「これでいいじゃないか」ということでまとまってました。

けれど僕はある程度Maven, OSGi, SpringDMの開発を経験させてもらっており、これは2系にこだわり続ける人ができないことをできるadvanceだと意識しました。「使っていかないともったいない」と。
なので、そこらへん狙ってCytoscape3でのプラグイン作成を今後やりたいな、と思ってはいます。(それが続けれる居場所見つかってませんけど...)

TreyによるRAVIN(national Resource for Analysis Visualization and Integration of Networks)の今後について

どうもNCRRというところからFundをとったということぽくて、これからのUCSD, UCSF, Toronto, Pasteurの協業体制をどうするかとか、アウトリーチ活動をどうしていくかとか話してたように思います。(英語解釈間違ってたらすみません)

その他雑多な議論

GaryがUIについて議論
  • アトリビュート読み込んでもチェック入れないと表示されないからわかりにくいね
  • ネットワークの操作のUIを一回クリックしてから操作を選ぶUIにしようか
Mikeの2.8の新機能紹介
  • Custom graphics
  • Equations(アトリビュートのとこに数式を書くとExcelみたいに計算してくれます)
  • Improved CyGroups
  • alpha は August 1 に出す
  • release 版は September あたり
  • bugfixもたくさん
CytoscapeWebsiteをもっとよくしよう
  • Website solutions (very user focused) [What do you want to do?]
  • Appstore website みたいなのでpluginを提供しよう(as rich as cytoscape.org) [eclipseのmarket priceみたいのでプラグインを提案]
  • Community QandA site [stack overflowみたいの]

そもそもユーザの使い方ってどんなんだろねみたいなことを話してました。
基本的なことですけどこういう話をTreyとかGaryクラスの人とかと、年齢も高い低い関係なく同じ目線で話しあえるってことが日本ではないような気がします。
こういうのは見習うべきと思います。

締め

長々と書いてきたCytoscape retreatのレポートもこれで終わりにします。
非常に勉強になり、楽しかったです。
支援してくれているGoogle summer of code
KGMLやTogoWSでお世話になっている片山俊明さん、中尾光輝さん
KGMLReaderのきっかけになったBiohackathon2010
そしていつもお世話になっているUCSDの大野圭一朗さんに感謝します。
ありがとうございました。

Cytoscape retreat 2010 二日目(ポスター発表)

二日目の午後にポスター発表があり、僕も出しました。
そのポスターはこんな感じです。

Cytoscape Retreat 2010 Poster

基本的にPlugin Demonstrationsで発表していた人達がそのままPosterを出していた感じなのですがPlugin Demonstrationsで発表していない人のうち興味を引かれたものがひとつあったので紹介します。
(といってもPosterは僕がもってないので見せれませんが)

それはHOPE COLLEGEのMATT DEJONGHと彼のもとの学生さん(undergraduateの人と高校生でした)によるsummer projectで「MODEL SEEDの結果とKGMLReaderのネットワークを統合して表示する」というものでした。

MODEL SEEDは下記のURLから見れます。
http://seed-viewer.theseed.org/seedviewer.cgi?page=ModelView
おそらくこれはSEEDがもつデータすべての種(というかRAST Serverにあるデータすべて)に対してオートマでgenome-scale metabolic modelを作ってくれるというものです。
今まで枯草菌のiBSU1103とかでやってたのを他の種全部ででも計算できるようにした、という認識でいいんじゃないでしょうか。
おそらく彼らはこのmetabolic modelで導き出したreactionをできるだけKEGGと照合をとり、KEGGとマッチさせれるものに関してはKEGGのbeautifulなレイアウトにのせ、それ以外のSEEDのみの情報も付け加えるということをやろうとしていたんだと思います。(CytoscapeへのKEGG Pathwayデータの取り込みにはKGMLReaderを使っていました。)

SEEDは最近Network-based SEED APIというものも発表、論文化しており、自分もSEEDとKEGGのデータ統合には非常に興味があります。彼らのように僕も楽しんで研究したいもんです。

Cytoscape retreat 2010 一日目(自分の発表)

Cytoscape retreatのPlugin Demonstrationsで発表してきたのでまとめます。

自分は3番手でKEGG Pathwayのxml形式であるkgmlをCytoscapeにインポートするプラグインについて発表しました。
やはりKEGGのデータがCytoscapeで使えるというのはユーザにとってかなりうれしいようで結構注目してもらえたように思います。
スライドはこんな感じです。

ustreamで録画して頂いたのはこちらです。(3番手なので30分あたりからじゃないでしょうか)

発表後に受けた質問の内容は下記のようなものだったと思います

  1. expression profileじゃなくてcompoundにmass profileをマップしたいんだけど可能かな?
  2. mass profileをマップする場合、同じpathway中に同じcompoundが違う箇所に出てくるけどどうすればいいかな?

なので

  1. 可能です
  2. Cytoscape中ではKEGGと同じくcompoundノードを異なるノードとして扱っているので、compoundのKEGG entry_idをキーにして同じentry_idの複数のcompoundノードすべてに対し同じmass profileのcustom node graphics URLをアトリビュートとして付けてください

というべきだったのですが、言えず id:keiono さんに助け舟出してもらってるというザマでした。
申し訳ないです...

具体的な使い方はKGMLReaderプロジェクトのページ
http://code.google.com/p/kgmlreader
に書いていきますが、基本的にはkgmlを
ftp://ftp.genome.jp/pub/kegg/xml/kgml/metabolic/
からダウンロードしてもらって(今の所metabolicしかサポートしていません)
Cytoscapeのimportの対象にインポートしたいpathwayのxmlを指定してしてもらうか
ブラウザでインポートしたいKEGGのpathway画像を表示してもらってその画像をCytoscapeのnetwork view以外の部分にdrag and drop してもらえればインポートできます。

またGoogle Chart Tools を使ったcustom node graphicsを使用したい方はCytoscape2.8を自分でbuildする必要があります。
かなり不親切ですけど大体の流れはscreen castにしていますんで、とりあえずはこれで許してください。


global mapのimport結果でTCAのとこが切れたりしてますが、これはxml中にこのエッジ情報がないからです。
(ここらへん自分でパッチをあてるようなことをしないといけないのかな、と考えてたりしてますができればデータ側の方で助けて頂くことはお願いできないでしょうか...とは思っています。)

もっとここいらへん詳しく説明してよ、というご要望があれば@kozo2に対してつぶやいてください。

Cytoscape retreat 2010 二日目

二日目は有名人の方々による講演の日でした。
Leroy Hood, Charles Boone, Mark Newmanらに加え幅広い分野の方々らによる講演がありました。

Leroy Hood

もっとも有名な方かもしれません。話の内容がちょっと自分とはかけはなれた感じがあって詳細は実感できませんでしたが下記に列挙するようなことを話されていました。何かいろいろやってる感じです。

  • ISBの取り組みの概要
  • 9種マウスの時系列brain transcriptomeの解析
  • 新種のプリオン病Phenotypeに関わるDEGの同定
  • brain transcriptome実験のnetwork-dynamics解析
  • organ-specific blood fingerprints(多分血を採ってそれのproteome解析、organismは忘れちゃいました、すみません)
  • Miller's syndrome children の Recombinational Genome Map(多分SNP解析)

Charles Boone

有名な論文「The genetic landscape of a cell」に関する講演でした。僕にとっては最も面白かったです。論文に書かれていないようなことも聞けてよかったです。SGAがどのようなものかそしてgenetic interaction networkについて全くわかっていませんでした(けれども実験系の人でないとなかなか実感しにくいことも結構あるような気がします)

  • 5000 viable mutants (yeast)
  • genetic interactionについて (実験や、synthetic lethal scoring program等について)
  • 膨大なdouble knockout mutant collection(ロボットを使ったプレート管理など)
  • conditional essential genes (two-three-four or more)
論文

The Genetic Landscape of a Cell
Global Mapping of the Yeast Genetic Interaction Network
Systematic Genetic Analysis with Ordered Arrays of Yeast Deletion Mutants
Genetic interactionというのは定義があまり明確じゃないのではないでしょうか。
また解釈も定量化もなかなか難しいのではないでしょうか。
下記の論文をしっかり読みます。
Defining genetic interaction

Mark Newman

事前には期待していたのですが実際にはあまりピンときませんでした。
理由は概念的であまりbiology的ではなかったこと、あと正直言って英語内容をほとんど理解できなかったからです。
(彼は結構ジョークを飛ばしたりする方であり、またかなり早口な方だと思います。)
内容は解釈が間違ってなければ感染症拡大のシミュレーションをネットワーク的観点から行っていたように思います。

論文

Modularity and community structure in networks
を理解できるようになって出直します...

Eric Neuman

彼は会社の人のようで治験関連のデータをRDFで管理しており、そこからのデータ抽出とネットワーク可視化にCytoscapeを選んだということでいろいろ話をされてました。
多分そのCytoscapeプラグイン自体は公開されていないと思います。
ある疾患に関するデータ抽出の仕方とかを挙げてましたがSPARQLをそのまま書いていたりしていたので、もし公開されていたとしても普通のユーザが使えるものじゃないように思います。
おそらく製薬企業系の膨大なデータから必要な情報を抽出するような場合にはSemantic web関連の技術が生きてくるということを話していたのでしょうが如何せん僕がそういったことに無知なため理解できず、ここに再現、説明することができません。申し訳ありません...

Edward Rietman

Marc Vidal関連のnetwork biology研究を浅く列挙していただけのように思い、あまり興味が持てませんでした。(個人の見解です。また失礼な言い方かもしれません...)


正直これ以降の講演はほとんど集中できませんでした。(時差その他で昼後半あたりからかなり眠くて...)
Nevan Kroganは講演キャンセルでした。
尻切れトンボですがお許しください。

Cytoscape retreat 2010 一日目(自分以外)

ミシガン大学で行われているCytoscapeの会議Cytoscape retreat 2010に来ています。
その模様をまとめます。
1日目はプラグインのデモが主でした。私も発表させて頂いたのですがまずは私以外の方の発表についてまとめます。

Analyzing biological networks with CentiScaPe

中心性解析をやってくれるプラグインです。このネットワークのトポロジーと生物学的な情報との関連を見出そうとすることはかなりベタによくやられることでそのトポロジー指標となる様々なCentralityを計算、プロットまでやってくれるプラグインです。

Web service client and server for phosphositeplus database

Cell signaling technologyという会社が運営しているphosphositeplusというリン酸化サイト情報を集めたデータベースのクライアントプラグインの紹介。
自分の発表がこの後で極度に上がっていたため、ネットワークビューの形式や詳しい情報を聞く余裕はありませんでした。プラグイン
http://www.phosphosite.org/staticDownloads.do
からダウンロードできます。
発表者のSashaにドキュメントとかないの?と聞いたのですが「ない」とのことでした。
「まだおかしいところもあるかもしれないからおかしいところがあったらいってほしい」とも言っていました。

CID

Cross-species Interactome DatabaseでCIDらしいです。
これを使ってAgingに関するPathwayのinferができたといったようなことを言っていたようです。
やってること的にはorthoMCLとGOの情報からPathway予測をする、という結構よくやられてそうなことをやっているようでした。
下記のあたりを勉強するといいようです。
http://www.plosone.org/article/info:doi/10.1371/journal.pone.0000988

Metscape

HUMDB, EHMN, KEGGからhumanの化合物情報を集めて作ったデータベース用のクライアントプラグイン
ユーザが希望する化合物のリストを入力するとその化合物が関わる代謝反応がネットワークとして生成されます。このネットワークをパスウェイ名などでフィルタをかけたり、簡単なexpressionのマッピングを行うプラグインです。NCIBIが作っています。

PanGIA

UCSDのIdeker labが作っています。
もうちょっと下記のあたりを勉強してから書かせてください。
http://www.ploscompbiol.org/article/info:doi/10.1371/journal.pcbi.1000065
http://www.plosgenetics.org/article/info:doi/10.1371/journal.pgen.1000782
(追記)
多分PanGIAは他のとレベルが違うと思います。かなり難しい。また自分でbuildしないと.jarを入手できないかもしれません。

Ortho-nets

iRefindexのPPI情報を使って複数のorganismでドメインが共通に存在するものでフィルタをかけてくれるプラグインです。
http://wodaklab.org/orthonets/

OndexView

majorどころの情報を集めてtripleのネットワークを作ってくれるプラグインのようです。
要するに「酵素Aが」(ノード)「catalyzeする」(エッジ)「反応Bを」(ノード)みたいなのの集合ネットワークを作ってからユーザ所望のフィルタをかけて出力する、とそういう感じのようです。
http://www.ondex.org/

Genemania

Bader labの遺伝子機能予測ソフト
http://www.genemania.org/search.jsf
http://www.genemania.org/plugin
Genemaniaのアルゴリズム自体はGenome biologyでpublishされておりそれをCytoscapeで使えるようにしたものです
http://genomebiology.com/2008/9/S1/S4

Enrichment Map

これも下記のを勉強してから書かせてください。
(追記)
GSEAは必ず理解してプラグインとして実装する概要がわかっていないといけないことなので後でかならず詳細書きます。
http://bib.oxfordjournals.org/cgi/content/abstract/9/3/189?etoc

MiMI plugin

NCIBIのデータベースMiMIのクライアントプラグイン

GLay GSearcher

Gangさんが開発したLayout、SearcherプラグインだからGLay, GSearcher.
彼はすでに過去にSoCプロジェクトに選ばれた経験があり、ゴリゴリのプログラマータイプらしいです。
たしかにかなりプログラミング能力がないとできないようなJNI,C++といったあたりを使ってCytoscapeからigraphのレイアウトアルゴリズムを叩いているようです。(ただそのせいでWindowsオンリーらしいです。)
Searcherは正規表現や複数のアトリビュートにまたがるような柔軟な検索というかフィルターを実現してくれるようです。


以上の模様はid:keionoさんがustreamに録画してくださったものを見ることができます。

http://www.ustream.tv/recorded/8362467

http://www.ustream.tv/recorded/8365919