drkcore

2011/12/14 21:13:12

OS Xでxzを使う

Pythonのソースをダウンロードしようとしたらxz形式のサイズが妙に小さかったので、なんじゃこれと思ったら昔見たことあったわと。

macbookでも使いたかったので

brew install xz
brew install gnu-tar

で入れた。ちなみにコマンドはtarじゃなくてgtarになる。

圧縮は

gtar Jcf sample.tar.xz sample

解凍は

gtar Jxf sample.tar.xz

コマンドもわかりやすいので今度からはこっちを使おうっと。

2011/11/26 09:44:35

snow leopardにアップグレードした

PhoneGap1.2がMacOS10.6以降じゃないとダメらしいので、アップグレードした。この前の飲み会で誰かがLionだとメモリを食うから増設したとか言ってたのでLionにはしないでおいた。

ProductName MAC OS X 10.6.3 SNOW LEOPARD

アップル / ?円 ( 2010-04-21 )


ついでに、Traktorもtraktor pro2にしてみた。

ProductName Native Instruments TRAKTOR PRO 2

Native Instruments / 22340円 ( )


こっちはヘッドフォンから音が出なくてちょっとトラブったがoutputの設定をきちんと見なおして解決。

2011/06/10 05:44:03

PEP8に従うとEmacs縦二分割が快適に使える

pep8をGrowlで通知させるようにして数日経つが、Emacsを左右に分割するようになった(今までは上下に分割)

pep8の一行79文字以内におさめるという規約のおかげで左右に分割すると読みやすい。

pep8emacs

ちょっと生産性が上がった感がある。

2011/04/21 05:46:22

osxでHadoopのNameNodeが起動しない

macbookにHadoopを入れたのだけどきちんと起動してない。jpsで見てみるとNameNodeが起動していないことが原因のようだった。

ログを見てみると、設定ファイルに記述したlocalhostじゃなくてマシン名+".local"(hostnameで表示される文字列)で立ち上げようとしてた。理由は良くわからんがとりあえず設定ファイルをこちらの名前で書き直す。

さらに、パスワードなしsshアクセスできるように.ssh/authorized_keysに追加しておく。

ProductName Hadoop
Tom White
オライリージャパン / 4830円 ( 2010-01-25 )



これでうまくうごいたので、早速HadoopStreamingをやってみる。サンプルコードはHadoop Streaming - naoyaのはてなダイアリーから。

$ hadoop jar hadoop-0.20.2/contrib/streaming/hadoop-0.20.2-streaming.jar \
-input log.txt -output log.out -mapper map.pl -reducer reduce.pl
...
11/04/21 05:21:24 INFO streaming.StreamJob:  map 100%  reduce 0%
11/04/21 05:21:33 INFO streaming.StreamJob:  map 100%  reduce 100%
11/04/21 05:21:36 INFO streaming.StreamJob: Job complete: job_201104202054_0004
11/04/21 05:21:36 INFO streaming.StreamJob: Output: log.out

OKっぽいのでアウトプットを見てみる

$ hadoop fs -cat log.out/part-00000
403 3
304 3786
206 2
400 11
313 14
200 49190
302 48
301 223
404 2476

あとは擬似分散環境じゃなくてちゃんとした分散環境を構築すればいいですね。

バーチャルで化合物つくると組み合わせ爆発おこしてその先のハンドリングに難儀するのでchemoinformaticsでもMapReduceうまく使えないかなと思っているわけです。

参考

2011/04/15 08:08:40

macbookにHadoopを入れた

オライリーの本みながら0.21.0使うとはまるので、0.20.2を入れる。

conf/hadoop-env.shのJAVA_HOMEを設定

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home

動作確認でバージョンを表示させてみる。

$ hadoop-0.20.2/bin/hadoop version
Hadoop 0.20.2
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707
Compiled by chrisdo on Fri Feb 19 08:07:34 UTC 2010

ちゃんと動いてれば.bashrcに追加

export HADOOP_INSTALL=/Users/kzfm/hadoop-0.20.2
export PATH=$HADOOP_INSTALL/bin:$PATH

あとはHadoop本の通りに擬似分散モードで動かす。ちなみにmacbookでsshアクセスできるようにするには「システム環境設定」→「共有」→「リモートログイン」で。

ProductName Hadoop
Tom White
オライリージャパン / 4830円 ( 2010-01-25 )


hdfsを起動させるときには

$ hadoop namenode -format
$ start-dfs.sh
$ start-mapred.sh

hdfsを停止させるときには

$ stop-mapred.sh 
$ stop-dfs.sh

2011/04/06 05:47:43

Pythonでファイル更新検知して任意のコマンドを実行する簡易コマンドを作った

Sphinx使っているのだけどファイルを更新するたびにmake htmlと打って確認するのがめんどくさい。linuxだったらpyinotifyがあるんだけど、macbookでは使えない。

簡易コマンド書いた。

#!/usr/bin/env python

import os
from time import sleep, strftime, localtime
import sys
import commands

filename = sys.argv[1]
mycommand = sys.argv[2]

def get_mtime():
    return os.stat(filename).st_mtime

mtime = get_mtime()
while 1:
    sleep(1)
    new_mtime = get_mtime()
    if mtime != new_mtime:
        mtime = new_mtime
        commands.getoutput(mycommand)
    print "done: %s ( %s )" % (mycommand, strftime("%a, %d %b %Y %H:%M:%S", localtime(mtime)))

監視対象のファイルを第一引数に、更新されたら実行するコマンドを第二引数に。

