仕掛けが早くて美濃に囲えなかった。しょうがないのでカニカニ銀みたいに銀を出していこうかなと考えたがやっぱりやめた。居玉なんてbg7860みたいじゃないか…w
潰されなかったので良かったけど。
自分でも石田流を少し指してみたい。
後は将棋始めた時に読んでさっぱり分からなかった四間飛車を指しこなす本を再度読んだら面白くてこればかり読んでいる。
仕掛けが早くて美濃に囲えなかった。しょうがないのでカニカニ銀みたいに銀を出していこうかなと考えたがやっぱりやめた。居玉なんてbg7860みたいじゃないか…w
潰されなかったので良かったけど。
自分でも石田流を少し指してみたい。
後は将棋始めた時に読んでさっぱり分からなかった四間飛車を指しこなす本を再度読んだら面白くてこればかり読んでいる。
08072014 chemoinformatics Python
K-meansのように予めクラスタ数を指定すると、「そのクラスタ数は正しいの?」っていう疑問が浮かぶと思う。
「なんらかの統計値に基づいて適切なクラスタに分割して欲しい」そんな願いを叶えるのがAffinity Propagationというクラスタリングアルゴリズムである
exemplara(セントロイドとかクラスタ中心)になるべきパラメータ(responsibility)とクラスタメンバに属しやすさ(availability)を交互に更新していって収束させる手法なので、K-meansのような初期値依存性がないらしい。
クラスタ数は類似度行列の対角要素(自分との類似度)に依存する(デフォルトはmedian)のでここを変更するとクラスタ数も変わるんだけどね。
Scikit-learnではAffinity Propagationが実装されているのでsykのケミストリースペースを作ってクラスタリングしてみた。ちなみにスライドのPCAの説明は間違っていた(pca.fit(fps).transform(fps)としなければいけなかった)。
from rdkit import Chem from rdkit.Chem import AllChem, DataStructs from sklearn.decomposition import PCA from sklearn.cluster import AffinityPropagation from ggplot import * import numpy as np import pandas as pd suppl = Chem.SDMolSupplier('syk.sdf') fps = [] for mol in suppl: fp = AllChem.GetMorganFingerprintAsBitVect(mol, 2) arr = np.zeros((1,)) DataStructs.ConvertToNumpyArray(fp, arr) fps.append(arr) print len(fps) pca = PCA(n_components=2) x = pca.fit(fps).transform(fps) af = AffinityPropagation().fit(x) d = pd.DataFrame(x) d.columns = ["PCA1", "PCA2"] d["labels"] = pd.Series(af.labels_) g = ggplot(aes(x="PCA1", y="PCA2", color="labels"), data=d) + geom_point() + xlab("PCA1") + ylab("PCA2") ggsave("ap.png", g)
06072014 三島 chemoinformatics
03072014 chemoinformatics Python
homebrewのRDKit入れたらこんなエラーに遭遇
$ python mkdesc.py Fatal Python error: PyThreadState_Get: no current thread Abort trap: 6
brew rm boost brew install --with-icu --build-from-source boost brew uninstall rdkit brew install rdkit
で動くようになったけど brew installで再度boostのインストールを始めたので2番目のboostのインストールは必要ないかもしれない
30062014 life
土曜日の資料を作りつつggplotの時系列データがないなーと思っていたらSimple DietはGoogle Driveにデータをエクスポート出来ることを思い出して早速使ってみた。
loessのフィッテイングだとこれ以上は体重は減らないように見える(というより20歳以後もっとも体重が減ったw)
というわけでSimple Dietで記録したら痩せましたという話です。
定量的なフィードバックが得られるので、どのくらい食べると増加傾向(減少傾向)になるというのが理解でき、自分の意志で食べる量をコントロールできるようになって無理なく痩せられたので自分には合った方法だった。
import pandas as pd from ggplot import * import numpy as np d = pd.read_csv("SimpleWeight.csv", parse_dates=[0]) d['nw'] = d['Weight'] / **** p = ggplot(aes(x='Date', y='nw'), data=d) + \ geom_point(color='lightblue') + \ stat_smooth(span=.15, color='black', se=True) + \ ggtitle("Simple Diet") + \ xlab("Date") + \ ylab("Weight") ggsave("weight.png", p)
30062014 chemoinformatics Python
ChEMBLからデータを取ってきて、活性が強いほど色が濃くなってドットのサイズも大きくなるようにしてみた。python-ggplotを使うと数行で描くことができるので調子いいですみたいな話をします。
あとはscikit-learnとrdkitで予測モデルを作ったりクラスタリングをしたりといった話もできればなーと考えているので、 興味があれば参加して下さい。
import pandas as pd from ggplot import * import numpy as np d = pd.read_csv("syk.csv") d["pIC50"] = 9 - np.log10(d["IC50"]) print d p = ggplot(aes(x='MWT', y='ALOGP', color="pIC50", size="pIC50"), data=d) + geom_point() #print p ggsave("2dplot.png", p)
29062014 三島 chemoinformatics
ただいま、絶賛スライド作成中です。
なんというかscikit-learnのインストールではまっていたw。というより色々やっているうちにpipが壊れてわけがわからんようになったのでsofを見ながら治した。治療w
brew install python --build-from-source sudo pip install numpy --upgrade sudo pip install matplotlib --upgrade sudo pip install scikit-learn --upgrade sudo pip install ggplot --upgrade sudo pip install psycopg2 --upgrade sudo pip install pychembldb --upgrade
/usr/bin/pythonを使うならScipy Superpackでいいんだけどね。homebrewのpythonで使うならこっちを見ながら。
ちなみに
brew install gfortran
のところは
brew install gcc
でいいです(今はgfortranはgccに含まれているので)
このAA結構好き
// / / パカ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ <9二香 / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ ∩___∩ | ノ ヽ / ● ● |__ /| ( _●_) | / <9一玉  ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ パタン ________ / / <8二銀
尚、以下は振り穴ではなく、振り蟻なので間違えないように。
ホジホジされて追い出された蟻の王…