ゲノム解析における並列処理の事例紹介 北陸先端科学技術大学院大学 知識科学研究科 佐藤賢二.

Slides:



Advertisements
Similar presentations
G ゼミ 2010/5/14 渡辺健人. パフォーマンスの測定 CUDA Visual Profiler CUDA の SDK に標準でついているパフォーマン ス測定用のツール 使い方: exe ファイルのパスと作業ディレクトリ指定して実 行するだけ 注意点 : GPU のコード実行後にプログラム終了前に,
Advertisements

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 ソフトウェア部品推薦のための.
日本バイオインフォマティクス学会 バイオインフォマティクス カリキュラム中間報告
シーケンス図の生成のための実行履歴圧縮手法
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
ファイルキャッシュを考慮したディスク監視のオフロード
最新ファイルの提供を保証する代理FTPサーバの開発
セキュアネットワーク符号化構成法に関する研究
植物系統分類学・第13回 分子系統学の基礎と実践
全体ミーティング (4/25) 村田雅之.
分散コンピューティング環境上の Webリンク収集システムの実装
2012年度 総合華頂探求(生命情報科学実習) 華頂女子中学高等学校 2年 医療・理系コース 小倉、北川、木村、久留野、田中、野村、山下
情報爆発A01支援班 マイサーチエンジン開発環境支援グループ 中村聡史, 大島裕明, 田中克己, 喜連川優
報告 (2006/9/6) 高橋 慧.
生命情報学入門 タンパク質立体構造予測演習2011年5月31日
全体ミーティング (6/13) 村田雅之.
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
京都大学 化学研究所 バイオインフォマティクスセンター
メソッド名とその周辺の識別子の 相関ルールに基づくメソッド名変更支援手法
生物統計学・第2回 注目要素を決める まず木を見る、各種グラフ、ウェブツール
生物科学科(高分子機能学) 生体高分子解析学講座(第3) スタッフ 教授 新田勝利 助教授 出村誠 助手 相沢智康
アスペクト指向プログラミングを用いたIDSオフロード
Java ソフトウェア部品検索システム SPARS-J のための リポジトリ自動更新機能の実現
プログラム実行履歴を用いたトランザクションファンクション抽出手法
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
生物統計学・第2回 全体を眺める(1) 各種グラフ、ヒストグラム、分布
ゲノムネットについて 北陸先端科学技術大学院大学 知識科学研究科 佐藤賢二.
奈良女子大集中講義 バイオインフォマティクス (9) 相互作用推定
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
ゲノムネットの利用法に関する講習会 北陸先端科学技術大学院大学 知識科学研究科 佐藤賢二.
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
2017年度 植物バイオサイエンス情報処理演習 第5回 公共データバンクの遺伝子情報
2018年度 植物バイオサイエンス情報処理演習 第5回 公共データバンクの遺伝子情報
東京大学OPAC Plus “言選Web” -関連学術用語による日本語文献情報への 簡易ナビゲーションシステム-
植物系統分類学・第15回 比較ゲノミクスの基礎と実践
WWW上の効率的な ハブ探索法の提案と実装
TIME SIGNAL: 集合知を利用した赤信号点灯時間の取得手法
Internet広域分散協調サーチロボット の研究開発
通信機構合わせた最適化をおこなう並列化ンパイラ
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
実行時情報を用いて通信を最適化するPCクラスタ上の並列化コンパイラ
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
エピソード記憶に訴えるBookmarkless Bookmarkの実現
卒業研究進捗報告 2009年  月   日 研究題目: 学生番号:         氏名:          
数独の解生成と 解に対する番号付け 理学部 情報科学科 渡辺研究室 戸神星也.
不確実データベースからの 負の相関ルールの抽出
植物系統分類学・第14回 分子系統学の基礎と実践
複数ホストにまたがって動作する仮想マシンの障害対策
サポートベクターマシンを用いた タンパク質スレッディングの ためのスコア関数の学習 情報科学科4年 81025G 蓬来祐一郎.
2018年度 植物バイオサイエンス情報処理演習 第12回 情報解析(2) 配列相同性解析・DNA
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
環境モデリングによるモデル検査スクリプトの自動生成
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
2017年度 植物バイオサイエンス情報処理演習 第11回 系統樹
オブジェクトの協調動作を用いた オブジェクト指向プログラム実行履歴分割手法
遺伝的交叉を用いた 並列シミュレーテッドアニーリングによる タンパク質立体構造予測
第4回 メモリ管理 主記憶(メインメモリ)の管理 固定区画方式と可変区画方式 空き領域の管理 スワッピング.
全体ミーティング (5/23) 村田雅之.
Mondriaan Memory Protection の調査
データマイニングアルゴリズム「アプリオリ」と「ID3」の比較
疾患バリアントデータベースMGeNDのご案内と 臨床ゲノム情報統合データベース整備事業へのご協力のお願い
プログラムの一時停止時に 将来の実行情報を提供するデバッガ
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
集中講義(東京大学)「化学システム工学特論第3」 バイオインフォマティクス的手法による化合物の性質予測(1) バイオインフォマティクス概観
分子生物情報学(0) バイオインフォマティクス
Presentation transcript:

ゲノム解析における並列処理の事例紹介 北陸先端科学技術大学院大学 知識科学研究科 佐藤賢二

ゲノムデータ 主に分子生物学の実験の結果得られるデータ。 世界各国で集積・配付されている。 核酸配列情報 GATC… タンパク質配列情報  SER ALA PRO … タンパク質立体構造情報 遺伝病などの疾病に関する情報 文献情報 …

ゲノム情報処理で並列処理が必要な理由 実験技術の進歩によりデータが加速度的に増え続ける 例)キーワード検索やホモロジー検索の並列処理 Combinatorial Computation が要求されることが多い 例)モデル生物の全ゲノム配列が続々と決定された ことにより、ゲノム全体を比較して生物の進化を 調べる Comparative Genomics が活発化 例)相関ルール発見などのデータマイニング手法を 用いてゲノムに関する知識発見を行いたい タンパク質は巨大分子(数万の原子の間の力学) 例)分子動力学(どっちかというとベクトル化?)

指数的に増え続けるゲノムデータ 実験技術の進歩とともに、 データの産出速度が加速

ゲノムデータの例(GenBankのエントリ) LOCUS EBOMAY 157 bp ss-RNA VRL 15-SEP-1990 DEFINITION Ebola virus 3' proximal protein gene, 5' end. ACCESSION M33062 NID g323684 KEYWORDS . SOURCE Ebola virus (strain MAY; Zaire 1976) RNA. ORGANISM Ebola virus Viruses; ssRNA negative-strand viruses; Mononegavirales; Filoviridae; Filovirus. REFERENCE 1 (bases 1 to 157) AUTHORS Kiley,M.P., Wilusz,J., McCormick,J.B. and Keene,J.D. TITLE Conservation of the 3' terminal nucleotide sequences of Ebola and Marburg virus JOURNAL Virology 149, 251-254 (1986) MEDLINE 86124724 FEATURES Location/Qualifiers source 1..157 /organism="Ebola virus" /db_xref="taxon:11268" CDS 53..>157 /note="3'proximal protein" /codon_start=1 /db_xref="PID:g323685" /translation="MRKINNFLSLKFDDRNLKLKLLICNHTVDSEPHTS" BASE COUNT 56 a 22 c 31 g 48 t ORIGIN 1 gggcacacaa aaagaaagaa gaatttttag gatcttttgt gtgcgaataa ctatgaggaa 61 gattaataat ttcctctcat tgaaatttga tgatcggaat ttgaaattga aattgttgat 121 ctgtaatcac accgttgatt cagagccaca cacaagt //

ゲノムデータの量(エントリ数) 核酸配列 (遺伝子) アミノ酸配列 (タンパク質) タンパク質立体構造 アミノ酸配列 アミノ酸配列の Date Database Release #Entries #Residues ------ ------------- -------------------- ---------- ------------ 98/9/22 genbank 108.0 (Aug 98) 2,532,359 1,797,137,713 98/10/27 genbank-upd 108.0+/10-28 (Oct 98) 428,496 439,645,601 98/8/25 embl 55 (Jun 98) 2,131,533 1,434,776,497 98/10/24 embl-upd 55+/10-24 (Oct 98) 646,766 635,494,813 98/8/25 swissprot 36.0 (Jul 98) 74,019 26,840,295 98/10/20 swissprot-upd 36.0+/10-20 (Oct 98) 9,429 3,825,820 98/8/25 pir 57.0 (Jun 98) 109,075 34,838,376 98/9/18 prf 98-09 (Sep 98) 108,435 39,113,650 98/8/25 pdb 84.0 (Apr 98) 7,533 2,644,523 98/9/4 pdb-upd 84.0+/09-04 (Sep 98) 560 208,475 98/8/25 pdbstr 84.0 (Apr 98) 12,420 2,617,704 98/9/4 pdbstr-upd 84.0+/09-04 (Sep 98) 926 204,113 98/8/25 epd 50.0 (Apr 97) 1,308 784,800 98/8/25 transfac 3.4 (May 98) 7,321 98/8/25 prosite 15.0 (Jul 98) 1,352 98/8/25 prosdoc 15.0 (Jul 98) 1,014 98/8/27 blocks 10.0 (Feb 98) 3,845 98/8/25 prints 18.0 (May 98) 865 98/8/25 prodom 34.2 (Nov 97) 53,597 6,756,724 98/8/25 pmd 96-05 (May 96) 7,078 98/9/8 aaindex 3.0 (Sep 98) 500 98/9/9 litdb 24-16 (Aug 20) 298,878 98/10/27 omim MIM10+/10-27 (Oct 98) 10,116 98/10/28 genes 8.0+/10-28 (Oct 98) 76,891 70,793,382 98/10/27 ligand 18.0+/10-26 (Oct 98) 9,291 98/10/28 pathway 8.0+/10-28 (Oct 98) 2,092 98/8/27 brite 0.5 (May 98) 87 98/10/28 linkdb 98-10-28 (Oct 98) 6,269,418 核酸配列 (遺伝子) アミノ酸配列 (タンパク質) タンパク質立体構造 アミノ酸配列 プロモータ配列 転写因子 アミノ酸配列の モチーフ(パタ ーン辞書) 変異タンパク(ミュータント) アミノ酸の各種指標 文献データ(PRFから生成) 遺伝病 遺伝子百科 事典(KEGG) 上記データ全ての参照関係 -upd がついているものは、毎日更新される追加分。その他は定期/不定期に更新。

ゲノムネット(GenomeNet) JAISTのミラーサーバ 京大化研 スパコンラボ(SCL) 東大医科研 ヒトゲノム解析センター(HGC)

京大(SCL)のシステム構成

東大(HGC)のシステム構成 日立SR2201 256+16PE SGI CRAY Origin2000 256PE Sun StarFire 64PE

JAISTのシステム構成 Sun Ultra Enterprise 3000 (4PE, 512MB, 270GB) オートマウントに組み込んでいるので、学内の マシンならどこでもデータを参照できる(Solarisと IRIXでは検索/解析プログラムも実行可能) 最近の悩みは 2GB over のファイルの扱い

ディスク消費量 現在の消費量は約137GB Filesystem kbytes used avail capacity Mounted on /dev/dsk/c1t3d3s7 8316189 6435222 1872651 78% /bio /dev/md/dsk/d30 43384774 14636512 28314415 35% /export/db100 /dev/md/dsk/d31 43384774 24394785 18556142 57% /export/db101 /dev/md/dsk/d32 43384774 20385732 22565195 48% /export/db102 /dev/md/dsk/d33 17409222 13157024 4078106 77% /export/db103 /dev/md/dsk/d34 43384774 33867103 9083824 79% /export/db104 /dev/md/dsk/d35 43384774 30955945 11994982 73% /export/db105 現在の消費量は約137GB

データ更新の様子 JAIST EBI NCBI HGC NIG SCL … DB更新 必要な データ を取得 東京と京都で互いに データ交換 国内外から最新データを 取得(一次ミラーリング) HGC SCL

ゲノムネットのサービス ftpミラーリング(最新のゲノムデータのコピーを持つ) DBGET(キーワード検索/エントリ取得) LinkDB(関連したエントリを辿る) ホモロジーサーチ(類似した配列の検索) 他の配列解析ツール(PSORT etc.) 日本独自のゲノムデータを公開(BSORF, MBGD, etc.) 遺伝子百科事典(KEGG )

ゲノムネットのWWWサーバ http://www.genome.ad.jp/

DBGET

DBGETを使ってGenBankを検索

検索結果のリスト

リストに挙がっているエントリを表示

LinkDB

LinkDB

ホモロジー検索(BLAST)

BLASTの実行結果

ゲノムネットにおける主な並列化 まず、SCLのStarFireでWeb経由のアクセスを受け付ける。 DBGETによるキーワード検索のうち、探索空間が非常に大きい もの(GenBankやEMBLなどの核酸配列データベース)はSCL のOriginに検索要求を投げ、40並列×N でさばく。他はSCLの StarFireでそのまま処理する(こちらは12並列×N)。 ホモロジー検索のうち、FASTAについてはHGCのSR2201に 検索要求を投げ、16~32並列×N でさばく。 BLASTについてはHGCのOriginに投げ、32並列×Nでさばく。 サービスは他にも色々あるが、状況に応じて要求を投げるマシン を適宜変更しながら対応している。

並列化の手法とキャッシュ FASTAとBLASTはマルチスレッドで並列化。Solaris では POSIX の pthread と Sun 独自の thread を選択できるが、パフォーマンス上の 違いはあまり見られない。 HGCのSR2201でさばいている並列化FASTAは特注プログラム。 DBGETはコンパイル時の設定によりマルチプロセスで並列化。 StarFire(Solaris)では検索に使ったファイルがメモリにキャッシュされ るので、DBGETやFASTAやBLASTが2回目からは速くなる。キャッ シュされるファイルのサイズは大きいもので500MB以上。多分Origin (IRIX)も同様の機構で速くなる。SR2201(HI-UX/MPP)は少し違う 機構だが、やはり主記憶常駐化により2回目からFASTAが速くなる。

JAIST内の各種のマシンで DBGET(8プロセス版)を使ってみる db1(E3000) db2(E3000) sf1(StarFire) ks18e0o00(Octane) 4PE 4PE 32PE 2PE メモリ 512MB/10MB 512MB/401MB 4GB/1.76GB 128MB/- の状態 1回目 35.3 sec 33.8 sec 60.6 sec 26.45 sec の検索 メモリ 512MB/10MB 512MB/92MB 4GB/1.46GB 128MB/- 2~11 24.95 sec(ave.) 5.23 sec(ave.) 6.36 sec(ave.) 27.297 sec(ave.) 回目の 検索 メモリ 512MB/10MB 512MB/91MB 4GB/1.46GB 128MB/-

傾向と対策 DGBETとFASTAとBLASTを同じマシンでサービスする場合、 とにかくメモリが数GB空いてないと遅くて駄目。できればデータ ベース更新用のマシンと検索用のマシンを分けた方が良い。 → JAISTのサーバ(db1)では近々4GBに増設予定 核酸配列が検索対象の場合、32並列前後で台数効果が下が り始めるので、多数の検索要求をさばく場合は16並列×Nとか 32並列×Nくらいの方が、多分全体のスループットが上がる。 アミノ酸配列が検索対象の場合、核酸に比べると探索空間が 8分の1くらいなので、空きメモリも少なくてよい。当然計算量も 少ないので、4並列×Nくらいが適当。

データマイニング(1) ー 相関ルール発見 ー ・IBMのAgrawalらが1993年に提案。商品の販売記録を分 析し、商品間の相関関係を把握するために使用された。 ・1回の商品購入で一緒に買われる頻度が高い商品集  合を検索し、ルール化する。 ・ルールの価値はサポートおよび確信度という2つの  パラメータで定量的に評価される。 ・サポートがある値以下の組合せは計算途中で捨てる。  同様に確信度がある値以下の相関ルールは生成しない。 2段階処理

コンビニエンスストアの例 パン, バター => ミルク アイテム 顧客の購買 データ サポート= 2 確信度= 66.6% 相関ルール発見 (Apriori) 最小サポート= 1 最小確信度= 60% パン, バター => ミルク サポート= 2 確信度= 66.6%

相関ルール発見は計算が爆発しやすい 同時に買われる頻度が高い商品集合を検索する段階(第1ステップ)は 基本的に商品集合の全てのサブセットについて頻度計算を行うので、 Combinatorialな計算になる。無駄な計算を省いたAprioriアルゴリズム でもかなりの計算量になる。 第2ステップでルール化する部分では、しきい値が低いと大量のルール が生じるため、これも時間がかかる。 東大の喜連川研究室では、第1ステップの頻度計算を各候補サブセット をPEに割り付けて並列計算を行うHPAアルゴリズムを開発している。 100ノードのPCクラスタで測定した結果、かなりリニアに台数効果が出て いる(詳しくは情報処理学会誌11月号を参照)。

