openbabelのperlラッパー

openbabelにはobfitっていうツールがあることをケムインフォマティクスに虚空投げで知った。なかなかイカス。今まで、「babelって調子いいフォーマットコンバーターだよな」ぐらいの認識だったヨ。

でもobfitはmol,molで重ね合わせるコマンドライン向きのプログラムなんで、普通にライブラリをMCSでぶん回すには、シェルスクリプト書いたりしなきゃならんし、シェルスクリプトでまわすとin,outでテンポラリのファイルがたくさんできるからやだナァ。

と思ったのでドキュメント漁りをしてみたら、Chemistry::OpenBabelっていうperlラッパーがあった。 うーんCPANでみたことないなぁ、、、と思ったらCPANにはあがってなくて、展開したアーカイブのscripts/perl/で配布してるみたい。

ソースを眺めたら、SWIG使っているのね。普通にインストールはOK。C++の関数をそのままPerlでラップしてるみたいなので、obfitのソース眺めながら、そのままperlで書きなおしてやれば、perlスクリプトとして使えるかな?って感じなのであとでやる。

それよりもSWIG覚えたいかも。実用perlプログラミングの初版には詳しく書いてあったはずだけど、第二版ではばっさり削られてInline::Cとかになってた。こんなん覚えてくるとperlでjavaライブラリのCDKとか呼びたくなるにちがいないんだろうけど、Inline::Javaって使えるのかな?これもあとで調べる。

ProductName 実用Perlプログラミング
スリラム スリニバサン
オライリー・ジャパン / ?円 ( 1998-11 )


ただ、API見る感じだと、Chemistry::OpenBabeで分子のモディファイとかリアクション関連いじるのやりにくくなかろうか?やっぱPerlMolははずせないわなと思ったが、Readmeに、そのうちPerlMolとopenbabelのグルーモジュール作るよん!って書いてあった。ナイス、楽しみ。

Future development will include a "glue module" to integrate with PerlMol and other Perl chemistry projects.

で、さらにケムインフォマティクスに虚空投げでOELibという記述が何度か出てきたので、もしやOpenEyeかと思ったら、やっぱそうだった。OpenEyeのライブラリなんだったら別にPerlMol使わなくても、化合物いじり出来るんではないの?とか思ったが、FAQに歴史的な経緯が書いてあった。だから、やっぱ素直にPerlMol使ったほうがいいのでしょう。OEChemはOELibを書き直してるってことはデータの内部構造結構違うんだろうな。

というわけで、ツールキットみたなかではいまんとこOEChemが一番良く出来てる気がしてる。

沼津でキス釣り

日曜は今年初の釣りに行ってきた。、先シーズンのボードはニューカマーのユッキー様のお世話でほとんど滑れなかったので、釣りは頑張るぞと。烏賊釣るぞとキス釣るぞとカワハギ釣るぞと。まぁ、やる気だけはあるヨ。

4時起床、集合で、414沿いの途中の釣り具屋トージンで餌買って4時半にはボートに乗り込む。例年に比べると一時間近く早いペースだ(謎)。

ボート屋のおっちゃんが「沖めのほうがいいよ」というので、アドバイスに従い、沖へと。朝焼けが綺麗だ。

早速、釣り糸をたらすが悪い予感的中。空回りしまくってますぞ。隣では、すでに数匹のキスを釣り上げているのに、

いっこうにのらねー。いや、キスごときにのせるとかいう表現は不適切だ。だって巻き巻きするだけでくっついてくんのに、、、、 と思ったら、強めのあたりがブルン!と。おっ初ヒット っと思ったら、エソだった、、、、何故?

「怖ギス釣れたけどリリースや」

ま、メゴチ以外は、一応キスの仲間ってことで。続いて、またもや強いひきが、、、、

長ギスでした。

「長ギスってぬるぬるしてるから困るよねー」とかいいながらこれまたリリース

うーん今日は釣れる気がしないかも、と思いながら小一時間したころ、ボートがなんか潮とは逆のほうに動いてるような気が。気がしただけじゃなくて、漁船に向かって引っ張られてる!

どうやら網に碇が、、、、

