diff --git a/input/kinetics/families/intra_substitutionS_cyclization/groups.py b/input/kinetics/families/intra_substitutionS_cyclization/groups.py index a5715c0083..71006010c9 100644 --- a/input/kinetics/families/intra_substitutionS_cyclization/groups.py +++ b/input/kinetics/families/intra_substitutionS_cyclization/groups.py @@ -43,7 +43,7 @@ group = """ 1 *1 Ss u0 {2,S} {3,S} -2 *2 R!H u0 {1,S} +2 *2 R u0 {1,S} 3 *4 R u0 {1,S} """, kinetics = None, @@ -57,7 +57,7 @@ 1 *3 R!H u1 {2,[S,D]} 2 *4 R u0 {1,[S,D]} {3,S} 3 *1 Ss u0 {2,S} {4,S} -4 *2 R!H u0 {3,S} +4 *2 R u0 {3,S} """, kinetics = None, ) @@ -70,7 +70,7 @@ 1 *3 R!H u1 {2,S} 2 *4 R u0 {1,S} {3,S} 3 *1 Ss u0 {2,S} {4,S} -4 *2 R!H u0 {3,S} +4 *2 R u0 {3,S} """, kinetics = None, ) @@ -83,7 +83,7 @@ 1 *3 R!H u1 {2,D} 2 *4 R u0 {1,D} {3,S} 3 *1 Ss u0 {2,S} {4,S} -4 *2 R!H u0 {3,S} +4 *2 R u0 {3,S} """, kinetics = None, ) @@ -97,7 +97,7 @@ 2 *5 R!H u0 {1,[S,D]} {3,[S,D]} 3 *4 R u0 {2,[S,D]} {4,S} 4 *1 Ss u0 {3,S} {5,S} -5 *2 R!H u0 {4,S} +5 *2 R u0 {4,S} """, kinetics = None, ) @@ -111,7 +111,7 @@ 2 *5 R!H u0 {1,S} {3,S} 3 *4 R u0 {2,S} {4,S} 4 *1 Ss u0 {3,S} {5,S} -5 *2 R!H u0 {4,S} +5 *2 R u0 {4,S} """, kinetics = None, ) @@ -125,7 +125,7 @@ 2 *5 R!H u0 {1,D} {3,S} 3 *4 R u0 {2,S} {4,S} 4 *1 Ss u0 {3,S} {5,S} -5 *2 R!H u0 {4,S} +5 *2 R u0 {4,S} """, kinetics = None, ) @@ -139,7 +139,7 @@ 2 *5 R!H u0 {1,S} {3,D} 3 *4 R u0 {2,D} {4,S} 4 *1 Ss u0 {3,S} {5,S} -5 *2 R!H u0 {4,S} +5 *2 R u0 {4,S} """, kinetics = None, ) @@ -153,7 +153,7 @@ 2 *5 R!H u0 {1,D} {3,D} 3 *4 R u0 {2,D} {4,S} 4 *1 Ss u0 {3,S} {5,S} -5 *2 R!H u0 {4,S} +5 *2 R u0 {4,S} """, kinetics = None, ) @@ -168,7 +168,7 @@ 3 *6 R!H u0 {2,[S,D]} {4,[S,D]} 4 *4 R u0 {3,[S,D]} {5,S} 5 *1 Ss u0 {4,S} {6,S} -6 *2 R!H u0 {5,S} +6 *2 R u0 {5,S} """, kinetics = None, ) @@ -183,7 +183,7 @@ 3 *6 R!H u0 {2,S} {4,S} 4 *4 R u0 {3,S} {5,S} 5 *1 Ss u0 {4,S} {6,S} -6 *2 R!H u0 {5,S} +6 *2 R u0 {5,S} """, kinetics = None, ) @@ -198,7 +198,7 @@ 3 *6 R!H u0 {2,S} {4,S} 4 *4 R u0 {3,S} {5,S} 5 *1 Ss u0 {4,S} {6,S} -6 *2 R!H u0 {5,S} +6 *2 R u0 {5,S} """, kinetics = None, ) @@ -213,7 +213,7 @@ 3 *6 R!H u0 {2,D} {4,S} 4 *4 R u0 {3,S} {5,S} 5 *1 Ss u0 {4,S} {6,S} -6 *2 R!H u0 {5,S} +6 *2 R u0 {5,S} """, kinetics = None, ) @@ -228,7 +228,7 @@ 3 *6 R!H u0 {2,S} {4,D} 4 *4 R u0 {3,D} {5,S} 5 *1 Ss u0 {4,S} {6,S} -6 *2 R!H u0 {5,S} +6 *2 R u0 {5,S} """, kinetics = None, ) @@ -243,7 +243,7 @@ 3 *6 R!H u0 {2,D} {4,D} 4 *4 R u0 {3,D} {5,S} 5 *1 Ss u0 {4,S} {6,S} -6 *2 R!H u0 {5,S} +6 *2 R u0 {5,S} """, kinetics = None, ) @@ -258,7 +258,7 @@ 3 *6 R!H u0 {2,S} {4,D} 4 *4 R u0 {3,D} {5,S} 5 *1 Ss u0 {4,S} {6,S} -6 *2 R!H u0 {5,S} +6 *2 R u0 {5,S} """, kinetics = None, ) @@ -273,7 +273,7 @@ 3 *6 R!H u0 {2,D} {4,S} 4 *4 R u0 {3,S} {5,S} 5 *1 Ss u0 {4,S} {6,S} -6 *2 R!H u0 {5,S} +6 *2 R u0 {5,S} """, kinetics = None, ) @@ -288,7 +288,7 @@ 3 *6 R!H u0 {2,D} {4,D} 4 *4 R u0 {3,D} {5,S} 5 *1 Ss u0 {4,S} {6,S} -6 *2 R!H u0 {5,S} +6 *2 R u0 {5,S} """, kinetics = None, ) @@ -304,7 +304,7 @@ 4 *7 R!H u0 {3,[S,D]} {5,[S,D]} 5 *4 R u0 {4,[S,D]} {6,S} 6 *1 Ss u0 {5,S} {7,S} -7 *2 R!H u0 {6,S} +7 *2 R u0 {6,S} """, kinetics = None, ) @@ -320,7 +320,7 @@ 4 *7 R!H u0 {3,S} {5,S} 5 *4 R u0 {4,S} {6,S} 6 *1 Ss u0 {5,S} {7,S} -7 *2 R!H u0 {6,S} +7 *2 R u0 {6,S} """, kinetics = None, ) @@ -337,7 +337,7 @@ 5 *8 R!H u0 {4,[S,D]} {6,[S,D]} 6 *4 R u0 {5,[S,D]} {7,S} 7 *1 Ss u0 {6,S} {8,S} -8 *2 R!H u0 {7,S} +8 *2 R u0 {7,S} """, kinetics = None, ) @@ -355,881 +355,39 @@ group = """ 1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 R u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 26, - label = "CdsJ-H", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 27, - label = "CdsJ-Cs", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 28, - label = "CdsJ-Ss", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 29, - label = "CdsJ-Cd", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 Cd u0 {1,S} {4,D} -4 C u0 {3,D} -""", - kinetics = None, -) - -entry( - index = 30, - label = "CdsJ-2", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 R u0 {1,D} -3 R u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 31, - label = "CdsJ_C-2", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 R u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 32, - label = "CdsJ_C-Cs2", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 33, - label = "CdsJ_C-Ss2", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 34, - label = "CdsJ_C-Cd2", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 Cd u0 {1,S} {4,D} -4 C u0 {3,D} -""", - kinetics = None, -) - -entry( - index = 35, - label = "CdsJ_S-2", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 S u0 {1,D} -3 R u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 36, - label = "CsJ", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 R u0 {1,S} -3 R u0 {1,S} -4 R u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 37, - label = "CsJ-Cs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 R u0 {1,S} -4 R u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 38, - label = "CsJ-CsHH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 H u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 39, - label = "CsJ-CsCsH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 Cs u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 40, - label = "CsJ-CsCsCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 Cs u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 41, - label = "CsJ-CsSsH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 Ss u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 42, - label = "CsJ-CsSsSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 Ss u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 43, - label = "CsJ-CsCsSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 Cs u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 44, - label = "CsJ-CsOneDe", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 [H,Cs,Os,Ss] u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 45, - label = "CsJ-CsOneDeH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 46, - label = "CsJ-CsCdH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 Cd u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 47, - label = "CsJ-CsOneDeCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 48, - label = "CsJ-CsCdCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 Cd u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 49, - label = "CsJ-CsOneDeSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 50, - label = "CsJ-CsCdSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 Cd u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 51, - label = "CsJ-CsTwoDe", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 [Cd,Ct,Cb,CO] u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 52, - label = "CsJ-Cd", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 R u0 {1,S} -4 R u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 53, - label = "CsJ-CdHH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 H u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 54, - label = "CsJ-CdCsH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 Cs u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 55, - label = "CsJ-CdCsCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 Cs u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 56, - label = "CsJ-CdSsH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 Ss u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 57, - label = "CsJ-CdSsSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 Ss u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 58, - label = "CsJ-CdCsSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 Cs u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 59, - label = "CsJ-CdOneDe", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 [H,Cs,Os,Ss] u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 60, - label = "CsJ-CdOneDeH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 61, - label = "CsJ-CdCdH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 Cd u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 62, - label = "CsJ-CdOneDeCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 63, - label = "CsJ-CdCdCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 Cd u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 64, - label = "CsJ-CdOneDeSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 65, - label = "CsJ-CdCdSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 Cd u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 66, - label = "CsJ-CdTwoDe", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cd u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 [Cd,Ct,Cb,CO] u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 67, - label = "CsJ-Ss", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 R u0 {1,S} -4 R u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 68, - label = "CsJ-SsHH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 H u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 69, - label = "CsJ-SsCsH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Cs u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 70, - label = "CsJ-SsCsCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Cs u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 71, - label = "CsJ-SsSsH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Ss u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 72, - label = "CsJ-SsSsSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Ss u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 73, - label = "CsJ-SsCsSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Cs u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 74, - label = "CsJ-SsOneDe", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 [H,Cs,Os,Ss] u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 75, - label = "CsJ-SsOneDeH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 76, - label = "CsJ-SsCdH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Cd u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 77, - label = "CsJ-SsOneDeCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 78, - label = "CsJ-SsCdCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Cd u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 79, - label = "CsJ-SsOneDeSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 80, - label = "CsJ-SsCdSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Cd u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 81, - label = "SJ", - group = -""" -1 *3 S u1 {2,S} -2 R u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 82, - label = "SsJ", - group = -""" -1 *3 Ss u1 {2,S} -2 R u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 83, - label = "SsJ-Cs", - group = -""" -1 *3 Ss u1 {2,S} -2 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 84, - label = "SsJ-Ss", - group = -""" -1 *3 Ss u1 {2,S} -2 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 85, - label = "SsJ-OneDe", - group = -""" -1 *3 Ss u1 {2,S} -2 [Cd,Ct,Cb,CO] u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 86, - label = "SsJ-Cd", - group = -""" -1 *3 Ss u1 {2,S} -2 Cd u0 {1,S} {3,D} -3 C u0 {2,D} -""", - kinetics = None, -) - -entry( - index = 87, - label = "CJ-3", - group = "OR{CsJ-3, CdsJ-3, CdsJ-3-2}", - kinetics = None, -) - -entry( - index = 88, - label = "CdsJ-3", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 R u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 89, - label = "CdsJ-3-H", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 90, - label = "CdsJ-3-Cs", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 91, - label = "CdsJ-3-Ss", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 92, - label = "CdsJ-3-Cd", - group = -""" -1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 Cd u0 {1,S} {4,D} -4 C u0 {3,D} +2 R u0 {1,D} +3 R u0 {1,S} """, kinetics = None, ) -entry( - index = 93, - label = "CdsJ-3-2", +entry ( + index = 194, + label = "CdsJ_C", group = """ 1 *3 C u1 {2,D} {3,S} -2 R u0 {1,D} -3 R u0 {1,S} +2 C u0 {1,D} +3 R u0 {1,S} """, kinetics = None, ) entry( - index = 94, - label = "CdsJ_C-3-2", + index = 26, + label = "CdsJ_C-H", group = """ 1 *3 C u1 {2,D} {3,S} 2 C u0 {1,D} -3 R u0 {1,S} +3 H u0 {1,S} """, kinetics = None, ) entry( - index = 95, - label = "CdsJ_C-3-Cs2", + index = 27, + label = "CdsJ_C-Cs", group = """ 1 *3 C u1 {2,D} {3,S} @@ -1240,8 +398,8 @@ ) entry( - index = 96, - label = "CdsJ_C-3-Ss2", + index = 28, + label = "CdsJ_C-Ss", group = """ 1 *3 C u1 {2,D} {3,S} @@ -1252,21 +410,21 @@ ) entry( - index = 97, - label = "CdsJ_C-3-Cd2", + index = 29, + label = "CdsJ_C-Cd", group = """ 1 *3 C u1 {2,D} {3,S} -2 C u0 {1,D} -3 Cd u0 {1,S} {4,D} +2 C u0 {1,D} +3 Cd u0 {1,S} {4,D} 4 C u0 {3,D} """, kinetics = None, ) entry( - index = 98, - label = "CdsJ_S-3-2", + index = 35, + label = "CdsJ_S", group = """ 1 *3 C u1 {2,D} {3,S} @@ -1289,19 +447,6 @@ kinetics = None, ) -entry( - index = 100, - label = "CsJ-3-Cs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 R u0 {1,S} -4 R u0 {1,S} -""", - kinetics = None, -) - entry( index = 101, label = "CsJ-3-CsHH", @@ -1380,109 +525,6 @@ kinetics = None, ) -entry( - index = 107, - label = "CsJ-3-CsOneDe", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 [H,Cs,Os,Ss] u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 108, - label = "CsJ-3-CsOneDeH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 109, - label = "CsJ-3-CsCdH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 Cd u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 110, - label = "CsJ-3-CsOneDeCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 111, - label = "CsJ-3-CsCdCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 Cd u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 112, - label = "CsJ-3-CsOneDeSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 113, - label = "CsJ-3-CsCdSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 Cd u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 114, - label = "CsJ-3-CsTwoDe", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Cs u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 [Cd,Ct,Cb,CO] u0 {1,S} -""", - kinetics = None, -) entry( index = 115, @@ -1679,19 +721,6 @@ kinetics = None, ) -entry( - index = 130, - label = "CsJ-3-Ss", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 R u0 {1,S} -4 R u0 {1,S} -""", - kinetics = None, -) - entry( index = 131, label = "CsJ-3-SsHH", @@ -1705,31 +734,7 @@ kinetics = None, ) -entry( - index = 132, - label = "CsJ-3-SsCsH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Cs u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) -entry( - index = 133, - label = "CsJ-3-SsCsCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Cs u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) entry( index = 134, @@ -1757,110 +762,6 @@ kinetics = None, ) -entry( - index = 136, - label = "CsJ-3-SsCsSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Cs u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 137, - label = "CsJ-3-SsOneDe", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 [H,Cs,Os,Ss] u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 138, - label = "CsJ-3-SsOneDeH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 139, - label = "CsJ-3-SsCdH", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Cd u0 {1,S} -4 H u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 140, - label = "CsJ-3-SsOneDeCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 141, - label = "CsJ-3-SsCdCs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Cd u0 {1,S} -4 Cs u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 142, - label = "CsJ-3-SsOneDeSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 [Cd,Ct,Cb,CO] u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - -entry( - index = 143, - label = "CsJ-3-SsCdSs", - group = -""" -1 *3 C u1 {2,S} {3,S} {4,S} -2 Ss u0 {1,S} -3 Cd u0 {1,S} -4 Ss u0 {1,S} -""", - kinetics = None, -) - entry( index = 144, label = "SJ-3", @@ -2529,6 +1430,32 @@ kinetics = None, ) +entry( + index = 196, + label = "CsJ-3-Cs", + group = +""" +1 *3 C u1 {2,S} {3,S} {4,S} +2 [H,Cs] u0 {1,S} +3 [H,Cs] u0 {1,S} +4 [H,Cs] u0 {1,S} +""", + kinetics = None, +) + +entry( + index = 197, + label = "CsJ-3-Ss", + group = +""" +1 *3 C u1 {2,S} {3,S} {4,S} +2 Ss u0 {1,S} +3 [H,Cs,Ss] u0 {1,S} +4 [H,Cs,Ss] u0 {1,S} +""", + kinetics = None, +) + tree( """ L1: XSYJ @@ -2552,127 +1479,46 @@ L2: XSR6J L3: XSR6J_SSSS L2: XSR7J + L1: YJ L2: CJ L3: CdsJ - L4: CdsJ-H - L4: CdsJ-Cs - L4: CdsJ-Ss - L4: CdsJ-Cd - L3: CdsJ-2 - L4: CdsJ_C-2 - L5: CdsJ_C-Cs2 - L5: CdsJ_C-Ss2 - L5: CdsJ_C-Cd2 - L4: CdsJ_S-2 - L3: CsJ - L4: CsJ-Cs - L5: CsJ-CsHH - L5: CsJ-CsCsH - L5: CsJ-CsCsCs - L5: CsJ-CsSsH - L5: CsJ-CsSsSs - L5: CsJ-CsCsSs - L5: CsJ-CsOneDe - L6: CsJ-CsOneDeH - L7: CsJ-CsCdH - L6: CsJ-CsOneDeCs - L7: CsJ-CsCdCs - L6: CsJ-CsOneDeSs - L7: CsJ-CsCdSs - L5: CsJ-CsTwoDe - L4: CsJ-Cd - L5: CsJ-CdHH - L5: CsJ-CdCsH - L5: CsJ-CdCsCs - L5: CsJ-CdSsH - L5: CsJ-CdSsSs - L5: CsJ-CdCsSs - L5: CsJ-CdOneDe - L6: CsJ-CdOneDeH - L7: CsJ-CdCdH - L6: CsJ-CdOneDeCs - L7: CsJ-CdCdCs - L6: CsJ-CdOneDeSs - L7: CsJ-CdCdSs - L5: CsJ-CdTwoDe - L4: CsJ-Ss - L5: CsJ-SsHH - L5: CsJ-SsCsH - L5: CsJ-SsCsCs - L5: CsJ-SsSsH - L5: CsJ-SsSsSs - L5: CsJ-SsCsSs - L5: CsJ-SsOneDe - L6: CsJ-SsOneDeH - L7: CsJ-SsCdH - L6: CsJ-SsOneDeCs - L7: CsJ-SsCdCs - L6: CsJ-SsOneDeSs - L7: CsJ-SsCdSs - L2: SJ - L3: SsJ - L4: SsJ-Cs - L4: SsJ-Ss - L4: SsJ-OneDe - L5: SsJ-Cd - L2: CJ-3 - L3: CdsJ-3 - L4: CdsJ-3-H - L4: CdsJ-3-Cs - L4: CdsJ-3-Ss - L4: CdsJ-3-Cd - L3: CdsJ-3-2 - L4: CdsJ_C-3-2 - L5: CdsJ_C-3-Cs2 - L5: CdsJ_C-3-Ss2 - L5: CdsJ_C-3-Cd2 - L4: CdsJ_S-3-2 - L3: CsJ-3 - L4: CsJ-3-Cs - L5: CsJ-3-CsHH - L5: CsJ-3-CsCsH - L5: CsJ-3-CsCsCs - L5: CsJ-3-CsSsH - L5: CsJ-3-CsSsSs - L5: CsJ-3-CsCsSs - L5: CsJ-3-CsOneDe - L6: CsJ-3-CsOneDeH - L7: CsJ-3-CsCdH - L6: CsJ-3-CsOneDeCs - L7: CsJ-3-CsCdCs - L6: CsJ-3-CsOneDeSs - L7: CsJ-3-CsCdSs - L5: CsJ-3-CsTwoDe - L4: CsJ-3-Cd - L5: CsJ-3-CdHH - L5: CsJ-3-CdCsH - L5: CsJ-3-CdCsCs - L5: CsJ-3-CdSsH - L5: CsJ-3-CdSsSs - L5: CsJ-3-CdCsSs - L5: CsJ-3-CdOneDe - L6: CsJ-3-CdOneDeH - L7: CsJ-3-CdCdH - L6: CsJ-3-CdOneDeCs - L7: CsJ-3-CdCdCs - L6: CsJ-3-CdOneDeSs - L7: CsJ-3-CdCdSs - L5: CsJ-3-CdTwoDe - L4: CsJ-3-Ss - L5: CsJ-3-SsHH - L5: CsJ-3-SsCsH - L5: CsJ-3-SsCsCs - L5: CsJ-3-SsSsH - L5: CsJ-3-SsSsSs - L5: CsJ-3-SsCsSs - L5: CsJ-3-SsOneDe - L6: CsJ-3-SsOneDeH - L7: CsJ-3-SsCdH - L6: CsJ-3-SsOneDeCs - L7: CsJ-3-SsCdCs - L6: CsJ-3-SsOneDeSs - L7: CsJ-3-SsCdSs + L4:CdsJ_C + L5: CdsJ_C-H + L5: CdsJ_C-Cs + L5: CdsJ_C-Ss + L5: CdsJ_C-Cd + L4: CdsJ_S + + L2: CsJ-3 + L3: CsJ-3-Ss + L4: CsJ-3-SsSsSs + L4: CsJ-3-SsSsH + L4: CsJ-3-SsHH + L4: CsJ-3-CsSsH + L4: CsJ-3-CsSsSs + L4: CsJ-3-CsCsSs + L3: CsJ-3-Cs + L4: CsJ-3-CsHH + L4: CsJ-3-CsCsH + L4: CsJ-3-CsCsCs + + L3: CsJ-3-Cd + L4: CsJ-3-CdHH + L4: CsJ-3-CdCsH + L4: CsJ-3-CdCsCs + L4: CsJ-3-CdSsH + L4: CsJ-3-CdSsSs + L4: CsJ-3-CdCsSs + L4: CsJ-3-CdOneDe + L5: CsJ-3-CdOneDeH + L6: CsJ-3-CdCdH + L5: CsJ-3-CdOneDeCs + L6: CsJ-3-CdCdCs + L5: CsJ-3-CdOneDeSs + L6: CsJ-3-CdCdSs + L4: CsJ-3-CdTwoDe + L2: SJ-3 L3: SsJ-3 L4: SsJ-3-Cs diff --git a/input/kinetics/families/intra_substitutionS_cyclization/rules.py b/input/kinetics/families/intra_substitutionS_cyclization/rules.py index 5812693f02..2aab57b8fb 100644 --- a/input/kinetics/families/intra_substitutionS_cyclization/rules.py +++ b/input/kinetics/families/intra_substitutionS_cyclization/rules.py @@ -113,7 +113,7 @@ entry( index = 8, - label = "XSR5J_SSS;CsJ-CsCsH;S-Cs(NonDe)C", + label = "XSR5J_SSS;CsJ-3-CsCsH;S-Cs(NonDe)C", kinetics = ArrheniusEP( A = (27000, 's^-1'), n = 0, @@ -128,7 +128,7 @@ entry( index = 9, - label = "XSR6J_SSSS;CsJ-CsCsH;S-Cs(NonDe)C", + label = "XSR6J_SSSS;CsJ-3-CsCsH;S-Cs(NonDe)C", kinetics = ArrheniusEP( A = (270, 's^-1'), n = 0, diff --git a/testing/databaseTest.py b/testing/databaseTest.py index abf9f6d414..447daa7c80 100644 --- a/testing/databaseTest.py +++ b/testing/databaseTest.py @@ -10,6 +10,7 @@ from rmgpy.data.base import LogicOr from rmgpy.molecule import Group from rmgpy.molecule.atomtype import atomTypes +from rmgpy.molecule.pathfinder import find_shortest_path import nose import nose.tools @@ -80,7 +81,7 @@ def test_kinetics(self): self.compat_func_name = test_name yield test, family_name - if len(family.forwardTemplate.reactants)==1 and len(family.groups.top) != 1 and family_name != 'Diels_alder_addition': + if len(family.forwardTemplate.reactants) < len(family.groups.top) and family_name != 'Diels_alder_addition': test = lambda x: self.kinetics_checkUnimolecularGroups(family_name) test_name = "Kinetics family {0} check that unimolecular group is formatted correctly?".format(family_name) test.description = test_name @@ -450,30 +451,16 @@ def kinetics_checkCdAtomType(self, family_name): def kinetics_checkUnimolecularGroups(self,family_name): """ - This test goes through all unimolecular groups that have more than one top level, the first - top level is assumed to be the backbone (contains the whole reactant molecule) and the other top levels are assumed - to be endgroups - the following are checked: - 1)endgroup entries have the same labels as their top level entry + This test goes through all unimolecular groups that have more than one top level, top level groups + that overlap with family.reactant are assumed to be backbones(contains the whole reactant molecule) + and the other top levels are assumedto be endgroups + + the following are format requirements are checked: + 1)endgroup entries hav exactly the same labels as their top level entry 2)backbone groups have all labels that endgroups have 3)backbone groups have labels tracing between the endgroups that follow the shortest path - 4)the backbone subgraph corresponding to each endgroup is the top level entry of the - corresponding endgroup for every endgroup - """ - def find_shortest_path(start, end, path=None): - path = path if path else [] - path = path + [start] - if start == end: - return path - - shortest = None - for node,_ in start.bonds.iteritems(): - if node not in path: - newpath = find_shortest_path(node, end, path) - if newpath: - if not shortest or len(newpath) < len(shortest): - shortest = newpath - return shortest + 4)The end subgraph inside each backbone is exactly the same as the top level of the correspodning end tree + """ def getEndFromBackbone(backbone, endLabels): """ @@ -518,13 +505,13 @@ def getEndFromBackbone(backbone, endLabels): raise Exception("Group {0} not split correctly".format(backbone.label)) return group - - + ################################################################################# family = self.database.kinetics.families[family_name] - - backbone = family.forwardTemplate.reactants[0] + print family + + backbone = family.getBackboneRoots()[0] - endGroups = [entry for entry in family.groups.top if entry not in family.forwardTemplate.reactants] + endGroups = family.getEndRoots() endLabels = {} for endGroup in endGroups: @@ -534,8 +521,8 @@ def getEndFromBackbone(backbone, endLabels): labels.append(atom.label) endLabels[endGroup] = set(labels) - #one atom from each end group - midLabels = ["*1", "*3"] + #get boundary atoms to test that backbones have labels between end groups + nose.tools.assert_is_not_none(family.boundaryAtoms) # set of all end_labels should be backbone label backboneLabel = set([]) @@ -560,7 +547,7 @@ def getEndFromBackbone(backbone, endLabels): if not labels.issubset(presentLabels): C.append([endGroup, entry]) #check D - midAtoms = [group.getLabeledAtom(x) for x in midLabels] + midAtoms = [group.getLabeledAtom(x) for x in family.boundaryAtoms] pathAtoms = find_shortest_path(midAtoms[0], midAtoms[1]) for atom in pathAtoms: if not atom.label: @@ -575,9 +562,7 @@ def getEndFromBackbone(backbone, endLabels): if not endGroup.item.isIdentical(endFromBackbone): E.append([endGroup, entry]) else: raise Exception("Group {0} has split into end group {1}, but does not match any root".format(entry.label, endFromBackbone.toAdjacencyList())) - - - + else: presentLabels = set([]) for endNode, labelledAtoms in endLabels.iteritems():