|
由于我需要在复杂的pandas库中方便多维操作。我的分子对象rdkit mol保存在pandas内,现在我需要让rdkit的mol对象合理的转换成xyz坐标,以及高斯输入文件。如何批量生成呢?
之前尝试用
try:
# 从SMILES创建分子
mol = Chem.MolFromSmiles(smiles)
if mol is None:
if logger:
logger.warning(f"无效的SMILES字符串: {smiles}")
return False
# 添加氢原子
mol = Chem.AddHs(mol)
# 尝试多种方法生成3D构象
success = False
method_used = None
# 方法1: ETKDG
try:
result = AllChem.EmbedMolecule(mol, AllChem.ETKDG())
if result == 0: # 成功
AllChem.UFFOptimizeMolecule(mol)
success = True
method_used = "ETKDG"
except Exception as e:
if logger:
logger.info(f"ETKDG方法失败: {str(e)}")
但是之前发现生成的坐标,有严重的高斯输入不合理性,这些输入可以视为高斯的初猜结构。是为了后面能避免Gaussian运算。请问大家有没有什么好办法,用Python代码解决坐标输入和电荷、自旋多重度的计算
|
|