OpenBabel : C++ライブラリ+SWIG

化合物ファイル用の便利なコンバーター
のみならず、C++ ライブラリとして perlpython から使用できる。

http://openbabel.sourceforge.net/api/2.1.0/start.shtml

SWIG ってこうやって(速い言語でライブラリを作り、スクリプト言語がラッパーとして利用)使うのか!
ようやく腑に落ちた。Open Babel はきれいな設計だと思う。いつかこういうものを設計し、実装したいものだ。
クラスを適切に設計しているから、こその拡張性。

なお、上記のサンプルコードはそのままではコンパイルできなかったので、
using namespace std;
using namespace OpenBabel;
を追加し、
conv->Write(&mol)
を conv.Write(&mol) に変更。

「ケムインフォマティクスに虚空投げ」(http://cheminformatics.seesaa.net/)さんの記事
http://cheminformatics.seesaa.net/article/42550630.html が参考になった。