In [1]:
import pandas as pd
from collections import Counter

In [2]:
complete_rxn = pd.read_csv('cti_rxn.txt', header=None)
complete_rxn_list = complete_rxn.values.tolist()

In [3]:
species_rxn = {'ADIO': [[40, -1, '-1'],
  [44, -1, '-1'],
  [90, -1, '-1'],
  [132, 1, '+1'],
  [153, 1, '+1'],
  [174, 1, '+1'],
  [195, 1, '+1'],
  [216, 1, '+1'],
  [237, 1, '+1'],
  [258, 1, '+1'],
  [279, 1, '+1'],
  [300, 1, '+1'],
  [321, 1, '+1'],
  [342, 1, '+1'],
  [363, 1, '+1'],
  [364, -1, '-1'],
  [365, -1, '-1'],
  [366, -1, '-1'],
  [367, -1, '-1'],
  [368, -1, '-1'],
  [369, -1, '-1'],
  [370, -1, '-1'],
  [371, -1, '-1'],
  [372, -1, '-1'],
  [373, -1, '-1'],
  [374, -1, '-1'],
  [375, -1, '-1'],
  [376, -1, '-1'],
  [377, -1, '-1'],
  [378, -1, '-1'],
  [379, -1, '-1'],
  [380, -1, '-1'],
  [381, -1, '-1'],
  [382, -1, '-1'],
  [383, -1, '-1'],
  [384, -1, '-1'],
  [384, 1, '+1'],
  [405, 1, '+1']],
 'ADIOM2': [[32, -1, '-1'],
  [36, -1, '-1'],
  [84, -1, '-1'],
  [115, 1, '+1'],
  [136, 1, '+1'],
  [157, 1, '+1'],
  [178, 1, '+1'],
  [199, 1, '+1'],
  [220, 1, '+1'],
  [238, -1, '-1'],
  [239, -1, '-1'],
  [240, -1, '-1'],
  [241, -1, '-1'],
  [241, 1, '+1'],
  [242, -1, '-1'],
  [243, -1, '-1'],
  [244, -1, '-1'],
  [245, -1, '-1'],
  [246, -1, '-1'],
  [247, -1, '-1'],
  [248, -1, '-1'],
  [249, -1, '-1'],
  [250, -1, '-1'],
  [251, -1, '-1'],
  [252, -1, '-1'],
  [253, -1, '-1'],
  [254, -1, '-1'],
  [255, -1, '-1'],
  [256, -1, '-1'],
  [257, -1, '-1'],
  [258, -1, '-1'],
  [262, 1, '+1'],
  [283, 1, '+1'],
  [304, 1, '+1'],
  [325, 1, '+1'],
  [346, 1, '+1'],
  [367, 1, '+1'],
  [388, 1, '+1']],
 'ALD3': [[12, 1, '+1'], [13, 1, '+1']],
 'C10H2': [[11, 1, '+0.5'],
  [29, 1, '+0.5'],
  [36, 1, '+0.5'],
  [37, 1, '+0.5'],
  [38, 1, '+0.5'],
  [39, 1, '+0.5'],
  [40, 1, '+1'],
  [41, 1, '+1'],
  [42, 1, '+1'],
  [43, 1, '+1'],
  [44, 1, '+0.5'],
  [45, 1, '+0.5'],
  [46, 1, '+0.5'],
  [47, 1, '+0.5'],
  [49, 1, '+0.5'],
  [50, 1, '+0.5'],
  [51, 1, '+1'],
  [52, 1, '+0.5'],
  [55, 1, '+0.5'],
  [73, 1, '+1.5'],
  [74, 1, '+1'],
  [75, 1, '+2'],
  [76, 1, '+2'],
  [77, 1, '+1'],
  [78, 1, '+1'],
  [80, 1, '+1'],
  [81, 1, '+0.5'],
  [82, 1, '+0.5'],
  [109, 1, '+1'],
  [280, -1, '-1'],
  [280, 1, '+0.5'],
  [281, -1, '-1'],
  [281, 1, '+0.5'],
  [282, -1, '-1'],
  [282, 1, '+0.5'],
  [283, -1, '-1'],
  [283, 1, '+0.5'],
  [284, -1, '-1'],
  [284, 1, '+0.5'],
  [285, -1, '-1'],
  [285, 1, '+0.5'],
  [286, -1, '-1'],
  [286, 1, '+0.5'],
  [287, -1, '-1'],
  [287, 1, '+0.5'],
  [288, -1, '-1'],
  [288, 1, '+0.5'],
  [289, -1, '-1'],
  [289, 1, '+0.5'],
  [290, -1, '-1'],
  [290, 1, '+0.5'],
  [291, -1, '-1'],
  [291, 1, '+0.5'],
  [292, -1, '-1'],
  [292, 1, '+0.5'],
  [293, -1, '-1'],
  [293, 1, '+0.5'],
  [294, -1, '-1'],
  [294, 1, '+0.5'],
  [295, -1, '-1'],
  [295, 1, '+0.5'],
  [296, -1, '-1'],
  [296, 1, '+0.5'],
  [297, -1, '-1'],
  [297, 1, '+0.5'],
  [298, -1, '-1'],
  [298, 1, '+0.5'],
  [299, -1, '-1'],
  [299, 1, '+0.5'],
  [300, -1, '-1'],
  [300, 1, '+0.5']],
 'C10H2M2': [[29, -1, '-1'],
  [48, 1, '+0.5'],
  [49, -1, '-1'],
  [49, 1, '+0.5'],
  [50, 1, '+0.5'],
  [51, -1, '-1'],
  [51, 1, '+0.5']],
 'C10H2M4': [[10, 1, '+0.5'],
  [28, -1, '-1'],
  [28, 1, '+0.5'],
  [32, 1, '+1'],
  [33, 1, '+1'],
  [34, 1, '+1'],
  [35, 1, '+1'],
  [36, 1, '+0.5'],
  [37, 1, '+0.5'],
  [38, 1, '+0.5'],
  [39, 1, '+0.5'],
  [44, 1, '+0.5'],
  [45, 1, '+0.5'],
  [46, 1, '+0.5'],
  [47, 1, '+0.5'],
  [48, -1, '-1'],
  [48, 1, '+1'],
  [49, 1, '+0.5'],
  [50, -1, '-1'],
  [50, 1, '+0.5'],
  [53, 1, '+0.5'],
  [54, 1, '+0.5'],
  [60, 1, '+1'],
  [61, 1, '+2'],
  [62, 1, '+2'],
  [63, 1, '+1'],
  [64, 1, '+1'],
  [65, 1, '+1'],
  [79, 1, '+2'],
  [83, 1, '+0.5'],
  [110, 1, '+1']],
 'C2H6': [[70, 1, '+1']],
 'C3H4O': [[124, 1, '+1'],
  [145, 1, '+1'],
  [166, 1, '+1'],
  [187, 1, '+1'],
  [208, 1, '+1'],
  [229, 1, '+1'],
  [250, 1, '+1'],
  [271, 1, '+1'],
  [292, 1, '+1'],
  [313, 1, '+1'],
  [334, 1, '+1'],
  [355, 1, '+1'],
  [376, 1, '+1'],
  [397, 1, '+1']],
 'C3H4O2': [[18, 1, '+1'], [22, 1, '+1']],
 'C3H6': [[1, 1, '+1']],
 'C3H6O2': [[14, 1, '+1'],
  [19, 1, '+1'],
  [112, 1, '+1'],
  [133, 1, '+1'],
  [154, 1, '+1'],
  [175, 1, '+1'],
  [196, 1, '+1'],
  [217, 1, '+1'],
  [238, 1, '+1'],
  [259, 1, '+1'],
  [280, 1, '+1'],
  [301, 1, '+1'],
  [322, 1, '+1'],
  [343, 1, '+1'],
  [364, 1, '+1'],
  [385, 1, '+1']],
 'C3H8O2': [[114, 1, '+1'],
  [135, 1, '+1'],
  [156, 1, '+1'],
  [177, 1, '+1'],
  [198, 1, '+1'],
  [219, 1, '+1'],
  [240, 1, '+1'],
  [261, 1, '+1'],
  [282, 1, '+1'],
  [303, 1, '+1'],
  [324, 1, '+1'],
  [345, 1, '+1'],
  [366, 1, '+1'],
  [387, 1, '+1']],
 'CH2CO': [[30, 1, '+1'], [108, 1, '+1']],
 'CH3CHO': [[27, 1, '+1'], [57, 1, '+1']],
 'CH3OH': [[69, 1, '+1'],
  [130, 1, '+1'],
  [151, 1, '+1'],
  [172, 1, '+1'],
  [193, 1, '+1'],
  [214, 1, '+1'],
  [235, 1, '+1'],
  [256, 1, '+1'],
  [277, 1, '+1'],
  [298, 1, '+1'],
  [319, 1, '+1'],
  [340, 1, '+1'],
  [361, 1, '+1'],
  [382, 1, '+1'],
  [403, 1, '+1']],
 'CH4': [[120, 1, '+1'],
  [141, 1, '+1'],
  [162, 1, '+1'],
  [183, 1, '+1'],
  [204, 1, '+1'],
  [225, 1, '+1'],
  [246, 1, '+1'],
  [267, 1, '+1'],
  [288, 1, '+1'],
  [309, 1, '+1'],
  [330, 1, '+1'],
  [351, 1, '+1'],
  [372, 1, '+1'],
  [393, 1, '+1']],
 'CHAR': [[61, 1, '+0.2'],
  [75, 1, '+0.2'],
  [82, -1, '-1'],
  [82, 1, '+1'],
  [83, -1, '-1'],
  [83, 1, '+1'],
  [97, 1, '+0.2'],
  [100, 1, '+0.1'],
  [103, 1, '+0.1'],
  [280, 1, '+0.5'],
  [281, 1, '+0.5'],
  [282, 1, '+0.5'],
  [283, 1, '+0.5'],
  [284, 1, '+0.5'],
  [285, 1, '+0.5'],
  [286, 1, '+0.5'],
  [287, 1, '+0.5'],
  [288, 1, '+0.5'],
  [289, 1, '+0.5'],
  [290, 1, '+0.5'],
  [291, 1, '+0.5'],
  [292, 1, '+0.5'],
  [293, 1, '+0.5'],
  [294, 1, '+0.5'],
  [295, 1, '+0.5'],
  [296, 1, '+0.5'],
  [297, 1, '+0.5'],
  [298, 1, '+0.5'],
  [299, 1, '+0.5'],
  [300, 1, '+0.5']],
 'CO': [[10, 1, '+1'],
  [11, 1, '+1'],
  [94, 1, '+1'],
  [95, 1, '+1'],
  [111, 1, '+1']],
 'CO2': [[31, 1, '+1'], [52, 1, '+1'], [53, 1, '+1'], [107, 1, '+1']],
 'COUMARYL': [[25, 1, '+1'], [43, -1, '-1'], [47, -1, '-1'], [89, -1, '-1']],
 'ETOH': [[56, 1, '+1']],
 'H2': [[10, 1, '+0.5'],
  [11, 1, '+1.5'],
  [32, 1, '+0.5'],
  [33, 1, '+0.5'],
  [34, 1, '+0.5'],
  [35, 1, '+1'],
  [37, 1, '+0.5'],
  [38, 1, '+0.5'],
  [39, 1, '+1.5'],
  [40, 1, '+1.5'],
  [41, 1, '+1.5'],
  [42, 1, '+1.5'],
  [43, 1, '+2.5'],
  [44, 1, '+1.5'],
  [45, 1, '+1.5'],
  [46, 1, '+1.5'],
  [47, 1, '+1.5'],
  [48, 1, '+0.5'],
  [49, 1, '+0.5'],
  [50, 1, '+1.5'],
  [51, 1, '+1.5'],
  [52, 1, '+1.5'],
  [53, 1, '+0.5'],
  [73, 1, '+2'],
  [74, 1, '+1'],
  [75, 1, '+2'],
  [76, 1, '+2'],
  [77, 1, '+2'],
  [78, 1, '+1'],
  [79, 1, '+1'],
  [80, 1, '+1.5'],
  [81, 1, '+1'],
  [82, 1, '+1.5'],
  [83, 1, '+0.5'],
  [96, 1, '+1'],
  [97, 1, '+1'],
  [102, 1, '+0.5'],
  [103, 1, '+0.5'],
  [109, 1, '+1']],
 'H2O': [[57, 1, '+1'],
  [62, 1, '+2'],
  [66, 1, '+2'],
  [67, 1, '+2'],
  [73, 1, '+1'],
  [76, 1, '+2'],
  [79, 1, '+4'],
  [129, 1, '+1'],
  [150, 1, '+1'],
  [171, 1, '+1'],
  [192, 1, '+1'],
  [213, 1, '+1'],
  [234, 1, '+1'],
  [255, 1, '+1'],
  [276, 1, '+1'],
  [297, 1, '+1'],
  [318, 1, '+1'],
  [339, 1, '+1'],
  [360, 1, '+1'],
  [381, 1, '+1'],
  [402, 1, '+1']],
 'KET': [[20, 1, '+1'],
  [41, -1, '-1'],
  [45, -1, '-1'],
  [91, -1, '-1'],
  [122, 1, '+1'],
  [143, 1, '+1'],
  [164, 1, '+1'],
  [185, 1, '+1'],
  [206, 1, '+1'],
  [227, 1, '+1'],
  [248, 1, '+1'],
  [269, 1, '+1'],
  [290, 1, '+1'],
  [311, 1, '+1'],
  [332, 1, '+1'],
  [353, 1, '+1'],
  [374, 1, '+1'],
  [385, -1, '-1'],
  [386, -1, '-1'],
  [387, -1, '-1'],
  [388, -1, '-1'],
  [389, -1, '-1'],
  [390, -1, '-1'],
  [391, -1, '-1'],
  [392, -1, '-1'],
  [393, -1, '-1'],
  [394, -1, '-1'],
  [395, -1, '-1'],
  [395, 1, '+1'],
  [396, -1, '-1'],
  [397, -1, '-1'],
  [398, -1, '-1'],
  [399, -1, '-1'],
  [400, -1, '-1'],
  [401, -1, '-1'],
  [402, -1, '-1'],
  [403, -1, '-1'],
  [404, -1, '-1'],
  [405, -1, '-1']],
 'KETD': [[26, 1, '+1'], [42, -1, '-1'], [46, -1, '-1'], [92, -1, '-1']],
 'KETDM2': [[9, 1, '+1'],
  [24, 1, '+1'],
  [34, -1, '-1'],
  [38, -1, '-1'],
  [86, -1, '-1']],
 'KETM2': [[15, 1, '+1'],
  [33, -1, '-1'],
  [37, -1, '-1'],
  [85, -1, '-1'],
  [259, -1, '-1'],
  [260, -1, '-1'],
  [261, -1, '-1'],
  [262, -1, '-1'],
  [263, -1, '-1'],
  [264, -1, '-1'],
  [265, -1, '-1'],
  [266, -1, '-1'],
  [267, -1, '-1'],
  [268, -1, '-1'],
  [269, -1, '-1'],
  [270, -1, '-1'],
  [271, -1, '-1'],
  [272, -1, '-1'],
  [273, -1, '-1'],
  [274, -1, '-1'],
  [275, -1, '-1'],
  [276, -1, '-1'],
  [277, -1, '-1'],
  [278, -1, '-1'],
  [279, -1, '-1']],
 'LIG': [[4, -1, '-1'],
  [108, 1, '+1'],
  [125, 1, '+1'],
  [126, 1, '+1'],
  [146, 1, '+1'],
  [147, 1, '+1'],
  [167, 1, '+1'],
  [168, 1, '+1'],
  [188, 1, '+1'],
  [189, 1, '+1'],
  [209, 1, '+1'],
  [210, 1, '+1'],
  [230, 1, '+1'],
  [231, 1, '+1'],
  [251, 1, '+1'],
  [252, 1, '+1'],
  [272, 1, '+1'],
  [273, 1, '+1'],
  [293, 1, '+1'],
  [294, 1, '+1'],
  [301, -1, '-1'],
  [302, -1, '-1'],
  [303, -1, '-1'],
  [304, -1, '-1'],
  [305, -1, '-1'],
  [306, -1, '-1'],
  [307, -1, '-1'],
  [308, -1, '-1'],
  [309, -1, '-1'],
  [310, -1, '-1'],
  [311, -1, '-1'],
  [312, -1, '-1'],
  [313, -1, '-1'],
  [314, -1, '-1'],
  [314, 1, '+1'],
  [315, -1, '-1'],
  [315, 1, '+1'],
  [316, -1, '-1'],
  [317, -1, '-1'],
  [318, -1, '-1'],
  [319, -1, '-1'],
  [320, -1, '-1'],
  [321, -1, '-1'],
  [322, -1, '-1'],
  [323, -1, '-1'],
  [324, -1, '-1'],
  [325, -1, '-1'],
  [326, -1, '-1'],
  [327, -1, '-1'],
  [328, -1, '-1'],
  [329, -1, '-1'],
  [330, -1, '-1'],
  [331, -1, '-1'],
  [332, -1, '-1'],
  [333, -1, '-1'],
  [334, -1, '-1'],
  [335, -1, '-1'],
  [335, 1, '+1'],
  [336, -1, '-1'],
  [336, 1, '+1'],
  [337, -1, '-1'],
  [338, -1, '-1'],
  [339, -1, '-1'],
  [340, -1, '-1'],
  [341, -1, '-1'],
  [342, -1, '-1'],
  [356, 1, '+1'],
  [357, 1, '+1'],
  [377, 1, '+1'],
  [378, 1, '+1'],
  [398, 1, '+1'],
  [399, 1, '+1']],
 'LIGC': [[105, 1, '+1'], [108, -1, '-1']],
 'LIGH': [[1, -1, '-1'],
  [104, 1, '+1'],
  [112, -1, '-1'],
  [113, -1, '-1'],
  [114, -1, '-1'],
  [115, -1, '-1'],
  [116, -1, '-1'],
  [117, -1, '-1'],
  [118, -1, '-1'],
  [119, -1, '-1'],
  [120, -1, '-1'],
  [121, -1, '-1'],
  [122, -1, '-1'],
  [123, -1, '-1'],
  [124, -1, '-1'],
  [125, -1, '-1'],
  [126, -1, '-1'],
  [127, -1, '-1'],
  [128, -1, '-1'],
  [129, -1, '-1'],
  [130, -1, '-1'],
  [131, -1, '-1'],
  [132, -1, '-1']],
 'LIGM2': [[2, -1, '-1'],
  [107, 1, '+1'],
  [118, 1, '+1'],
  [119, 1, '+1'],
  [139, 1, '+1'],
  [140, 1, '+1'],
  [160, 1, '+1'],
  [161, 1, '+1'],
  [175, -1, '-1'],
  [176, -1, '-1'],
  [177, -1, '-1'],
  [178, -1, '-1'],
  [179, -1, '-1'],
  [180, -1, '-1'],
  [181, -1, '-1'],
  [181, 1, '+1'],
  [182, -1, '-1'],
  [182, 1, '+1'],
  [183, -1, '-1'],
  [184, -1, '-1'],
  [185, -1, '-1'],
  [186, -1, '-1'],
  [187, -1, '-1'],
  [188, -1, '-1'],
  [189, -1, '-1'],
  [190, -1, '-1'],
  [191, -1, '-1'],
  [192, -1, '-1'],
  [193, -1, '-1'],
  [194, -1, '-1'],
  [195, -1, '-1'],
  [196, -1, '-1'],
  [197, -1, '-1'],
  [198, -1, '-1'],
  [199, -1, '-1'],
  [200, -1, '-1'],
  [201, -1, '-1'],
  [202, -1, '-1'],
  [202, 1, '+1'],
  [203, -1, '-1'],
  [203, 1, '+1'],
  [204, -1, '-1'],
  [205, -1, '-1'],
  [206, -1, '-1'],
  [207, -1, '-1'],
  [208, -1, '-1'],
  [209, -1, '-1'],
  [210, -1, '-1'],
  [211, -1, '-1'],
  [212, -1, '-1'],
  [213, -1, '-1'],
  [214, -1, '-1'],
  [215, -1, '-1'],
  [216, -1, '-1'],
  [223, 1, '+1'],
  [224, 1, '+1'],
  [244, 1, '+1'],
  [245, 1, '+1'],
  [265, 1, '+1'],
  [266, 1, '+1'],
  [286, 1, '+1'],
  [287, 1, '+1'],
  [307, 1, '+1'],
  [308, 1, '+1'],
  [328, 1, '+1'],
  [329, 1, '+1'],
  [349, 1, '+1'],
  [350, 1, '+1'],
  [370, 1, '+1'],
  [371, 1, '+1'],
  [391, 1, '+1'],
  [392, 1, '+1']],
 'LIGO': [[106, 1, '+1'], [107, -1, '-1']],
 'MGUAI': [[88, -1, '-1'],
  [128, 1, '+1'],
  [149, 1, '+1'],
  [170, 1, '+1'],
  [191, 1, '+1'],
  [212, 1, '+1'],
  [233, 1, '+1'],
  [254, 1, '+1'],
  [275, 1, '+1'],
  [296, 1, '+1'],
  [317, 1, '+1'],
  [338, 1, '+1'],
  [359, 1, '+1'],
  [380, 1, '+1'],
  [401, 1, '+1']],
 'OH': [[1, 1, '+1'],
  [9, 1, '+1'],
  [23, 1, '+1'],
  [24, 1, '+1'],
  [25, 1, '+1'],
  [26, 1, '+1'],
  [69, -1, '-1'],
  [98, 1, '+1'],
  [99, 1, '+1'],
  [100, 1, '+1'],
  [129, -1, '-1'],
  [150, -1, '-1'],
  [171, -1, '-1'],
  [192, -1, '-1'],
  [213, -1, '-1'],
  [234, -1, '-1'],
  [255, -1, '-1'],
  [276, -1, '-1'],
  [297, -1, '-1'],
  [318, -1, '-1'],
  [339, -1, '-1'],
  [360, -1, '-1'],
  [381, -1, '-1'],
  [402, -1, '-1']],
 'PADIO': [[7, -1, '-1'],
  [123, 1, '+1'],
  [144, 1, '+1'],
  [165, 1, '+1'],
  [186, 1, '+1'],
  [207, 1, '+1'],
  [228, 1, '+1'],
  [249, 1, '+1'],
  [270, 1, '+1'],
  [291, 1, '+1'],
  [312, 1, '+1'],
  [333, 1, '+1'],
  [354, 1, '+1'],
  [375, 1, '+1'],
  [396, 1, '+1']],
 'PADIOM2': [[6, -1, '-1'],
  [58, 1, '+1'],
  [71, 1, '+1'],
  [127, 1, '+1'],
  [148, 1, '+1'],
  [169, 1, '+1'],
  [190, 1, '+1'],
  [211, 1, '+1'],
  [232, 1, '+1'],
  [253, 1, '+1'],
  [274, 1, '+1'],
  [295, 1, '+1'],
  [316, 1, '+1'],
  [337, 1, '+1'],
  [358, 1, '+1'],
  [379, 1, '+1'],
  [400, 1, '+1']],
 'PC2H2': [[62, 1, '+2'],
  [66, 1, '+2'],
  [67, 1, '+2'],
  [68, 1, '+2'],
  [73, 1, '+1'],
  [76, 1, '+2'],
  [79, 1, '+2'],
  [81, 1, '+1'],
  [97, -1, '-1'],
  [99, 1, '+0.5']],
 'PCH2OH': [[58, 1, '+1'],
  [59, 1, '+1'],
  [60, 1, '+2'],
  [61, 1, '+2'],
  [64, 1, '+2'],
  [74, 1, '+2'],
  [75, 1, '+2'],
  [77, 1, '+2'],
  [98, -1, '-1'],
  [109, 1, '+2'],
  [110, 1, '+2']],
 'PCH2P': [[79, 1, '+2'], [98, 1, '+1'], [102, -1, '-1']],
 'PCH3': [[54, 1, '+1'],
  [55, 1, '+1'],
  [71, 1, '+1'],
  [72, 1, '+1'],
  [79, 1, '+2'],
  [101, -1, '-1']],
 'PCHO': [[65, 1, '+2'], [78, 1, '+2'], [111, -1, '-1']],
 'PCHOHP': [[60, 1, '+2'],
  [61, 1, '+2'],
  [65, 1, '+2'],
  [66, 1, '+2'],
  [74, 1, '+2'],
  [75, 1, '+2'],
  [78, 1, '+2'],
  [99, -1, '-1'],
  [109, 1, '+2'],
  [110, 1, '+2']],
 'PCHP2': [[60, 1, '+2'],
  [64, 1, '+2'],
  [65, 1, '+2'],
  [74, 1, '+2'],
  [77, 1, '+2'],
  [78, 1, '+2'],
  [79, 1, '+2'],
  [102, 1, '+1'],
  [103, -1, '-1'],
  [109, 1, '+2'],
  [110, 1, '+2']],
 'PCOH': [[32, 1, '+2'],
  [33, 1, '+2'],
  [34, 1, '+2'],
  [35, 1, '+2'],
  [36, 1, '+1'],
  [38, 1, '+1'],
  [39, 1, '+1'],
  [44, 1, '+1'],
  [45, 1, '+1'],
  [46, 1, '+1'],
  [47, 1, '+1'],
  [48, 1, '+1'],
  [49, 1, '+1'],
  [54, 1, '+1'],
  [55, 1, '+1'],
  [60, 1, '+2'],
  [61, 1, '+4'],
  [62, 1, '+4'],
  [63, 1, '+2'],
  [64, 1, '+4'],
  [65, 1, '+2'],
  [67, 1, '+2'],
  [68, 1, '+2'],
  [74, 1, '+1'],
  [77, 1, '+3'],
  [79, 1, '+4'],
  [81, 1, '+1'],
  [95, -1, '-1'],
  [109, 1, '+1'],
  [110, 1, '+2']],
 'PCOHP2': [[62, 1, '+2'],
  [73, 1, '+1'],
  [76, 1, '+2'],
  [79, 1, '+2'],
  [100, -1, '-1']],
 'PCOS': [[36, 1, '+1'],
  [37, 1, '+2'],
  [38, 1, '+1'],
  [39, 1, '+1'],
  [40, 1, '+2'],
  [41, 1, '+2'],
  [42, 1, '+2'],
  [43, 1, '+2'],
  [44, 1, '+1'],
  [45, 1, '+1'],
  [46, 1, '+1'],
  [47, 1, '+1'],
  [50, 1, '+1'],
  [51, 1, '+1'],
  [73, 1, '+3'],
  [74, 1, '+1'],
  [75, 1, '+1'],
  [75, 1, '+3'],
  [76, 1, '+4'],
  [77, 1, '+1'],
  [78, 1, '+2'],
  [80, 1, '+2'],
  [81, 1, '+1'],
  [82, 1, '+1'],
  [83, 1, '+1'],
  [94, -1, '-1'],
  [109, 1, '+1']],
 'PFET3': [[21, 1, '+1'],
  [113, 1, '+1'],
  [134, 1, '+1'],
  [155, 1, '+1'],
  [176, 1, '+1'],
  [197, 1, '+1'],
  [218, 1, '+1'],
  [239, 1, '+1'],
  [260, 1, '+1'],
  [281, 1, '+1'],
  [302, 1, '+1'],
  [323, 1, '+1'],
  [343, -1, '-1'],
  [344, -1, '-1'],
  [344, 1, '+1'],
  [345, -1, '-1'],
  [346, -1, '-1'],
  [347, -1, '-1'],
  [348, -1, '-1'],
  [349, -1, '-1'],
  [350, -1, '-1'],
  [351, -1, '-1'],
  [352, -1, '-1'],
  [353, -1, '-1'],
  [354, -1, '-1'],
  [355, -1, '-1'],
  [356, -1, '-1'],
  [357, -1, '-1'],
  [358, -1, '-1'],
  [359, -1, '-1'],
  [360, -1, '-1'],
  [361, -1, '-1'],
  [362, -1, '-1'],
  [363, -1, '-1'],
  [365, 1, '+1'],
  [386, 1, '+1']],
 'PFET3M2': [[17, 1, '+1'],
  [116, 1, '+1'],
  [137, 1, '+1'],
  [158, 1, '+1'],
  [179, 1, '+1'],
  [200, 1, '+1'],
  [217, -1, '-1'],
  [218, -1, '-1'],
  [219, -1, '-1'],
  [220, -1, '-1'],
  [221, -1, '-1'],
  [221, 1, '+1'],
  [222, -1, '-1'],
  [223, -1, '-1'],
  [224, -1, '-1'],
  [225, -1, '-1'],
  [226, -1, '-1'],
  [227, -1, '-1'],
  [228, -1, '-1'],
  [229, -1, '-1'],
  [230, -1, '-1'],
  [231, -1, '-1'],
  [232, -1, '-1'],
  [233, -1, '-1'],
  [234, -1, '-1'],
  [235, -1, '-1'],
  [236, -1, '-1'],
  [237, -1, '-1'],
  [242, 1, '+1'],
  [263, 1, '+1'],
  [284, 1, '+1'],
  [305, 1, '+1'],
  [326, 1, '+1'],
  [347, 1, '+1'],
  [368, 1, '+1'],
  [389, 1, '+1']],
 'PH2': [[32, 1, '+1'],
  [33, 1, '+1'],
  [34, 1, '+1'],
  [35, 1, '+1.5'],
  [36, 1, '+1'],
  [37, 1, '+2'],
  [38, 1, '+2'],
  [39, 1, '+2'],
  [40, 1, '+2'],
  [41, 1, '+2'],
  [42, 1, '+2'],
  [43, 1, '+2'],
  [44, 1, '+1'],
  [45, 1, '+1'],
  [46, 1, '+1'],
  [47, 1, '+2'],
  [54, 1, '+0.5'],
  [55, 1, '+1.5'],
  [60, 1, '+2'],
  [61, 1, '+3'],
  [62, 1, '+3'],
  [63, 1, '+2'],
  [64, 1, '+2'],
  [65, 1, '+1'],
  [66, 1, '+1'],
  [67, 1, '+1'],
  [68, 1, '+1'],
  [73, 1, '+3'],
  [74, 1, '+3'],
  [75, 1, '+5'],
  [76, 1, '+5'],
  [77, 1, '+2'],
  [78, 1, '+2'],
  [80, 1, '+2'],
  [81, 1, '+1'],
  [96, -1, '-1'],
  [109, 1, '+2'],
  [110, 1, '+1']],
 'PHENOL': [[93, -1, '-1'],
  [131, 1, '+1'],
  [152, 1, '+1'],
  [173, 1, '+1'],
  [194, 1, '+1'],
  [215, 1, '+1'],
  [236, 1, '+1'],
  [257, 1, '+1'],
  [278, 1, '+1'],
  [299, 1, '+1'],
  [320, 1, '+1'],
  [341, 1, '+1'],
  [362, 1, '+1'],
  [383, 1, '+1'],
  [404, 1, '+1']],
 'PKETM2': [[8, -1, '-1'],
  [16, 1, '+1'],
  [59, 1, '+1'],
  [72, 1, '+1'],
  [121, 1, '+1'],
  [142, 1, '+1'],
  [163, 1, '+1'],
  [184, 1, '+1'],
  [205, 1, '+1'],
  [226, 1, '+1'],
  [247, 1, '+1'],
  [268, 1, '+1'],
  [289, 1, '+1'],
  [310, 1, '+1'],
  [331, 1, '+1'],
  [352, 1, '+1'],
  [373, 1, '+1'],
  [394, 1, '+1']],
 'PLIG': [[5, -1, '-1'], [30, 1, '+1']],
 'PLIGC': [[30, -1, '-1'], [105, -1, '-1']],
 'PLIGH': [[0, -1, '-1'],
  [104, -1, '-1'],
  [117, 1, '+1'],
  [133, -1, '-1'],
  [134, -1, '-1'],
  [135, -1, '-1'],
  [136, -1, '-1'],
  [137, -1, '-1'],
  [138, -1, '-1'],
  [138, 1, '+1'],
  [139, -1, '-1'],
  [140, -1, '-1'],
  [141, -1, '-1'],
  [142, -1, '-1'],
  [143, -1, '-1'],
  [144, -1, '-1'],
  [145, -1, '-1'],
  [146, -1, '-1'],
  [147, -1, '-1'],
  [148, -1, '-1'],
  [149, -1, '-1'],
  [150, -1, '-1'],
  [151, -1, '-1'],
  [152, -1, '-1'],
  [153, -1, '-1'],
  [159, 1, '+1'],
  [180, 1, '+1'],
  [201, 1, '+1'],
  [222, 1, '+1'],
  [243, 1, '+1'],
  [264, 1, '+1'],
  [285, 1, '+1'],
  [306, 1, '+1'],
  [327, 1, '+1'],
  [348, 1, '+1'],
  [369, 1, '+1'],
  [390, 1, '+1']],
 'PLIGM2': [[3, -1, '-1'],
  [31, 1, '+1'],
  [154, -1, '-1'],
  [155, -1, '-1'],
  [156, -1, '-1'],
  [157, -1, '-1'],
  [158, -1, '-1'],
  [159, -1, '-1'],
  [160, -1, '-1'],
  [161, -1, '-1'],
  [162, -1, '-1'],
  [163, -1, '-1'],
  [164, -1, '-1'],
  [165, -1, '-1'],
  [166, -1, '-1'],
  [167, -1, '-1'],
  [168, -1, '-1'],
  [169, -1, '-1'],
  [170, -1, '-1'],
  [171, -1, '-1'],
  [172, -1, '-1'],
  [173, -1, '-1'],
  [174, -1, '-1']],
 'PLIGO': [[31, -1, '-1'], [106, -1, '-1']],
 'PRADIO': [[5, 1, '+1'],
  [7, 1, '+1'],
  [109, -1, '-2'],
  [123, -1, '-1'],
  [144, -1, '-1'],
  [165, -1, '-1'],
  [186, -1, '-1'],
  [207, -1, '-1'],
  [228, -1, '-1'],
  [249, -1, '-1'],
  [270, -1, '-1'],
  [291, -1, '-1'],
  [312, -1, '-1'],
  [333, -1, '-1'],
  [354, -1, '-1'],
  [375, -1, '-1'],
  [396, -1, '-1']],
 'PRADIOM2': [[3, 1, '+1'],
  [6, 1, '+1'],
  [58, -1, '-1'],
  [71, -1, '-1'],
  [110, -1, '-2'],
  [127, -1, '-1'],
  [148, -1, '-1'],
  [169, -1, '-1'],
  [190, -1, '-1'],
  [211, -1, '-1'],
  [232, -1, '-1'],
  [253, -1, '-1'],
  [274, -1, '-1'],
  [295, -1, '-1'],
  [316, -1, '-1'],
  [337, -1, '-1'],
  [358, -1, '-1'],
  [379, -1, '-1'],
  [400, -1, '-1']],
 'PRFET3': [[22, -1, '-1'],
  [78, -1, '-1'],
  [78, -1, '-1'],
  [113, -1, '-1'],
  [134, -1, '-1'],
  [155, -1, '-1'],
  [176, -1, '-1'],
  [197, -1, '-1'],
  [218, -1, '-1'],
  [239, -1, '-1'],
  [260, -1, '-1'],
  [281, -1, '-1'],
  [302, -1, '-1'],
  [323, -1, '-1'],
  [343, 1, '+1'],
  [344, -1, '-1'],
  [344, 1, '+1'],
  [345, 1, '+1'],
  [346, 1, '+1'],
  [347, 1, '+1'],
  [348, 1, '+1'],
  [349, 1, '+1'],
  [350, 1, '+1'],
  [351, 1, '+1'],
  [352, 1, '+1'],
  [353, 1, '+1'],
  [354, 1, '+1'],
  [355, 1, '+1'],
  [356, 1, '+1'],
  [357, 1, '+1'],
  [358, 1, '+1'],
  [359, 1, '+1'],
  [360, 1, '+1'],
  [361, 1, '+1'],
  [362, 1, '+1'],
  [363, 1, '+1'],
  [365, -1, '-1'],
  [386, -1, '-1']],
 'PRFET3M2': [[18, -1, '-1'],
  [65, -1, '-1'],
  [65, -1, '-1'],
  [116, -1, '-1'],
  [137, -1, '-1'],
  [158, -1, '-1'],
  [179, -1, '-1'],
  [200, -1, '-1'],
  [217, 1, '+1'],
  [218, 1, '+1'],
  [219, 1, '+1'],
  [220, 1, '+1'],
  [221, -1, '-1'],
  [221, 1, '+1'],
  [222, 1, '+1'],
  [223, 1, '+1'],
  [224, 1, '+1'],
  [225, 1, '+1'],
  [226, 1, '+1'],
  [227, 1, '+1'],
  [228, 1, '+1'],
  [229, 1, '+1'],
  [230, 1, '+1'],
  [231, 1, '+1'],
  [232, 1, '+1'],
  [233, 1, '+1'],
  [234, 1, '+1'],
  [235, 1, '+1'],
  [236, 1, '+1'],
  [237, 1, '+1'],
  [242, -1, '-1'],
  [263, -1, '-1'],
  [284, -1, '-1'],
  [305, -1, '-1'],
  [326, -1, '-1'],
  [347, -1, '-1'],
  [368, -1, '-1'],
  [389, -1, '-1']],
 'PRKETM2': [[8, 1, '+1'],
  [9, -1, '-1'],
  [59, -1, '-1'],
  [72, -1, '-1'],
  [121, -1, '-1'],
  [142, -1, '-1'],
  [163, -1, '-1'],
  [184, -1, '-1'],
  [205, -1, '-1'],
  [226, -1, '-1'],
  [247, -1, '-1'],
  [268, -1, '-1'],
  [289, -1, '-1'],
  [310, -1, '-1'],
  [331, -1, '-1'],
  [352, -1, '-1'],
  [373, -1, '-1'],
  [394, -1, '-1']],
 'PRLIGH': [[0, 1, '+1'],
  [117, -1, '-1'],
  [138, -1, '-1'],
  [159, -1, '-1'],
  [180, -1, '-1'],
  [201, -1, '-1'],
  [222, -1, '-1'],
  [243, -1, '-1'],
  [264, -1, '-1'],
  [285, -1, '-1'],
  [306, -1, '-1'],
  [327, -1, '-1'],
  [348, -1, '-1'],
  [369, -1, '-1'],
  [390, -1, '-1']],
 'PRLIGH2': [[13, -1, '-1'],
  [133, 1, '+1'],
  [134, 1, '+1'],
  [135, 1, '+1'],
  [136, 1, '+1'],
  [137, 1, '+1'],
  [138, 1, '+1'],
  [139, 1, '+1'],
  [140, 1, '+1'],
  [141, 1, '+1'],
  [142, 1, '+1'],
  [143, 1, '+1'],
  [144, 1, '+1'],
  [145, 1, '+1'],
  [146, 1, '+1'],
  [147, 1, '+1'],
  [148, 1, '+1'],
  [149, 1, '+1'],
  [150, 1, '+1'],
  [151, 1, '+1'],
  [152, 1, '+1'],
  [153, 1, '+1']],
 'PRLIGM2A': [[13, 1, '+1'],
  [16, -1, '-1'],
  [154, 1, '+1'],
  [155, 1, '+1'],
  [156, 1, '+1'],
  [157, 1, '+1'],
  [158, 1, '+1'],
  [159, 1, '+1'],
  [160, 1, '+1'],
  [161, 1, '+1'],
  [162, 1, '+1'],
  [163, 1, '+1'],
  [164, 1, '+1'],
  [165, 1, '+1'],
  [166, 1, '+1'],
  [167, 1, '+1'],
  [168, 1, '+1'],
  [169, 1, '+1'],
  [170, 1, '+1'],
  [171, 1, '+1'],
  [172, 1, '+1'],
  [173, 1, '+1'],
  [174, 1, '+1']],
 'RADIO': [[4, 1, '+1'],
  [19, -1, '-1'],
  [25, -1, '-1'],
  [74, -1, '-2'],
  [132, -1, '-1'],
  [153, -1, '-1'],
  [174, -1, '-1'],
  [195, -1, '-1'],
  [216, -1, '-1'],
  [237, -1, '-1'],
  [258, -1, '-1'],
  [279, -1, '-1'],
  [300, -1, '-1'],
  [321, -1, '-1'],
  [342, -1, '-1'],
  [363, -1, '-1'],
  [364, 1, '+1'],
  [365, 1, '+1'],
  [366, 1, '+1'],
  [367, 1, '+1'],
  [368, 1, '+1'],
  [369, 1, '+1'],
  [370, 1, '+1'],
  [371, 1, '+1'],
  [372, 1, '+1'],
  [373, 1, '+1'],
  [374, 1, '+1'],
  [375, 1, '+1'],
  [376, 1, '+1'],
  [377, 1, '+1'],
  [378, 1, '+1'],
  [379, 1, '+1'],
  [380, 1, '+1'],
  [381, 1, '+1'],
  [382, 1, '+1'],
  [383, 1, '+1'],
  [384, -1, '-1'],
  [384, 1, '+1'],
  [405, -1, '-1']],
 'RADIOM2': [[2, 1, '+1'],
  [14, -1, '-1'],
  [23, -1, '-1'],
  [60, -1, '-2'],
  [115, -1, '-1'],
  [136, -1, '-1'],
  [157, -1, '-1'],
  [178, -1, '-1'],
  [199, -1, '-1'],
  [220, -1, '-1'],
  [238, 1, '+1'],
  [239, 1, '+1'],
  [240, 1, '+1'],
  [241, -1, '-1'],
  [241, 1, '+1'],
  [242, 1, '+1'],
  [243, 1, '+1'],
  [244, 1, '+1'],
  [245, 1, '+1'],
  [246, 1, '+1'],
  [247, 1, '+1'],
  [248, 1, '+1'],
  [249, 1, '+1'],
  [250, 1, '+1'],
  [251, 1, '+1'],
  [252, 1, '+1'],
  [253, 1, '+1'],
  [254, 1, '+1'],
  [255, 1, '+1'],
  [256, 1, '+1'],
  [257, 1, '+1'],
  [258, 1, '+1'],
  [262, -1, '-1'],
  [283, -1, '-1'],
  [304, -1, '-1'],
  [325, -1, '-1'],
  [346, -1, '-1'],
  [367, -1, '-1'],
  [388, -1, '-1']],
 'RC3H3O': [[34, 1, '+1'],
  [35, 1, '+1'],
  [38, 1, '+1'],
  [39, 1, '+1'],
  [42, 1, '+1'],
  [43, 1, '+1'],
  [46, 1, '+1'],
  [47, 1, '+1'],
  [68, -1, '-2'],
  [81, -1, '-1'],
  [124, -1, '-1'],
  [145, -1, '-1'],
  [166, -1, '-1'],
  [187, -1, '-1'],
  [208, -1, '-1'],
  [229, -1, '-1'],
  [250, -1, '-1'],
  [271, -1, '-1'],
  [292, -1, '-1'],
  [313, -1, '-1'],
  [334, -1, '-1'],
  [355, -1, '-1'],
  [376, -1, '-1'],
  [397, -1, '-1']],
 'RC3H5O2': [[33, 1, '+1'],
  [37, 1, '+1'],
  [41, 1, '+1'],
  [45, 1, '+1'],
  [67, -1, '-2'],
  [112, -1, '-1'],
  [133, -1, '-1'],
  [154, -1, '-1'],
  [175, -1, '-1'],
  [196, -1, '-1'],
  [217, -1, '-1'],
  [238, -1, '-1'],
  [259, -1, '-1'],
  [280, -1, '-1'],
  [301, -1, '-1'],
  [322, -1, '-1'],
  [343, -1, '-1'],
  [364, -1, '-1'],
  [385, -1, '-1']],
 'RC3H7O2': [[27, -1, '-1'],
  [32, 1, '+1'],
  [36, 1, '+1'],
  [40, 1, '+1'],
  [44, 1, '+1'],
  [66, -1, '-2'],
  [114, -1, '-1'],
  [135, -1, '-1'],
  [156, -1, '-1'],
  [177, -1, '-1'],
  [198, -1, '-1'],
  [219, -1, '-1'],
  [240, -1, '-1'],
  [261, -1, '-1'],
  [282, -1, '-1'],
  [303, -1, '-1'],
  [324, -1, '-1'],
  [345, -1, '-1'],
  [366, -1, '-1'],
  [387, -1, '-1']],
 'RCH3': [[52, 1, '+1'],
  [53, 1, '+1'],
  [54, -1, '-1'],
  [55, -1, '-1'],
  [56, -1, '-1'],
  [69, -1, '-1'],
  [70, -1, '-2'],
  [71, -1, '-1'],
  [72, -1, '-1'],
  [101, 1, '+1'],
  [120, -1, '-1'],
  [141, -1, '-1'],
  [162, -1, '-1'],
  [183, -1, '-1'],
  [204, -1, '-1'],
  [225, -1, '-1'],
  [246, -1, '-1'],
  [267, -1, '-1'],
  [288, -1, '-1'],
  [309, -1, '-1'],
  [330, -1, '-1'],
  [351, -1, '-1'],
  [372, -1, '-1'],
  [393, -1, '-1']],
 'RCH3O': [[27, 1, '+1'],
  [28, 1, '+1'],
  [29, 1, '+1'],
  [48, 1, '+1'],
  [49, 1, '+1'],
  [50, 1, '+1'],
  [51, 1, '+1'],
  [52, -1, '-1'],
  [53, -1, '-1'],
  [56, -1, '-1'],
  [57, -1, '-2'],
  [58, -1, '-1'],
  [59, -1, '-1'],
  [130, -1, '-1'],
  [151, -1, '-1'],
  [172, -1, '-1'],
  [193, -1, '-1'],
  [214, -1, '-1'],
  [235, -1, '-1'],
  [256, -1, '-1'],
  [277, -1, '-1'],
  [298, -1, '-1'],
  [319, -1, '-1'],
  [340, -1, '-1'],
  [361, -1, '-1'],
  [382, -1, '-1'],
  [403, -1, '-1']],
 'RKET': [[26, -1, '-1'],
  [77, -1, '-2'],
  [122, -1, '-1'],
  [143, -1, '-1'],
  [164, -1, '-1'],
  [185, -1, '-1'],
  [206, -1, '-1'],
  [227, -1, '-1'],
  [248, -1, '-1'],
  [269, -1, '-1'],
  [290, -1, '-1'],
  [311, -1, '-1'],
  [332, -1, '-1'],
  [353, -1, '-1'],
  [374, -1, '-1'],
  [385, 1, '+1'],
  [386, 1, '+1'],
  [387, 1, '+1'],
  [388, 1, '+1'],
  [389, 1, '+1'],
  [390, 1, '+1'],
  [391, 1, '+1'],
  [392, 1, '+1'],
  [393, 1, '+1'],
  [394, 1, '+1'],
  [395, -1, '-1'],
  [395, 1, '+1'],
  [396, 1, '+1'],
  [397, 1, '+1'],
  [398, 1, '+1'],
  [399, 1, '+1'],
  [400, 1, '+1'],
  [401, 1, '+1'],
  [402, 1, '+1'],
  [403, 1, '+1'],
  [404, 1, '+1'],
  [405, 1, '+1']],
 'RKETM2': [[24, -1, '-1'],
  [64, -1, '-2'],
  [259, 1, '+1'],
  [260, 1, '+1'],
  [261, 1, '+1'],
  [262, 1, '+1'],
  [263, 1, '+1'],
  [264, 1, '+1'],
  [265, 1, '+1'],
  [266, 1, '+1'],
  [267, 1, '+1'],
  [268, 1, '+1'],
  [269, 1, '+1'],
  [270, 1, '+1'],
  [271, 1, '+1'],
  [272, 1, '+1'],
  [273, 1, '+1'],
  [274, 1, '+1'],
  [275, 1, '+1'],
  [276, 1, '+1'],
  [277, 1, '+1'],
  [278, 1, '+1'],
  [279, 1, '+1']],
 'RLIGA': [[20, -1, '-1'],
  [76, -1, '-2'],
  [126, -1, '-1'],
  [147, -1, '-1'],
  [168, -1, '-1'],
  [189, -1, '-1'],
  [210, -1, '-1'],
  [231, -1, '-1'],
  [252, -1, '-1'],
  [273, -1, '-1'],
  [294, -1, '-1'],
  [301, 1, '+1'],
  [302, 1, '+1'],
  [303, 1, '+1'],
  [304, 1, '+1'],
  [305, 1, '+1'],
  [306, 1, '+1'],
  [307, 1, '+1'],
  [308, 1, '+1'],
  [309, 1, '+1'],
  [310, 1, '+1'],
  [311, 1, '+1'],
  [312, 1, '+1'],
  [313, 1, '+1'],
  [314, 1, '+1'],
  [315, -1, '-1'],
  [315, 1, '+1'],
  [316, 1, '+1'],
  [317, 1, '+1'],
  [318, 1, '+1'],
  [319, 1, '+1'],
  [320, 1, '+1'],
  [321, 1, '+1'],
  [336, -1, '-1'],
  [357, -1, '-1'],
  [378, -1, '-1'],
  [399, -1, '-1']],
 'RLIGB': [[21, -1, '-1'],
  [73, -1, '-1'],
  [75, -1, '-1'],
  [75, -1, '-1'],
  [125, -1, '-1'],
  [146, -1, '-1'],
  [167, -1, '-1'],
  [188, -1, '-1'],
  [209, -1, '-1'],
  [230, -1, '-1'],
  [251, -1, '-1'],
  [272, -1, '-1'],
  [293, -1, '-1'],
  [314, -1, '-1'],
  [322, 1, '+1'],
  [323, 1, '+1'],
  [324, 1, '+1'],
  [325, 1, '+1'],
  [326, 1, '+1'],
  [327, 1, '+1'],
  [328, 1, '+1'],
  [329, 1, '+1'],
  [330, 1, '+1'],
  [331, 1, '+1'],
  [332, 1, '+1'],
  [333, 1, '+1'],
  [334, 1, '+1'],
  [335, -1, '-1'],
  [335, 1, '+1'],
  [336, 1, '+1'],
  [337, 1, '+1'],
  [338, 1, '+1'],
  [339, 1, '+1'],
  [340, 1, '+1'],
  [341, 1, '+1'],
  [342, 1, '+1'],
  [356, -1, '-1'],
  [377, -1, '-1'],
  [398, -1, '-1']],
 'RLIGH': [[12, -1, '-1'],
  [79, -1, '-1'],
  [79, -1, '-1'],
  [112, 1, '+1'],
  [113, 1, '+1'],
  [114, 1, '+1'],
  [115, 1, '+1'],
  [116, 1, '+1'],
  [117, 1, '+1'],
  [118, 1, '+1'],
  [119, 1, '+1'],
  [120, 1, '+1'],
  [121, 1, '+1'],
  [122, 1, '+1'],
  [123, 1, '+1'],
  [124, 1, '+1'],
  [125, 1, '+1'],
  [126, 1, '+1'],
  [127, 1, '+1'],
  [128, 1, '+1'],
  [129, 1, '+1'],
  [130, 1, '+1'],
  [131, 1, '+1'],
  [132, 1, '+1']],
 'RLIGM2A': [[1, 1, '+1'],
  [12, 1, '+1'],
  [15, -1, '-1'],
  [62, -1, '-2'],
  [119, -1, '-1'],
  [140, -1, '-1'],
  [161, -1, '-1'],
  [175, 1, '+1'],
  [176, 1, '+1'],
  [177, 1, '+1'],
  [178, 1, '+1'],
  [179, 1, '+1'],
  [180, 1, '+1'],
  [181, 1, '+1'],
  [182, -1, '-1'],
  [182, 1, '+1'],
  [183, 1, '+1'],
  [184, 1, '+1'],
  [185, 1, '+1'],
  [186, 1, '+1'],
  [187, 1, '+1'],
  [188, 1, '+1'],
  [189, 1, '+1'],
  [190, 1, '+1'],
  [191, 1, '+1'],
  [192, 1, '+1'],
  [193, 1, '+1'],
  [194, 1, '+1'],
  [195, 1, '+1'],
  [203, -1, '-1'],
  [224, -1, '-1'],
  [245, -1, '-1'],
  [266, -1, '-1'],
  [287, -1, '-1'],
  [308, -1, '-1'],
  [329, -1, '-1'],
  [350, -1, '-1'],
  [371, -1, '-1'],
  [392, -1, '-1']],
 'RLIGM2B': [[17, -1, '-1'],
  [61, -1, '-2'],
  [118, -1, '-1'],
  [139, -1, '-1'],
  [160, -1, '-1'],
  [181, -1, '-1'],
  [196, 1, '+1'],
  [197, 1, '+1'],
  [198, 1, '+1'],
  [199, 1, '+1'],
  [200, 1, '+1'],
  [201, 1, '+1'],
  [202, -1, '-1'],
  [202, 1, '+1'],
  [203, 1, '+1'],
  [204, 1, '+1'],
  [205, 1, '+1'],
  [206, 1, '+1'],
  [207, 1, '+1'],
  [208, 1, '+1'],
  [209, 1, '+1'],
  [210, 1, '+1'],
  [211, 1, '+1'],
  [212, 1, '+1'],
  [213, 1, '+1'],
  [214, 1, '+1'],
  [215, 1, '+1'],
  [216, 1, '+1'],
  [223, -1, '-1'],
  [244, -1, '-1'],
  [265, -1, '-1'],
  [286, -1, '-1'],
  [307, -1, '-1'],
  [328, -1, '-1'],
  [349, -1, '-1'],
  [370, -1, '-1'],
  [391, -1, '-1']],
 'RMGUAI': [[14, 1, '+1'],
  [17, 1, '+1'],
  [63, -1, '-2'],
  [128, -1, '-1'],
  [149, -1, '-1'],
  [170, -1, '-1'],
  [191, -1, '-1'],
  [212, -1, '-1'],
  [233, -1, '-1'],
  [254, -1, '-1'],
  [275, -1, '-1'],
  [296, -1, '-1'],
  [317, -1, '-1'],
  [338, -1, '-1'],
  [359, -1, '-1'],
  [380, -1, '-1'],
  [401, -1, '-1']],
 'RPHENOL': [[19, 1, '+1'],
  [21, 1, '+1'],
  [80, -1, '-1'],
  [131, -1, '-1'],
  [152, -1, '-1'],
  [173, -1, '-1'],
  [194, -1, '-1'],
  [215, -1, '-1'],
  [236, -1, '-1'],
  [257, -1, '-1'],
  [278, -1, '-1'],
  [299, -1, '-1'],
  [320, -1, '-1'],
  [341, -1, '-1'],
  [362, -1, '-1'],
  [383, -1, '-1'],
  [404, -1, '-1']],
 'RPHENOX': [[4, 1, '+1'],
  [5, 1, '+1'],
  [11, -1, '-1'],
  [20, 1, '+1'],
  [22, 1, '+1'],
  [28, 1, '+1'],
  [29, 1, '+1'],
  [36, -1, '-1'],
  [37, -1, '-1'],
  [38, -1, '-1'],
  [39, -1, '-1'],
  [40, -1, '-1'],
  [41, -1, '-1'],
  [42, -1, '-1'],
  [43, -1, '-1'],
  [50, -1, '-1'],
  [51, -1, '-1'],
  [52, -1, '-1'],
  [55, -1, '-1'],
  [73, -1, '-1'],
  [80, -1, '-1'],
  [81, -1, '-1'],
  [82, -1, '-1']],
 'RPHENOXM2': [[2, 1, '+1'],
  [3, 1, '+1'],
  [10, -1, '-1'],
  [15, 1, '+1'],
  [16, 1, '+1'],
  [18, 1, '+1'],
  [32, -1, '-1'],
  [33, -1, '-1'],
  [34, -1, '-1'],
  [35, -1, '-1'],
  [44, -1, '-1'],
  [45, -1, '-1'],
  [46, -1, '-1'],
  [47, -1, '-1'],
  [48, -1, '-1'],
  [49, -1, '-1'],
  [53, -1, '-1'],
  [54, -1, '-1'],
  [83, -1, '-1']],
 'SYNAPYL': [[23, 1, '+1'], [35, -1, '-1'], [39, -1, '-1'], [87, -1, '-1']],
 'VADIO': [[90, 1, '+1']],
 'VADIOM2': [[84, 1, '+1']],
 'VCOUMARYL': [[89, 1, '+1']],
 'VKET': [[91, 1, '+1']],
 'VKETD': [[92, 1, '+1']],
 'VKETDM2': [[86, 1, '+1']],
 'VKETM2': [[85, 1, '+1']],
 'VMGUAI': [[88, 1, '+1']],
 'VPHENOL': [[93, 1, '+1']],
 'VSYNAPYL': [[87, 1, '+1']]}

