課題別チュートリアル

一括処理の前にSMILESリストを事前検査する

記述子計算、類似度検索、重複確認の前に、すべての入力をacceptedまたはrejectedに分類します。

作るもの

入力順を保ち、元の値ごとに明示したstatus、正規化SMILESまたは解析エラーを残すローカルの事前検査レポート。

手順

  1. CSVや表の行と同じ順番で、元のSMILES値を読み込みます。
  2. 無効な入力を飛ばすAPIを使う前に、バッチ正規化レポートを実行します。
  3. input_indexを元行に対応付け、rejectedの値を修正または隔離してから次の処理を始めます。
import json
import chematic

source_smiles = ["CCO", "C1CC", "OCC"]
report = json.loads(chematic.canonicalize_smiles_batch_json(source_smiles))

for row in report["records"]:
    print(row)

期待する結果

CCOとOCCはacceptedになり、それぞれcanonical_smilesを持ちます。不完全なC1CCはinput_index 1のまま、エラー付きでrejectedになります。

うまくいかないとき

このレポートが確認するのはSMILESの構文と表現だけです。acceptedの行でも、化学物質の同一性、塩の方針、立体化学の意図、安全性、実験的な妥当性を証明しません。元の値を残し、0始まりのinput_indexを元のCSV行に対応付けてから判断してください。

次の行動

行を残す記述子CSVを作る