<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>CML / Drkcore</title><link>http://blog.kzfmix.com/CML</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Thu, 02 Feb 2006 17:32:47 +0919</lastBuildDate><item><title>CML2SVG(Perl)</title><link>http://blog.kzfmix.com/entry/1138869167</link><description>&lt;p&gt;当初、CMLからSVGに変換するのは&lt;a href="http://blog.kzfmix.com/entry/1119150940"&gt;xslt&lt;/a&gt;でも用意すればと考えていた。だが、xsltイマイチ分からん、というより覚えるのがだるい。というわけで、「だらだら流れる(逐次処理する)んだったらSAXでも使おうかナァ」なんてノリでとりかかってみた。
しかし、bondのatomRefがatomidで、座標をatomエレメントから呼んでこないといけないので、やっぱSAXもメンドイかなってことで最終的にDOMりましたヨ。&lt;/p&gt;
&lt;p&gt;perlの&lt;a href="http://mfpm.blogdb.jp/app/view/XML::DOM/"&gt;XML::DOM&lt;/a&gt;と&lt;a href="http://mfpm.blogdb.jp/app/view/SVG/"&gt;SVG&lt;/a&gt;モジュール使用。&lt;/p&gt;
&lt;p&gt;とりあえず出来たSVGをconvertでpngにしてみた。&lt;/p&gt;
&lt;img src=/images/blosxom/cml2svg2png_sample.png /&gt;

&lt;p&gt;SVGは&lt;a href="/images/blosxom/cml2svg_test.svg"&gt;ココ&lt;/a&gt;だが一回セーブしてからでないとビューアーがうまく立ち上がらないような。&lt;/p&gt;
&lt;p&gt;あとは、アトムラベルのとことかダブルトリプルボンドの処理とかだけど、丁寧に書いていけばよいな。それから、スケーリングもちゃんと書かないといけないなぁ。もうちょっと、ましなスクリプトになったら落とせるようにしておくヨ。&lt;/p&gt;
&lt;p&gt;しかし、重要な問題が残っている（まぁコレに気付いてやる気レス化したため、プログラム書くのが延び延びになったんだが、、、）&lt;/p&gt;
&lt;p&gt;それは、&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://openbabel.sourceforge.net/"&gt;openbabel&lt;/a&gt;も&lt;a href="http://www.perlmol.org/"&gt;PerlMol&lt;/a&gt;も座標を自動で発生してくれない!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ということだ。ちゅうわけで、&lt;a href="http://ja.wikipedia.org/wiki/SMILES"&gt;SMILES&lt;/a&gt;からCMLにすると泣く。まぁ座標の問題はそのうち対応するみたいなんで期待してる。&lt;/p&gt;</description><pubDate>Thu, 02 Feb 2006 17:32:47 +0919</pubDate><category>perlmol</category><category>CML</category><category>SVG</category></item><item><title>JChemPaint</title><link>http://blog.kzfmix.com/entry/1119150940</link><description>&lt;p&gt;最近、&lt;strong&gt;コマンドラインから化学構造式をうまく画像として表示する方法&lt;/strong&gt;を探している。特に、&lt;a href="http://www.xml-cml.org/"&gt;CML&lt;/a&gt;をSVGに変換するプログラムを誰かが書いてることを期待したが、いいのが見つからず。唯一Adobeのサンプルに&lt;a href="http://www.adobe.com/svg/demos/cml2svg/html/"&gt;cml2svg&lt;/a&gt;ってのがあったけど、イマイチ出力がはてなです（アレだと実用ではないヨ）。&lt;/p&gt;
&lt;p&gt;そんななか、&lt;a href="http://almost.cubic.uni-koeln.de/cdk/jcp"&gt;JChemPaint&lt;/a&gt;といふものは、&lt;strong&gt;SVGで出力できる&lt;/strong&gt;ってことを発見。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
#java -jar jchempaint-2.0.12.jar
&lt;/blockquote&gt;

&lt;p&gt;エディターとしてはなかなかいい感じで、SMILES表記で構造に変換してくれるのはプチ便利。&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/blosxom/jchempaint.png"&gt;&lt;img src="http://www.kzfmix.com/images/blosxom/jchempaint.png" width="50%" height="50%" border="0"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;だが、JChemPaintでSVG出力すると、heightとwidthが指定されていないのでブラウザで表示させることが出来ないみたいだ。&lt;/p&gt;
&lt;p&gt;コマンドラインからCML2SVGできれば、convertでBMPでもPNGでも変換できるので、とても便利な気がするヨ。&lt;a href="http://openbabel.sourceforge.net/"&gt;openbabel&lt;/a&gt;使えば大抵のファイル形式をCMLに変換できるしな。&lt;/p&gt;
&lt;p&gt;ちゅうわけで、JChemPaintの出力のSVGを眺めてたら、XSL用意すれば、自前でCMLからSVGに変換できそうな気はするのですこしいじってみるかなとか思ったり。&lt;/p&gt;</description><pubDate>Sun, 19 Jun 2005 12:15:40 +0919</pubDate><category>CML</category><category>SVG</category></item><item><title>XSLTプロセッサ</title><link>http://blog.kzfmix.com/entry/1119150770</link><description>&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1119150940"&gt;コマンドラインからCMLをSVGに変換する&lt;/a&gt;やり方はなんとなく見えてきたので、あとはゴリゴリやるかXSLT使うか悩ましいところ。&lt;/p&gt;
&lt;p&gt;調べ物してたらうっかり&lt;a href="http://www.ch.ic.ac.uk/rzepa/xml/fop.html"&gt;FOPとかXSLT&lt;/a&gt;をいじくってみたくなったヨ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;で、ハマル&lt;/strong&gt;(win用のバッチファイルがまたアレだ)&lt;/p&gt;
&lt;p&gt;サンプル眺めて、イメージがわかないのはきちんと理解していない証拠だナァ。しかも、どのXSLTプロセッサがいいのかわからんし、、、&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;シーエムエル 渡るFOPは JAVAばかり&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://biz.ascii24.com/biz/column/xml/article/2000/06/22/485696-000.html"&gt;http://biz.ascii24.com/biz/column/xml/article/2000/06/22/485696-000.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.saxonica.com/"&gt;http://www.saxonica.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://xml.apache.org/xalan-j/"&gt;http://xml.apache.org/xalan-j/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.atmarkit.co.jp/fxml/rensai/cocoon01/cocoon01.html"&gt;http://www.atmarkit.co.jp/fxml/rensai/cocoon01/cocoon01.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://muimi.com/j/fop/"&gt;http://muimi.com/j/fop/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.atmarkit.co.jp/fxml/tanpatsu/xslt/xslt01.html"&gt;http://www.atmarkit.co.jp/fxml/tanpatsu/xslt/xslt01.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Sun, 19 Jun 2005 12:12:50 +0919</pubDate><category>CML</category><category>Perlmol</category><category>FOP</category><category>XSLT</category></item></channel></rss>