Skip to content

Commit 2392a1c

Browse files
committed
Merge pull request #33 from nyee/databaseTest
Database test
2 parents 35813b8 + 155821c commit 2392a1c

File tree

5 files changed

+338
-340
lines changed

5 files changed

+338
-340
lines changed

EvaluateKinetics.py

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,58 @@ def LeaveOneOut(FullDatabase, trialDir):
421421
print 'These families had errors:', familiesWithErrors
422422
return
423423

424+
def checkFamilies(FullDatabase):
425+
familyStatus={}
426+
for family in FullDatabase.kinetics.families:
427+
print family
428+
familyStatus[family]=FullDatabase.kinetics.families[family].checkWellFormed()
429+
430+
with open(r'DatabaseWellFormedSummary.txt', 'wb') as outputFile:
431+
for family, problems in familyStatus.iteritems():
432+
problemsExist=[]
433+
for problem in problems:
434+
problemsExist.append(not problem==[] and not problem=={})
435+
if True in problemsExist:
436+
outputFile.write(family + '\n')
437+
if problemsExist[0]:
438+
outputFile.write('\n' + 'These groups exist in rules.py but not groups.py:' + '\n')
439+
for group in problems[0]:
440+
outputFile.write(group + '\n')
441+
if problemsExist[1]:
442+
outputFile.write('\n' + 'These groups do not match the definition in the rule' + '\n')
443+
for rule, groups in problems[1].iteritems():
444+
for group in groups:
445+
if group==groups[-1]:
446+
if len(groups)>1:
447+
outputFile.write('and ')
448+
outputFile.write(group + ' ')
449+
else:
450+
outputFile.write(group +', ' )
451+
outputFile.write('in ' + rule + '\n')
452+
if problemsExist[2]:
453+
outputFile.write('\n' + 'These groups are not in the tree:' + '\n')
454+
for group in problems[2]:
455+
outputFile.write(group + '\n')
456+
if problemsExist[3]:
457+
outputFile.write('\n' + 'These groups are not unique' + '\n')
458+
for key, groups in problems[3].iteritems():
459+
outputFile.write(key + ' matches ')
460+
for group in groups:
461+
if group==groups[-1]:
462+
if len(groups)>1:
463+
outputFile.write('and ')
464+
outputFile.write(group + '\n')
465+
else:
466+
outputFile.write(group +', ' )
467+
if problemsExist[4]:
468+
outputFile.write('\n' + 'These groups are not actually subgroups of their parent' + '\n')
469+
for group, parent in problems[4].iteritems():
470+
outputFile.write('Child: ' + group + ', Parent: ' + parent + '\n')
471+
if problemsExist[5]:
472+
outputFile.write('\n' + 'These groups are probably products, but you should check them anyway' + '\n')
473+
for group in problems[5]:
474+
outputFile.write(group + '\n')
475+
outputFile.write('\n\n')
424476
if __name__ == '__main__':
425477

426478

@@ -434,9 +486,9 @@ def LeaveOneOut(FullDatabase, trialDir):
434486
path='C:\RMG-database\input'
435487
# FullDatabase.load(thermoLibraries=)
436488
FullDatabase.load(path)
489+
checkFamilies(FullDatabase)
437490
# trialDir=r'C:\Users\User1\Dropbox\Research\RMG\kinetics\LeaveOneOut\test'
438-
trialDir=r'C:\RMG-database\input_test'
439-
FullDatabase.save(trialDir)
491+
# trialDir=r'C:\RMG-database\input_test'
440492
# family=FullDatabase.kinetics.families['Disproportionation']
441493
# entryKey='Y_1centerbirad;O_Cdrad'
442494
#
@@ -447,6 +499,6 @@ def LeaveOneOut(FullDatabase, trialDir):
447499

448500
# NISTExact(FullDatabase, trialDir)
449501
# countNodesAll(NISTDatabase, trialDir)
450-
consistencyTest(FullDatabase)
502+
# consistencyTest(FullDatabase)
451503
# LeaveOneOut(FullDatabase, trialDir)
452504

input/kinetics/families/Disproportionation/groups.py

