Galaxyをわかりたい!(3) Dockerイメージをカスタマイズして使えるPythonやRStudio
前回までの記事 Galaxyをわかりたい!(1) Galaxyのキホン Galaxyをわかりたい!(2) Galaxyの拡張機能紹介 今回は「Interactive Environment」という便利な機能をご紹介します。
Interactive Environmentとは
「Interactive Environment」は、PythonやRなどのプログラミング言語やその他可視化ツールをGalaxyのUI上で利用できる機能です。特にPythonやRは対話形式でコードを書いて実行したり、GalaxyヒストリーのデータをJupyter/RStudioにインポート/エクスポートすることができます。Galaxy上のツールで解析した結果をインタラクティブに分析したりデータを可視化したりといった作業がGalaxyのUI内で完結できます。 このInteractive Environmentの内部では解析環境 (Pythonの場合はJupyter Notebook、Rの場合はRStudio) が実装されたDockerコンテナを起動し、Galaxy UIと連携させて実行・表示できるようにしています。詳しくはGalaxyの公式ドキュメントにも説明があります。(主に管理者向け)- Galaxy Interactive Environments (GIEs): https://docs.galaxyproject.org/en/master/admin/special_topics/interactive_environments.html
- Build an Interactive Environment: https://docs.galaxyproject.org/en/master/dev/interactive_environments.html
Interactive Environmentの起動方法
それではGalaxyのUI上での使用方法をご説明していきます。 まずはヒストリーにあるデータをから起動する場合です。ヒストリー上の「Visualize this data」アイコンをクリックします。 中央パネルに表示されたリストから目的の解析環境を選択します。 Jupyterをクリックしてみます。起動まで少し待たされます。 Jupyterが起動しました。JupyterやRStudioでの基本的な操作
Jupyter Notebook
- Galaxyのヒストリーから42番のデータをインポートする (get)
- 上記でgetできたデータをpython上で処理します
Notebook上で作成したデータをGalaxyのヒストリーに出力する (put)
RStudio
- Galaxyヒストリーから16番のデータをインポートする
上記でインポートしたデータをR上で処理します
RStudio上で作成したデータをGalaxyヒストリーに出力する
Dockerコンテナのカスタマイズ例
起動したJupyterやRStudioからはpipやinstall.packages()が利用可能なのでパッケージを追加することができます。 ちょっとした「あのパッケージ使いたいな」に対応することができます。 一方で、よく使うパッケージを予めインストールしたコンテナを作成し、Galaxyに登録して利用することも可能です。
- コンテナは次のファイルを編集することで登録できます。
- 例えば次のようにDockerfileを書くことで、SeuratをインストールしたRStudioをつくることができます。