R Commanderの本

LLで話されるような内容とは対極に近い、Rの統計解析環境としての本。かなりニッチなところをついてきた感があるが、Rのユーザー層を考えるとこっちのほうが普通の使い方なのかも。

ProductName R Commanderハンドブック―A Basic-Statistics GUI for R
舟尾 暢男
九天社 / ¥ 3,360 (2007-08)
通常4~5日以内に発送

RにおけるR Commanderってelispに対するemacsみたいな感じなのかな。

あとRってpythonみたいに対話環境がデフォルトだし。

なんつうか不思議な言語ですな。

PerlMolで構造分割

PerlMolにはseparateメソッドがあるので、SMARTSで適当にマッチさせて結合を壊してからseparateすると化合物の構造を分割できる。

芳香環の炭素原子とヘテロ原子の間を切って、分割した構造をsmilesで出力するスクリプトはこう書ける。

use warnings;
use strict;
use Chemistry::File::SMARTS;
use Chemistry::File::SMILES;
use Chemistry::Ring 'aromatize_mol';

my $SMILES = shift;
my $react = Chemistry::Mol->parse($SMILES, format => 'smiles');
my $SMARTS = 'c-A';
my $pattern = Chemistry::Pattern->parse($SMARTS, format => 'smarts');

aromatize_mol($react);
molsplit($react);

sub molsplit {
 my $mol = shift;

 if($pattern->match($mol)){
   my @nbd = $pattern->bond_map;
   my @nfg = $pattern->atom_map;

   $nbd[0]->delete;
   for my $fg (@nfg){
     my $hcnt = $fg->implicit_hydrogens();
     $fg->implicit_hydrogens(++$hcnt);
   }

   for my $frag ($mol->separate){
     molsplit($frag);
   }
 }else{
   print $mol->print(format => 'smiles', unique => 1, name => 1),"\n";
 }
}

試しにpioglitazoneを分割してみると

$ perl molsplit.pl "CCC1=CN=C(C=C1)CCOC2=CC=C(C=C2)CC3C(=O)NC(=O)S3"
CC      
c1ccncc1        
CCO     
c1ccccc1        
CC1SC(=O)NC1=O

OSRAいいですよ

Mining Drug Spaceで知ったOSRAっていう化学構造認識ソフトがかなりよさげ。

そもそも、なんでコンピューターで認識できる形式でデータを流通させないのか?という本質的な問題はあるんだけど、この業界は画像(しかも二次元)ってのが標準なんで、こういう認識系のツールは重要だったり。

早速pubchemなんかの画像を認識させてみるときちんと認識される。OSRAのサイトではパテントをgifに変換したのを用意しているけど、1ページに複数の構造があっても別のものとしてきちんと認識する。ただ、フリーハンドで書いたのはベンゼンみたいな単純なものでも認識しなかった。

osra

自分用に集めてるパテントとかジャーナルのpdfなんかを自動的に構造抽出してデータベースに突っ込むようにするとよいかも。

AvogadroでPOV-Ray

POV-Ray でレイトレできるとやっぱ調子いい。

Avogadro

SARの不確定性原理

構造活性相関(2D,3D-QSAR)とかで、アッセイ系の精度が気になって仕方がない。なんか生データはもちろんだし、さらに実験者の手技まで気になって数字をまともに受け取れない。

と同時に、構造も厳密に求めたくなり、量子化学計算でいちいち構造最適化しないと安心できない。

そんな感じで深みにはまっていった結果、一つの確信を得た。

活性の不確かさΔActを厳密に求めようとすると、構造の不確かさΔConfが増えていく、まだその逆も然り

これを、SARの不確定性原理と名付けてみた。

僕らは、予測モデルの精度を上げるために、厳密に活性コンフォメーションを求めたいし、ノイズのないアッセイデータを使いたい。でも常に、どちらかのノイズが邪魔をして満足のいく予測モデルはつくれない。

というわけで、QSARなんてばらつきを許容するような手法でやってるぐらいがちょうどいいのかもねーという結論に達し、同時にDrugDesignへのモチベーションがやや失せてきた。

という夢を見た。

Avogadroで透過度の設定ができるようになんのか

透過度設定ができる。

AvogadroからWinGamess実行できるようにならんかな。

Avogadro結構あついかも

0.10がリリースされたそう。

Main Page - Avogadro

Avogadro is an advanced molecular editor designed for cross-platform use in computational chemistry, molecular modeling, bioinformatics, materials science, and related areas. It offers flexible rendering and a powerful plugin architecture.

avogadro

openbabelの構造最適化できるし、gamessのインプット吐けるのも素晴らしい。

今後が楽しみ。

Obminimizeで構造立ち上げ

Open Babelが2.1にあがっていた。changelogを見てたら、MMベースの構造立ち上げが実装されていたが、どうも最近のことらしい。

というわけで、obminimizeというコマンドを使うと構造を立ち上げることができて、その後、mopacでちょこっと構造最適化をやってから、PyQuanteでエネルギー求めるとかいう事がLLでやれるようになるのでいい感じ。

Planet ChemoinformaticsにTripos' Scientific Weblogを追加

Planet ChemoinformaticsTripos' Scientific Weblogを追加。

Tripos侮れん。

ってblogの存在知らなかったヨ。あとでアーカイブもチェックしよう。

PyMOL with Wii Controller

Wiiリモコンを使ってPyMOLをLet's Note R4上で動かしてみたのでXactiで撮ってみた。

Bluetooth USBアダプタは安いやつってことでBT-Mini2EDRを選択。

ProductName PLANEX Bluetooth2.0+EDR対応USBアダプタ BT-Mini2EDR

プラネックス / ?円 ( 2006-11-30 )


パソコンにリモコンを認識させたら、WiinRemoteでWiiリモコンをマウスとして操作。

結局、傾きとボタンの組み合わせで回転したりズームしたりしてるだけだけなので、思い通りに動かすのにちょっと苦労するんだけど、出来合いのものをチョロッと動かして見せるようなプレゼンのときにはいいかもしれん。

今のところマウスの方が圧倒的に操作性がいいんだけど、センサーバーを使ってきちんとイベントをアサインすれば、Wiiで遊んでいるようなような操作感が得られて、いい感じのデバイスになるような気はする。

こういうデバイスが使えるようになるとViewerのほうも調子のいいものが求められるようになっていく気がする。

例えば、遠くから眺めてるときは、リガンド-サーフェース(タンパク質)として表現されていて、ズームしていってアクティブサイト近くになるとAtom-Atomのスティック表現になったりとか、さらに、置換基-アミノ酸のレベルまでズームすると軌道とかで表現したりとかシームレスに切り替わる(google mapsみたいに)ような。

そんなViewer欲しい。