Lines changed: 28 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
entry(
2323
index = 1,
2424
label = "Y_rad_birad_trirad_quadrad",
25-
group = "OR{Y_1centerquadrad, Y_1centertrirad, Y_2centerbirad, Y_1centerbirad, Y_rad}",
25+
group = "OR{Y_1centerquadrad, Y_1centertrirad, Y_2centerbirad, Y_1centerbirad, Y_rad, H_rad}",
2626
kinetics = None,
2727
reference = None,
2828
referenceType = "",
@@ -41,8 +41,8 @@
4141
label = "XH_Rrad",
4242
group =
4343
"""
44-
1 *2 R!H 0 {2,S} {3,S}
45-
2 *3 R!H 1 {1,S}
44+
1 *2 R!H 0 {2,{S,D}} {3,S}
45+
2 *3 R!H 1 {1,{S,D}}
4646
3 *4 H 0 {1,S}
4747
""",
4848
kinetics = None,
@@ -125,8 +125,7 @@
125125
label = "Y_rad",
126126
group =
127127
"""
128-
1 *1 R 1 {2,S}
129-
2 R 0 {1,S}
128+
1 *1 R 1
130129
""",
131130
kinetics = None,
132131
reference = None,
@@ -166,8 +165,8 @@
166165
label = "Ct_rad/Ct",
167166
group =
168167
"""
169-
1 *1 C 1 {2,T}
170-
2 C 0 {1,T}
168+
1 *1 Ct 1 {2,T}
169+
2 Ct 0 {1,T}
171170
""",
172171
kinetics = None,
173172
reference = None,
@@ -1097,7 +1096,7 @@
10971096
1 *1 C 1 {2,S} {3,S} {4,S}
10981097
2 H 0 {1,S}
10991098
3 {Cd,Ct,Cb,CO} 0 {1,S}
1100-
4 {Cs,O,S} 0 {1,S}
1099+
4 {Cs,O,S,N} 0 {1,S}
11011100
""",
11021101
kinetics = None,
11031102
reference = None,
@@ -1440,7 +1439,7 @@
14401439
group =
14411440
"""
14421441
1 *2 Cd 0 {2,S} {3,S}
1443-
2 *3 {Cs,Cd,CO,O,S} 1 {1,S}
1442+
2 *3 {Cs,Cd,CO,O,S,N} 1 {1,S}
14441443
3 *4 H 0 {1,S}
14451444
""",
14461445
kinetics = None,
@@ -1550,7 +1549,7 @@
15501549
group =
15511550
"""
15521551
1 *2 CO 0 {2,S} {3,S}
1553-
2 *3 {Cs,Cd,CO,O,S} 1 {1,S}
1552+
2 *3 {Cs,Cd,CO,O,S,N} 1 {1,S}
15541553
3 *4 H 0 {1,S}
15551554
""",
15561555
kinetics = None,
@@ -1660,7 +1659,7 @@
16601659
group =
16611660
"""
16621661
1 *2 O 0 {2,S} {3,S}
1663-
2 *3 {Cs,Cd,CO,O,S} 1 {1,S}
1662+
2 *3 {Cs,Cd,CO,O,S,N} 1 {1,S}
16641663
3 *4 H 0 {1,S}
16651664
""",
16661665
kinetics = None,
@@ -1858,7 +1857,7 @@
18581857
group =
18591858
"""
18601859
1 *2 C 0 {2,S} {3,S} {4,S} {5,S}
1861-
2 *3 {Cs,Cd,CO,O,S} 1 {1,S}
1860+
2 *3 {Cs,Cd,CO,O,S,N} 1 {1,S}
18621861
3 *4 H 0 {1,S}
18631862
4 H 0 {1,S}
18641863
5 H 0 {1,S}
@@ -2002,7 +2001,7 @@
20022001
group =
20032002
"""
20042003
1 *2 C 0 {2,S} {3,S} {4,S} {5,S}
2005-
2 *3 {Cs,Cd,CO,O,S} 1 {1,S}
2004+
2 *3 {Cs,Cd,CO,O,S,N} 1 {1,S}
20062005
3 *4 H 0 {1,S}
20072006
4 H 0 {1,S}
20082007
5 R!H 0 {1,S}
@@ -2026,7 +2025,7 @@
20262025
group =
20272026
"""
20282027
1 *2 C 0 {2,S} {3,S} {4,S} {5,S}
2029-
2 *3 {Cs,Cd,CO,O,S} 1 {1,S}
2028+
2 *3 {Cs,Cd,CO,O,S,N} 1 {1,S}
20302029
3 *4 H 0 {1,S}
20312030
4 H 0 {1,S}
20322031
5 {Cs,O,S} 0 {1,S}
@@ -2146,7 +2145,7 @@
21462145
group =
21472146
"""
21482147
1 *2 C 0 {2,S} {3,S} {4,S} {5,S}
2149-
2 *3 {Cs,Cd,CO,O,S} 1 {1,S}
2148+
2 *3 {Cs,Cd,CO,O,S,N} 1 {1,S}
21502149
3 *4 H 0 {1,S}
21512150
4 H 0 {1,S}
21522151
5 {Cd,Ct,Cb,CO} 0 {1,S}
@@ -2266,7 +2265,7 @@
22662265
group =
22672266
"""
22682267
1 *2 C 0 {2,S} {3,S} {4,S} {5,S}
2269-
2 *3 {Cs,Cd,CO,O,S} 1 {1,S}
2268+
2 *3 {Cs,Cd,CO,O,S,N} 1 {1,S}
22702269
3 *4 H 0 {1,S}
22712270
4 R!H 0 {1,S}
22722271
5 R!H 0 {1,S}
@@ -2290,7 +2289,7 @@
22902289
group =
22912290
"""
22922291
1 *2 C 0 {2,S} {3,S} {4,S} {5,S}
2293-
2 *3 {Cs,Cd,CO,O,S} 1 {1,S}
2292+
2 *3 {Cs,Cd,CO,O,S,N} 1 {1,S}
22942293
3 *4 H 0 {1,S}
22952294
4 {Cs,O,S} 0 {1,S}
22962295
5 {Cs,O,S} 0 {1,S}
@@ -2410,7 +2409,7 @@
24102409
group =
24112410
"""
24122411
1 *2 C 0 {2,S} {3,S} {4,S} {5,S}
2413-
2 *3 {Cs,Cd,CO,O,S} 1 {1,S}
2412+
2 *3 {Cs,Cd,CO,O,S,N} 1 {1,S}
24142413
3 *4 H 0 {1,S}
24152414
4 {Cs,O,S} 0 {1,S}
24162415
5 {Cd,Ct,Cb,CO} 0 {1,S}
@@ -2530,7 +2529,7 @@
25302529
group =
25312530
"""
25322531
1 *2 C 0 {2,S} {3,S} {4,S} {5,S}
2533-
2 *3 {Cs,Cd,CO,O,S} 1 {1,S}
2532+
2 *3 {Cs,Cd,CO,O,S,N} 1 {1,S}
25342533
3 *4 H 0 {1,S}
25352534
4 {Cd,Ct,Cb,CO} 0 {1,S}
25362535
5 {Cd,Ct,Cb,CO} 0 {1,S}
@@ -2661,26 +2660,6 @@
26612660
],
26622661
)
26632662

2664-
entry(
2665-
index = 201,
2666-
label = "N3_atom_quartet",
2667-
group =
2668-
"""
2669-
1 *1 N3s 3
2670-
""",
2671-
kinetics = None,
2672-
reference = None,
2673-
referenceType = "",
2674-
shortDesc = u"""""",
2675-
longDesc =
2676-
u"""
2677-
2678-
""",
2679-
history = [
2680-
("Mon Nov 4 10:25:25 2013","Beat Buesser <bbuesser@mit.edu>","action","""Beat Buesser <bbuesser@mit.edu> created this value."""),
2681-
],
2682-
)
2683-
26842663
entry(
26852664
index = 202,
26862665
label = "CH_quartet",
@@ -3639,7 +3618,7 @@
36393618
group =
36403619
"""
36413620
1 *2 N 0 {2,S} {3,S}
3642-
2 *3 R 1 {1,S}
3621+
2 *3 R!H 1 {1,S}
36433622
3 *4 H 0 {1,S}
36443623
""",
36453624
kinetics = None,
@@ -3661,7 +3640,7 @@
36613640
group =
36623641
"""
36633642
1 *2 N3s 0 {2,S} {3,S}
3664-
2 *3 R 1 {1,S}
3643+
2 *3 R!H 1 {1,S}
36653644
3 *4 H 0 {1,S}
36663645
""",
36673646
kinetics = None,
@@ -3683,7 +3662,7 @@
36833662
group =
36843663
"""
36853664
1 *2 N3s 0 {2,S} {3,S} {4,S}
3686-
2 *3 R 1 {1,S}
3665+
2 *3 R!H 1 {1,S}
36873666
3 *4 H 0 {1,S}
36883667
4 H 0 {1,S}
36893668
""",
@@ -3821,7 +3800,7 @@
38213800
group =
38223801
"""
38233802
1 *2 N3s 0 {2,S} {3,S} {4,S}
3824-
2 *3 N 1 {1,S}
3803+
2 *3 R!H 1 {1,S}
38253804
3 *4 H 0 {1,S}
38263805
4 {Cs,N3s,Os} 0 {1,S}
38273806
""",
@@ -3844,7 +3823,7 @@
38443823
group =
38453824
"""
38463825
1 *2 N3s 0 {2,S} {3,S} {4,S}
3847-
2 *3 N 1 {1,S}
3826+
2 *3 R!H 1 {1,S}
38483827
3 *4 H 0 {1,S}
38493828
4 {Cd,Ct,Cb,CO} 0 {1,S}
38503829
""",
@@ -3867,7 +3846,7 @@
38673846
group =
38683847
"""
38693848
1 *2 {N5s,N5d} 0 {2,S} {3,S}
3870-
2 *3 R 1 {1,S}
3849+
2 *3 R!H 1 {1,S}
38713850
3 *4 H 0 {1,S}
38723851
""",
38733852
kinetics = None,
@@ -4276,7 +4255,7 @@
42764255
label = "N5d/H_d_Rrad",
42774256
group =
42784257
"""
4279-
1 *2 N3d 0 {2,D} {3,S}
4258+
1 *2 N5d 0 {2,D} {3,S}
42804259
2 *3 R!H 1 {1,D}
42814260
3 *4 H 0 {1,S}
42824261
""",
@@ -4292,29 +4271,7 @@
42924271
("Mon Nov 4 10:25:25 2013","Beat Buesser <bbuesser@mit.edu>","action","""Beat Buesser <bbuesser@mit.edu> created this value."""),
42934272
],
42944273
)
4295-
4296-
entry(
4297-
index = 275,
4298-
label = "N5dd/H_d_Rrad",
4299-
group =
4300-
"""
4301-
1 *2 N3d 0 {2,D} {3,S}
4302-
2 *3 R!H 1 {1,D}
4303-
3 *4 H 0 {1,S}
4304-
""",
4305-
kinetics = None,
4306-
reference = None,
4307-
referenceType = "",
4308-
shortDesc = u"""""",
4309-
longDesc =
4310-
u"""
4311-
4312-
""",
4313-
history = [
4314-
("Mon Nov 4 10:25:25 2013","Beat Buesser <bbuesser@mit.edu>","action","""Beat Buesser <bbuesser@mit.edu> created this value."""),
4315-
],
4316-
)
4317-
4274+
43184275
entry(
43194276
index = 276,
43204277
label = "XH_Rbirad",
@@ -4874,9 +4831,9 @@
48744831
L4: C_sec_rad
48754832
L5: C_rad/H/NonDeC
48764833
L5: C_rad/H/NonDeO
4877-
L5: C_rad/H/NonDeN
48784834
L6: C_rad/H/CsO
48794835
L6: C_rad/H/O2
4836+
L5: C_rad/H/NonDeN
48804837
L5: C_rad/H/NonDeS
48814838
L6: C_rad/H/CsS
48824839
L6: C_rad/H/S2
@@ -5007,8 +4964,7 @@
50074964
L5: N3d/H_d_Rrad
50084965
L6: N3d/H_d_Crad
50094966
L6: N3d/H_d_Nrad
5010-
L5: N5d/H_d_Rrad
5011-
L5: N5dd/H_d_Rrad
4967+
L5: N5d/H_d_Rrad
50124968
L2: XH_Rbirad
50134969
L3: XH_s_Rbirad
50144970
L4: CH_s_Rbirad

0 commit comments

Comments
 (0)