In [4]:
species_list = ['ADIO',
 'ADIOM2',
 'ALD3',
 'C10H2',
 'C10H2M2',
 'C10H2M4',
 'C2H6',
 'C3H4O',
 'C3H4O2',
 'C3H6',
 'C3H6O2',
 'C3H8O2',
 'CH2CO',
 'CH3CHO',
 'CH3OH',
 'CH4',
 'CHAR',
 'CO',
 'CO2',
 'COUMARYL',
 'ETOH',
 'H2',
 'H2O',
 'KET',
 'KETD',
 'KETDM2',
 'KETM2',
 'LIG',
 'LIGC',
 'LIGH',
 'LIGM2',
 'LIGO',
 'MGUAI',
 'OH',
 'PADIO',
 'PADIOM2',
 'PC2H2',
 'PCH2OH',
 'PCH2P',
 'PCH3',
 'PCHO',
 'PCHOHP',
 'PCHP2',
 'PCOH',
 'PCOHP2',
 'PCOS',
 'PFET3',
 'PFET3M2',
 'PH2',
 'PHENOL',
 'PKETM2',
 'PLIG',
 'PLIGC',
 'PLIGH',
 'PLIGM2',
 'PLIGO',
 'PRADIO',
 'PRADIOM2',
 'PRFET3',
 'PRFET3M2',
 'PRKETM2',
 'PRLIGH',
 'PRLIGH2',
 'PRLIGM2A',
 'RADIO',
 'RADIOM2',
 'RC3H3O',
 'RC3H5O2',
 'RC3H7O2',
 'RCH3',
 'RCH3O',
 'RKET',
 'RKETM2',
 'RLIGA',
 'RLIGB',
 'RLIGH',
 'RLIGM2A',
 'RLIGM2B',
 'RMGUAI',
 'RPHENOL',
 'RPHENOX',
 'RPHENOXM2',
 'SYNAPYL',
 'VADIO',
 'VADIOM2',
 'VCOUMARYL',
 'VKET',
 'VKETD',
 'VKETDM2',
 'VKETM2',
 'VMGUAI',
 'VPHENOL',
 'VSYNAPYL']

