課題別チュートリアル

PythonでSMILES構造式をSVGファイルへ書き出す

1つのSMILESから、正確な入力と一緒に残せる拡大可能な2D構造式ファイルをローカルで作ります。

作るもの

インストール済みのchematic Pythonパッケージで作るaspirin.svgと、元のSMILESを明示した記録。

手順

  1. chematic.from_smilesで完全なSMILESを1つローカル解析します。
  2. mol.svgでSVG文字列を作り、UTF-8のテキストとして書き出します。
  3. ブラウザまたはベクターエディタでファイルを開き、入力とパッケージ版を成果物と一緒に残します。
from pathlib import Path
import chematic

smiles = "CC(=O)OC1=CC=CC=C1C(=O)O"
mol = chematic.from_smiles(smiles)
Path("aspirin.svg").write_text(mol.svg(), encoding="utf-8")
print({"input_smiles": smiles, "file": "aspirin.svg"})

期待する結果

aspirin.svgはSVGマークアップで始まり、拡大できる2Dアスピリン構造式として開けます。出力した記録には正確な入力SMILESと出力ファイル名が一緒に残ります。

うまくいかないとき

解析に失敗したら、成果物を書く前に入力を修正します。SVGは2D描画であり、交換形式、物質同一性、立体化学の意図、安全性、実験的妥当性の証明ではありません。

次の行動

ブラウザでSVG構造式を作る