データマイニング(2) ー 論理積ルール ー 東大医科研の森下・中谷らは、多因子性遺伝子疾患の病因遺伝子を 特定する問題に対し、Quinlanが決定木生成でデータ分割のために 用いたエントロピー最小化に基づいて、病因遺伝子集合を論理積ルー ル(相関ルール発見における商品集合検索を連続値に拡張したような もの)として発見する並列アルゴリズムを開発した(詳しくは日本ソフト ウェア科学会第15回大会併設チュートリアル「データマイニングの実装 と応用」ISSN 1341-8718 参照)。 このアルゴリズムでは最初に固定数のスレッドを生成し、探索木の兄弟 ノードを複数のスレッドで並列計算し、計算の結果できた子ノードをキュ ーイングすることを繰り返して計算を行うことで速度を上げている(だが 問題自体はNP困難)。StarFireでは毎回同じ実行時間で殆どリニアに 台数効果が出るが、Originではそううまくいかないらしい(DSMとSMPの 違い?)。 他にも決定木/回帰木の並列生成をやはりマルチスレッドで行っている。

知識発見を統合したシステム WebPACADE タンパク質の立体構造検索・解析・および 知識発見を統合したシステム WebPACADE 類似部分構造検索機能(PACADE) http://pacade.genome.ad.jp/pacade.html 可視化機能(PDB highlight) http://pacade.genome.ad.jp/pdb_highlight.html 簡易データマイニング機能 http://pacade.genome.ad.jp/cgi-bin/mining_form.pl これらのサービスは相互呼び出しを行っており ゲノムネット上でサービスされている(可視化 機能を提供する PDB highlight から入れる)

システムの構成と動作 WebPACADE PACADE PDB highlight structural sim. search data mining module structural sim. search assoc. rule discovery visualization links to foreign services links to foreign services input forms result of sim. search visual window result of mining user

WebPACADE がサポートするデータ PACADE PDB rel.80 から選んだ4842エントリのタンパク質の 二次構造に関するジオメトリ情報をファクトとして 格納している(約170万ファクト) PDB highlight ゲノムネットでの最新PDB(rel.84)を全てサポート (7688エントリ) 簡易データマイニング ゲノムネットが提供する LinkDB(異なるゲノムデータ ベースのエントリ間の参照関係)を用いて相関ルー ル発見を行うモジュール(LinkDBが提供する参照関 係の総数は約660万件)

PACADE による類似部分構造検索 可視化で使う プラグイン (フリーウェア) 類似元を 可視化 類似部分構 造を可視化 簡易データ マイニング

PDB highlight による可視化 他のデータベースの参照 一次構造 他の解析サービスの呼び出し 立体構造 プラグインを操作するこ とにより拡大縮小/回転 /平行移動などが可能 二次構造

簡易データマイニングの模様 対象のゲノムデータ ベースを指定 PDBのエントリ集合 簡易データ マイニング 見つかった 相関ルール

WebPACADEの課題=並列化 PACADEの類似構造検索自体が遅い(30秒~5分程度) →CoralからPVMが使えるらしいので試してみる予定 構造上の類似性に基づいたタンパク質の網羅的な分類は 重要なテーマだが、PACADEでこれをやると大変 →HGCのStarFireを半分(32PE)使って all-to-all の検索 を実行した時は3週間かかった(出てきた類似関係の 総数は約1300万) データマイニングモジュールはHPAのような並列化が必要 →現在は探索範囲とターゲットをユーザに指定させることで 爆発を回避している状態

おわりに ゲノム解析は「データがどんどん増えるので計算機資源が いくらあってもすぐに足りなくなってしまう応用領域」の典型 (Webのサーチエンジンに近いものがある) →並列化は必須の技術 キーワード検索やホモロジー検索など、日常的に利用する ものについては割合単純なデータ並列が有効(キャッシュも) データマイニングなど、Advanced な解析を行いたい場合は 組み合わせ爆発に陥るケースが多いので、アルゴリズムの 工夫が重要