In [ ]:
import os
from IPython.display import display

import rmgpy
from rmgpy.data.rmg import RMGDatabase
from rmgpy.reaction import Reaction
from rmgpy.molecule.molecule import Molecule
from rmgpy.species import Species
from rmgpy.rmg.react import *

In [ ]:
databasePath = os.path.join(rmgpy.settings['test_data.directory'], 'testing_database')

database = RMGDatabase()
database.load(
    path = databasePath,
    thermoLibraries = ['primaryThermoLibrary'],
    reactionLibraries = ['GRI-Mech3.0'],
    seedMechanisms = [],
    kineticsFamilies = 'default',
    )

for family in database.kinetics.families.itervalues():
    family.addKineticsRulesFromTrainingSet(thermoDatabase=database.thermo)
    family.fillKineticsRulesByAveragingUp(verbose=True)

In [ ]:
reactants = [
    Species().fromSMILES('[OH]'),
    Species().fromSMILES('O[CH2]'),
]
products = [
    Species().fromSMILES('O'),
    Species().fromSMILES('C=C'),
]
for r in reactants:
    r.generateResonanceIsomers()
for p in products:
    p.generateResonanceIsomers()

rxn = Reaction(reactants=reactants, products=products)

In [ ]:
result = reactSpecies(reactants)

In [ ]:
for res in result:
    display(res)

In [ ]:
rxn0 = result[3]
# for rxn in database.kinetics.libraries['GRI-Mech3.0'].getLibraryReactions():
#     if rxn0.isIsomorphic(rxn):
#         kinetics = rxn.kinetics
#         break
kinetics = database.kinetics.families[rxn0.family].getKinetics(rxn0, templateLabels=rxn0.template, degeneracy=rxn0.degeneracy, returnAllKinetics=False)

In [ ]:
kinetics

In [ ]:
print kinetics[0].comment

In [ ]: