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実行すると以下のエラーが出るんだけど、最初どこに問題があるんだかわからなかった。

  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 / 5075円 ( 2009-12-23 )


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

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とかと違って陳腐化しにくい知識だしだよねー的な話を業者の人としたことがあるんだけど、その業者の人曰く、

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

!?

Software Design 総集編をmacbookに突っ込んだ

macbookのHDDを交換したのでSoftware Design 総集編のpdfを入れてみた。

Spotlightで検索できるようになって便利。

ProductName Software Design 総集編 【2000~2009】(DVD付)

技術評論社 / ¥ 2,079 ()
在庫あり。

macbookのHDDを交換した

結局半日かかった。

そろそろmacbookのHDDが一杯なので、交換しようと思い立ち、amazonでドライバ,ネジ、SATAケースを注文。ドライバは近所のホームセンターに売ってなかったのでめんどくさくなってamazon使ったけど、ダイソーとかにも売ってるらしい。

ProductName SANWA SUPPLY TK-002 ドライバーセット

サンワサプライ / ¥ 819 ()
在庫あり。

昨日ケース以外が届いたので、TimeMachineから復元すればいいかなぁと昼から交換作業を開始した。HDD交換してDVDインストールに2時間くらい、そのあとTimeMachineからの復元に5時間くらいかかった。

ケースはwindowsで管理していた写真をmacbookに移すために必要だったので、これが届いたら写真のデータをmacbookに移してwindowsからの以降が完全に完了する。

追記 100316

この方法だとXcodeは入れなおさないといけない。

Dalvik Debug Monitor Service (DDMS)

Google Androidアプリケーション開発入門を読んでる。

4章にDDMSでログが表示されるという記述があるのだけど、どうやったら表示されるのかの手順が書いてないので困った。入門と銘打っているのだから端折らないで欲しいところ。

Eclipseの右上のあたりから。ボタンが無い場合はopen perspectiveのアイコンから選ぶ。

eclipse

画面下部にLogCatというタブが現れてログが表示される。

macbookにAndroidエミュレータを入れた

android-sdk_r04-mac_86.zipを入れたのだけど、SDKの設定の仕方が本とは違っていたので、ちと手間取った。

ダウンロードしてからandroidのあるパス(xxx/tools)を通してコマンド実行。管理画面のAvailable Packagesから必要なパッケージをインストール。本のサンプルを動かすために1.5,1.6,2.1を入れてみた。

あとインストールが上手くいかないのでSettingsのとこのForce...ってのをチェックした。

android

こっちはサンプル動かしてみる用

こっちはリファレンスとして使う

ProductName Google Androidプログラミング入門
江川 崇,竹端 進,山田 暁通,麻野 耕一,山岡 敏夫,藤井 大助,藤田 泰介,佐野 徹郎
アスキー・メディアワークス / ¥ 3,990 ()
在庫あり。

macbookにOpenCVを入れると楽しいことに気づいた

portでインストールすればよい

sudo port opencv

途中でこけたので、メッセージ通りに

Error: Some libs are missing from your X11 installation. Please run this command:
Error: sudo ln -s libXrandr.2.dylib /usr/X11/lib/libXrandr.2.0.0.dylib
Error: Target org.macports.fetch returned: missing /usr/X11/lib/libXrandr.2.0.0.dylib

あとサンプルがみつからなかったので結局ソースを落としてきてsample/pythonのスクリプトで遊んでみた。

motempl.pyってのが面白い。

motempl

pythonのサンプルが結構あるので、暇を見て読んでみる事にする。

ProductName Learning OpenCV
Gary Bradski
Oreilly & Associates Inc / ?円 ( 2008-10-03 )


これもやっぱ欲しくなってきた。

Inline::Python

Inline::Pythonのバージョンがあがったのでmacbookに入れて遊んでみた。

generatorが使いたかったのだけど、nextを呼ぼうとすると

Can't call method "next" without a package or object reference at test.pl line 3.

と怒られてしまうのであった。

pythonでthreadingとmultiprocessing

Python vs Clojure – Evolving « Best in Classをみてて、「ほう」となったので、手元のmacbookで。

t_seq.py

def count(n):
    while n > 0: n -= 1

count(100000000)
count(100000000)

t_thread.py

from threading import Thread

def count(n):
    while n > 0: n -= 1

t1 = Thread(target=count,args=(100000000,))
t1.start()
t2 = Thread(target=count,args=(100000000,))
t2.start()
t1.join()
t2.join()

t_mprocessing.py

from  multiprocessing import Process

def count(n):
    while n > 0:
        n -= 1

t1 = Process(target=count,args=(100000000,))
t1.start()
t2 = Process(target=count,args=(100000000,))
t2.start()
t1.join()
t2.join()

結果

$ time python t_seq.py;time python t_thread.py;time python t_mprocessing.py

real    0m17.032s
user    0m16.886s
sys 0m0.067s

real    0m37.139s
user    0m29.756s
sys 0m23.039s

real    0m8.777s
user    0m16.973s
sys 0m0.083s

Clojureのほう

user=> (defn countdown [n] (when (pos? n) (recur (dec n))))

#'user/countdown
user=> user=> (time (doall (pmap countdown (repeat 2 100000000))))
"Elapsed time: 8164.085 msecs"
(nil nil)