高年齢者の雇用を増やすということは低年齢者の雇用の機会を減らすということだと思うんだけど

高年齢者の雇用を確保するなら、低年齢者にはBIっぽい制度でも導入しないといけないんじゃないかなぁなんて思うんだけど、どうなんだろうね。それから先日話題にあがった定年引き上げはほぼ確実だろうからなぁ。今の政策は終年雇用的なサラリーマンを救済している感しかないので、自分たちの時にはどうなるのだろうか?と普通に気になる。

ProductName 65歳全員雇用に対応する人事・賃金・考課の知識と実務
小柳 勝二郎
労働調査会 / 2100円 ( 2013-05-13 )


日本の男性高齢者の就業率は非常に高い

日本企業の仕事の仕方がラクなのか、日本は働かないと食べていかれないのか、社会保障に問題があるのか、趣味がないのか、地域との関連が薄いのか

NPOとかで働けばいいのに。

人事制度というものは正解がないよねーと思いながら、人事制度の試行錯誤の歴史物語を読んでいた。

まぁ今のとこ僕の考えている正解は「正解の存在しないような評価制度の枠組みをうまくかわす」ということかなぁ。

DMTAがいいのかそれともTADMがいいのか?

PDCAに対応するものとして創薬の文脈の中ではDMTA(Design-Make-Test-Analysis)が語られるわけだが、昨日ケミストの方にTADMでサイクルを回すのはどう思うか?と聞かれ、直感的に「それは逃げなんじゃないかなぁ、結局ランダムスクリーニングを肯定することになるじゃん」と否定的に答えてしまったのだけど、後から考えてみると根拠があまりないわなと、もう少し深く考えてみた。

DMTA(PDCA)は仮説駆動サイクルですね、これはまぁ自明。じゃぁ、CAPD(TADM)っていうのはなんなんだ?って考えてみるにこれはテスト駆動サイクルかなと思っていたのだけど、CAPDサイクルでググッてみるに、どちらかと言うと探索駆動サイクルの意味合いが強そうだ。昨日はすっかり忘れていたが、これはちょっと前に考えたことがあった

創薬系においては、そもそもテストにあたるもの(アッセイ系)を構築するのに非常にコストがかかる。同様にDoに対応するMakeにも人件費が大いにかかるため、ランダムな合成というのはリスキーだ。さらに探索という側面がある。そのため、仮説なしに合成する(これをケミストは情報取りのための合成としばしば呼ぶわけだが)、ランダムな合成をして有意義な情報が取れたことが経験上ほとんどない。

という事情もあって、昨日の質問に(半ば短絡的に)否定的な返答をしたのだと思う。

でも実際にはlead optimizationはまず間違いなくDMTAをまわすべきだけど、lead generation (finding)にはTADMサイクルをまわすべきなのだと思う。そのためには探索手法(なにを探索したいのかそのためにはどういう測定系が必要か?さらにはどういう化合物セットを揃える必要があるか?)に精通した人間(またはチーム)が必要なんだろうなぁと。残念なことに僕はそういう探索特化型のメディシナルケミストと一緒に仕事をしたことがないという背景が否定的な結論を導いたのかなと思っている。

そういうヒトと一緒に仕事を出来ればハッピーだろうなぁと思いますね。

というわけで色々考えていたら、DMTAサイクルをまわす能力よりもTADMをまわす能力のほうがずっとレアかなと。昨日の主張はちょっと短絡的だったなと反省した。

長距離索敵陣形

ProductName 進撃の巨人(5) (講談社コミックス)
諫山 創
講談社 / 450円 ( 2011-08-09 )


MMPで発表してみたら結構レスポンスが多くて楽しかった

先週はgWT絡みで、今週はMMP絡みの発表をしてきた。それぞれ独立している仕事ではあるのだけど、プロジェクトの大いなる流れというかストリームというかそんなやつをきちんとコントロールしたいというのがそもそもの動機だったりするのでそういう意味ではつながっていると思います。

あと、いくつか質問をうけたので答えられるものはここに記しておきます。

sdfからgspのコンバートってどうすんの?

openbabelのPythonラッパーを入れていればここに書いてるスクリプトで動くと思います。結合情報をアトム情報を吐き出せばいいだけなので他のツールでも同様にやればいいはずです。速度が気になる場合はsdfパーサーを書かなければいけないので面倒かも。

個人的にはpygwtというsdf2gsp gsp2sdfを後ろで面倒見てくれるモジュールを作りかけなので、出来たらgithubにあげておくかもしれません。

pychembldb

chembldbのpythonラッパーです。pypiにもあげてあるのでeasy_installとかpipでインストール出来ます。16には対応していませんが、そのうち対応します。

イントラでrestfulなウェブサービスを作る場合(といってもGETに対応させるだけでしょうが)にはFlaskを使うのがお手軽かなと思います。chemblのAPIに対応させるのはそんなに難しくないですね。

そういえば、創薬系の中でPythonでウェブサービスつくるハンズオンでもやりつつ沼津のタップルームで地ビールがぶ飲みしたいなとかそういう話をしていたことを思いだした。

Shizuoka.py #2をやります

7/6@静岡です。

snake

前半はフロントエンドな話、後半はサーバーサイド(サーバー管理的な)の話になっています。

前半は、みんな大好きパターン認識から、Pythonで書いてjavascriptにコンパイルするっていう話と、Pythonでスマホアプリを作っていくという夢が広がる系の話ですね。

後半はサーバーの管理を楽にする構成管理ツールの使い方という実務的な内容になる(のかな?)個人的にansible,fabric(+cuisine), envassertの使い分けをいまいち理解していないので楽しみなトコロ。

タイムテーブルに若干余裕があるので、入門的な話を入れたいのだけど、もし聞きたい話があればATNDのコメント欄にでも書いておいて貰えれば。もちろん「発表したい」も歓迎です。

今日の家庭菜園(130609)

ズッキーニの花が咲いた。

1370768248

枝豆も発芽。もう少ししたら定植する。

1370768249

ジャガイモも収穫した。去年は7Kgとれたが、今年は17Kgもとれた。

1370768251

陰干ししておいた。

1370768252

しかし、去年よりましだけどそうか病になってた。まぁしょうがないのかなぁと思いつつ、綺麗すぎるジャガイモが常に取れるってどういうことなのかなぁと思わないわけでもない。ピクリンとかぶっこむらしい。

それからジャガイモの後作どうするか超悩んでいる。

今日のドラムンベース(130609)

リキッドな気分だったので。リキッドはつなぐのも混ぜるのも難しいので持っている割にはあまり使わないという。

Tonight / Danny Byrd Featuring Netsky
Failsafe / Danny Byrd Featuring London Elektricity
The Stand / High Contrast
In Too Deep / Optiv & CZA
Shame (Ben Westbeech) / DJ Marky & Artificial Intelligence
The Plan That Cannot Fail / London Elektricity
Love Has Gone / Netsky
If We Ever / High Contrast
Higher Ground / Young Ax
Rock Baby (TC1 & Stress Level Remix) / Jagged Edge
Colonel Vibenhoff / Stanza
Midnight Soul / Champagne & Physics
All That Jazz (Vocal) / Fresh
Long Distance / DJ Marky & Makoto
Everything Is Everything / Utah Jazz & Alex Reece
LK / DJ Marky & XRS
Sweet Harmony (Feat. Liquid) / Danny Byrd
Hyper Hyper / Nu Tone
Kaleidoscope (Spacejams LP) / Logistics
Breathe (Hospitality - Drum & Bass 2010) / Echo Inada
Rolling In The Deep (NuTone Remix) / Adele

ProductName In Rotation
DJ Marky
Innerground / ?円 ( 2004-04-12 )


gWTで何をやりたいのかっていう発表をしてきた。

今週、来週と発表が続いでいるのだけど、今日は(自分の中で)アツいgWTを製薬コミュニティの中で紹介してきて、そういう手法を使って何をやりたいのかっていう話をしてきたが有意義なレスポンスをいただけて非常に良かった。特にアルゴリズム系に興味あるヒトと繋がれたのと、同じような仕事のやり方をしている人とも話が出来たので、ユーザー会に出た価値があったかなと。

というより、初めて挨拶させていただいた複数の方から「ブログ見てるで」ということを言われて話を合わせやすかったので、ブログいいよなと再認識した。

それから、WizePairZの論文のAuthorにおもろかったでと言われたのだけど、そのときは著者だと認識できてなくて後からその方が発表中にAuthorだと気づいて、「おー!論文いつも楽しく読んでますよー」と念をとばしてみた(が当方変化型なので放出レベルは低いかも)。ちなみに来週はMMP絡みの話をするというか、activity cliffをプロジェクトのインシデントしてダブラズモラサズMECE精神で機械に自動的に拾わせるという話をするのだけど、また有意義な議論が出来ればいいなぁと。

ソラニンは熱分解されるのか

夕方畑にいったら、畝の中ほどの土寄せが不十分でジャガイモの表皮が露出しているものを発見した。

慌てて土をかぶせてみたけど、

  1. リカバーできるんだろうか?
  2. ソラニンは熱分解されるのだろうか?

というあたりが気になったので調べた

1は結局わからなかったので、収穫した時にチェックする

ソラニンは熱分解されるのだろうか?

結論: 煮る程度では分解されない

ProductName ソラニン スタンダード・エディション [DVD]

TCエンタテインメント / 2780円 ( 2010-09-03 )


利用規約ガイドの本

「なんかウェブサービスをつくりたいなと思っているが、利用規約がいまいちよくわからない」というヒトのための本ですね。

本書は「法律の条文にはこう書いてある」をスタート地点とする法律書と違い、「ウェブサービスにおいてトラベルはこういう場面で起こる」をスタート地点にしています。

ProductName 良いウェブサービスを支える「利用規約」の作り方
雨宮 美季
技術評論社 / 2394円 ( 2013-03-19 )


  • 最寄りの東京地方裁判所を第一審の専属的合意管轄裁判所とする
  • 商標権検索をする
  • 利用規約の禁止事項に「当社がNGと判断した場合」は入れる
  • お金(課金)の問題は考えておく
  • 「資金決済法」

python-pptxで表をつくってみた

python-pptxがテーブル対応していたので早速使ってみた。これはヤヴァイ、スクリプトで自動化したら快適になりそうな予感がする。

が、いまのとこ6行以上を指定するとファイルが出力できない模様。

test_table

from pptx import Presentation
from pptx.util import Inches
from pychembldb import *

prs = Presentation()
title_only_slidelayout = prs.slidelayouts[5]
slide = prs.slides.add_slide(title_only_slidelayout)
shapes = slide.shapes

shapes.title.text = "10.1016/S0960-894X(01)80693-4"

rows = 6
cols = 6
left = Inches(0.5)
top = Inches(1.5)
width = Inches(8.0)
height = Inches(0.8)

tbl = shapes.add_table(rows, cols, left, top, width, height)

tbl.columns[0].width = Inches(2.0)

tbl.cell(0, 0).text = 'inchi_key'
tbl.cell(0, 1).text = 'activity'
tbl.cell(0, 2).text = 'HBD'
tbl.cell(0, 3).text = 'HBA'
tbl.cell(0, 4).text = 'PSA'
tbl.cell(0, 5).text = 'MWT'

for journal in chembldb.query(Doc).filter_by(doi="10.1016/S0960-894X(01)80693-4"):
    for assay in journal.assays[:1]:
        for i, activity in enumerate(assay.activities[:5], 1):
            tbl.cell(i, 0).text = activity.compound.molecule.structure.standard_inchi_key
            tbl.cell(i, 1).text = str(activity.published_value)
            tbl.cell(i, 2).text = str(activity.compound.molecule.property.hbd)
            tbl.cell(i, 3).text = str(activity.compound.molecule.property.hba)
            tbl.cell(i, 4).text = str(activity.compound.molecule.property.psa)
            tbl.cell(i, 5).text = str(activity.compound.molecule.property.mw_freebase)

prs.save('test.pptx')

追記 130605

というわけでSHizuoka.py #2も楽しいよと、ちょいと宣伝しておきます。