21102014 将棋
2級のヒト。対イビアナ
時間切れ勝ちしたけど、あのまま受けきれていなかったと思う。
右辺から攻めるのか左辺から攻めるのかちぐはぐになってしまった。
反省しながら二巻を読み返していた。
20手目4六歩、22手目5六銀にすべきだったなぁと。
21102014 将棋
2級のヒト。対イビアナ
時間切れ勝ちしたけど、あのまま受けきれていなかったと思う。
右辺から攻めるのか左辺から攻めるのかちぐはぐになってしまった。
反省しながら二巻を読み返していた。
20手目4六歩、22手目5六銀にすべきだったなぁと。
21102014 chemoinformatics cytoscape
RDKItはインストールが面倒くさいのと、実務だとPipelinePIlotとかOpenEye使うだろうからさらっと流すかも。その分iGraphのいじり方を多めに説明するかもしれない。
まだスライドに手をつけてないからわからないけどw
iGraphを使えばノードとエッジに属性を簡単に付加できてgml形式で出力できる。このファイルはすぐにCytoscapeで開くことが出来て便利です。sifとかタブ区切りテキストは色々と面倒ですね。
from rdkit import Chem from rdkit.Chem import AllChem, DataStructs, MolToSmiles import numpy as np from igraph import Graph import numpy as np import logging logging.basicConfig(level=logging.DEBUG) threshold = 0.5 suppl = Chem.SDMolSupplier('syk.sdf') fps = [AllChem.GetMorganFingerprintAsBitVect(mol, 2) for mol in suppl] smiles = [MolToSmiles(mol) for mol in suppl] mat = [] for i in range(len(fps)): mat.append([DataStructs.FingerprintSimilarity(fps[i],fps[j]) for j in range(len(fps))]) sm = np.array(mat) def search_root(sm, remain): cand = None max_c = 0 for l in remain: num_c = len(np.where(sm[l] > threshold)[0].tolist()) if num_c > max_c: max_c = num_c cand = l return cand def check_edge(sm, current, root): cand = None max_c = 0 candidates = set(np.where(sm[root] > threshold)[0].tolist()) for c in candidates: if c in current: if sm[root, c] > max_c: max_c = sm[root, c] cand = c return cand edges = [] sim_edges = [] np.fill_diagonal(sm, 0) remain = set(range(len(sm[0]))) current = set() new = set() ith = 1 while remain: logging.debug("### {} th ###".format(ith)) ith += 1 root = search_root(sm, remain) if root is None: break logging.debug("root: {}".format(root)) cand = check_edge(sm, current, root) if cand: logging.debug("connect {} and {}".format(cand, root)) edges.append((cand, root)) current.remove(cand) sm[:, cand] = 0 remain.remove(root) sm[:, root] = 0 for i in np.where(sm[root] > threshold)[0].tolist(): if i in remain: edges.append((root, i)) sim_edges.append(sm[root, i]) new.add(i) logging.debug("new nodes: {}".format(new)) current |= new remain -= current new = set() g = Graph(edges) g.vs["smiles"] = smiles g.es["similarity"] = sim_edges g.save("test.gml")
20102014 chemoinformatics cytoscape
今回はなかなか企業にいると触れることのないと噂のNGSデータの分析のハンズオン(@bonohu)が目玉ですが、他には化合物のネットワーク関連の話が多そうなので興味があれば参加してください。懇親会も、ディープ目のところを攻めていくので出ると楽しいハズw
尚、私の発表は、Cytoscape.jsで化合物ネットワーク解析の触りをやろうというハンズオンにする予定です。ハンズオンが終わったらこんなのを描けるようになるのが目標です。
とかいいつつ、エッジの張り方を色々と試行錯誤しはじめていた。下はある構造最適化の論文の化合物群に対して最近傍同士をつないでいったネットワーク。
なんか細切れになっていて気持よくない。やっぱルートから一本につながってないとあかんよなとw
どういうネットワークを作るかというのが非常に重要だと思っているので、距離に使う記述子の話とか、どういう風にノード同士をつなげるかとかそういう話もしてみたいかな。
19102014 Food
時間があまりなかったので、手早く作れるものが多かった。
玉ねぎは余っていたので入れてみた。レシピ的にはごぼうを入れるべきなのだけど売ってなかった
そういえばピクルス最近作ってないなぁ。
肉がなかったので魚ソーで。カレー粉はギャバンのパウダーを少々。
これ以上のご飯の量だと中華鍋が触れないので腕を鍛える必要性を感じたw
さわやかの待ち時間に読んでいたオレンジページに載っていたので、記憶を頼りに早速作ってみた。
ちょっと醤油が足りなかった感はあったが、子供が気に入って沢山食べたので満足。
18102014 将棋
相ゴキになった時に相手が端角にしてきて抑えこまれて負けることが増えたんだけど、対策はどうすればいいのだろうか?
端を着いた瞬間に3一に角を引いておけばいいのかなぁ、わからん。
今のところ相手が中飛車だと自分も無条件に中飛車にしてしまう…
18102014 将棋
振り飛車穴熊
立石流
13102014 sake
食べ物リストはここ
にほん酒やの十字旭とポークビンダルーしか撮ってないw
かんだ光壽の鮎開き柚庵焼きが美味でした。
頂いたものリスト
06102014 将棋
相変わらず3切れのみ指してるが4連敗は凹む
27級だけど10切れ初段だった。
KK4でお互い龍と馬を作って角打ちされた時にどうするのがよいんだろうか?角打ちしないで飛車交換したほうがいいの?
2級のヒト よくわからんうちにいいようにやられた。角は3三にあげないほうがいいんだろうか?
2級のヒト、10切れ初段 4四銀、3三桂?こういう場合は向かい飛車に振り直すべきなの?
1級のヒト
矢倉の場合、金駒渡しちゃうと受け切られちゃうけど。こういう場合は攻めをどうすればいいのかわからない。特に3切れだと、切れ負け狙われて面白くない。
64手目は銀を逃がすべきだった気もするが。
それから74手目は6六角で王手飛車すべきだった。