用途:smina 是 AutoDock Vina 1.1.2 的分支,侧重可定制打分函数与局部能量最小化,用于分子对接、重打分、局部优化和批量虚拟筛选。
主要能力:直接接受 SDF/MOL2/PDB 配体,无需手动转 PDBQT;可用参考配体自动定框(--autobox_ligand、--autobox_add);内置 default、vina、vinardo、dkoes_scoring、dkoes_scoring_old、ad4_scoring 等打分函数,并支持 --custom_scoring 自定义加权项;可输出逐原子打分贡献(--atom_term_data)。支持仅打分(--score_only)、仅局部最小化(--local_only、--minimize、--minimize_iters)等模式。
使用方式:仅命令行,Python 中通过 subprocess 调用。受体需先用 ADFR Suite 的 prepare_receptor 生成 PDBQT;配体可用 RDKit 生成 3D 坐标并写为 SDF。典型命令:smina -r receptor.pdbqt -l candidate.sdf --autobox_ligand ref.pdb --autobox_add 8 -o docked.sdf --exhaustiveness 16 --num_modes 9 --seed 42。结果 SDF 中亲和力存于 minimizedAffinity,RMSD 存于 minimizedRMSD,stdout 末尾打印亲和力表。
适用场景:已有位点的重打分与局部优化、单点结合能计算、自定义打分函数对接、多配体批量筛选(每配体一个进程便于并行)、逐原子能量分解辅助药物化学设计。
限制:仅 CLI,无 Python 绑定;受体 PDBQT 需外部工具准备;若需 Vina Python 绑定、Vinardo 或 Vina 1.2 扩展力场应改用 autodock-vina-docking;结合位点未知时应改用 diffdock。安装可用 conda install -c conda-forge smina openbabel,并 pip install rdkit prody pandas py3Dmol。