Skip to content

ToolkitWrapper.from_smiles accepts SMILESes with ambiguous stereochemistry #137

@j-wags

Description

@j-wags

The SMILES [H]C(F)(Cl)Br shouldn't be accepted when making an OFFMol becsause there is no stereochemistry defined for the C (I think?). However passing it in to different TookitWrappers's from_smiles function doesn't raise an error.
RDKitToolkitWrapper

toolkit_wrapper = RDKitToolkitWrapper()
smiles = '[H]C(F)(Cl)Br'
molecule = toolkit_wrapper.from_smiles(smiles)
print(molecule.to_dict())

The central carbon atom is not assigned a stereochemistry:

OrderedDict([('atomic_number', 6), ('formal_charge', 0), ('is_aromatic', False), ('stereochemistry', None), ('name', '')])

Giving a valid SMILES, [H][C@@](F)(Cl)Br yields

OrderedDict([('atomic_number', 6), ('formal_charge', 0), ('is_aromatic', False), ('stereochemistry', 'R'), ('name', '')])

OpenEyeToolkitWrapper

toolkit_wrapper = OpenEyeToolkitWrapper()
smiles = '[H]C(F)(Cl)Br'
molecule = Molecule.from_smiles(smiles, toolkit_registry=toolkit_wrapper)
print(molecule.to_dict())

The central carbon is not assigned a stereochemistry:

OrderedDict([('atomic_number', 6), ('formal_charge', 0), ('is_aromatic', False), ('stereochemistry', None), ('name', '')])

Giving a valid SMILES, [H][C@@](F)(Cl)Br yields

OrderedDict([('atomic_number', 6), ('formal_charge', 0), ('is_aromatic', False), ('stereochemistry', 'R'), ('name', '')])

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions