LoginSignup
4
1

More than 3 years have passed since last update.

JBrowse2を遺伝研スパコンで動かす

Posted at

JBrowse2とは

  • 公式サイト https://jbrowse.org/jb2/
  • ゲノム配列と遺伝子の位置を可視化するツール
  • webアプリケーションとデスクトップ(オフライン)アプリケーションがある

バージョン1との違い

公式サイトを和訳 https://jbrowse.org/jb2/features/

2でできるようになったこと

  • トラック読み込み中のステータス更新(例:BAMインデックスをダウンロード中...)
  • BAM/CRAMタグによるソート、カラー、フィルター、その他の高度なオプション
  • トラックの解析とレンダリングにウェブワーカーを使用
  • アプリ内での設定のインタラクティブな編集をサポート
  • リニアビューを「フリップ」または逆に補完することが可能
  • Hi-Cデータのレンダリング
  • 複数の染色体を1つのビューで表示可能
  • アラインメントトラックでのリードパイルアップのソート
  • アラインメントトラックにソフトクリッピングを表示
  • データセットの表形式ビューを内蔵
  • UCSCトラックハブを開くことができる
  • スクリプトを実行せずにプラグインの追加と削除が可能
  • 管理者以外のユーザーがトラックを開き、他のユーザーと共有できる
  • NPMを使ってJavaScriptプロジェクトにエンベッディング可能
  • Reactアプリケーションに直接エンベッディング可能

2ではできなくなったこと(前のバージョンではできた)

  • 名前の検索 例:遺伝子名/IDを入力して検索する機能
  • URLクエリAPI
    • 例: ブラウザのURLバーで ?loc=chr1:1-100 を指定する

あれれ、これは地味に困る...?
ウェブサイトに組み込んでいる場合は単純に置き換えできなさそうなので注意が必要

JBrowse2をスパコン上で動かす

  • スパコン上で動かしてポートフォワードを利用してウェブブラウザから見る
  • bamなど大きいファイルをlocalにダウンロードせずに見えるんじゃないか(注1
  • 以前のバージョンではapacheが必要なので設定が面倒だった
  • 2はNode.jsで動くのでapacheの設定不要なのがうれしい

注1  この目論見はちょっと外れたっぽい(後述)

手順

ツールのインストール

Node.jsをcondaでインストール(必要なら仮想環境を作ってから)
任意の場所に、GithubからJBrowse2のバイナリをダウンロードする

$ conda install -c conda-forge nodejs
$ wget https://github.com/GMOD/jbrowse-components/releases/download/v1.0.4/jbrowse-web-v1.0.4.zip

npmでserveをインストール

$ npm install -g serve

zipファイルを解凍して、できたディレクトリjbrowse2に移動

$ gunzip jbrowse-web-v1.0.4.zip
$ mv jbrowse-web-v1.0.4.zip jbrowse2
$ cd jbrowse2

config.jsonのバックアップを取っておく

ゲノム配列とgffの追加

なぜかvolvoxを入れてからでないとうまくいかなかった

$ jbrowse add-assembly http://jbrowse.org.s3.amazonaws.com/genomes/volvox/volvox.fa
$ jbrowse add-assembly /your/genome/path/genome/nanikano.genome.fa --load copy --target data --name nanikanogenome
$ jbrowse add-track /your/annotation/path/nanikano.gff.gz --load copy --name nanikanoannotation --trackID nanikanoannotation

config.jsonから手動でvolvoxを削除

実行

ポート33770で動かす(ポート番号は任意、だが30000番台にしておくと他のタスクに邪魔にならなそう)

$ npx serve -l 33770
ERROR: Cannot copy to clipboard: Couldn't find the required `xsel` binary. On Debian/Ubuntu you can install it with: sudo apt install xsel

  ┌────────────────────────────────────────────────────┐
  │                                                    │
  │ Serving!                                           │
  │                                                    │
  │   - Local:            http://localhost:33770       │
  │   - On Your Network:  http://XXX.XX.XX.XXX:33770   │
  │                                                    │
  └────────────────────────────────────────────────────┘

(ネットワークのIPは伏せ字にした)

外からはポートフォワード(gwノードを踏み台にする)で
localのwebブラウザにhttp://localhost:8888で見える
xselがないというエラーが出ているけど、見えるからOK?
(どうしたらエラーが解消されるのか、または無視していいのか、わかる人がいたらコメントください)

他の人(スパコンアカウントを持っている人)も一緒に見ることができる
ターミナルに以下のように入力する
atXXXのところはjbrowse2が動いているノード名を入力
youraccoutはスパコンのアカウント名を入力

ssh -L 8888:atXXX:33770  youraccout@gw.ddbj.nig.ac.jp

localのwebブラウザにhttp://localhost:8888と入れるとゲノムブラウザが見えるはず

bamの追加

シンボリックリンクだと表示できないので--load copyにする(ディスク容量注意)

$ jbrowse add-track /bam/path/nanika01.bam --load copy -n 01 
$ jbrowse add-track /bam/path/nanika02.bam --load copy -n 02

みてみよう

$ npx serve -l 33770

見えるけどloadにめちゃくちゃ時間かかる...
(Node.jsの設定まわりいじるとぬるぬる動くようになるかもしれない?)

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1