cytoscape seminar

97
Cytoscape 生物学的ネットワーク解析と可視化のためのオープンソースプラットフォーム UC, San Diego Bioengineering Dept. Trey Ideker Lab Research Associate 大野 圭一朗 C

Upload: kozo-nishida

Post on 31-May-2015

1.822 views

Category:

Technology


0 download

DESCRIPTION

講演の模様はgoogle videoにてご覧になれます。http://video.google.com/videoplay?docid=3879022490303771573 2008年9月8日に奈良先端科学技術大学院大学GCOEセミナーにて行われた大野圭一朗氏のセミナー講演のスライドです。

TRANSCRIPT

Page 1: Cytoscape seminar

Cytoscape生物学的ネットワーク解析と可視化のためのオープンソースプラットフォーム

UC, San Diego Bioengineering Dept. Trey Ideker LabResearch Associate 大野 圭一朗

C

Page 2: Cytoscape seminar

自己紹介• 大野 圭一朗• UC, San DiegoBioengineeringTrey Ideker Lab

• Research Associate

‣ とは言っても、基本的にはソフトウェア開発者

• Cytoscapeコアディベロッパー

Page 3: Cytoscape seminar

概要•Cytoscapeとは?•基本的な機能の紹介•プラグインによる拡張•次期バージョンへのロードマップ

Page 4: Cytoscape seminar

Cytoscapeとは?

Page 5: Cytoscape seminar

ネットワークデータ解析と可視化のためのオープンソースプラットフォーム

•データ統合•可視化•解析

Page 6: Cytoscape seminar

開発の動機

•ゲノムビューアなど、シーケンスやタンパク質の構造等の可視化技術は既に充実している

•しかし、タンパク質間相互作用、パスウェイ等を扱うソフトウェアには未だ定番がない

➡オープンな環境で皆が使えるソフトウェアを開発しよう

Page 7: Cytoscape seminar

簡単な歴史 1• Institute for Systems BiologyのPaul Shannon博士が中心となり最初のバージョンがリリース

Page 8: Cytoscape seminar

簡単な歴史 2

•その後UCSD等の研究機関が開発に参加•現在は非営利団体のCytoscapeコンソーシアムがコア部分を開発。

•多数の研究機関がその機能を使って独自のプラグイン(後述)を開発中

Page 9: Cytoscape seminar

Cytoscape Consortium

Page 10: Cytoscape seminar

研究開発資金の流れ

Page 11: Cytoscape seminar

コンソーシアムのメンバー資格

•最低一人のフルタイム開発者を雇用•もしくはそれに匹敵する費用を負担➡日本からの参加もお待ちしています

(研究資金の配分の仕組みの違いから難しいかもしれませんが・・・)

Page 12: Cytoscape seminar

基本的な機能

Page 13: Cytoscape seminar

1. データ統合

Page 14: Cytoscape seminar

データ統合

•ネットワークと各種アノテーション、実験データ等を統合

•公共データベースのウェブサービスクライアントとして機能

•標準的なファイルフォーマットをサポート

Page 15: Cytoscape seminar

データ構造

•ネットワーク(グラフ)•頂点(ノード)•辺(エッジ)•属性値(アトリビュート)

Page 16: Cytoscape seminar

属性値とネットワーク

Page 17: Cytoscape seminar

データ統合

→ネットワークと属性値の結合

Page 18: Cytoscape seminar

データ統合の重要性 (1) 

•生物学的ネットワークのデータベースが徐々に充実

• STRING• HPRD• IntAct• BioGRID

Page 19: Cytoscape seminar

データ統合の重要性 (2) 

• ネットワークのみの情報では解析に限界がある

• 機能情報等との統合の必要性• 遺伝子の機能アノテーション• 三次元構造へのリンク• 既知のパスウェイへのマッピング

Page 20: Cytoscape seminar

データ統合の重要性 (3) 

•しかし、その公共データベースの情報を、ユーザー自身がその都度加工して統合するのは面倒

➡標準ファイルフォーマットのサポート

➡Webサービスの活用

Page 21: Cytoscape seminar

Cytoscapeで扱う生物学的なデータ

•ネットワーク• Protein-Protein Interactions

• Protein-DNA Interactions

• Pathway

• 属性• 機能アノテーション

• 発現データ

• 元データのページへのリンク

• エッジの重み

Page 22: Cytoscape seminar

サポートされているフォーマット

• SIF• GML• XGMML• GPML (GenMAPP

Pathway XML)

