26052009 bioinformatics
意外に家でBLASTかけないなぁ。 でもmacbookにも入れておこうと思った。そうすることでATGCの管理もできる?
sudo port install ncbi_tools
sudo port install EMBOSS
26052009 bioinformatics
意外に家でBLASTかけないなぁ。 でもmacbookにも入れておこうと思った。そうすることでATGCの管理もできる?
sudo port install ncbi_tools
sudo port install EMBOSS
ちょっと、三島まで。ついでにラーメンでもと娘と一緒に言ってみたが、ラーメンばっかりは嫌だというU隊長の主張により急遽、うなぎ。
久々のうな繁

まぶし丼。ネギに隠れているのでおひつから器に移したのも撮った。

昆布出汁を好みでかけたりかけなかったり。
そして帰りにプチフールでケーキを買っていく。

ライチのゼリーがよかった。

24052009 music
AmetsubのOct.24のRemixがやばすぎ。
アメツブって読むのね。
24052009 chemoinformatics work
リードホッピングとはつまるところ、選択されなかったより良い未来を、過去にさかのぼり選択しなおすことだと思うのだ。または、現在の結果が(成功にせよ失敗にせよ)選択されたことで、過去の時点の確率が変化したというベイズっぽい解釈でもよいかと。

上の図でいうと外側のサークルを類似性とかで辿ったとしてもホッピングなんて成し遂げられなくて、もっと、最初の化合物に近いところにさかのぼりつつうまい分岐点で辿りなおさないといけない。
そのためには化合物のデータベースがここの化合物がどう継承されるかを記録されプロジェクト毎にツリーとして表せるようにしておかないといけないんだろうなぁ、なんて思うわけだ。
24052009 sake
実家から送られてきたが、保管があれなのか、いまいち美味く感じられなかった。 電話で聞いたらどこぞのデパートで買ったとのこと。

もう少しちゃんとしたところで買ってほしいと思う。そうじゃないと贈られても正直嬉しくない。あと、好みもあるしな。次、送るんだったら仙禽か大那を送ってくれと注文をつけといた。
酒あんま飲まないヒトは焼酎とかセレクトして贈ったほうがいいと思うな。
レイアウトをもう少しちゃんとしたい。
import pygraphviz as pgv
G=pgv.AGraph(strict=False,directed=True)
G.add_node('V1,C1')
G.add_node('V2,C2')
G.add_node('X1')
G.add_node('X2')
G.get_node('V2,C2').attr['shape'] = 'box'
G.get_node('V1,C1').attr['shape'] = 'box'
G.add_edge('V1,C1','V2,C2')
G.add_edge('V2,C2','V1,C1')
G.add_edge('V1,C1','X1')
G.add_edge('V1,C1','X2')
G.get_edge('V1,C1','V2,C2').attr['label'] = 'k12'
G.get_edge('V2,C2','V1,C1').attr['label'] = 'k21'
G.get_edge('V1,C1','X1').attr['label'] = 'Km,Vmax'
G.get_edge('V1,C1','X2').attr['label'] = 'K'
G.layout(prog='dot')
G.draw('pk1-3.png')

ゴーヤのために支柱を立てて、ネットを張った。

あと、枝豆の苗とパプリカを植えて、またまたトマトの苗を植えた。娘が、大根を植えると言ってゆずらないので二十日大根の種を買ってまいたのと、つるなしインゲンもついでにまいてみた。
なかなか畑らしくなった。
コンパートメントモデルを書くのにいちいちInkspaceを立ち上げるのもめんどうなのでGraphvizにでも頼るかと思ったらmacbookには入ってなかった。networkxもついでに入れといた。
sudo port install graphviz
sudo easy_install-2.6 pygraphviz
sudo easy_install-2.6 networkx
使う
>>> import pygraphviz as pgv
>>> d={'1': {'2': None}, '2': {'1': None, '3': None}, '3': {'2': None}}
>>> A=pgv.AGraph(d)
>>> A.layout(prog='dot')
>>> A.draw('pyg.png')

フィッティングのための初期値を求める。
t <- c(2.1, 4.1, 6.1, 8.1, 10.1, 14.1, 18.1, 22.1, 30.1, 45.2, 60.2,
120.3, 180.5, 241.8, 470, 948, 1423, 2187, 2831, 4305)
conc <- c(20.5, 17.5, 14.5, 12.5, 13.0, 12.0, 11.0, 9.1, 9.6, 5.6, 4.9,
3.2, 2.0, 1.8, 0.90, 0.85, 0.70, 0.45, 0.43, 0.39)
logc <- log(conc)
lm(logc[15:20] ~ t[15:20])
Call:
lm(formula = logc[15:20] ~ t[15:20])
Coefficients:
(Intercept) t[15:20]
-0.0399743 -0.0002441
exp(-0.0399)
[1] 0.9608855
beta <- function(t){exp(-0.0399743-t)}
ac <- conc[1:14] - beta(conc[1:14])
lm(ac ~ t[1:14])
Call:
lm(formula = ac ~ t[1:14])
Coefficients:
(Intercept) t[1:14]
13.19420 -0.06273
2,3exp式でフィッティングし、あてはめの良さをくらべる。
e2 <- nls(conc ~ a*exp(-alpha*t)+b*exp(-beta*t),
start=list(a=16,alpha=0.028,b=2,beta=0.000637))
e3 <- nls(conc ~ a*exp(-alpha*t)+b*exp(-beta*t)+c*exp(-gamma*t),
start=list(a=16,alpha=0.13,b=8.4,beta=0.0114,c=0.96,gamma=0.000239))
あてはめのよさは赤池の情報量基準で。Rの場合はAIC関数でよい。
AIC(e2) # [1] 56.79388
AIC(e3) # [1] 44.93942
というわけで、exp3式のほうがあてはまりがよい。
skip
DMPKブームがきた!とか思っていたのだけど、突然量子化学計算に引き戻された。
macbookにGAMESSを入れる。とりあえず64bitのを入れた。
溶媒効果を取り入れた計算がしたかったので、exampleを見てたらPCMのサンプルがあったので、これをながしてみる(exam31)
$contrl scftyp=rhf runtyp=optimize nzvar=12 $end
$system timlim=2 mwords=2 $end
$pcm solvnt=water $end
$basis gbasis=n31 ngauss=6 ndfunc=1 $end
$guess guess=huckel $end
$zmat izmat(1)=1,1,2, 1,2,3, 1,3,4, 1,3,5, 1,3,6,
2,1,2,3, 2,2,3,4, 2,2,3,5, 2,2,3,6,
3,1,2,3,4, 3,1,2,3,5, 3,1,2,3,6 $end
$statpt opttol=1d-5 $end
$data
Methanol in PCM water...starting at gas phase geom
Cs
H 1.0 -1.0616171503 0.8036449245 0.0000000000
O 8.0 -0.6870131482 -0.0653470836 0.0000000000
C 6.0 0.7093551399 0.0291827007 0.0000000000
H 1.0 1.0836641283 0.5408321444 0.8835398105
H 1.0 1.0975386849 -0.9797829903 0.0000000000
$end
実行結果(抜粋)
FREE ENERGY IN SOLVENT = -72190.31 KCAL/MOL
INTERNAL ENERGY IN SOLVENT = -72185.33 KCAL/MOL
DELTA INTERNAL ENERGY = 0.00 KCAL/MOL
ELECTROSTATIC INTERACTION = -4.97 KCAL/MOL
PIEROTTI CAVITATION ENERGY = 0.00 KCAL/MOL
DISPERSION FREE ENERGY = 0.00 KCAL/MOL
REPULSION FREE ENERGY = 0.00 KCAL/MOL
TOTAL INTERACTION = -4.97 KCAL/MOL
TOTAL FREE ENERGY IN SOLVENT = -72190.31 KCAL/MOL
さすがに一瞬で終わる。実用を考えるとPerlMolとかopenbabelのオブジェクトからインプットを吐き出して計算させてその結果をオブジェクトにして返すモジュールがあれば素晴らしいのだが。
量子化学専門のヒトは長いインプットから長いアウトプットを出して、それをなめまわす傾向はあるよな(偏見?)
普通のプログラムだとデバッグオプションとかverbose的な扱いの冗長ログが標準というか、、、、
丹念に見るって言うのかなぁ。「必要に応じて覗く」じゃなくて「常に完全に把握する」みたいな感じか。