JBrowseのインストール 続き
24 February 2019 追記
やり直したので新しい方のリンク
mecobalamin.hatenablog.com
xlocale.hがなくてJBrowseのインストールで詰まった
前回も参照したサイトに方法があった。
xlocale.h not found on Ubuntu while installing · Issue #16 · agracio/electron-edge-js · GitHub
無理やりだけどリンクを貼る。
$ sudo ln -s /usr/include/locale.h /usr/include/xlocale.h
今度はdb.hがない
まとめてエラー出してくれよ―
あってるかわからないけどminicondaのlibdbに同じ名前のがあったので
これもリンクを貼る
$ sudo ln -s /home/hogehoge/miniconda3/pkgs/libdb-6.1.26-0/include/db.h /usr/include/
condaでlibdbのパッケージをインストールしても良さそう
$ conda install -c bioconda libdb
と、ここまで書いてみたのだが、
実際いろいろやってて忘れてきてるので
ざっとまとめてみる
手順は
- JBrowseのアーカイブを展開し、/var/www/html/以下などに移動する
- JBrowseのディレクトリのオーナーを変更する
- 必要なpluginを/jbrowse/pluginにコピーする
- package.jsonとyarn.lockを別ディレクトリにコピーをとっておく
- node.jsをインストールする
- /jbrowse/setup.shを実行する
- volvoxとyeastのデータディレクトリができれば成功
- データの入ったディレクトリを/jbrowse/にコピーする
- ウェブサーバー経由でブラウザに表示する
JBrowseの配布元はここ
jbrowse.org
setup.shを動かす前までの作業も紹介されてる
こんな感じ。
curl -O https://github.com/GMOD/jbrowse/releases/download/1.16.1-release/JBrowse-1.16.1.zip unzip JBrowse-1.16.1.zip sudo mv JBrowse-1.16.1 /var/www/html/jbrowse cd /var/www/html sudo chown `whoami` jbrowse cd jbrowse ./setup.sh # don't do sudo ./setup.sh
JBrowseのアーカイブにはpackage.jsonが含まれていて、
setup.shを実行するとpackage.jsonをもとに
必要なパッケージをインストールしてくれる
node.jsはここ
nodejs.org
npmも一緒にインストールされる
忘れずにパスを通す
前回も書いたけど、使うperlでエラーが出たりした。
Perlはubuntuにはじめから入っている(/usr/bin/)のが問題なさそう。
setup.shがエラーを吐かなかった。
minicondaのはコンパイラを示すディレクトリがなんか変で
コンパイルエラーが出る
インストールに問題があってやり直すときの注意点。
setup.shを何度も実行するとインストールされる
パッケージの依存関係がおかしくなる様子。
追記があるのかpackage.jsonとyarn.lockのサイズが変わってく。
なので、setup.shを実行する前に
package.jsonとyarn.lockを削除して、
アーカイブ展開直後の変更の加えられていない
ファイルと置き換えるとうまくいった
それと、setup.shの実行にsudoを使ってはいけないらしい
まずJBrowseのディレクトリ以下についてオーナーを変更する
それからsetup.shを実行する
つくられたvolvoxとyeastのデータはブラウザで表示できる
以前やったみたいにpowershellとpythonを使って
ウェブサーバーを立ち上げる
mecobalamin.hatenablog.com
サーバー経由でファイルを読み込ませるとうまくいった
http://192.168.100.110:8080/jbrowse-1.16.1-release/index.html?data=sample_data%2Fjson%2Fvolvox
こんな感じに表示される
JBrowseのインストール
24 February 2019 追記
やり直したので新しい方のリンク
mecobalamin.hatenablog.com
ゲノムデータをブラウザで表示するツールにJBrowseがある。
JBrowse · A fast, embeddable genome browser built with HTML5 and JavaScript
元論文はこちら
JBrowse · A fast, embeddable genome browser built with HTML5 and JavaScript
仕事で必要なので、試しにwslにインストールした。
JBrowseのアーカイブをダウンロードして展開。
$ wget https://github.com/GMOD/jbrowse/archive/1.16.1-release.tar.gz
$ tar -zxvf 1.16.1-release.tar.gz
で、できたディレクトリjbrowse-1.16.1にある
setup.shを実行するだけで、セットアップ終了、
のはずなのだが、それ以外のところでいろいろ引っかかった。
このシェルスクリプトを動かすにはperlが必要。
別件でインストール済みだったminicondaの
perlをそのまま使うことにした。
結局perl入れなおすことになるのだが。
ちなみにminicondaのインストール方法は配布元から
シェルスクリプトを落としてきて実行するだけ。
配布元はこちら
Miniconda — Conda documentation
$ cd ~/ $ cd mkdir ./tmp $ cd ./tmp $ wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh $ bash Miniconda3-latest-Linux-x86_64.sh
perlも含まれている。
これでオッケーのはずだったのだが、
perl moduleのコンパイルエラーが出る。
logファイルにはこんな感じで出力されてる。
/bin/sh: 1: /tmp/build/80754af9/perl_1527832170752/_build_env/bin/x86_64-conda_cos6-linux-gnu-gcc: not found
x86_64-conda_cos6-linux-gnu-gccが見つからない。
condaでインストールできるらしい
x86_64-conda_cos6-linux-gnu-c++ command not found · Issue #770 · RcppCore/Rcpp · GitHub
minicondaにパッケージをインストールするときは、
ここから探す
:: Anaconda Cloud
$ conda install -c conda-forge/label/gcc7 gxx_linux-64
jbrowse-1.16.1/setup.shを実行するが、
まだコンパイルエラーが出る。。。
インストールされてないのはこれら。
! Installing the dependencies failed: Module 'Devel::Size' is not installed, Module 'DB_File' is not installed, Module 'Bio::FeatureIO' is not installed, Module 'DBD::SQLite' is not installed, Module 'Bio::SeqFeature::Annotated' is not installed, Module 'Heap::Simple::XS' is not installed, Module 'JSON::XS' is not installed, Module 'PerlIO::gzip' is not installed, Module 'DBI' is not installed
perl moduleのコンパイルエラーなので、
cpanを使ったインストールを試したけどそれもだめ。
ちなみにcpanとは
CPAN - Wikipedia
cpanのインストール方法は
$ perl -MCPAN -e shell
perl moduleのインストールは
$ cpan cpan[1]> install PerlIO::gzip
みたいにする
それでも同じようにコンパイルエラーが出る
上でも出したけどよくよく見るとコンパイラのpathがおかしい
こんなディレクトリないな
/tmp/build/80754af9/perl_1527832170752/_build_env/
~/miniconda3/lib/5.26.2/x86_64-linux-thread-multi/Config.pm
で指定されてるけどなんかいろいろ変だ。
別のPCに入れてあったminicondaを確認すると同じように
変なpathだったので、書き換えてしまったわけではなさそう。
Perlの入れ直しをする
$ conda install -c conda-forge perl
Config.pmで指定されているpathは"/usr/local/lib"になった
これでsetup.shを実行するとコンパイラは見つかったっぽいが。。。
今度はincludeファイルがないときた。。。
perl.h:738:13: fatal error: xlocale.h: そのようなファイルやディレクトリはありません # include <xlocale.h>
配布がなくなったみたい
xlocale.h not found on Ubuntu while installing · Issue #16 · agracio/electron-edge-js · GitHub
さてどうしたものか。。。
続きます
sedの使い方
ファイルサイズが10 MBで中身が10万行を
超えるようなテキストファイルで、
列のラベルによって置換する文字を
変えるシェルスクリプトを書いた
例えばn列がhogehogeの場合、m列をaaaからbbbに変えて
n列がhugahugaの場合、m列をaaaからcccに変えるような
シェルスクリプト
まずはgrepで置換する行を選んで、
sedで置換する方法でやった
一行ずつ結果を出力を書き込むので
時間がかかる。。。。
#!/bin/bash dir=`pwd` filename=largetext.txt filein=${dir}/${filename} fileout=${dir}/rename_${filename} filetmp=${dir}/tmp_${filename} :> $fileout while read line; do if echo $line | grep hogehoge > ./null; then echo $line | sed 's/aaa/bbb/' >> $fileout else echo $line >> $fileout fi done < $filein mv $fileout $filetmp :> $fileout while read line; do if echo $line | grep hugahuga > ./null; then echo $line | sed 's/aaa/ccc/' >> $fileout else echo $line >> $fileout fi done < $filetmp
人に聞いたらこのサイトを教えてもらった
sedでこういう時はどう書く? - Qiita
sedで特定の文字列を含む場合の条件付ができる
sed -e '/[パターン]/s/[置換前]/[置換後]/'
パターンにマッチする場合に
置換前の文字列を置換後の文字列に置換する
オプションを-rに変えると拡張正規表現で
パターンマッチができる
書き直したスクリプトがこれ
#!/bin/bash dir=`pwd` filename=largetext.txt filein=${dir}/${filename} fileout=${dir}/rename_${filename} filetmp=${dir}/tmp_${filename} cat ${filein} | sed '/hogehoge/s/aaa/bbb/' > ${fileout} mv ${fileout} ${filetmp} :> ${fileout} cat ${filetmp} | sed -e '/hugahuga/s/aaa/ccc/' > ${fileout} :> ${filetmp}
実行結果が分のオーダーから秒のオーダーまで短縮
スクリプトもスッキリしたし知らないって不幸
catの結果をsedで読み込んでいるけど
sedは引数にファイルを取れるので
もうちょっときれいに書けるかも
あと":"は何もしないってコマンドらしい
:> filename
で空のファイルを出力する
コードにシンタックスハイライト
コードに色付してPowerPointに貼り付けたい。
リッチテキスト形式であれば
シンタックスハイライトをつけたまま
貼り付けられるそうだ。
Keynote(Mac版パワポも)にソースコードを貼る - Qiita
普段使っているエディタがAtomなので
copy-as-rtfをインストール
copy-as-rtf
しかし・・・
シェルスクリプトではうまくコピーできない。
Package error (copy-as-rtf) Error calling `pygmentize`: Error: no lexer for alias 'shell script' found
がでる。
解決法があったのだが、理解できてないので修正できなかった。
Error calling `pygmentize`: Error: no lexer for alias 'typescript' found · Issue #30 · lucasmazza/copy-as-rtf · GitHub
Atomでコードファイルの種類をpythonとかRに変えてしまえば
シンタックスハイライトがついたままコピーできて
PowerPointに貼り付けられたのでとりあえずこれで。
Pythonのpygmentsを使っているらしいのだが、
これを使うとcat/lessコマンドでもハイライトを付けて
表示できるらしい。
cat, less コマンドの表示を Syntax Highlight させる - xykのブログ
あとで試す。
6 March 2019追記
windows + atom + copy-as-rtfでは
alt + rでatomからコードをコピー
ctrl + vでPowerPointに色付きで貼り付け
tmuxでターミナルを分割する
ターミナルをいくつか立ち上げてると
タブもいいんだけど画面が分割できたらべんりだなーって
思っていたらtmuxってのがあった
ターミナルマルチプレクサ tmux をカスタマイズする - Qiita
tmuxのすすめ - catatsuy's Blog
ペイン間の移動もキーボードからなんだけど、
マウスでできる方法もあった
tmux v2.1からmouse関連の設定が変わった - Qiita
Linux - WSL環境上のtmuxにてマウスホイールスクロールが出来ない|teratail
bash on windowsってすごーい!powerlineとTmuxを駆使してMacのターミナルっぽくする(Tera Termも卒業する) - Qiita
いろいろ写させてもらって
結果がこれ
.tmux.conf
# デフォルトのシェルを設定する set-option -g default-shell /bin/bash set-option -g default-command /bin/bash # ウィンドウのインデックスを1から始める set -g base-index 1 # ペインのインデックスを1から始める setw -g pane-base-index 1 # 設定ファイルをリロードする bind r source-file ~/.tmux.conf \; display "Reloaded!" # マウスを使用する set -g mouse on bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'" # 256色端末を使用する set -g default-terminal "screen-256color" # ステータスバーの色を設定する set -g status-fg white set -g status-bg black # ウィンドウリストの色を設定する setw -g window-status-fg cyan setw -g window-status-bg default setw -g window-status-attr dim # アクティブなウィンドウを目立たせる setw -g window-status-current-fg white setw -g window-status-current-bg red setw -g window-status-current-attr bright # ペインボーダーの色を設定する set -g pane-border-fg green set -g pane-border-bg black # アクティブなペインを目立たせる set -g pane-active-border-fg white set -g pane-active-border-bg yellow # コマンドラインの色を設定する set -g message-fg white set -g message-bg black set -g message-attr bright # ステータスバーを設定する ## 左パネルを設定する set -g status-left-length 40 set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P" ## 右パネルを設定する set -g status-right "#[fg=cyan][%Y-%m-%d(%a) %H:%M]" ## リフレッシュの間隔を設定する(デフォルト 15秒) set -g status-interval 60 ## ウィンドウリストの位置を中心寄せにする set -g status-justify centre ## ヴィジュアルノーティフィケーションを有効にする setw -g monitor-activity on set -g visual-activity on ## ステータスバーを上部に表示する set -g status-position top
マウス操作はtmuxのバージョンによって設定が変わる
コピーはshift+右クリック
vim 有効 clipboard linux - パテで実行中のtmuxからwindowsクリップボードにコピーする方法 - CODE Q&A 問題解決
tmuxのチートシート
tmuxチートシート - Qiita
VcXsrvの自動起動
windowsを起動するときにVcXsrvも起動したい
実行ファイルにオプションを付けたショートカットを
スタートアップフォルダに保存しとけばいいっぽいんだけど
windows起動のたびに設定画面が出てきて若干めんどい
http://www.straightrunning.com/XmingNotes/IDH_FINISH.htm
コンフィグファイルを指定して起動もできるらしい
xlaunchを起動するといくつか設定パネルが出てくる
デフォルトのまま次に進めて
設定を"config.xlaunch"という名前で
xlaunch.exeのあるフォルダに保存する
xlaunch.exeのショートカットを作成して、
実行ファイルにconfig.xlaunchを読み込ませる設定をする
ショートカットを[右クリック]してプロパティを開き、
[リンク先]に-run config.xlaunchを加える
D:\VcXsrv\xlaunch.exe -run config.xlaunch
ショートカットはスタートアップフォルダに保存すると自動起動できる
WSL: Xサーバーを自動起動しよう! – demura.net
windows10の場合は左下のスタートボタンを右クリックし、
メニューから[ファイル名を指定して実行]をクリックすると
ダイアログが出てくる
ダイアログのボックスに
shell:startup
を入れてOKをクリックするとスタートアップフォルダが
開くのでショートカットをコピペ
これでwindows起動時にVcXsrvを起動しつつ
タスクトレイに最小化できるようになった
vimのインストール、再び
- 作者:Software Design編集部
- 発売日: 2016/04/09
- メディア: Kindle版
vimでクリップボードを使えるように
インストールを再挑戦
WindowsでLinux commandを動かす - mecobalamin’s diary
前の記事といろいろかぶる
ホームにtmpディレクトリを作ってそこに
gitからソースコードをダウンロード
$ mkdir ~/tmp $ cd ~/tmp $ git clone https://github.com/vim/vim.git
ubuntuでbuild環境を構築
https://www.yokoweb.net/2018/05/04/ubuntu-18_04-gcc-makme-install/
前回足りなくてエラーが出たライブラリは
前もってインストール
$ sudo apt install build-essential $ sudo apt install libxmu-dev libgtk2.0-dev libxpm-dev $ sudo apt-get install ncurses-dev
そこそこ大きいし時間かかる
160 MBと366 MBと1.4 MB
vimのインストール
$ cd /home/hogehoge/tmp/vim/src $ ./configure --prefix=/home/hogehoge/ --with-features=huge --with-x=yes --enable-gui=yes --enable-gtk2-check --enable-multibyte -enable-fail-if-missing $ make $ make install
ちなみに
--prefix; インストール先 --with-x=yes --enable-gui=yes --enable-gtk2-check: +clipboardに必要
やり直すときはこのコマンド
$ make distclean
$ rm ~/tmp/vim/src/auto/config.cache
インストール結果の確認
$ ~/bin/vim --version | grep clipboard +clipboard +jumplist +persistent_undo +vertsplit +emacs_tags +mouse_dec -sun_workshop +xterm_clipboard
.bashrcで~/bin/にパスを通してとりあえず終了
linuxのディレクトリっていろいろあってなにがなんだか。
インストール先とかソースコードの保存先とかここを参考にした
Linuxの基本の基本。Linuxの基本的なディレクトリ構成 | OXY NOTES
Windowsのクリップボードを使うときは
VcXsrvが必要
ここを参考にVcXsrvを入れて起動
Windows Subsystem Linux - Make VIM use the clipboard? - Super User
VcXsrvの自動起動についての記事を書いた
mecobalamin.hatenablog.com
.vimrcに
set clipboard=unnamed,autoselect
を追加して、
.bashrcに
export DISPLAY=localhost:0.0
を記入して.bashrcを再読込
$ source ~/.bashrc
これでで無事使えるようになった
.vimrcはとりあえずこんな感じ
set clipboard=unnamed,autoselect set number set cmdheight=2 set smartindent set showmatch set cursorline set backspace=indent,eol,start syntax on set laststatus=2
ところでヤンクってどういう意味なんだろう
yankの意味・使い方|英辞郎 on the WEB:アルク
- 作者:TENKAIKEN Documents
- 発売日: 2017/03/19
- メディア: Kindle版
2 February 2020 追記
実際にコピーするときは
コマンドモード(esc)からビジュアルモード(v)に入って
コピーしたい範囲を選択する
そしてレジスタを使ってヤンクする
具体的には以下のキーを順に押す
"+y
または、siftを押してコピーモードに入って
マウスで選択したら選択範囲を右クリック
追記ここまで