亀田兄弟の試合でやたら目立ってたな京楽

試合はほんまおもろかったが、気になったのは、

ぱちんこ亀田3兄弟

でるよな、、、、、多分。そして出たら、多分やりに行くかも。

京楽って「たぬ吉くん」のメーカーなのね、懐かしい。

Class:DBI::AutoLoader

mixiみとったら、Class::DBI::AutoLoaderがわかんないとかいうトピックをみっけた。

自動的にサブクラスを作ってくれるらしい。サブクラスの命名則は文字数字以外をsplitして最初の文字を大文字にして連結。

$table = join('', map { ucfirst($_) } split(/[^a-zA-Z0-9]/, $table));

おー、これは便利そうだ、いったいどうやってるんだ?とコードを眺めてみたら、importメソッドからgenerateClassを呼び出して、eval($class)でサブクラスを作ってるみたい。

で、importってドコで呼ばれんの?

ってことで少し調べてみたら、 続・初めてのPerlの12章に書いてあった。

use My::Module qw(kzfm hana yuki);

は以下のコードと等価

require My::Module;
My::Module->import( qw(kzfm hana yuki) );

ProductName 続・初めてのPerl - Perlオブジェクト、リファレンス、モジュール
Randal L.Schwartz
オライリー・ジャパン / ?円 ( 2003-12 )


FF12ちょっとすすんだ

レイスウォールのデモンズウォールが倒せなくて、あまりにもつまらんので一ヶ月くらいほっといたFFXIIだけど、淡々とLP稼ぎをやってたら、

バン、パンネロ★★★、その他★★

というミストナックレベルに。

やってるうちに、ライセンスのマス目を埋めるのが楽しくてしまった。

プレイ初期でマス目全埋めしたツワモノとかいるんだろうナァ。

Plaggerのgmail_notify.tt

gmail_notify.tt0.5.0をコピーして解決。

わかってしまえば、そりゃそうだと思うんだが、実は結構はまったり(謎)。ソースみればforeachでまわすんだろうナァと思いつつmail.ttをgmail_notify.ttという名前でコピーして、

エントリーが出ねぇ!何故じゃ!!

とかいって、WebService::Bloglinesをいじってみたりとか。

だんだん楽しくなってきた。


検索してきた向け(いい加減?)

subversion 入れて(Winだとtortoiseがいいのかな)

svn co http://svn.bulknews.net/repos/plagger/trunk/plagger/ Plagger

とかやる。でこれをassets_pathに設定する。

Plagger とプラグインシステムなどを参考に。

創薬シーンにも「バカ世界地図」あるわ

Perl の学習コストの話が面白くて色々読んでまわったんだけど、たどっていくうちに、アンカテ(Uncategorizable Blog) - ソフトウエア業界の「バカ世界地図」というのが興味深くて、僕のいまいるシーンに当てはめることができそうだと。

つまり、ケミストさんは合成が「世界」だと思っていて、薬理や動態は視野に入っているが、meta-SARの世界が見えてない。コンプケミさんは、SARの案件が標準的な案件と思っていて、合成は例外だと考える。つまり、お互いが自分独自のバカ世界地図を見ながら、話をしている状況なのである。そのくせ、「ドラッグライクネス」とか「QSPR」とか表面的に共通する語彙はたくさんあるから、よけい話が混乱する。

とでも例をあげておけばよいかな。「全体像」や「地図」のようなものが、共有されきれてないっていうか、カバーする範囲が広すぎて共有すること自体が困難だから、こういう例はいくらでも挙げられるかな。

アンカテ(Uncategorizable Blog) - ソフトウエア業界の「バカ世界地図」

複数の文化があることが問題なのではなくて、それらを包含する合意された枠組みが存在しないことが問題なのである。自分と遠い仕事をしている人を認識できないのでなく、複数の遠い仕事と自分の相対的な距離を把握できないことが問題なのである。

で、創薬シーンではこの距離をきちんと把握できる存在に呼称がついてるんじゃないかなぁ、と思った。

メディシナルケミスト

自分で定義してみると、おー、そういう存在目指して頑張ってみるかなーと思うかナァと思って書いてみたけど、

わいたかな? わからん。

麺屋中川で油そば

初めて注文してみたヨ、油そばwith辛豚。

油そば 油そば

思ったほど、油っぽくないし、麺がモチモチッとしているので油とうまく絡んで旨い。

あとは、チャーシュー炙ってあるので熱々でよかった。ただ、トッピングで頼んだ辛豚が冷たかったので、絡めると麺がさめちゃうのがアレかも。ラーメンに入れるといいのかもしれないが、熱い辛豚のほうが嬉しいかも。

次は油そばwith味玉かな。

麺屋中川

LoSBDD

SBDD(Structure Based Drug Design)の枠組みでLBDD(Ligand Based Drug Design)をやりたいなぁと最近考えている。つまり

LoSBDD(LBDD over SBDD)

ポピュラーな記述子の代わりに、複合体結晶構造の相互作用エネルギー(FMOみたいな量子化学計算したやつ)とかSIFtみたいな構造をよく反映した既述子やフィンガープリントを使ってQSARするのがおもろげ。

こっちはまぁなんとなく方向性は見えているからいいんだけど、ファーマコフォアみたいな薬理作用団な座標をうまいこと記述子に出来ないかナァっとふと思った。

Class::DBI::OracleでLongTruncOkのエラー

調子にのってClass::DBI::OracleでO/Rマッピングじゃ!とQSARやりやすいようにデータベースのモジュールを片っ端から書いたら、

DBD::Oracle::st fetchrow_array failed: ORA-24345: A Truncation or null fetch error occurred (DBD ERROR: ORA-01406 error on field 7 of 14, ora_type 8, LongReadLen too small and/or LongTruncOk not set) [for Statement "SELECT cmr, nnhoh, mixture, mwt, status, mlogp, smiles, tpsa, ro5_score FROM PHYSICO WHERE id=? " with ParamValues: :p1='99999'] at /usr/lib/perl5/site_perl/5.8.3/DBIx/ContextualFetch.pm line 88, line 203.

とエラーが。

どうも、smilesで突っ込んであった化合物情報が長すぎるっぽい。 今まで、問題にならなかったのはsmilesをselectする必要がなかったかららしい。

use base qw(Class::DBI::Oracle);

our $VERSION = '0.01';

# Preloaded methods go here.
__PACKAGE__->set_db('Main','dbi:Oracle:orcl','kzfm','kzfm',{LongReadLen => 20000});

__PACKAGE__->set_up_table("PHYSICO");

1;
__END__

とやってLongReadLenの値を変えてOKなかんじ。

agile drug discovery

最近でたセミナーで、

アジャイルな薬剤開発

agile drug discovery

だって。

よくかんがえるねぇと感心した。

Class::DBI::Oracle

Class::DBI::mysqlのset_up_table便利すぎなんで、最近もっぱらmysql派なんだけどオラクルにもないかなと探したらあった。

Class::DBI::Oracle

カラム名とか入れなくてもいいのに慣れちゃうとあれだ、ずぼらになる。というか、テーブル作る際にそのままCDBIで使えるようなわかりやすいカラム名付けたり、APIのこと考えたテーブルスキーマにするように努力したりするのでいいことなのかも。