2010年度 学術交流支援資金 電子教材作成支援 報告書

研究課題名 細胞シミュレーション環境E-CellのためのGUI開発教材

環境情報学部 内藤 泰宏

背景と目的

学部先端導入科目「バイオシミュレーション」では、本キャンパス先端生命科学研究会(冨田、板谷、金井、曽我、斎藤、内藤)で開発した細胞シミュ レーション環境E-Cellを用いて演習を行っている。
現在配布されているE-Cell Simulation Environment バージョン 3.2(以下 E-Cell3)は、C++で記述されたコアライブラリ(libecs)をPythonで記述されたインターフェイス層でラップしている。SFCの特別教 室のMac OS X環境にも、MacPortsのパッケージとしてインストールされている。
Mac OS Xには、初学者にも比較的学習障壁の低い開発環境Xcodeが付属しており、美しいGUIを備えたソフトウェアを簡単に開発できる。Xcodeの主たる開発言語であるObjective-CとPythonのブリッジにPyObjCがある。
本年度は、PyObjCを用いてXcode上で開発したGUIからE-Cell3を制御するプログラムを開発した。このプログラムを改変し、機能を変更・追加する演習を通して、E-Cell3のアーキテクチャを理解し、効率的に利用するためのGUIを考案する学習機会をつくりたい。

成果と展望

年度中にリリースしたE-Cell3の最新版(バージョン3.2.1)をMacPortsのパッケージとしてインストールするためのPortFileを作成した。特別教室の環境には、湘南藤沢ITCにインストールを依頼し、このバージョンにアップデート済みである。なお、2011年1月にバージョン3.2.2をリリースしたので、2012年度の講義にはその時点での最新版にアップデートする計画である。

Xcode上で、以下の要素からなるE-Cell3の制御プログラムを開発した。

プログラムは、Xcode上でPyObjCを用いて記述した。E-Cell3のソースには一切改変を加えていない。イベントハンドラ等、初学者には難易度 の高い要素については、単純なメソッド等から利用できるように隠蔽した。また、コントローラにはPythonインタプリタ機能を実装し、Pythonによ る制御も可能とするとともに、GUI操作についても、行った操作に相当するPythonスクリプトをバッファに蓄積し、ユーザが行った操作の実態を確認で きるようにした。この機能によって、ユーザはGUIによる操作とスクリプトを用いた操作の間を往還し、E-Cell3を用いたシミュレーションセッション の構成を学ぶことができる。実行画面を下に示す。
これと平行して、iOSからE-Cell3を操作するためのアプリケーションの開発も進めている。iOSを搭載する機器で独立して数値シミュレーションを 実行する意義は少ないので、ネットワークを介してサーバ上のE-Cell3を制御し、シミュレーションの実行、結果のブラウジングを行うためのアプリケー ションとして設計している。
いずれのプログラムも、現時点で初学者レベルの履修者に配布できるレベルには達していないので、2012年度秋学期の開講までにより洗練し、授業に供したい。

実行画面
:開発したE-Cell3 GUIの実行画面