OCamlでtake

今日のOCaml

Ocamlはlistでtakeが使えん。どうもextlibを使う必要があるらしい。

# #require "extlib";;
/opt/local/lib/ocaml/site-lib/extlib: added to search path
/opt/local/lib/ocaml/site-lib/extlib/extLib.cma: loaded
# open ExtList.List;;
# let a = [1;2;3;4;5;6;7;8;9;0];;
val a : int list = [1; 2; 3; 4; 5; 6; 7; 8; 9; 0]
# take 3 a;;
- : int list = [1; 2; 3]

ホールのカルダモン

うちは結構カレーを食べます。でも、ルーは使わないしジャガイモも入ってるのは稀だたり。ゴーヤと大根と厚揚げの組み合わせとか結構いける。あと納豆とトマトとツルムラサキも。

で、クミンシードとかクローブとかはホールで手に入るのでいいのだけど、最近カルダモンのホールが手に入りにくくてとうとう切れてしまった。

どうしたもんかと思ったらamazonで買えることが判明。

開運「涼々」

夏向けの酒ということで購入

1247997431

キレがいいというかスルスルと。

この時期吞むならこういう系がよいな。

「ふつうのコンパイラをつくろう」を予約

欲しいものリストには入れてあって買うかどうか悩み中だったのだけど目次みたら欲しくなったのでポチッた。

ProductName ふつうのコンパイラをつくろう 言語処理系をつくりながら学ぶコンパイルと実行環境の仕組み
青木 峰郎
ソフトバンククリエイティブ / ¥ 3,360 ()
近日発売 予約可

PK3-2(設問4,5)

繰り返し経口投与の続き

ProductName ファーマコキネティクス―演習による理解
杉山 雄一,山下 伸二,加藤 基浩
南山堂 / ¥ 6,300 ()
在庫あり。

設問 4

肝クリアランスと肝血流の大きさから律速を判断。

v = Vmax*[S] / (Km + [S])

肝クリアランスに飽和が見られるから

CLh_int = Vmax/Km * 1/Cu

ここでCu = Cpss * fp

vh = Cb*CLh vr = Cpss*Rb*CLr

設問 5

v=D/t*(F-fe),C=Cpss*fp でMicaehlis-Menten式の形でフィッティング

> data <- read.csv("/Users/kzfm/PK/pk32b.csv")
> data
  Dose      C     v
a   10  0.212 0.308
b   30  0.675 0.850
c  100  2.400 2.420
d  300  7.850 5.750
e  500 13.800 7.920
> attach(data)
> e <- nls(v ~ Vmax*C/(Km+C),start=list(Vmax=10,Km=10))
> e
Nonlinear regression model
  model:  v ~ Vmax * C/(Km + C) 
   data:  parent.frame() 
 Vmax    Km 
15.09 12.59 
 residual sum-of-squares: 0.01301

fpocket

コマンドラインでタンパク質のポケットを探索してくれる。

fpocket

論文によるとVoronoi tesselationをつかってalpha sphere detectionをやるみたい。

1R39に対して試してみた。

実行は

fpocket -f 1R39.pdb

と叩けば、ディレクトリが出来てPyMol,VMD用のファイルが出力される。

1r39

「パターン、Wiki、XP」を読んだ

パターンランゲージとWikiの関係

無名の質とか

タオイズムっぽくつながるのも楽しい。

ProductName タオは笑っている (プラネタリー・クラシクス)
R・M・スマリヤン
工作舎 / ?円 ( 1981-04-20 )


一方で、そういう質は捉えようとしても捉えられないものなのかなとも思った。

今日のセミナー

いつも社内競争倍率が高くて他の人に取られてしまうユーザー会に演者として呼んでもらえたので、5年ぶりくらいに参加できた。

いろいろと新しいヒトに逢えたりとか、会社を移って何年か会ってない人とか、学部の先輩にあったりとか、たまには違うユーザー会に出てみるのもいいものだなと思ったのであった。

で、僕のプレゼンが終わってから、先輩だったヒトに、プレゼンが僕らしいといわれたのだけど、どこが僕らしいのかは自分ではわからないもんですな。

いろいろと楽しい一日だった。

PK3-2(設問1-3)

繰り返し経口投与

ProductName ファーマコキネティクス―演習による理解
杉山 雄一,山下 伸二,加藤 基浩
南山堂 / ¥ 6,300 ()
在庫あり。

設問1

省略

設問 2

CL = (F * (Dose/t)) / Cp,ss 10mgのデータからFを決定する

CLb=CLp/RbからRbをつかって全血基準のクリアランスを求める

t1/2をもとめる

一般に、薬物を持続投与する場合、消失半減期の5倍の時間が経っている時には定常状態に達しているとみてよいので これをもって定常状態の判断に利用してよい

設問 3

> data <- read.csv("/Users/kzfm/PK/pk3-2.csv")
> data
  dose     cpss   fe
A   10 0.000424 0.63
B   30 0.001350 0.66
C  100 0.004800 0.71
D  300 0.015700 0.77
E  500 0.027500 0.81

> attach(data)
> fp <- 0.5
> Rb <- 0.7
> Vd <- 30
> ka <- 1.5

> CLb <- (dose/12)/(cpss*1000*Rb)
> CLb
[1] 2.807727 2.645503 2.480159 2.274795 2.164502

> CLr <- CLb*fe
> CLr
[1] 1.768868 1.746032 1.760913 1.751592 1.753247

> CLh <- CLb - CLr
> CLh
[1] 1.0388589 0.8994709 0.7192460 0.5232029 0.4112554

pythonでMCMC

最近、Journal of Pharmaceutical SciencesみたいなDMPKな雑誌を読むようになってきた。その中でScipyとpymcっていうpythonでMCMCができるモジュールを使って解析してた論文を見たので試したくなった。

sudo easy_install-2.6 pymc

でさくっと入って、テストしてみたらなんか色々こけてるようなのだけど、とりあえずサンプル写経

import pymc
import numpy as np
n = 5*np.ones(4,dtype=int)
x = np.array([-.86,-.3,-.05,.73])
alpha = pymc.Normal('alpha',mu=0,tau=.01)
beta = pymc.Normal('beta',mu=0,tau=.01)

@pymc.deterministic
def theta(a=alpha, b=beta):
    """theta = logit^{-1}(a+b)"""
    return pymc.invlogit(a+b*x)

d = pymc.Binomial('d', n=n, p=theta,value=np.array([0.,1.,3.,5.]),observed=True)

これをmymodel.pyって名前で保存しておいて

対話環境から

>>> import mymodel
>>> import pymc
>>> S = pymc.MCMC(mymodel, db='pickle')
>>> S.sample(iter=10000, burn=5000, thin=2)
>>> pymc.Matplot.plot(S)
>>> pymc.Matplot.savefig("test.png")

mcmc

うーんMCMCわからん。精進せねば。

ProductName パターン認識と機械学習 上 - ベイズ理論による統計的予測
C. M. ビショップ
シュプリンガー・ジャパン株式会社 / ¥ 6,825 ()
在庫あり。

ProductName パターン認識と機械学習 下 - ベイズ理論による統計的予測
C. M. ビショップ
シュプリンガー・ジャパン株式会社 / ¥ 8,190 ()
在庫あり。