When loading a molecule for a QCArchive molecule where an atom should have a formal charge, the oechem.OEAssignFormalCharges(molecule) can add implicit hydrogens where we don't want them because it doesn't know the charge of the atom.
Example molecule:
When loading this molecule from an sdf file where the atoms have charge assigned to them, the canonical SMILES is:
'c1ccc(cc1)c2[n-]nnn2'
But when loading it from a QCArchive molecule in cmiles, the canonical SMILES is:
c1ccc(cc1)c2[nH]nnn2
When loading a molecule for a QCArchive molecule where an atom should have a formal charge, the
oechem.OEAssignFormalCharges(molecule)
can add implicit hydrogens where we don't want them because it doesn't know the charge of the atom.Example molecule:![image](https://user-images.githubusercontent.com/6598229/57041941-74c86c00-6c31-11e9-8375-e892af1ee3c2.png)
When loading this molecule from an sdf file where the atoms have charge assigned to them, the canonical SMILES is:
'c1ccc(cc1)c2[n-]nnn2'
But when loading it from a QCArchive molecule incmiles
, the canonical SMILES is:c1ccc(cc1)c2[nH]nnn2