Chemruby web siteに初心者てのが出来てたので、初心者らしくRMagickを使ったテストをしてみたぞ。
をを~ pngで出力されるようになっとる !
早速、視覚化のサンプルもpngで落としてみることに
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")
でてきたpngはこれだ。
まだ、色はつかないのね。と、描画位置のバランスと、フォントの大きさとかちょっと気になる。結局そういうのは地道に綺麗にしていくだけなんで、個人的には大して気にならないが、最終的にはCDKよりは綺麗な絵が出力されるようになることを期待しますヨ。
あとsdf2png欲しい。まぁこれは自分で書けばいいのだが。よし、rubyの勉強も兼ねて書いてみよう。