JBrowseのインストール、三度目の正直
12 October 2020 追記
mecobalamin.hatenablog.com
JBrowseをdockerで動くようにした
最低限必要なコマンドやライブラリをインストールした
以下の記事を参照する
mecobalamin.hatenablog.com
dockerが使えていればubuntuのコンテナに
JBrowseをインストールするのが
楽かもしれないと個人的には思った
追記ここまで
JBrowseのインストールをやりなおした。
変更点はインストール先を変えたこと、
サーバーをpythonのhttp.serverから
wslのapache2に変更したことの2点。
というのも作ったbamファイルが表示できなくて
いろいろ調べていたら公式の説明にこんなのがあった
JBrowse FAQ - GMOD
Note: servers like "SimpleHTTPServer" from Python or "http-server" from NPM are generally not full featured enough to run all JBrowse features correctly (SimpleHTTPServer does not support Range queries, and http-server interprets tabix files incorrectly). RangeHTTPServer does pass the test suite for jbrowse though, so it should work for tests https://github.com/danvk/RangeHTTPServer (but not for compressed json files).
pythonのSimpleHTTPServerではだめらしい
使っていたのはhttp.server。
サンプルデータのvolvoxは表示できたけど、
自分で作ったデータはうまく表示できないのもあったので
原因はよくわからないけどよくないのかも。。。
ということで
まずはapach2のインストールから。
Window10でLAMP (Fall Creators Update版) - Qiita
$ sudo apt install apache2
ちなみにLAMPとは、Linux、Apache、MySQL、PHP/Perl/Pythonのことだそう。
LAMP(Linux+Apache+MySQL+PHP/Perl/Python)とは - IT用語辞典 e-Words
LAMP (ソフトウェアバンドル) - Wikipedia
インストールしたapache2の起動と停止は次のコマンドで行う
$ sudo service apache2 start # 起動 $ sudo service apache2 stop # 停止
こういうやり方もあるようだけどまだ試してない
Apacheの起動 - Qiita
apache2を起動後windowsにインストールされた
web browserのアドレスバーに"localhost"と入れてエンターを押す。
apache2のindex.htmlが表示されればインストールがうまくいってる
/var/www/html/index.htmlが表示されている
次にnode.jsのインストール。
ダウンロードはここから
ダウンロード | Node.js
バイナリーファイルをダウンロードして展開
$ xz -d node-v10.16.0-linux-x64.tar.xz $ tar -xvf node-v10.16.0-linux-x64.tar
"/node-v10.15.0-linux-x64/bin/"に含まれる
node、npm、npxをパスの通っているディレクトリにリンクを貼る
コマンドは$HOME/binにリンクを貼るようにしてて
.bashrcにパスを書いてある
$HOME/binにリンクを貼るときはlnコマンドを使う
$ ln -s $HOME/local/node-v10.15.0-linux-x64/bin/node $HOME/bin
同様に"node-v10.15.0-linux-x64/lib/node_modules/yarn/bin/yarn"も
$HOME/binにリンクを貼る
あと、perlは/usr/bin/perlを使う。
miniconda3にもperlがあるが、
これを使ったら何故かコンパイルエラーが出ることがあった
どうもperlの設定ファイルのパス指定がおかしい様子。
なので.bashrcでminicondaよりも前に
/usr/bin/perlが来るようにパスを書く
export PATH="$HOME/bin:/usr/bin:$HOME/miniconda3/bin:$PATH"
これらの準備が済んでからJBrowseのインストールをする
前回よりもバージョンがちょっとだけ上がってる
任意のディレクトリにアーカイブをダウンロードして展開する
今回はホームディレクトリのtmpにwgetを使ってダウンロードする
unzipで展開後してできたディレクトリを
/var/www/html/に移動する
$ cd ~/tmp $ wget https://github.com/GMOD/jbrowse/archive/1.16.3-release.zip $ unzip 1.16.3-release.zip $ sudo mv jbrowse-1.16.3-release/ /var/www/html/jbrowse
もしjbrowse/のオーナーがrootのままなら所有者を変える
インストールでsetup.shを実行するが、sudoで実行してはいけないらしい
ちなみにwhoamiは自分のユーザー名に変える
$ sudo chown -R 'whoami' jbrowse
そしてjbrowse内のsetup.shを実行する
$ cd jbrowse
$ ./setup.sh
apacheを起動してwindowsのweb browseから
volvoxのデータにアクセスできたらインストール成功
http://localhost/jbrowse/index.html?data=sample_data%2Fjson%2Fvolvox
ここまで書いてなんだけど
IGVとか使えばlocal serverを立てなくても
表示できる
というかこっちが楽
サーバー立てたら共有できる点が便利
Home | Integrative Genomics Viewer
これで自作のファイルが表示できるようになればいいのだが。
25 Feb. 2019追記
apache2の起動時にエラーが表示されてた
(92)Protocol not available: AH00076: Failed to enable APR_TCP_DEFER_ACCEPT
ググると解決法があったので真似してファイルに追記した
【BoUoW】Apache起動時の「Failed to enable APR_TCP_DEFER_ACCEPT」 - Qiita
編集したファイルはapache2.conf
$ sudo vim /etc/apache2/apache2.conf
ファイルの最後に以下の二行を追加
AcceptFilter http none AcceptFilter https none
それとapache2で立てたサーバーに
ローカルネットワークからアクセスしたい
Apacheをローカルネットワークのみに公開にする | EasyRamble
サーバーになっているPCのIPアドレスと開放するポートを
ports.confに記入すればいいっぽい
$ sudo vim /etc/apache2/ports.conf
ports.confの最後の行に追記した
Listen 192.168.100.110:8080
windowsでIPアドレスを確認するには
[スタートを右クリック] -> [設定] ->
[ネットワークとインターネット] -> [Wi-Fi]
とクリックする
次に利用しているWi-FiまたはLANの名前をクリックすると
つながっているネットワークのプロパティが確認できる
IPv4アドレスをListenから:8080までの間に記入する
一応同一ネットワークにあるタブレットからvolvoxのサンプルデータを見れた
アドレスは"localhost"をファイルに追加したIPアドレスとポートに書き換える
http://192.168.100.110:8080/jbrowse/index.html?data=sample_data%2Fjson%2Fvolvox
追記ここまで
31 May 2019 追記
インストールでエラーが出る場合の対応について
ライブラリが足りなくてエラーが出る場合がある
公式のサイトに対応方法があるが、libgd2-xpm-devは見つからない
JBrowse Troubleshooting - GMOD
代わりにlibgd-devをインストールするとうまくいった
$ sudo apt-get install build-essential libpng-dev zlib1g-dev libgd-dev
追記ここまで