Meadowでhaskellモード

ふつうのHaskellプログラミングも、とうとう第三部のWIKIをつくろうの章に突入。

ProductName ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門
青木 峰郎
ソフトバンククリエイティブ / ?円 ( 2006-06-01 )


でも、第三部は実際のコードのポイントだけ解説なので、サポートページからコードをダウンロードしてきてつきあわせながら読む感じになるので、Meadowでソースコードを開いて本を読んでる。

で、perlとかjavascriptは色がついてて見やすいのに、、、Meadowにhaskellモードってないのかなぁと思って探したらあった。

これでかなりコードが読みやすくなった。

あと本を最後まで読んでみての感想だが、ふつうのHaskellプログラミングは一部、二部と三部の具体事例の間にはかなり開きがあるような気がした。二部と三部の間に数学的な問題を事例として扱う部もあったほうがいいような。

というわけで、「連載: Haskellプログラミング」なんかを読んで解くといいかもしれん。

planet

ずっと以前からPlanet Plaggerって便利だナァと思っていたので、planetをFC5に入れてみた。

http://www.planetplanet.org/

FC5だとextrasにあるんで

yum install planet

でインストールが完了するヨ、お手軽すぎ。

$rpm -ql planet
/usr/share/doc/planet-1.0
/usr/share/doc/planet-1.0/AUTHORS
/usr/share/doc/planet-1.0/INSTALL
/usr/share/doc/planet-1.0/LICENCE
/usr/share/doc/planet-1.0/NEWS
/usr/share/doc/planet-1.0/README
/usr/share/doc/planet-1.0/THANKS
/usr/share/doc/planet-1.0/examples

と/usr/share/doc/planet-1.0/examplesにサンプルが入ってるのでコピーしてきてconfig.iniをいじってcronかなんかで定期的に実行させればいい。

静的なファイルができるので、負荷対策とかあんま考えなくていいのが素敵。

planet chemoinformatics とかで使う予定。

REMUS

NARのWeb Server issueがでとったのでめぼしいものをピックアップ。

気になったのがREMUSというエピトープ探索サービス。

蛋白質が発現ちゃんとしてるかとか調べるためにモノクロが欲しくなる場面は結構あって、効率的にゲットするためにホモロジーモデリングの過程で得られるループの情報を使うことは意外に多い。

溶媒に露出しているループである程度の長さのもの、特に膜を貫通する場合は細胞表面に露出しているもの

ってな感じで選択してペプチド合成すると成功率はなかなか。ただ、いつももうちょっと確度を高めたいナァとは思っていて、この論文参考に出来るかなと思って、アルゴリズムまで遡ってみた。

BioMed Central | Full text | A reinforced merging methodology for mapping unique peptide motifs in members of protein families

Members of a protein family often have highly conserved sequences; most of these sequences carry identical biological functions and possess similar three-dimensional (3-D) structures. However, enzymes with high sequence identity may acquire differential functions other than the common catalytic ability. It is probable that each of their variable regions consists of a unique peptide motif (UPM), which selectively interacts with other cellular proteins, rendering additional biological activities. The ability to identify and localize such UPMs is paramount in recognizing the characteristic role of each member of a protein family.

んー、どうもファミリー間で相同性ナイっぽいとこ探してるだけっぽいなぁ。先のモデリングの流れで考えるとSCR(構造と配列の保存された領域)でピン止めさせると残りはわりと多様性の生じやすいループの部分がわかるんだけど、それを単にファミリーのアライメントから求めているだけなのか?
それだと結果論的にループとかにnique peptide motif (UPM)が現れるのは納得できたり。

普通に二次構造予測でへリックスとかシートの領域求めてそれ以外の領域を抽出するのと比べていい結果でるんだろうか?と思ったヨ。

雲平

芹ざると天ぷらがうまい京から20分ほど山梨のほうにすすんだところに、これまたうまい蕎麦屋があるということなのでいってみた。

道からちょっとだけ細い道に入ってすぐの川沿い。川では鮎釣りをしてました。のどかな風景が全開だ。

そして、たたずんでいるという感じに家一軒。駐車スペースは店の両側にあるので停めるのに特に困らないが、ご主人と奥さんの二人でやってるらしく、テーブル四つほどと席は少なめ。

翡翠豆腐(蕎麦豆腐と枝豆の二色)で色合いがいい。ここで、日本酒などクイクイするのがいいんだろうけど、車で来たので呑めない。お酒は十四代,飛呂喜等。

翡翠

量が少なめという話だったので大盛りを頼んだのだけど、大盛りにしなくても良かったくらいの量はあった(と思う)

二色

頼んだ蕎麦は二色で、変わり蕎麦は檸檬切り。

檸檬きり

大盛り四人前を頼んだせいなのか、出てきた蕎麦の熱が気になった。要するに締めが微妙だったと思うんだが、やたらろぬるすぎる気がした。それとも店のスタイルなのかな(初めてなので実際どうなのかわからんが)。檸檬切りも微妙に僕の好みでなかったのはたぶん細さと長さのせいかな。ただ、蕎麦の香りは良かったので今度は普通盛りを頼んでみよう。

