アメリエフのブログ

バイオインフォマティクスの紹介と社員の日々
Google日本語入力なら矢印の入力が簡単
こんにちは、久保(@kubor_)です。
スマートフォンのバイブモーターが経年劣化のためか、軸ブレしており、ギュイーンギュイーン鳴ってしまうんですが、買い替えどきでしょうか。

ウェイトの偏りが振動を生みます

正常なバイブモーターであれば、軸がブレず、軸先に取り付けられたウェイトの偏りだけで振動を生み出します。

↑●↓
 ←
Fig. 1 正常なモーターの軸と回転の様子

ただし、僕のスマートフォンの場合、軸がブレているようです。
↓→→↓→↓
↓↑●●↑↓
←↑←↑←←
Fig. 2 僕の人生そのものな軸ブレ

矢印の入力方法が喜びを生みます

さて、ここまでブレると”やじるし”でブレ具合を伝えるのは困難ですが、
僕が伝えたいのは、”やじるし”の入力方法です。
実は、Google日本語入力なら”やじるし” → 変換 → 「選択」をしなくていいので、入力がとても楽です。

試しに、IMEをONにした状態で”zl(ゼットエル)”と入力してみてください。

右矢印が入力できたでしょうか?

次に、”zj(ゼットジェイ)”と入力すると下矢印が入力できます。
あとの2方向は”h”と”k”です。
hjklが矢印の向きに対応しているのです。
簡単に入力できて便利なので、ご活用下さい。

ちなみに、このhjklですがVim(Vi)というテキストエディタでカーソルを移動させるときに使うキーと同じです。
Vimmerの声が聞こえてきますね。

(さあ、Vimを使うのです。)
| kubor | システム | 16:27 | comments(0) | - |
バイオインフォマティシャンでも、pecoがしたい!
先日、ついに日比谷線を利用しました、久保(kubor)です。
先日pecoが話題になっていた傍ら、社内ではなかなか広まらずに、寂しい思いをしているので、バイオインフォマティシャンにもおすすめの使い方を紹介いたします。

0. pecoってなに

標準入力で受け取ったテキストを、インクリメンタルサーチすることができるコマンドラインツールです。
更に、サーチ結果は、標準出力されます。

すなわち、テキストフィルタリング出力となります。

ちなみにpecoはpercolというソフトをGolangで書いたものです。
同様の機能を持つソフトとして、他にもzawなども有名ですが、数年前にpecoが高速だと話題になってからというもの、pecoの人気が突出しているように感じます。
以下が、各リポジトリです。

1. pecoのインストール

バイナリを落とすのが早いです。
以下からOSにあったものをダウンロードして、~/binディレクトリなどのPATHが通っているディレクトリにシンボリックリンクを作成します。
https://github.com/peco/peco/releases

2. 基本的な使い方

例えば、cat sample.txt | peco として、パイプでpecoを使えば、ウィンドウが開きsample.txtの中身をインクリメンタルサーチすることができます。
サーチ結果は、カーソルキーで選択することもできます。

これだけだとインクリメンタルサーチができるgrepですが、pecoの入出力をパイプすることで様々なことが可能になります。

3. スニペットを呼び出す

peco-snippet-loader

シンプルで、わかりやすい使い方として、スニペットをpecoで呼び出す方法を紹介します。zshを基準として書いていますので、bashの場合は適宜変更して関数を用意して下さい。

まず、解析によく使う便利コマンドや、ワンライナーをスニペットとして保存しておきます。
下記のように、ホームディレクトリにドットファイル(ファイル名の先頭にドットを入れると隠しファイルとなる)を作成するのがおすすめです。

~/.peco.snippet.bioinfo
#
# file: .peco.snippet.bioinfo
#

# grep
[remove header] grep -v "^#"
# perl
[print TSV header]perl -e 'for(split(/¥t/, )){$i++; print "$i $_¥n"}'
# samtools
[bam to sam] samtools view
[sam to bam] samtools view -bS
[sort bam] samtools sort
[make fasta index] samtools faidx
# sort
[sort BED file] sort -V -k1 -k2n

次に、.zshrcに以下を追記します。
保存後、`source ~/.zshrc`を実行した後、Ctrl+xと入力するとスニペットを選択する画面が起動します。
function peco-snippets-loader() {
if ls ~/.peco.snippet* >/dev/null 2>&1; then
snippet=`cat ~/.peco.snippet* | grep -v "^#" | peco`
BUFFER="$(echo $snippet | sed -e 's/^¥[.*¥] *//') "
CURSOR=$#BUFFER
else
echo "~/.peco.snippet* is not found."
fi
zle reset-prompt
}
zle -N peco-snippets-loader
if type peco >/dev/null 2>&1; then
bindkey '^x' peco-snippets-loader
fi
ポイントは`cat ~/.peco.snippet* | grep -v "^#" | peco`で、スニペットからコメント行(#から始まる行)を除外して、pecoに渡しています。
そして最後に選択したスニペット行頭の説明文をsedで取り除いています。

とっつきにくいですが使ってみると楽しいので、是非お試し下さい。
僕は、この他にもよく使うディレクトリへのショートカットや、ヒストリー検索をpecoで選択できるようにしています。
| kubor | バイオインフォマティクス | 16:06 | comments(0) | - |
1234567
891011121314
15161718192021
22232425262728
2930     
<< November 2015 >>

このページの先頭へ