ゲノムビューワーのIGV(Integrative Genomics Viewer)をAWS上に構築しリモート接続して利用

IGVをAWS上で利用できるか気になったの動作確認してみました。
2021.04.30

ゲノムブラウザーで一般的なIGV(Integrative Genomics Viewer)を使ってみました。といってもローカルで動かすなら当たり前なのでNICE DCVでリモート接続した仮想デスクトップ(Ubuntu)上でIGVが動作するか検証しました。

Icons made by Freepik from www.flaticon.com

リモート接続

NICE DCVでリモート接続可能なLinuxマシンの作成方法はこちらを参考にしてください。

項目
OS Ubuntu 20.04 LTS
AMI ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20210223
InstanceType t3a.xlarge(vCPUs: 4, Memory: 16GB)
EBS 8GB
NICE DCV 2021.0 (r10242)
IGV 2.9.4

仮想セッションで接続したい

上記ブログではコンソールセッションを自動作成しています。仮想セッションだと仮想デスクトップのウィンドウサイズを柔軟に変更できて便利だったため仮想セッションで接続します。

仮想セッション作成。セッション名はvirtualとしています。

$ dcv create-session virtual
$ dcv list-sessions
Session: 'virtual' (owner:ubuntu type:virtual)

コンソールセッションで接続と違いはとくになくパブリックIP、ユーザ名・パスワードで接続できます。

Ubuntuの仮想デスクトップが使えるようになりました。

IGV動作検証

ダウンロード

IGVのダウンロードサイトから実行ファイルをダウンロードするところからはじまります。

ダウンロードしたファイルを展開します。UbuntuユーザのDesktopへ移動しました。

$ cd Downloads/
$ unzip IGV_Linux_2.9.4_WithJava.zip
$ mv IGV_Linux_2.9.4 ~/Desktop/

ディレクトリ内のファイル一覧

$ cd ~/Desktop/IGV_Linux_2.9.4
$ ls
IGV_64.png  igv.args  igv.sh  igv_hidpi.sh  jdk-11  lib  readme.txt

readme.txtを一読するとLinux・macOS向けの実行ファイルはigv.shであることがわかりました。

IGV起動

シェルスクリプトを叩くだけです。

$ ./igv.sh

左側のウィンドウがIGVのアプリケーションウィンドウです。

IGVでみてみる

ヒトゲノムhg19のみが初期登録されています。

動作テストのため他のゲノム配列をダウンロードしてみます。

サンプルで猫ちゃんを選択しました。

2GB弱のダウンロード待ちです。ローカルで実行しているのと今のところ違いはありません。

と思ったらEBSのディスクサイズが8GBしかないのでカツカツになりました。ディスクサイズには気をつけてください。EBS作成後にディスクサイズの拡張は簡単にできます。

# ダウンロード前
> df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.7G  5.0G  2.8G  65% /

# ダウンロード後
> df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.7G  7.3G  418M  95% /

選択し対象を拡大していくと画面下に塩基配列を確認できます。

NICE DCVでリモート接続した仮想デスクトップ上での簡単な動作確認できました。実際に解析後S3バケット保存されているデータはaws s3コマンドで仮想デスクトップのEC2インスタンスへ取得することできます。ローカルまでデータをコピーしなくてもAWS上で可視化まで完結できます。

EC2インスタンスサイズの変更でCPU、メモリも柔軟に選べますし、GPUインスタンスも使うことができます。仮想デスクトップ端末としてNICE DCVを使ったEC2はいかがでしょうか?作成は簡単なのでご興味があればぜひ試してみてください。

おわりに

ゲノム分野の勉強していて初学者には小難しいことばかりです。小難しい文章ばかりではなく手を動かしたかったのでIGVをEC2インスタンスで起動できるか検証してみました。

参考