In [ ]:
import rmgpy
from rmgpy.data.rmg import RMGDatabase
from rmgpy.rmg.react import *
from rmgpy.reaction import Reaction
from rmgpy.molecule.molecule import Molecule
from rmgpy.molecule.resonance import *
from rmgpy.species import Species
from rmgpy.data.kinetics.common import filter_reactions
from copy import deepcopy
from IPython.display import display
In [ ]:
family = 'Birad_R_Recombination'
In [ ]:
databasePath = rmgpy.settings['database.directory']
database = RMGDatabase()
database.load(
path = databasePath,
thermoLibraries = [],
reactionLibraries = [],
seedMechanisms = [],
kineticsFamilies = [family],
)
In [ ]:
reactants = [
Molecule().fromAdjacencyList("""
multiplicity 2
1 C u0 p0 c0 {2,S} {3,S} {4,S} {11,S}
2 C u1 p0 c0 {1,S} {5,S} {6,S}
3 C u0 p0 c0 {1,S} {7,D} {12,S}
4 C u0 p0 c0 {1,S} {8,D} {13,S}
5 C u0 p0 c0 {2,S} {9,D} {14,S}
6 C u0 p0 c0 {2,S} {10,D} {15,S}
7 C u0 p0 c0 {3,D} {9,S} {18,S}
8 C u0 p0 c0 {4,D} {10,S} {19,S}
9 C u0 p0 c0 {5,D} {7,S} {16,S}
10 C u0 p0 c0 {6,D} {8,S} {17,S}
11 H u0 p0 c0 {1,S}
12 H u0 p0 c0 {3,S}
13 H u0 p0 c0 {4,S}
14 H u0 p0 c0 {5,S}
15 H u0 p0 c0 {6,S}
16 H u0 p0 c0 {9,S}
17 H u0 p0 c0 {10,S}
18 H u0 p0 c0 {7,S}
19 H u0 p0 c0 {8,S}
"""),
]
products = [
Molecule().fromAdjacencyList("""
1 C u0 p0 c0 {2,B} {3,B} {4,B}
2 C u0 p0 c0 {1,B} {5,B} {6,B}
3 C u0 p0 c0 {1,B} {7,B} {11,S}
4 C u0 p0 c0 {1,B} {8,B} {12,S}
5 C u0 p0 c0 {2,B} {9,B} {13,S}
6 C u0 p0 c0 {2,B} {10,B} {14,S}
7 C u0 p0 c0 {3,B} {9,B} {15,S}
8 C u0 p0 c0 {4,B} {10,B} {16,S}
9 C u0 p0 c0 {5,B} {7,B} {17,S}
10 C u0 p0 c0 {6,B} {8,B} {18,S}
11 H u0 p0 c0 {3,S}
12 H u0 p0 c0 {4,S}
13 H u0 p0 c0 {5,S}
14 H u0 p0 c0 {6,S}
15 H u0 p0 c0 {7,S}
16 H u0 p0 c0 {8,S}
17 H u0 p0 c0 {9,S}
18 H u0 p0 c0 {10,S}
"""),
Molecule(SMILES="[H]"),
]
for r in reactants:
display(r)
for p in products:
display(p)
In [ ]:
reactants = [Molecule(SMILES='[NH]'), Molecule(SMILES='[O-][N+]=O')]
for r in reactants:
display(r)
products = [Molecule(SMILES='[N+](=O)([NH])[O-]')]
for p in products:
display(p)
In [ ]:
result = database.kinetics.generate_reactions_from_families(reactants, products)
result
In [ ]:
for r in result:
display(r)
In [ ]:
result = database.kinetics.families[family].addReverseAttribute(rxn)
result
In [ ]:
for r in result:
display(r)
In [ ]: