ちょっとスライドたくさん作らなきゃいけなくて、休日出勤したので帰りにリパブリューでIPA飲んできた。うまし

月曜は家で仕事してたら、電車に乗り遅れて昼が取れなかったのだけど、会議が予定より早く終わって七彩のラストオーダーに間に合ったので、初めての七彩。注文を受けてから麺を打つの斬新。

庫裏で日本酒ちょっとずつ。

週末は弟夫婦が来てたのでやきとりの王将にいった。



焼きうずらのたまごは殻ごと食べられて不思議な触感だった。

ちょっとスライドたくさん作らなきゃいけなくて、休日出勤したので帰りにリパブリューでIPA飲んできた。うまし

月曜は家で仕事してたら、電車に乗り遅れて昼が取れなかったのだけど、会議が予定より早く終わって七彩のラストオーダーに間に合ったので、初めての七彩。注文を受けてから麺を打つの斬新。

庫裏で日本酒ちょっとずつ。

週末は弟夫婦が来てたのでやきとりの王将にいった。



焼きうずらのたまごは殻ごと食べられて不思議な触感だった。

24012018 pokemongo
16012018 chemoinformatics
深層学習、強化学習関係の本を買ってみた。
速習強化学習は八重洲ブックセンターでパラパラめくったら良さそうだったので購入。あとAIっていうラノベだかファンタジーの新ジャンルが出来ていて花開いているなと感じた。
それから、深層学習、強化学習をCで実装するっていう漢だなと思える本があった。
詳解ディープラーニングも読み物として良さそうだなと思ったんだけど、分厚かったので却下、家に帰ってポチるかとアマゾン開いたらKindleでも買えたのでそっちを購入、でもfire8だとちょっと文字が小さい。固定レイアウトはあんまりよくないよね。
07012018 Python powerpoint
昨日のこれをちゃんとコマンドライン化してmishima.sykのrepositoryにあげておいたので適当にいじってください。
まともに動くようになったらpypiにでもあげようかなと思いますがとりあえず動かしたい場合にはgit cloneしてから
python setup.py install
で、md2pptxというコマンドが使えるようになるのでmd2pptx --helpで使い方を確認してください。
もともとのmarkdownの記法ではクラス属性とか渡せないんだけど、Attribute_list を使うとよろしい感じだったのでそうしています。
あたりの情報はこれを使えばなんとかなるのではないかと。
07012018 life
毎年、正月休みで食べすぎて体重が増えて困るので今年こそはと工夫してみた。
クリスマス-年越しイベントのせいか、近所の公園が常にルアーが炊かれているので、英語のポッドキャストを聴きながら、しあわせタマゴを使用してゴプラをポチポチしながら歩くという一石三鳥な取り組みを毎日やった。
TEDとかその他のポッドキャストもそうだけど、一回10分くらいの長さだから、3話聞くと、たまごの効果が切れてちょうど終了タイミングなのでよい。更に夜歩く時はコンビニでチューハイ買って飲みながら歩いていたので四鳥効果が得られてさらによろしかった。
ザングースも取れたし、モンボも800弱までたまった。

ただ、ゴプラポチポチも割と集中力が削がれるので、押しっぱなしのほうが良かったなぁと思う。
ホエルコを相棒にして2週間くらい。

07012018 life
年末年始はあまりどこにも出かけなかったので、料理したり、勉強したりして過ごしていた。
同僚と行った天鳳で年越し麻婆

色々と面白い話を聞けてよかった。

29から休んで、おせち作りに励んでいた(あとポケモン、後述)。いつもはごまめだけで作るオールドファッションなスタイルだったのだが、同僚から教えてもらったゆずジャムのレシピを参考にピーナッツとマーマレードで作ってみたらこっちのほうが子供受けが良かったので、次からはこっちで作ろう。

魚清で塩抜き数の子を買ったので、松前漬けにした。自分のお酒の肴として。 いつもはかなりの量を作って消費しきれなくて最後嫌になるので今回は少量サイズ(でも今年も今日までかかったw)

栗きんとんは今年は安納芋でつくってみたけど、安納芋は皮むくと直ぐに変色してどす黒くなるので、見た目がなかなか良くなかったけど、甘さはピカイチだった。来年は金時に戻すと思う。このあたりのお菓子的なレシピは娘が積極的に関与してくれるので、今年は楽だったw

息子と一緒に作った牛肉の八幡巻き。まぁ巻くだけなんだけど、美味しく出来て満足していたみたい。

黒豆は上手にできた。あといつもよりは柔らかめに炊いてみた。甘さ的には申し分ない。甘すぎる黒豆は食べ飽きるので このくらいでよいかな。

新年の富士山

今年は息子がカニを食べてみたいというので、ズワイを買ってみたけど、 来年はいいかなーって感じ。それよりも柵で買ったマグロのほうが喜ばれたので 次回はマグロ多めにするかと思う。

栗きんとんで余った安納芋で作ったりんごとさつまいものタルト。タルトは一日がかりだから めんどくさいんだけど、娘がせっせと作っていた。

ドライエージングビーフ。カニより肉だったw

トゥナパハとガラムマサラ。そろそろカレー作りたい。

フィンランドで買ったチリコンカンの素を使ってみたけど、これ美味しい。 あと一袋あるからまた今度作る。

06012018 Python powerpoint
風邪をひいたようです。自覚症状ないから気づかなかった。
python-pptxも良いけど、markdownで書いたのがPowerPointの任意のテンプレート上にさくっと反映できないかあ。邪道なのかな_(┐「ε:)_
— じょん (@no85j) 2018年1月5日
こんな感じで如何?handle_dataメソッドでタグの情報持てないから、ちょっと考えた。HTMLパーサーよりはXMLパーサーのほうがやりやすい気もする。
from markdown import Markdown from html.parser import HTMLParser from pptx import Presentation class MyHTMLParser(HTMLParser): def __init__(self): super(MyHTMLParser, self).__init__() self.prs = Presentation() self.tags = [] self.slide = "" def handle_starttag(self, tag, attrs): if tag == "h1": slide = self.prs.slides.add_slide(self.prs.slide_layouts[0]) self.slide = slide self.tags.append(tag) elif tag == "h2": slide = self.prs.slides.add_slide(self.prs.slide_layouts[1]) self.slide = slide self.tags.append(tag) elif tag == "h3": self.tags.append(tag) else: print("Encountered a start tag:", tag) def handle_endtag(self, tag): pass def handle_data(self, data): if len(self.tags) > 0: tag = self.tags.pop() if tag == "h1": self.slide.shapes.title.text = data elif tag == "h2": self.slide.shapes.title.text = data elif tag == "h3": p = self.slide.shapes.placeholders[1].text_frame.add_paragraph() p.text = data else: print("Encountered some data :", data) def close(self): self.prs.save("sample.pptx") def md2pptx(md_txt): md = Markdown() parser = MyHTMLParser() parser.feed(md.convert(md_txt)) parser.close() sample_md = ''' my sample slide =============== title of a Content slide ------------------------ ### this paragraph ### that paragraph ### the other paragraph another title of a Content slide ------------------------ ### this paragraph ### that paragraph ### the other paragraph ''' if __name__ == '__main__': md2pptx(sample_md)
05012018 chemoinformatics
例えば
でフッ素原子が文字列の最後尾に来るようなSMILESを得たいとする。
RDKitにはRenumberAtomsというメソッドが用意されているので、原子のインデックスを変更してからSMILESに出力すればうまくいくんじゃないかと思いついたのでやってみた。
from rdkit import Chem mol = Chem.MolFromSmiles("Fc1ccc(Nc2[nH]cnc3ncnc23)cc1") l = list(range(mol.GetNumAtoms())) max = l.pop() l.insert(0, max) new_mol = Chem.RenumberAtoms(mol, l) print Chem.MolToSmiles(new_mol, canonical=False)
出力結果
c1c(F)ccc(Nc2[nH]cnc3ncnc2-3)c1
うまくいかない
今回の場合はアルゴリズムの空気感を読んでリバースすれば上手くいった。
from rdkit import Chem mol = Chem.MolFromSmiles("Fc1ccc(Nc2[nH]cnc3ncnc23)cc1") l = list(range(mol.GetNumAtoms())) #max = l.pop() #l.insert(0, max) l.reverse() new_mol = Chem.RenumberAtoms(mol, l) print Chem.MolToSmiles(new_mol, canonical=False)
結果
c1cc(Nc2c3ncnc-3nc[nH]2)ccc1F
やっぱりランダムにSMILESを生成してみて、お目当てのSMILESが出るまでトライする方法しかないんだろうかね
05012018 chemoinformatics
ChEMBLからフラグメントスクリーニングのアッセイ系を検索したいのですがやり方がわかりません。誰か知っていたら教えてもらえると助かります。
とりあえず、キナーゼのアッセイ系で、分子量250未満の化合物が20化合物以上登録されている系を抜き出してみました。