Galaxy ServerにFTP(sftp)を利用してファイルを登録する
webブラウザのインターフェイスを利用して巨大なファイルを登録する事はあんまりおすすめできない事とされている
これにはブラウザ側の制限(設定の変更が必要)とサーバー側の負荷の問題等が有り、巨大ファイルの転送には他のプロトコルの利用が推奨されている
NGSのデータ等はファイルサイズがどうしても数GBというサイズになりがちなので、Galaxyでも大きなファイルを転送する際にはFTPやSFTP(Secure File Transfer Protocol)の利用が推奨されている
ここでは、SFTPを利用してGalaxyにファイルを登録してみよう
Galaxy Serverの起動
ここでは下記の設定で起動したDocker版のGalaxyを利用する
$ docker run -d --rm \
-p 8080:80 -p 8021:21 -p 8022:22 -p 8800:8800 \
--volumes-from galaxy-store \
--privileged=true \
-e GALAXY_CONFIG_ENABLE_BETA_MULLED_CONTAINERS=True \
-e GALAXY_CONFIG_REQUIRE_LOGIN=True \
-e GALAXY_CONFIG_ALLOW_USER_CREATION=False \
-e ENABLE_TTS_INSTALL=True \
bgruening/galaxy-stable
ファイルの転送
ここでは、OS X上でsftpコマンドを利用してファイルの転送を行う
(GUIで行いたい場合には、ユーザーフレンドリーなGUIを備えたFTP/SFTPクライアントは色々有るので、好みのものを利用して貰えれば良いと思う)
OS Xのバージョンは下記の通り
$ SW_VERS
ProductName: Mac OS X
ProductVersion: 10.14.2
BuildVersion: 18C54
カレントディレクトリに在る2.shuffled.bam
という巨大(と想定した)bamファイルを転送してみよう
sftp -P 8022 -o User=admin@galaxy.org localhost
を実行するとadmin@galaxy.org
のパスワードの入力が促される
適切なパスワードを入力した後でput
転送するファイル名 でファイルを転送する
$ sftp -P 8022 -o User=admin@galaxy.org localhost
admin@galaxy.org@localhost's password:
Connected to localhost.
sftp> put 2.shuffled.bam
Uploading 2.shuffled.bam to /export/ftp/admin@galaxy.org/2.shuffled.bam
2.shuffled.bam 100% 58KB 10.9MB/s 00:00
sftp> ls
2.shuffled.bam
sftp> quit
sftpのオプションについて
オプション | 機能 | この環境での値 | 概要 |
---|---|---|---|
-P | 接続先ポート | 8022 | Dockerの指定でポート8022をGalaxy Serverの22版にしている |
-o | 認証に関わる設定 | User=admin@galaxy.org |
galaxyに登録しているユーザーのID |
転送したファイルの確認
無事転送できたので、ブラウザーでGalaxyに接続してみるが
Historyには何も反映されていない
ちょっと戸惑ってしまうかもしれないが、FTPされたファイルをHistory上で利用できるようにするためには、Get Data
でファイルを取得するという手順が必要になる
ftpしたファイルの取得
それではftpしたファイルを利用できるようにしてみよう
まずは”Tools”のメニュー部分右のアイコンをクリック
表示されたパネルの"Choose ftp File"ボタンをクリック
"FTP files"というパネルが表示され、ファイルがリスト形式で一覧表示されるので、その中から利用するファイル(ここでは2.shuffled.bam)の左端に表示されているチェックボックスをクリックして✔を入力する
どれか一つでもチェックボックスに✔が入ると"Start"ボタンが利用できるようになるので、"Start"をクリック
"Status"表示が100%になったら、"Close"ボタンをクリックしよう
Historyペインにアップロードしたファイルが表示されて利用できるようになる
今回はココまで