<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>chemruby / Drkcore</title><link>http://blog.kzfmix.com/chemruby</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Fri, 11 May 2007 22:32:39 +0919</lastBuildDate><item><title>プログラミングRuby―達人プログラマーガイド</title><link>http://blog.kzfmix.com/entry/1178890359</link><description>&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4894714531/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/515TRG4656L._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;プログラミングRuby―達人プログラマーガイド&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    デビット トーマス&lt;br /&gt;
    ピアソンエデュケーション / ?円 ( 2001-09 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;買ったけど読む暇がない&lt;/p&gt;</description><pubDate>Fri, 11 May 2007 22:32:39 +0919</pubDate><category>ruby</category><category>chemruby</category></item><item><title>Chemrubyネタ x 2</title><link>http://blog.kzfmix.com/entry/1139750463</link><description>&lt;p&gt;早速0.9.3にあげて描画じゃ。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;pre&gt;&lt;code&gt;
irb(main):001:0&gt; require 'RMagick'
=&gt; true
irb(main):002:0&gt; require 'chem'
=&gt; true
irb(main):003:0&gt; mol = Chem.open_mol("diene.mol")
...
irb(main):004:0&gt; mol.save("rbtest.png")
=&gt; [rbtest.png PNG 370x370 DirectClass 16-bit 8kb]
&lt;/pre&gt;&lt;/code&gt;
&lt;/blockquote&gt;

&lt;p&gt;ヘテロも出るが枠もでる(140x140にリサイズした)。&lt;/p&gt;
&lt;p&gt;&lt;img alt="rbtest2" src="http://www.kzfmix.com/images/blosxom/rbtest2.png" /&gt;&lt;/p&gt;
&lt;p&gt;あと、SDF読み込みのときに
&lt;blockquote class="terminal"&gt;
&lt;pre&gt;&lt;code&gt;irb(main):005:0&amp;gt; sdf = Chem.open_mol("test.sdf")
=&amp;gt; #&amp;lt;Chem::MDL::SdfParser:0xbf189a24 @input=#&amp;lt;File:test.sdf&amp;gt;&amp;gt;
&lt;/pre&gt;&lt;/code&gt;
&lt;/blockquote&gt;
となり、読み込み処理が行なわれないようです。sdfが良くないのか？はたまたメソッドか?&lt;/p&gt;
&lt;p&gt;あんま、エラー報告ばっかりしてもあらーんな感じなので、もうちょいまともな報告がでしたいなぁと。と、突然rubyも勉強しようと思い立って、近所の本屋に走ってrubyの本を買ってきたゾ（でもコレしかなかった）。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774126454/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41E6PZX7ZNL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Ruby プログラミング基礎講座&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    広瀬 雄二&lt;br /&gt;
    技術評論社 / 2079円 ( 2006-01-13 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;ルビイストへの半歩くらいを踏み出したかな?&lt;/p&gt;
&lt;p&gt;週末かけてこの本は大体読んじゃったけど、これ以降は何を読んで勉強するのがいいのでしょうか?&lt;/p&gt;</description><pubDate>Sun, 12 Feb 2006 22:21:03 +0919</pubDate><category>chemruby</category></item><item><title>CDKで吐かせたmolはChemrubyでの構造描画が?だヨ</title><link>http://blog.kzfmix.com/entry/1139669175</link><description>&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1139645753"&gt;ココ&lt;/a&gt;のエントリでの構造描画は流れ的にChemrubyで描くべきなんだけど。&lt;/p&gt;
&lt;p&gt;そもそも画像描画のステップには&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;2次元座標を保持したオブジェクトの生成&lt;/li&gt;
&lt;li&gt;画像描画&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;が必要で、smilesのような座標情報のない形での構造情報は、何かで構造立ち上げしないといけない。chemrubyは立ち上げ処理できないらしいので、この作業は他の何かに任せるわけだ。
ちなみに、perlmolは芳香環が含まれない場合には、座標のついた形でmol形式に保存してくれるんだが、座標があったりなかったりとかはかなり使いにくいし、普通芳香環のない構造扱うことってあんまないでしょ？&lt;/p&gt;
&lt;p&gt;な感じなので、&lt;a href="http://blog.kzfmix.com/entry/1139668371"&gt;CDK&lt;/a&gt;を使うのがデフォルト。&lt;/p&gt;
&lt;p&gt;で、CDKで"OC=C-C=C"をmol形式にするとこうなる&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;code&gt;&lt;pre&gt;
  CDK

5  4  0  0  0  0  0  0  0  0999 V2000
    0.0000    0.0000    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
    1.2990   -0.7500    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    2.5981   -0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    3.8971   -0.7500    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    5.1962   -0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  2  1  1  0  0  0  0 
  3  2  2  0  0  0  0 
  4  3  1  0  0  0  0 
  5  4  2  0  0  0  0 
M  END
&lt;/pre&gt;&lt;/code&gt;
&lt;/blockquote&gt;

&lt;p&gt;うまく座標が割り当てられてますな。これをchemrubyを使ってpngに変換するとこうなる&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;code&gt;
irb(main):001:0&gt; require 'RMagick'
=&gt; true
irb(main):002:0&gt; require 'chem'
=&gt; true
irb(main):003:0&gt; mol = Chem.open_mol("diene.mol")
irb(main):004:0&gt; mol.save("rbtest.png")
&lt;/code&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img alt="rbtest" src="http://www.kzfmix.com/images/blosxom/rbtest.png" /&gt;&lt;/p&gt;
&lt;p&gt;水酸基の情報が落ちてしまったヨ。&lt;/p&gt;</description><pubDate>Sat, 11 Feb 2006 23:46:15 +0919</pubDate><category>cdk</category><category>chemruby</category></item><item><title>Chemrubyで構造描画 PNGに出力だ！</title><link>http://blog.kzfmix.com/entry/1139488326</link><description>&lt;p&gt;&lt;a href="http://www.chemruby.org/hiki/"&gt;Chemruby web site&lt;/a&gt;に&lt;a href="http://www.chemruby.org/hiki/hiki.cgi?%BD%E9%BF%B4%BC%D4"&gt;初心者&lt;/a&gt;てのが出来てたので、初心者らしくRMagickを使ったテストをしてみたぞ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;をを～　pngで出力されるようになっとる !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;早速、&lt;a href="http://www.chemruby.org/hiki/hiki.cgi?%BB%EB%B3%D0%B2%BD"&gt;視覚化&lt;/a&gt;のサンプルもpngで落としてみることに&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;code&gt;
require 'RMagick'
require 'chem'
mol = Chem.open_mol("mol/C00019.mol")
query = Chem.open_mol("mol/C00147.mol")
m = mol.match_by_ullmann(query)
matched_nodes = m.inject([]){|ret, i| ret.push(mol.nodes[i])}
mol.edges.each do |bond, atom1, atom2|
  bond.color = [1, 0, 0] if matched_nodes.include?(atom1) and matched_nodes.include?(atom2)
end
mol.nodes.each{|node| node.visible = true unless node.element == :C}
mol.save("chemrubytest.png")
mol.save("chemrubytest.pdf")
&lt;code&gt;
&lt;/blockquote&gt;

&lt;p&gt;でてきたpngはこれだ。&lt;/p&gt;
&lt;p&gt;&lt;img alt="result" src="http://www.kzfmix.com/images/blosxom/rubtest.png" /&gt;&lt;/p&gt;
&lt;p&gt;まだ、色はつかないのね。と、描画位置のバランスと、フォントの大きさとかちょっと気になる。結局そういうのは地道に綺麗にしていくだけなんで、個人的には大して気にならないが、最終的にはCDKよりは綺麗な絵が出力されるようになることを期待しますヨ。&lt;/p&gt;
&lt;p&gt;あとsdf2png欲しい。まぁこれは自分で書けばいいのだが。よし、rubyの勉強も兼ねて書いてみよう。&lt;/p&gt;</description><pubDate>Thu, 09 Feb 2006 21:32:06 +0919</pubDate><category>chemruby</category></item><item><title>MOSSというものを知った</title><link>http://blog.kzfmix.com/entry/1137596262</link><description>&lt;p&gt;&lt;a href="http://chemruby.org/hiki/"&gt;ChemRuby&lt;/a&gt;のサイトで、&lt;a href="http://fuzzy.cs.uni-magdeburg.de/~borgelt/moss.html"&gt;MoSS - Molecular Substructure Miner&lt;/a&gt;というものがあることを知ったので、早速論文読んでみた。(Triposがかんでるのか、、、)&lt;/p&gt;
&lt;p&gt;MoSSにヒストグラムくっつければClassPharmerになっちゃうんじゃないのん？みたいな認識でよいのか？あとベンチマークが速いのか遅いのか今ひとつわからんかった。他に興味あることは、グラフから部分構造あるなしのフィンガープリントつくれたりするんだろうか？とか。&lt;/p&gt;
&lt;p&gt;今度、実際に動かしてみよう。&lt;/p&gt;</description><pubDate>Wed, 18 Jan 2006 23:57:42 +0919</pubDate><category>chemruby</category></item><item><title>Chemrubyで構造描画(2)</title><link>http://blog.kzfmix.com/entry/1136872580</link><description>&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1136805357"&gt;Chemrubyうまくいかない&lt;/a&gt;とか書いたが、&lt;a href="http://chemruby.org/hiki/hiki.cgi?%BB%EB%B3%D0%B2%BD"&gt;視覚化&lt;/a&gt;の通りにopen_molしたらすんなりいけた。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;code&gt;&lt;pre&gt;
require 'chem'

molecule = Chem.open_mol("mol/C01455.mol")
molecule.save("test.smi")
&lt;/pre&gt;&lt;code&gt;
&lt;/blockquote&gt;

&lt;p&gt;うーん、open_molとparseの違いがわからん。perlだったらdumpしてやればいいんだが、rubyではどうやるんだろうか？&lt;/p&gt;
&lt;p&gt;ついでに、色付けもやってみた。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;code&gt;&lt;pre&gt;
require 'chem'

mol = Chem.open_mol("mol/C00019.mol")
query = Chem.open_mol("mol/C00147.mol")
m = mol.match_by_ullmann(query)
matched_nodes = m.inject([]){|ret, i| ret.push(mol.nodes[i])}
mol.edges.each do |bond, atom1, atom2|
  bond.color = [1, 0, 0] if matched_nodes.include?(atom1)
 and matched_nodes.include?(atom2)
end
mol.nodes.each{|node| node.visible = true unless node.element == :C}
mol.save("hello.pdf")
&lt;/pre&gt;&lt;code&gt;
&lt;/blockquote&gt;

&lt;p&gt;test2.rbで保存して、&lt;code&gt;ruby test2.rb&lt;/code&gt;で実行。出来たのが&lt;a href="/tools/hello.pdf"&gt;hello.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ダブルボンドとかはリングの内側に入って欲しいが、ナカナカ良い。&lt;/p&gt;
&lt;p&gt;で、RMagickも入れたから、pngの出力を試そうとpngtest.rbというスクリプトを書いて&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;code&gt;&lt;pre&gt;
require 'chem'

mol = Chem.open_mol("mol/C00019.mol")
mol.save("hello.png")
&lt;/pre&gt;&lt;code&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;ruby pngtest.rb&lt;/code&gt;で実行したところエラー。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;code&gt;&lt;pre&gt;
ruby pngtest.rb 
/usr/local/lib/ruby/site_ruby/1.8/chem/writer.rb:41:
in `save': NotImplementedError (NotImplementedError)
        from pngtest.rb:4
&lt;/pre&gt;&lt;code&gt;
&lt;/blockquote&gt;

&lt;p&gt;pngに限らず、smiとかpdbでも同じエラーが出る。&lt;/p&gt;</description><pubDate>Tue, 10 Jan 2006 14:56:20 +0919</pubDate><category>chemruby</category></item><item><title>Chemrubyでコード書き</title><link>http://blog.kzfmix.com/entry/1136805357</link><description>&lt;p&gt;一昨日、昨日と滑りに行ったら、風邪をこじらせて現在ボロボロ且つ療養中。昨晩、超悪寒発生で、夜中に歯がカタカタ鳴ったのは4,5年ぶりでなかろうか。&lt;/p&gt;
&lt;p&gt;というわけで、昨日寝すぎて蒲団に潜っていても寝れないのでノートパソコンを持ち出し、chemrubyでコードを書いてみることに。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
require 'chem'
molecule = Chem.parse_smiles("c1ccccc1")
molecule.save("test.mol")
&lt;/blockquote&gt;

&lt;p&gt;こんな感じでコード書けばいいの？みたいな感じで。でmoltest.rbという名前で保存したら実行。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
ruby moltest.rb 
/usr/local/lib/ruby/site_ruby/1.8/chem/db/types/type_mdl.rb:22:in `save': undefined method `save_as_mdl' for #&lt;Chem::SmilesMol:0xbf51a03c&gt; (NoMethodError)
        from /usr/local/lib/ruby/site_ruby/1.8/chem/writer.rb:43:in `save'
        from moltest.rb:5
&lt;/blockquote&gt;

&lt;p&gt;メソッドが定義されていないとかでよるヨ。require だけじゃ駄目なのか？うーんわかんね。rubyの本買おうっと。&lt;/p&gt;</description><pubDate>Mon, 09 Jan 2006 20:15:57 +0919</pubDate><category>chemruby</category></item><item><title>Chemrubyで構造描画</title><link>http://blog.kzfmix.com/entry/1136546386</link><description>&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1135993061"&gt;chemrubyのグラフィックライブラリの充実度わからん&lt;/a&gt;とか書いたけど、&lt;a href="http://www.chemruby.org/hiki/?%BB%EB%B3%D0%B2%BD"&gt;視覚化&lt;/a&gt;が新たに追加されてました。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ナニゲにCDKより綺麗だ！&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ケミストのインターフェースは大概SARテーブル(Excel)だから、構造付きのテーブルの見栄えとかはかなり気を使うとこなんで、綺麗な構造は&lt;a href="http://national.jp/kireone/cm/"&gt;綺麗なおねえぇさん&lt;/a&gt;以上に素敵。しかも、色付け簡単そうなのもイイ。実際、SARのときに母骨格の色分けとか重要だったりするからかなり惹かれ気味。&lt;/p&gt;
&lt;p&gt;というわけで、これを機にrubyもちょっと勉強しようかナァ。(ruby on railsも気になるし)。&lt;/p&gt;</description><pubDate>Fri, 06 Jan 2006 20:19:46 +0919</pubDate><category>chemruby</category></item></channel></rss>