• BioPAX

• SBML• PSI-MI1.0/2.5• Excelスプレッドシート

•テキスト形式(タブ区切り等)

Page 23: Cytoscape seminar

BioPAXに対する自動的なVisual Styleの適用

Page 24: Cytoscape seminar

サポートされているWebサービス

•BioMart• NCBI Entrez Gene• PathwayCommons• IntAct• KEGG (WikiPathwaysを通じて)

• Reactome• PICR

Page 25: Cytoscape seminar

サポートを予定しているWebサービス

• インタラクション系➡STRING

➡DAS (Interaction)

• マイクロアレイ➡ArrayExpress

➡GEO

• その他➡EBIの各種Webサービス

➡Bio2RDF

Page 26: Cytoscape seminar

Web Service Client Manager

• Webサービスクライアントをまとめて管理

• 一つのウインドウから様々なサービスへアクセス可能

Page 27: Cytoscape seminar

Advanced Network Merge

Page 28: Cytoscape seminar

データ統合機能のまとめ

•ローカル/リモートの区別が無いデータのインポート

•多様な標準的データフォーマットのサポート

•公共Webサービスのクライアント•ユーザーの手間の最小化

Page 29: Cytoscape seminar

2. 可視化

Page 30: Cytoscape seminar

可視化•ノードを見やすく配置• ネットワークデータを属性値に基づいて可視化

• 各種画像データとしてそれを出力

• PDF/JPG/PNG/PS/SVG

Page 31: Cytoscape seminar

レイアウト

•直感的に理解しやすい形へネットワークのノードを自動配置

•手動による微調整もサポート

Page 32: Cytoscape seminar

初期状態

Page 33: Cytoscape seminar

Organic

Page 34: Cytoscape seminar

Circular

Page 35: Cytoscape seminar

Tree

Page 36: Cytoscape seminar

VizMapper

•属性値を視覚効果へマッピングする機能➡ノードの色、形、大きさ等

Page 37: Cytoscape seminar

Visual Style無し

Page 38: Cytoscape seminar

Visual Style適用後

Page 39: Cytoscape seminar

よくある可視化の例

Page 40: Cytoscape seminar

アレイの発現データをノードの色へ

Page 41: Cytoscape seminar

大規模なネットワークにモジュールを表示

Page 42: Cytoscape seminar

3. 解析

Page 43: Cytoscape seminar

解析•各種統計値の取得• 属性値によるフィルタリング• 最短経路の表示• トポロジ/属性値による機能モジュールの発見

Page 44: Cytoscape seminar

解析機能

•コア部分には最低限の解析機能のみを含む•フィルタリング•検索•解析はプラグインにて行う

Page 45: Cytoscape seminar

プラグインによる拡張

Page 46: Cytoscape seminar

プラグインとは?

•コア部分の機能を使い、ユーザーが独自の機能を作成

• Javaにより実装• 次期バージョンではスクリプト言語もサポート

Page 47: Cytoscape seminar

プラグインの種類•世界各地の大学や研究機関が開発•公開されているものだけで数十種類•様々な用途向けにカスタマイズ• ネットワーク/属性値インポート

• 解析

• 可視化機能の拡張

Page 48: Cytoscape seminar
Page 49: Cytoscape seminar
Page 50: Cytoscape seminar

プラグインの公開•基本的に誰でも公式サイトで公開可能• 公開されれば、ユーザーはプラグインマネージャから簡単にインストールできる

•公式サイトのプラグインページから投稿

Page 51: Cytoscape seminar

2.6向けプラグインの紹介

Page 52: Cytoscape seminar

データインポート

Page 53: Cytoscape seminar

BioMart Client

Page 54: Cytoscape seminar

PathwayCommons Client

Page 55: Cytoscape seminar

解析

Page 56: Cytoscape seminar

BiNGO

Page 57: Cytoscape seminar

jActiveModules

Page 58: Cytoscape seminar

MCODE

Page 59: Cytoscape seminar

可視化機能の拡張

Page 60: Cytoscape seminar

StructureViz

Page 61: Cytoscape seminar

Cerebral (Cell Region-Based Rendering And Layout)

Page 62: Cytoscape seminar

CyOog

Page 63: Cytoscape seminar

Bubble Router

Page 64: Cytoscape seminar

その他

Page 65: Cytoscape seminar

RDFScape

Page 66: Cytoscape seminar

RubyScriptingEngine

Page 67: Cytoscape seminar

