備忘録 the next generation

2014年末にOCN(http://yamagu.mo-blog.jp)からこちらに移転しました。

IGVをごにょごにょする

2015-07-28 17:41:34 | バイオインフォマティクス
Broad InstituteからダウンロードしたIGVをそのまま実行すると、外部のインターネットに接続できない環境ではエラーになったり、やたらと長い時間待たされたりするので、ごにょごにょとソースを編集してカスタマイズした上で利用することがあります。

今日はそんな方法のまとめを。
ちなみに今回は、IGV-2.3.57をカスタマイズしました。

まず、IGVのバイナリを入手してigv.jarファイルを展開しておきます。

次にIGVのGithubから修正したいソースのjavaファイルを取得します。
rawのボタンをクリックすると生ファイルが表示されるので、
それを保存するのが手軽です。
今回はorg/broad/igv/ui/Main.javaと
同ディレクトリのIGVCommandBar.java

ソースを修正します。
Main.javaはcheckVersion()の行をコメントアウト。
IGVCommandBar.javaの方はIGV.getInstance().loadGenomeFromServerAction()
の行をコメントアウト(後者は不要かな?)。

編集したファイルをjarファイルを展開した場所に置いておきます。

以下のコマンドでビルドします。
javac -cp $IGV/igv.jar IGVCommandBar.java Main.java -d .
($IGVは適宜設定してください)

セキュリティのチェックでひっかからないようにするため、
META-INF以下のMANIFEST.MF以外の2ファイルを削除します。
MANIFEST.MF内の下の方のシグニチャも消さないといけないかもしれません(長い)。

jar ファイルを作成します。

jar cvfm ../igv.jar META-INF/MANIFEST.MF *

あとはigv.sh等からこのjarファイルを使うように適切に設定するだけ。