明太子ソースに鮭フレークを添えて

雑多な備忘録とか戯言とか。

連番で一気にgnuplotグラフを出力

何十個の連番データを一個一個グラフ化する苦行は早々リタイア。

以下、重要ポイント。

  1. gnuplot <<EOFの下にgnuplotコマンドを書いて、最後にEOFとする。

  2. 途中に空行を挟まない。

  3. EOFはタブなどの空白を置かず行頭。

#! /bin/csh -f
#上記は~/.cshrcを読まずに実行

set a = 1
while ($a <= 30)
gnuplot <<EOF
    #EOF行まで空行を挟まない
    pl '${a}_1.txt' w l
    set terminal postscript enhanced font "Helvetica"
    set output "${a}.eps"
    replot
    set term x11
    exit
EOF
@ a ++
end

いやーめちゃ快適になった。

複数のテキストファイル内の文字列を一気に変換

テキストファイル内の文字列を変換する時のメモ。

  1. sedコマンド使って-eで何をするか指示する。

  2. ">"で出力指定する時にファイル名を別のものにしないとデータが消えてしまう。

以下は連番でファイルを読んで、ファイル内のWWWWをwwwwに変換する場合。

#! /bin/csh -f
#上記は~/.cshrcを読まずに実行する

set a = 1
while ($a <= 5)
    sed -e 's/WWWW/wwww/g' test${a}.txt > test${a}_1.txt
@ a ++
end

他のシェルのが良いのでは、と常に思ってるけど。

最初に参考にした先輩のスクリプトcshでそのままズルズルと使ってる。

一般的なshか上位互換らしいtcshに変えた方がいいんかなー。

make_ndxの追記方法

まさかの後輩から学ぶの巻。

自分で問題解決しようとする能力がある良い後輩ですね!

Gromacsでは何かとグループ選択画面が現れます。

ですが、デフォルトでは単純なものしか選べません。

(protein、SOL、sidechain などなど)

んで、そこそこ慣れるとデフォには無いグループを使いたくなります。

そんな時に使うのがmake_ndxコマンドですが、その使い方は省略。

今回は既にindexファイルがあって、そこに新しく項目を足したい!という話。

私は特に何も考えず毎回新規で作ってました……

でも後輩は大量のindexファイルに後から項目を付け足す必要がありました。

そんな時はとても簡単、-nで追記したいindexファイルを指定するだけ。

$ make_ndx -n index.ndx

分かれば単純だけど使わないと気付かないよね(言い訳)

ついでに、今覚えたMarkdown記法。 unixなどのコマンド系の表示をしたい時は半角4文字空けて書けばそれっぽい。

便利でかっこいいけど、はてな(っていうかブラウザ)上ではタブキー効かないし、不可視の半角が4個入ってるかよく分かんないのが微妙だなあ。

リストから複数の要素を抜きたい

リストから複数の要素を抜くにはどうするか。

remove()では1つの要素しか削除できない。

悩んだ結果、とりあえずforで回してみた。

index = range(1,10)
#indexからwithoutを除く
without = [2,4,5,8]
for w in without:
    index.remove(int(w))

>>> print index
[1, 3, 6, 7, 9]

あんまり効率良くない気がするけど、重い処理じゃなければ問題ないかなあ。

ブログ開始

去年からやろうやろうと考えていたのに気付けば年の瀬に。

細かい設定はまた追い追いやるとして、まずはPythonのコードを載せるテスト。

#適当なリスト
text = ['H','e','l','l','o','W','o','r','l','d','!','!']

for line in text:
    print line

シンタックス・ハイライトできてるやったー!

方法は以下の通り(#を抜いて読んでね)。

#```python
#コード
#```

これのためにMarkdown記法にしたので、これから覚えてく。