用途:批量处理化学 SMILES 字符串,去除盐离子(反离子),仅保留活性药物成分(API)核心结构。
主要能力:通过“.”分隔符识别多组分;按原子数保留最大组分作为核心;支持常见无机盐(NaCl、KCl、HCl、H₂SO₄)、有机酸盐(柠檬酸盐、酒石酸盐、马来酸盐)及季铵盐。输出文件保留原始数据并新增 desalted_smiles 与 status 列。
使用方式:依赖 Python >= 3.8 与 rdkit >= 2022.03.1,安装命令 pip install rdkit pandas。命令行参数:--input/-i 输入文件(CSV/TSV/SMILES,必填)、--output/-o 输出路径(默认 desalted_output.csv)、--column/-c SMILES 列名(默认 smiles)、--keep-largest/-k 保留最大组分(默认 True)。单条处理示例:python scripts/main.py -s "CC(C)CN1C(=O)N(C)C(=O)C2=C1N=CN2C.[Na+]"。验证命令:python -m py_compile scripts/main.py 与 python scripts/main.py --help。
适用场景:化学数据清洗、药物分子预处理、批量脱盐等数据分析任务。
限制:假设核心为原子数最多的组分;共晶或多组分药物可能需人工复核;部分盐酸盐可能以 [Cl-] 或 Cl 形式存在,建议抽样验证。若输入缺失或超出范围,应停止并请求最小必要信息,不得编造结果。