課題別チュートリアル
一括処理の前にSMILESリストを事前検査する
記述子計算、類似度検索、重複確認の前に、すべての入力をacceptedまたはrejectedに分類します。
作るもの
入力順を保ち、元の値ごとに明示したstatus、正規化SMILESまたは解析エラーを残すローカルの事前検査レポート。
手順
- CSVや表の行と同じ順番で、元のSMILES値を読み込みます。
- 無効な入力を飛ばすAPIを使う前に、バッチ正規化レポートを実行します。
- 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行に対応付けてから判断してください。