漁船のおっさんが、とりゃーーとりゃーーって叫んでんだけど、網は重いし、ものすごい絡まってるしで、いっこうに碇をはずせん。そうこうしているうちに、どんどん引っ張られていくし、焦れば焦るほどアレだ。 もうほとんどテトリス最上段ってな感じでパニくったところで、

漁船のおっちゃんが包丁でロープを切ってくれた。ありがとう、おっちゃん。ってか、ボートぎりぎりのところでで網投げんで欲しかった、一言声変えてくれたらどいたのにな。

というハプニングがあって、釣るのは慣れているが、釣られることには慣れていない、我々は心がポッキリ折れちゃった。というわけで釣りにも集中できるわけがなく、惰性で糸をたらしてた。

なんかもういいやって気になってたら、最後に一匹だけ。ボーズぎりでセーフ。

もう、満足。8時過ぎだけど風も強いし(疲弊してるし)撤収。あまりつれなかったけどキスとメゴチが天ぷらにする分くらいは確保。

帰り際に、ボート屋のおっちゃんにきいたら、漁船はシラスとってんだってさ。土曜は市場が休みなんで漁にでないらしい。それで、今まではバッティングしなかったのね(いつもは土曜日にボート出す)

夜、捌く前。メゴチは背びれを頭に向かって削いで頭を落としつつ、皮がついた状態で、尻尾のほうに引っ張ると皮が剥げる。

天ぷらうまい。今週もいくかも。

OEChem

OEChem すごい。いまのとこPerlMolとかChemRubyよりも完成度高い感じがする。

PDB->XYZ->MOL2->SMILES->FASTA

とかファイル形式変えてっても最後にアミノ酸のFASTAが出力されたときには、びびった。

  • PDB->XYZ
  • 結合情報失われる
  • XYZ->MOL2
  • 結合情報再構築
  • MOL2->SMILES
  • 空間座標情報失われる
  • SMILES->FASTA
  • smilesからアミノ酸配列再構築

とかやっても、情報の欠損がおきないのは純粋にすごいと思う。まぁ、なんでもMOl2でセーブしとけはいいじゃんっていう突っ込みはおいといても。

あと、やっぱ海外だとRubyは少ないみたいでPythonがメジャーっぽい。どこもグラフのモデルなので、やっぱ描画ルーチンとドキュメントのしっかりしていて事例の多いところに流れるのかな。

そういやケミッチョ書きっぱなしのままだなぁ、そろそろまとめよう。

Smart::Comments

perl hacks読んでたらHack #54:Debug with commentsで Smart::Commentsが便利そう。

と思ったら、Elementaryでエントリになってたヨ。

perl hacksには書いてないけどElementaryで紹介されてた

プログレスバーいい!

初心者気味の他人のコードのデバッグすんのにDebug::EchoMessageすすめるんだけど、プリントデバッグみたいじゃないのでいまいち浸透しない。(あと、Debug::EchoMessageは標準じゃなかったはずなので、モジュールインストールしてないマシンだとエラー吐くし。)

Smart::Commentsだったら、

プリントデバッグした残骸を###付けて残しとけヨ

って指示するだけで、use Smart::Commentsしてなくても、

とかやるだけで、デバッグできるし、ループの部分に

### [===>   ] % done

とか入れるといい感じになるので、面倒見られるほうも見るほうも効率的かなぁ?

ProductName Perl Hacks: Tips & Tools for Programming, Debugging, And Surviving
Damian Conway
Oreilly & Associates Inc / 2303円 ( 2006-05-30 )


というわけで、職場に浸透するかどうか試してみよう。

Fedoracore5でWebDAV設定

昨晩からFC5マシンの設定をはじめてマス。とりあえず、夜中までかかってCatalystのインストールは終了。

FC5のデスクトップ触るの初めてだったけど、FireFoxのフォントがモサモサしてて読みにくい以外は、自分でいつも使っている拡張は大体入ってるし、ターミナルがタブ式になってて使いやすいし、日本語入力も困んないし、いい感じかも。

昨日はapacheとsubversionはrpmでさくっと入ったし、今日はwebdavの設定でもするかなと、、、、

