Our goal is to start recording mechanisms in SMILES langauge that is intuitive for an organic chemist to write. A lot of the mechanisms I will be abstracting from are Reddit and will be going with what the community agrees is the standard way of arrow pushing. So this mechanism is from this post:
Let’s go ahead and write our variables pythonically:
styrene = 'C=CC1=CC=CC=C1'
hydrobromic_acid = '[H]Br'
The first step of the mechanism is is where the alkene acts as a nucleophile and attacks the electrophilic hydrogen. The ethyl benzene cation is produced on the secondary carbon with a bromine counter anion. Which we can represent as:
first_step_mechanism = 'C[CH+]C1=CC=CC=C1.[Br-]'
Finally our product is then:
product = 'CC(Br)C1=CC=CC=C1'
We can then record the full mechanism as where :
hydrobromination_of_styrene = {
'step_1': :'C=CC1=CC=CC=C1.[H]Br',
'step_2': 'C[CH+]C1=CC=CC=C1.[Br-]',
'step_3': 'CC(Br)C1=CC=CC=C1'
'''
If we record enough perhaps this can be a useful educational tool and dataset.