From 2bf7843c557d42155f63efac918e4345d122c199 Mon Sep 17 00:00:00 2001
From: KEHANG <kehanghan@gmail.com>
Date: Wed, 31 May 2017 15:15:23 -0400
Subject: [PATCH 01/16] adds TCD authentication info for RMG-database test

---
 .travis.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 5ae5c18979..2c6ab004b8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,6 +7,10 @@ virtualenv:
 env:
   global:
     - secure: "L2ja+ZnV83w4qG3E8FwTjm0D6IWNOnj5wuFOjYTwbzQP4OAgLAWBzCMtxzWy5sMxFLtRgkswBH1d5f5kg8Ab7GIyAMFgQwe8UFqMJ+N05QNszE1mJkAvJtv2XN7669XXQhTt5EXfHrCcGZaODVnI2CEA8GB5DxiHO2Lcqf/xvgE="
+    - secure: fd2HDrPvxMLHOXar7HyUZh0v+C5WkCfzhRzlBn+aePayrQn5FFrT68ENyr1v4sIpKESxYUOAwqtpDPUhF3M596GgGeU5yQc4q+sZmfwbVrjOvKCYuA5037vHmkWP1+mxQtRJMz/DC6vAoyasZkN5WD2n6WYIGupu/FxIJzYyzMM=
+    - secure: N/LNeY6kM4g2TOWiwuZhevrFOVSSDXj42hOWmbWVfwjLxVTMpFO29os3TiXxod8q6ezpDkXi5yVcGGtKLQZr6CgoiGW8zS+UKsUntKH4HI4dZdK+hKAKwaWU641aDNIq/XqSzNJ8v7ZmLLo3sk878aTHODPRPBfb7Q9wk2l3sDs=
+    - secure: jSRuOGP7vghJet6oelSprSLGBd/eYuUaU3UM+QnZW0GhETWyXxjg/17hpl2R2NzVLhVz2m0KRaoT9JmG+EyJ9NW47JwTaKL+CNtxg2gPTM3/6iVNdVrXM1vOTvaJhtZ/C2SbLDg/+JPLLUMfT9/9oXkiz+enh7VzZuZDywgoTsw=
+    - secure: Y4tbLIssPDkRQZp2lLUtou/YZr3APmhfD3o3tUcv1mqveeg6NBYZ8o6bLSULO3wdm88s1sug23VbP+Gt74XN4Ylbt4GjhKkOxvd+Vut7dR0o0cxsH372AWHYPicCOkuYAfeDK5cqxeXkGibHW1eBdduAAT82wcW5NcD9USyv9ig=
 addons:
   apt:
     packages:

From d2f0b9eabb99f5af2463cc020124aea5bbf0221a Mon Sep 17 00:00:00 2001
From: Alon Grinberg Dana <alongd@mit.edu>
Date: Wed, 2 Nov 2016 16:26:38 -0400
Subject: [PATCH 02/16] Renamed `SJJ` as `Sa` in Sulfur/DMDS reaction library,
 since it is actually an "atom" with three lone pairs, and not a birad

---
 input/kinetics/libraries/Sulfur/DMDS/dictionary.txt | 2 +-
 input/kinetics/libraries/Sulfur/DMDS/reactions.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/input/kinetics/libraries/Sulfur/DMDS/dictionary.txt b/input/kinetics/libraries/Sulfur/DMDS/dictionary.txt
index b0198ec5e7..a669b8cee4 100644
--- a/input/kinetics/libraries/Sulfur/DMDS/dictionary.txt
+++ b/input/kinetics/libraries/Sulfur/DMDS/dictionary.txt
@@ -25,7 +25,7 @@ multiplicity 3
 1 S u1 p2 c0 {2,S}
 2 S u1 p2 c0 {1,S}
 
-SJJ
+Sa
 1 S u0 p3 c0
 
 SH
diff --git a/input/kinetics/libraries/Sulfur/DMDS/reactions.py b/input/kinetics/libraries/Sulfur/DMDS/reactions.py
index 6a3828a51d..73c71fdc82 100644
--- a/input/kinetics/libraries/Sulfur/DMDS/reactions.py
+++ b/input/kinetics/libraries/Sulfur/DMDS/reactions.py
@@ -34,7 +34,7 @@
 
 entry(
     index = 3,
-    label = "SJJ + SJJ <=> S2",
+    label = "Sa + Sa <=> S2",
     degeneracy = 1,
     kinetics = Arrhenius(
         A = (1.6e+11, 'cm^3/(mol*s)'),

From 52e44d624b95d330e7e7a46ed315ea6414c5f984 Mon Sep 17 00:00:00 2001
From: Alon Grinberg Dana <alongd@mit.edu>
Date: Fri, 10 Feb 2017 15:59:44 -0500
Subject: [PATCH 03/16] Added references to SulfurLibrary

---
 input/thermo/libraries/SulfurLibrary.py | 215 ++----------------------
 1 file changed, 18 insertions(+), 197 deletions(-)

diff --git a/input/thermo/libraries/SulfurLibrary.py b/input/thermo/libraries/SulfurLibrary.py
index fc789ea64b..373b4075c8 100644
--- a/input/thermo/libraries/SulfurLibrary.py
+++ b/input/thermo/libraries/SulfurLibrary.py
@@ -4,7 +4,23 @@
 name = "SulfurLibrary"
 shortDesc = u""
 longDesc = u"""
-
+Thermo Library for Sulfur Compounds
+Unless othewise noted in "Comments," all values are from QM calculations (CBS-QB3 with 1D-HR corrections).
+Uncertainties estimated at 1.00, unless experimental uncertainty available.
+
+References
+[1] Good, W.D. et al. J. Phys. Chem., 1961, 65, 2229-2231.
+[2] McCullough, J.P. et al. J. Am. Chem. Soc., 1957, 79, 561-566.
+[3] Hubbard, W.N.; Waddington, G. Rec. Trav. Chim. Pays/Bas, 1954, 73, 910.
+[4] Hubbard, W.N. et al. J. Phys. Chem., 1958, 62, 614-617.
+[5] Voronkov, M.G. et al. Dokl. Phys. Chem. (Engl. Transl.), 1989, 307, 650-653.
+[6] Scott, D.W. et al. J. Chem. Phys., 1962, 36, 406-412.
+[7] Ruscic, B.; Berkowitz, J., J. Chem. Phys., 1993, 98, 2568-2579.
+[8] Roy, M.; McMahon, T.B. Org. Mass Spectrom., 1982, 8, 392-395.
+[9] Butler, J.J.; Baer, T., Org. Mass Spectrom., 1983, 18, 248-253.
+[10] Chase, M.W., Jr., NIST-JANAF Thermochemical Tables, Fourth Edition, 
+     J. Phys. Chem. Ref. Data, Monograph 9, 1998, 1-1951.
+[11] Alfassi, Z.B., S-centered radicals. 1999.
 """
 entry(
     index = 1,
@@ -24,7 +40,6 @@
     shortDesc = u"""All from [10]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -48,7 +63,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -70,7 +84,6 @@
     shortDesc = u"""All from [10]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -93,7 +106,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -117,7 +129,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -142,7 +153,6 @@
     shortDesc = u"""H298 from [1]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -170,7 +180,6 @@
     shortDesc = u"""H298 from [5]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -200,7 +209,6 @@
     shortDesc = u"""H298 from [5], strong disagreement w/ QM""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -228,7 +236,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -254,7 +261,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -283,7 +289,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -310,7 +315,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -334,7 +338,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -361,7 +364,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -389,7 +391,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -415,7 +416,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -441,7 +441,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -466,7 +465,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -494,7 +492,6 @@
     shortDesc = u"""H298 from [2]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -523,7 +520,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -552,7 +548,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -579,7 +574,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -605,7 +599,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -632,7 +625,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -663,7 +655,6 @@
     shortDesc = u"""H298 from [3]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -695,7 +686,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -725,7 +715,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -754,7 +743,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -784,7 +772,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -818,7 +805,6 @@
     shortDesc = u"""H298 from [4]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -844,7 +830,6 @@
     shortDesc = u"""Expt available [9]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -876,7 +861,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -911,7 +895,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -940,7 +923,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -967,7 +949,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -992,7 +973,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1017,7 +997,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1046,7 +1025,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1076,7 +1054,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1104,7 +1081,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1132,7 +1108,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1158,7 +1133,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1182,7 +1156,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1209,7 +1182,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1235,7 +1207,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1260,7 +1231,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1291,7 +1261,6 @@
     shortDesc = u"""H298 from [3]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1325,7 +1294,6 @@
     shortDesc = u"""H298 from [4]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1362,7 +1330,6 @@
     shortDesc = u"""H298 from [6]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1394,7 +1361,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1429,7 +1395,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1459,7 +1424,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1492,7 +1456,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1524,7 +1487,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1553,7 +1515,6 @@
     shortDesc = u"""H298 from [5]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1583,7 +1544,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1611,7 +1571,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1638,7 +1597,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1668,7 +1626,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1691,7 +1648,6 @@
     shortDesc = u"""Expts available [7] and [8]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1718,7 +1674,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1750,7 +1705,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1785,7 +1739,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1823,7 +1776,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1854,7 +1806,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1882,7 +1833,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1918,7 +1868,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1950,7 +1899,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -1980,7 +1928,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2013,7 +1960,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2043,7 +1989,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2079,7 +2024,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2112,7 +2056,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2142,7 +2085,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2173,7 +2115,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2200,7 +2141,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2231,7 +2171,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2266,7 +2205,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2293,7 +2231,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2323,7 +2260,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2355,7 +2291,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2390,7 +2325,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2423,7 +2357,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2458,7 +2391,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2480,7 +2412,6 @@
     shortDesc = u"""All from [10]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2505,7 +2436,6 @@
     shortDesc = u"""H298, S298 from [11]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2531,7 +2461,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2555,7 +2484,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2579,7 +2507,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2602,7 +2529,6 @@
     shortDesc = u"""Expt available [11]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2628,7 +2554,6 @@
     shortDesc = u"""Expts available [11]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2652,7 +2577,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2677,7 +2601,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2705,7 +2628,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2734,7 +2656,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2761,7 +2682,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2788,7 +2708,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2814,7 +2733,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2845,7 +2763,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2877,7 +2794,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2907,7 +2823,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2937,7 +2852,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2966,7 +2880,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -2992,7 +2905,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3018,7 +2930,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3067,7 +2978,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3096,7 +3006,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3127,7 +3036,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3161,7 +3069,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3190,7 +3097,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3219,7 +3125,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3249,7 +3154,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3278,7 +3182,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3305,7 +3208,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3333,7 +3235,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3362,7 +3263,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3391,7 +3291,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3422,7 +3321,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3456,7 +3354,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3493,7 +3390,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3529,7 +3425,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3551,7 +3446,6 @@
     shortDesc = u"""All from [10]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3572,7 +3466,6 @@
     shortDesc = u"""All from [10]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3606,7 +3499,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3640,7 +3532,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3666,7 +3557,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3695,7 +3585,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3721,7 +3610,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3750,7 +3638,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3774,7 +3661,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3798,7 +3684,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3822,7 +3707,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3844,7 +3728,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3872,7 +3755,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3901,7 +3783,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3930,7 +3811,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -3964,7 +3844,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4000,7 +3879,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4022,7 +3900,6 @@
     shortDesc = u"""H298 from [10]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4045,7 +3922,6 @@
     shortDesc = u"""H298 from [10]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4069,7 +3945,6 @@
     shortDesc = u"""H298 from [10]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4094,7 +3969,6 @@
     shortDesc = u"""H298 from [10]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4120,7 +3994,6 @@
     shortDesc = u"""H298 from [10]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4147,7 +4020,6 @@
     shortDesc = u"""H298 from [10]""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4188,7 +4060,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4228,7 +4099,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4257,7 +4127,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4289,7 +4158,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4319,7 +4187,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4349,7 +4216,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4381,7 +4247,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4413,7 +4278,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4443,7 +4307,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4476,7 +4339,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4507,7 +4369,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4536,7 +4397,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4565,7 +4425,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4594,7 +4453,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4652,7 +4510,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4710,7 +4567,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4748,7 +4604,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4789,7 +4644,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4828,7 +4682,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4867,7 +4720,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4908,7 +4760,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4949,7 +4800,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -4988,7 +4838,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5030,7 +4879,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5070,7 +4918,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5128,7 +4975,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5186,7 +5032,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5244,7 +5089,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5302,7 +5146,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5340,7 +5183,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5378,7 +5220,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5416,7 +5257,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5456,7 +5296,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5494,7 +5333,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5528,7 +5366,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5564,7 +5401,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5600,7 +5436,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5636,7 +5471,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5670,7 +5504,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5704,7 +5537,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5742,7 +5574,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5780,7 +5611,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5816,7 +5646,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5850,7 +5679,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5888,7 +5716,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5922,7 +5749,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5953,7 +5779,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -5984,7 +5809,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -6030,7 +5854,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -6076,7 +5899,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -6122,7 +5944,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -6168,7 +5989,6 @@
     shortDesc = u"""""",
     longDesc = 
 u"""
-
 """,
 )
 
@@ -6192,3 +6012,4 @@
 Singlet sulfur, thermo data copied from triplet sulfur, likely very incorrect.
 """,
 )
+

From 4af7cc64c1502011f27ba72137752e9f1785fbc7 Mon Sep 17 00:00:00 2001
From: Alon Grinberg Dana <alongd@mit.edu>
Date: Thu, 20 Apr 2017 14:17:19 -0400
Subject: [PATCH 04/16] Added sulfur training reactions to H_Abstraction Done
 at CBS-QB3 from Glarborg, doi: 10.1021/acs.jpca.6b09357

---
 .../H_Abstraction/training/dictionary.txt     | 189 +++++++++++++++
 .../H_Abstraction/training/reactions.py       | 222 +++++++++++++++++-
 2 files changed, 410 insertions(+), 1 deletion(-)

diff --git a/input/kinetics/families/H_Abstraction/training/dictionary.txt b/input/kinetics/families/H_Abstraction/training/dictionary.txt
index 6f9545c602..645658349a 100644
--- a/input/kinetics/families/H_Abstraction/training/dictionary.txt
+++ b/input/kinetics/families/H_Abstraction/training/dictionary.txt
@@ -1306,3 +1306,192 @@ multiplicity 2
 1 *1 N u1 p1 c0 {2,D}
 2    C u0 p0 c0 {1,D} {3,D}
 3    O u0 p2 c0 {2,D}
+
+H2S
+1 *3 S u0 p2 c0 {2,S} {3,S}
+2 *2 H u0 p0 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+
+SH
+multiplicity 2
+1 *3 S u1 p2 c0 {2,S}
+2    H u0 p0 c0 {1,S}
+
+C4H10
+1   *1 C u0 p0 c0 {2,S} {5,S} {6,S} {7,S}
+2      C u0 p0 c0 {1,S} {3,S} {8,S} {9,S}
+3      C u0 p0 c0 {2,S} {4,S} {10,S} {11,S}
+4      C u0 p0 c0 {3,S} {12,S} {13,S} {14,S}
+5   *2 H u0 p0 c0 {1,S}
+6      H u0 p0 c0 {1,S}
+7      H u0 p0 c0 {1,S}
+8      H u0 p0 c0 {2,S}
+9      H u0 p0 c0 {2,S}
+10     H u0 p0 c0 {3,S}
+11     H u0 p0 c0 {3,S}
+12     H u0 p0 c0 {4,S}
+13     H u0 p0 c0 {4,S}
+14     H u0 p0 c0 {4,S}
+
+C4H8-6
+1     C u0 p0 c0 {2,S} {3,S} {5,S} {6,S}
+2     C u0 p0 c0 {1,S} {7,S} {8,S} {9,S}
+3  *1 C u0 p0 c0 {1,S} {4,D} {10,S}
+4     C u0 p0 c0 {3,D} {11,S} {12,S}
+5     H u0 p0 c0 {1,S}
+6     H u0 p0 c0 {1,S}
+7     H u0 p0 c0 {2,S}
+8     H u0 p0 c0 {2,S}
+9     H u0 p0 c0 {2,S}
+10 *2 H u0 p0 c0 {3,S}
+11    H u0 p0 c0 {4,S}
+12    H u0 p0 c0 {4,S}
+
+C3H4-1
+1 *1 C u0 p0 c0 {2,D} {4,S} {5,S}
+2    C u0 p0 c0 {1,D} {3,D}
+3    C u0 p0 c0 {2,D} {6,S} {7,S}
+4 *2 H u0 p0 c0 {1,S}
+5    H u0 p0 c0 {1,S}
+6    H u0 p0 c0 {3,S}
+7    H u0 p0 c0 {3,S}
+
+C4H6
+1  C u0 p0 c0 {2,T} {5,S}
+2  C u0 p0 c0 {1,T} {3,S}
+3  *1 C u0 p0 c0 {2,S} {4,S} {6,S} {7,S}
+4  C u0 p0 c0 {3,S} {8,S} {9,S} {10,S}
+5  H u0 p0 c0 {1,S}
+6  *2 H u0 p0 c0 {3,S}
+7  H u0 p0 c0 {3,S}
+8  H u0 p0 c0 {4,S}
+9  H u0 p0 c0 {4,S}
+10 H u0 p0 c0 {4,S}
+
+CH3a
+multiplicity 2
+1 *1 C u1 p0 c0 {2,S} {3,S} {4,S}
+2    H u0 p0 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+4    H u0 p0 c0 {1,S}
+
+CH2CH3
+multiplicity 2
+1 *1 C u1 p0 c0 {2,S} {3,S} {4,S}
+2    H u0 p0 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+4    C u0 p0 c0 {1,S} {5,S} {6,S} {7,S}
+5    H u0 p0 c0 {4,S}
+6    H u0 p0 c0 {4,S}
+7    H u0 p0 c0 {4,S}
+
+CH2CH2CH3
+multiplicity 2
+1 *1 C u1 p0 c0 {2,S} {3,S} {4,S}
+2    H u0 p0 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+4    C u0 p0 c0 {1,S} {5,S} {6,S} {7,S}
+5    C u0 p0 c0 {4,S} {8,S} {9,S} {10,S}
+6    H u0 p0 c0 {4,S}
+7    H u0 p0 c0 {4,S}
+8    H u0 p0 c0 {5,S}
+9    H u0 p0 c0 {5,S}
+10   H u0 p0 c0 {5,S}
+
+CH3CHCH3
+multiplicity 2
+1    C u0 p0 c0 {2,S} {5,S} {6,S} {7,S}
+2 *1 C u1 p0 c0 {1,S} {3,S} {4,S}
+3    H u0 p0 c0 {2,S}
+4    C u0 p0 c0 {2,S} {8,S} {9,S} {10,S}
+5    H u0 p0 c0 {1,S}
+6    H u0 p0 c0 {1,S}
+7    H u0 p0 c0 {1,S}
+8    H u0 p0 c0 {4,S}
+9    H u0 p0 c0 {4,S}
+10   H u0 p0 c0 {4,S}
+
+CH3CHCH2CH3
+multiplicity 2
+1    C u0 p0 c0 {2,S} {6,S} {7,S} {8,S}
+2 *1 C u1 p0 c0 {1,S} {3,S} {4,S}
+3    H u0 p0 c0 {2,S}
+4    C u0 p0 c0 {2,S} {5,S} {9,S} {10,S}
+5    C u0 p0 c0 {4,S} {11,S} {12,S} {13,S}
+6    H u0 p0 c0 {1,S}
+7    H u0 p0 c0 {1,S}
+8    H u0 p0 c0 {1,S}
+9    H u0 p0 c0 {4,S}
+10   H u0 p0 c0 {4,S}
+11   H u0 p0 c0 {5,S}
+12   H u0 p0 c0 {5,S}
+13   H u0 p0 c0 {5,S}
+
+CHCH2
+multiplicity 2
+1 *1 C u1 p0 c0 {2,S} {3,D}
+2    H u0 p0 c0 {1,S}
+3    C u0 p0 c0 {1,D} {4,S} {5,S}
+4    H u0 p0 c0 {3,S}
+5    H u0 p0 c0 {3,S}
+
+CH2CHCH2
+multiplicity 2
+1    C u0 p0 c0 {2,D} {6,S} {7,S}
+2    C u0 p0 c0 {1,D} {3,S} {8,S}
+3 *1 C u1 p0 c0 {2,S} {4,S} {5,S}
+4    H u0 p0 c0 {3,S}
+5    H u0 p0 c0 {3,S}
+6    H u0 p0 c0 {1,S}
+7    H u0 p0 c0 {1,S}
+8    H u0 p0 c0 {2,S}
+
+CH2CHCHCH3
+multiplicity 2
+1     C u0 p0 c0 {2,D} {6,S} {7,S}
+2     C u0 p0 c0 {1,D} {3,S} {8,S}
+3  *1 C u1 p0 c0 {2,S} {4,S} {5,S}
+4     H u0 p0 c0 {3,S}
+5     C u0 p0 c0 {3,S} {9,S} {10,S} {11,S}
+6     H u0 p0 c0 {1,S}
+7     H u0 p0 c0 {1,S}
+8     H u0 p0 c0 {2,S}
+9     H u0 p0 c0 {5,S}
+10    H u0 p0 c0 {5,S}
+11    H u0 p0 c0 {5,S}
+
+CH2CCH2CH3
+multiplicity 2
+1    C u0 p0 c0 {2,D} {5,S} {6,S}
+2 *1 C u1 p0 c0 {1,D} {3,S}
+3    C u0 p0 c0 {2,S} {4,S} {7,S} {8,S}
+4    C u0 p0 c0 {3,S} {9,S} {10,S} {11,S}
+5    H u0 p0 c0 {1,S}
+6    H u0 p0 c0 {1,S}
+7    H u0 p0 c0 {3,S}
+8    H u0 p0 c0 {3,S}
+9    H u0 p0 c0 {4,S}
+10   H u0 p0 c0 {4,S}
+11   H u0 p0 c0 {4,S}
+
+CH2CCH
+multiplicity 2
+1    C u0 p0 c0 {2,D} {5,S} {6,S}
+2    C u0 p0 c0 {1,D} {3,D}
+3 *1 C u1 p0 c0 {2,D} {4,S}
+4    H u0 p0 c0 {3,S}
+5    H u0 p0 c0 {1,S}
+6    H u0 p0 c0 {1,S}
+
+CHCCHCH3
+multiplicity 2
+1    C u0 p0 c0 {2,T} {6,S}
+2    C u0 p0 c0 {1,T} {3,S}
+3 *1 C u1 p0 c0 {2,S} {4,S} {5,S}
+4    H u0 p0 c0 {3,S}
+5    C u0 p0 c0 {3,S} {7,S} {8,S} {9,S}
+6    H u0 p0 c0 {1,S}
+7    H u0 p0 c0 {5,S}
+8    H u0 p0 c0 {5,S}
+9 H u0 p0 c0 {5,S}
+
diff --git a/input/kinetics/families/H_Abstraction/training/reactions.py b/input/kinetics/families/H_Abstraction/training/reactions.py
index a41e730e07..24600e5b8b 100644
--- a/input/kinetics/families/H_Abstraction/training/reactions.py
+++ b/input/kinetics/families/H_Abstraction/training/reactions.py
@@ -1932,4 +1932,224 @@
 J. Phys. Chem. A, 1998, 102 (7), pp 1194–1199
 DOI: 10.1021/jp972959n
 """,
-)
\ No newline at end of file
+)
+
+entry(
+    index = 1011,
+    label = "CH4b + SH <=> CH3a + H2S",
+    degeneracy = 1,
+    kinetics = Arrhenius(
+        A = (7.78e-22, 'cm^3/(mol*s)'),
+        n = 3.02,
+        Ea = (66.3, 'kJ/mol'),
+        T0 = (1, 'K'),
+        Tmin = (300, 'K'),
+        Tmax = (2000, 'K'),
+    ),
+    shortDesc = u"""Glarborg CBS-QB3 calc""",
+    longDesc = 
+u"""
+Rate comes from quantum calculation at CBS-QB3 level
+J. Phys. Chem. A 2016, 120, 8941−8948; doi: 10.1021/acs.jpca.6b09357
+""",
+)
+
+entry(
+    index = 1012,
+    label = "C2H6 + SH <=> CH2CH3 + H2S",
+    degeneracy = 1,
+    kinetics = Arrhenius(
+        A = (4.37e-22, 'cm^3/(mol*s)'),
+        n = 3.41,
+        Ea = (42.2, 'kJ/mol'),
+        T0 = (1, 'K'),
+        Tmin = (300, 'K'),
+        Tmax = (2000, 'K'),
+    ),
+    shortDesc = u"""Glarborg CBS-QB3 calc""",
+    longDesc = 
+u"""
+Rate comes from quantum calculation at CBS-QB3 level
+J. Phys. Chem. A 2016, 120, 8941−8948; doi: 10.1021/acs.jpca.6b09357
+""",
+)
+
+entry(
+    index = 1013,
+    label = "C3H8 + SH <=> CH2CH2CH3 + H2S",
+    degeneracy = 1,
+    kinetics = Arrhenius(
+        A = (8.51e-22, 'cm^3/(mol*s)'),
+        n = 3.39,
+        Ea = (43.2, 'kJ/mol'),
+        T0 = (1, 'K'),
+        Tmin = (300, 'K'),
+        Tmax = (2000, 'K'),
+    ),
+    shortDesc = u"""Glarborg CBS-QB3 calc""",
+    longDesc = 
+u"""
+Rate comes from quantum calculation at CBS-QB3 level
+J. Phys. Chem. A 2016, 120, 8941−8948; doi: 10.1021/acs.jpca.6b09357
+""",
+)
+
+entry(
+    index = 1014,
+    label = "C3H8 + SH <=> CH3CHCH3 + H2S",
+    degeneracy = 1,
+    kinetics = Arrhenius(
+        A = (5.25e-18, 'cm^3/(mol*s)'),
+        n = 1.79,
+        Ea = (34.6, 'kJ/mol'),
+        T0 = (1, 'K'),
+        Tmin = (300, 'K'),
+        Tmax = (2000, 'K'),
+    ),
+    shortDesc = u"""Glarborg CBS-QB3 calc""",
+    longDesc = 
+u"""
+Rate comes from quantum calculation at CBS-QB3 level
+J. Phys. Chem. A 2016, 120, 8941−8948; doi: 10.1021/acs.jpca.6b09357
+""",
+)
+
+entry(
+    index = 1015,
+    label = "C4H10 + SH <=> CH3CHCH2CH3 + H2S",
+    degeneracy = 1,
+    kinetics = Arrhenius(
+        A = (3.26e-20, 'cm^3/(mol*s)'),
+        n = 2.53,
+        Ea = (31.3, 'kJ/mol'),
+        T0 = (1, 'K'),
+        Tmin = (300, 'K'),
+        Tmax = (2000, 'K'),
+    ),
+    shortDesc = u"""Glarborg CBS-QB3 calc""",
+    longDesc = 
+u"""
+Rate comes from quantum calculation at CBS-QB3 level
+J. Phys. Chem. A 2016, 120, 8941−8948; doi: 10.1021/acs.jpca.6b09357
+""",
+)
+
+entry(
+    index = 1016,
+    label = "C2H4 + SH <=> CHCH2 + H2S",
+    degeneracy = 1,
+    kinetics = Arrhenius(
+        A = (2.96e-25, 'cm^3/(mol*s)'),
+        n = 3.31,
+        Ea = (81.3, 'kJ/mol'),
+        T0 = (1, 'K'),
+        Tmin = (300, 'K'),
+        Tmax = (2000, 'K'),
+    ),
+    shortDesc = u"""Glarborg CBS-QB3 calc""",
+    longDesc = 
+u"""
+Rate comes from quantum calculation at CBS-QB3 level
+J. Phys. Chem. A 2016, 120, 8941−8948; doi: 10.1021/acs.jpca.6b09357
+""",
+)
+
+entry(
+    index = 1017,
+    label = "C3H6 + SH <=> CH2CHCH2 + H2S",
+    degeneracy = 1,
+    kinetics = Arrhenius(
+        A = (2.00e-24, 'cm^3/(mol*s)'),
+        n = 3.79,
+        Ea = (9.9, 'kJ/mol'),
+        T0 = (1, 'K'),
+        Tmin = (300, 'K'),
+        Tmax = (2000, 'K'),
+    ),
+    shortDesc = u"""Glarborg CBS-QB3 calc""",
+    longDesc = 
+u"""
+Rate comes from quantum calculation at CBS-QB3 level
+J. Phys. Chem. A 2016, 120, 8941−8948; doi: 10.1021/acs.jpca.6b09357
+""",
+)
+
+entry(
+    index = 1018,
+    label = "C4H8-4 + SH <=> CH2CHCHCH3 + H2S",
+    degeneracy = 1,
+    kinetics = Arrhenius(
+        A = (2.19e-23, 'cm^3/(mol*s)'),
+        n = 3.40,
+        Ea = (0.4, 'kJ/mol'),
+        T0 = (1, 'K'),
+        Tmin = (300, 'K'),
+        Tmax = (2000, 'K'),
+    ),
+    shortDesc = u"""Glarborg CBS-QB3 calc""",
+    longDesc = 
+u"""
+Rate comes from quantum calculation at CBS-QB3 level
+J. Phys. Chem. A 2016, 120, 8941−8948; doi: 10.1021/acs.jpca.6b09357
+""",
+)
+
+entry(
+    index = 1019,
+    label = "C4H8-6 + SH <=> CH2CCH2CH3 + H2S",
+    degeneracy = 1,
+    kinetics = Arrhenius(
+        A = (2.69e-22, 'cm^3/(mol*s)'),
+        n = 3.32,
+        Ea = (36.5, 'kJ/mol'),
+        T0 = (1, 'K'),
+        Tmin = (300, 'K'),
+        Tmax = (2000, 'K'),
+    ),
+    shortDesc = u"""Glarborg CBS-QB3 calc""",
+    longDesc = 
+u"""
+Rate comes from quantum calculation at CBS-QB3 level
+J. Phys. Chem. A 2016, 120, 8941−8948; doi: 10.1021/acs.jpca.6b09357
+""",
+)
+
+entry(
+    index = 1020,
+    label = "C3H4-1 + SH <=> CH2CCH + H2S",
+    degeneracy = 1,
+    kinetics = Arrhenius(
+        A = (2.51e-22, 'cm^3/(mol*s)'),
+        n = 3.37,
+        Ea = (30.2, 'kJ/mol'),
+        T0 = (1, 'K'),
+        Tmin = (300, 'K'),
+        Tmax = (2000, 'K'),
+    ),
+    shortDesc = u"""Glarborg CBS-QB3 calc""",
+    longDesc = 
+u"""
+Rate comes from quantum calculation at CBS-QB3 level
+J. Phys. Chem. A 2016, 120, 8941−8948; doi: 10.1021/acs.jpca.6b09357
+""",
+)
+
+entry(
+    index = 1022,
+    label = "C4H6 + SH <=> CHCCHCH3 + H2S",
+    degeneracy = 1,
+    kinetics = Arrhenius(
+        A = (1.10e-22, 'cm^3/(mol*s)'),
+        n = 3.32,
+        Ea = (8.01, 'kJ/mol'),
+        T0 = (1, 'K'),
+        Tmin = (300, 'K'),
+        Tmax = (2000, 'K'),
+    ),
+    shortDesc = u"""Glarborg CBS-QB3 calc""",
+    longDesc = 
+u"""
+Rate comes from quantum calculation at CBS-QB3 level
+J. Phys. Chem. A 2016, 120, 8941−8948; doi: 10.1021/acs.jpca.6b09357
+""",
+

From bbe1bc2e7d87186e7bd28cc7f3ec32c9f3a0178b Mon Sep 17 00:00:00 2001
From: Alon Grinberg Dana <alongd@mit.edu>
Date: Thu, 20 Apr 2017 14:37:15 -0400
Subject: [PATCH 05/16] Renamed `Oa_R_Recombination` family as
 `Birad_R_Recombination` Elaborated with [S] and [NH] Added training reactions
 for [O], [S], [NH]

---
 .../NIST/dictionary.txt                       |   0
 .../NIST/reactions.py                         |   0
 .../groups.py                                 | 161 +++++++++++++++++-
 .../families/Birad_R_Recombination/rules.py   |  50 ++++++
 .../training/dictionary.txt                   |  57 +++++++
 .../training/reactions.py                     |  91 ++++++++++
 .../families/Oa_R_Recombination/rules.py      |  22 ---
 .../training/dictionary.txt                   |   0
 .../Oa_R_Recombination/training/reactions.py  |   9 -
 input/kinetics/families/recommended.py        |   2 +-
 10 files changed, 353 insertions(+), 39 deletions(-)
 rename input/kinetics/families/{Oa_R_Recombination => Birad_R_Recombination}/NIST/dictionary.txt (100%)
 rename input/kinetics/families/{Oa_R_Recombination => Birad_R_Recombination}/NIST/reactions.py (100%)
 rename input/kinetics/families/{Oa_R_Recombination => Birad_R_Recombination}/groups.py (83%)
 create mode 100644 input/kinetics/families/Birad_R_Recombination/rules.py
 create mode 100644 input/kinetics/families/Birad_R_Recombination/training/dictionary.txt
 create mode 100644 input/kinetics/families/Birad_R_Recombination/training/reactions.py
 delete mode 100644 input/kinetics/families/Oa_R_Recombination/rules.py
 delete mode 100644 input/kinetics/families/Oa_R_Recombination/training/dictionary.txt
 delete mode 100644 input/kinetics/families/Oa_R_Recombination/training/reactions.py

diff --git a/input/kinetics/families/Oa_R_Recombination/NIST/dictionary.txt b/input/kinetics/families/Birad_R_Recombination/NIST/dictionary.txt
similarity index 100%
rename from input/kinetics/families/Oa_R_Recombination/NIST/dictionary.txt
rename to input/kinetics/families/Birad_R_Recombination/NIST/dictionary.txt
diff --git a/input/kinetics/families/Oa_R_Recombination/NIST/reactions.py b/input/kinetics/families/Birad_R_Recombination/NIST/reactions.py
similarity index 100%
rename from input/kinetics/families/Oa_R_Recombination/NIST/reactions.py
rename to input/kinetics/families/Birad_R_Recombination/NIST/reactions.py
diff --git a/input/kinetics/families/Oa_R_Recombination/groups.py b/input/kinetics/families/Birad_R_Recombination/groups.py
similarity index 83%
rename from input/kinetics/families/Oa_R_Recombination/groups.py
rename to input/kinetics/families/Birad_R_Recombination/groups.py
index 8f6d9aa327..028f3c8c7e 100644
--- a/input/kinetics/families/Oa_R_Recombination/groups.py
+++ b/input/kinetics/families/Birad_R_Recombination/groups.py
@@ -1,16 +1,16 @@
 #!/usr/bin/env python
 # encoding: utf-8
 
-name = "Oa_R_Recombination/groups"
+name = "Birad_R_Recombination/groups"
 shortDesc = u""
 longDesc = u"""
-This reaction family is reserved for O_atom (triplet only). The forbidden groups
-at the bottom prevent it from reacting with other forms of O.
+This reaction family is reserved for recombination of O_atom, S_atom, N_R_birad (triplets only).
+The forbidden groups at the bottom prevent it from reacting with other forms of O, S, NH.
 """
 
-template(reactants=["Y_rad", "Oa"], products=["YO."], ownReverse=False)
+template(reactants=["Y_rad", "Birad"], products=["YOS."], ownReverse=False)
 
-reverse = "RO_Bond_Dissociation"
+reverse = "ROS_Bond_Dissociation"
 
 recipe(actions=[
     ['FORM_BOND', '*1', 1, '*2'],
@@ -30,10 +30,95 @@
 
 entry(
     index = 2,
+    label = "Birad",
+    group = 
+"""
+1 *2 R!H u2
+""",
+    kinetics = None,
+)
+
+entry(
+    index = 50,
     label = "Oa",
     group = 
 """
-1 *2 O u2
+1 *2 O u2 p2
+""",
+    kinetics = None,
+)
+
+entry(
+    index = 51,
+    label = "Sa",
+    group = 
+"""
+1 *2 S u2 p2
+""",
+    kinetics = None,
+)
+
+entry(
+    index = 52,
+    label = "N_R_birad",
+    group = 
+"""
+1 *2 N u2 p1
+""",
+    kinetics = None,
+)
+
+entry(
+    index = 53,
+    label = "N_birad/H",
+    group = 
+"""
+1 *2 N u2 p1 {2,S}
+2    H u0 p0 {1,S}
+""",
+    kinetics = None,
+)
+
+entry(
+    index = 54,
+    label = "N_birad/C",
+    group = 
+"""
+1 *2 N u2 p1 {2,S}
+2    C ux    {1,S}
+""",
+    kinetics = None,
+)
+
+entry(
+    index = 55,
+    label = "N_birad/O",
+    group = 
+"""
+1 *2 N u2 p1 {2,S}
+2    O ux    {1,S}
+""",
+    kinetics = None,
+)
+
+entry(
+    index = 56,
+    label = "N_birad/N",
+    group = 
+"""
+1 *2 N u2 p1 {2,S}
+2    N ux    {1,S}
+""",
+    kinetics = None,
+)
+
+entry(
+    index = 57,
+    label = "N_birad/S",
+    group = 
+"""
+1 *2 N u2 p1 {2,S}
+2    S ux    {1,S}
 """,
     kinetics = None,
 )
@@ -673,7 +758,15 @@
                 L5: C_rad/Cs
                 L5: C_rad/TDMustO
             L4: C_rad/ThreeDe
-L1: Oa
+L1: Birad
+    L2: Oa
+    L2: Sa
+    L2: N_R_birad
+        L3: N_birad/H
+        L3: N_birad/C
+        L3: N_birad/O
+        L3: N_birad/N
+        L3: N_birad/S
 """
 )
 
@@ -688,6 +781,20 @@
     longDesc = 
 u"""
 
+""",
+)
+ 
+forbidden(
+    label = "S2_1centeredBirad",
+    group = 
+"""
+1 *1 S u2 p1 {2,S}
+2    R u0 {1,S}
+""",
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
 """,
 )
 
@@ -702,6 +809,20 @@
     longDesc = 
 u"""
 
+""",
+)
+ 
+forbidden(
+    label = "S2_birad",
+    group = 
+"""
+1 *1 S u1 p2 {2,S}
+2    S u1 p2 {1,S}
+""",
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
 """,
 )
 
@@ -718,3 +839,29 @@
 """,
 )
 
+forbidden(
+    label = "S_atom_singlet",
+    group = 
+"""
+1 *1 S u0 p3
+""",
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
+forbidden(
+    label = "N_R_singlet",
+    group = 
+"""
+1 *1 N u0 p2
+""",
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
diff --git a/input/kinetics/families/Birad_R_Recombination/rules.py b/input/kinetics/families/Birad_R_Recombination/rules.py
new file mode 100644
index 0000000000..4f33dec738
--- /dev/null
+++ b/input/kinetics/families/Birad_R_Recombination/rules.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# encoding: utf-8
+
+name = "Birad_R_Recombination/rules"
+shortDesc = u""
+longDesc = u"""
+
+"""
+entry(
+    index = 1000,
+    label = "Y_rad;Oa",
+    kinetics = ArrheniusEP(
+        A = (1e+13, 'cm^3/(mol*s)'),
+        n = 0,
+        alpha = 0,
+        E0 = (0, 'kcal/mol'),
+        Tmin = (300, 'K'),
+        Tmax = (1500, 'K'),
+    ),
+    rank = 2,
+)
+
+entry(
+    index = 2000,
+    label = "Y_rad;Sa",
+    kinetics = ArrheniusEP(
+        A = (1e+13, 'cm^3/(mol*s)'),
+        n = 0,
+        alpha = 0,
+        E0 = (0, 'kcal/mol'),
+        Tmin = (300, 'K'),
+        Tmax = (1500, 'K'),
+    ),
+    rank = 2,
+)
+
+entry(
+    index = 2000,
+    label = "Y_rad;N_R_birad",
+    kinetics = ArrheniusEP(
+        A = (1e+13, 'cm^3/(mol*s)'),
+        n = 0,
+        alpha = 0,
+        E0 = (0, 'kcal/mol'),
+        Tmin = (300, 'K'),
+        Tmax = (1500, 'K'),
+    ),
+    rank = 2,
+)
+
diff --git a/input/kinetics/families/Birad_R_Recombination/training/dictionary.txt b/input/kinetics/families/Birad_R_Recombination/training/dictionary.txt
new file mode 100644
index 0000000000..aacc50825b
--- /dev/null
+++ b/input/kinetics/families/Birad_R_Recombination/training/dictionary.txt
@@ -0,0 +1,57 @@
+O
+multiplicity 3
+1 *2 O u2 p2 c0
+
+S
+multiplicity 3
+1 *2 S u2 p2 c0
+
+NH
+multiplicity 3
+1 *2 N u2 p1 c0 {2,S}
+2    H u0 p0 c0 {1,S}
+
+HSO
+multiplicity 2
+1    S u0 p2 c0 {2,S} {3,S}
+2 *1 O u1 p2 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+
+HSOO
+multiplicity 2
+1    S u0 p2 c0 {2,S} {4,S}
+2 *1 O u0 p2 c0 {1,S} {3,S}
+3 *2 O u1 p2 c0 {2,S}
+4    H u0 p0 c0 {1,S}
+
+NO
+multiplicity 2
+1 *1 N u1 p1 c0 {2,D}
+2    O u0 p2 c0 {1,D}
+
+NO2_p
+multiplicity 2
+1 *1 N u0 p1 c0 {2,D} {3,S}
+2    O u0 p2 c0 {1,D}
+3 *2 O u1 p2 c0 {1,S}
+
+NO2_r
+multiplicity 2
+1    O u0 p2 c0 {2,D}
+2 *1 N u1 p0 c+1 {1,D} {3,S}
+3    O u0 p3 c-1 {2,S}
+
+HNNO2
+multiplicity 2
+1 *2 N u1 p1 c0 {2,S} {3,S}
+2    H u0 p0 c0 {1,S}
+3 *1 N u0 p0 c+1 {1,S} {4,S} {5,D}
+4    O u0 p3 c-1 {3,S}
+5    O u0 p2 c0 {3,D}
+
+SNO
+multiplicity 2
+1 *2 S u1 p2 c0 {2,S}
+2 *1 N u0 p1 c0 {1,S} {3,D}
+3    O u0 p2 c0 {2,D}
+
diff --git a/input/kinetics/families/Birad_R_Recombination/training/reactions.py b/input/kinetics/families/Birad_R_Recombination/training/reactions.py
new file mode 100644
index 0000000000..bd03120a58
--- /dev/null
+++ b/input/kinetics/families/Birad_R_Recombination/training/reactions.py
@@ -0,0 +1,91 @@
+#!/usr/bin/env python
+# encoding: utf-8
+
+name = "Birad_R_Recombination/training"
+shortDesc = u"Kinetics used to train group additivity values"
+longDesc = u"""
+Put kinetic parameters for reactions to use as a training set for fitting
+group additivity values in this file.
+"""
+
+entry(
+    index = 1,
+    label = "NH + NO2_r <=> HNNO2",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(1.42e+16, 'cm^3/(mol*s)'), n=-0.75, Ea=(1226, 'cal/mol'), T0=(1, 'K')),
+    rank = 3,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+Part of the "NOx" subset
+T range: 500-3000 K
+calculations done at the B3LYP/6-311D(d,p)//B3LYP/6-311D(d,p) level of theory
+D. Chakraborty, C.C. Hsu, M.C. Lin, J. Chem. Phys., 1998, 109, 8887, doi: 10.1063/1.477560
+k3a, p. 8893
+No stabilization at low pressures, only K3a_inf is given (k3a_low = 0)
+""",
+)
+
+entry(
+    index = 2,
+    label = "S + NO <=> SNO",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(1.3e+14, 'cm^3/(mol*s)'), n=0.24, Ea=(0, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (800, 'K')),
+    rank = 1,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+A. Goumri, D.D. Shao, P. Marshall, J. Chem. Phys., 2004, 121, 9999, doi: 10.1063/1.1806419
+Experimentally measured, and PES verified using CBS-QB3
+Originally a Troe expression was given, only k_inf is taken here
+kinetics = Troe(
+        arrheniusHigh = Arrhenius(A=(1.3e+14, 'cm^3/(mol*s)'), n=0.24, Ea=(0, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (800, 'K')),
+        arrheniusLow = Arrhenius(A=(2.25e+15, 'cm^6/(mol^2*s)'), n=0, Ea=(-1868, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (800, 'K')),
+        alpha=1, T3=(1e-30, 'K'), T1=(1e+30, 'K'), efficiencies={}),
+""",
+)
+
+
+#entry(
+#    index = 3,
+#    label = "HSOO <=> HSO + O",
+#    degeneracy = 1,
+#    kinetics = Arrhenius(A=(2.01e+19, 's^-1'), n=-1.07, Ea=(28377, 'cal/mol'), T0=(1, 'K'), Tmin = (200, 'K'), Tmax = (2000, 'K')),
+#    rank = 2,
+#    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+#    longDesc = 
+#u"""
+#Taken from the SOxNOx library, Part of the "SOx" subset
+#T range: 200-2000 K
+#A. Goumri, J-D.R. Rocha, D. Laakso, C.E. Smith, P. Marshall, J. Phys. Chem. A, 1999, 103(51), 11328–11335 doi: 10.1021/jp9924070
+#Table 7 on p. 11333
+#calculations done at the QCISD(T)/6-311+G(3df,2p)//MP2=FULL/6-31G(d) level of theory
+#Originally a Troe expression was given, only k_inf is taken here
+#
+#The reverse rate training reaction here is commented-out until better thermo groups for oxigenated sulfur species
+#are added to RMG to calculate the forward rate
+#
+#""",
+#)
+
+#entry(
+#    index = 4,
+#    label = "NO2_p <=> NO + O",
+#    degeneracy = 1,
+#    kinetics = Arrhenius(A=(3.98e+14, 's^-1'), n=0, Ea=(71700, 'cal/mol'), T0=(1, 'K'), Tmin = (1350, 'K'), Tmax = (2100, 'K')),
+#    rank = 1,
+#    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+#    longDesc = 
+#u"""
+#Taken from the SOxNOx library, Part of the "NO2 decomposition" subset
+#T range: 1350-2100 K
+#M. Rohrig, E.L. Petersen, D.F. Davidson, R.K. Hanson, Int. J. Chem. Kin., 1997, 29(7), 483-493, doi: 10.1002/(SICI)1097-4601(1997)29:7<483::AID-KIN2>3.0.CO;2-Q
+#Shock tube measurement
+#Originally a Troe expression was given, only k_inf is taken here
+#
+#The reverse rate training reaction here is commented-out until better thermo groups for oxigenated sulfur species
+#are added to RMG to calculate the forward rate
+#
+#""",
+#)
+
diff --git a/input/kinetics/families/Oa_R_Recombination/rules.py b/input/kinetics/families/Oa_R_Recombination/rules.py
deleted file mode 100644
index 85b5d050d1..0000000000
--- a/input/kinetics/families/Oa_R_Recombination/rules.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-name = "Oa_R_Recombination/rules"
-shortDesc = u""
-longDesc = u"""
-
-"""
-entry(
-    index = 1000,
-    label = "Y_rad;Oa",
-    kinetics = ArrheniusEP(
-        A = (1e+13, 'cm^3/(mol*s)'),
-        n = 0,
-        alpha = 0,
-        E0 = (0, 'kcal/mol'),
-        Tmin = (300, 'K'),
-        Tmax = (1500, 'K'),
-    ),
-    rank = 2,
-)
-
diff --git a/input/kinetics/families/Oa_R_Recombination/training/dictionary.txt b/input/kinetics/families/Oa_R_Recombination/training/dictionary.txt
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/input/kinetics/families/Oa_R_Recombination/training/reactions.py b/input/kinetics/families/Oa_R_Recombination/training/reactions.py
deleted file mode 100644
index 0b73578e1c..0000000000
--- a/input/kinetics/families/Oa_R_Recombination/training/reactions.py
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-name = "Oa_R_Recombination/training"
-shortDesc = u"Kinetics used to train group additivity values"
-longDesc = u"""
-Put kinetic parameters for reactions to use as a training set for fitting
-group additivity values in this file.
-"""
diff --git a/input/kinetics/families/recommended.py b/input/kinetics/families/recommended.py
index a5b84ee997..4ad3dc1321 100644
--- a/input/kinetics/families/recommended.py
+++ b/input/kinetics/families/recommended.py
@@ -20,6 +20,7 @@
 '2+2_cycloaddition_Cd':True,
 'Birad_recombination':True,
 'CO_Disproportionation':True,
+'Birad_R_Recombination':True,
 'Cyclic_Ether_Formation':True,
 'Diels_alder_addition':True,
 'Disproportionation':True,
@@ -35,7 +36,6 @@
 'Intra_R_Add_Exocyclic':True,
 'Korcek_step1':False,
 'Korcek_step2':False,
-'Oa_R_Recombination':True,
 'R_Addition_COm':True,
 'R_Addition_CSm':False,
 'R_Addition_MultipleBond':True,

From 8e2126cb68af28b0a88ac0d6db516bcb83661fb0 Mon Sep 17 00:00:00 2001
From: Alon Grinberg Dana <alongd@mit.edu>
Date: Thu, 20 Apr 2017 14:43:44 -0400
Subject: [PATCH 06/16] Added S_atom_triplet group to H_Abstraction family
 analogous to O_atom_triplet

---
 input/kinetics/families/H_Abstraction/groups.py | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/input/kinetics/families/H_Abstraction/groups.py b/input/kinetics/families/H_Abstraction/groups.py
index b8792a9e39..a7d9de3b91 100644
--- a/input/kinetics/families/H_Abstraction/groups.py
+++ b/input/kinetics/families/H_Abstraction/groups.py
@@ -3422,6 +3422,16 @@
 """,
     kinetics = None,
 )
+ 
+entry(
+    index = 600,
+    label = "S_atom_triplet",
+    group = 
+"""
+1 *3 S u2
+""",
+    kinetics = None,
+)
 
 entry(
     index = 190,
@@ -6597,6 +6607,7 @@
         L3: CH_doublet
     L2: Y_1centerbirad
         L3: O_atom_triplet
+        L3: S_atom_triplet
         L3: CH2_triplet
         L3: NH_triplet
     L2: Y_rad

From 2728486734ccf366ef1715c90fcf3e39b5da2d5c Mon Sep 17 00:00:00 2001
From: Alon Grinberg Dana <alongd@mit.edu>
Date: Thu, 20 Apr 2017 14:52:23 -0400
Subject: [PATCH 07/16] Added H_Abstraction training reactions from SOxNOx
 library

---
 .../H_Abstraction/training/dictionary.txt     | 362 ++++++++++--
 .../H_Abstraction/training/reactions.py       | 516 ++++++++++++++++--
 2 files changed, 784 insertions(+), 94 deletions(-)

diff --git a/input/kinetics/families/H_Abstraction/training/dictionary.txt b/input/kinetics/families/H_Abstraction/training/dictionary.txt
index 645658349a..09b7006d33 100644
--- a/input/kinetics/families/H_Abstraction/training/dictionary.txt
+++ b/input/kinetics/families/H_Abstraction/training/dictionary.txt
@@ -222,6 +222,12 @@ CH2O
 3 *2 H u0 p0 c0 {1,S}
 4    H u0 p0 c0 {1,S}
 
+CH2O_p
+1 *3 C u0 p0 c0 {2,D} {3,S} {4,S}
+2    O u0 p2 c0 {1,D}
+3 *1 H u0 p0 c0 {1,S}
+4    H u0 p0 c0 {1,S}
+
 C4H9O-2
 multiplicity 2
 1     C u0 p0 c0 {2,S} {4,S} {6,S} {7,S}
@@ -525,7 +531,7 @@ C4H8O-3
 12    O u0 p2 c0 {4,D}
 13 *2 H u0 p0 c0 {4,S}
 
-HO2
+HO2_r3
 multiplicity 2
 1    O u0 p2 c0 {2,S} {3,S}
 2 *3 O u1 p2 c0 {1,S}
@@ -780,12 +786,6 @@ multiplicity 2
 10    H u0 p0 c0 {4,S}
 11    H u0 p0 c0 {4,S}
 
-CHO
-multiplicity 2
-1 *3 C u1 p0 c0 {2,D} {3,S}
-2    O u0 p2 c0 {1,D}
-3    H u0 p0 c0 {1,S}
-
 C4H8-2
 1  *1 C u0 p0 c0 {3,S} {5,S} {6,S} {7,S}
 2     C u0 p0 c0 {4,S} {8,S} {9,S} {10,S}
@@ -904,6 +904,16 @@ multiplicity 2
 6    H u0 p0 c0 {2,S}
 7    H u0 p0 c0 {2,S}
 
+C2H5b
+multiplicity 2
+1    C u0 p0 c0 {2,S} {3,S} {4,S} {5,S}
+2 *1 C u1 p0 c0 {1,S} {6,S} {7,S}
+3    H u0 p0 c0 {1,S}
+4    H u0 p0 c0 {1,S}
+5    H u0 p0 c0 {1,S}
+6    H u0 p0 c0 {2,S}
+7    H u0 p0 c0 {2,S}
+
 C2H4
 1 *1 C u0 p0 c0 {2,D} {3,S} {4,S}
 2    C u0 p0 c0 {1,D} {5,S} {6,S}
@@ -1038,6 +1048,10 @@ H2
 1 *1 H u0 p0 c0 {2,S}
 2 *2 H u0 p0 c0 {1,S}
 
+H2_p
+1 *2 H u0 p0 c0 {2,S}
+2 *3 H u0 p0 c0 {1,S}
+
 CH3O2
 multiplicity 2
 1    C u0 p0 c0 {2,S} {3,S} {4,S} {5,S}
@@ -1052,6 +1066,16 @@ multiplicity 2
 1 *3 O u1 p2 c0 {2,S}
 2    H u0 p0 c0 {1,S}
 
+OH_p1
+multiplicity 2
+1 *1 O u1 p2 c0 {2,S}
+2    H u0 p0 c0 {1,S}
+
+OH_p23
+multiplicity 2
+1 *3 O u1 p2 c0 {2,S}
+2 *2 H u0 p0 c0 {1,S}
+
 C4H10O-8
 1     C u0 p0 c0 {2,S} {3,S} {5,S} {6,S}
 2     C u0 p0 c0 {1,S} {4,S} {7,S} {8,S}
@@ -1091,6 +1115,11 @@ H2O
 2 *2 H u0 p0 c0 {1,S}
 3    H u0 p0 c0 {1,S}
 
+H2O_p
+1 *3 O u0 p2 c0 {2,S} {3,S}
+2 *2 H u0 p0 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+
 C4H7O-4
 multiplicity 2
 1     C u0 p0 c0 {2,S} {3,S} {5,S} {6,S}
@@ -1106,13 +1135,6 @@ multiplicity 2
 11    H u0 p0 c0 {4,S}
 12    H u0 p0 c0 {4,S}
 
-CH3
-multiplicity 2
-1 *3 C u1 p0 c0 {2,S} {3,S} {4,S}
-2    H u0 p0 c0 {1,S}
-3    H u0 p0 c0 {1,S}
-4 	 H u0 p0 c0 {1,S}
-
 NH2
 multiplicity 2
 1 *3 N u1 p1 c0 {2,S} {3,S}
@@ -1232,13 +1254,20 @@ CH4
 4 H u0 p0 c0 {1,S}
 5 H u0 p0 c0 {1,S}
 
+CH4b
+1 *1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S}
+2 *2 H u0 p0 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+4    H u0 p0 c0 {1,S}
+5    H u0 p0 c0 {1,S}
+
 N2H3
 multiplicity 2
-1 N u0 p1 c0 {2,S} {4,S} {5,S}
-2 N u1 p1 c0 {1,S} {3,S}
-3 H u0 p0 c0 {2,S}
-4 H u0 p0 c0 {1,S}
-5 H u0 p0 c0 {1,S}
+1    N u0 p1 c0 {2,S} {4,S} {5,S}
+2 *1 N u1 p1 c0 {1,S} {3,S}
+3    H u0 p0 c0 {2,S}
+4    H u0 p0 c0 {1,S}
+5    H u0 p0 c0 {1,S}
 
 CH2CHNH
 multiplicity 2
@@ -1271,30 +1300,6 @@ multiplicity 2
 2 *2 H u0 p0 c0 {1,S}
 3    H u0 p0 c0 {1,S}
 
-CH4b
-1 *1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S}
-2 *2 H u0 p0 c0 {1,S}
-3    H u0 p0 c0 {1,S}
-4    H u0 p0 c0 {1,S}
-5    H u0 p0 c0 {1,S}
-
-CH3b
-multiplicity 2
-1 *1 C u1 p0 c0 {2,S} {3,S} {4,S}
-2    H u0 p0 c0 {1,S}
-3    H u0 p0 c0 {1,S}
-4 	 H u0 p0 c0 {1,S}
-
-C2H5b
-multiplicity 2
-1    C u0 p0 c0 {2,S} {3,S} {4,S} {5,S}
-2 *1 C u1 p0 c0 {1,S} {6,S} {7,S}
-3    H u0 p0 c0 {1,S}
-4    H u0 p0 c0 {1,S}
-5    H u0 p0 c0 {1,S}
-6    H u0 p0 c0 {2,S}
-7    H u0 p0 c0 {2,S}
-
 HNCO
 1 *1 N u0 p1 c0 {2,D} {4,S}
 2    C u0 p0 c0 {1,D} {3,D}
@@ -1312,11 +1317,6 @@ H2S
 2 *2 H u0 p0 c0 {1,S}
 3    H u0 p0 c0 {1,S}
 
-SH
-multiplicity 2
-1 *3 S u1 p2 c0 {2,S}
-2    H u0 p0 c0 {1,S}
-
 C4H10
 1   *1 C u0 p0 c0 {2,S} {5,S} {6,S} {7,S}
 2      C u0 p0 c0 {1,S} {3,S} {8,S} {9,S}
@@ -1368,22 +1368,33 @@ C4H6
 9  H u0 p0 c0 {4,S}
 10 H u0 p0 c0 {4,S}
 
-CH3a
+CH3_p1
 multiplicity 2
 1 *1 C u1 p0 c0 {2,S} {3,S} {4,S}
 2    H u0 p0 c0 {1,S}
 3    H u0 p0 c0 {1,S}
 4    H u0 p0 c0 {1,S}
 
-CH2CH3
+CH3_p23
+multiplicity 2
+1 *3 C u1 p0 c0 {2,S} {3,S} {4,S}
+2 *2 H u0 p0 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+4    H u0 p0 c0 {1,S}
+
+CH3_r12
 multiplicity 2
 1 *1 C u1 p0 c0 {2,S} {3,S} {4,S}
+2 *2 H u0 p0 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+4    H u0 p0 c0 {1,S}
+
+CH3_r3
+multiplicity 2
+1 *3 C u1 p0 c0 {2,S} {3,S} {4,S}
 2    H u0 p0 c0 {1,S}
 3    H u0 p0 c0 {1,S}
-4    C u0 p0 c0 {1,S} {5,S} {6,S} {7,S}
-5    H u0 p0 c0 {4,S}
-6    H u0 p0 c0 {4,S}
-7    H u0 p0 c0 {4,S}
+4    H u0 p0 c0 {1,S}
 
 CH2CH2CH3
 multiplicity 2
@@ -1493,5 +1504,246 @@ multiplicity 2
 6    H u0 p0 c0 {1,S}
 7    H u0 p0 c0 {5,S}
 8    H u0 p0 c0 {5,S}
-9 H u0 p0 c0 {5,S}
+9    H u0 p0 c0 {5,S}
+
+O_rad
+multiplicity 3
+1 *3 O u2 p2 c0
+
+O2
+multiplicity 3
+1 *3 O u1 p2 c0 {2,S}
+2    O u1 p2 c0 {1,S}
+
+HNCN
+multiplicity 2
+1 *1 N u0 p1 c0 {2,D} {4,S}
+2    C u0 p0 c0 {1,D} {3,D}
+3    N u1 p1 c0 {2,D}
+4 *2 H u0 p0 c0 {1,S}
+
+NCN
+multiplicity 3
+1 N u1 p1 c0 {2,D}
+2 C u0 p0 c0 {1,D} {3,D}
+3 N u1 p1 c0 {2,D}
+
+HO2
+multiplicity 2
+1 O u0 p2 c0 {2,S} {3,S}
+2 O u1 p2 c0 {1,S}
+3 H u0 p0 c0 {1,S}
+
+N
+multiplicity 4
+1 *3 N u3 p1 c0
+
+NH_p
+multiplicity 3
+1 *3 N u2 p1 c0 {2,S}
+2 *2 H u0 p0 c0 {1,S}
+
+H_p
+multiplicity 2
+1 *1 H u1 p0 c0
+
+NO
+multiplicity 2
+1 *3 N u1 p1 c0 {2,D}
+2    O u0 p2 c0 {1,D}
+
+NO_p
+multiplicity 2
+1 *1 N u1 p1 c0 {2,D}
+2    O u0 p2 c0 {1,D}
+
+N2H3_r
+multiplicity 2
+1 *1 N u1 p1 c0 {2,S} {3,S}
+2    H u0 p0 c0 {1,S}
+3    N u0 p1 c0 {1,S} {4,S} {5,S}
+4    H u0 p0 c0 {3,S}
+5    H u0 p0 c0 {3,S}
+
+HNO_p
+1 *3 N u0 p1 c0 {2,D} {3,S}
+2    O u0 p2 c0 {1,D}
+3 *2 H u0 p0 c0 {1,S}
+
+HNO_r
+1 *1 N u0 p1 c0 {2,D} {3,S}
+2    O u0 p2 c0 {1,D}
+3 *2 H u0 p0 c0 {1,S}
+
+NO2
+multiplicity 2
+1 *3 O u1 p2 c0 {2,S}
+2    N u0 p1 c0 {1,S} {3,D}
+3    O u0 p2 c0 {2,D}
+
+NO2_p
+multiplicity 2
+1    O u1 p2 c0 {2,S}
+2 *1 N u0 p1 c0 {1,S} {3,D}
+3    O u0 p2 c0 {2,D}
+
+NO3
+multiplicity 2
+1    N u0 p0 c+1 {2,D} {3,S} {4,S}
+2    O u0 p2 c0 {1,D}
+3 *3 O u1 p2 c0 {1,S}
+4    O u0 p3 c-1 {1,S}
+
+NO3_p
+multiplicity 2
+1    N u0 p0 c+1 {2,D} {3,S} {4,S}
+2    O u0 p2 c0 {1,D}
+3 *1 O u1 p2 c0 {1,S}
+4    O u0 p3 c-1 {1,S}
+
+HNO3
+1    N u0 p0 c+1 {2,D} {3,S} {4,S}
+2    O u0 p2 c0 {1,D}
+3 *3 O u0 p2 c0 {1,S} {5,S}
+4    O u0 p3 c-1 {1,S}
+5 *2 H u0 p0 c0 {3,S}
+
+HNO3_r
+1    N u0 p0 c+1 {2,D} {3,S} {4,S}
+2    O u0 p2 c0 {1,D}
+3 *1 O u0 p2 c0 {1,S} {5,S}
+4    O u0 p3 c-1 {1,S}
+5 *2 H u0 p0 c0 {3,S}
+
+HONO_p
+1 *3 O u0 p2 c0 {2,S} {4,S}
+2    N u0 p1 c0 {1,S} {3,D}
+3    O u0 p2 c0 {2,D}
+4 *2 H u0 p0 c0 {1,S}
+
+HONO_r
+1 *1 O u0 p2 c0 {2,S} {4,S}
+2    N u0 p1 c0 {1,S} {3,D}
+3    O u0 p2 c0 {2,D}
+4 *2 H u0 p0 c0 {1,S}
+
+NH3_r
+1 *1 N u0 p1 c0 {2,S} {3,S} {4,S}
+2 *2 H u0 p0 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+4    H u0 p0 c0 {1,S}
+
+NH2_p
+multiplicity 2
+1 *1 N u1 p1 c0 {2,S} {3,S}
+2    H u0 p0 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+
+H2S_r
+1 *1 S u0 p2 c0 {2,S} {3,S}
+2 *2 H u0 p0 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+
+SH
+multiplicity 2
+1 *3 S u1 p2 c0 {2,S}
+2    H u0 p0 c0 {1,S}
+
+SH_p1
+multiplicity 2
+1 *1 S u1 p2 c0 {2,S}
+2    H u0 p0 c0 {1,S}
+
+S_rad
+multiplicity 3
+1 *3 S u2 p2 c0
+
+HSS_r12
+multiplicity 2
+1 *1 S u0 p2 c0 {2,S} {3,S}
+2    S u1 p2 c0 {1,S}
+3 *2 H u0 p0 c0 {1,S}
+
+HSS_r3
+multiplicity 2
+1    S u0 p2 c0 {2,S} {3,S}
+2 *3 S u1 p2 c0 {1,S}
+3    H u0 p0 c0 {1,S}
+
+HSS_p1
+multiplicity 2
+1 *1 S u1 p2 c0 {2,S}
+2    S u0 p2 c0 {1,S} {3,S}
+3    H u0 p0 c0 {2,S}
+
+S2_p1
+multiplicity 3
+1 *1 S u1 p2 c0 {2,S}
+2    S u1 p2 c0 {1,S}
+
+HSSH_p23
+1 *3 S u0 p2 c0 {2,S} {3,S}
+2    S u0 p2 c0 {1,S} {4,S}
+3 *2 H u0 p0 c0 {1,S}
+4    H u0 p0 c0 {2,S}
+
+HSSH_r12
+1 *1 S u0 p2 c0 {2,S} {3,S}
+2    S u0 p2 c0 {1,S} {4,S}
+3 *2 H u0 p0 c0 {1,S}
+4    H u0 p0 c0 {2,S}
+
+HCO_r3
+multiplicity 2
+1 *3 C u1 p0 c0 {2,S} {3,D}
+2    H u0 p0 c0 {1,S}
+3    O u0 p2 c0 {1,D}
+
+CHO_p1
+multiplicity 2
+1 *1 C u1 p0 c0 {2,S} {3,D}
+2    H u0 p0 c0 {1,S}
+3    O u0 p2 c0 {1,D}
+
+HCN_r
+1 *1 C u0 p0 c0 {2,T} {3,S}
+2    N u0 p1 c0 {1,T}
+3 *2 H u0 p0 c0 {1,S}
+
+CN_p
+multiplicity 2
+1 *1 C u1 p0 c0 {2,T}
+2    N u0 p1 c0 {1,T}
+
+CH3SH_r1
+1    C u0 p0 c0 {2,S} {3,S} {4,S} {5,S}
+2 *1 S u0 p2 c0 {1,S} {6,S}
+3    H u0 p0 c0 {1,S}
+4    H u0 p0 c0 {1,S}
+5    H u0 p0 c0 {1,S}
+6 *2 H u0 p0 c0 {2,S}
+
+CH3S_p
+multiplicity 2
+1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S}
+2 S u1 p2 c0 {1,S}
+3 H u0 p0 c0 {1,S}
+4 H u0 p0 c0 {1,S}
+5 H u0 p0 c0 {1,S}
+
+CH3SH_r2
+1 *1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S}
+2    S u0 p2 c0 {1,S} {6,S}
+3 *2 H u0 p0 c0 {1,S}
+4    H u0 p0 c0 {1,S}
+5    H u0 p0 c0 {1,S}
+6    H u0 p0 c0 {2,S}
+
+CH2SH_p
+multiplicity 2
+1 C u1 p0 c0 {2,S} {3,S} {4,S}
+2 H u0 p0 c0 {1,S}
+3 H u0 p0 c0 {1,S}
+4 S u0 p2 c0 {1,S} {5,S}
+5 H u0 p0 c0 {4,S}
 
diff --git a/input/kinetics/families/H_Abstraction/training/reactions.py b/input/kinetics/families/H_Abstraction/training/reactions.py
index 24600e5b8b..55c76e4006 100644
--- a/input/kinetics/families/H_Abstraction/training/reactions.py
+++ b/input/kinetics/families/H_Abstraction/training/reactions.py
@@ -284,7 +284,7 @@
 
 entry(
     index = 500,
-    label = "CH2O + C4H7 <=> CHO + C4H8",
+    label = "CH2O + C4H7 <=> HCO_r3 + C4H8",
     degeneracy = 2,
     kinetics = Arrhenius(
         A = (0.0613, 'cm^3/(mol*s)'),
@@ -956,7 +956,7 @@
 
 entry(
     index = 525,
-    label = "C4H8-2 + HO2 <=> C4H7-2 + H2O2",
+    label = "C4H8-2 + HO2_r3 <=> C4H7-2 + H2O2",
     degeneracy = 6,
     kinetics = Arrhenius(
         A = (0.00346998, 'cm^3/(mol*s)'),
@@ -1014,7 +1014,7 @@
 
 entry(
     index = 529,
-    label = "C4H8-4 + HO2 <=> C4H7-4 + H2O2",
+    label = "C4H8-4 + HO2_r3 <=> C4H7-4 + H2O2",
     degeneracy = 2,
     kinetics = Arrhenius(
         A = (0.000508, 'cm^3/(mol*s)'),
@@ -1223,7 +1223,7 @@
 
 entry(
     index = 540,
-    label = "C4H8O-3 + HO2 <=> C4H7O-3 + H2O2",
+    label = "C4H8O-3 + HO2_r3 <=> C4H7O-3 + H2O2",
     degeneracy = 1,
     kinetics = Arrhenius(
         A = (0.000191, 'cm^3/(mol*s)', '*|/', 3),
@@ -1524,10 +1524,10 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
@@ -1544,10 +1544,10 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
@@ -1564,16 +1564,16 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
 entry(
     index = 1204,
-    label = "CH3CH2NH2_1 + CH3 <=> CH2CH2NH2 + CH4",
+    label = "CH3CH2NH2_1 + CH3_r3 <=> CH2CH2NH2 + CH4",
     degeneracy = 3,
     kinetics = Arrhenius(
         A = (3.28e-04, 'cm^3/(mol*s)'),
@@ -1584,16 +1584,16 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
 entry(
     index = 1205,
-    label = "CH3CH2NH2_2 + CH3 <=> CH3CHNH2 + CH4",
+    label = "CH3CH2NH2_2 + CH3_r3 <=> CH3CHNH2 + CH4",
     degeneracy = 2,
     kinetics = Arrhenius(
         A = (2.76e-02, 'cm^3/(mol*s)'),
@@ -1604,16 +1604,16 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
 entry(
     index = 1206,
-    label = "CH3CH2NH2_3 + CH3 <=> CH3CH2NH + CH4",
+    label = "CH3CH2NH2_3 + CH3_r3 <=> CH3CH2NH + CH4",
     degeneracy = 2,
     kinetics = Arrhenius(
         A = (1.27e-02, 'cm^3/(mol*s)'),
@@ -1624,10 +1624,10 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
@@ -1644,10 +1644,10 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
@@ -1664,10 +1664,10 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
@@ -1684,10 +1684,10 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
@@ -1773,16 +1773,16 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
 entry(
     index = 1214,
-    label = "N2H4 + CH3 <=> N2H3 + CH4",
+    label = "N2H4 + CH3_r3 <=> N2H3 + CH4",
     degeneracy = 4,
     kinetics = Arrhenius(
         A = (1.77e+01, 'cm^3/(mol*s)'),
@@ -1793,10 +1793,10 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
@@ -1813,10 +1813,10 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
@@ -1833,10 +1833,10 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
@@ -1853,16 +1853,16 @@
         Tmax = (2000, 'K'),
     ),
     rank = 3,
-    shortDesc = u"""CBS-QB3""",
+    shortDesc = u"""Training reaction from kinetics library: Ethylamine""",
     longDesc = 
 u"""
-Ethylamine paper
+CBS-QB3
 """,
 )
 
 entry(
     index = 1230,
-    label = "NH + CH4b <=> NH2b + CH3b",
+    label = "NH + CH4b <=> NH2b + CH3_p1",
     degeneracy = 1,
     kinetics = Arrhenius(
         A = (9e13, 'cm^3/(mol*s)', '*|/', 1.5),
@@ -1936,7 +1936,7 @@
 
 entry(
     index = 1011,
-    label = "CH4b + SH <=> CH3a + H2S",
+    label = "CH4b + SH <=> CH3_p1 + H2S",
     degeneracy = 1,
     kinetics = Arrhenius(
         A = (7.78e-22, 'cm^3/(mol*s)'),
@@ -1956,7 +1956,7 @@
 
 entry(
     index = 1012,
-    label = "C2H6 + SH <=> CH2CH3 + H2S",
+    label = "C2H6 + SH <=> C2H5b + H2S",
     degeneracy = 1,
     kinetics = Arrhenius(
         A = (4.37e-22, 'cm^3/(mol*s)'),
@@ -2152,4 +2152,442 @@
 Rate comes from quantum calculation at CBS-QB3 level
 J. Phys. Chem. A 2016, 120, 8941−8948; doi: 10.1021/acs.jpca.6b09357
 """,
+)
+
+entry(
+    index = 1023,
+    label = "O_rad + HNCN <=> OH_p23 + NCN",
+    degeneracy = 4,
+    kinetics = Arrhenius(A=(1.48e+22, 'cm^3/(mol*s)'), n=-3.37, Ea=(5429, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (3000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+k8 in S. Xu, M.C. Lin, Proceedings of the Combustion Institute, 2009, 32, 99-106, doi: 10.1016/j.proci.2008.07.011
+Done at the CCSD(T)/6-311+G(3df,2p)//CCSD/6-311++G(d,p) level of theory
+The paper reports on four pathways to get to the same products, but only one is considered hydrogen abstraction.
+""",
+)
+
+entry(
+    index = 1024,
+    label = "O2 + HNCN <=> HO2 + NCN",
+    degeneracy = 2,
+    kinetics = Arrhenius(A=(1.61e+08, 'cm^3/(mol*s)'), n=1.25, Ea=(24443, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (3000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+k13 in S. Xu, M.C. Lin, Proceedings of the Combustion Institute, 2009, 32, 99-106, doi: 10.1016/j.proci.2008.07.011
+Done at the CCSD(T)/6-311+G(3df,2p)//CCSD/6-311++G(d,p) level of theory
+The paper reports on two pathways to get to the same products, but only one is considered hydrogen abstraction.
+""",
+)
+
+entry(
+    index = 1025,
+    label = "N + H2 <=> NH_p + H_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(1.60e+14, 'cm^3/(mol*s)'), n=0, Ea=(25138, 'cal/mol'), T0=(1, 'K')),
+    rank = 1,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+D.F. Davidson, R.K. Hanson, Int. J. Chem. Kin., 1990, 22(8), 843–861, doi: 10.1002/kin.550220805
+""",
+)
+
+entry(
+    index = 1026,
+    label = "N2H4 + NO <=> N2H3 + HNO_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(6.44e+01, 'cm^3/(mol*s)'), n=3.16, Ea=(30488, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (2000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+P. Raghunath, Y.H. Lin, M.C. Lin, Computational and Theoretical Chemistry, 2014, 1046, 73-80, doi: 10.1016/j.comptc.2014.07.011
+calculations done at the CCSD(T)/CBS//CCSD level of theoty,
+and the moment of inertia and harmonic vibrational frequencies were obtained by the CCSD/6-31G(d,p) level
+""",
+)
+
+entry(
+    index = 1027,
+    label = "HNCN + OH <=> H2O_p + NCN",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(1.04e+05, 'cm^3/(mol*s)'), n=2.48, Ea=(-1886, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (3000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+k7 in: S. Xu, M.C. Lin, J. Phys. Chem. A, 2007, 111, 6730-6740, doi: 10.1021/jp069038+
+Done at the CCSD(T)/6-311+G(3df,2p)//B3LYP/6-311+G(3df,2p) level of theory
+""",
+)
+
+entry(
+    index = 1028,
+    label = "N2H4 + NO2 <=> N2H3 + HONO_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(3.23e+00, 'cm^3/(mol*s)'), n=3.56, Ea=(763, 'cal/mol'), T0=(1, 'K'), Tmin = (250, 'K'), Tmax = (2500, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+P. Raghunath, N.T. Nghia, M.C. Lin, Advances in Quantum Chemistry, 2014, 69, 253-301, doi: 10.1016/B978-0-12-800345-9.00007-6
+p. 265
+calculations done at the G2M(CC2)//B3LYP/6-311þþG(3df,2p) level of theoty
+""",
+)
+
+entry(
+    index = 1029,
+    label = "N2H4 + NO3 <=> N2H3 + HNO3",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(1.28e+04, 'cm^3/(mol*s)'), n=2.53, Ea=(-2947, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (3000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+P. Raghunath, N.T. Nghia, M.C. Lin, Advances in Quantum Chemistry, 2014, 69, 253-301, doi: 10.1016/B978-0-12-800345-9.00007-6
+p. 269
+CCSD(T)//BHandHLYP/6-311þþG(3df,2p) level of theoty
+Pressure independent at least up to 100 atm
+""",
+)
+
+entry(
+    index = 1030,
+    label = "NH3_r + NO <=> NH2_p + HNO_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(1.04e+07, 'cm^3/(mol*s)'), n=1.73, Ea=(56544, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (5000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+A.M. Mebel, E.W.G. Diau, M.C. Lin, K.Morokuma, J. Phys. Chem., 1996, 100, 7517-7525, doi: 10.1021/jp953644f
+k1 on p. 7519
+calculations done at the UMP2/6-311G-(d,p)//UMP2/6-311G(d,p) level of theory
+""",
+)
+
+entry(
+    index = 1031,
+    label = "NH2 + H2 <=> NH3 + H_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(3.23e+05, 'cm^3/(mol*s)'), n=2.23, Ea=(7168, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (5000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+A.M. Mebel, L.V. Moskaleva, M.C. Lin, J. Molec. Struc. (Theochem), 1999, 461-462, 223-238, doi: 10.1016/S0166-1280(98)00423-0
+k1_theo on p. 229
+calculations done at the G2M//B3LYP/6-311G(d,p) level of theory
+""",
+)
+
+entry(
+    index = 1032,
+    label = "NH2 + CH4b <=> NH3 + CH3_p1",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(1.36e+04, 'cm^3/(mol*s)'), n=2.87, Ea=(10691, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (5000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+A.M. Mebel, L.V. Moskaleva, M.C. Lin, J. Molec. Struc. (Theochem), 1999, 461-462, 223-238, doi: 10.1016/S0166-1280(98)00423-0
+k2 on p. 232
+calculations done at the G2M//B3LYP/6-311G(d,p) level of theory
+""",
+)
+
+entry(
+    index = 1033,
+    label = "NH2 + H2O <=> NH3 + OH_p1",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(2.62e+13, 'cm^3/(mol*s)'), n=0, Ea=(16846, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (5000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+A.M. Mebel, L.V. Moskaleva, M.C. Lin, J. Molec. Struc. (Theochem), 1999, 461-462, 223-238, doi: 10.1016/S0166-1280(98)00423-0
+k4 on p. 233
+calculations done at the G2M//B3LYP/6-311G(d,p) level of theory
+A lower and upper rate limits were given. Here an average rate was taken.
+Fitted to a 2 parameter Arrhenius with a coefficient of determination of 0.9943
+""",
+)
+
+entry(
+    index = 1036,
+    label = "H2S_r + H <=> SH_p1 + H2_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(3.5e+07, 'cm^3/(mol*s)'), n=1.94, Ea=(904, 'cal/mol'), T0=(1, 'K'), Tmin = (190, 'K'), Tmax = (2237, 'K')),
+    rank = 1,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+J. Peng, X. Hu, P. Marshall, J. Phys. Chem. A, 1999, 103, 5307-5311, doi: 10.1021/jp984242l
+Combined experimental (298-598 K) and computational calculation at the QCISD(T)/6-311+G(3df,2p) level
+(also available from D. Woiki, P. Roth, Israel Journal of Chemistry, 1996, 36(3), 279-283, doi: 10.1002/ijch.199600039)
+""",
+)
+
+entry(
+    index = 1037,
+    label = "H2S_r + S_rad <=> SH_p1 + SH",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(3.7e+06, 'cm^3/(mol*s)'), n=2.297, Ea=(9010, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (3000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+C.R. Zhou, K. Sendt, B.S. Haynes, J. Phys. Chem. A, 2008, 112, 3239-3247, doi: 10.1021/jp710488d
+calculations done at the MRCI/aug-cc-pV(Q+d)Z//MRCI/aug-cc-pVTZ level of theory
+""",
+)
+
+entry(
+    index = 1038,
+    label = "H2 + S_rad <=> SH + H_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(1.58e+14, 'cm^3/(mol*s)'), n=0, Ea=(19700, 'cal/mol'), T0=(1, 'K'), Tmin = (2740, 'K'), Tmax = (3570, 'K')),
+    rank = 1,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+Shock Tube
+H. Shiina, M. Oya, K. Yamashita, A. Miyoshi, H. Matsui, J. Phys. Chem., 1996, 100(6), 2136–2140, doi: 10.1021/jp952472j
+""",
+)
+
+entry(
+    index = 1039,
+    label = "CH4b + S_rad <=> SH + CH3_p1",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(2.04e+14, 'cm^3/(mol*s)'), n=0, Ea=(19910, 'cal/mol'), T0=(1, 'K'), Tmin = (830, 'K'), Tmax = (2500, 'K')),
+    rank = 1,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+K. Tsuchiya, K. Yamashita, A. Miyoshi, H. Matsui, J. Phys. Chem., 1996, 100(43), 17202–17206, doi: 10.1021/jp961252i
+Shock Tube
+T > 830 K
+""",
+)
+
+entry(
+    index = 1040,
+    label = "C2H6 + S_rad <=> SH + C2H5b",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(1.23e+14, 'cm^3/(mol*s)'), n=0, Ea=(14750, 'cal/mol'), T0=(1, 'K'), Tmin = (830, 'K'), Tmax = (2500, 'K')),
+    rank = 1,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+K. Tsuchiya, K. Yamashita, A. Miyoshi, H. Matsui, J. Phys. Chem., 1996, 100(43), 17202–17206, doi: 10.1021/jp961252i
+Shock Tube
+T > 830 K
+""",
+)
+
+entry(
+    index = 1044,
+    label = "HSSH_r12 + H <=> HSS_p1 + H2_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(9.56e+00, 'cm^3/(mol*s)'), n=3.370, Ea=(-1672, 'cal/mol'), T0=(1, 'K'), Tmin = (873, 'K'), Tmax = (1423, 'K')),
+    rank = 3,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+K. Sendt, M. Jazbec, B.S. Haynes, Proceedings of the Combustion Institute, 2002, 29, 2439-2446, doi: 10.1016/S1540-7489(02)80297-8
+TST
+""",
+)
+
+entry(
+    index = 1045,
+    label = "HSSH_r12 + SH <=> H2S + HSS_p1",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(6.40e+03, 'cm^3/(mol*s)'), n=2.980, Ea=(-1480, 'cal/mol'), T0=(1, 'K'), Tmin = (873, 'K'), Tmax = (1423, 'K')),
+    rank = 3,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+K. Sendt, M. Jazbec, B.S. Haynes, Proceedings of the Combustion Institute, 2002, 29, 2439-2446, doi: 10.1016/S1540-7489(02)80297-8
+TST
+""",
+)
+
+entry(
+    index = 1046,
+    label = "HSSH_r12 + S_rad <=> HSS_p1 + SH",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(6.40e+03, 'cm^3/(mol*s)'), n=2.980, Ea=(-1480, 'cal/mol'), T0=(1, 'K'), Tmin = (873, 'K'), Tmax = (1423, 'K')),
+    rank = 3,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+K. Sendt, M. Jazbec, B.S. Haynes, Proceedings of the Combustion Institute, 2002, 29, 2439-2446, doi: 10.1016/S1540-7489(02)80297-8
+TST
+""",
+)
+
+entry(
+    index = 1047,
+    label = "HONO_r + H <=> H2_p + NO2_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(2.01e+08, 'cm^3/(mol*s)'), n=1.55, Ea=(6614, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (3500, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+C.C. Hsu, M.C. Lin, A.M. Mebel, C.F. Melius, J. Phys. Chem. A, 1997, 101(1), 60–66, doi: 10.1021/jp962286t
+G2 and BAC-MP4
+""",
+)
+
+entry(
+    index = 1048,
+    label = "HNO_r + H <=> NO_p + H2_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(4.46e+11, 'cm^3/(mol*s)'), n=0.720, Ea=(655, 'cal/mol'), T0=(1, 'K'), Tmin = (200, 'K'), Tmax = (3000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+M.R. Soto, M. Page, J. Chem. Phys., 1992, 97, 7287, doi: 10.1063/1.463501
+calculations done at the CASSCF//(CASSCF and CISD) levels of theory
+""",
+)
+
+entry(
+    index = 1049,
+    label = "HNO3_r + H <=> H2_p + NO3_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(5.56e+08, 'cm^3/(mol*s)'), n=1.53, Ea=(16400, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (3000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+J.W. Boughton, S. Kristyan, M.C. Lin, Chemical Physics, 1997, 214(2-3), 219-227, doi: 10.1016/S0301-0104(96)00313-8
+CTST
+""",
+)
+
+entry(
+    index = 1050,
+    label = "HCO_r3 + HNO_r <=> CH2O_p + NO_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(5.83e-01, 'cm^3/(mol*s)'), n=3.84, Ea=(115, 'cal/mol'), T0=(1, 'K'), Tmin = (300, 'K'), Tmax = (3000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+Z.F. Xu, M.C. Lin, Int. J. Chem. Kin., 2004, 36(4), 205-215, doi: 10.1002/kin.10178
+calculations done at the G2M//BH&HLYP/6-311G(d, p) level of theory
+""",
+)
+
+entry(
+    index = 1051,
+    label = "CH2O + NO2 <=> CHO_p1 + HONO_p",
+    degeneracy = 3,
+    kinetics = Arrhenius(A=(1.42e-7, 'cm^3/(mol*s)'), n=5.64, Ea=(9221, 'cal/mol'), T0=(1, 'K'), Tmin = (200, 'K'), Tmax = (3000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+Z.F. Xu, M.C. Lin, Int. J. Chem. Kin., 2003, 35(5), 184-190, doi: 10.1002/kin.10115
+calculations done at the G2M//B3LYP/6−311+G(d,p) and G2M//MPW1PW91/6−311+G(3df,2p) levels of theory
+* There are two other pathways for the formation of these products, this is the fastest one. k_tot was also given in the paper.
+""",
+)
+
+entry(
+    index = 1052,
+    label = "HNO3_r + OH <=> H2O_p + NO3_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(8.73e+00, 'cm^3/(mol*s)'), n=3.50, Ea=(-1667, 'cal/mol'), T0=(1, 'K'), Tmin = (750, 'K'), Tmax = (1500, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+W.S. Xia, M.C. Lin, J. Chem. Phys., 2001, 114, 4522-4532, doi: 10.1063/1.1337061
+calculations done at the B3LYP/6-311G(d,p)//B3LYP/6-311G(d,p) level of theory
+""",
+)
+
+entry(
+    index = 1053,
+    label = "HCN_r + O_rad <=> CN_p + OH_p23",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(2.0e+08, 'cm^3/(mol*s)'), n=1.47, Ea=(7550, 'cal/mol'), T0=(1, 'K'), Tmin = (500, 'K'), Tmax = (2500, 'K')),
+    rank = 1,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+W. Tsang, J.T. Herron, Journal of Physical and Chemical Reference Data, 1991, 20, 609, doi: 10.1063/1.555890
+Review and reccomendation, based on 5 different experimental studies
+""",
+)
+
+entry(
+    index = 1054,
+    label = "HCN_r + H <=> CN_p + H2_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(3.8e+14, 'cm^3/(mol*s)'), n=0, Ea=(24600, 'cal/mol'), T0=(1, 'K'), Tmin = (500, 'K'), Tmax = (2500, 'K')),
+    rank = 1,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+W. Tsang, J.T. Herron, Journal of Physical and Chemical Reference Data, 1991, 20, 609, doi: 10.1063/1.555890
+Review and reccomendation, based on experimental studies
+""",
+)
+
+entry(
+    index = 1055,
+    label = "HCN_r + OH <=> CN_p + H2O_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(3.8e+14, 'cm^3/(mol*s)'), n=0, Ea=(24600, 'cal/mol'), T0=(1, 'K'), Tmin = (298, 'K'), Tmax = (2840, 'K')),
+    rank = 1,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+W. Tsang, J.T. Herron, Journal of Physical and Chemical Reference Data, 1991, 20, 609, doi: 10.1063/1.555890
+Review and reccomendation, based on experimental studies
+""",
+)
+
+entry(
+    index = 1056,
+    label = "CH3SH_r1 + H <=> CH3S_p + H2_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(1.39e+08, 'cm^3/(mol*s)'), n=1.729, Ea=(986, 'cal/mol'), T0=(1, 'K'), Tmin = (250, 'K'), Tmax = (3000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+WK.E. Kerr, I.M. Alecu, K.M. Thompson, Y. Gao, P. Marshall, J. Phys. CHem. A, 2015, 119, 7352-7360, doi: 10.1021/jp512966a
+Table 5, R1
+calculations done at the QCISD/6-311G(d,p) level
+""",
+)
+
+entry(
+    index = 1057,
+    label = "CH3SH_r2 + H <=> CH2SH_p + H2_p",
+    degeneracy = 1,
+    kinetics = Arrhenius(A=(4.16e+03, 'cm^3/(mol*s)'), n=2.925, Ea=(4747, 'cal/mol'), T0=(1, 'K'), Tmin = (250, 'K'), Tmax = (3000, 'K')),
+    rank = 2,
+    shortDesc = u"""Training reaction from kinetics library: SOxNOx""",
+    longDesc = 
+u"""
+WK.E. Kerr, I.M. Alecu, K.M. Thompson, Y. Gao, P. Marshall, J. Phys. CHem. A, 2015, 119, 7352-7360, doi: 10.1021/jp512966a
+Table 5, R2
+calculations done at the QCISD/6-311G(d,p) level
+""",
+)
 

From bf4da47c82f1423bf17e80fc65ea1cb220a2b951 Mon Sep 17 00:00:00 2001
From: Alon Grinberg Dana <alongd@mit.edu>
Date: Wed, 26 Apr 2017 10:57:03 -0400
Subject: [PATCH 08/16] Changes to forbidden groups in Birad_R_Recombination

---
 .../families/Birad_R_Recombination/groups.py  | 82 ++++++-------------
 1 file changed, 27 insertions(+), 55 deletions(-)

diff --git a/input/kinetics/families/Birad_R_Recombination/groups.py b/input/kinetics/families/Birad_R_Recombination/groups.py
index 028f3c8c7e..1d5e03bcfb 100644
--- a/input/kinetics/families/Birad_R_Recombination/groups.py
+++ b/input/kinetics/families/Birad_R_Recombination/groups.py
@@ -771,97 +771,69 @@
 )
 
 forbidden(
-    label = "O2_1centeredBirad",
+    label = "O2_p1",
     group = 
 """
-1 *1 O u2 p1 {2,S}
-2    R u0 {1,S}
+1 *2 O u2 p1
 """,
     shortDesc = u"""""",
     longDesc = 
 u"""
-
+This family is intended to handle
+[O] u2 p2,    or
+[S] u2 p2,    or
+[NH] u2 p1,
+instances with a different number of lone pairs are forbidden
 """,
 )
  
 forbidden(
-    label = "S2_1centeredBirad",
-    group = 
-"""
-1 *1 S u2 p1 {2,S}
-2    R u0 {1,S}
-""",
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-forbidden(
-    label = "O2_birad",
+    label = "S2_p1",
     group = 
 """
-1 *1 O u1 p2 {2,S}
-2    O u1 p2 {1,S}
+1 *2 S u2 p1
 """,
     shortDesc = u"""""",
     longDesc = 
 u"""
-
+This family is intended to handle
+[O] u2 p2,    or
+[S] u2 p2,    or
+[NH] u2 p1,
+instances with a different number of lone pairs are forbidden
 """,
 )
  
 forbidden(
-    label = "S2_birad",
+    label = "S2_p0",
     group = 
 """
-1 *1 S u1 p2 {2,S}
-2    S u1 p2 {1,S}
+1 *2 S u2 p0
 """,
     shortDesc = u"""""",
     longDesc = 
 u"""
-
+This family is intended to handle
+[O] u2 p2,    or
+[S] u2 p2,    or
+[NH] u2 p1,
+instances with a different number of lone pairs are forbidden
 """,
 )
 
 forbidden(
-    label = "O_atom_singlet",
+    label = "OS_chain",
     group = 
 """
-1 *1 O u0 p3
+1 *1 [O,S] u1 p2 {2,S}
+2    [O,S] u0 p2 {1,S} {3,S}
+3    [O,S] u0 p2 {2,S} {4,S}
+4    [O,S] u1 p2 {3,S}
 """,
     shortDesc = u"""""",
     longDesc = 
 u"""
-
-""",
-)
-
-forbidden(
-    label = "S_atom_singlet",
-    group = 
-"""
-1 *1 S u0 p3
-""",
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-forbidden(
-    label = "N_R_singlet",
-    group = 
-"""
-1 *1 N u0 p2
-""",
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
+Group added to forbid this family from forming S-O chains
 """,
 )
 

From e44b41a4d2c4c544f3c1dbd900ec2a2551841665 Mon Sep 17 00:00:00 2001
From: Alon Grinberg Dana <alongd@mit.edu>
Date: Thu, 11 May 2017 13:24:34 -0400
Subject: [PATCH 09/16] Forbidding N2O2 from reacting in the
 1,4_Linear_birad_scission family since it forms a singlet O2

---
 .../1,4_Linear_birad_scission/groups.py       | 36 +++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/input/kinetics/families/1,4_Linear_birad_scission/groups.py b/input/kinetics/families/1,4_Linear_birad_scission/groups.py
index b81526634b..2056d37f3b 100644
--- a/input/kinetics/families/1,4_Linear_birad_scission/groups.py
+++ b/input/kinetics/families/1,4_Linear_birad_scission/groups.py
@@ -38,3 +38,39 @@
 """
 )
 
+
+forbidden(
+    label = "N2O2a",
+    group =
+"""
+multiplicity [3]
+1 *3 O u0 p2 c0 {2,S} {3,S}
+2 *2 N u0 p1 c0 {1,S} {4,D}
+3 *4 O u1 p2 c0 {1,S}
+4 *1 N u1 p1 c0 {2,D}
+""",
+    shortDesc = u"""""",
+    longDesc =
+u"""
+N2O2 reacts in this family to form a singlet O2 (O=O)
+See RMG-Py issue #1020
+""",
+)
+
+forbidden(
+    label = "N2O2b",
+    group =
+"""
+multiplicity [3]
+1 *2 O u0 p2 c0 {2,S} {3,S}
+2 *3 N u0 p1 c0 {1,S} {4,D}
+3 *1 O u1 p2 c0 {1,S}
+4 *4 N u1 p1 c0 {2,D}
+""",
+    shortDesc = u"""""",
+    longDesc =
+u"""
+Same as above, inverse atom labeling
+""",
+)
+

From 190ebafc70448048557d8a6e2c2561260386bbfa Mon Sep 17 00:00:00 2001
From: Nathan Yee <nyee@mit.edu>
Date: Fri, 2 Jun 2017 15:42:26 -0400
Subject: [PATCH 10/16] Remove databaseTest.py from RMG-database

---
 testing/databaseTest.py | 920 ----------------------------------------
 1 file changed, 920 deletions(-)
 delete mode 100644 testing/databaseTest.py

diff --git a/testing/databaseTest.py b/testing/databaseTest.py
deleted file mode 100644
index 9ad57ca25d..0000000000
--- a/testing/databaseTest.py
+++ /dev/null
@@ -1,920 +0,0 @@
-"""
-This scripts runs tests on the database
-"""
-import os.path
-import logging
-from external.wip import work_in_progress
-from rmgpy import settings
-from rmgpy.data.rmg import RMGDatabase
-from copy import copy
-from rmgpy.data.base import LogicOr
-from rmgpy.molecule import Group, ImplicitBenzeneError, UnexpectedChargeError
-from rmgpy.molecule.atomtype import atomTypes
-from rmgpy.molecule.pathfinder import find_shortest_path
-
-import nose
-import nose.tools
-
-
-class TestDatabase():  # cannot inherit from unittest.TestCase if we want to use nose test generators
-    """
-    Contains unit tests for the database for rigorous error checking.
-    """
-    @classmethod
-    def setUpClass(cls):
-        """
-        Load the database before running the tests.
-        """
-        databaseDirectory = settings['database.directory']
-        cls.database = RMGDatabase()
-        cls.database.load(databaseDirectory, kineticsFamilies='all')
-
-    # These are generators, that call the methods below.
-    def test_kinetics(self):
-        for family_name, family in self.database.kinetics.families.iteritems():
-
-            test = lambda x: self.kinetics_checkCorrectNumberofNodesInRules(family_name)
-            test_name = "Kinetics family {0}: rules have correct number of nodes?".format(family_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, None
-
-            test = lambda x: self.kinetics_checkNodesInRulesFoundInGroups(family_name)
-            test_name = "Kinetics family {0}: rules' nodes exist in the groups?".format(family_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, None
-
-            test = lambda x: self.kinetics_checkGroupsFoundInTree(family_name)
-            test_name = "Kinetics family {0}: groups are in the tree with proper parents?".format(family_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, None
-
-            test = lambda x: self.kinetics_checkGroupsNonidentical(family_name)
-            test_name = "Kinetics family {0}: groups are not identical?".format(family_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, family_name
-
-            test = lambda x: self.kinetics_checkChildParentRelationships(family_name)
-            test_name = "Kinetics family {0}: parent-child relationships are correct?".format(family_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, family_name
-
-            test = lambda x: self.kinetics_checkSiblingsForParents(family_name)
-            test_name = "Kinetics family {0}: sibling relationships are correct?".format(family_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, family_name
-
-            test = lambda x: self.kinetics_checkCdAtomType(family_name)
-            test_name = "Kinetics family {0}: Cd, CS, CO, and Cdd atomtype used correctly?".format(family_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, family_name
-
-            test = lambda x: self.kinetics_checkReactantAndProductTemplate(family_name)
-            test_name = "Kinetics family {0}: reactant and product templates correctly defined?".format(family_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, family_name
-
-            #these families have some sort of difficulty which prevents us from testing accessibility right now
-            difficultFamilies = ['Diels_alder_addition', 'Intra_R_Add_Exocyclic', 'Intra_R_Add_Endocyclic']
-
-            if len(family.forwardTemplate.reactants) < len(family.groups.top) and family_name not in difficultFamilies:
-                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
-                self.compat_func_name = test_name
-                yield test, family_name
-
-            if family_name not in difficultFamilies:
-                test = lambda x: self.kinetics_checkSampleDescendsToGroup(family_name)
-                test_name = "Kinetics family {0}: Entry is accessible?".format(family_name)
-                test.description = test_name
-                self.compat_func_name = test_name
-                yield test, family_name
-
-            for depository in family.depositories:
-
-                test = lambda x: self.kinetics_checkAdjlistsNonidentical(depository)
-                test_name = "Kinetics {1} Depository: check adjacency lists are nonidentical?".format(family_name, depository.label)
-                test.description = test_name
-                self.compat_func_name = test_name
-                yield test, depository.label
-
-        for library_name, library in self.database.kinetics.libraries.iteritems():
-
-            test = lambda x: self.kinetics_checkAdjlistsNonidentical(library)
-            test_name = "Kinetics library {0}: check adjacency lists are nonidentical?".format(library_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, library_name
-
-
-    def test_thermo(self):
-        for group_name, group in self.database.thermo.groups.iteritems():
-            test = lambda x: self.general_checkNodesFoundInTree(group_name, group)
-            test_name = "Thermo groups {0}: nodes are in the tree with proper parents?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkGroupsNonidentical(group_name, group)
-            test_name = "Thermo groups {0}: nodes are nonidentical?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkChildParentRelationships(group_name, group)
-            test_name = "Thermo groups {0}: parent-child relationships are correct?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkSiblingsForParents(group_name, group)
-            test_name = "Thermo groups {0}: sibling relationships are correct?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkCdAtomType(group_name, group)
-            test_name = "Thermo groups {0}: Cd atomtype used correctly?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkSampleDescendsToGroup(group_name, group)
-            test_name = "Thermo groups {0}: Entry is accessible?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-    def test_solvation(self):
-        for group_name, group in self.database.solvation.groups.iteritems():
-            test = lambda x: self.general_checkNodesFoundInTree(group_name, group)
-            test_name = "Solvation groups {0}: nodes are in the tree with proper parents?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkGroupsNonidentical(group_name, group)
-            test_name = "Solvation groups {0}: nodes are nonidentical?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkChildParentRelationships(group_name, group)
-            test_name = "Solvation groups {0}: parent-child relationships are correct?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkSiblingsForParents(group_name, group)
-            test_name = "Solvation groups {0}: sibling relationships are correct?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkCdAtomType(group_name, group)
-            test_name = "Solvation groups {0}: Cd atomtype used correctly?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkSampleDescendsToGroup(group_name, group)
-            test_name = "Solvation groups {0}: Entry is accessible?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-    def test_statmech(self):
-        for group_name, group in self.database.statmech.groups.iteritems():
-            test = lambda x: self.general_checkNodesFoundInTree(group_name, group)
-            test_name = "Statmech groups {0}: nodes are in the tree with proper parents?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkGroupsNonidentical(group_name, group)
-            test_name = "Statmech groups {0}: nodes are nonidentical?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkChildParentRelationships(group_name, group)
-            test_name = "Statmech groups {0}: parent-child relationships are correct?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkSiblingsForParents(group_name, group)
-            test_name = "Statmech groups {0}: sibling relationships are correct?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkCdAtomType(group_name, group)
-            test_name = "Statmech groups {0}: Cd atomtype used correctly?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkSampleDescendsToGroup(group_name, group)
-            test_name = "Statmech groups {0}: Entry is accessible?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-    def test_transport(self):
-        for group_name, group in self.database.transport.groups.iteritems():
-            test = lambda x: self.general_checkNodesFoundInTree(group_name, group)
-            test_name = "Transport groups {0}: nodes are in the tree with proper parents?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkGroupsNonidentical(group_name, group)
-            test_name = "Transport groups {0}: nodes are nonidentical?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkChildParentRelationships(group_name, group)
-            test_name = "Transport groups {0}: parent-child relationships are correct?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkSiblingsForParents(group_name, group)
-            test_name = "Transport groups {0}: sibling relationships are correct?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkCdAtomType(group_name, group)
-            test_name = "Transport groups {0}: Cd, CS, CO, and Cdd atomtype used correctly?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-            test = lambda x: self.general_checkSampleDescendsToGroup(group_name, group)
-            test_name = "Transport groups {0}: Entry is accessible?".format(group_name)
-            test.description = test_name
-            self.compat_func_name = test_name
-            yield test, group_name
-
-
-    # These are the actual tests, that don't start with a "test_" name:
-    def kinetics_checkCorrectNumberofNodesInRules(self, family_name):
-        """
-        This test ensures that each rate rule contains the proper number of nodes according to the family it originates.
-        """
-        family = self.database.kinetics.families[family_name]
-        expectedNumberNodes = len(family.getRootTemplate())
-        for label, entries in family.rules.entries.iteritems():
-            for entry in entries:
-                nodes = label.split(';')
-                nose.tools.assert_equal(len(nodes), expectedNumberNodes, "Wrong number of groups or semicolons in family {family} rule {entry}.  Should be {num_nodes}".format(family=family_name, entry=entry, num_nodes=expectedNumberNodes))
-
-    def kinetics_checkNodesInRulesFoundInGroups(self, family_name):
-        """
-        This test ensures that each rate rule contains nodes that exist in the groups and that they match the order of the forwardTemplate.
-        """
-        family = self.database.kinetics.families[family_name]
-
-        # List of the each top node's descendants (including the top node)
-        topDescendants = []
-        for topNode in family.getRootTemplate():
-            nodes = [topNode]
-            nodes.extend(family.groups.descendants(topNode))
-            topDescendants.append(nodes)
-
-        topGroupOrder = ';'.join(topNode.label for topNode in family.getRootTemplate())
-
-        for label, entries in family.rules.entries.iteritems():
-            for entry in entries:
-                nodes = label.split(';')
-                for i, node in enumerate(nodes):
-                    nose.tools.assert_true(node in family.groups.entries, "In {family} family, no group definition found for label {label} in rule {entry}".format(family=family_name, label=node, entry=entry))
-                    nose.tools.assert_true(family.groups.entries[node] in topDescendants[i], "In {family} family, rule {entry} was found with groups out of order.  The correct order for a rule should be subgroups of {top}.".format(family=family_name, entry=entry, top=topGroupOrder))
-
-    def kinetics_checkGroupsFoundInTree(self, family_name):
-        """
-        This test checks whether groups are found in the tree, with proper parents.
-        """
-        family = self.database.kinetics.families[family_name]
-        for nodeName, nodeGroup in family.groups.entries.iteritems():
-            nose.tools.assert_false('[' in nodeName or ']' in nodeName, "Group {group} in {family} family contains square brackets [ ] in the label, which are not allowed.".format(group=nodeName, family=family_name))
-            ascendParent = nodeGroup
-            # Check whether the node has proper parents unless it is the top reactant or product node
-            while ascendParent not in family.groups.top and ascendParent not in family.forwardTemplate.products:
-                child = ascendParent
-                ascendParent = ascendParent.parent
-                nose.tools.assert_true(ascendParent is not None, "Group {group} in {family} family was found in the tree without a proper parent.".format(group=child, family=family_name))
-                nose.tools.assert_true(child in ascendParent.children, "Group {group} in {family} family was found in the tree without a proper parent.".format(group=nodeName, family=family_name))
-                nose.tools.assert_false(child is ascendParent, "Group {group} in {family} family is a parent to itself".format(group=nodeName, family=family_name))
-
-    def kinetics_checkGroupsNonidentical(self, family_name):
-        """
-        This test checks that the groups are non-identical.
-        """
-        from rmgpy.data.base import Database
-        originalFamily = self.database.kinetics.families[family_name]
-        family = Database()
-        family.entries = originalFamily.groups.entries
-        entriesCopy = copy(family.entries)
-        for nodeName, nodeGroup in family.entries.iteritems():
-            del entriesCopy[nodeName]
-            for nodeNameOther, nodeGroupOther in entriesCopy.iteritems():
-                nose.tools.assert_false(family.matchNodeToNode(nodeGroup, nodeGroupOther), "Group {group} in {family} family was found to be identical to group {groupOther}".format(group=nodeName, family=family_name, groupOther=nodeNameOther))
-
-    def kinetics_checkChildParentRelationships(self, family_name):
-        """
-        This test checks that groups' parent-child relationships are correct in the database.
-        """
-        from rmgpy.data.base import Database
-        originalFamily = self.database.kinetics.families[family_name]
-        family = Database()
-        family.entries = originalFamily.groups.entries
-        for nodeName, childNode in family.entries.iteritems():
-            #top nodes and product nodes don't have parents by definition, so they get an automatic pass:
-            if childNode in originalFamily.groups.top or childNode in originalFamily.forwardTemplate.products: continue
-            parentNode = childNode.parent
-
-            if parentNode is None:
-                # This is a mistake in the database, but it should be caught by kinetics_checkGroupsFoundInTree
-                # so rather than report it twice or crash, we'll just silently carry on to the next node.
-                continue
-            elif parentNode in originalFamily.forwardTemplate.products:
-                #This is a product node made by training reactions which we do not need to heck
-                continue
-            # Check whether the node has proper parents unless it is the top reactant or product node
-            # The parent should be more general than the child
-            nose.tools.assert_true(family.matchNodeToChild(parentNode, childNode),
-                            "In {family} family, group {parent} is not a proper parent of its child {child}.".format(family=family_name, parent=parentNode, child=nodeName))
-
-            #check that parentNodes which are LogicOr do not have an ancestor that is a Group
-            #If it does, then the childNode must also be a child of the ancestor
-            if isinstance(parentNode.item, LogicOr):
-                ancestorNode = parentNode
-                while ancestorNode not in originalFamily.groups.top and isinstance(ancestorNode.item, LogicOr):
-                    ancestorNode = ancestorNode.parent
-                if isinstance(ancestorNode.item, Group):
-                    nose.tools.assert_true(family.matchNodeToChild(ancestorNode, childNode),
-                                    "In {family} family, group {ancestor} is not a proper ancestor of its child {child}.".format(family=family_name, ancestor=ancestorNode, child=nodeName))
-
-    def kinetics_checkSiblingsForParents(self, family_name):
-        """
-        This test checks that siblings in a tree are not actually parent/child
-
-        See general_checkSiblingsForParents comments for more detailed description
-        of the test.
-        """
-        from rmgpy.data.base import Database
-        originalFamily = self.database.kinetics.families[family_name]
-        family = Database()
-        family.entries = originalFamily.groups.entries
-        for nodeName, node in family.entries.iteritems():
-            #Some families also construct a 2-level trees for the products
-            #(root with all entries down one level) We don't care about this
-            #tree as it is not used in searching, so we ignore products
-            if node in originalFamily.forwardTemplate.products: continue
-            for index, child1 in enumerate(node.children):
-                for child2 in node.children[index+1:]:
-                    nose.tools.assert_false(family.matchNodeToChild(child1, child2),
-                                            "In family {0}, node {1} is a parent of {2}, but they are written as siblings.".format(family_name, child1, child2))
-
-    def kinetics_checkAdjlistsNonidentical(self, database):
-        """
-        This test checks whether adjacency lists of reactants in a KineticsDepository or KineticsLibrary database object are nonidentical.
-        """
-        speciesDict = {}
-        entries = database.entries.values()
-        for entry in entries:
-            for reactant in entry.item.reactants:
-                if reactant.label not in speciesDict:
-                    speciesDict[reactant.label] = reactant
-
-            for product in entry.item.products:
-                if product.label not in speciesDict:
-                    speciesDict[product.label] = product
-
-        # Go through all species to make sure they are nonidentical
-        speciesList = speciesDict.values()
-        labeledAtoms = [species.molecule[0].getLabeledAtoms() for species in speciesList]
-        for i in range(len(speciesList)):
-            for j in range(i+1,len(speciesList)):
-                    initialMap = {}
-                    try:
-                        for atomLabel in labeledAtoms[i]:
-                            initialMap[labeledAtoms[i][atomLabel]] = labeledAtoms[j][atomLabel]
-                    except KeyError:
-                        # atom labels did not match, therefore not a match
-                        continue
-
-                    nose.tools.assert_false(speciesList[i].molecule[0].isIsomorphic(speciesList[j].molecule[0], initialMap), "Species {0} and species {1} in {2} database were found to be identical.".format(speciesList[i].label,speciesList[j].label,database.label))
-
-    def kinetics_checkReactantAndProductTemplate(self, family_name):
-        """
-        This test checks whether the reactant and product templates within a family are correctly defined.
-        For a reversible family, the reactant and product templates must have matching labels.
-        For a non-reversible family, the reactant and product templates must have non-matching labels, otherwise overwriting may occur.
-        """
-        family = self.database.kinetics.families[family_name]
-        if family.ownReverse:
-            nose.tools.assert_equal(family.forwardTemplate.reactants, family.forwardTemplate.products)
-        else:
-            reactant_labels = [reactant.label for reactant in family.forwardTemplate.reactants]
-            product_labels = [product.label for product in family.forwardTemplate.products]
-            for reactant_label in reactant_labels:
-                for product_label in product_labels:
-                    nose.tools.assert_false(reactant_label==product_label, "Reactant label {0} matches that of product label {1} in a non-reversible family template.  Please rename product label.".format(reactant_label,product_label))
-
-    def kinetics_checkCdAtomType(self, family_name):
-        """
-        This test checks that groups containing Cd, CO, CS and Cdd atomtypes are used
-        correctly according to their strict definitions
-        """
-        family = self.database.kinetics.families[family_name]
-        targetLabel=['Cd', 'CO', 'CS', 'Cdd']
-        targetAtomTypes=[atomTypes[x] for x in targetLabel]
-
-        #ignore product entries that get created from training reactions
-        ignore=[]
-        if not family.ownReverse:
-            for product in family.forwardTemplate.products:
-                ignore.append(product)
-                ignore.extend(product.children)
-        else: ignore=[]
-
-        for entryName, entry in family.groups.entries.iteritems():
-            #ignore products
-            if entry in ignore: continue
-            #ignore LogicOr groups
-            if isinstance(entry.item, Group):
-                for index, atom in enumerate(entry.item.atoms):
-                    for atomtype1 in atom.atomType:
-                        if atomtype1 in targetAtomTypes:
-                            break
-                    #If Cd not found in atomTypes, go to next atom
-                    else: continue
-                    #Create list of all the atomTypes that should be present in addition or instead of Cd
-                    correctAtomList=[]
-                    num_of_Dbonds=sum([1 if x.order[0] is 'D' and len(x.order)==1 else 0 for x in atom.bonds.values()])
-                    if num_of_Dbonds == 2:
-                        correctAtomList.append('Cdd')
-                    elif num_of_Dbonds == 1:
-                        for ligand, bond in atom.bonds.iteritems():
-                            #Ignore ligands that are not double bonded
-                            if any([abs(2-order) < 1e-7 for order in bond.order]):
-                                for ligAtomType in ligand.atomType:
-                                    if ligand.atomType[0].isSpecificCaseOf(atomTypes['O']): correctAtomList.append('CO')
-                                    elif ligand.atomType[0].isSpecificCaseOf(atomTypes['S']): correctAtomList.append('CS')
-
-                    #remove duplicates from correctAtom:
-                    correctAtomList=list(set(correctAtomList))
-                    for correctAtom in correctAtomList:
-                        nose.tools.assert_true(atomTypes[correctAtom] in atom.atomType,
-                                               """In family {0}, node {1} is missing the atomtype {2} in atom {3} and may be misusing the atomtype Cd, CO, CS, or Cdd.
-The following adjList may have atoms in a different ordering than the input file:
-{4}
-                                            """.format(family_name, entry, correctAtom, index+1, entry.item.toAdjacencyList()))
-
-    def kinetics_checkUnimolecularGroups(self,family_name):
-        """
-        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 end subgraph inside each backbone is exactly the same as the top level of the correspodning end tree
-        """
-
-        def getEndFromBackbone(backbone, endLabels):
-            """
-            :param backbone: :class: Entry for a backbone of molecule
-            :param endLabels: Labels in the end groups
-            :return: A subgraph representing the end group of the molecule
-            """
-            #make copy for manipulation
-            copyGroup = backbone.item.copy(True)
-
-            #Find the endGroup atoms
-            for atom in copyGroup.atoms:
-                if atom.label in endLabels:
-                    midAtom = atom
-                    break
-
-            #find the bonds to break
-            bondsToBreak = []
-            for atom2, bond in midAtom.bonds.iteritems():
-                if atom2.label is None or atom2.label not in endLabels: #
-                    bondsToBreak.append(bond)
-
-
-            for bond in bondsToBreak:
-                copyGroup.removeBond(bond)
-
-            #split group into end and backbone fragment
-            groups = copyGroup.split()
-
-            #verify group was split correctly and identify the correct end group
-            endLabels = set(endLabels)
-            for group in groups:
-                groupLabels = set(atom.label for atom in group.atoms)
-                groupLabels.discard('')
-                if endLabels == groupLabels:
-                    break
-            else:
-                print(endLabels)
-                print(groupLabels)
-                for group in groups:
-                    print(group.toAdjacencyList(label=backbone.label))
-                raise Exception("Group {0} not split correctly".format(backbone.label))
-
-            return group
-        #################################################################################
-        family = self.database.kinetics.families[family_name]
-        print family
-
-        backbone =  family.getBackboneRoots()[0]
-
-        endGroups = family.getEndRoots()
-
-        endLabels = {}
-        for endGroup in endGroups:
-            labels = []
-            for atom in endGroup.item.atoms:
-                if atom.label:
-                    labels.append(atom.label)
-            endLabels[endGroup] = set(labels)
-
-        #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([])
-        for end, end_label in endLabels.iteritems():
-            for label in end_label:
-                backboneLabel.add(label)
-
-        #define types of errors
-        A = [] #end groups have too many labels
-        B = [] #end group lacks necessary label
-        C = [] #backbone missing end group labels
-        D = [] #backbone missing labels in between groups
-        E = [] #backbone tries to define atoms inside end groups
-        for group_name, entry in family.groups.entries.iteritems():
-            if isinstance(entry.item, Group):
-                group = entry.item
-                if backbone in family.ancestors(entry):
-                    for atom in group.atoms:
-                        if atom.label: presentLabels.add(atom.label)
-                    #Check C
-                    for endGroup, labels in endLabels.iteritems():
-                        if not labels.issubset(presentLabels):
-                            C.append([endGroup, entry])
-                    #check D
-                    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:
-                            D.append([backbone, entry])
-                            break
-                    #check E
-                    for endGroup, labels in endLabels.iteritems():
-                        endFromBackbone = getEndFromBackbone(entry, labels)
-                        presentLabels = endFromBackbone.getLabeledAtoms()
-                        presentLabels = set(presentLabels.keys())
-                        if labels == presentLabels:
-                            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():
-                        if endNode in family.ancestors(entry):
-                            for atom in group.atoms:
-                                if atom.label: presentLabels.add(atom.label)
-                            #Check A
-                            if not presentLabels.issubset(labelledAtoms):
-                                A.append([endNode, entry])
-                            #Check B
-                            if not labelledAtoms.issubset(presentLabels):
-                                B.append([endNode, entry])
-
-
-        #print outputs
-        if A != []:
-            s = "These end groups have extra labels that their top level end group do not have:"+"\n [root group, error group]"
-            for x in A:
-                s += '\n'+str(x)
-            nose.tools.assert_true(False,s)
-        if B != []:
-            s = "These end groups are missing labels that their top level end group have:"+"\n [root group, error group]"
-            for x in B:
-                s += '\n'+str(x)
-            nose.tools.assert_true(False,s)
-        if C != []:
-            s = "These backbone groups are missing labels that are in the end groups:"+"\n [root group, error group]"
-            for x in C:
-                s += '\n'+str(x)
-            nose.tools.assert_true(False,s)
-        if D != []:
-            s = "These backbone groups are missing labels along the path atoms:"+"\n [root group, error group]"
-            for x in D:
-                s += '\n'+str(x)
-            nose.tools.assert_true(False,s)
-        if E != []:
-            s = "These backbone have end subgraphs that don't match a root:"+"\n [root group, error group]"
-            for x in E:
-                s += '\n'+str(x)
-            nose.tools.assert_true(False,s)
-
-    def kinetics_checkSampleDescendsToGroup(self, family_name):
-        """
-        This test first creates a sample :class:Molecule from a :class:Group. Then it checks
-        that this molecule hits the original group or a child when it descends down the tree.
-        """
-        family = self.database.kinetics.families[family_name]
-
-        #ignore any products
-        ignore=[]
-        if not family.ownReverse:
-            for product in family.forwardTemplate.products:
-                ignore.append(product)
-                ignore.extend(product.children)
-        else: ignore=[]
-
-        #If family is backbone archetype, then we need to merge groups before descending
-        roots = family.groups.top
-        if len(roots) > len(family.forwardTemplate.reactants):
-            backboneRoots = family.getBackboneRoots()
-            allBackboneGroups = []
-            for backboneRoot in backboneRoots:
-                allBackboneGroups.extend(family.getTopLevelGroups(backboneRoot))
-            #list of numbered of labelled atoms for allBackboneGroups
-            backboneSizes = [len(backbone.item.getLabeledAtoms()) for backbone in allBackboneGroups]
-
-            #pick a backbone that is two labelled atoms larger than the smallest
-            if min(backboneSizes) + 2 in backboneSizes:
-                backboneSample = allBackboneGroups[backboneSizes.index(min(backboneSizes) + 2)]
-            #or if it doesn't exist, pick the largest backbone
-            else:
-                backboneSample = allBackboneGroups[backboneSizes.index(max(backboneSizes))]
-            mergesNecessary = True
-        else: mergesNecessary = False
-
-        #If atom has too many benzene rings, we currently have trouble making sample atoms
-        skipped = []
-
-        for entryName, entry in family.groups.entries.iteritems():
-            if entry in ignore: continue
-            elif isinstance(entry.item, Group):
-                print entryName
-                ancestors=family.ancestors(entry)
-                if ancestors: root = ancestors[-1] #top level root will be last one in ancestors
-                else: root = entry
-                try:
-                    if mergesNecessary and root not in backboneRoots: #we may need to merge
-                        mergedGroup = family.mergeGroups(backboneSample.item, entry.item)
-                        sampleMolecule = mergedGroup.makeSampleMolecule()
-                    else:
-                        sampleMolecule = entry.item.makeSampleMolecule()
-
-                    #for now ignore sample atoms that use nitrogen types
-                    nitrogen = False
-                    for atom in sampleMolecule.atoms:
-                        if atom.isNitrogen(): nitrogen = True
-                    if nitrogen:
-                        skipped.append(entryName)
-                        continue
-
-                    #test accessibility here
-                    atoms = sampleMolecule.getLabeledAtoms()
-                    match = family.groups.descendTree(sampleMolecule, atoms, strict=True, root = root)
-                    nose.tools.assert_in(entry, [match]+family.groups.ancestors(match), """In group {0}, a sample molecule made from node {1} returns node {2} when descending the tree.
-Sample molecule AdjList:
-{3}
-
-Origin Group AdjList:
-{4}{5}{6}
-
-Matched group AdjList:
-{7}
-        """.format(family_name,
-                   entry.label,
-                   match.label,
-                   sampleMolecule.toAdjacencyList(),
-                   entry.item.toAdjacencyList(),
-                   "\n\nBackbone Group Adjlist:\n" + backboneSample.label +'\n' if mergesNecessary and root not in backboneRoots else '',
-                   backboneSample.item.toAdjacencyList() if mergesNecessary and root not in backboneRoots else '',
-                   match.item.toAdjacencyList()))
-
-                except UnexpectedChargeError, e:
-                     nose.tools.assert_true(False, """In family {0}, a sample molecule made from node {1} returns an unexpectedly charged molecule:
-Sample molecule AdjList:
-{2}
-
-Origin Group AdjList:
-{3}{4}{5}""".format(family_name,
-                    entry.label,
-                    e.graph.toAdjacencyList(),
-                    entry.item.toAdjacencyList(),
-                    "\n\nBackbone Group Adjlist:\n" + backboneSample.label +'\n' if mergesNecessary and root not in backboneRoots else '',
-                    backboneSample.item.toAdjacencyList() if mergesNecessary and root not in backboneRoots else '')
-                    )
-
-                except ImplicitBenzeneError:
-                    skipped.append(entryName)
-
-        #print out entries skipped from exception we can't currently handle
-        if skipped:
-            print "These entries were skipped because too big benzene rings or has nitrogen sample atom:"
-            for entryName in skipped:
-                print entryName
-
-    def general_checkNodesFoundInTree(self, group_name, group):
-        """
-        This test checks whether nodes are found in the tree, with proper parents.
-        """
-        for nodeName, nodeGroup in group.entries.iteritems():
-            ascendParent = nodeGroup
-            # Check whether the node has proper parents unless it is the top reactant or product node
-            while ascendParent not in group.top:
-                child = ascendParent
-                ascendParent = ascendParent.parent
-                nose.tools.assert_true(ascendParent is not None, "Node {node} in {group} group was found in the tree without a proper parent.".format(node=child, group=group_name))
-                nose.tools.assert_true(child in ascendParent.children, "Node {node} in {group} group was found in the tree without a proper parent.".format(node=nodeName, group=group_name))
-                nose.tools.assert_false(child is ascendParent, "Node {node} in {group} is a parent to itself".format(node=nodeName, group=group_name))
-
-    def general_checkGroupsNonidentical(self, group_name, group):
-        """
-        This test checks whether nodes found in the group are nonidentical.
-        """
-        entriesCopy = copy(group.entries)
-        for nodeName, nodeGroup in group.entries.iteritems():
-            del entriesCopy[nodeName]
-            for nodeNameOther, nodeGroupOther in entriesCopy.iteritems():
-                try:
-                    group.matchNodeToNode(nodeGroup,nodeGroupOther)
-                except:
-                    print nodeName
-                    print nodeNameOther
-                    pass
-                nose.tools.assert_false(group.matchNodeToNode(nodeGroup, nodeGroupOther), "Node {node} in {group} group was found to be identical to node {nodeOther}".format(node=nodeName, group=group_name, nodeOther=nodeNameOther))
-
-    def general_checkChildParentRelationships(self, group_name, group):
-        """
-        This test checks that nodes' parent-child relationships are correct in the database.
-        """
-        for nodeName, childNode in group.entries.iteritems():
-            #top nodes and product nodes don't have parents by definition, so they get an automatic pass:
-            if childNode in group.top: continue
-            parentNode = childNode.parent
-            # Check whether the node has proper parents unless it is the top reactant or product node
-            # The parent should be more general than the child
-            nose.tools.assert_true(group.matchNodeToChild(parentNode, childNode),
-                            "In {group} group, node {parent} is not a proper parent of its child {child}.".format(group=group_name, parent=parentNode, child=nodeName))
-
-            #check that parentNodes which are LogicOr do not have an ancestor that is a Group
-            #If it does, then the childNode must also be a child of the ancestor
-            if isinstance(parentNode.item, LogicOr):
-                ancestorNode = parentNode
-                while ancestorNode not in group.top and isinstance(ancestorNode.item, LogicOr):
-                    ancestorNode = ancestorNode.parent
-                if isinstance(ancestorNode.item, Group):
-                    nose.tools.assert_true(group.matchNodeToChild(ancestorNode, childNode),
-                                    "In {group} group, node {ancestor} is not a proper ancestor of its child {child}.".format(group=group_name, ancestor=ancestorNode, child=nodeName))
-
-    def general_checkSiblingsForParents(self, group_name, group):
-        """
-        This test checks that siblings in a tree are not actually parent/child.
-
-        For example in a tree:
-
-        L1. A
-            L2. B
-            L2. C
-
-        This tests that C is not a child of B, which would make C inaccessible because
-        we always match B first.
-
-        We do not check that B is not a child of C becausethat does not cause accessibility
-        problems and may actually be necessary in some trees. For example, in the polycyclic
-        thermo groups B might be a tricyclic and C a bicyclic parent. Currently there is no
-        way to writes a bicyclic group that excludes an analogous tricyclic.
-        """
-        for nodeName, node in group.entries.iteritems():
-            for index, child1 in enumerate(node.children):
-                for child2 in node.children[index+1:]:
-                    nose.tools.assert_false(group.matchNodeToChild(child1, child2),
-                                            "In {0} group, node {1} is a parent of {2}, but they are written as siblings.".format(group_name, child1, child2))
-    def general_checkCdAtomType(self, group_name, group):
-        """
-        This test checks that groups containing Cd, CO, CS and Cdd atomtypes are used
-        correctly according to their strict definitions
-        """
-        targetLabel=['Cd', 'CO', 'CS', 'Cdd']
-        targetAtomTypes=[atomTypes[x] for x in targetLabel]
-
-        for entryName, entry in group.entries.iteritems():
-            if isinstance(entry.item, Group):
-                for index, atom in enumerate(entry.item.atoms):
-                    for atomtype1 in atom.atomType:
-                        if atomtype1 in targetAtomTypes:
-                            break
-                    #If Cd not found in atomTypes, go to next atom
-                    else: continue
-                    #figure out what the correct atomType is
-                    correctAtomList=[]
-                    num_of_Dbonds=sum([1 if x.order[0] is 'D' and len(x.order)==1 else 0 for x in atom.bonds.values()])
-                    if num_of_Dbonds == 2:
-                        correctAtomList.append('Cdd')
-                    elif num_of_Dbonds == 1:
-                        for ligand, bond in atom.bonds.iteritems():
-                            #Ignore ligands that are not double bonded
-                            if any([abs(2-order) < 1e-7 for order in bond.order]):
-                                for ligAtomType in ligand.atomType:
-                                    if ligand.atomType[0].isSpecificCaseOf(atomTypes['O']): correctAtomList.append('CO')
-                                    elif ligand.atomType[0].isSpecificCaseOf(atomTypes['S']): correctAtomList.append('CS')
-
-                    #remove duplicates from correctAtom:
-                    correctAtomList=list(set(correctAtomList))
-                    for correctAtom in correctAtomList:
-                        nose.tools.assert_true(atomTypes[correctAtom] in atom.atomType,
-                                                """In group {0}, node {1} is missing the atomtype {2} in atom {3} and may be misusing the atomtype Cd, CO, CS, or Cdd.
-The following adjList may have atoms in a different ordering than the input file:
-{4}
-                                            """.format(group_name, entry, correctAtom, index+1, entry.item.toAdjacencyList()))
-
-    def general_checkSampleDescendsToGroup(self, group_name, group):
-        """
-        This test first creates a sample :class:Molecule from a :class:Group. Then it checks
-        that this molecule hits the original group or a child when it descends down the tree.
-        """
-
-        skipped = []
-        for entryName, entry in group.entries.iteritems():
-            print entryName
-            try:
-                if isinstance(entry.item, Group):
-                    # print entryName
-                    sampleMolecule = entry.item.makeSampleMolecule()
-
-                    #for now ignore sample atoms that use nitrogen types
-                    nitrogen = False
-                    for atom in sampleMolecule.atoms:
-                        if atom.isNitrogen(): nitrogen = True
-                    if nitrogen:
-                        skipped.append(entryName)
-                        continue
-
-                    atoms = sampleMolecule.getLabeledAtoms()
-                    match = group.descendTree(sampleMolecule, atoms, strict=True)
-
-                    assert entry in [match]+group.ancestors(match), """In group {0}, a sample molecule made from node {1} returns node {2} when descending the tree.
-Sample molecule AdjList:
-{3}
-
-Origin Group AdjList:
-{4}
-
-Matched group AdjList:
-{5}
-""".format(group_name,
-           entry,
-           match,
-           sampleMolecule.toAdjacencyList(),
-           entry.item.toAdjacencyList(),
-           match.item.toAdjacencyList())
-            except UnexpectedChargeError, e:
-                nose.tools.assert_true(False, """In family {0}, a sample molecule made from node {1} returns an unexpectedly charged molecule:
-Sample molecule AdjList:
-{2}
-
-Origin Group AdjList:
-{3}""".format(group_name,
-                    entry.label,
-                    e.graph.toAdjacencyList(),
-                    entry.item.toAdjacencyList()))
-
-            except ImplicitBenzeneError:
-                skipped.append(entryName)
-
-        #print out entries skipped from exception we can't currently handle
-        if skipped:
-            print "These entries were skipped because too big benzene rings or has nitrogen sample atom:"
-            for entryName in skipped:
-                print entryName
-
-if __name__ == '__main__':
-    nose.run(argv=[__file__, '-v', '--nologcapture'], defaultTest=__name__)

From f318c78e565465cac8021427365bea501145ded1 Mon Sep 17 00:00:00 2001
From: Nathan Yee <nyee@mit.edu>
Date: Fri, 2 Jun 2017 16:12:57 -0400
Subject: [PATCH 11/16] Also remove make file to run the make test-database

---
 Makefile | 8 --------
 1 file changed, 8 deletions(-)
 delete mode 100644 Makefile

diff --git a/Makefile b/Makefile
deleted file mode 100644
index 690b660f03..0000000000
--- a/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-################################################################################
-#
-#   Makefile for RMG-database
-#
-################################################################################
-
-test-database:
-	nosetests -v -d testing/databaseTest.py	

From 71d1baf7eb10e407ee039c03f9c740e37d4c980a Mon Sep 17 00:00:00 2001
From: KEHANG <kehanghan@gmail.com>
Date: Fri, 16 Jun 2017 12:39:39 -0400
Subject: [PATCH 12/16] make travis to test all the tests

---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index 2c6ab004b8..c64871a62e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -38,7 +38,7 @@ install:
 
 script:
   - make test-database
-  - make test
+  - make test-all
   - cd $TRAVIS_BUILD_DIR
 
 after_success:

From c5737e32b64f9479b6ef6e545b7f42be2e4e6310 Mon Sep 17 00:00:00 2001
From: PengZhang13 <zhangp@mit.edu>
Date: Mon, 23 Jan 2017 14:35:06 -0500
Subject: [PATCH 13/16] Delete gauche.py and int15.py. They will be included in
 the upcoming noncyclic interaction.

---
 input/thermo/groups/gauche.py | 3238 ---------------------------------
 input/thermo/groups/int15.py  |  212 ---
 2 files changed, 3450 deletions(-)
 delete mode 100644 input/thermo/groups/gauche.py
 delete mode 100644 input/thermo/groups/int15.py

diff --git a/input/thermo/groups/gauche.py b/input/thermo/groups/gauche.py
deleted file mode 100644
index a1dcf70c32..0000000000
--- a/input/thermo/groups/gauche.py
+++ /dev/null
@@ -1,3238 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-name = "Gauche Interaction Corrections"
-shortDesc = u""
-longDesc = u"""
-
-"""
-entry(
-    index = 0,
-    label = "CsOsCdSs",
-    group = 
-"""
-1 * [Cs,Os,Cd,Ss] u0
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 1,
-    label = "Cs(RRRR)",
-    group = 
-"""
-1 * Cs u0
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 2,
-    label = "Cs(CsRRR)",
-    group = 
-"""
-1 * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2   Cs                         u0 {1,S}
-3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-4   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 3,
-    label = "Cs(Cs(CsRR)RRR)",
-    group = 
-"""
-1 * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2   Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-4   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6   Cs                         u0 {2,S}
-7   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 4,
-    label = "Cs(Cs(CsCsR)RRR)",
-    group = 
-"""
-1 * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2   Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-4   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6   Cs                         u0 {2,S}
-7   Cs                         u0 {2,S}
-8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 5,
-    label = "Cs(Cs(CsCsCs)RRR)",
-    group = 
-"""
-1 * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2   Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-4   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6   Cs                         u0 {2,S}
-7   Cs                         u0 {2,S}
-8   Cs                         u0 {2,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 6,
-    label = "Cs(CsCsRR)",
-    group = 
-"""
-1 * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2   Cs                         u0 {1,S}
-3   Cs                         u0 {1,S}
-4   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 7,
-    label = "Cs(Cs(CsRR)CsRR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 8,
-    label = "Cs(Cs(CsRR)Cs(CsRR)RR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 9,
-    label = "Cs(Cs(CsCsR)CsRR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 10,
-    label = "Cs(Cs(CsCsR)Cs(CsRR)RR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 11,
-    label = "Cs(Cs(CsCsR)Cs(CsCsR)RR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 12,
-    label = "Cs(Cs(CsCsCs)CsRR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 13,
-    label = "Cs(Cs(CsCsCs)Cs(CsRR)RR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 14,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsR)RR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1.2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 15,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)RR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1.6,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 16,
-    label = "Cs(CsCsCsR)",
-    group = 
-"""
-1 * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2   Cs                         u0 {1,S}
-3   Cs                         u0 {1,S}
-4   Cs                         u0 {1,S}
-5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 17,
-    label = "Cs(Cs(CsRR)CsCsR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 18,
-    label = "Cs(Cs(CsRR)Cs(CsRR)CsR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 19,
-    label = "Cs(Cs(CsRR)Cs(CsRR)Cs(CsRR)R)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1.2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 20,
-    label = "Cs(Cs(CsCsR)CsCsR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 21,
-    label = "Cs(Cs(CsCsR)Cs(CsRR)CsR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1.2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 22,
-    label = "Cs(Cs(CsCsR)Cs(CsRR)Cs(CsRR)R)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1.6,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 23,
-    label = "Cs(Cs(CsCsR)Cs(CsCsR)CsR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 24,
-    label = "Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsRR)R)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 25,
-    label = "Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsCsR)R)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (3.2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 26,
-    label = "Cs(Cs(CsCsCs)CsCsR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1.6,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 27,
-    label = "Cs(Cs(CsCsCs)Cs(CsRR)CsR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 28,
-    label = "Cs(Cs(CsCsCs)Cs(CsRR)Cs(CsRR)R)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 29,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsR)CsR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 30,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsRR)R)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 31,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsCsR)R)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 32,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)CsR)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (3.2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 33,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsRR)R)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (3.6,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 34,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsR)R)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 35,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsCs)R)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   Cs                         u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (4.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 36,
-    label = "Cs(CsCsCsCs)",
-    group = 
-"""
-1 * Cs u0 {2,S} {3,S} {4,S} {5,S}
-2   Cs u0 {1,S}
-3   Cs u0 {1,S}
-4   Cs u0 {1,S}
-5   Cs u0 {1,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 37,
-    label = "Cs(Cs(CsRR)CsCsCs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 38,
-    label = "Cs(Cs(CsRR)Cs(CsRR)CsCs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1.6,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 39,
-    label = "Cs(Cs(CsRR)Cs(CsRR)Cs(CsRR)Cs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 40,
-    label = "Cs(Cs(CsRR)Cs(CsRR)Cs(CsRR)Cs(CsRR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   Cs                         u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (3.2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 41,
-    label = "Cs(Cs(CsCsR)CsCsCs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1.6,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 42,
-    label = "Cs(Cs(CsCsR)Cs(CsRR)CsCs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 43,
-    label = "Cs(Cs(CsCsR)Cs(CsRR)Cs(CsRR)Cs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (3.2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 44,
-    label = "Cs(Cs(CsCsR)Cs(CsRR)Cs(CsRR)Cs(CsRR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   Cs                         u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 45,
-    label = "Cs(Cs(CsCsR)Cs(CsCsR)CsCs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (3.2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 46,
-    label = "Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsRR)Cs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 47,
-    label = "Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsRR)Cs(CsRR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   Cs                         u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (4.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 48,
-    label = "Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsCsR)Cs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (4.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 49,
-    label = "Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsCsR)Cs(CsRR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   Cs                         u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (5.6,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 50,
-    label = "Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsCsR)Cs(CsCsR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   Cs                         u0 {5,S}
-16   Cs                         u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (6.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 51,
-    label = "Cs(Cs(CsCsCs)CsCsCs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 52,
-    label = "Cs(Cs(CsCsCs)Cs(CsRR)CsCs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (3.2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 53,
-    label = "Cs(Cs(CsCsCs)Cs(CsRR)Cs(CsRR)Cs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 54,
-    label = "Cs(Cs(CsCsCs)Cs(CsRR)Cs(CsRR)Cs(CsRR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   Cs                         u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (4.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 55,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsR)CsCs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 56,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsRR)Cs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (4.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 57,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsRR)Cs(CsRR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   Cs                         u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (5.6,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 58,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsCsR)Cs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (5.6,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 59,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsCsR)Cs(CsRR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   Cs                         u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (6.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 60,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsCsR)Cs(CsCsR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   Cs                         u0 {5,S}
-16   Cs                         u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (7.2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 61,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)CsCs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (4.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 62,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsRR)Cs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (5.6,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 63,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsRR)Cs(CsRR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   Cs                         u0 {4,S}
-13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   Cs                         u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (6.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 64,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsR)Cs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (6.4,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 65,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsR)Cs(CsRR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   Cs                         u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (7.2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 66,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsR)Cs(CsCsR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-15   Cs                         u0 {5,S}
-16   Cs                         u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 67,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsCs)Cs)",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   Cs                         u0 {4,S}
-15   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (7.2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 68,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsCs)Cs(CsRR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   Cs                         u0 {4,S}
-15   Cs                         u0 {5,S}
-16   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 69,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsR))",
-    group = 
-"""
-1  * Cs                         u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs                         u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs                         u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs                         u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs                         u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs                         u0 {2,S}
-7    Cs                         u0 {2,S}
-8    Cs                         u0 {2,S}
-9    Cs                         u0 {3,S}
-10   Cs                         u0 {3,S}
-11   Cs                         u0 {3,S}
-12   Cs                         u0 {4,S}
-13   Cs                         u0 {4,S}
-14   Cs                         u0 {4,S}
-15   Cs                         u0 {5,S}
-16   Cs                         u0 {5,S}
-17   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (8.8,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 70,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsCs))",
-    group = 
-"""
-1  * Cs u0 {2,S} {3,S} {4,S} {5,S}
-2    Cs u0 {1,S} {6,S} {7,S} {8,S}
-3    Cs u0 {1,S} {9,S} {10,S} {11,S}
-4    Cs u0 {1,S} {12,S} {13,S} {14,S}
-5    Cs u0 {1,S} {15,S} {16,S} {17,S}
-6    Cs u0 {2,S}
-7    Cs u0 {2,S}
-8    Cs u0 {2,S}
-9    Cs u0 {3,S}
-10   Cs u0 {3,S}
-11   Cs u0 {3,S}
-12   Cs u0 {4,S}
-13   Cs u0 {4,S}
-14   Cs u0 {4,S}
-15   Cs u0 {5,S}
-16   Cs u0 {5,S}
-17   Cs u0 {5,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (9.6,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 71,
-    label = "Os(RR)",
-    group = 
-"""
-1 * Os u0
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 72,
-    label = "Os(CsR)",
-    group = 
-"""
-1 * Os                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S}
-3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 73,
-    label = "Os(Cs(CsRR)R)",
-    group = 
-"""
-1 * Os                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S} {4,S} {5,S} {6,S}
-3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-4   Cs                         u0 {2,S}
-5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-6   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 74,
-    label = "Os(Cs(CsCsR)R)",
-    group = 
-"""
-1 * Os                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S} {4,S} {5,S} {6,S}
-3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-4   Cs                         u0 {2,S}
-5   Cs                         u0 {2,S}
-6   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 75,
-    label = "Os(Cs(CsCsCs)R)",
-    group = 
-"""
-1 * Os                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S} {4,S} {5,S} {6,S}
-3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-4   Cs                         u0 {2,S}
-5   Cs                         u0 {2,S}
-6   Cs                         u0 {2,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 76,
-    label = "Os(CsCs)",
-    group = 
-"""
-1 * Os u0 {2,S} {3,S}
-2   Cs u0 {1,S}
-3   Cs u0 {1,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 77,
-    label = "Os(Cs(CsRR)Cs)",
-    group = 
-"""
-1 * Os                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs                         u0 {1,S} {7,S} {8,S} {9,S}
-4   Cs                         u0 {2,S}
-5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-6   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-7   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-9   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 78,
-    label = "Os(Cs(CsRR)Cs(CsRR))",
-    group = 
-"""
-1 * Os                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs                         u0 {1,S} {7,S} {8,S} {9,S}
-4   Cs                         u0 {2,S}
-5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-6   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-7   Cs                         u0 {3,S}
-8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-9   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 79,
-    label = "Os(Cs(CsCsR)Cs)",
-    group = 
-"""
-1 * Os                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs                         u0 {1,S} {7,S} {8,S} {9,S}
-4   Cs                         u0 {2,S}
-5   Cs                         u0 {2,S}
-6   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-7   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-9   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0.5,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 80,
-    label = "Os(Cs(CsCsR)Cs(CsRR))",
-    group = 
-"""
-1 * Os                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs                         u0 {1,S} {7,S} {8,S} {9,S}
-4   Cs                         u0 {2,S}
-5   Cs                         u0 {2,S}
-6   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-7   Cs                         u0 {3,S}
-8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-9   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0.5,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 81,
-    label = "Os(Cs(CsCsR)Cs(CsCsR))",
-    group = 
-"""
-1 * Os                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs                         u0 {1,S} {7,S} {8,S} {9,S}
-4   Cs                         u0 {2,S}
-5   Cs                         u0 {2,S}
-6   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
-7   Cs                         u0 {3,S}
-8   Cs                         u0 {3,S}
-9   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 82,
-    label = "Os(Cs(CsCsCs)Cs)",
-    group = 
-"""
-1 * Os                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs                         u0 {1,S} {7,S} {8,S} {9,S}
-4   Cs                         u0 {2,S}
-5   Cs                         u0 {2,S}
-6   Cs                         u0 {2,S}
-7   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-9   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 83,
-    label = "Os(Cs(CsCsCs)Cs(CsRR))",
-    group = 
-"""
-1 * Os                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs                         u0 {1,S} {7,S} {8,S} {9,S}
-4   Cs                         u0 {2,S}
-5   Cs                         u0 {2,S}
-6   Cs                         u0 {2,S}
-7   Cs                         u0 {3,S}
-8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-9   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 84,
-    label = "Os(Cs(CsCsCs)Cs(CsCsR))",
-    group = 
-"""
-1 * Os                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs                         u0 {1,S} {7,S} {8,S} {9,S}
-4   Cs                         u0 {2,S}
-5   Cs                         u0 {2,S}
-6   Cs                         u0 {2,S}
-7   Cs                         u0 {3,S}
-8   Cs                         u0 {3,S}
-9   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1.5,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 85,
-    label = "Os(Cs(CsCsCs)Cs(CsCsCs))",
-    group = 
-"""
-1 * Os u0 {2,S} {3,S}
-2   Cs u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs u0 {1,S} {7,S} {8,S} {9,S}
-4   Cs u0 {2,S}
-5   Cs u0 {2,S}
-6   Cs u0 {2,S}
-7   Cs u0 {3,S}
-8   Cs u0 {3,S}
-9   Cs u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 86,
-    label = "Cd(CsCs)",
-    group = 
-"""
-1 * Cd u0 {2,D} {3,S} {4,S}
-2   Cd u0 {1,D}
-3   Cs u0 {1,S}
-4   Cs u0 {1,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 87,
-    label = "Cd(Cs(CsRR)Cs)",
-    group = 
-"""
-1  * Cd                         u0 {2,D} {3,S} {4,S}
-2    Cd                         u0 {1,D}
-3    Cs                         u0 {1,S} {5,S} {6,S} {7,S}
-4    Cs                         u0 {1,S} {8,S} {9,S} {10,S}
-5    Cs                         u0 {3,S}
-6    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 88,
-    label = "Cd(Cs(CsRR)Cs(CsRR))",
-    group = 
-"""
-1  * Cd                         u0 {2,D} {3,S} {4,S}
-2    Cd                         u0 {1,D}
-3    Cs                         u0 {1,S} {5,S} {6,S} {7,S}
-4    Cs                         u0 {1,S} {8,S} {9,S} {10,S}
-5    Cs                         u0 {3,S}
-6    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-8    Cs                         u0 {4,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 89,
-    label = "Cd(Cs(CsCsR)Cs)",
-    group = 
-"""
-1  * Cd                         u0 {2,D} {3,S} {4,S}
-2    Cd                         u0 {1,D}
-3    Cs                         u0 {1,S} {5,S} {6,S} {7,S}
-4    Cs                         u0 {1,S} {8,S} {9,S} {10,S}
-5    Cs                         u0 {3,S}
-6    Cs                         u0 {3,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 90,
-    label = "Cd(Cs(CsCsR)Cs(CsRR))",
-    group = 
-"""
-1  * Cd                         u0 {2,D} {3,S} {4,S}
-2    Cd                         u0 {1,D}
-3    Cs                         u0 {1,S} {5,S} {6,S} {7,S}
-4    Cs                         u0 {1,S} {8,S} {9,S} {10,S}
-5    Cs                         u0 {3,S}
-6    Cs                         u0 {3,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-8    Cs                         u0 {4,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 91,
-    label = "Cd(Cs(CsCsR)Cs(CsCsR))",
-    group = 
-"""
-1  * Cd                         u0 {2,D} {3,S} {4,S}
-2    Cd                         u0 {1,D}
-3    Cs                         u0 {1,S} {5,S} {6,S} {7,S}
-4    Cs                         u0 {1,S} {8,S} {9,S} {10,S}
-5    Cs                         u0 {3,S}
-6    Cs                         u0 {3,S}
-7    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
-8    Cs                         u0 {4,S}
-9    Cs                         u0 {4,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 92,
-    label = "Cd(Cs(CsCsCs)Cs)",
-    group = 
-"""
-1  * Cd                         u0 {2,D} {3,S} {4,S}
-2    Cd                         u0 {1,D}
-3    Cs                         u0 {1,S} {5,S} {6,S} {7,S}
-4    Cs                         u0 {1,S} {8,S} {9,S} {10,S}
-5    Cs                         u0 {3,S}
-6    Cs                         u0 {3,S}
-7    Cs                         u0 {3,S}
-8    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 93,
-    label = "Cd(Cs(CsCsCs)Cs(CsRR))",
-    group = 
-"""
-1  * Cd                         u0 {2,D} {3,S} {4,S}
-2    Cd                         u0 {1,D}
-3    Cs                         u0 {1,S} {5,S} {6,S} {7,S}
-4    Cs                         u0 {1,S} {8,S} {9,S} {10,S}
-5    Cs                         u0 {3,S}
-6    Cs                         u0 {3,S}
-7    Cs                         u0 {3,S}
-8    Cs                         u0 {4,S}
-9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 94,
-    label = "Cd(Cs(CsCsCs)Cs(CsCsR))",
-    group = 
-"""
-1  * Cd                         u0 {2,D} {3,S} {4,S}
-2    Cd                         u0 {1,D}
-3    Cs                         u0 {1,S} {5,S} {6,S} {7,S}
-4    Cs                         u0 {1,S} {8,S} {9,S} {10,S}
-5    Cs                         u0 {3,S}
-6    Cs                         u0 {3,S}
-7    Cs                         u0 {3,S}
-8    Cs                         u0 {4,S}
-9    Cs                         u0 {4,S}
-10   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 95,
-    label = "Cd(Cs(CsCsCs)Cs(CsCsCs))",
-    group = 
-"""
-1  * Cd u0 {2,D} {3,S} {4,S}
-2    Cd u0 {1,D}
-3    Cs u0 {1,S} {5,S} {6,S} {7,S}
-4    Cs u0 {1,S} {8,S} {9,S} {10,S}
-5    Cs u0 {3,S}
-6    Cs u0 {3,S}
-7    Cs u0 {3,S}
-8    Cs u0 {4,S}
-9    Cs u0 {4,S}
-10   Cs u0 {4,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (2,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 96,
-    label = "Ss(RR)",
-    group = 
-"""
-1 * Ss u0
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 97,
-    label = "Ss(CsR)",
-    group = 
-"""
-1 * Ss                         u0 {2,S} {3,S}
-2   Cs                         u0 {1,S}
-3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 98,
-    label = "Ss(CsH)",
-    group = 
-"""
-1 * Ss u0 {2,S} {3,S}
-2   Cs u0 {1,S}
-3   H  u0 {1,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 99,
-    label = "Ss(Cs(CsHH)H)",
-    group = 
-"""
-1 * Ss u0 {2,S} {3,S}
-2   Cs u0 {1,S} {4,S} {5,S} {6,S}
-3   H  u0 {1,S}
-4   H  u0 {2,S}
-5   H  u0 {2,S}
-6   Cs u0 {2,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0.33,0.62,0.67,0.59,0.38,0.21,-0.01],'cal/(mol*K)'),
-        H298 = (-0.97,'kcal/mol'),
-        S298 = (-1.01,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 100,
-    label = "Ss(CsCs)",
-    group = 
-"""
-1 * Ss u0 {2,S} {3,S}
-2   Cs u0 {1,S}
-3   Cs u0 {1,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-tree(
-"""
-L1: CsOsCdSs
-    L2: Cs(RRRR)
-        L3: Cs(CsRRR)
-            L4: Cs(Cs(CsRR)RRR)
-            L4: Cs(Cs(CsCsR)RRR)
-            L4: Cs(Cs(CsCsCs)RRR)
-        L3: Cs(CsCsRR)
-            L4: Cs(Cs(CsRR)CsRR)
-            L4: Cs(Cs(CsRR)Cs(CsRR)RR)
-            L4: Cs(Cs(CsCsR)CsRR)
-            L4: Cs(Cs(CsCsR)Cs(CsRR)RR)
-            L4: Cs(Cs(CsCsR)Cs(CsCsR)RR)
-            L4: Cs(Cs(CsCsCs)CsRR)
-            L4: Cs(Cs(CsCsCs)Cs(CsRR)RR)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsR)RR)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)RR)
-        L3: Cs(CsCsCsR)
-            L4: Cs(Cs(CsRR)CsCsR)
-            L4: Cs(Cs(CsRR)Cs(CsRR)CsR)
-            L4: Cs(Cs(CsRR)Cs(CsRR)Cs(CsRR)R)
-            L4: Cs(Cs(CsCsR)CsCsR)
-            L4: Cs(Cs(CsCsR)Cs(CsRR)CsR)
-            L4: Cs(Cs(CsCsR)Cs(CsRR)Cs(CsRR)R)
-            L4: Cs(Cs(CsCsR)Cs(CsCsR)CsR)
-            L4: Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsRR)R)
-            L4: Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsCsR)R)
-            L4: Cs(Cs(CsCsCs)CsCsR)
-            L4: Cs(Cs(CsCsCs)Cs(CsRR)CsR)
-            L4: Cs(Cs(CsCsCs)Cs(CsRR)Cs(CsRR)R)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsR)CsR)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsRR)R)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsCsR)R)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)CsR)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsRR)R)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsR)R)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsCs)R)
-        L3: Cs(CsCsCsCs)
-            L4: Cs(Cs(CsRR)CsCsCs)
-            L4: Cs(Cs(CsRR)Cs(CsRR)CsCs)
-            L4: Cs(Cs(CsRR)Cs(CsRR)Cs(CsRR)Cs)
-            L4: Cs(Cs(CsRR)Cs(CsRR)Cs(CsRR)Cs(CsRR))
-            L4: Cs(Cs(CsCsR)CsCsCs)
-            L4: Cs(Cs(CsCsR)Cs(CsRR)CsCs)
-            L4: Cs(Cs(CsCsR)Cs(CsRR)Cs(CsRR)Cs)
-            L4: Cs(Cs(CsCsR)Cs(CsRR)Cs(CsRR)Cs(CsRR))
-            L4: Cs(Cs(CsCsR)Cs(CsCsR)CsCs)
-            L4: Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsRR)Cs)
-            L4: Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsRR)Cs(CsRR))
-            L4: Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsCsR)Cs)
-            L4: Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsCsR)Cs(CsRR))
-            L4: Cs(Cs(CsCsR)Cs(CsCsR)Cs(CsCsR)Cs(CsCsR))
-            L4: Cs(Cs(CsCsCs)CsCsCs)
-            L4: Cs(Cs(CsCsCs)Cs(CsRR)CsCs)
-            L4: Cs(Cs(CsCsCs)Cs(CsRR)Cs(CsRR)Cs)
-            L4: Cs(Cs(CsCsCs)Cs(CsRR)Cs(CsRR)Cs(CsRR))
-            L4: Cs(Cs(CsCsCs)Cs(CsCsR)CsCs)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsRR)Cs)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsRR)Cs(CsRR))
-            L4: Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsCsR)Cs)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsCsR)Cs(CsRR))
-            L4: Cs(Cs(CsCsCs)Cs(CsCsR)Cs(CsCsR)Cs(CsCsR))
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)CsCs)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsRR)Cs)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsRR)Cs(CsRR))
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsR)Cs)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsR)Cs(CsRR))
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsR)Cs(CsCsR))
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsCs)Cs)
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsCs)Cs(CsRR))
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsR))
-            L4: Cs(Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsCs)Cs(CsCsCs))
-    L2: Os(RR)
-        L3: Os(CsR)
-            L4: Os(Cs(CsRR)R)
-            L4: Os(Cs(CsCsR)R)
-            L4: Os(Cs(CsCsCs)R)
-        L3: Os(CsCs)
-            L4: Os(Cs(CsRR)Cs)
-            L4: Os(Cs(CsRR)Cs(CsRR))
-            L4: Os(Cs(CsCsR)Cs)
-            L4: Os(Cs(CsCsR)Cs(CsRR))
-            L4: Os(Cs(CsCsR)Cs(CsCsR))
-            L4: Os(Cs(CsCsCs)Cs)
-            L4: Os(Cs(CsCsCs)Cs(CsRR))
-            L4: Os(Cs(CsCsCs)Cs(CsCsR))
-            L4: Os(Cs(CsCsCs)Cs(CsCsCs))
-    L2: Cd(CsCs)
-        L3: Cd(Cs(CsRR)Cs)
-        L3: Cd(Cs(CsRR)Cs(CsRR))
-        L3: Cd(Cs(CsCsR)Cs)
-        L3: Cd(Cs(CsCsR)Cs(CsRR))
-        L3: Cd(Cs(CsCsR)Cs(CsCsR))
-        L3: Cd(Cs(CsCsCs)Cs)
-        L3: Cd(Cs(CsCsCs)Cs(CsRR))
-        L3: Cd(Cs(CsCsCs)Cs(CsCsR))
-        L3: Cd(Cs(CsCsCs)Cs(CsCsCs))
-    L2: Ss(RR)
-        L3: Ss(CsR)
-            L4: Ss(CsH)
-                L5: Ss(Cs(CsHH)H)
-        L3: Ss(CsCs)
-"""
-)
-
diff --git a/input/thermo/groups/int15.py b/input/thermo/groups/int15.py
deleted file mode 100644
index 60fde4cfb1..0000000000
--- a/input/thermo/groups/int15.py
+++ /dev/null
@@ -1,212 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
-name = "1,5-Interaction Corrections"
-shortDesc = u""
-longDesc = u"""
-
-"""
-entry(
-    index = 0,
-    label = "CsOsSs",
-    group = 
-"""
-1 * [Cs,Os,Ss] u0 {2,S} {3,S}
-2   Cs         u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs         u0 {1,S} {7,S} {8,S}
-4   Cs         u0 {2,S}
-5   Cs         u0 {2,S}
-6   Cs         u0 {2,S}
-7   Cs         u0 {3,S}
-8   Cs         u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (0,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 1,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsR)RR)",
-    group = 
-"""
-1 * Cs u0 {2,S} {3,S}
-2   Cs u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs u0 {1,S} {7,S} {8,S}
-4   Cs u0 {2,S}
-5   Cs u0 {2,S}
-6   Cs u0 {2,S}
-7   Cs u0 {3,S}
-8   Cs u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (1.5,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 2,
-    label = "Cs(Cs(CsCsCs)Cs(CsCsCs)RR)",
-    group = 
-"""
-1 * Cs u0 {2,S} {3,S}
-2   Cs u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs u0 {1,S} {7,S} {8,S} {9,S}
-4   Cs u0 {2,S}
-5   Cs u0 {2,S}
-6   Cs u0 {2,S}
-7   Cs u0 {3,S}
-8   Cs u0 {3,S}
-9   Cs u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (3,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 3,
-    label = "Os(Cs(CsCsCs)Cs(CsCsR))",
-    group = 
-"""
-1 * Os u0 {2,S} {3,S}
-2   Cs u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs u0 {1,S} {7,S} {8,S}
-4   Cs u0 {2,S}
-5   Cs u0 {2,S}
-6   Cs u0 {2,S}
-7   Cs u0 {3,S}
-8   Cs u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (3.5,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 4,
-    label = "Os(Cs(CsCsCs)Cs(CsCsCs))",
-    group = 
-"""
-1 * Os u0 {2,S} {3,S}
-2   Cs u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs u0 {1,S} {7,S} {8,S} {9,S}
-4   Cs u0 {2,S}
-5   Cs u0 {2,S}
-6   Cs u0 {2,S}
-7   Cs u0 {3,S}
-8   Cs u0 {3,S}
-9   Cs u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
-        H298 = (7,'kcal/mol'),
-        S298 = (0,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 5,
-    label = "Ss(Cs(CsCsCs)Cs(CsCsR))",
-    group = 
-"""
-1 * Ss u0 {2,S} {3,S}
-2   Cs u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs u0 {1,S} {7,S} {8,S}
-4   Cs u0 {2,S}
-5   Cs u0 {2,S}
-6   Cs u0 {2,S}
-7   Cs u0 {3,S}
-8   Cs u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([-0.1,-0.2,-0.1,0,0.2,0.1,-0.2],'cal/(mol*K)'),
-        H298 = (3.1,'kcal/mol'),
-        S298 = (-1.9,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-entry(
-    index = 6,
-    label = "Ss(Cs(CsCsCs)Cs(CsCsCs))",
-    group = 
-"""
-1 * Ss u0 {2,S} {3,S}
-2   Cs u0 {1,S} {4,S} {5,S} {6,S}
-3   Cs u0 {1,S} {7,S} {8,S} {9,S}
-4   Cs u0 {2,S}
-5   Cs u0 {2,S}
-6   Cs u0 {2,S}
-7   Cs u0 {3,S}
-8   Cs u0 {3,S}
-9   Cs u0 {3,S}
-""",
-    thermo = ThermoData(
-        Tdata = ([300,400,500,600,800,1000,1500],'K'),
-        Cpdata = ([-1,-1,-0.8,-0.7,-0.6,-0.7,-1],'cal/(mol*K)'),
-        H298 = (5.7,'kcal/mol'),
-        S298 = (-1.7,'cal/(mol*K)'),
-    ),
-    shortDesc = u"""""",
-    longDesc = 
-u"""
-
-""",
-)
-
-tree(
-"""
-L1: CsOsSs
-    L2: Cs(Cs(CsCsCs)Cs(CsCsR)RR)
-        L3: Cs(Cs(CsCsCs)Cs(CsCsCs)RR)
-    L2: Os(Cs(CsCsCs)Cs(CsCsR))
-        L3: Os(Cs(CsCsCs)Cs(CsCsCs))
-    L2: Ss(Cs(CsCsCs)Cs(CsCsR))
-        L3: Ss(Cs(CsCsCs)Cs(CsCsCs))
-"""
-)
-

From 64642cd39f8fd1ea3ddfb71bd6e0cc5923d906c3 Mon Sep 17 00:00:00 2001
From: PengZhang13 <zhangp@mit.edu>
Date: Mon, 23 Jan 2017 14:37:42 -0500
Subject: [PATCH 14/16] Add non-nearest neighbor interactions (NNIs) for cyclic
 and noncyclic. Noncyclic NNIs include gauche and 1,5 interactions. Cyclic
 NNIs include NNIs for substituted aromatics.

---
 .../groups/longDistanceInteraction_cyclic.py  | 2153 +++++++++++++++++
 .../longDistanceInteraction_noncyclic.py      | 1168 +++++++++
 2 files changed, 3321 insertions(+)
 create mode 100644 input/thermo/groups/longDistanceInteraction_cyclic.py
 create mode 100644 input/thermo/groups/longDistanceInteraction_noncyclic.py

diff --git a/input/thermo/groups/longDistanceInteraction_cyclic.py b/input/thermo/groups/longDistanceInteraction_cyclic.py
new file mode 100644
index 0000000000..917a507a29
--- /dev/null
+++ b/input/thermo/groups/longDistanceInteraction_cyclic.py
@@ -0,0 +1,2153 @@
+#!/usr/bin/env python
+# encoding: utf-8
+
+name = "Long distance interaction correction for cyclic molecule"
+shortDesc = u""
+longDesc = u"""
+Designed to account for the long distance interaction for cyclic molecule.
+Currently we only have the data for aromatic ortho/meta/para corrections.
+Watch out:  if the groups on the two labeled atoms are identical, it's value should be halved because it'll be counted twice.
+            For example, for the interaction of ortho OH and OH, which is labeled as 'o_OH_OH' in this database,
+            it'll be counted in both {'*1': atom1, '*2'atom2} and {'*2': atom1, '*1'atom2}.
+            It should be claimed in the 'longDesc' if a entry was halved.
+
+Source: 
+For aromatic molecule: [1] Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008
+For aromatic radical: [2] A paper from the same group but still under reviewing.
+
+Sep-29-2016 PZ
+"""
+
+entry(
+    index = 0,
+    label = "R",
+    group = 
+"""
+1 *1 R u0
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""ROOT""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 25,
+    label = "aromatic-ortho",
+    group = 
+"""
+1 *1 Cb u0 {2,B}
+2 *2 Cb u0 {1,B}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Aromatics NNI correction for ortho position.""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 2,
+    label = "o_OH_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {5,S}
+3    O u0 {1,S} {4,S}
+4    H u0 {3,S}
+5    C u0 {2,S} {6,S} {7,D}
+6    H u0 {5,S}
+7    O u0 {5,D}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-2.49, -2.15, -1.77, -1.43, -0.81, -0.33, 0.43],'cal/(mol*K)'),
+        H298 = (-6.55,'kcal/mol'),
+        S298 = (-5.09,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 3,
+    label = "o_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B}
+3    C u0 {1,S} {4,S} {5,D}
+4    H u0 {3,S}
+5    O u0 {3,D}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 3,
+    label = "o_CHO_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {5,S}
+3    C u0 {1,S} {4,S} {8,D}
+4    H u0 {3,S}
+5    C u0 {2,S} {6,S} {7,D}
+6    H u0 {5,S}
+7    O u0 {5,D}
+8    O u0 {3,D}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.20, 0.20, 0.19, 0.17, 0.05, -0.10, -0.30],'cal/(mol*K)'),
+        H298 = (2.52,'kcal/mol'),
+        S298 = (0.76,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Half value. This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 4,
+    label = "o_MeO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B}
+3    O u0 {1,S} {4,S}
+4    C u0 {3,S} {5,S} {6,S} {7,S}
+5    H u0 {4,S}
+6    H u0 {4,S}
+7    H u0 {4,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 4,
+    label = "o_MeO_MeO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {8,S}
+3    O u0 {1,S} {4,S}
+4    C u0 {3,S} {5,S} {6,S} {7,S}
+5    H u0 {4,S}
+6    H u0 {4,S}
+7    H u0 {4,S}
+8    O u0 {2,S} {9,S}
+9    C u0 {8,S} {10,S} {11,S} {12,S}
+10   H u0 {9,S}
+11   H u0 {9,S}
+12   H u0 {9,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.00, -0.41, -0.56, -0.60, -0.53, -0.44, -0.26],'cal/(mol*K)'),
+        H298 = (1.76,'kcal/mol'),
+        S298 = (0.93,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Half value. This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 5,
+    label = "o_CHO_vinyl",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {6,S}
+3    C u0 {1,S} {4,S} {5,D}
+4    H u0 {3,S}
+5    O u0 {3,D}
+6    C u0 {2,S} {7,D} {8,S}
+7    C u0 {6,D} {9,S} {10,S}
+8    H u0 {6,S}
+9    H u0 {7,S}
+10   H u0 {7,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.31, 0.38, 0.50, 0.60, 0.57, 0.43, 0.07],'cal/(mol*K)'),
+        H298 = (2.84,'kcal/mol'),
+        S298 = (-0.62,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 6,
+    label = "o_vinyl",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B}
+3    C u0 {1,S} {4,S} {5,D}
+4    H u0 {3,S}
+5    C u0 {3,D} {6,S} {7,S}
+6   H u0 {5,S}
+7   H u0 {5,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 6,
+    label = "o_vinyl_vinyl",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {6,S}
+3    C u0 {1,S} {4,S} {5,D}
+4    H u0 {3,S}
+5    C u0 {3,D} {11,S} {12,S}
+6    C u0 {2,S} {7,D} {8,S}
+7    C u0 {6,D} {9,S} {10,S}
+8    H u0 {6,S}
+9    H u0 {7,S}
+10   H u0 {7,S}
+11   H u0 {5,S}
+12   H u0 {5,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.55, 0.38, 0.25, 0.16, 0.02, -0.02, -0.06],'cal/(mol*K)'),
+        H298 = (0.97,'kcal/mol'),
+        S298 = (-0.27,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Half value. This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 7,
+    label = "o_CHO_CH3",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {6,S}
+3    C u0 {1,S} {4,S} {5,D}
+4    H u0 {3,S}
+5    O u0 {3,D}
+6    C u0 {2,S} {7,S} {8,S} {9,S}
+7    H u0 {6,S}
+8    H u0 {6,S}
+9    H u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.96, 0.72, 0.48, 0.26, 0.00, -0.14, -0.22],'cal/(mol*K)'),
+        H298 = (1.94,'kcal/mol'),
+        S298 = (-0.57,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 8,
+    label = "o_CHO_C2H5",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {6,S}
+3    C u0 {1,S} {4,S} {5,D}
+4    H u0 {3,S}
+5    O u0 {3,D}
+6    C u0 {2,S} {7,S} {8,S} {9,S}
+7    H u0 {6,S}
+8    H u0 {6,S}
+9    C u0 {6,S} {10,S} {11,S} {12,S}
+10    H u0 {9,S}
+11    H u0 {9,S}
+12    H u0 {9,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.96, 0.72, 0.48, 0.26, 0.00, -0.14, -0.22],'cal/(mol*K)'),
+        H298 = (1.94,'kcal/mol'),
+        S298 = (-0.57,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 9,
+    label = "o_vinyl_CH3",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {8,S}
+3    C u0 {1,S} {4,S} {5,D}
+4    H u0 {3,S}
+5    C u0 {3,D} {6,S} {7,S}
+6    H u0 {5,S}
+7    H u0 {5,S}
+8    C u0 {2,S} {9,S} {10,S} {11,S}
+9    H u0 {8,S}
+10   H u0 {8,S}
+11   H u0 {8,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([1.36, 1.34, 1.17, 1.00, 0.69, 0.50, 0.24],'cal/(mol*K)'),
+        H298 = (1.10,'kcal/mol'),
+        S298 = (-1.36,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 10,
+    label = "o_vinyl_C2H5",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {8,S}
+3    C u0 {1,S} {4,S} {5,D}
+4    H u0 {3,S}
+5    C u0 {3,D} {6,S} {7,S}
+6    H u0 {5,S}
+7    H u0 {5,S}
+8    C u0 {2,S} {9,S} {10,S} {11,S}
+9    H u0 {8,S}
+10   H u0 {8,S}
+11   C u0 {8,S} {12,S} {13,S} {14,S}
+12   H u0 {11,S}
+13   H u0 {11,S}
+14   H u0 {11,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([1.36, 1.34, 1.17, 1.00, 0.69, 0.50, 0.24],'cal/(mol*K)'),
+        H298 = (1.10,'kcal/mol'),
+        S298 = (-1.36,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 11,
+    label = "o_CHO_MeO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {6,S}
+3    C u0 {1,S} {4,S} {5,D}
+4    H u0 {3,S}
+5    O u0 {3,D}
+6    O u0 {2,S} {7,S}
+7    C u0 {6,S} {8,S} {9,S} {10,S}
+8    H u0 {7,S}
+9    H u0 {7,S}
+10   H u0 {7,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.62, 0.07, 0.62, 0.93, 0.98, 0.79, 0.31],'cal/(mol*K)'),
+        H298 = (1.89,'kcal/mol'),
+        S298 = (-0.41,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 12,
+    label = "o_CH3",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B}
+3    C u0 {1,S} {4,S} {5,S} {6,S}
+4    H u0 {3,S}
+5    H u0 {3,S}
+6    H u0 {3,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 12,
+    label = "o_CH3_CH3",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {7,S}
+3    C u0 {1,S} {4,S} {5,S} {6,S}
+4    H u0 {3,S}
+5    H u0 {3,S}
+6    H u0 {3,S}
+7    C u0 {2,S} {8,S} {9,S} {10,S}
+8    H u0 {7,S}
+9    H u0 {7,S}
+10    H u0 {7,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.39, 0.35, 0.31, 0.30, 0.27, 0.24, 0.18],'cal/(mol*K)'),
+        H298 = (0.50,'kcal/mol'),
+        S298 = (-0.79,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Half value. This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 13,
+    label = "o_CH3_C2H5",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {7,S}
+3    C u0 {1,S} {4,S} {5,S} {6,S}
+4    H u0 {3,S}
+5    H u0 {3,S}
+6    H u0 {3,S}
+7    C u0 {2,S} {8,S} {9,S} {10,S}
+8    H u0 {7,S}
+9    H u0 {7,S}
+10   C u0 {7,S} {11,S} {12,S} {13,S}
+11   H u0 {10,S}
+12   H u0 {10,S}
+13   H u0 {10,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.79, 0.69, 0.62, 0.60, 0.55, 0.48, 0.36],'cal/(mol*K)'),
+        H298 = (1.00,'kcal/mol'),
+        S298 = (-1.58,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 14,
+    label = "o_C2H5",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B}
+3    C u0 {1,S} {4,S} {5,S} {6,S}
+4    H u0 {3,S}
+5    H u0 {3,S}
+6    C u0 {3,S} {7,S} {8,S} {9,S}
+7   H u0 {6,S}
+8   H u0 {6,S}
+9   H u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 14,
+    label = "o_C2H5_C2H5",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {7,S}
+3    C u0 {1,S} {4,S} {5,S} {6,S}
+4    H u0 {3,S}
+5    H u0 {3,S}
+6    C u0 {3,S} {14,S} {15,S} {16,S}
+7    C u0 {2,S} {8,S} {9,S} {10,S}
+8    H u0 {7,S}
+9    H u0 {7,S}
+10   C u0 {7,S} {11,S} {12,S} {13,S}
+11   H u0 {10,S}
+12   H u0 {10,S}
+13   H u0 {10,S}
+14   H u0 {6,S}
+15   H u0 {6,S}
+16   H u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.39, 0.35, 0.31, 0.30, 0.27, 0.24, 0.18],'cal/(mol*K)'),
+        H298 = (0.50,'kcal/mol'),
+        S298 = (-0.79,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Half value. This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 15,
+    label = "o_OH",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B}
+3    O u0 {1,S} {4,S}
+4    H u0 {3,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 15,
+    label = "o_OH_OH",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {5,S}
+3    O u0 {1,S} {4,S}
+4    H u0 {3,S}
+5    O u0 {2,S} {6,S}
+6    H u0 {5,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.32, -0.18, 0.02, 0.24, 0.50, 0.57, 0.44],'cal/(mol*K)'),
+        H298 = (-0.36,'kcal/mol'),
+        S298 = (-0.67,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Half value. This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 16,
+    label = "o_OH_MeO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {5,S}
+3    O u0 {1,S} {4,S}
+4    H u0 {3,S}
+5    O u0 {2,S} {6,S}
+6    C u0 {5,S} {7,S} {8,S} {9,S}
+7    H u0 {6,S}
+8    H u0 {6,S}
+9    H u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.65, -0.36, 0.05, 0.48, 1.00, 1.15, 0.88],'cal/(mol*K)'),
+        H298 = (-0.72,'kcal/mol'),
+        S298 = (-1.34,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 17,
+    label = "o_OH_vinyl",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {5,S}
+3    O u0 {1,S} {4,S}
+4    H u0 {3,S}
+5    C u0 {2,S} {6,D} {7,S}
+6    C u0 {5,D} {8,S} {9,S}
+7    H u0 {5,S}
+8    H u0 {6,S}
+9    H u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.60, 0.65, 0.62, 0.60, 0.50, 0.43, 0.29],'cal/(mol*K)'),
+        H298 = (0.62,'kcal/mol'),
+        S298 = (-0.79,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 18,
+    label = "o_MeO_vinyl",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {5,S}
+3    O u0 {1,S} {4,S}
+4    C u0 {3,S} {10,S} {11,S} {12,S}
+5    C u0 {2,S} {6,D} {7,S}
+6    C u0 {5,D} {8,S} {9,S}
+7    H u0 {5,S}
+8    H u0 {6,S}
+9    H u0 {6,S}
+10    H u0 {4,S}
+11    H u0 {4,S}
+12    H u0 {4,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.60, 0.65, 0.62, 0.60, 0.50, 0.43, 0.29],'cal/(mol*K)'),
+        H298 = (0.62,'kcal/mol'),
+        S298 = (-0.79,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 2,
+    label = "o_OCH2j",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B}
+3    O u0 {1,S} {4,S}
+4    C u1 {3,S} {5,S} {6,S}
+5    H u0 {4,S}
+6    H u0 {4,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 2,
+    label = "o_OCH2j_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {7,S}
+3    O u0 {1,S} {4,S}
+4    C u1 {3,S} {5,S} {6,S}
+5    H u0 {4,S}
+6    H u0 {4,S}
+7    C u0 {2,S} {8,S} {9,D}
+8    H u0 {7,S}
+9    O u0 {7,D}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.53, 1.20, 1.43, 1.39, 1.00, 0.62, 0.12],'cal/(mol*K)'),
+        H298 = (1.67,'kcal/mol'),
+        S298 = (-1.15,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI2. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 3,
+    label = "o_OCH2j_OCH3",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {7,S}
+3    O u0 {1,S} {4,S}
+4    C u1 {3,S} {5,S} {6,S}
+5    H u0 {4,S}
+6    H u0 {4,S}
+7    O u0 {2,S} {8,S}
+8    C u0 {7,S} {9,S} {10,S} {11,S}
+9    H u0 {8,S}
+10    H u0 {8,S}
+11    H u0 {8,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.93, 0.22, -0.22, -0.36, -0.33, -0.29, -0.14],'cal/(mol*K)'),
+        H298 = (2.75,'kcal/mol'),
+        S298 = (0.29,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI3. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 4,
+    label = "o_Oj",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B}
+3    O u1 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 4,
+    label = "o_Oj_OH",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {4,S}
+3    O u1 {1,S}
+4    O u0 {2,S} {5,S}
+5    H u0 {4,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-2.06, -1.84, -1.58, -1.27, -0.74, -0.31, 0.38],'cal/(mol*K)'),
+        H298 = (-8.87,'kcal/mol'),
+        S298 = (-2.53,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI4. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 5,
+    label = "o_Oj_OCH3",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {4,S}
+3    O u1 {1,S}
+4    O u0 {2,S} {5,S}
+5    C u0 {4,S} {6,S} {7,S} {8,S}
+6    H u0 {5,S}
+7    H u0 {5,S}
+8    H u0 {5,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.60, -0.62, -0.53, -0.33, -0.07, 0.05, 0.12],'cal/(mol*K)'),
+        H298 = (-1.53,'kcal/mol'),
+        S298 = (-0.10,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI5. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 6,
+    label = "o_Oj_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {4,S}
+3    O u1 {1,S}
+4    C u0 {2,S} {5,S} {6,D}
+5    H u0 {4,S}
+6    O u0 {4,D}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.22, -0.02, 0.19, 0.41, 0.69, 0.69, 0.41],'cal/(mol*K)'),
+        H298 = (1.36,'kcal/mol'),
+        S298 = (-0.10,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI8. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 7,
+    label = "o_Oj_C=C",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {4,S}
+3    O u1 {1,S}
+4    C u0 {2,S} {5,S} {6,D}
+5    H u0 {4,S}
+6    C u0 {4,D} {7,S} {8,S}
+7    H u0 {6,S}
+8    H u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0, 0, 0.02, 0.10, 0.24, 0.31, 0.36],'cal/(mol*K)'),
+        H298 = (-1.53,'kcal/mol'),
+        S298 = (-0.88,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI10. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 8,
+    label = "o_Oj_Cs",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {4,S}
+3    O u1 {1,S}
+4    C u0 {2,S} {5,S} {6,S} {7,S}
+5    H u0 {4,S}
+6    H u0 {4,S}
+7    [H,Cs] u0 {4,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.14, -0.12, -0.10, -0.05, -0.05, -0.02, -0.05],'cal/(mol*K)'),
+        H298 = (-2.06,'kcal/mol'),
+        S298 = (0.26,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI12. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 9,
+    label = "o_Cj=O",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B}
+3    C u1 {1,S} {4,D}
+4    O u0 {3,D}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 9,
+    label = "o_Cj=O_OH",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {5,S}
+3    C u1 {1,S} {4,D}
+4    O u0 {3,D}
+5    O u0 {2,S} {6,S}
+6    H u0 {5,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-1.53, -1.08, -0.69, -0.24, 0.55, 1.12, 1.65],'cal/(mol*K)'),
+        H298 = (-4.02,'kcal/mol'),
+        S298 = (-4.57,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI14. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 9,
+    label = "o_Cj=O_OCH3",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {5,S}
+3    C u1 {1,S} {4,D}
+4    O u0 {3,D}
+5    O u0 {2,S} {6,S}
+6    C u0 {5,S} {7,S} {8,S} {9,S}
+7    H u0 {6,S}
+8    H u0 {6,S}
+9    H u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.60, 0.33, 0.10, 0, -0.14, -0.19, -0.17],'cal/(mol*K)'),
+        H298 = (1.77,'kcal/mol'),
+        S298 = (0.57,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI16. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 10,
+    label = "o_Cj=O_C=C",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {5,S}
+3    C u1 {1,S} {4,D}
+4    O u0 {3,D}
+5    C u0 {2,S} {6,D} {9,S}
+6    C u0 {5,D} {7,S} {8,S}
+7    H u0 {6,S}
+8    H u0 {6,S}
+9    H u0 {5,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.76, 0.84, 0.76, 0.62, 0.36, 0.14, 0.02],'cal/(mol*K)'),
+        H298 = (0.96,'kcal/mol'),
+        S298 = (-1.39,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI19. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 11,
+    label = "o_C=Cj",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B}
+3    C u0 {1,S} {4,D} {5,S}
+4    C u1 {3,D} {6,S}
+5    H u0 {3,S}
+6    H u0 {4,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 11,
+    label = "o_C=Cj_OH",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {7,S}
+3    C u0 {1,S} {4,D} {5,S}
+4    C u1 {3,D} {6,S}
+5    H u0 {3,S}
+6    H u0 {4,S}
+7    O u0 {2,S} {8,S}
+8    H u0 {7,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-1.31, -0.69, 0.14, 1.10, 2.41, 2.87, 2.25],'cal/(mol*K)'),
+        H298 = (-3.39,'kcal/mol'),
+        S298 = (-4.21,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI20. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 12,
+    label = "o_C=Cj_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {7,S}
+3    C u0 {1,S} {4,D} {5,S}
+4    C u1 {3,D} {6,S}
+5    H u0 {3,S}
+6    H u0 {4,S}
+7    C u0 {2,S} {8,S} {9,D}
+8    H u0 {7,S}
+9    O u0 {7,D}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.53, 0.81, 0.86, 0.79, 0.57, 0.43, 0.24],'cal/(mol*K)'),
+        H298 = (3.49,'kcal/mol'),
+        S298 = (-1.29,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI21. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 13,
+    label = "o_C=Cj_C=C",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {7,S}
+3    C u0 {1,S} {4,D} {5,S}
+4    C u1 {3,D} {6,S}
+5    H u0 {3,S}
+6    H u0 {4,S}
+7    C u0 {2,S} {8,S} {9,D}
+8    H u0 {7,S}
+9    C u0 {7,D} {10,S} {11,S}
+10    H u0 {9,S}
+11    H u0 {9,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.48, 0.60, 0.53, 0.43, 0.26, 0.17, 0.07],'cal/(mol*K)'),
+        H298 = (1.82,'kcal/mol'),
+        S298 = (-1.31,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI22. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 14,
+    label = "o_C=Cj_Cs",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {7,S}
+3    C u0 {1,S} {4,D} {5,S}
+4    C u1 {3,D} {6,S}
+5    H u0 {3,S}
+6    H u0 {4,S}
+7    C u0 {2,S} {8,S} {9,S} {10,S}
+8    H u0 {7,S}
+9    H u0 {7,S}
+10    [H,Cs] u0 {7,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.69, 0.65, 0.50, 0.36, 0.14, 0.07, -0.02],'cal/(mol*K)'),
+        H298 = (1.00,'kcal/mol'),
+        S298 = (-0.91,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI23. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 15,
+    label = "o_Csj",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B}
+3    C u1 {1,S} {4,S} {5,S}
+4    H u0 {3,S}
+5    [H,Cs] u0 {3,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 15,
+    label = "o_Csj_C=C",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {6,S}
+3    C u1 {1,S} {4,S} {5,S}
+4    H u0 {3,S}
+5    [H,Cs] u0 {3,S}
+6    C u0 {2,S} {7,S} {8,D}
+7    H u0 {6,S}
+8    C u0 {6,D} {9,S} {10,S}
+9    H u0 {8,S}
+10    H u0 {8,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.43, 0.29, 0.14, 0.02, -0.12, -0.17, -0.17],'cal/(mol*K)'),
+        H298 = (1.60,'kcal/mol'),
+        S298 = (-0.12,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI26. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 16,
+    label = "o_Csj_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {6,S}
+3    C u1 {1,S} {4,S} {5,S}
+4    H u0 {3,S}
+5    [H,Cs] u0 {3,S}
+6    C u0 {2,S} {7,S} {8,D}
+7    H u0 {6,S}
+8    O u0 {6,D}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.43, 0.50, 0.43, 0.29, 0.10, -0.05, -0.12],'cal/(mol*K)'),
+        H298 = (1.31,'kcal/mol'),
+        S298 = (0.45,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI28. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 17,
+    label = "o_Csj_Cs",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {3,S}
+2 *2 Cb u0 {1,B} {6,S}
+3    C u1 {1,S} {4,S} {5,S}
+4    H u0 {3,S}
+5    [H,Cs] u0 {3,S}
+6    C u0 {2,S} {7,S} {8,S} {9,S}
+7    H u0 {6,S}
+8    H u0 {6,S}
+9    [H,Cs] u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.81, 0.62, 0.43, 0.29, 0.12, 0.07, 0.00],'cal/(mol*K)'),
+        H298 = (0.65,'kcal/mol'),
+        S298 = (-0.86,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI29. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 0,
+    label = "aromatic-meta",
+    group = 
+"""
+1 *1 Cb u0 {2,B}
+2    Cb u0 {1,B} {3,B}
+3 *2 Cb u0 {2,B}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Aromatics NNI correction for meta position""",
+    longDesc = 
+u"""
+
+""",
+)
+
+entry(
+    index = 20,
+    label = "m_CHO_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {4,S}
+2    Cb u0 {1,B} {3,B}
+3 *2 Cb u0 {2,B} {7,S}
+4    C  u0 {1,S} {5,D} {6,S}
+5    O  u0 {4,D}
+6    H  u0 {4,S}
+7    C  u0 {3,S} {8,D} {9,S}
+8    O  u0 {7,D}
+9    H  u0 {7,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.20, 0.12, 0.06, 0.01, -0.05, -0.08, -0.10],'cal/(mol*K)'),
+        H298 = (0.57,'kcal/mol'),
+        S298 = (0.01,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Half value. Aromatics NNI correction.""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 19,
+    label = "m_Oj_OCH3",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {4,S}
+2    Cb u0 {1,B} {3,B}
+3 *2 Cb u0 {2,B} {5,S}
+4    O  u1 {1,S}
+5    O  u0 {3,S} {6,S}
+6    C  u0 {5,S} {7,S} {8,S} {9,S}
+7    H  u0 {6,S}
+8    H  u0 {6,S}
+9    H  u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.22, 0.76, 0.98, 1.03, 0.81, 0.55, 0.22],'cal/(mol*K)'),
+        H298 = (-1.65,'kcal/mol'),
+        S298 = (-1.00,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI6. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 20,
+    label = "m_Oj_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {4,S}
+2    Cb u0 {1,B} {3,B}
+3 *2 Cb u0 {2,B} {5,S}
+4    O  u1 {1,S}
+5    C  u0 {3,S} {6,D} {7,S}
+6    O  u0 {5,D}
+7    H  u0 {5,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.38, -0.38, -0.38, -0.38, 0.29, 0.22, 0.12],'cal/(mol*K)'),
+        H298 = (1.12,'kcal/mol'),
+        S298 = (0.86,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI9. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 21,
+    label = "m_Cj=O_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {4,S}
+2    Cb u0 {1,B} {3,B}
+3 *2 Cb u0 {2,B} {6,S}
+4    C  u1 {1,S} {5,D}
+5    O  u0 {4,D}
+6    C  u0 {3,S} {7,D} {8,S}
+7    O  u0 {6,D}
+8    H  u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.07, 0.17, 0.17, 0.12, 0.00, -0.07, 0.02],'cal/(mol*K)'),
+        H298 = (1.10,'kcal/mol'),
+        S298 = (0.81,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI17. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 0,
+    label = "aromatic-para",
+    group = 
+"""
+1 *1 Cb u0 {2,B}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Aromatics NNI correction for para position.""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 22,
+    label = "p_OH",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B}
+5    O u0 {1,S} {6,S}
+6    H u0 {5,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 22,
+    label = "p_OH_OH",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {7,S}
+5    O u0 {1,S} {6,S}
+6    H u0 {5,S}
+7    O u0 {4,S} {8,S}
+8    H u0 {7,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.20, 0.05, -0.10, -0.20, -0.27, -0.27, -0.20],'cal/(mol*K)'),
+        H298 = (0.87,'kcal/mol'),
+        S298 = (0.48,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Half value. This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 23,
+    label = "p_OH_MeO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {7,S}
+5    O u0 {1,S} {6,S}
+6    H u0 {5,S}
+7    O u0 {4,S} {8,S}
+8    C u0 {7,S} {9,S} {10,S} {11,S}
+9    H u0 {8,S}
+10   H u0 {8,S}
+11   H u0 {8,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.41, 0.10, -0.19, -0.41, -0.55, -0.55, -0.41],'cal/(mol*K)'),
+        H298 = (1.74,'kcal/mol'),
+        S298 = (0.96,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 24,
+    label = "p_MeO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B}
+5    O u0 {1,S} {6,S}
+6    C u0 {5,S} {7,S} {8,S} {9,S}
+7    H u0 {6,S}
+8    H u0 {6,S}
+9    H u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 24,
+    label = "p_MeO_MeO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {7,S}
+5    O u0 {1,S} {6,S}
+6    C u0 {5,S} {12,S} {13,S} {14,S}
+7    O u0 {4,S} {8,S}
+8    C u0 {7,S} {9,S} {10,S} {11,S}
+9    H u0 {8,S}
+10   H u0 {8,S}
+11   H u0 {8,S}
+12   H u0 {6,S}
+13   H u0 {6,S}
+14   H u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.20, 0.05, -0.10, -0.20, -0.27, -0.27, -0.20],'cal/(mol*K)'),
+        H298 = (0.87,'kcal/mol'),
+        S298 = (0.48,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Half value. This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 25,
+    label = "p_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B}
+5    C u0 {1,S} {6,S} {7,D}
+6    H u0 {5,S}
+7    O u0 {5,D}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 25,
+    label = "p_CHO_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {7,S}
+5    C u0 {1,S} {6,S} {10,D}
+6    H u0 {5,S}
+7    C u0 {4,S} {8,D} {9,S}
+8    O u0 {7,D}
+9    H u0 {7,S}
+10   O u0 {5,D}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.22, 0.17, 0.12, 0.08, 0.01, -0.04, -0.11],'cal/(mol*K)'),
+        H298 = (1.18,'kcal/mol'),
+        S298 = (-0.10,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Half value. This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 26,
+    label = "p_OH_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {7,S}
+5    O u0 {1,S} {6,S}
+6    H u0 {5,S}
+7    C u0 {4,S} {8,D} {9,S}
+8    O u0 {7,D}
+9    H u0 {7,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.38, -0.24, -0.07, 0.05, 0.22, 0.29, 0.36],'cal/(mol*K)'),
+        H298 = (-1.10,'kcal/mol'),
+        S298 = (-0.19,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 27,
+    label = "p_MeO_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {7,S}
+5    O u0 {1,S} {6,S}
+6    C u0 {5,S} {10,S} {11,S} {12,S}
+7    C u0 {4,S} {8,D} {9,S}
+8    O u0 {7,D}
+9    H u0 {7,S}
+10   H u0 {6,S}
+11   H u0 {6,S}
+12   H u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.38, -0.24, -0.07, 0.05, 0.22, 0.29, 0.36],'cal/(mol*K)'),
+        H298 = (-1.10,'kcal/mol'),
+        S298 = (-0.19,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""This is NNI correction from Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 23,
+    label = "p_OCH2j",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B}
+5    O  u0 {1,S} {6,S}
+6    C  u1 {5,S} {7,S} {8,S}
+7    H  u0 {6,S}
+8    H  u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 23,
+    label = "p_OCH2j_OH",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {9,S}
+5    O  u0 {1,S} {6,S}
+6    C  u1 {5,S} {7,S} {8,S}
+7    H  u0 {6,S}
+8    H  u0 {6,S}
+9    O  u0 {4,S} {10,S}
+10    H  u0 {9,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.10, -0.19, -0.43, -0.57, -0.65, -0.60, -0.33],'cal/(mol*K)'),
+        H298 = (1.43,'kcal/mol'),
+        S298 = (0.91,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI1. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 24,
+    label = "p_OCH2j_OCH3",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {9,S}
+5    O  u0 {1,S} {6,S}
+6    C  u1 {5,S} {7,S} {8,S}
+7    H  u0 {6,S}
+8    H  u0 {6,S}
+9    O  u0 {4,S} {10,S}
+10    C  u0 {9,S} {11,S} {12,S} {13,S}
+11    H  u0 {10,S}
+12    H  u0 {10,S}
+13    H  u0 {10,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.10, -0.19, -0.43, -0.57, -0.65, -0.60, -0.33],'cal/(mol*K)'),
+        H298 = (1.43,'kcal/mol'),
+        S298 = (0.91,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI1. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 25,
+    label = "p_Oj",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B}
+5    O  u1 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 25,
+    label = "p_Oj_OH",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {6,S}
+5    O  u1 {1,S}
+6    O  u0 {4,S} {7,S}
+7    H  u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.67, -0.60, -0.45, -0.29, -0.02, 0.17, 0.38],'cal/(mol*K)'),
+        H298 = (-3.78,'kcal/mol'),
+        S298 = (-0.67,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI7. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 26,
+    label = "p_Oj_OCH3",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {6,S}
+5    O  u1 {1,S}
+6    O  u0 {4,S} {7,S}
+7    C  u0 {6,S} {8,S} {9,S} {10,S}
+8    H  u0 {7,S}
+9    H  u0 {7,S}
+10    H  u0 {7,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.67, -0.60, -0.45, -0.29, -0.02, 0.17, 0.38],'cal/(mol*K)'),
+        H298 = (-3.78,'kcal/mol'),
+        S298 = (-0.67,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI7. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 27,
+    label = "p_Oj_C=C",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {6,S}
+5    O  u1 {1,S}
+6    C  u0 {4,S} {7,D} {8,S}
+7    C  u0 {6,D} {9,S} {10,S}
+8    H  u0 {6,S}
+9    H  u0 {7,S}
+10    H  u0 {7,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.07, 0.05, 0.05, 0.12, 0.22, 0.29, 0.26],'cal/(mol*K)'),
+        H298 = (-3.08,'kcal/mol'),
+        S298 = (-0.72,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI11. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 28,
+    label = "p_Oj_Cs",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {6,S}
+5    O  u1 {1,S}
+6    C  u0 {4,S} {7,S} {8,S} {9,S}
+7    H  u0 {6,S}
+8    H  u0 {6,S}
+9    [H,Cs]  u0 {6,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.17, -0.12, -0.10, -0.10, -0.07, -0.05, -0.05],'cal/(mol*K)'),
+        H298 = (-1.39,'kcal/mol'),
+        S298 = (0.07,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI13. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 29,
+    label = "p_Cj=O",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B}
+5    C  u1 {1,S} {6,D}
+6    O  u0 {5,D}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 29,
+    label = "p_Cj=O_OH",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {7,S}
+5    C  u1 {1,S} {6,D}
+6    O  u0 {5,D}
+7    O  u0 {4,S} {8,S}
+8    H  u0 {7,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.79, -0.65, -0.48, -0.24, 0.05, 0.19, 0.36],'cal/(mol*K)'),
+        H298 = (-2.06,'kcal/mol'),
+        S298 = (-0.88,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI15. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 30,
+    label = "p_Cj=O_OCH3",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {7,S}
+5    C  u1 {1,S} {6,D}
+6    O  u0 {5,D}
+7    O  u0 {4,S} {8,S}
+8    C  u0 {7,S} {9,S} {10,S} {11,S}
+9    H  u0 {8,S}
+10    H  u0 {8,S}
+11    H  u0 {8,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.79, -0.65, -0.48, -0.24, 0.05, 0.19, 0.36],'cal/(mol*K)'),
+        H298 = (-2.06,'kcal/mol'),
+        S298 = (-0.88,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI15. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 31,
+    label = "p_Cj=O_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {7,S}
+5    C  u1 {1,S} {6,D}
+6    O  u0 {5,D}
+7    C  u0 {4,S} {8,D} {9,S}
+8    O  u0 {7,D}
+9    H  u0 {7,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.24, -0.57, -0.84, -0.98, -1.08, -1.03, -0.76],'cal/(mol*K)'),
+        H298 = (1.29,'kcal/mol'),
+        S298 = (3.25,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI18. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 32,
+    label = "p_Csj",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B}
+5    C  u1 {1,S} {6,S} {7,S}
+6    H  u0 {5,S}
+7    [H,Cs]  u0 {5,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 32,
+    label = "p_Csj_C=C",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {8,S}
+5    C  u1 {1,S} {6,S} {7,S}
+6    H  u0 {5,S}
+7    [H,Cs]  u0 {5,S}
+8    C  u0 {4,S} {9,S} {10,D}
+9    H  u0 {8,S}
+10    C  u0 {8,D} {11,S} {12,S}
+11    H  u0 {10,S}
+12    H  u0 {10,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.22, 0.26, 0.29, 0.33, 0.38, 0.38, 0.31],'cal/(mol*K)'),
+        H298 = (-1.39,'kcal/mol'),
+        S298 = (-0.88,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI25. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 33,
+    label = "p_Csj_CHO",
+    group = 
+"""
+1 *1 Cb u0 {2,B} {5,S}
+2    Cb u0 {1,B} {3,B}
+3    Cb u0 {2,B} {4,B}
+4 *2 Cb u0 {3,B} {8,S}
+5    C  u1 {1,S} {6,S} {7,S}
+6    H  u0 {5,S}
+7    [H,Cs]  u0 {5,S}
+8    C  u0 {4,S} {9,S} {10,D}
+9    H  u0 {8,S}
+10    O  u0 {8,D}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.29, -0.22, -0.14, -0.10, -0.07, -0.02, 0.07],'cal/(mol*K)'),
+        H298 = (-1.24,'kcal/mol'),
+        S298 = (0.14,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""NNI27. This is NNI correction from Ince & Reyniers, AIChE 2016, reviewing""",
+    longDesc = 
+u"""
+""",
+)
+
+
+
+tree(
+"""
+L1: R
+    L2: aromatic-ortho
+        L3: o_OH
+            L4: o_OH_OH
+            L4: o_OH_MeO
+            L4: o_OH_vinyl
+            L4: o_OH_CHO
+        L3: o_CHO
+            L4: o_CHO_CHO
+            L4: o_CHO_vinyl
+            L4: o_CHO_CH3
+            L4: o_CHO_C2H5
+            L4: o_CHO_MeO
+        L3: o_vinyl
+            L4: o_vinyl_vinyl
+            L4: o_vinyl_CH3
+            L4: o_vinyl_C2H5
+        L3: o_MeO
+            L4: o_MeO_MeO
+            L4: o_MeO_vinyl
+        L3: o_CH3
+            L4: o_CH3_CH3
+            L4: o_CH3_C2H5
+        L3: o_C2H5
+            L4: o_C2H5_C2H5
+        L3: o_Oj
+            L4: o_Oj_OH
+            L4: o_Oj_OCH3
+            L4: o_Oj_CHO
+            L4: o_Oj_C=C
+            L4: o_Oj_Cs
+        L3: o_OCH2j
+            L4: o_OCH2j_CHO
+            L4: o_OCH2j_OCH3
+        L3: o_Cj=O
+            L4: o_Cj=O_OH
+            L4: o_Cj=O_OCH3
+            L4: o_Cj=O_C=C
+        L3: o_C=Cj
+            L4: o_C=Cj_OH
+            L4: o_C=Cj_CHO
+            L4: o_C=Cj_C=C
+            L4: o_C=Cj_Cs
+        L3: o_Csj
+            L4: o_Csj_C=C
+            L4: o_Csj_CHO
+            L4: o_Csj_Cs
+    L2: aromatic-meta
+        L3: m_CHO_CHO
+        L3: m_Oj_OCH3
+        L3: m_Oj_CHO
+        L3: m_Cj=O_CHO
+    L2: aromatic-para
+        L3: p_OH
+            L4: p_OH_OH
+            L4: p_OH_MeO
+            L4: p_OH_CHO
+        L3: p_MeO
+            L4: p_MeO_MeO
+            L4: p_MeO_CHO
+        L3: p_CHO
+            L4: p_CHO_CHO
+        L3: p_Oj
+            L4: p_Oj_OH
+            L4: p_Oj_OCH3
+            L4: p_Oj_C=C
+            L4: p_Oj_Cs
+        L3: p_OCH2j
+            L4: p_OCH2j_OH
+            L4: p_OCH2j_OCH3
+        L3: p_Cj=O
+            L4: p_Cj=O_OH
+            L4: p_Cj=O_OCH3
+            L4: p_Cj=O_CHO
+        L3: p_Csj
+            L4: p_Csj_C=C
+            L4: p_Csj_CHO
+"""
+)
+
diff --git a/input/thermo/groups/longDistanceInteraction_noncyclic.py b/input/thermo/groups/longDistanceInteraction_noncyclic.py
new file mode 100644
index 0000000000..5aa0e35521
--- /dev/null
+++ b/input/thermo/groups/longDistanceInteraction_noncyclic.py
@@ -0,0 +1,1168 @@
+#!/usr/bin/env python
+# encoding: utf-8
+
+name = "Long distance interaction correction for non-cyclic molecule"
+shortDesc = u""
+longDesc = u"""
+Designed to account for the long distance interaction for non-cyclic molecule.
+Currently include gauche(1,4) and 1,5 interaction corrections.
+For gauche interaction, we apply the simple counting scheme as it is in the old RMG database
+    P-P,S,T,orQ: 0
+    S-S: 0
+    S-T: 1
+    S-Q: 2
+    T-T: 2 (except T-T-T, which is 5 total)
+    T-Q: 4
+    Q-Q: 6
+        A single gauche correction is worth 0.8 kcal/mol for alkanes and 0.5 kcal/mol for ethers 
+        (cf. Benson, Thermochemical Kinetics: Methods for the Estimation of Thermochemical Data and Rate Parameters, 2nd Edition, 1976. and Cohen and Benson, Chem. Rev. 93 (1993) 2419)
+        For alkenes, the value of 0.5 kcal/mol is used and the counting scheme discussed in Benson, Cruickshank, Golden, Haugen, O'Neal, Rodgers, Shaw, and Walsh, Chemical Reviews, 1969, 69, 279, was used
+For 1,5 interaction, values used are 1976 values (1.5 kcal/mol per 1,5 interaction in alkanes and 3.5 per 1,5 interaction in ethers)
+
+Watch out:  if the groups on the two labeled atoms are identical, it's value should be halved because it'll be counted twice.
+            For example, the value of the entry CsCS-QQ is (6 * 0.8 / 2)= 2.4, 
+            because Q-Q is counted as 6 gauche corrections, one gauche worth 0.8 kcal/mol, 
+            then divided by 2 since it'll be counted in both {'*1': atom1, '*2'atom2} and {'*2': atom1, '*1'atom2}.
+            It should be claimed in the 'longDesc' if a entry was halved.
+
+Sep-30-2016 PZ
+"""
+
+entry(
+    index = 0,
+    label = "R",
+    group = 
+"""
+1 *1 R u0
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 0,
+    label = "int14_gauche",
+    group = 
+"""
+1 *1 [Cs,Os,Cd,Ss] u0 {2,S}
+2 *2 Cs u0 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 1,
+    label = "CsCs",
+    group = 
+"""
+1 *1 Cs u0 {2,S}
+2 *2 Cs u0 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 2,
+    label = "CsCs-P",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S}
+3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+4   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""Lumped PP/PS/PT/PQ, because they all counted as 0 as long as the first carbon is primary carbon""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 2,
+    label = "CsCs-S",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S}
+3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+4   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+5   Cs u0 {1,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 6,
+    label = "CsCs-SS",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S} {6,S} {7,S} {8,S}
+3   Cs                         u0 {1,S}
+4   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+6   Cs                         u0 {2,S}
+7   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 7,
+    label = "CsCs-ST",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S} {6,S} {7,S} {8,S}
+3   Cs                         u0 {1,S}
+4   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+6   Cs                         u0 {2,S}
+7   Cs                         u0 {2,S}
+8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0.8,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 8,
+    label = "CsCs-SQ",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S} {6,S} {7,S} {8,S}
+3   Cs                         u0 {1,S}
+4   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+6   Cs                         u0 {2,S}
+7   Cs                         u0 {2,S}
+8   Cs                         u0 {2,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (1.6,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 2,
+    label = "CsCs-T",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S}
+3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+4   Cs u0 {1,S}
+5   Cs u0 {1,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 9,
+    label = "CsCs-TT",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S} {6,S} {7,S} {8,S}
+3   Cs                         u0 {1,S}
+4   Cs                         u0 {1,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+6   Cs                         u0 {2,S}
+7   Cs                         u0 {2,S}
+8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0.8,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+Half Value!!!
+""",
+)
+
+entry(
+    index = 9,
+    label = "CsCs-T(TTP)",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S} {6,S} {7,S} {8,S}
+3   Cs                         u0 {1,S} {9,S} {10,S} {11,S}
+4   Cs                         u0 {1,S} {12,S} {13,S} {14,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+6   Cs                         u0 {2,S}
+7   Cs                         u0 {2,S}
+8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+9   Cs                         u0 {3,S}
+10   Cs                         u0 {3,S}
+11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
+12   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
+13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
+14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (1.2,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+(2 GI)/2 + (1 GI)/2 The additional 1 GI is for TTT structure!!!
+""",
+)
+
+entry(
+    index = 9,
+    label = "CsCs-T(TTS)",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S} {6,S} {7,S} {8,S}
+3   Cs                         u0 {1,S} {9,S} {10,S} {11,S}
+4   Cs                         u0 {1,S} {12,S} {13,S} {14,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+6   Cs                         u0 {2,S}
+7   Cs                         u0 {2,S}
+8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+9   Cs                         u0 {3,S}
+10   Cs                         u0 {3,S}
+11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
+12   Cs u0 {4,S}
+13   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
+14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (1.2,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+(2 GI)/2 + (1 GI)/2 The additional 1 GI is for TTT structure!!!
+""",
+)
+
+entry(
+    index = 9,
+    label = "CsCs-T(TTT)",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S} {6,S} {7,S} {8,S}
+3   Cs                         u0 {1,S} {9,S} {10,S} {11,S}
+4   Cs                         u0 {1,S} {12,S} {13,S} {14,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+6   Cs                         u0 {2,S}
+7   Cs                         u0 {2,S}
+8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+9   Cs                         u0 {3,S}
+10   Cs                         u0 {3,S}
+11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
+12   Cs u0 {4,S}
+13   Cs u0 {4,S}
+14   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (1.067,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+(2 GI) / 2 + (1 GI) / 3 The additional 1 GI is for TTT structure!!!
+""",
+)
+
+entry(
+    index = 9,
+    label = "CsCs-T(TTQ)",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S} {6,S} {7,S} {8,S}
+3   Cs                         u0 {1,S} {9,S} {10,S} {11,S}
+4   Cs                         u0 {1,S} {12,S} {13,S} {14,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+6   Cs                         u0 {2,S}
+7   Cs                         u0 {2,S}
+8   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+9   Cs                         u0 {3,S}
+10   Cs                         u0 {3,S}
+11   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {3,S}
+12   Cs u0 {4,S}
+13   Cs u0 {4,S}
+14   Cs u0 {4,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (1.2,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+(2 GI)/2 + (1 GI)/2 The additional 1 GI is for TTT structure!!!
+""",
+)
+
+entry(
+    index = 10,
+    label = "CsCs-TQ",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S} {6,S} {7,S} {8,S}
+3   Cs                         u0 {1,S}
+4   Cs                         u0 {1,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+6   Cs                         u0 {2,S}
+7   Cs                         u0 {2,S}
+8   Cs                         u0 {2,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (3.2,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 2,
+    label = "CsCs-Q",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S}
+3   Cs u0 {1,S}
+4   Cs u0 {1,S}
+5   Cs u0 {1,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 11,
+    label = "CsCs-QQ",
+    group = 
+"""
+1 *1 Cs                         u0 {2,S} {3,S} {4,S} {5,S}
+2 *2 Cs                         u0 {1,S} {6,S} {7,S} {8,S}
+3   Cs                         u0 {1,S}
+4   Cs                         u0 {1,S}
+5   Cs                         u0 {1,S}
+6   Cs                         u0 {2,S}
+7   Cs                         u0 {2,S}
+8   Cs                         u0 {2,S}
+""",
+
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (2.4,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+Half Value!!!
+""",
+)
+
+entry(
+    index = 12,
+    label = "OsCs",
+    group = 
+"""
+1 *1 Os u0 {2,S}
+2 *2 Cs u0 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 13,
+    label = "OsCs-P",
+    group = 
+"""
+1 *1 Os                         u0 {2,S} {3,S}
+2 *2 Cs                         u0 {1,S}
+3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 14,
+    label = "OsCs-S",
+    group = 
+"""
+1 *1 Os                         u0 {2,S} {3,S}
+2 *2 Cs                         u0 {1,S}
+3    Cs                         u0 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 14,
+    label = "OsCs-SP",
+    group = 
+"""
+1 *1 Os                         u0 {2,S} {3,S}
+2 *2 Cs                         u0 {1,S} {4,S} {5,S} {6,S}
+3   Cs                         u0 {1,S}
+4   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+6   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 15,
+    label = "OsCs-SS",
+    group = 
+"""
+1 *1 Os                         u0 {2,S} {3,S}
+2 *2 Cs                         u0 {1,S} {4,S} {5,S} {6,S}
+3   Cs                         u0 {1,S}
+4   Cs                         u0 {2,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+6   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 16,
+    label = "OsCs-ST",
+    group = 
+"""
+1 *1 Os                         u0 {2,S} {3,S}
+2 *2 Cs                         u0 {1,S} {4,S} {5,S} {6,S}
+3   Cs                         u0 {1,S}
+4   Cs                         u0 {2,S}
+5   Cs                         u0 {2,S}
+6   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {2,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0.5,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 17,
+    label = "OsCs-SQ",
+    group = 
+"""
+1 *1 Os                         u0 {2,S} {3,S}
+2 *2 Cs                         u0 {1,S} {4,S} {5,S} {6,S}
+3   Cs                         u0 {1,S}
+4   Cs                         u0 {2,S}
+5   Cs                         u0 {2,S}
+6   Cs                         u0 {2,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (1.0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 18,
+    label = "CdCs",
+    group = 
+"""
+1 *1 Cd u0 {2,D} {3,S}
+2   Cd u0 {1,D}
+3 *2 Cs u0 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 18,
+    label = "CdCs-P",
+    group = 
+"""
+1 *1 Cd u0 {2,D} {3,S} {4,S}
+2   Cd u0 {1,D}
+3   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+4 *2 Cs u0 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 19,
+    label = "CdCs-S",
+    group = 
+"""
+1 *1 Cd u0 {2,D} {3,S} {4,S}
+2   Cd u0 {1,D}
+3   Cs u0 {1,S}
+4 *2 Cs u0 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 19,
+    label = "CdCs-SP",
+    group = 
+"""
+1 *1 Cd u0 {2,D} {3,S} {4,S}
+2   Cd u0 {1,D}
+3   Cs u0 {1,S}
+4 *2 Cs u0 {1,S} {5,S} {6,S} {7,S}
+5   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
+6   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
+7   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 20,
+    label = "CdCs-SS",
+    group = 
+"""
+1 *1 Cd u0 {2,D} {3,S} {4,S}
+2   Cd u0 {1,D}
+3   Cs u0 {1,S}
+4 *2 Cs u0 {1,S} {5,S} {6,S} {7,S}
+5   Cs                         u0 {4,S}
+6   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
+7   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 21,
+    label = "CdCs-ST",
+    group = 
+"""
+1 *1 Cd u0 {2,D} {3,S} {4,S}
+2   Cd u0 {1,D}
+3   Cs u0 {1,S}
+4 *2 Cs u0 {1,S} {5,S} {6,S} {7,S}
+5   Cs                         u0 {4,S}
+6   Cs                         u0 {4,S}
+7   [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {4,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (1,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 22,
+    label = "CdCs-SQ",
+    group = 
+"""
+1 *1 Cd u0 {2,D} {3,S} {4,S}
+2   Cd u0 {1,D}
+3   Cs u0 {1,S}
+4 *2 Cs u0 {1,S} {5,S} {6,S} {7,S}
+5   Cs                         u0 {4,S}
+6   Cs                         u0 {4,S}
+7   Cs                         u0 {4,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (1,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 23,
+    label = "SsCs",
+    group = 
+"""
+1 *1 Ss u0 {2,S}
+2 *2 Cs u0 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 24,
+    label = "Ss(Cs(CsHH)H)",
+    group = 
+"""
+1 *1 Ss u0 {2,S} {3,S}
+2 *2 Cs u0 {1,S} {4,S} {5,S} {6,S}
+3   H  u0 {1,S}
+4   H  u0 {2,S}
+5   H  u0 {2,S}
+6   Cs u0 {2,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0.33,0.62,0.67,0.59,0.38,0.21,-0.01],'cal/(mol*K)'),
+        H298 = (-0.97,'kcal/mol'),
+        S298 = (-1.01,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""From old version - gauche.py""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 0,
+    label = "int15",
+    group = 
+"""
+1 *1 Cs u0 {2,S} {4,S} {5,S}
+2    [Cs,Os,Ss] u0 {1,S} {3,S}
+3 *2 Cs u0 {2,S} {6,S} {7,S} {8,S}
+4    Cs u0 {1,S}
+5    Cs u0 {1,S}
+6    Cs u0 {3,S}
+7    Cs u0 {3,S}
+8    Cs u0 {3,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 0,
+    label = "CsCsCs",
+    group = 
+"""
+1 *1 Cs u0 {2,S} {4,S} {5,S}
+2    Cs u0 {1,S} {3,S}
+3 *2 Cs u0 {2,S} {6,S} {7,S} {8,S}
+4    Cs u0 {1,S}
+5    Cs u0 {1,S}
+6    Cs u0 {3,S}
+7    Cs u0 {3,S}
+8    Cs u0 {3,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 0,
+    label = "CsCsCs-TQ",
+    group = 
+"""
+1 *1 Cs u0 {2,S} {4,S} {5,S} {9,S}
+2    Cs u0 {1,S} {3,S}
+3 *2 Cs u0 {2,S} {6,S} {7,S} {8,S}
+4    Cs u0 {1,S}
+5    Cs u0 {1,S}
+6    Cs u0 {3,S}
+7    Cs u0 {3,S}
+8    Cs u0 {3,S}
+9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (1.5,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 0,
+    label = "CsCsCs-QQ",
+    group = 
+"""
+1 *1 Cs u0 {2,S} {4,S} {5,S} {6,S}
+2    Cs u0 {1,S} {3,S}
+3 *2 Cs u0 {2,S} {7,S} {8,S} {9,S}
+4    Cs u0 {1,S}
+5    Cs u0 {1,S}
+6    Cs u0 {1,S}
+7    Cs u0 {3,S}
+8    Cs u0 {3,S}
+9    Cs u0 {3,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (1.5,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+Half Value!!!
+""",
+)
+
+entry(
+    index = 0,
+    label = "CsOsCs",
+    group = 
+"""
+1 *1 Cs u0 {2,S} {4,S} {5,S}
+2    Os u0 {1,S} {3,S}
+3 *2 Cs u0 {2,S} {6,S} {7,S} {8,S}
+4    Cs u0 {1,S}
+5    Cs u0 {1,S}
+6    Cs u0 {3,S}
+7    Cs u0 {3,S}
+8    Cs u0 {3,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 0,
+    label = "CsOsCs-TQ",
+    group = 
+"""
+1 *1 Cs u0 {2,S} {4,S} {5,S} {9,S}
+2    Os u0 {1,S} {3,S}
+3 *2 Cs u0 {2,S} {6,S} {7,S} {8,S}
+4    Cs u0 {1,S}
+5    Cs u0 {1,S}
+6    Cs u0 {3,S}
+7    Cs u0 {3,S}
+8    Cs u0 {3,S}
+9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (3.5,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 0,
+    label = "CsOsCs-QQ",
+    group = 
+"""
+1 *1 Cs u0 {2,S} {4,S} {5,S} {6,S}
+2    Os u0 {1,S} {3,S}
+3 *2 Cs u0 {2,S} {7,S} {8,S} {9,S}
+4    Cs u0 {1,S}
+5    Cs u0 {1,S}
+6    Cs u0 {1,S}
+7    Cs u0 {3,S}
+8    Cs u0 {3,S}
+9    Cs u0 {3,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (3.5,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+Half Value!!!
+""",
+)
+
+entry(
+    index = 0,
+    label = "CsSsCs",
+    group = 
+"""
+1 *1 Cs u0 {2,S} {4,S} {5,S}
+2    Ss u0 {1,S} {3,S}
+3 *2 Cs u0 {2,S} {6,S} {7,S} {8,S}
+4    Cs u0 {1,S}
+5    Cs u0 {1,S}
+6    Cs u0 {3,S}
+7    Cs u0 {3,S}
+8    Cs u0 {3,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([0,0,0,0,0,0,0],'cal/(mol*K)'),
+        H298 = (0,'kcal/mol'),
+        S298 = (0,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 0,
+    label = "CsSsCs-TQ",
+    group = 
+"""
+1 *1 Cs u0 {2,S} {4,S} {5,S} {9,S}
+2    Ss u0 {1,S} {3,S}
+3 *2 Cs u0 {2,S} {6,S} {7,S} {8,S}
+4    Cs u0 {1,S}
+5    Cs u0 {1,S}
+6    Cs u0 {3,S}
+7    Cs u0 {3,S}
+8    Cs u0 {3,S}
+9    [Cd,Cdd,Ct,Cb,Cbf,Os,CO,H] u0 {1,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.1,-0.2,-0.1,0,0.2,0.1,-0.2],'cal/(mol*K)'),
+        H298 = (3.1,'kcal/mol'),
+        S298 = (-1.9,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+""",
+)
+
+entry(
+    index = 0,
+    label = "CsSsCs-QQ",
+    group = 
+"""
+1 *1 Cs u0 {2,S} {4,S} {5,S} {6,S}
+2    Ss u0 {1,S} {3,S}
+3 *2 Cs u0 {2,S} {7,S} {8,S} {9,S}
+4    Cs u0 {1,S}
+5    Cs u0 {1,S}
+6    Cs u0 {1,S}
+7    Cs u0 {3,S}
+8    Cs u0 {3,S}
+9    Cs u0 {3,S}
+""",
+    thermo = ThermoData(
+        Tdata = ([300,400,500,600,800,1000,1500],'K'),
+        Cpdata = ([-0.5,-0.5,-0.4,-0.35,-0.3,-0.35,-0.5],'cal/(mol*K)'),
+        H298 = (2.85,'kcal/mol'),
+        S298 = (-0.85,'cal/(mol*K)'),
+    ),
+    shortDesc = u"""""",
+    longDesc = 
+u"""
+Half Value!!!
+""",
+)
+
+tree(
+"""
+L1: R
+    L2: int14_gauche
+        L3: CsCs
+            L4: CsCs-P
+            L4: CsCs-S
+                L5: CsCs-SS
+                L5: CsCs-ST
+                L5: CsCs-SQ
+            L4: CsCs-T
+                L5: CsCs-TT
+                    L6: CsCs-T(TTP)
+                    L6: CsCs-T(TTS)
+                    L6: CsCs-T(TTT)
+                    L6: CsCs-T(TTQ)
+                L5: CsCs-TQ
+            L4: CsCs-Q
+                L5: CsCs-QQ
+        L3: OsCs
+            L4: OsCs-P
+            L4: OsCs-S
+                L5: OsCs-SP
+                L5: OsCs-SS
+                L5: OsCs-ST
+                L5: OsCs-SQ
+        L3: CdCs
+            L4: CdCs-P
+            L4: CdCs-S
+                L5: CdCs-SP
+                L5: CdCs-SS
+                L5: CdCs-ST
+                L5: CdCs-SQ
+        L3: SsCs
+            L4: Ss(Cs(CsHH)H)
+    L2: int15
+        L3: CsCsCs
+            L4: CsCsCs-TQ
+            L4: CsCsCs-QQ
+        L3: CsOsCs
+            L4: CsOsCs-TQ
+            L4: CsOsCs-QQ
+        L3: CsSsCs
+            L4: CsSsCs-TQ
+            L4: CsSsCs-QQ
+"""
+)

From 715a762bbc6ad7b23da8f90f3bab978ae7f8060e Mon Sep 17 00:00:00 2001
From: PengZhang13 <zhangp@mit.edu>
Date: Mon, 23 Jan 2017 14:42:07 -0500
Subject: [PATCH 15/16] Add source for cyclic NNIs.

---
 input/thermo/groups/longDistanceInteraction_cyclic.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/input/thermo/groups/longDistanceInteraction_cyclic.py b/input/thermo/groups/longDistanceInteraction_cyclic.py
index 917a507a29..48284b7411 100644
--- a/input/thermo/groups/longDistanceInteraction_cyclic.py
+++ b/input/thermo/groups/longDistanceInteraction_cyclic.py
@@ -12,10 +12,10 @@
             It should be claimed in the 'longDesc' if a entry was halved.
 
 Source: 
-For aromatic molecule: [1] Ince & Reyniers, AIChE 2015, DOI 10.1002/aic.15008
-For aromatic radical: [2] A paper from the same group but still under reviewing.
+For aromatic molecule: [1] Ince et al., AIChE 2015, DOI 10.1002/aic.15008
+For aromatic radical: [2] Ince et al., AIChE 2016, DOI 10.1002/aic.15588
 
-Sep-29-2016 PZ
+Jan-23-2017 PZ
 """
 
 entry(

From af5d9da8951a6dc844ae1f45d814fb49589e3866 Mon Sep 17 00:00:00 2001
From: Max Liu <mjliu@mit.edu>
Date: Wed, 2 May 2018 00:25:10 -0400
Subject: [PATCH 16/16] Update RMG-database version number to 2.1.3

---
 meta.yaml | 2 +-
 setup.py  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta.yaml b/meta.yaml
index faca70fec3..6f30c2325b 100644
--- a/meta.yaml
+++ b/meta.yaml
@@ -1,7 +1,7 @@
 # For conda build
 package:
   name: rmgdatabase
-  version: "2.1.2"
+  version: "2.1.3"
 
 source:
   path: .
diff --git a/setup.py b/setup.py
index 0533eec340..617b399e6e 100644
--- a/setup.py
+++ b/setup.py
@@ -44,7 +44,7 @@
 
 # Initiate the build and/or installation
 setup(name='RMG-database',
-    version='2.1.2',
+    version='2.1.3',
     description='Reaction Mechanism Generator Database',
     author='William H. Green and the RMG Team',
     author_email='rmg_dev@mit.edu',