$ wdo docutils.rst "make html"
done: make html ( Wed, 06 Apr 2011 05:12:30 )
done: make html ( Wed, 06 Apr 2011 05:26:27 )
done: make html ( Wed, 06 Apr 2011 05:28:36 )
done: make html ( Wed, 06 Apr 2011 05:33:35 )
done: make html ( Wed, 06 Apr 2011 05:33:45 )

そうです、お分かりの通り早朝からdocutilsのソースを読んでいるのです。

ちなみにpyhttpd='python -m SimpleHTTPServer'っていうalias切っているので、makeで生成されたhtmlはlocalhost:8000で見てる

参考

2010/06/21 20:23:30

RemoteDroid

来週プレゼンするのにandroidリモコンが欲しいなぁと検索していたのだけど、macにbluetoothで通信するのが見つからなかった。

会場でWiFi使えるならRemoteDroidでいいのかもしれないけど、bluetoothでつなげたいのう。

windowsだったらPPT Remoteが使えるらしいんだけど。

1277119263

2010/04/22 15:10:16

MacBookにBLAST+をいれた

今日は子守で会社を休んでいるのでPRMLのサンプリングの章でもじっくり読んでやるかという有意義そうな予定を組んでいたのだけど、なぜかmacbookにblast入れたりしていた。

しかもportで入れたblastが古くてあれやなぁと。調べたら今時はBLAST+(ブラプラって読むの?)らしくて、Biopythonのほうも対応しているらしいのでこっち入れなあかんやろと、何が目的だっけ?そもそもblast入れる目的なんだっけ的なよくあるパターンに。

NCBIのダウンロードサイトからMac OSX用のをダウンロードすればよい。

/usr/loca/ncbi/binにインストールされるのでパスを切っておく。

コマンドは引数も含めていろいろ変更されていて、blastallのpオプションで指定していたのがそのままコマンドになっている。formatdbがmakeblastdbになっていたりとか。

引数も短縮形じゃなくて、意味がわかるようなものに変更されている。

blastp -query test.fasta -db pdbaa

あと、ホームディレクトリでblast実行すると以下のエラーが出るんだけど、最初どこに問題があるんだかわからなかった。

terminate called after throwing an instance of 'ncbi::CSeqDBException'
  what():  NCBI C++ Exception:
    "/am/ncbiapdata/release/blast/src/2.2.23/IntelMAC-universal/c++/GCC401-
ReleaseMT--IntelMAC-universal/../src/objtools/blast/seqdb_reader
/seqdbimpl.cpp", line 412: Error: OID not found

Abort trap

で、dbのファイルを絶対パスで指定してやると解決した。

blastp -query test.fasta -db /Users/kzfm/blast/db/pdbaa

ただしデータベースが見つからないときのエラーは

BLAST Database error: No alias or index file found for protein database

こんなんだからなぁ。

なんなんだろうね。バグ?

ProductName Bioinformatics Programming Using Python
Mitchell L. Model
Oreilly & Associates Inc / ¥ 5,915 ()
在庫あり。

2010/04/03 15:58:31

macbookにMongoKitをいれた

>>> from mongokit import *
Traceback (most recent call last):
    from magic import Magic
  File "build/bdist.macosx-10.5-i386/egg/magic.py", line 112, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/ctypes/__init__.py", line 353, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: dlopen(/opt/local/lib/libmagic.dylib, 6): image not found

これはfileが入ってないせいらしいので、portで入れとく

$ sudo port install file
--->  Computing dependencies for file
--->  Fetching file
--->  Attempting to fetch file-5.04.tar.gz from http://distfiles.macports.org/file
--->  Verifying checksum(s) for file
--->  Extracting file
--->  Applying patches to file
--->  Configuring file
--->  Building file
--->  Staging file into destroot
--->  Installing file @5.04_0
--->  Activating file @5.04_0
--->  Cleaning file

これでOK

2010/03/23 21:31:03

HDD交換したらemobileつながらなくなった

今日は一日、ネット接続なしの生活を送った。

今日、先日HDDを交換したmacbookを抱えて、新幹線に乗り込んだんだ。そして、三島を過ぎたあたりで、emobileが認識しないことに気づいたんだ。結局俺は大きいiPodを抱えてたってわけさ。そのドでかいiPodで行きも帰りもABCを見続けたぜ、、、FML

ハックマイライフがファックマイライフだったということで。

帰ってきて、emobileのユーティリティ入れなおしたけど認識しなくて、こことか参考にして、この方法は再起動したらつながるようになった。謎の挙動すぎる。

でかいiPodにはsoftware designのDVDが突っ込んであったので、couchdbで検索したら2009年9月号のDHHのインタビューが引っかかってきて、それが面白かった。HDDを増量したことで、pdfを気軽に突っ込んでおけてよい


さて、新幹線の中で考えた。

amazon EC2でMPIクラスター組めるんだったら、GAMESS-FMOで量子化学計算からのアプローチでSBDDやるようなベンチャー出てきてもいいのかなと、ふと思ったりしたんだけど。ハイスループットな結晶化技術と組み合わせれば(定量的)構造-FMOエネルギー相関QSFmoRとか出来るうえに、クラスター自前で持たなくても計算できて、ノウハウもたまりやすくていいんじゃないかなぁと思ったのだけど。

量子化学計算は、計算するのもコツがいるし、仮に(そのコツ)の部分が克服されて誰でも計算できるようになったとしても、計算結果の解釈にはそれなりに理論的な知識が必要で(ただ数字読めばいいってわけではないし)、QSARとかQSPRとかと違って陳腐化しにくい知識だしだよねー的な話を業者の人としたことがあるんだけど、その業者の人曰く、

「だからブレークしないし人も流入してこないんですよねー」

!?