-
Notifications
You must be signed in to change notification settings - Fork 1
Description
SMILES obtained by 3D parsing software such as PLIP may produce SMILES with explicit atoms with incorrect valency/missing hydrogens.
Example:
'[C][C]N1[C][C]C2(COC1=[C][C]=C3C(=[C]1)[C]N(C3=O)[C]1[C][C]C(=O)[N]C1=O)[C][C]2' -> obtained from PDB id 9DJT using PLIP.
or,
'[C][C]N1C(=O)[N]c2c1cccc2' -> obtained from PDB id 4G28 using PLIP.
These SMILES currently pass the santizer & standardization in CurateMol.
In theory this is expected behavior, assuming users know what they're doing regarding SMILES input.
In practise this is undesired and these molecules are 'wrong', incorrectly curated for downstream tasks.
Problem is fixing this is not 1:1, unless we assume valancy can be entirely solved by adding hydrogens. Seems like a highly case-specific curation step that cannot easily be assumed as general issue with a general solution. might break more than it solves.
suggested feature:
add curation step to CurateMol,
Curate explicit atoms with missing hydrogens/charges by protonation until net-neutral.
Expected result:
'[C][C]N1C(=O)[N]c2c1cccc2' -> 'CCN1C(=O)Nc2c1cccc2'
'[C][C]N1[C][C]C2(COC1=[C][C]=C3C(=[C]1)[C]N(C3=O)[C]1[C][C]C(=O)[N]C1=O)[C][C]2' -> 'CCN1CCC2(C(C1)OC1=CC=C3C(=C1)CN(C3=O)C1CCC(=O)NC1=O)CC2'
To be discussed. Not sure if molforge should be an upstream issue solver or just a convenience tool for dataset generation.