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]:
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]:
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]: