MCSベースでMatched Molecular Pair(MMP)を求める

そのうちMMPベースのプロジェクト診断ツールでも作ろうかなと思っているので、fmcsを使ったMMP構築をやってみた。

fmcs sample.sdf --output-format complete-sdf --save-smiles-tag \
MCS_SMILES --save-atom-indices-tag MCS_ATOMS --output-all

で、MCSのSMILESと対応するatom indexをタグ付けしたsdfを出力しておいてpybelでMCSを削除する。

import pybel
import sys

input = sys.argv[1]

for mol in pybel.readfile("sdf", input):
    print mol.data["MCS_SMILES"]

    del_atom_idxs =  [int(num) for num in mol.data["MCS_ATOMS"].split()]

    del_atoms = []
    for i,atom in enumerate(mol,0):
        if i in del_atom_idxs:
            del_atoms.append(atom)

    for a in del_atoms:
        mol.OBMol.DeleteAtom(a.OBAtom)
    print mol

そうすると、MMPが作れる。

もう少し具体的な例をと思ってChEMBLからsdfでも取ってきてとか思ったけど、やり方がわからなかったのでわからんとか言ってたら@32nm教えてもらった。ありがとうございます。

というわけで、ChEMBLからカテプシンK阻害剤の化合物データからCHEMBL100616,CHEMBL101160,CHEMBL316685,CHEMBL327743,CHEMBL329731,CHEMBL419891の6化合物を引っ張ってきてやってみた

CCC(C)C(C=Cc1ccccc1)NC(=O)C1CCCCN1CC(=O)c1ccccc1
C(=O)(N)C

CCC(C)C(C=Cc1ccccc1)NC(=O)C1CCCCN1CC(=O)c1ccccc1
Cl

CCC(C)C(C=Cc1ccccc1)NC(=O)C1CCCCN1CC(=O)c1ccccc1
[NH+](=O)[O-]

CCC(C)C(C=Cc1ccccc1)NC(=O)C1CCCCN1CC(=O)c1ccccc1
Cl

CCC(C)C(C=Cc1ccccc1)NC(=O)C1CCCCN1CC(=O)c1ccccc1
[NH+](=O)[O-]

CCC(C)C(C=Cc1ccccc1)NC(=O)C1CCCCN1CC(=O)c1ccccc1
OC.OC

あとはアッセイ情報と付きあわせてpIC50みたいなプロパティの引き算をすればMMPを利用した解析ができる。

ある程度コントロールできてる化合物群ではうまくいくんだが、MCSだと期待している以上にスキャフォールドをアサインしまうために、結果としてフラグメントが細切れになったり(Rの環が分割されてしまったり)してMMPを構成するにはちょっとあれかな。

秋元康の仕事学

AKB48にはあまり興味を持てないのだが、発想法に非常に強い興味があったので本を読んでみたが、学ぶところが多かった。

繰り返しになりますが、日常のなかで耳にした何気ない一言であれ、新聞であれ、テレビであれ、雑誌であれ、全てに企画の入り口はあります。食材は、集めようと思わなくても気づけばいくらでもあるものなのです。

著者は企画のリュックサック(にアイデアのもとをつめる)という表現をしているが、僕の場合はブログに書くことがそれにあたるかな。一旦書きだしてしまえばあとは文章を客観的にあらゆる側面から眺められるしね。

twitterもいいんだけど、あれは反芻するのが難しいくらいのフローなメディアなんで結局もう少し深く考えてみたのをブログに書きなおすことが多いかなぁ。

ProductName 秋元康の仕事学 ( )

NHK出版 / 1050円 ( 2011-05-24 )


  • リサーチをすると、やはりみんなのところ、同じところにいってしまいがち
  • 日常生活全てがリサーチである
  • 見切り発車でもいいから、とにかく、どちらかにまずは走ってみる
  • 人の信頼を得るには、地道にコツコツと実績を積むしかない
  • 壁というのは乗り越えられないから壁

Titanium Mobileの緑の本がきた

