AutoTST icon indicating copy to clipboard operation
AutoTST copied to clipboard

resonance generation creates charged species

Open davidfarinajr opened this issue 5 years ago • 1 comments

Currently, AutoTST uses RMG's generate_resonance_structures() method to automatically generate resonance structures when an autotst species is initialized. However, occasionally, this resonance generation method raises a ValueError when trying to create a charged species. This is happening to some of the weird HAN nitrogen intermediates. This is the traceback when trying to generate a species from smiles string 'OO[N+](O)[O-]'

Traceback (most recent call last):
  File "molecules.py", line 103, in <module>
    species = Species(smiles=[smiles])
  File "/home/farina.d/AutoTST/autotst/species.py", line 143, in __init__
    species_list.append(molecule.generate_resonance_structures())
  File "rmgpy/molecule/molecule.py", line 2089, in rmgpy.molecule.molecule.Molecule.generate_resonance_structures
  File "rmgpy/molecule/molecule.py", line 2091, in rmgpy.molecule.molecule.Molecule.generate_resonance_structures
  File "rmgpy/molecule/resonance.py", line 150, in rmgpy.molecule.resonance.generate_resonance_structures
  File "rmgpy/molecule/resonance.py", line 185, in rmgpy.molecule.resonance.generate_resonance_structures
ValueError: Got the following structure:
SMILES: OO[N+2](O)[O-]
AdjacencyList:
1 O u0 p2 c0 {3,S} {5,S}
2 O u0 p2 c0 {5,S} {6,S}
3 O u0 p2 c0 {1,S} {7,S}
4 O u0 p3 c-1 {5,S}
5 N u0 p0 c+2 {1,S} {2,S} {4,S}
6 H u0 p0 c0 {2,S}
7 H u0 p0 c0 {3,S}

Net charge: 1

Currently RMG cannot process charged species correctly.
If this structure was entered in SMILES, try using the adjacencyList format for an unambiguous definition.

davidfarinajr avatar Jan 06 '20 19:01 davidfarinajr

Maybe related to https://github.com/ReactionMechanismGenerator/RMG-Py/issues/1859 which is generating charged species through resonance structure generation.

rwest avatar Jan 06 '20 22:01 rwest