店を出て車に乗り込む際に、なにか変てこな建物が目についたので望遠で撮ってみた。

道の駅

あとからパソコンに取り込んで見てみたら、道の駅の竹の子型の建物だった。

雲平

黒櫻井

黒の櫻井を。

黒櫻井

ストレートで舐めてみたが、お湯割りがうまそう。
そんなわけで、梅雨でジメジメしているにもかかわらず、お湯割りで頂いて、、、

うんまい~~~

お湯割りにして美味しい焼酎はいいですな。

家の壁にナナフシが

朝、はなと一緒に庭で遊んでいたら、家の壁にナナフシが張り付いているのを発見。

ナナフシ

久しぶりに見た。

ソリューションガイドというものに駄文をのせてもらった

きわめてワタクシゴトなのですが、CBIという学会の年会で配布されるソリューションガイドといふものに、駄文を載せていただく機会を頂きました(ありがたや)

Yet Another Drug Discoveryとかいうタイトルで、(自分のパートは)かなり好き勝手に書かせてもらいましたが、目を通す機会などあったら、感想をこそっとでもズバッとでもきかせていただけるとありがたいかなと。

と、ふと思ったのでありますヨ。

ネタ的には、イントラにRSSリーダーを入れてあれとかこれとかRSS化してみようとか、pubmedに特化したdel.icio.usを作ってみたとか、まぁそんな感じです。

そして最近は、feed on feedsよりもユーザビリティ高そうなTiny Tiny RSSでも入れてみようかと思っている。

meadow3.0でssh接続

meadowを3.0にあげてパッケージを全部インストールしたらftpアクセスが出来なくなった。

MeadowFAQ - Meadow3.00で動かないものがあります

ange-ftp は Meadow3.00/Emacs22 からは tramp というパッケージに統合され、外部メソッドとして ftp の他に ssh, scp, rcp, su, smb 等が使えるようになりました。デフォルトメソッドは ssh になりました。

ange-ftpがなくなったらしいのと、デフォルトがsshになったせいらしい。ターミナルはPoderosa使ってssh2アクセスしているが、meadowは歴史的な経緯により(単に面倒だったともいう)ftpアクセスだった。というわけで、これを気にsshに移行しようと思い立ったわけだ。

sshクライアントはPuttyのzipを落としてきて、解答したらProgram filesにでも放り込んで、pathをきっておく。

で、あとはホームディレクトリのdot.emacsを.emacsにリネームするだけ。

モナドで躓く

ふつうのHaskellプログラミングも、とうとう11章へ。中盤も佳境をむかえております。

ProductName ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門
青木 峰郎
ソフトバンククリエイティブ / ?円 ( 2006-06-01 )


モナドが~~

わかりません、さっぱり。他の言語での例があったので少し読んでみた。

檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

振り返れば我々は; 関数から副作用を取り除き(汚れ作業はCountupMainに押しつけ)、代わりに戻り値に副作用の意図を詰め込み、それによって失われた関数結合の自由さを関数の拡張により取り戻しました。

javascriptもperlのコードもなんとなくわかったような気にはなったんだけど、ふつうのHaskellプログラミングに戻ると混乱してしまうヨ。

週末にでも幾つかコードを書いてみてよく考えることにしよう。

http://del.icio.us/kzfm/haskell

mol2psイイ!

ケムインフォマティクスに虚空投げで知ったmol2psを試した。綺麗!

mol2pstest

当分これに落ち着く予感。思えば色々試したもんだ。

長い道のりだった。

さて、mol2psはpascalで書かれてますよ。初pascalというわけで、バイナリを使わず、若気のいたりで? コンパイルしてみることにした。

まずfpcは普通にyumでいれる。

yum install fpc

fpcがインストールされたら早速コンパイル。

fpc mol2ps.pas -S2 -Xs -OG -Or -O2u -Op1

出来たmol2psを/usr/local/binにコピー(OKこんだけ)

ただ、これだとperlで使いにくいので、p2cでcコードに変換してからh2xs使ってPerlのモジュールに出来たらいいなぁってことで、やってみた。

p2cはpascalをcのコードに変換してくれるらしい。p2c-1.22-14.src.rpmとってきてリビルド

rpmbuild --rebuild p2c-1.22-14.src.rpm

するとp2cコマンドが出来るので

p2c mol2ps.pas

できたCのソースをいじってh2xsでperlのモジュールにすればいいはずなんだが、うまくCのコードに変換されなかった。どうもS2オプションがよくないらしい。

  -M<x>  set language mode to <x>
      -Mfpc      free pascal dialect (default)
      -Mobjfpc   switch some Delphi 2 extensions on
      -Mdelphi   tries to be Delphi compatible
  -S<x>  syntax options:
      -S2        same as -Mobjfpc

うーん4000行くらいか、、、、頑張ってperlに移植したい気もするなぁ。GSAPIなんかと組み合わせれば個人的に使い勝手のいいモジュールが出来そうな気がするんだが。