黒い本よりこっちのほうが、サンプル多めかな。

これから読む。

読んだ

ProductName Titanium Mobile iPhone/Androidアプリ開発入門―JavaScriptだけで作る
小澤 栄一
秀和システム / 2520円 ( 2012-02 )


未読

ProductName Appcelerator Titanium Smartphone App Development Cookbook
Boydlee Pollentine
Packt Publishing / 3810円 ( 2011-12 )


fmcsを使ってMaximum Common Substructure(MCS)を求める

openbabelはMCSを求められないのが難点なんだが、書けばいいよなと思いつつ実装してない。そうこうしているうちに、fmcsを見つけて、これ使えばいいかなーと思い始めた2者だけじゃなくて複数の化合物のMCSを求められるのも自分の求めていた機能だし。

fmcsを動かすにはRDKitをインストールする必要があって、「RDKitのインストールめんどいなー」とぶつくさ言ってたら@iwatobipensilicosを参考にしなはれと教えてもらった。

brewで入れられんのね。

> brew tap edc/homebrew-rdkit
> brew install rdkit

これでサクッと入った。

fmcsのほうは

hg clone https://bitbucket.org/dalke/fmcs
cd fmcs
sudo python setup.py install

で入る。

さて、MLによると、

This work has been funded by Roche, with the explicit hope that it be incorporated into RDKit.

ということなのだが、確かRSOAPはPfizerが出してたはずだし、海外はopensourceとかそういうのに理解が深いんだろうか?また、そういうのに積極的な日本の製薬企業はあるのだろうか?なんて思ったりした(自分の観測範囲ではゼロなんだが)。

そういうことも含めて貢献できるような社会がくればいいのになぁと思う。

ProductName Design and Use of Relational Databases in Chemistry
TJ O'Donnell
CRC Press / 12118円 ( 2008-11-25 )


scratchで数当てゲームをつくった

夏休み中に娘と一回はScratchで遊ぶことを目標に入れていたのだが、最終日に達成した。

よくある数当てゲームだけど、制御構造が単純なので最初にやるにはちょうどいい。それから、簡単に公開できるのでモチベーションの向上につながるかな。

数当てゲーム

スプライトを変更したりとか、リアクションに凝ってみたりとか色々改良の余地があって楽しい。

ちょっと複雑になるとブロックが大きくなりすぎるような気がするんだが、どうすればいいんだろ?

もうちょっと覚えたら、子供向けのワークショップでもやってみたい。

昨晩のリスト

久々にテクノをかけてみた。

all the people make happy / ALTZ
Insomnia / Pig&Dan
ASCARI_dry_condition / AOKI Takamasa
No One Left To Follow  / Slam
Something's Gone / Alex Smoke
101 / Photek
Horizon (Beroshima's  Deep Mix) / Beroshima
Morning Mountain / Essáy Feat. Rhian Sheehan
Wasp In A Wig / Funk D'Void & Sian
Love Cry / Four Tet
The Strange Things I'll Remember (Jet Project Remix) / Mirror Music
Gateway (A Mirror Darkly Dub) / Mirror Music
Jelle / Mark Broom & Mihalis Safras
Can You Relate (Slam Mix) / Samuel L Session
Novel / Keisuke Kondo
I'll Lick Your Spine - (Ivan Smagghe's it's a fine line vocal Remix) / Let's Go Outside

最近pig&danがキテマス。insomnia最高ですね

ProductName Decade
Pig & Dan
SOMA QUALITY RECORDINGS / 1742円 ( 2012-07-14 )


テクノじゃないけどfour tet。朝霧Jamで聴いた時には良さが分からなかったけど、今は好き

ProductName There Is Love in You
Four Tet
Domino / 1288円 ( 2010-01-26 )


コンピ。

ProductName HUB OPUS TOKYO
オムニバス
OP.DISC / 2793円 ( 2009-07-22 )


Slamは外せない。

ProductName Collecting Data
Slam
SOMA QUALITY RECORDINGS / 1990円 ( 2012-06-16 )


Traktor Pro2のnmlを曲順のプレイリストとして書き出す

nmlのトラックリストのkeyがファイルのロケーションなのでタイトルとアーティスト名の辞書を作っておく。

import sys
from xml.etree.ElementTree import *

mdic = {}
play_lists = []
elem = parse(sys.argv[1]).getroot()

for e in elem.findall(".//ENTRY"):
    if e.get("TITLE") is not None:
        el = e.find("LOCATION")
        key = el.get("VOLUME") + el.get("DIR") + el.get("FILE")
        mdic[key] = e.get("TITLE").encode('utf-8') + " / " + e.get("ARTIST").encode('utf-8')

for e in elem.findall(".//PRIMARYKEY"):
    if e.get("KEY") is not None:
        print "    {}".format(mdic[e.get("KEY")])

ProductName NATIVE INSTRUMENTS TRAKTOR KONTROL S4

NATIVE INSTRUMENTS / 76999円 ( )


夏休みの一週間は子供の宿題をみたりしていて色々気づくことが多かった

今週は夏休みってことで会社を休んでいた。

で、朝起きてご飯を食べたら、コードを書いたりブログを書いたりしている隣で、娘が夏休みの宿題をやるというルーチンだったのだけど、色々気づくことが多かった。

特に「学ぶことの習慣化」と「学習レベルのコントロール」は家庭でやるべきなんだろうなぁと。

一方息子はポケモンばっかりやっていた。あいてのポケモンが穫れないとか言ってブチ切れたりしてたなー

ProductName ポケットモンスターホワイト2

任天堂 / 3927円 ( 2012-06-23 )


wifiの通信対戦(ランダムとかレーティング)のやつは結構面白い。勝った負けたは結構熱くなるね。

学力とは何か

僕は、あまり教師というものを重要視しておらず、学習はできるだけ家庭でサポートすればいいんじゃないかなぁというスタンスです。教育はオープンエンドのほうがいいと思っているけど、義務教育の仕組みの中ではなかなか難しいだろうしなぁと思うしね。

あと教師は(実際の社会を知らないし)子供に対して責任を持つわけじゃないので、そこの選択権は親と子供にあるべきだろうなぁと。そういう意味では社会でなんらかのサポートは必要なんじゃないかなと思う。例えば社会人(特にIT系)は勉強会と称して色々補っているけど、それをもっと子供をサポートするあたりに少し労力を割いてもいいんじゃないかなと思ってはいる。

「見える学力」が「知識」で「見えない学力」が「構想力」だと話が早いのだが、重なる点はあるが、大きなズレがあるようだ。しかし、「見える学力」と「見えない学力」という考え方は、学力や知的能力を考える上でとても大切な点である

自分の子供の世代が大人になった時に、今の義務教育から高校、大学っていうレールの先のジョブがよいものかどうかってのもよくわからんしなぁ。

  • 「ひとはもともと勉強するもの」なのか「ひとは勉強してひとになるもの」なのか

ProductName 学力とは何か (新書y)
諏訪 哲二
洋泉社 / ?円 ( 2008-12-06 )


「原因は何か」より「どう解決するか」。それが、「解決志向」

コミュニケーションスキルの本。NLP多め

NLPにおけるミスコミュニケーションの分類

  • 言語の歪曲
  • 言語の省略
  • 言語の一般化

コミュニケーションには癖があり分類すると

  • 視覚型(Visual)
  • 身体感覚型(Kinesthetic)
  • 聴覚型(Auditory)

NLPではミスコミュニケーションは情報処理の癖が違うことで起こりやすいという立場に立つらしい。

が、自分を当てはめようと思って考えてみたけど、どれにも当てはまらないような気がする。目の動きの話とかちょっと眉唾っぽいんだよなー。

wikipedia

NLPは、効果を実証する不十分な経験的証拠しかないため、プロフェッショナルな信頼性の問題があり[1]、一般の社会科学からは広く無視されている

  • 新型うつ病は若者が発達していく上での心理的疾患