Gaggle

Page 68: Cytoscape seminar

ここまでのまとめ

•プラグインの組み合わせでかなりのデータ統合や可視化が可能

•プログラミングの出来る人は、複雑ネットワーク可視化のツールボックスとして利用できる

Page 69: Cytoscape seminar

現在の最新バージョン: 2.6.1

Page 70: Cytoscape seminar

現在の機能のデモ

Page 71: Cytoscape seminar

C 3

Page 72: Cytoscape seminar

現在の問題点•未整理なレガシーコード- ViewとModelがきれいに分離していない

- 理解し辛いAPI• プラグインの衝突• Javaであるが故のプラグイン作成の敷居の高さ

Page 73: Cytoscape seminar

Cytoscape 3•OSGiベース•データモデルの変更•大規模なリファクタリング• Spring Frameworkの採用•動的言語のサポート•サーバーサイドでの活用

Page 74: Cytoscape seminar

Cytoscape 3

•来年初頭ベータリリース予定•暫くは2.6.xと3.0が共存

Page 75: Cytoscape seminar

モジュール化

Page 76: Cytoscape seminar

モジュール化によるメリット•再利用可能性のアップ•標準的なテクノロジの利用による疎結合の実現

➡他のプロジェクトとの連携

➡Taverna

➡BioJava

➡デスクトップ以外への展開

Page 77: Cytoscape seminar

モジュール化に用いられるテクノロジ

•OSGi• Spring Framework• Spring Dynamic Modules• インターフェイス指向の設計

Page 78: Cytoscape seminar

OSGiとは?

•動的なモジュールのロード•ライブラリやプラグインの衝突の回避• Eclipseでの実績• Java 7でのサポート

Page 79: Cytoscape seminar

Cytoscape 2.x

Hardware

Operating System

Java Virtual Machine

Cytoscape Application

Plugin 1 Plugin 2 Plugin 3

Page 80: Cytoscape seminar

Cytoscape 2.x

User Interface

Data Model(Networks & Attributes)

Views and Other Components

Page 81: Cytoscape seminar

C3 ArchitectureModel

Command

Presentation

I/O

View Model

Application

OSGi

Page 82: Cytoscape seminar

デスクトップ以外への展開 (1)

• 現状では、Cytoscapeは一デスクトップアプリケーション

• モジュール化により部品単位での利用が可能

Page 83: Cytoscape seminar

デスクトップ以外への展開 (2)

• サーバーサイドでの利用• データモデルと画像出力部分を利用し、オンザフライでネットワーク図をブラウザに返す

• コマンドラインアプリ• バッチ処理 - 数百のネットワークと属性ファイルを読み込み、一連の解析を行い、結果をXHTMLファイルとして出力

Page 84: Cytoscape seminar

動的言語のサポート

Page 85: Cytoscape seminar

2.6でのサポート

•実験的• RubyとJavaScript

Page 86: Cytoscape seminar

Cytoscape 3でのサポート

•コア部分でのスクリプト言語サポート• Ruby, JavaScript, Groovy, Python•スクリプト言語によるプラグイン実装

Page 87: Cytoscape seminar

JVM Scripting Languages

• JRuby (Ruby)

• Jython (Python)

• Rhino (JavaScript)

• BeanShell

• Groovy

• and a lot more languages

Page 88: Cytoscape seminar

一般的なスクリプト言語

Hardware

Operating System

Scripting Language Interpreter (Written in C/C++)

Scripts

Page 89: Cytoscape seminar

JVM上でのスクリプト言語

Hardware

Operating System

Scripting Language Interpreter (Written in Java)

Scripts

Java Virtual Machine

Page 90: Cytoscape seminar

OSGi + Spring Framework + Scripting Engines

User Scripts

Page 91: Cytoscape seminar

現在利用可能な言語

Page 92: Cytoscape seminar

解析手法やワークフローを実装する

プラットフォームとして

•モジュール化によるメンテナンス性の向上•プラグイン開発者が理解しやすいすっきりしたAPI

Page 93: Cytoscape seminar

更なる情報

Page 94: Cytoscape seminar

具体的な利用法解説•Nature Protocolsにチュートリアル的なペーパーを昨年発表

Page 95: Cytoscape seminar

公式サイトwww.cytoscape.org

Page 96: Cytoscape seminar

日本語サイト

http://cytoscape.seesaa.net/

http://cydoc.sourceforge.jp/

Page 97: Cytoscape seminar

Thank You!