In [5]:
rxn_count_dict = {}
for item in species_list:
    #for each species, create a list containing rxn_num it involves in 
    rxn_num = []
    for i in species_rxn[item]:
        rxn_num.append(i[0])
    #calculate the number of each rxn
    rxn_count = Counter(rxn_num)
    rxn_count_dict[item] = rxn_count
    
rxn_count_dict


Out[5]:
{'ADIO': Counter({40: 1,
          44: 1,
          90: 1,
          132: 1,
          153: 1,
          174: 1,
          195: 1,
          216: 1,
          237: 1,
          258: 1,
          279: 1,
          300: 1,
          321: 1,
          342: 1,
          363: 1,
          364: 1,
          365: 1,
          366: 1,
          367: 1,
          368: 1,
          369: 1,
          370: 1,
          371: 1,
          372: 1,
          373: 1,
          374: 1,
          375: 1,
          376: 1,
          377: 1,
          378: 1,
          379: 1,
          380: 1,
          381: 1,
          382: 1,
          383: 1,
          384: 2,
          405: 1}),
 'ADIOM2': Counter({32: 1,
          36: 1,
          84: 1,
          115: 1,
          136: 1,
          157: 1,
          178: 1,
          199: 1,
          220: 1,
          238: 1,
          239: 1,
          240: 1,
          241: 2,
          242: 1,
          243: 1,
          244: 1,
          245: 1,
          246: 1,
          247: 1,
          248: 1,
          249: 1,
          250: 1,
          251: 1,
          252: 1,
          253: 1,
          254: 1,
          255: 1,
          256: 1,
          257: 1,
          258: 1,
          262: 1,
          283: 1,
          304: 1,
          325: 1,
          346: 1,
          367: 1,
          388: 1}),
 'ALD3': Counter({12: 1, 13: 1}),
 'C10H2': Counter({11: 1,
          29: 1,
          36: 1,
          37: 1,
          38: 1,
          39: 1,
          40: 1,
          41: 1,
          42: 1,
          43: 1,
          44: 1,
          45: 1,
          46: 1,
          47: 1,
          49: 1,
          50: 1,
          51: 1,
          52: 1,
          55: 1,
          73: 1,
          74: 1,
          75: 1,
          76: 1,
          77: 1,
          78: 1,
          80: 1,
          81: 1,
          82: 1,
          109: 1,
          280: 2,
          281: 2,
          282: 2,
          283: 2,
          284: 2,
          285: 2,
          286: 2,
          287: 2,
          288: 2,
          289: 2,
          290: 2,
          291: 2,
          292: 2,
          293: 2,
          294: 2,
          295: 2,
          296: 2,
          297: 2,
          298: 2,
          299: 2,
          300: 2}),
 'C10H2M2': Counter({29: 1, 48: 1, 49: 2, 50: 1, 51: 2}),
 'C10H2M4': Counter({10: 1,
          28: 2,
          32: 1,
          33: 1,
          34: 1,
          35: 1,
          36: 1,
          37: 1,
          38: 1,
          39: 1,
          44: 1,
          45: 1,
          46: 1,
          47: 1,
          48: 2,
          49: 1,
          50: 2,
          53: 1,
          54: 1,
          60: 1,
          61: 1,
          62: 1,
          63: 1,
          64: 1,
          65: 1,
          79: 1,
          83: 1,
          110: 1}),
 'C2H6': Counter({70: 1}),
 'C3H4O': Counter({124: 1,
          145: 1,
          166: 1,
          187: 1,
          208: 1,
          229: 1,
          250: 1,
          271: 1,
          292: 1,
          313: 1,
          334: 1,
          355: 1,
          376: 1,
          397: 1}),
 'C3H4O2': Counter({18: 1, 22: 1}),
 'C3H6': Counter({1: 1}),
 'C3H6O2': Counter({14: 1,
          19: 1,
          112: 1,
          133: 1,
          154: 1,
          175: 1,
          196: 1,
          217: 1,
          238: 1,
          259: 1,
          280: 1,
          301: 1,
          322: 1,
          343: 1,
          364: 1,
          385: 1}),
 'C3H8O2': Counter({114: 1,
          135: 1,
          156: 1,
          177: 1,
          198: 1,
          219: 1,
          240: 1,
          261: 1,
          282: 1,
          303: 1,
          324: 1,
          345: 1,
          366: 1,
          387: 1}),
 'CH2CO': Counter({30: 1, 108: 1}),
 'CH3CHO': Counter({27: 1, 57: 1}),
 'CH3OH': Counter({69: 1,
          130: 1,
          151: 1,
          172: 1,
          193: 1,
          214: 1,
          235: 1,
          256: 1,
          277: 1,
          298: 1,
          319: 1,
          340: 1,
          361: 1,
          382: 1,
          403: 1}),
 'CH4': Counter({120: 1,
          141: 1,
          162: 1,
          183: 1,
          204: 1,
          225: 1,
          246: 1,
          267: 1,
          288: 1,
          309: 1,
          330: 1,
          351: 1,
          372: 1,
          393: 1}),
 'CHAR': Counter({61: 1,
          75: 1,
          82: 2,
          83: 2,
          97: 1,
          100: 1,
          103: 1,
          280: 1,
          281: 1,
          282: 1,
          283: 1,
          284: 1,
          285: 1,
          286: 1,
          287: 1,
          288: 1,
          289: 1,
          290: 1,
          291: 1,
          292: 1,
          293: 1,
          294: 1,
          295: 1,
          296: 1,
          297: 1,
          298: 1,
          299: 1,
          300: 1}),
 'CO': Counter({10: 1, 11: 1, 94: 1, 95: 1, 111: 1}),
 'CO2': Counter({31: 1, 52: 1, 53: 1, 107: 1}),
 'COUMARYL': Counter({25: 1, 43: 1, 47: 1, 89: 1}),
 'ETOH': Counter({56: 1}),
 'H2': Counter({10: 1,
          11: 1,
          32: 1,
          33: 1,
          34: 1,
          35: 1,
          37: 1,
          38: 1,
          39: 1,
          40: 1,
          41: 1,
          42: 1,
          43: 1,
          44: 1,
          45: 1,
          46: 1,
          47: 1,
          48: 1,
          49: 1,
          50: 1,
          51: 1,
          52: 1,
          53: 1,
          73: 1,
          74: 1,
          75: 1,
          76: 1,
          77: 1,
          78: 1,
          79: 1,
          80: 1,
          81: 1,
          82: 1,
          83: 1,
          96: 1,
          97: 1,
          102: 1,
          103: 1,
          109: 1}),
 'H2O': Counter({57: 1,
          62: 1,
          66: 1,
          67: 1,
          73: 1,
          76: 1,
          79: 1,
          129: 1,
          150: 1,
          171: 1,
          192: 1,
          213: 1,
          234: 1,
          255: 1,
          276: 1,
          297: 1,
          318: 1,
          339: 1,
          360: 1,
          381: 1,
          402: 1}),
 'KET': Counter({20: 1,
          41: 1,
          45: 1,
          91: 1,
          122: 1,
          143: 1,
          164: 1,
          185: 1,
          206: 1,
          227: 1,
          248: 1,
          269: 1,
          290: 1,
          311: 1,
          332: 1,
          353: 1,
          374: 1,
          385: 1,
          386: 1,
          387: 1,
          388: 1,
          389: 1,
          390: 1,
          391: 1,
          392: 1,
          393: 1,
          394: 1,
          395: 2,
          396: 1,
          397: 1,
          398: 1,
          399: 1,
          400: 1,
          401: 1,
          402: 1,
          403: 1,
          404: 1,
          405: 1}),
 'KETD': Counter({26: 1, 42: 1, 46: 1, 92: 1}),
 'KETDM2': Counter({9: 1, 24: 1, 34: 1, 38: 1, 86: 1}),
 'KETM2': Counter({15: 1,
          33: 1,
          37: 1,
          85: 1,
          259: 1,
          260: 1,
          261: 1,
          262: 1,
          263: 1,
          264: 1,
          265: 1,
          266: 1,
          267: 1,
          268: 1,
          269: 1,
          270: 1,
          271: 1,
          272: 1,
          273: 1,
          274: 1,
          275: 1,
          276: 1,
          277: 1,
          278: 1,
          279: 1}),
 'LIG': Counter({4: 1,
          108: 1,
          125: 1,
          126: 1,
          146: 1,
          147: 1,
          167: 1,
          168: 1,
          188: 1,
          189: 1,
          209: 1,
          210: 1,
          230: 1,
          231: 1,
          251: 1,
          252: 1,
          272: 1,
          273: 1,
          293: 1,
          294: 1,
          301: 1,
          302: 1,
          303: 1,
          304: 1,
          305: 1,
          306: 1,
          307: 1,
          308: 1,
          309: 1,
          310: 1,
          311: 1,
          312: 1,
          313: 1,
          314: 2,
          315: 2,
          316: 1,
          317: 1,
          318: 1,
          319: 1,
          320: 1,
          321: 1,
          322: 1,
          323: 1,
          324: 1,
          325: 1,
          326: 1,
          327: 1,
          328: 1,
          329: 1,
          330: 1,
          331: 1,
          332: 1,
          333: 1,
          334: 1,
          335: 2,
          336: 2,
          337: 1,
          338: 1,
          339: 1,
          340: 1,
          341: 1,
          342: 1,
          356: 1,
          357: 1,
          377: 1,
          378: 1,
          398: 1,
          399: 1}),
 'LIGC': Counter({105: 1, 108: 1}),
 'LIGH': Counter({1: 1,
          104: 1,
          112: 1,
          113: 1,
          114: 1,
          115: 1,
          116: 1,
          117: 1,
          118: 1,
          119: 1,
          120: 1,
          121: 1,
          122: 1,
          123: 1,
          124: 1,
          125: 1,
          126: 1,
          127: 1,
          128: 1,
          129: 1,
          130: 1,
          131: 1,
          132: 1}),
 'LIGM2': Counter({2: 1,
          107: 1,
          118: 1,
          119: 1,
          139: 1,
          140: 1,
          160: 1,
          161: 1,
          175: 1,
          176: 1,
          177: 1,
          178: 1,
          179: 1,
          180: 1,
          181: 2,
          182: 2,
          183: 1,
          184: 1,
          185: 1,
          186: 1,
          187: 1,
          188: 1,
          189: 1,
          190: 1,
          191: 1,
          192: 1,
          193: 1,
          194: 1,
          195: 1,
          196: 1,
          197: 1,
          198: 1,
          199: 1,
          200: 1,
          201: 1,
          202: 2,
          203: 2,
          204: 1,
          205: 1,
          206: 1,
          207: 1,
          208: 1,
          209: 1,
          210: 1,
          211: 1,
          212: 1,
          213: 1,
          214: 1,
          215: 1,
          216: 1,
          223: 1,
          224: 1,
          244: 1,
          245: 1,
          265: 1,
          266: 1,
          286: 1,
          287: 1,
          307: 1,
          308: 1,
          328: 1,
          329: 1,
          349: 1,
          350: 1,
          370: 1,
          371: 1,
          391: 1,
          392: 1}),
 'LIGO': Counter({106: 1, 107: 1}),
 'MGUAI': Counter({88: 1,
          128: 1,
          149: 1,
          170: 1,
          191: 1,
          212: 1,
          233: 1,
          254: 1,
          275: 1,
          296: 1,
          317: 1,
          338: 1,
          359: 1,
          380: 1,
          401: 1}),
 'OH': Counter({1: 1,
          9: 1,
          23: 1,
          24: 1,
          25: 1,
          26: 1,
          69: 1,
          98: 1,
          99: 1,
          100: 1,
          129: 1,
          150: 1,
          171: 1,
          192: 1,
          213: 1,
          234: 1,
          255: 1,
          276: 1,
          297: 1,
          318: 1,
          339: 1,
          360: 1,
          381: 1,
          402: 1}),
 'PADIO': Counter({7: 1,
          123: 1,
          144: 1,
          165: 1,
          186: 1,
          207: 1,
          228: 1,
          249: 1,
          270: 1,
          291: 1,
          312: 1,
          333: 1,
          354: 1,
          375: 1,
          396: 1}),
 'PADIOM2': Counter({6: 1,
          58: 1,
          71: 1,
          127: 1,
          148: 1,
          169: 1,
          190: 1,
          211: 1,
          232: 1,
          253: 1,
          274: 1,
          295: 1,
          316: 1,
          337: 1,
          358: 1,
          379: 1,
          400: 1}),
 'PC2H2': Counter({62: 1,
          66: 1,
          67: 1,
          68: 1,
          73: 1,
          76: 1,
          79: 1,
          81: 1,
          97: 1,
          99: 1}),
 'PCH2OH': Counter({58: 1,
          59: 1,
          60: 1,
          61: 1,
          64: 1,
          74: 1,
          75: 1,
          77: 1,
          98: 1,
          109: 1,
          110: 1}),
 'PCH2P': Counter({79: 1, 98: 1, 102: 1}),
 'PCH3': Counter({54: 1, 55: 1, 71: 1, 72: 1, 79: 1, 101: 1}),
 'PCHO': Counter({65: 1, 78: 1, 111: 1}),
 'PCHOHP': Counter({60: 1,
          61: 1,
          65: 1,
          66: 1,
          74: 1,
          75: 1,
          78: 1,
          99: 1,
          109: 1,
          110: 1}),
 'PCHP2': Counter({60: 1,
          64: 1,
          65: 1,
          74: 1,
          77: 1,
          78: 1,
          79: 1,
          102: 1,
          103: 1,
          109: 1,
          110: 1}),
 'PCOH': Counter({32: 1,
          33: 1,
          34: 1,
          35: 1,
          36: 1,
          38: 1,
          39: 1,
          44: 1,
          45: 1,
          46: 1,
          47: 1,
          48: 1,
          49: 1,
          54: 1,
          55: 1,
          60: 1,
          61: 1,
          62: 1,
          63: 1,
          64: 1,
          65: 1,
          67: 1,
          68: 1,
          74: 1,
          77: 1,
          79: 1,
          81: 1,
          95: 1,
          109: 1,
          110: 1}),
 'PCOHP2': Counter({62: 1, 73: 1, 76: 1, 79: 1, 100: 1}),
 'PCOS': Counter({36: 1,
          37: 1,
          38: 1,
          39: 1,
          40: 1,
          41: 1,
          42: 1,
          43: 1,
          44: 1,
          45: 1,
          46: 1,
          47: 1,
          50: 1,
          51: 1,
          73: 1,
          74: 1,
          75: 2,
          76: 1,
          77: 1,
          78: 1,
          80: 1,
          81: 1,
          82: 1,
          83: 1,
          94: 1,
          109: 1}),
 'PFET3': Counter({21: 1,
          113: 1,
          134: 1,
          155: 1,
          176: 1,
          197: 1,
          218: 1,
          239: 1,
          260: 1,
          281: 1,
          302: 1,
          323: 1,
          343: 1,
          344: 2,
          345: 1,
          346: 1,
          347: 1,
          348: 1,
          349: 1,
          350: 1,
          351: 1,
          352: 1,
          353: 1,
          354: 1,
          355: 1,
          356: 1,
          357: 1,
          358: 1,
          359: 1,
          360: 1,
          361: 1,
          362: 1,
          363: 1,
          365: 1,
          386: 1}),
 'PFET3M2': Counter({17: 1,
          116: 1,
          137: 1,
          158: 1,
          179: 1,
          200: 1,
          217: 1,
          218: 1,
          219: 1,
          220: 1,
          221: 2,
          222: 1,
          223: 1,
          224: 1,
          225: 1,
          226: 1,
          227: 1,
          228: 1,
          229: 1,
          230: 1,
          231: 1,
          232: 1,
          233: 1,
          234: 1,
          235: 1,
          236: 1,
          237: 1,
          242: 1,
          263: 1,
          284: 1,
          305: 1,
          326: 1,
          347: 1,
          368: 1,
          389: 1}),
 'PH2': Counter({32: 1,
          33: 1,
          34: 1,
          35: 1,
          36: 1,
          37: 1,
          38: 1,
          39: 1,
          40: 1,
          41: 1,
          42: 1,
          43: 1,
          44: 1,
          45: 1,
          46: 1,
          47: 1,
          54: 1,
          55: 1,
          60: 1,
          61: 1,
          62: 1,
          63: 1,
          64: 1,
          65: 1,
          66: 1,
          67: 1,
          68: 1,
          73: 1,
          74: 1,
          75: 1,
          76: 1,
          77: 1,
          78: 1,
          80: 1,
          81: 1,
          96: 1,
          109: 1,
          110: 1}),
 'PHENOL': Counter({93: 1,
          131: 1,
          152: 1,
          173: 1,
          194: 1,
          215: 1,
          236: 1,
          257: 1,
          278: 1,
          299: 1,
          320: 1,
          341: 1,
          362: 1,
          383: 1,
          404: 1}),
 'PKETM2': Counter({8: 1,
          16: 1,
          59: 1,
          72: 1,
          121: 1,
          142: 1,
          163: 1,
          184: 1,
          205: 1,
          226: 1,
          247: 1,
          268: 1,
          289: 1,
          310: 1,
          331: 1,
          352: 1,
          373: 1,
          394: 1}),
 'PLIG': Counter({5: 1, 30: 1}),
 'PLIGC': Counter({30: 1, 105: 1}),
 'PLIGH': Counter({0: 1,
          104: 1,
          117: 1,
          133: 1,
          134: 1,
          135: 1,
          136: 1,
          137: 1,
          138: 2,
          139: 1,
          140: 1,
          141: 1,
          142: 1,
          143: 1,
          144: 1,
          145: 1,
          146: 1,
          147: 1,
          148: 1,
          149: 1,
          150: 1,
          151: 1,
          152: 1,
          153: 1,
          159: 1,
          180: 1,
          201: 1,
          222: 1,
          243: 1,
          264: 1,
          285: 1,
          306: 1,
          327: 1,
          348: 1,
          369: 1,
          390: 1}),
 'PLIGM2': Counter({3: 1,
          31: 1,
          154: 1,
          155: 1,
          156: 1,
          157: 1,
          158: 1,
          159: 1,
          160: 1,
          161: 1,
          162: 1,
          163: 1,
          164: 1,
          165: 1,
          166: 1,
          167: 1,
          168: 1,
          169: 1,
          170: 1,
          171: 1,
          172: 1,
          173: 1,
          174: 1}),
 'PLIGO': Counter({31: 1, 106: 1}),
 'PRADIO': Counter({5: 1,
          7: 1,
          109: 1,
          123: 1,
          144: 1,
          165: 1,
          186: 1,
          207: 1,
          228: 1,
          249: 1,
          270: 1,
          291: 1,
          312: 1,
          333: 1,
          354: 1,
          375: 1,
          396: 1}),
 'PRADIOM2': Counter({3: 1,
          6: 1,
          58: 1,
          71: 1,
          110: 1,
          127: 1,
          148: 1,
          169: 1,
          190: 1,
          211: 1,
          232: 1,
          253: 1,
          274: 1,
          295: 1,
          316: 1,
          337: 1,
          358: 1,
          379: 1,
          400: 1}),
 'PRFET3': Counter({22: 1,
          78: 2,
          113: 1,
          134: 1,
          155: 1,
          176: 1,
          197: 1,
          218: 1,
          239: 1,
          260: 1,
          281: 1,
          302: 1,
          323: 1,
          343: 1,
          344: 2,
          345: 1,
          346: 1,
          347: 1,
          348: 1,
          349: 1,
          350: 1,
          351: 1,
          352: 1,
          353: 1,
          354: 1,
          355: 1,
          356: 1,
          357: 1,
          358: 1,
          359: 1,
          360: 1,
          361: 1,
          362: 1,
          363: 1,
          365: 1,
          386: 1}),
 'PRFET3M2': Counter({18: 1,
          65: 2,
          116: 1,
          137: 1,
          158: 1,
          179: 1,
          200: 1,
          217: 1,
          218: 1,
          219: 1,
          220: 1,
          221: 2,
          222: 1,
          223: 1,
          224: 1,
          225: 1,
          226: 1,
          227: 1,
          228: 1,
          229: 1,
          230: 1,
          231: 1,
          232: 1,
          233: 1,
          234: 1,
          235: 1,
          236: 1,
          237: 1,
          242: 1,
          263: 1,
          284: 1,
          305: 1,
          326: 1,
          347: 1,
          368: 1,
          389: 1}),
 'PRKETM2': Counter({8: 1,
          9: 1,
          59: 1,
          72: 1,
          121: 1,
          142: 1,
          163: 1,
          184: 1,
          205: 1,
          226: 1,
          247: 1,
          268: 1,
          289: 1,
          310: 1,
          331: 1,
          352: 1,
          373: 1,
          394: 1}),
 'PRLIGH': Counter({0: 1,
          117: 1,
          138: 1,
          159: 1,
          180: 1,
          201: 1,
          222: 1,
          243: 1,
          264: 1,
          285: 1,
          306: 1,
          327: 1,
          348: 1,
          369: 1,
          390: 1}),
 'PRLIGH2': Counter({13: 1,
          133: 1,
          134: 1,
          135: 1,
          136: 1,
          137: 1,
          138: 1,
          139: 1,
          140: 1,
          141: 1,
          142: 1,
          143: 1,
          144: 1,
          145: 1,
          146: 1,
          147: 1,
          148: 1,
          149: 1,
          150: 1,
          151: 1,
          152: 1,
          153: 1}),
 'PRLIGM2A': Counter({13: 1,
          16: 1,
          154: 1,
          155: 1,
          156: 1,
          157: 1,
          158: 1,
          159: 1,
          160: 1,
          161: 1,
          162: 1,
          163: 1,
          164: 1,
          165: 1,
          166: 1,
          167: 1,
          168: 1,
          169: 1,
          170: 1,
          171: 1,
          172: 1,
          173: 1,
          174: 1}),
 'RADIO': Counter({4: 1,
          19: 1,
          25: 1,
          74: 1,
          132: 1,
          153: 1,
          174: 1,
          195: 1,
          216: 1,
          237: 1,
          258: 1,
          279: 1,
          300: 1,
          321: 1,
          342: 1,
          363: 1,
          364: 1,
          365: 1,
          366: 1,
          367: 1,
          368: 1,
          369: 1,
          370: 1,
          371: 1,
          372: 1,
          373: 1,
          374: 1,
          375: 1,
          376: 1,
          377: 1,
          378: 1,
          379: 1,
          380: 1,
          381: 1,
          382: 1,
          383: 1,
          384: 2,
          405: 1}),
 'RADIOM2': Counter({2: 1,
          14: 1,
          23: 1,
          60: 1,
          115: 1,
          136: 1,
          157: 1,
          178: 1,
          199: 1,
          220: 1,
          238: 1,
          239: 1,
          240: 1,
          241: 2,
          242: 1,
          243: 1,
          244: 1,
          245: 1,
          246: 1,
          247: 1,
          248: 1,
          249: 1,
          250: 1,
          251: 1,
          252: 1,
          253: 1,
          254: 1,
          255: 1,
          256: 1,
          257: 1,
          258: 1,
          262: 1,
          283: 1,
          304: 1,
          325: 1,
          346: 1,
          367: 1,
          388: 1}),
 'RC3H3O': Counter({34: 1,
          35: 1,
          38: 1,
          39: 1,
          42: 1,
          43: 1,
          46: 1,
          47: 1,
          68: 1,
          81: 1,
          124: 1,
          145: 1,
          166: 1,
          187: 1,
          208: 1,
          229: 1,
          250: 1,
          271: 1,
          292: 1,
          313: 1,
          334: 1,
          355: 1,
          376: 1,
          397: 1}),
 'RC3H5O2': Counter({33: 1,
          37: 1,
          41: 1,
          45: 1,
          67: 1,
          112: 1,
          133: 1,
          154: 1,
          175: 1,
          196: 1,
          217: 1,
          238: 1,
          259: 1,
          280: 1,
          301: 1,
          322: 1,
          343: 1,
          364: 1,
          385: 1}),
 'RC3H7O2': Counter({27: 1,
          32: 1,
          36: 1,
          40: 1,
          44: 1,
          66: 1,
          114: 1,
          135: 1,
          156: 1,
          177: 1,
          198: 1,
          219: 1,
          240: 1,
          261: 1,
          282: 1,
          303: 1,
          324: 1,
          345: 1,
          366: 1,
          387: 1}),
 'RCH3': Counter({52: 1,
          53: 1,
          54: 1,
          55: 1,
          56: 1,
          69: 1,
          70: 1,
          71: 1,
          72: 1,
          101: 1,
          120: 1,
          141: 1,
          162: 1,
          183: 1,
          204: 1,
          225: 1,
          246: 1,
          267: 1,
          288: 1,
          309: 1,
          330: 1,
          351: 1,
          372: 1,
          393: 1}),
 'RCH3O': Counter({27: 1,
          28: 1,
          29: 1,
          48: 1,
          49: 1,
          50: 1,
          51: 1,
          52: 1,
          53: 1,
          56: 1,
          57: 1,
          58: 1,
          59: 1,
          130: 1,
          151: 1,
          172: 1,
          193: 1,
          214: 1,
          235: 1,
          256: 1,
          277: 1,
          298: 1,
          319: 1,
          340: 1,
          361: 1,
          382: 1,
          403: 1}),
 'RKET': Counter({26: 1,
          77: 1,
          122: 1,
          143: 1,
          164: 1,
          185: 1,
          206: 1,
          227: 1,
          248: 1,
          269: 1,
          290: 1,
          311: 1,
          332: 1,
          353: 1,
          374: 1,
          385: 1,
          386: 1,
          387: 1,
          388: 1,
          389: 1,
          390: 1,
          391: 1,
          392: 1,
          393: 1,
          394: 1,
          395: 2,
          396: 1,
          397: 1,
          398: 1,
          399: 1,
          400: 1,
          401: 1,
          402: 1,
          403: 1,
          404: 1,
          405: 1}),
 'RKETM2': Counter({24: 1,
          64: 1,
          259: 1,
          260: 1,
          261: 1,
          262: 1,
          263: 1,
          264: 1,
          265: 1,
          266: 1,
          267: 1,
          268: 1,
          269: 1,
          270: 1,
          271: 1,
          272: 1,
          273: 1,
          274: 1,
          275: 1,
          276: 1,
          277: 1,
          278: 1,
          279: 1}),
 'RLIGA': Counter({20: 1,
          76: 1,
          126: 1,
          147: 1,
          168: 1,
          189: 1,
          210: 1,
          231: 1,
          252: 1,
          273: 1,
          294: 1,
          301: 1,
          302: 1,
          303: 1,
          304: 1,
          305: 1,
          306: 1,
          307: 1,
          308: 1,
          309: 1,
          310: 1,
          311: 1,
          312: 1,
          313: 1,
          314: 1,
          315: 2,
          316: 1,
          317: 1,
          318: 1,
          319: 1,
          320: 1,
          321: 1,
          336: 1,
          357: 1,
          378: 1,
          399: 1}),
 'RLIGB': Counter({21: 1,
          73: 1,
          75: 2,
          125: 1,
          146: 1,
          167: 1,
          188: 1,
          209: 1,
          230: 1,
          251: 1,
          272: 1,
          293: 1,
          314: 1,
          322: 1,
          323: 1,
          324: 1,
          325: 1,
          326: 1,
          327: 1,
          328: 1,
          329: 1,
          330: 1,
          331: 1,
          332: 1,
          333: 1,
          334: 1,
          335: 2,
          336: 1,
          337: 1,
          338: 1,
          339: 1,
          340: 1,
          341: 1,
          342: 1,
          356: 1,
          377: 1,
          398: 1}),
 'RLIGH': Counter({12: 1,
          79: 2,
          112: 1,
          113: 1,
          114: 1,
          115: 1,
          116: 1,
          117: 1,
          118: 1,
          119: 1,
          120: 1,
          121: 1,
          122: 1,
          123: 1,
          124: 1,
          125: 1,
          126: 1,
          127: 1,
          128: 1,
          129: 1,
          130: 1,
          131: 1,
          132: 1}),
 'RLIGM2A': Counter({1: 1,
          12: 1,
          15: 1,
          62: 1,
          119: 1,
          140: 1,
          161: 1,
          175: 1,
          176: 1,
          177: 1,
          178: 1,
          179: 1,
          180: 1,
          181: 1,
          182: 2,
          183: 1,
          184: 1,
          185: 1,
          186: 1,
          187: 1,
          188: 1,
          189: 1,
          190: 1,
          191: 1,
          192: 1,
          193: 1,
          194: 1,
          195: 1,
          203: 1,
          224: 1,
          245: 1,
          266: 1,
          287: 1,
          308: 1,
          329: 1,
          350: 1,
          371: 1,
          392: 1}),
 'RLIGM2B': Counter({17: 1,
          61: 1,
          118: 1,
          139: 1,
          160: 1,
          181: 1,
          196: 1,
          197: 1,
          198: 1,
          199: 1,
          200: 1,
          201: 1,
          202: 2,
          203: 1,
          204: 1,
          205: 1,
          206: 1,
          207: 1,
          208: 1,
          209: 1,
          210: 1,
          211: 1,
          212: 1,
          213: 1,
          214: 1,
          215: 1,
          216: 1,
          223: 1,
          244: 1,
          265: 1,
          286: 1,
          307: 1,
          328: 1,
          349: 1,
          370: 1,
          391: 1}),
 'RMGUAI': Counter({14: 1,
          17: 1,
          63: 1,
          128: 1,
          149: 1,
          170: 1,
          191: 1,
          212: 1,
          233: 1,
          254: 1,
          275: 1,
          296: 1,
          317: 1,
          338: 1,
          359: 1,
          380: 1,
          401: 1}),
 'RPHENOL': Counter({19: 1,
          21: 1,
          80: 1,
          131: 1,
          152: 1,
          173: 1,
          194: 1,
          215: 1,
          236: 1,
          257: 1,
          278: 1,
          299: 1,
          320: 1,
          341: 1,
          362: 1,
          383: 1,
          404: 1}),
 'RPHENOX': Counter({4: 1,
          5: 1,
          11: 1,
          20: 1,
          22: 1,
          28: 1,
          29: 1,
          36: 1,
          37: 1,
          38: 1,
          39: 1,
          40: 1,
          41: 1,
          42: 1,
          43: 1,
          50: 1,
          51: 1,
          52: 1,
          55: 1,
          73: 1,
          80: 1,
          81: 1,
          82: 1}),
 'RPHENOXM2': Counter({2: 1,
          3: 1,
          10: 1,
          15: 1,
          16: 1,
          18: 1,
          32: 1,
          33: 1,
          34: 1,
          35: 1,
          44: 1,
          45: 1,
          46: 1,
          47: 1,
          48: 1,
          49: 1,
          53: 1,
          54: 1,
          83: 1}),
 'SYNAPYL': Counter({23: 1, 35: 1, 39: 1, 87: 1}),
 'VADIO': Counter({90: 1}),
 'VADIOM2': Counter({84: 1}),
 'VCOUMARYL': Counter({89: 1}),
 'VKET': Counter({91: 1}),
 'VKETD': Counter({92: 1}),
 'VKETDM2': Counter({86: 1}),
 'VKETM2': Counter({85: 1}),
 'VMGUAI': Counter({88: 1}),
 'VPHENOL': Counter({93: 1}),
 'VSYNAPYL': Counter({87: 1})}

In [10]:
#create a list of possible three_body_rxn, containing the rxn_num, the key component and the complete rxn
possible_three_body_rxn = []
for item in species_list:
    for i in rxn_count_dict[item]:
        if rxn_count_dict[item][i] == 2:
            if [i+1,complete_rxn_list[i]] in possible_three_body_rxn:
                continue
            else:
                possible_three_body_rxn.append([i+1,complete_rxn_list[i]])
            
possible_three_body_rxn


Out[10]:
[[385, ['RADIO + ADIO => ADIO + RADIO']],
 [242, ['RADIOM2 + ADIOM2 => ADIOM2 + RADIOM2']],
 [300, ['RPHENOL + C10H2 => PHENOL + 0.5 C10H2 + 0.5 CHAR']],
 [301, ['RADIO + C10H2 + ADIO + 0.5 C10H2 + 0.5 CHAR']],
 [281, ['RC3H5O2 + C10H2 => C3H6O2 + 0.5 C10H2 + 0.5 CHAR']],
 [282, ['PRFET3 + C10H2 => PFET3 + 0.5 C10H2 + 0.5 CHAR']],
 [283, ['RC3H7O2 + C10H2 => C3H8O2 + 0.5 C10H2 + 0.5 CHAR']],
 [284, ['RADIOM2 + C10H2 => ADIOM2 + 0.5 C10H2 + 0.5 CHAR']],
 [285, ['PRFET3M2 + C10H2 => PFET3M2 + 0.5 C10H2 + 0.5 CHAR']],
 [286, ['PRLIGH + C10H2 => PLIGH + 0.5 C10H2 + 0.5 CHAR']],
 [287, ['RLIGM2B + C10H2 => LIGM2 + 0.5 C10H2 + 0.5 CHAR']],
 [288, ['RLIGM2A + C10H2 => LIGM2 + 0.5 C10H2 + 0.5 CHAR']],
 [289, ['RCH3 + C10H2 => CH4 + 0.5 C10H2 + 0.5 CHAR']],
 [290, ['PRKETM2 + C10H2 => PKETM2 + 0.5 C10H2 + 0.5 CHAR']],
 [291, ['RKET + C10H2 => KET + 0.5 C10H2 + 0.5 CHAR']],
 [292, ['PRADIO + C10H2 => PADIO + 0.5 C10H2 + 0.5 CHAR']],
 [293, ['RC3H3O + C10H2 => C3H4O + 0.5 C10H2 + 0.5 CHAR']],
 [294, ['RLIGB + C10H2 => LIG + 0.5 C10H2 + 0.5 CHAR']],
 [295, ['RLIGA + C10H2 => LIG + 0.5 C10H2 + 0.5 CHAR']],
 [296, ['PRADIOM2 + C10H2 => PADIOM2 + 0.5 C10H2 + 0.5 CHAR']],
 [297, ['RMGUAI + C10H2 => MGUAI + 0.5 C10H2 + 0.5 CHAR']],
 [298, ['OH + C10H2 => H2O + 0.5 C10H2 + 0.5 CHAR']],
 [299, ['RCH3O + C10H2 => CH3OH + 0.5 C10H2 + 0.5 CHAR']],
 [50,
  ['C10H2M2 + RPHENOXM2 => 0.5 C0H2M2 + 0.5 C10H2 + RCH3O + 0.5 C10H2M4 + 0.5 H2 + PCOH']],
 [52, ['C10H2M2 + RPHENOX => 0.5 C10H2M2 + RCH3O + C10H2 + 1.5 H2 + PCOS']],
 [29, ['C10H2M4 => RCH3O + 0.5 C10H2M4 + RPHENOX']],
 [49,
  ['C10H2M4 + RPHENOXM2 => 0.5 C10H2M2 + C10H2M4 + RCH3O + 0.5 H2 + PCOH']],
 [51,
  ['C10H2M4 + RPHENOX => 0.5 C10H2M2 + 0.5 C10H2M4 + RCH3O + 0.5 C10H2 + 1.5 H2 + PCOS']],
 [83, ['RPHENOX + CHAR => PCOS + 0.5 C10H2 + 1.5 H2 + CHAR']],
 [84, ['RPHENOXM2 + CHAR => PCOS + 0.5 C10H2M4 + 0.5 H2 + CHAR']],
 [396, ['RKET + KET => KET + RKET']],
 [315, ['RLIGB + LIG => LIG + RLIGA']],
 [316, ['RLIGA + LIG => LIG + RLIGA']],
 [336, ['RLIGB + LIG => LIG + RLIGB']],
 [337, ['RLIGA + LIG => LIG + RLIGB']],
 [182, ['RLIGM2B + LIGM2 => LIGM2 + RLIGM2A']],
 [183, ['RLIGM2A + LIGM2 => LIGM2 + RLIGM2A']],
 [203, ['RLIGM2B + LIGM2 => LIGM2 + RLIGM2B']],
 [204, ['RLIGM2A + LIGM2 => LIGM2 + RLIGM2B']],
 [76,
  ['RLIGB + RLIGB => PCOS + 0.2 CHAR + 2 PCH2OH + 2 PCHOHP + 2 C10H2 + 3 PCOS + 5 PH2 + 2 H2']],
 [345, ['PRFET3 + PFET3 => PFET3 + PRFET3']],
 [222, ['PRFET3M2 + PFET3M2 => PFET3M2 + PRFET3M2']],
 [139, ['PRLIGH + PLIGH => PLIGH + PRLIGH2']],
 [79,
  ['PRFET3 + PRFET3 => 2 PCHP2 + 2 PCHO + 2 PCHOHP + 2 PCOS + C10H2 + H2 + 2 PH2']],
 [66,
  ['PRFET3M2 + PRFET3M2 => 2 PCOH + C10H2M4 + 2 PCHP2 + 2 PCHO + 2 PCHOHP + PH2']],
 [80,
  ['RLIGH + RLIGH => 2 PCOHP2 + 4 H2O + 2 PC2H2 + 4 PCOH + 2 C10H2M4 + H2 + 2 PCH3 + 2 PCHP2 + 2 PCH2P']]]

In [13]:
three_body_rxn = [[385, ['RADIO + ADIO => ADIO + RADIO']],
 [242, ['RADIOM2 + ADIOM2 => ADIOM2 + RADIOM2']],
 [50,
  ['C10H2M2 + RPHENOXM2 => 0.5 C0H2M2 + 0.5 C10H2 + RCH3O + 0.5 C10H2M4 + 0.5 H2 + PCOH']],
 [49,
  ['C10H2M4 + RPHENOXM2 => 0.5 C10H2M2 + C10H2M4 + RCH3O + 0.5 H2 + PCOH']],
 [83, ['RPHENOX + CHAR => PCOS + 0.5 C10H2 + 1.5 H2 + CHAR']],
 [84, ['RPHENOXM2 + CHAR => PCOS + 0.5 C10H2M4 + 0.5 H2 + CHAR']],
 [396, ['RKET + KET => KET + RKET']],
 [315, ['RLIGB + LIG => LIG + RLIGA']],
 [316, ['RLIGA + LIG => LIG + RLIGA']],
 [336, ['RLIGB + LIG => LIG + RLIGB']],
 [337, ['RLIGA + LIG => LIG + RLIGB']],
 [182, ['RLIGM2B + LIGM2 => LIGM2 + RLIGM2A']],
 [183, ['RLIGM2A + LIGM2 => LIGM2 + RLIGM2A']],
 [203, ['RLIGM2B + LIGM2 => LIGM2 + RLIGM2B']],
 [204, ['RLIGM2A + LIGM2 => LIGM2 + RLIGM2B']],
 [345, ['PRFET3 + PFET3 => PFET3 + PRFET3']],
 [222, ['PRFET3M2 + PFET3M2 => PFET3M2 + PRFET3M2']],
 [139, ['PRLIGH + PLIGH => PLIGH + PRLIGH2']],

In [25]:
three_body_num = []
for item in three_body_rxn:
    three_body_num.append(item[0])
three_body_num.sort()

In [26]:
three_body_num


Out[26]:
[29,
 49,
 50,
 51,
 52,
 66,
 76,
 79,
 80,
 83,
 84,
 139,
 182,
 183,
 203,
 204,
 222,
 242,
 315,
 316,
 336,
 337,
 345,
 385,
 396]