これもRPMでさくっとインストール。らくちんらくちん。

でも、WIndowsでテストしたら、httpで接続するとwebフォルダでなくて共有フォルダとして認識されてしまい、putができん。http://hostnameで認識するのにアイコンのプロパティみると\\hostnameに替わってるの。

共有

うーん、なんでかな?Winが悪いのかFC5が悪いのか?と悩んだが結局深追いせず、軽い気持ちでhttpsで接続してみるとあら不思議、、、

webフォルダとして接続できてるヨ

webfolder

まぁいいや、trac用だから。と、とりあえず深入り禁止の方向で。

あと、mod_encodingの設定すんのメンドイナァと思ってたら、FC5用のRPM作ってる人がいた。

素晴らしい、感謝感謝でインストール。OK!

サーバー交換中

今日も、昼過ぎに瞬停があって、家サーバーがおっこった。で、相変わらず不調だ、このサーバー。電源入れるときに必ずBIOSのCPU設定が必要。マシンが落ちるたびにディスプレイを接続しないとあかんのでやっぱ面倒だ。

しょうがないので、一月ほど前に後継として購入したんだけど、排気がちょっとうるさいので、FC5インストールした段階で放ってあったSempronマシンの設定をはじめた。

ドスパラ - BTOオリジナルパソコン Prime(プライム)

Prime A Slim Regulus VM
■Sempron 2800+
■512MB メモリ (DDR SDRAM)
■160GB ハードディスク (7200rpm)
■DVDスーパーマルチドライブ (DVD±R×16 / DVD-RAM×5 / DVD2層書込み対応)

やっぱ静音キューブのほうが良かったかな?

Perl Hacks届いた

アマゾンで予約してたPerl Hacksが届いた。

ProductName Perl Hacks: Tips & Tools for Programming, Debugging, And Surviving
Damian Conway
Oreilly & Associates Inc / 2303円 ( 2006-05-30 )


パラパラめくった感じではハック満載って感じ。

うそです、ほんとはよくわからん。明日、じっくり読んでみるヨ

とり安

四条烏丸のジュンク堂で、本漁りを。入門Haskelが気になったが、買っちゃうと動かしたくなっちゃうので今回は我慢。ジュンク堂ってBALビルにも入ったのね。丸善なくなっちゃったから立地的にもいいのかも。

で、烏丸御池をちょっとあがったとこにある、とり料理専門店で昼食。

とり安 からあげ丼

からあげ丼は、とじた玉子の下にから揚げがごろごろと。濃すぎず絶妙な味わい。ちょっと量が多かったが満足。

帰りに木屋町降りて歩いてたら、おお懐かしい。

鴨川をどり

鴨川をどりの最終日だった。

麺屋 ○竹

烏丸通り竹屋町にあるから、○竹なのかな。

○竹

小洒落た店内では、店員さんが小洒落たバーナーで常にチャーシューを炙ってます。

ゴーゴーゴーゴー

ちとうるさい。

その奥の製麺機の前では、麺作ってます。というわけで、自家製麺で、セモリナ粉使ってるって(壁にかいてあったような)。

中華そば+味玉

中華そば

甘みが強くて最初はん?とか思ったけど、これはこれでなかなかうまい。なにかシャリシャリしたものの食感がよかった。

Catalyst::Plugin::Flavourはdev向けでいれる

catlxom動かんから週末ちゃんとみようとか思ってたら、ナイスなタイミングでエントリが。

mizzy.org

まず、cpan コマンドで Catalyst::Plugin::Flavour をインストールすると、バージョン 0.02 が入るのですが、これだと catlxom は動きません。DEVELOPER RELEASE の 0.029_01 のソースをもってきてインストールする必要があります。

これで解決。

で、家のサーバーで動かそうとFC1(perl-5.8.3)な環境で試したら、

$ ./script/catlxom_server.pl 
Operation `""': no method found, argument in overloaded package
 Catlxom::Plugins at /usr/lib/perl5/5.8.3/overload.pm line 97.
Compilation failed in require at ./script/catlxom_server.pl 
line 49.

perlのバージョンあげなあかんかな。