我为一个分子生成了一堆构象异构体。对于每个一致的,我想将坐标保存在 SDF 文件中。我尝试了以下操作,但 sdf 文件中的坐标与符合者的坐标不同。
from rdkit import Chem
from rdkit.Chem import AllChem
from rdkit.Chem.EnumerateStereoisomers import EnumerateStereoisomers
from rdkit.Chem.EnumerateStereoisomers import StereoEnumerationOptions
aspirin = 'CC(=O)OC1=CC=CC=C1C(=O)O'
mol = Chem.AddHs(Chem.MolFromSmiles(aspirin))
conformers = AllChem.EmbedMultipleConfs(mol, numConfs=8)
conformer_i = mol.GetConformer(0) # This is the conformer that I wanted to save in a SDF file.
print(conformer_i.GetPositions())
Run Code Online (Sandbox Code Playgroud)
我明白了
[[ 3.55910965 0.20840444 0.20174025]
[ 2.13148034 -0.07274183 -0.11680036]
[ 1.81233825 -0.09134332 -1.32465968]
[ 1.16950868 -0.30747936 0.83214171]
[-0.12944319 -0.55824117 0.41262056]
[-0.53676538 -1.86517356 0.15656512]
[-1.82111824 -2.14574436 -0.26154327]
[-2.69581394 -1.09437287 -0.4203516 ]
[-2.35275981 …Run Code Online (Sandbox Code Playgroud)