From 1033c55689d1ba6bd7698e36af8d2463e22380b5 Mon Sep 17 00:00:00 2001 From: Jonathan Bisson Date: Fri, 11 Jun 2021 17:36:46 -0500 Subject: [PATCH] Clean up the voting system and uncouple the classification. The purpose here is to uncouple the flask app from all the classification. And the voting system has been completely reworked to make it more readable and prepare for the ordering of answers. --- Classifier/__init__.py | 1 + Classifier/dict/index_v1.json | 6721 ++++++++++++++++++++++++++++++- Classifier/prediction_voting.py | 165 +- app.py | 173 +- classification.py | 82 + 5 files changed, 6914 insertions(+), 228 deletions(-) create mode 100644 Classifier/__init__.py create mode 100644 classification.py diff --git a/Classifier/__init__.py b/Classifier/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Classifier/__init__.py @@ -0,0 +1 @@ + diff --git a/Classifier/dict/index_v1.json b/Classifier/dict/index_v1.json index ed24a5c..4622696 100644 --- a/Classifier/dict/index_v1.json +++ b/Classifier/dict/index_v1.json @@ -1 +1,6720 @@ -{"Pathway": {"Alkaloids": 0, "Amino acids and Peptides": 1, "Carbohydrates": 2, "Fatty acids": 3, "Polyketides": 4, "Shikimates and Phenylpropanoids": 5, "Terpenoids": 6}, "Superclass": {"Alkylresorsinols": 0, "Amino acid glycosides": 1, "Aminosugars and aminoglycosides": 2, "Anthranilic acid alkaloids": 3, "Apocarotenoids": 4, "Aromatic polyketides": 5, "Carotenoids (C40)": 6, "Carotenoids (C45)": 7, "Carotenoids (C50)": 8, "Chromanes": 9, "Coumarins": 10, "Cyclic polyketides": 11, "Diarylheptanoids": 12, "Diazotetronic acids and derivatives": 13, "Diphenyl ethers (DPEs)": 14, "Diterpenoids": 15, "Docosanoids": 16, "Eicosanoids": 17, "Fatty Acids and Conjugates": 18, "Fatty acyl glycosides": 19, "Fatty acyls": 20, "Fatty amides": 21, "Fatty esters": 22, "Flavonoids": 23, "Fluorenes": 24, "Glycerolipids": 25, "Glycerophospholipids": 26, "Guanidine alkaloids": 27, "Histidine alkaloids": 28, "Isoflavonoids": 29, "Lignans": 30, "Linear polyketides": 31, "Lysine alkaloids": 32, "Macrolides": 33, "Meroterpenoids": 34, "Miscellaneous alkaloids": 35, "Miscellaneous polyketides": 36, "Mitomycin derivatives": 37, "Monoterpenoids": 38, "Mycosporine derivatives": 39, "Naphthalenes": 40, "Nicotinic acid alkaloids": 41, "Nucleosides": 42, "Octadecanoids": 43, "Oligopeptides": 44, "Ornithine alkaloids": 45, "Peptide alkaloids": 46, "Phenanthrenoids": 47, "Phenolic acids (C6-C1)": 48, "Phenylethanoids (C6-C2)": 49, "Phenylpropanoids (C6-C3)": 50, "Phloroglucinols": 51, "Polycyclic aromatic polyketides": 52, "Polyethers": 53, "Polyols": 54, "Polyprenols": 55, "Proline alkaloids": 56, "Pseudoalkaloids": 57, "Pseudoalkaloids (transamidation)": 58, "Saccharides": 59, "Serine alkaloids": 60, "Sesquiterpenoids": 61, "Sesterterpenoids": 62, "Small peptides": 63, "Spingolipids": 64, "Steroids": 65, "Stilbenoids": 66, "Styrylpyrones": 67, "Terphenyls": 68, "Tetramate alkaloids": 69, "Triterpenoids": 70, "Tropolones": 71, "Tryptophan alkaloids": 72, "Tyrosine alkaloids": 73, "Xanthones": 74, "\u03b2-lactams": 75, "\u03b3-lactam-\u03b2-lactones": 76}, "Class": {"12-oxophytodienoic acid metabolites": 0, "2-arylbenzofurans": 1, "2-pyrone derivatives": 2, "3-Decalinoyltetramic acids": 3, "3-Spirotetramic acids": 4, "3-acyl tetramic acids": 5, "3-oligoenoyltetramic acids": 6, "4-pyrone derivatives": 7, "Abeoabietane diterpenoids": 8, "Abeolupane triterpenoids": 9, "Abeotaxane diterpenoids": 10, "Abietane diterpenoids": 11, "Acetate-derived alkaloids": 12, "Acetogenins": 13, "Acidic glycosphingolipids": 14, "Acorane sesquiterpenoids": 15, "Acridone alkaloids": 16, "Actinomycins": 17, "Acutumine alkaloids": 18, "Acyclic guanidine alkaloids": 19, "Acyclic monoterpenoids": 20, "Acyclic triterpenoids": 21, "Acyl phloroglucinols": 22, "Adianane triterpenoids": 23, "Aeruginosins": 24, "Aflatoxins": 25, "Africanane sesquiterpenoids": 26, "Agarofuran sesquiterpenoids": 27, "Ahp-containing cyclodepsipeptides": 28, "Alliacane sesquiterpenoids": 29, "Allohimachalane sesquiterpenoids": 30, "Amarylidaceae alkaloids": 31, "Amino cyclitols": 32, "Amino fatty acids": 33, "Aminoacids": 34, "Aminoglycosides": 35, "Aminosugars": 36, "Amphilectane diterpenoids": 37, "Anabaenopeptins": 38, "Androstane steroids": 39, "Angucyclines": 40, "Ansa macrolides": 41, "Ansa peptide alkaloids": 42, "Anthocyanidins": 43, "Anthracyclines": 44, "Anthranillic acid derivatives": 45, "Anthraquinones and anthrones": 46, "Antimycins": 47, "Aphidicolane diterpenoids": 48, "Aplysiatoxins": 49, "Apocarotenoids (C30, \u03a8-\u03a8)": 50, "Apocarotenoids (\u03a8-)": 51, "Apocarotenoids (\u03b2-)": 52, "Apocarotenoids(\u03b5-)": 53, "Aporphine alkaloids": 54, "Apotirucallane triterpenoids": 55, "Aristolane sesquiterpenoids": 56, "Aromadendrane sesquiterpenoids": 57, "Aromatic polyketides with side chains": 58, "Arteminisin": 59, "Arylnaphthalene and aryltetralin lignans": 60, "Asbestinane diterpenoids": 61, "Ascarosides": 62, "Ascomycins and Rapamycins": 63, "Asperane sesterterpenoids": 64, "Aspidosperma type": 65, "Aspidosperma-Iboga hybrid type (Vinca alkaloids)": 66, "Asteriscane sesquiterpenoids": 67, "Atisane diterpenoids": 68, "Aurones": 69, "Avermectins": 70, "Azaphilones": 71, "Azo and Azoxy alkaloids": 72, "Baccharane triterpenoids": 73, "Bactoprenols": 74, "Bafilomycins": 75, "Bagremycins": 76, "Bauerane triterpenoids": 77, "Benastatins and derivatives": 78, "Benzodiazepine alkaloids": 79, "Benzophenones": 80, "Benzoquinones": 81, "Bergamotane sesquiterpenoids": 82, "Betaestacin-type sesterterpenoids": 83, "Betalain alkaloids": 84, "Beyerane diterpenoids": 85, "Biaryl type diarylheptanoids": 86, "Bicyclic guanidine alkaloids": 87, "Bicyclogermacrane sesquiterpenoids": 88, "Bicyclohumulane sesquiterpenoids": 89, "Bisabolane sesquiterpenoids": 90, "Bisnaphthalenes": 91, "Bleomycins": 92, "Boromycins": 93, "Botryane sesquiterpenoids": 94, "Bourbonane sesquiterpenoids": 95, "Branched fatty acids": 96, "Brasilane sesquiterpenoids": 97, "Breviane diterpenoids": 98, "Briarane diterpenoids": 99, "Bryostatins": 100, "Bufadienolides": 101, "CDP-Glycerols": 102, "Cadinane sesquiterpenoids": 103, "Camphane monoterpenoids": 104, "Campherenane sesquiterpenoids": 105, "Cannabinoids": 106, "Capnellane sesquiterpenoids": 107, "Capsaicins and Capsaicinoids": 108, "Carabrane sesquiterpenoids": 109, "Carane monoterpenoids": 110, "Carbapenems": 111, "Carbazole alkaloids": 112, "Carbocyclic fatty acids": 113, "Carboline alkaloids": 114, "Cardenolides": 115, "Carotenoids (C40, \u03a7-\u03a7)": 116, "Carotenoids (C40, \u03a7-\u03a8)": 117, "Carotenoids (C40, \u03a8-\u03a8)": 118, "Carotenoids (C40, \u03b2-\u03a7)": 119, "Carotenoids (C40, \u03b2-\u03a8)": 120, "Carotenoids (C40, \u03b2-\u03b2)": 121, "Carotenoids (C40, \u03b2-\u03b3)": 122, "Carotenoids (C40, \u03b2-\u03b5)": 123, "Carotenoids (C40, \u03b2-\u03ba)": 124, "Carotenoids (C40, \u03b2-\u03c0)": 125, "Carotenoids (C40, \u03b3-\u03a8)": 126, "Carotenoids (C40, \u03b3-\u03b5)": 127, "Carotenoids (C40, \u03b5-\u03a8)": 128, "Carotenoids (C40, \u03b5-\u03b5)": 129, "Carotenoids (C40, \u03ba-\u03a7)": 130, "Carotenoids (C40, \u03ba-\u03ba)": 131, "Carotenoids (C40, \u03c0-\u03a7)": 132, "Carotenoids (C40, \u03c0-\u03a8)": 133, "Carotenoids (C40, \u03c0-\u03c0)": 134, "Carotenoids (C45, \u03a8-\u03a8)": 135, "Carotenoids (C45, \u03b2-\u03a8)": 136, "Carotenoids (C45, \u03b5-\u03a8)": 137, "Carotenoids (C50, \u03a8-\u03a8)": 138, "Carotenoids (C50, \u03b2-\u03a8)": 139, "Carotenoids (C50, \u03b2-\u03b2)": 140, "Carotenoids (C50, \u03b3-\u03b3)": 141, "Carotenoids (C50, \u03b5-\u03b5)": 142, "Caryolane sesquiterpenoids": 143, "Caryophyllane sesquiterpenoids": 144, "Casbane diterpenoids": 145, "Cassane diterpenoids": 146, "Catechols with side chains": 147, "Cedrane and Isocedrane sesquiterpenoids": 148, "Cembrane diterpenoids": 149, "Cephalosporins": 150, "Cephalotaxus alkaloids": 151, "Cephamycins": 152, "Ceramides": 153, "Cericerane sesterterpenoids": 154, "Chalcones": 155, "Chamigrane sesquiterpenoids": 156, "Cheilanthane sesterterpenoids": 157, "Chiloscyphane sesquiterpenoids": 158, "Cholane steroids": 159, "Cholestane steroids": 160, "Chromones": 161, "Cinnamic acid amides": 162, "Cinnamic acids and derivatives": 163, "Cinnamoyl phenols": 164, "Clavams": 165, "Clavulones": 166, "Cleistanthane diterpenoids": 167, "Clovane sesquiterpenoids": 168, "Colensane and Clerodane diterpenoids": 169, "Coloratane sesquiterpenoids": 170, "Copaane sesquiterpenoids": 171, "Copacamphane sesquiterpenoids": 172, "Corynanthe type": 173, "Coumarinolignans": 174, "Coumaronochromones": 175, "Coumestan": 176, "Cryptophycins": 177, "Cubebane sesquiterpenoids": 178, "Cucurbitane triterpenoids": 179, "Cuparane sesquiterpenoids": 180, "Cyano esters": 181, "Cyanogenic glycosides": 182, "Cyathane diterpenoids": 183, "Cyclic peptides": 184, "Cyclitols": 185, "Cycloabietane diterpenoids": 186, "Cycloamphilectane diterpenoids": 187, "Cycloapotirucallane triterpenoids": 188, "Cycloartane triterpenoids": 189, "Cyclobisabolane sesquiterpenoids": 190, "Cycloeudesmane sesquiterpenoids": 191, "Cyclofarnesane sesquiterpenoids": 192, "Cyclogermacrane sesquiterpenoids": 193, "Cyclolaurane sesquiterpenoids": 194, "Cyclonerane sesquiterpenoids": 195, "Cyclophytane diterpenoids": 196, "Cyclopiane diterpenoids": 197, "Cyclopiazonic acid-tpye tetramate alkaloids": 198, "Cytochalasan alkaloids": 199, "Cytosporins": 200, "DKXanthenes and derivatives": 201, "Dactylomelane diterpenoids": 202, "Dammarane and Protostane triterpenoids": 203, "Daphnane diterpenoids": 204, "Daucane sesquiterpenoids": 205, "Decalins with 2-pyrones": 206, "Decalins with side chains": 207, "Decipiane diterpenoids": 208, "Depsides": 209, "Depsidones": 210, "Depsipeptides": 211, "Devadarane diterpenoids": 212, "Diacylglycerols": 213, "Dialkylresorcinols": 214, "Diarylether type diarylheptanoids": 215, "Dibenzocyclooctadienes lignans": 216, "Dibenzylbutane lignans": 217, "Dibenzylbutyrolactone lignans": 218, "Dicarboxylic acids": 219, "Dihydroflavonols": 220, "Dimeric phloroglucinols": 221, "Dipeptides": 222, "Disaccharides": 223, "Docosa-1,2-dioxolanes": 224, "Dolabellane diterpenoids": 225, "Dolastane diterpenoids": 226, "Dolichols": 227, "Drimane sesquiterpenoids": 228, "Duclauxin and derivatives": 229, "Dunniane sesquiterpenoids": 230, "Ecdysteroids": 231, "Eicosa-1,2-dioxolanes": 232, "Elemane sesquiterpenoids": 233, "Elfamycins": 234, "Enediynes": 235, "Epothilones": 236, "Epoxy fatty acids": 237, "Epoxyeicosatrienoic acids": 238, "Eremane diterpenoids": 239, "Eremophilane sesquiterpenoids": 240, "Ergostane steroids": 241, "Ergot alkaloids": 242, "Ericamycins": 243, "Erythromycins": 244, "Erythroxylane diterpenoids": 245, "Estrane steroids": 246, "Eudesmane sesquiterpenoids": 247, "Eunicellane diterpenoids": 248, "Farnesane sesquiterpenoids": 249, "Fasamycins and derivatives": 250, "Fatty acid estolides": 251, "Fatty acyl CoAs": 252, "Fatty acyl carnitines": 253, "Fatty acyl glycosides of mono- and disaccharides": 254, "Fatty acyl homoserine lactones": 255, "Fatty alcohols": 256, "Fatty aldehydes": 257, "Fatty ethers": 258, "Fatty nitriles": 259, "Fenchane monoterpenoids": 260, "Fernane and Arborinane triterpenoids": 261, "Filicane triterpenoids": 262, "Flavan-3-ols": 263, "Flavandiols (Leucoanthocyanidins)": 264, "Flavanones": 265, "Flavans": 266, "Flavones": 267, "Flavonolignans": 268, "Flavonols": 269, "Flavonostilbenes": 270, "Friedelane triterpenoids": 271, "Fukinane sesquiterpenoids": 272, "Fungal DPEs": 273, "Fungal cyclic polyketides (Miscellaneous)": 274, "Furanoabietane diterpenoids": 275, "Furanoid lignans": 276, "Furans": 277, "Furocoumarins": 278, "Furofuranoid lignans": 279, "Furostane steroids": 280, "Fusicoccane diterpenoids": 281, "Fusidane triterpenoids": 282, "Gallotannins": 283, "Gammacerane triterpenoids": 284, "Germacrane sesquiterpenoids": 285, "Gersemiane diterpenoids": 286, "Gibberellins": 287, "Glucosinolates": 288, "Glutinane triterpenoids": 289, "Glycerophosphates": 290, "Glycerophosphocholines": 291, "Glycerophosphoethanolamines": 292, "Glycerophosphoglycerols": 293, "Glycerophosphoglycerophosphates": 294, "Glycerophosphoglycerophosphoglycerols": 295, "Glycerophosphoinositol phosphates": 296, "Glycerophosphoinositolglycans": 297, "Glycerophosphoinositols": 298, "Glycerophosphoserines": 299, "Glycosyldiacylglycerols": 300, "Glycosylglycerophospholipids": 301, "Glycosylmonoacylglycerols": 302, "Gorgonane sesquiterpenoids": 303, "Grayanotoxane diterpenoids": 304, "Griseofulvins": 305, "Guaiane sesquiterpenoids": 306, "Guanacastane diterpenoids": 307, "Gymnomitrane sesquiterpenoids": 308, "Halimane diterpenoids": 309, "Halogenated hydrocarbons": 310, "Hamigerane sesquiterpenoids": 311, "Hapalindole alkaloids": 312, "Hasubanan alkaloids": 313, "Hepoxilins": 314, "Herbertane sesquiterpenoids": 315, "Heterocyclic fatty acids": 316, "Himachalane sesquiterpenoids": 317, "Hirsutane sesquiterpenoids": 318, "Homoerythrina alkaloids": 319, "Homofarnesane sesquiterpenoids": 320, "Hopane and Moretane triterpenoids": 321, "Humbertiane sesquiterpenoids": 322, "Humulane sesquiterpenoids": 323, "Hydrocarbons": 324, "Hydroperoxy fatty acids": 325, "Hydroxy fatty acids": 326, "Hydroxy-hydroperoxyeicosapentaenoic acids": 327, "Hydroxy-hydroperoxyeicosatetraenoic acids": 328, "Hydroxy-hydroperoxyeicosatrienoic acids": 329, "Iboga type": 330, "Icetexane diterpenoids": 331, "Illudalane sesquiterpenoids": 332, "Illudane sesquiterpenoids": 333, "Imidazole alkaloids": 334, "Indole diketopiperazine alkaloids (L-Trp, L-Ala)": 335, "Indole diketopiperazine alkaloids (L-Trp, L-Pro)": 336, "Indole diketopiperazine alkaloids (L-Trp, L-Trp)": 337, "Indole-Diterpenoid alkaloids (Penitrems)": 338, "Indolizidine alkaloids": 339, "Ingenane diterpenoids": 340, "Iphionane sesquiterpenoids": 341, "Iridoids monoterpenoids": 342, "Irregular monoterpenoids": 343, "Isariotin alkaloids": 344, "Ishwarane sesquiterpenoids": 345, "Isoaurones": 346, "Isocomane sesquiterpenoids": 347, "Isocoumarins": 348, "Isodaucane sesquiterpenoids": 349, "Isoflavanones": 350, "Isoflavones": 351, "Isofurans": 352, "Isoindole alkaloids": 353, "Isolactarane sesquiterpenoids": 354, "Isoprostanes": 355, "Isoquinoline alkaloids": 356, "Ivaxillarane sesquiterpenoids": 357, "Jasmonic acids": 358, "Jatrophane diterpenoids": 359, "Jatropholane diterpenoids": 360, "Kaurane and Phyllocladane diterpenoids": 361, "Kavalactones and derivatives": 362, "Kempane diterpenoids": 363, "Labdane diterpenoids": 364, "Lactam bearing macrolide lactones": 365, "Lactarane sesquiterpenoids": 366, "Lactones": 367, "Ladder polyethers": 368, "Lanostane, Tirucallane and Euphane triterpenoids": 369, "Lathyrane diterpenoids": 370, "Laurane sesquiterpenoids": 371, "Leukotrienes": 372, "Levuglandins": 373, "Limonoids": 374, "Linear diarylheptanoids": 375, "Linear peptides": 376, "Linear polyenes": 377, "Linear sesterterpenoids": 378, "Linear tetronates": 379, "Lipopeptides": 380, "Lipoxins": 381, "Lippifoliane sesquiterpenoids": 382, "Lobane diterpenoids": 383, "Long-Chain Bicyclic Phosphotriester": 384, "Longibornane sesquiterpenoids": 385, "Longifolane sesquiterpenoids": 386, "Longipinane sesquiterpenoids": 387, "Luminacins and derivatives": 388, "Lupane triterpenoids": 389, "Macrocyclic tetramic acids": 390, "Macrolide lactams": 391, "Macrolide lactones": 392, "Macrotetrolides": 393, "Malabaricane triterpenoids": 394, "Mangicol-type sesterterpenoids": 395, "Marasmane sesquiterpenoids": 396, "Maresins": 397, "Marine-bacterial DPEs": 398, "Megastigmanes": 399, "Melithiazole and Myxothiazole derivatives": 400, "Menthane monoterpenoids": 401, "Merohemiterpenoids": 402, "Meromonoterpenoids": 403, "Merosesquiterpenoids": 404, "Meroterpenoids with 5- or 6-membered ring": 405, "Meroterpenoids with bridged ring": 406, "Methoxy fatty acids": 407, "Methyl xanthones": 408, "Microcolins and mirabimids": 409, "Microcystins": 410, "Microginins": 411, "Minor lignans": 412, "Miscellaneous alkaloids": 413, "Miscellaneous apocarotenoids": 414, "Miscellaneous meroterpenoids": 415, "Miscellaneous polyketides": 416, "Mitomycins": 417, "Monacolins and Monacolin derivatives": 418, "Monoacylglycerols": 419, "Monoalkylresorcinols": 420, "Monocarbocyclic sesterterpenoids": 421, "Monocyclic guanidine alkaloids": 422, "Monocyclic monoterpenoids": 423, "Monocyclic \u03b2-lactams": 424, "Monomeric stilbenes": 425, "Monosaccharides": 426, "Morphinan alkaloids": 427, "Mulinane diterpenoids": 428, "Multiflorane triterpenoids": 429, "Mycolic acids": 430, "Mycosporine and Mycosporine-like amino acids": 431, "Myrsinane diterpenoids": 432, "N-acyl amines": 433, "N-acyl ethanolamines (endocannabinoids)": 434, "Nagilactone diterpenoids": 435, "Naphthalenes and derivatives": 436, "Naphthalenones": 437, "Naphthoquinones": 438, "Nardosinane sesquiterpenoids": 439, "Neoflavonoids": 440, "Neohopane triterpenoids": 441, "Neolignans": 442, "Neurofurans": 443, "Neuroprostanes": 444, "Neutral glycosphingolipids": 445, "Nitro fatty acids": 446, "Nonadrides": 447, "Norcembrane diterpenoids": 448, "Noreremophilane sesquiterpenoids": 449, "Noreudesmane sesquiterpenoids": 450, "Norkaurane diterpenoids": 451, "Norlabdane diterpenoids": 452, "Norpimarane and Norisopimarane diterpenoids": 453, "Norsesterterpenoids": 454, "Oblogolides": 455, "Obtusane diterpenoids": 456, "Oleanane triterpenoids": 457, "Oligomeric phloroglucinols (phlorotannins)": 458, "Oligomeric stibenes": 459, "Oligomycins": 460, "Onocerane triterpenoids": 461, "Open-chain polyketides": 462, "Open-chained neoflavonoids": 463, "Ophiobolane sesterterpenoids": 464, "Oplopane sesquiterpenoids": 465, "Oppositane sesquiterpenoids": 466, "Orthosomycins": 467, "Other Docosanoids": 468, "Other Eicosanoids": 469, "Other Octadecanoids": 470, "Other indole diketopiperazine alkaloids": 471, "Other polyketide meroterpenoids": 472, "Oxa-Bridged Macrolides": 473, "Oxasqualenoids": 474, "Oxazole alkaloids": 475, "Oxidized glycerophospholipids": 476, "Oxo fatty acids": 477, "Oxygenated hydrocarbons": 478, "Pachydictyane diterpenoids": 479, "Pachysanane triterpenoids": 480, "Pacifigorgiane sesquiterpenoids": 481, "Panasinsane sesquiterpenoids": 482, "Paraconic acids and derivatives": 483, "Paraliane diterpenoids": 484, "Parguerane diterpenoids": 485, "Patchoulane sesquiterpenoids": 486, "Paulomycins and derivatives": 487, "Penicillins": 488, "Pentacyclic guanidine alkaloids": 489, "Pentalenane sesquiterpenoids": 490, "Pepluane diterpenoids": 491, "Peptaibols": 492, "Perforane sesquiterpenoids": 493, "Phenalens": 494, "Phenanthrenes": 495, "Phenazine alkaloids": 496, "Phenethylisoquinoline alkaloids": 497, "Phenoxazine alkaloids": 498, "Phenylalanine-derived alkaloids": 499, "Phenylethanoids": 500, "Phenylethylamines": 501, "Phloroglucinol-terpene hybrids": 502, "Phoslactomycins or Phosphazomycins": 503, "Phosphosphingolipids": 504, "Phthalide derivatives": 505, "Phytane diterpenoids": 506, "Phytofurans": 507, "Phytoprostanes": 508, "Picrotoxane sesquiterpenoids": 509, "Pimarane and Isopimarane diterpenoids": 510, "Pimprinine alkaloids": 511, "Pinane monoterpenoids": 512, "Pinguisane sesquiterpenoids": 513, "Piperidine alkaloids": 514, "Plant xanthones": 515, "Platensimycin and Platencins": 516, "Podocarpane diterpenoids": 517, "Polyamines": 518, "Polyene macrolides": 519, "Polyesters": 520, "Polyether ionophores": 521, "Polypodane triterpenoids": 522, "Polyprenol derivatives": 523, "Polyprenylated cyclic polyketides (Hop meroterpenoids)": 524, "Polysaccharides": 525, "Pradimicins": 526, "Pregnane steroids": 527, "Premyrsinane diterpenoids": 528, "Prenyl quinone meroterpenoids": 529, "Prenylated,geranylated phloroglucinols": 530, "Prenylbisabolane diterpenoids": 531, "Prenyleudesmane diterpenoids": 532, "Presilphiperfolane and Probotryane sesquiterpenoids": 533, "Prezizaane sesquiterpenoids": 534, "Primary amides": 535, "Proanthocyanins": 536, "Prodigiosins": 537, "Prostaglandins": 538, "Protoberberine alkaloids": 539, "Protoilludane sesquiterpenoids": 540, "Protopine alkaloids": 541, "Pseudoguaiane sesquiterpenoids": 542, "Pseudopterane diterpenoids": 543, "Pterocarpan": 544, "Pulvinones": 545, "Purine alkaloids": 546, "Purine nucleos(t)ides": 547, "Pyranocoumarins": 548, "Pyrazine and Piperazine alkaloids": 549, "Pyridine alkaloids": 550, "Pyrimidine nucleos(t)ides": 551, "Pyrrocidine tetramate alkaloids": 552, "Pyrrole alkaloids": 553, "Pyrrolidine alkaloids": 554, "Pyrrolizidine alkaloids": 555, "Pyrroloindole alkaloids": 556, "Pyrroloquinoline alkaloids": 557, "Quadrane sesquiterpenoids": 558, "Quassinoids": 559, "Quinazoline alkaloids": 560, "Quinoline alkaloids": 561, "Quinolizidine alkaloids": 562, "Resin glycosides": 563, "Resolvin Ds": 564, "Resolvin Es": 565, "Rhamnofolane diterpenoids": 566, "Rhamnolipids": 567, "Rhizoxins": 568, "RiPPs-Amatoxins and Phallotoxins": 569, "RiPPs-Bottromycins": 570, "RiPPs-Cyanobactins": 571, "RiPPs-Lanthipeptides": 572, "RiPPs-Lasso peptides": 573, "RiPPs-Microcins": 574, "RiPPs-Thiopeptides": 575, "Rotenoids": 576, "Rotundane sesquiterpenoids": 577, "Sacculatane diterpenoids": 578, "Salinosporamides": 579, "Santalane sesquiterpenoids": 580, "Saponaceolide triterpenoids": 581, "Sativane sesquiterpenoids": 582, "Saxitoxins": 583, "Scalarane sesterterpenoids": 584, "Secoabietane diterpenoids": 585, "Secochamigrane sesquiterpenoids": 586, "Secoeudesmane sesquiterpenoids": 587, "Secogermacrane sesquiterpenoids": 588, "Secoiridoid monoterpenoids": 589, "Secokaurane diterpenoids": 590, "Secolabdane diterpenoids": 591, "Segetane diterpenoids": 592, "Selaginellins": 593, "Serratane triterpenoids": 594, "Serrulatane and Biflorane diterpenoids": 595, "Shikimic acids and derivatives": 596, "Shionane triterpenoids": 597, "Silphinane sesquiterpenoids": 598, "Silphiperfolane sesquiterpenoids": 599, "Simple amide alkaloids": 600, "Simple aromatic polyketides": 601, "Simple coumarins": 602, "Simple cyclic polyketides": 603, "Simple diketopiperazine alkaloids": 604, "Simple indole alkaloids": 605, "Simple oxindole alkaloids": 606, "Simple phenolic acids": 607, "Simple tetramate alkaloids": 608, "Sinularane sesquiterpenoids": 609, "Sophorolipids": 610, "Sorbicilinoids": 611, "Sphaerane diterpenoids": 612, "Sphaeroane diterpenoids": 613, "Sphenolobane diterpenoids": 614, "Sphingoid bases": 615, "Spiroaxane sesquiterpenoids": 616, "Spirodioxynaphthalenes": 617, "Spirostane steroids": 618, "Spirotetronate macrolides": 619, "Spirovetivane sesquiterpenoids": 620, "Spongiane diterpenoids": 621, "Spriromeroterpenoids": 622, "Stemona alkaloids": 623, "Steroidal alkaloids": 624, "Sterpurane sesquiterpenoids": 625, "Stictane triterpenoids": 626, "Stigmastane steroids": 627, "Stilbenolignans": 628, "Streptogramins": 629, "Streptothricins and derivatives": 630, "Strobilurins and derivatives": 631, "Strychnos type": 632, "Tantazoles and mirabazoles": 633, "Taraxerane triterpenoids": 634, "Taxane diterpenoids": 635, "Terpenoid alkaloids": 636, "Terpenoid tetrahydroisoquinoline alkaloids": 637, "Tetracyclic diterpenoids": 638, "Tetracyclines": 639, "Tetrahydroisoquinoline alkaloids": 640, "Tetraketide meroterpenoids": 641, "Tetrodotoxins": 642, "Thapsane sesquiterpenoids": 643, "Thia fatty acids": 644, "Thiazole alkaloids": 645, "Thiodiketopiperazine alkaloids": 646, "Thromboxanes": 647, "Thujane monoterpenoids": 648, "Thujopsane sesquiterpenoids": 649, "Tigliane diterpenoids": 650, "Totarane diterpenoids": 651, "Trachylobane diterpenoids": 652, "Tremulane sesquiterpenoids": 653, "Triacylglycerols": 654, "Trichothecane sesquiterpenoids": 655, "Tricyclic guanidine alkaloids": 656, "Triketide meroterpenoids": 657, "Trinervitane diterpenoids": 658, "Tripeptides": 659, "Tropane alkaloids": 660, "Tropolones and derivatives (PKS)": 661, "Tropolones and derivatives (Shikimate)": 662, "Tylosins": 663, "Unsaturated fatty acids": 664, "Ursane and Taraxastane triterpenoids": 665, "Usnic acid and derivatives": 666, "Valerane sesquiterpenoids": 667, "Valerenane sesquiterpenoids": 668, "Valparane diterpenoids": 669, "Vancomycins and Teicoplanins": 670, "Verrucosane diterpenoids": 671, "Verticillane diterpenoids": 672, "Villanovane diterpenoids": 673, "Viscidane diterpenoids": 674, "Vitamin D2 and derivatives": 675, "Vitamin D3 and derivatives": 676, "Wax diesters": 677, "Wax monoesters": 678, "Xeniaphyllane diterpenoids": 679, "Xenicane diterpenoids": 680, "Yohimbine-like alkaloids": 681, "Zearalenones": 682, "Zizaane sesquiterpenoids": 683, "m-Terphenyls": 684, "p-Terphenyls": 685, "pteridine alkaloids": 686}, "Class_hierarchy": {"326": {"Pathway": [3], "Superclass": [18]}, "477": {"Pathway": [3], "Superclass": [18]}, "96": {"Pathway": [3], "Superclass": [18]}, "664": {"Pathway": [3], "Superclass": [18]}, "325": {"Pathway": [3], "Superclass": [18]}, "237": {"Pathway": [3], "Superclass": [18]}, "407": {"Pathway": [3], "Superclass": [18]}, "33": {"Pathway": [3], "Superclass": [18]}, "446": {"Pathway": [3], "Superclass": [18]}, "644": {"Pathway": [3], "Superclass": [18]}, "113": {"Pathway": [3], "Superclass": [18]}, "316": {"Pathway": [3], "Superclass": [18]}, "430": {"Pathway": [3], "Superclass": [18]}, "219": {"Pathway": [3], "Superclass": [18]}, "0": {"Pathway": [3], "Superclass": [43]}, "358": {"Pathway": [3], "Superclass": [43]}, "508": {"Pathway": [3], "Superclass": [43]}, "507": {"Pathway": [3], "Superclass": [43]}, "470": {"Pathway": [3], "Superclass": [43]}, "538": {"Pathway": [3], "Superclass": [17]}, "372": {"Pathway": [3], "Superclass": [17]}, "647": {"Pathway": [3], "Superclass": [17]}, "381": {"Pathway": [3], "Superclass": [17]}, "329": {"Pathway": [3], "Superclass": [17]}, "328": {"Pathway": [3], "Superclass": [17]}, "327": {"Pathway": [3], "Superclass": [17]}, "238": {"Pathway": [3], "Superclass": [17]}, "314": {"Pathway": [3], "Superclass": [17]}, "373": {"Pathway": [3], "Superclass": [17]}, "355": {"Pathway": [3], "Superclass": [17]}, "352": {"Pathway": [3], "Superclass": [17]}, "232": {"Pathway": [3], "Superclass": [17]}, "565": {"Pathway": [3], "Superclass": [17]}, "166": {"Pathway": [3], "Superclass": [17]}, "469": {"Pathway": [3], "Superclass": [17]}, "444": {"Pathway": [3], "Superclass": [16]}, "443": {"Pathway": [3], "Superclass": [16]}, "224": {"Pathway": [3], "Superclass": [16]}, "564": {"Pathway": [3], "Superclass": [16]}, "397": {"Pathway": [3], "Superclass": [16]}, "468": {"Pathway": [3], "Superclass": [16]}, "256": {"Pathway": [3], "Superclass": [20]}, "257": {"Pathway": [3], "Superclass": [20]}, "678": {"Pathway": [3], "Superclass": [22]}, "677": {"Pathway": [3], "Superclass": [22]}, "181": {"Pathway": [3], "Superclass": [22]}, "367": {"Pathway": [3], "Superclass": [22]}, "252": {"Pathway": [3], "Superclass": [22]}, "253": {"Pathway": [3], "Superclass": [22]}, "251": {"Pathway": [3], "Superclass": [22]}, "535": {"Pathway": [3], "Superclass": [21]}, "433": {"Pathway": [3], "Superclass": [21]}, "255": {"Pathway": [3], "Superclass": [21]}, "434": {"Pathway": [3], "Superclass": [21]}, "259": {"Pathway": [3], "Superclass": [20]}, "258": {"Pathway": [3], "Superclass": [20]}, "324": {"Pathway": [3], "Superclass": [20]}, "478": {"Pathway": [3], "Superclass": [20]}, "254": {"Pathway": [3], "Superclass": [19]}, "610": {"Pathway": [3], "Superclass": [19]}, "567": {"Pathway": [3], "Superclass": [19]}, "62": {"Pathway": [3], "Superclass": [19]}, "419": {"Pathway": [3], "Superclass": [25]}, "213": {"Pathway": [3], "Superclass": [25]}, "654": {"Pathway": [3], "Superclass": [25]}, "302": {"Pathway": [3], "Superclass": [25]}, "300": {"Pathway": [3], "Superclass": [25]}, "291": {"Pathway": [3], "Superclass": [26]}, "292": {"Pathway": [3], "Superclass": [26]}, "299": {"Pathway": [3], "Superclass": [26]}, "293": {"Pathway": [3], "Superclass": [26]}, "294": {"Pathway": [3], "Superclass": [26]}, "298": {"Pathway": [3], "Superclass": [26]}, "296": {"Pathway": [3], "Superclass": [26]}, "290": {"Pathway": [3], "Superclass": [26]}, "295": {"Pathway": [3], "Superclass": [26]}, "102": {"Pathway": [3], "Superclass": [26]}, "301": {"Pathway": [3], "Superclass": [26]}, "297": {"Pathway": [3], "Superclass": [26]}, "476": {"Pathway": [3], "Superclass": [26]}, "384": {"Pathway": [3], "Superclass": [26]}, "615": {"Pathway": [3], "Superclass": [64]}, "153": {"Pathway": [3], "Superclass": [64]}, "504": {"Pathway": [3], "Superclass": [64]}, "445": {"Pathway": [3], "Superclass": [64]}, "14": {"Pathway": [3], "Superclass": [64]}, "563": {"Pathway": [3], "Superclass": [20]}, "483": {"Pathway": [3], "Superclass": [20]}, "244": {"Pathway": [4], "Superclass": [33]}, "663": {"Pathway": [4], "Superclass": [33]}, "70": {"Pathway": [4], "Superclass": [33]}, "519": {"Pathway": [4], "Superclass": [33]}, "63": {"Pathway": [4], "Superclass": [33]}, "236": {"Pathway": [1, 4], "Superclass": [33]}, "568": {"Pathway": [1, 4], "Superclass": [33]}, "460": {"Pathway": [4], "Superclass": [33]}, "41": {"Pathway": [4], "Superclass": [33]}, "682": {"Pathway": [4], "Superclass": [33]}, "75": {"Pathway": [4], "Superclass": [33]}, "392": {"Pathway": [4], "Superclass": [33]}, "391": {"Pathway": [1, 4], "Superclass": [33]}, "365": {"Pathway": [1, 4], "Superclass": [33]}, "235": {"Pathway": [4], "Superclass": [33]}, "619": {"Pathway": [4], "Superclass": [33]}, "100": {"Pathway": [4], "Superclass": [33]}, "47": {"Pathway": [1, 4], "Superclass": [33]}, "473": {"Pathway": [4], "Superclass": [33]}, "390": {"Pathway": [1, 4], "Superclass": [33]}, "379": {"Pathway": [4], "Superclass": [31]}, "234": {"Pathway": [1, 4], "Superclass": [31]}, "462": {"Pathway": [4], "Superclass": [31]}, "5": {"Pathway": [1, 4], "Superclass": [31]}, "6": {"Pathway": [4], "Superclass": [31]}, "13": {"Pathway": [4], "Superclass": [31]}, "377": {"Pathway": [4], "Superclass": [31]}, "520": {"Pathway": [4], "Superclass": [31]}, "400": {"Pathway": [1, 4], "Superclass": [31]}, "201": {"Pathway": [1, 4], "Superclass": [31]}, "603": {"Pathway": [4], "Superclass": [11]}, "2": {"Pathway": [4], "Superclass": [11]}, "7": {"Pathway": [4], "Superclass": [11]}, "200": {"Pathway": [4], "Superclass": [9]}, "455": {"Pathway": [4], "Superclass": [11]}, "418": {"Pathway": [4], "Superclass": [11]}, "207": {"Pathway": [4], "Superclass": [11]}, "206": {"Pathway": [4], "Superclass": [11]}, "3": {"Pathway": [1, 4], "Superclass": [11]}, "4": {"Pathway": [1, 4], "Superclass": [11]}, "447": {"Pathway": [4], "Superclass": [11]}, "516": {"Pathway": [6], "Superclass": [15]}, "524": {"Pathway": [4, 6], "Superclass": [34]}, "611": {"Pathway": [4], "Superclass": [5]}, "420": {"Pathway": [4], "Superclass": [0]}, "214": {"Pathway": [4], "Superclass": [0]}, "46": {"Pathway": [4], "Superclass": [52]}, "161": {"Pathway": [4], "Superclass": [9]}, "25": {"Pathway": [4], "Superclass": [9]}, "505": {"Pathway": [4], "Superclass": [11]}, "305": {"Pathway": [4], "Superclass": [5]}, "147": {"Pathway": [4], "Superclass": [5]}, "58": {"Pathway": [4], "Superclass": [5]}, "601": {"Pathway": [4], "Superclass": [5]}, "388": {"Pathway": [4], "Superclass": [5]}, "106": {"Pathway": [4, 6], "Superclass": [34]}, "639": {"Pathway": [4], "Superclass": [52]}, "44": {"Pathway": [4], "Superclass": [52]}, "40": {"Pathway": [4], "Superclass": [52]}, "526": {"Pathway": [4], "Superclass": [52]}, "250": {"Pathway": [4], "Superclass": [52]}, "78": {"Pathway": [4], "Superclass": [52]}, "22": {"Pathway": [4], "Superclass": [51]}, "502": {"Pathway": [4, 6], "Superclass": [51]}, "530": {"Pathway": [4], "Superclass": [51]}, "221": {"Pathway": [4], "Superclass": [51]}, "458": {"Pathway": [4], "Superclass": [51]}, "408": {"Pathway": [4], "Superclass": [74]}, "438": {"Pathway": [4], "Superclass": [40]}, "617": {"Pathway": [4], "Superclass": [40]}, "91": {"Pathway": [4], "Superclass": [40]}, "436": {"Pathway": [4], "Superclass": [40]}, "71": {"Pathway": [4], "Superclass": [9]}, "368": {"Pathway": [4], "Superclass": [53]}, "521": {"Pathway": [4], "Superclass": [53]}, "393": {"Pathway": [4], "Superclass": [53]}, "661": {"Pathway": [4], "Superclass": [71]}, "596": {"Pathway": [5], "Superclass": [48]}, "607": {"Pathway": [5], "Superclass": [48]}, "283": {"Pathway": [5], "Superclass": [48]}, "76": {"Pathway": [5], "Superclass": [48]}, "273": {"Pathway": [4], "Superclass": [14]}, "398": {"Pathway": [5], "Superclass": [14]}, "163": {"Pathway": [5], "Superclass": [50]}, "162": {"Pathway": [1, 5], "Superclass": [50]}, "164": {"Pathway": [5], "Superclass": [50]}, "500": {"Pathway": [5], "Superclass": [49]}, "662": {"Pathway": [5], "Superclass": [71]}, "631": {"Pathway": [4], "Superclass": [5]}, "431": {"Pathway": [1, 5], "Superclass": [39]}, "217": {"Pathway": [5], "Superclass": [30]}, "218": {"Pathway": [5], "Superclass": [30]}, "276": {"Pathway": [5], "Superclass": [30]}, "279": {"Pathway": [5], "Superclass": [30]}, "60": {"Pathway": [5], "Superclass": [30]}, "216": {"Pathway": [5], "Superclass": [30]}, "442": {"Pathway": [5], "Superclass": [30]}, "412": {"Pathway": [5], "Superclass": [30]}, "174": {"Pathway": [5], "Superclass": [10, 30]}, "602": {"Pathway": [5], "Superclass": [10]}, "278": {"Pathway": [5], "Superclass": [10]}, "548": {"Pathway": [5], "Superclass": [10]}, "348": {"Pathway": [5], "Superclass": [10]}, "362": {"Pathway": [5], "Superclass": [67]}, "375": {"Pathway": [5], "Superclass": [12]}, "215": {"Pathway": [5], "Superclass": [12]}, "86": {"Pathway": [5], "Superclass": [12]}, "685": {"Pathway": [5], "Superclass": [68]}, "684": {"Pathway": [5], "Superclass": [68]}, "545": {"Pathway": [5], "Superclass": [13]}, "593": {"Pathway": [5], "Superclass": [24]}, "515": {"Pathway": [5], "Superclass": [74]}, "155": {"Pathway": [5], "Superclass": [23]}, "265": {"Pathway": [5], "Superclass": [23]}, "220": {"Pathway": [5], "Superclass": [23]}, "269": {"Pathway": [5], "Superclass": [23]}, "267": {"Pathway": [5], "Superclass": [23]}, "264": {"Pathway": [5], "Superclass": [23]}, "266": {"Pathway": [5], "Superclass": [23]}, "263": {"Pathway": [5], "Superclass": [23]}, "536": {"Pathway": [5], "Superclass": [23]}, "43": {"Pathway": [5], "Superclass": [23]}, "268": {"Pathway": [5], "Superclass": [30, 23]}, "69": {"Pathway": [5], "Superclass": [23]}, "346": {"Pathway": [5], "Superclass": [23]}, "270": {"Pathway": [5], "Superclass": [66, 23]}, "425": {"Pathway": [5], "Superclass": [66]}, "459": {"Pathway": [5], "Superclass": [66]}, "628": {"Pathway": [5], "Superclass": [66, 30]}, "351": {"Pathway": [5], "Superclass": [29]}, "576": {"Pathway": [5], "Superclass": [29]}, "176": {"Pathway": [5], "Superclass": [29]}, "544": {"Pathway": [5], "Superclass": [29]}, "350": {"Pathway": [5], "Superclass": [29]}, "175": {"Pathway": [5], "Superclass": [29]}, "1": {"Pathway": [5], "Superclass": [29]}, "440": {"Pathway": [5], "Superclass": [23]}, "463": {"Pathway": [5], "Superclass": [23]}, "474": {"Pathway": [6], "Superclass": [53]}, "20": {"Pathway": [6], "Superclass": [38]}, "423": {"Pathway": [6], "Superclass": [38]}, "343": {"Pathway": [6], "Superclass": [38]}, "342": {"Pathway": [6], "Superclass": [38]}, "589": {"Pathway": [6], "Superclass": [38]}, "15": {"Pathway": [6], "Superclass": [61]}, "26": {"Pathway": [6], "Superclass": [61]}, "27": {"Pathway": [6], "Superclass": [61]}, "29": {"Pathway": [6], "Superclass": [61]}, "30": {"Pathway": [6], "Superclass": [61]}, "56": {"Pathway": [6], "Superclass": [61]}, "57": {"Pathway": [6], "Superclass": [61]}, "67": {"Pathway": [6], "Superclass": [61]}, "82": {"Pathway": [6], "Superclass": [61]}, "88": {"Pathway": [6], "Superclass": [61]}, "89": {"Pathway": [6], "Superclass": [61]}, "90": {"Pathway": [6], "Superclass": [61]}, "94": {"Pathway": [6], "Superclass": [61]}, "95": {"Pathway": [6], "Superclass": [61]}, "97": {"Pathway": [6], "Superclass": [61]}, "103": {"Pathway": [6], "Superclass": [61]}, "104": {"Pathway": [6], "Superclass": [38]}, "105": {"Pathway": [6], "Superclass": [61]}, "107": {"Pathway": [6], "Superclass": [61]}, "109": {"Pathway": [6], "Superclass": [61]}, "110": {"Pathway": [6], "Superclass": [38]}, "143": {"Pathway": [6], "Superclass": [61]}, "144": {"Pathway": [6], "Superclass": [61]}, "148": {"Pathway": [6], "Superclass": [61]}, "156": {"Pathway": [6], "Superclass": [61]}, "158": {"Pathway": [6], "Superclass": [61]}, "168": {"Pathway": [6], "Superclass": [61]}, "170": {"Pathway": [6], "Superclass": [61]}, "171": {"Pathway": [6], "Superclass": [61]}, "172": {"Pathway": [6], "Superclass": [61]}, "178": {"Pathway": [6], "Superclass": [61]}, "180": {"Pathway": [6], "Superclass": [61]}, "190": {"Pathway": [6], "Superclass": [61]}, "191": {"Pathway": [6], "Superclass": [61]}, "192": {"Pathway": [6], "Superclass": [61]}, "193": {"Pathway": [6], "Superclass": [61]}, "194": {"Pathway": [6], "Superclass": [61]}, "195": {"Pathway": [6], "Superclass": [61]}, "205": {"Pathway": [6], "Superclass": [61]}, "228": {"Pathway": [6], "Superclass": [61]}, "230": {"Pathway": [6], "Superclass": [61]}, "233": {"Pathway": [6], "Superclass": [61]}, "240": {"Pathway": [6], "Superclass": [61]}, "247": {"Pathway": [6], "Superclass": [61]}, "249": {"Pathway": [6], "Superclass": [61]}, "260": {"Pathway": [6], "Superclass": [38]}, "272": {"Pathway": [6], "Superclass": [61]}, "285": {"Pathway": [6], "Superclass": [61]}, "303": {"Pathway": [6], "Superclass": [61]}, "306": {"Pathway": [6], "Superclass": [61]}, "308": {"Pathway": [6], "Superclass": [61]}, "315": {"Pathway": [6], "Superclass": [61]}, "317": {"Pathway": [6], "Superclass": [61]}, "318": {"Pathway": [6], "Superclass": [61]}, "320": {"Pathway": [6], "Superclass": [61]}, "322": {"Pathway": [6], "Superclass": [61]}, "323": {"Pathway": [6], "Superclass": [61]}, "332": {"Pathway": [6], "Superclass": [61]}, "333": {"Pathway": [6], "Superclass": [61]}, "341": {"Pathway": [6], "Superclass": [61]}, "345": {"Pathway": [6], "Superclass": [61]}, "347": {"Pathway": [6], "Superclass": [61]}, "349": {"Pathway": [6], "Superclass": [61]}, "354": {"Pathway": [6], "Superclass": [61]}, "357": {"Pathway": [6], "Superclass": [61]}, "366": {"Pathway": [6], "Superclass": [61]}, "371": {"Pathway": [6], "Superclass": [61]}, "382": {"Pathway": [6], "Superclass": [61]}, "385": {"Pathway": [6], "Superclass": [61]}, "386": {"Pathway": [6], "Superclass": [61]}, "387": {"Pathway": [6], "Superclass": [61]}, "396": {"Pathway": [6], "Superclass": [61]}, "401": {"Pathway": [6], "Superclass": [38]}, "439": {"Pathway": [6], "Superclass": [61]}, "449": {"Pathway": [6], "Superclass": [61]}, "450": {"Pathway": [6], "Superclass": [61]}, "465": {"Pathway": [6], "Superclass": [61]}, "466": {"Pathway": [6], "Superclass": [61]}, "481": {"Pathway": [6], "Superclass": [61]}, "482": {"Pathway": [6], "Superclass": [61]}, "486": {"Pathway": [6], "Superclass": [61]}, "493": {"Pathway": [6], "Superclass": [61]}, "509": {"Pathway": [6], "Superclass": [61]}, "512": {"Pathway": [6], "Superclass": [38]}, "513": {"Pathway": [6], "Superclass": [61]}, "533": {"Pathway": [6], "Superclass": [61]}, "534": {"Pathway": [6], "Superclass": [61]}, "540": {"Pathway": [6], "Superclass": [61]}, "542": {"Pathway": [6], "Superclass": [61]}, "558": {"Pathway": [6], "Superclass": [61]}, "577": {"Pathway": [6], "Superclass": [61]}, "580": {"Pathway": [6], "Superclass": [61]}, "582": {"Pathway": [6], "Superclass": [61]}, "586": {"Pathway": [6], "Superclass": [61]}, "587": {"Pathway": [6], "Superclass": [61]}, "588": {"Pathway": [6], "Superclass": [61]}, "598": {"Pathway": [6], "Superclass": [61]}, "599": {"Pathway": [6], "Superclass": [61]}, "609": {"Pathway": [6], "Superclass": [61]}, "616": {"Pathway": [6], "Superclass": [61]}, "620": {"Pathway": [6], "Superclass": [61]}, "625": {"Pathway": [6], "Superclass": [61]}, "643": {"Pathway": [6], "Superclass": [61]}, "648": {"Pathway": [6], "Superclass": [38]}, "649": {"Pathway": [6], "Superclass": [61]}, "653": {"Pathway": [6], "Superclass": [61]}, "655": {"Pathway": [6], "Superclass": [61]}, "667": {"Pathway": [6], "Superclass": [61]}, "668": {"Pathway": [6], "Superclass": [61]}, "683": {"Pathway": [6], "Superclass": [61]}, "59": {"Pathway": [6], "Superclass": [61]}, "311": {"Pathway": [6], "Superclass": [61]}, "490": {"Pathway": [6], "Superclass": [61]}, "506": {"Pathway": [6], "Superclass": [15]}, "531": {"Pathway": [6], "Superclass": [15]}, "196": {"Pathway": [6], "Superclass": [15]}, "202": {"Pathway": [6], "Superclass": [15]}, "364": {"Pathway": [6], "Superclass": [15]}, "591": {"Pathway": [6], "Superclass": [15]}, "452": {"Pathway": [6], "Superclass": [15]}, "309": {"Pathway": [6], "Superclass": [15]}, "169": {"Pathway": [6], "Superclass": [15]}, "11": {"Pathway": [6], "Superclass": [15]}, "275": {"Pathway": [6], "Superclass": [15]}, "331": {"Pathway": [6], "Superclass": [15]}, "585": {"Pathway": [6], "Superclass": [15]}, "8": {"Pathway": [6], "Superclass": [15]}, "186": {"Pathway": [6], "Superclass": [15]}, "651": {"Pathway": [6], "Superclass": [15]}, "435": {"Pathway": [6], "Superclass": [15]}, "510": {"Pathway": [6], "Superclass": [15]}, "245": {"Pathway": [6], "Superclass": [15]}, "485": {"Pathway": [6], "Superclass": [15]}, "212": {"Pathway": [6], "Superclass": [15]}, "453": {"Pathway": [6], "Superclass": [15]}, "146": {"Pathway": [6], "Superclass": [15]}, "167": {"Pathway": [6], "Superclass": [15]}, "621": {"Pathway": [6], "Superclass": [15]}, "517": {"Pathway": [6], "Superclass": [15]}, "361": {"Pathway": [6], "Superclass": [15]}, "451": {"Pathway": [6], "Superclass": [15]}, "590": {"Pathway": [6], "Superclass": [15]}, "85": {"Pathway": [6], "Superclass": [15]}, "673": {"Pathway": [6], "Superclass": [15]}, "68": {"Pathway": [6], "Superclass": [15]}, "652": {"Pathway": [6], "Superclass": [15]}, "48": {"Pathway": [6], "Superclass": [15]}, "287": {"Pathway": [6], "Superclass": [15]}, "304": {"Pathway": [6], "Superclass": [15]}, "149": {"Pathway": [6], "Superclass": [15]}, "448": {"Pathway": [6], "Superclass": [15]}, "543": {"Pathway": [6], "Superclass": [15]}, "248": {"Pathway": [6], "Superclass": [15]}, "286": {"Pathway": [6], "Superclass": [15]}, "61": {"Pathway": [6], "Superclass": [15]}, "612": {"Pathway": [6], "Superclass": [15]}, "99": {"Pathway": [6], "Superclass": [15]}, "225": {"Pathway": [6], "Superclass": [15]}, "226": {"Pathway": [6], "Superclass": [15]}, "183": {"Pathway": [6], "Superclass": [15]}, "307": {"Pathway": [6], "Superclass": [15]}, "613": {"Pathway": [6], "Superclass": [15]}, "671": {"Pathway": [6], "Superclass": [15]}, "145": {"Pathway": [6], "Superclass": [15]}, "359": {"Pathway": [6], "Superclass": [15]}, "592": {"Pathway": [6], "Superclass": [15]}, "491": {"Pathway": [6], "Superclass": [15]}, "484": {"Pathway": [6], "Superclass": [15]}, "370": {"Pathway": [6], "Superclass": [15]}, "566": {"Pathway": [6], "Superclass": [15]}, "204": {"Pathway": [6], "Superclass": [15]}, "528": {"Pathway": [6], "Superclass": [15]}, "432": {"Pathway": [6], "Superclass": [15]}, "650": {"Pathway": [6], "Superclass": [15]}, "340": {"Pathway": [6], "Superclass": [15]}, "360": {"Pathway": [6], "Superclass": [15]}, "281": {"Pathway": [6], "Superclass": [15]}, "669": {"Pathway": [6], "Superclass": [15]}, "428": {"Pathway": [6], "Superclass": [15]}, "672": {"Pathway": [6], "Superclass": [15]}, "635": {"Pathway": [6], "Superclass": [15]}, "10": {"Pathway": [6], "Superclass": [15]}, "658": {"Pathway": [6], "Superclass": [15]}, "363": {"Pathway": [6], "Superclass": [15]}, "37": {"Pathway": [6], "Superclass": [15]}, "187": {"Pathway": [6], "Superclass": [15]}, "680": {"Pathway": [6], "Superclass": [15]}, "679": {"Pathway": [6], "Superclass": [15]}, "674": {"Pathway": [6], "Superclass": [15]}, "239": {"Pathway": [6], "Superclass": [15]}, "532": {"Pathway": [6], "Superclass": [15]}, "383": {"Pathway": [6], "Superclass": [15]}, "479": {"Pathway": [6], "Superclass": [15]}, "595": {"Pathway": [6], "Superclass": [15]}, "208": {"Pathway": [6], "Superclass": [15]}, "578": {"Pathway": [6], "Superclass": [15]}, "456": {"Pathway": [6], "Superclass": [15]}, "614": {"Pathway": [6], "Superclass": [15]}, "638": {"Pathway": [6], "Superclass": [15]}, "98": {"Pathway": [6], "Superclass": [15]}, "197": {"Pathway": [6], "Superclass": [15]}, "454": {"Pathway": [6], "Superclass": [62]}, "64": {"Pathway": [6], "Superclass": [62]}, "378": {"Pathway": [6], "Superclass": [62]}, "421": {"Pathway": [6], "Superclass": [62]}, "154": {"Pathway": [6], "Superclass": [62]}, "157": {"Pathway": [6], "Superclass": [62]}, "464": {"Pathway": [6], "Superclass": [62]}, "584": {"Pathway": [6], "Superclass": [62]}, "83": {"Pathway": [6], "Superclass": [62]}, "395": {"Pathway": [6], "Superclass": [62]}, "282": {"Pathway": [6], "Superclass": [70]}, "189": {"Pathway": [6], "Superclass": [70]}, "179": {"Pathway": [6], "Superclass": [70]}, "203": {"Pathway": [6], "Superclass": [70]}, "369": {"Pathway": [6], "Superclass": [70]}, "55": {"Pathway": [6], "Superclass": [70]}, "188": {"Pathway": [6], "Superclass": [70]}, "559": {"Pathway": [6], "Superclass": [70]}, "374": {"Pathway": [6], "Superclass": [70]}, "73": {"Pathway": [6], "Superclass": [70]}, "597": {"Pathway": [6], "Superclass": [70]}, "389": {"Pathway": [6], "Superclass": [70]}, "9": {"Pathway": [6], "Superclass": [70]}, "457": {"Pathway": [6], "Superclass": [70]}, "634": {"Pathway": [6], "Superclass": [70]}, "429": {"Pathway": [6], "Superclass": [70]}, "289": {"Pathway": [6], "Superclass": [70]}, "271": {"Pathway": [6], "Superclass": [70]}, "480": {"Pathway": [6], "Superclass": [70]}, "665": {"Pathway": [6], "Superclass": [70]}, "77": {"Pathway": [6], "Superclass": [70]}, "321": {"Pathway": [6], "Superclass": [70]}, "441": {"Pathway": [6], "Superclass": [70]}, "261": {"Pathway": [6], "Superclass": [70]}, "23": {"Pathway": [6], "Superclass": [70]}, "262": {"Pathway": [6], "Superclass": [70]}, "626": {"Pathway": [6], "Superclass": [70]}, "284": {"Pathway": [6], "Superclass": [70]}, "594": {"Pathway": [6], "Superclass": [70]}, "461": {"Pathway": [6], "Superclass": [70]}, "522": {"Pathway": [6], "Superclass": [70]}, "394": {"Pathway": [6], "Superclass": [70]}, "581": {"Pathway": [6], "Superclass": [70]}, "21": {"Pathway": [6], "Superclass": [70]}, "246": {"Pathway": [6], "Superclass": [65]}, "39": {"Pathway": [6], "Superclass": [65]}, "527": {"Pathway": [6], "Superclass": [65]}, "159": {"Pathway": [6], "Superclass": [65]}, "160": {"Pathway": [6], "Superclass": [65]}, "231": {"Pathway": [6], "Superclass": [65]}, "241": {"Pathway": [6], "Superclass": [65]}, "627": {"Pathway": [6], "Superclass": [65]}, "115": {"Pathway": [6], "Superclass": [65]}, "101": {"Pathway": [6], "Superclass": [65]}, "618": {"Pathway": [6], "Superclass": [65]}, "280": {"Pathway": [6], "Superclass": [65]}, "675": {"Pathway": [6], "Superclass": [65]}, "676": {"Pathway": [6], "Superclass": [65]}, "118": {"Pathway": [6], "Superclass": [6]}, "120": {"Pathway": [6], "Superclass": [6]}, "128": {"Pathway": [6], "Superclass": [6]}, "126": {"Pathway": [6], "Superclass": [6]}, "133": {"Pathway": [6], "Superclass": [6]}, "117": {"Pathway": [6], "Superclass": [6]}, "121": {"Pathway": [6], "Superclass": [6]}, "123": {"Pathway": [6], "Superclass": [6]}, "122": {"Pathway": [6], "Superclass": [6]}, "129": {"Pathway": [6], "Superclass": [6]}, "127": {"Pathway": [6], "Superclass": [6]}, "125": {"Pathway": [6], "Superclass": [6]}, "119": {"Pathway": [6], "Superclass": [6]}, "124": {"Pathway": [6], "Superclass": [6]}, "130": {"Pathway": [6], "Superclass": [6]}, "131": {"Pathway": [6], "Superclass": [6]}, "134": {"Pathway": [6], "Superclass": [6]}, "116": {"Pathway": [6], "Superclass": [6]}, "132": {"Pathway": [6], "Superclass": [6]}, "135": {"Pathway": [6], "Superclass": [7]}, "136": {"Pathway": [6], "Superclass": [7]}, "137": {"Pathway": [6], "Superclass": [7]}, "140": {"Pathway": [6], "Superclass": [8]}, "138": {"Pathway": [6], "Superclass": [8]}, "139": {"Pathway": [6], "Superclass": [8]}, "142": {"Pathway": [6], "Superclass": [8]}, "141": {"Pathway": [6], "Superclass": [8]}, "50": {"Pathway": [6], "Superclass": [4]}, "52": {"Pathway": [6], "Superclass": [4]}, "51": {"Pathway": [6], "Superclass": [4]}, "53": {"Pathway": [6], "Superclass": [4]}, "414": {"Pathway": [6], "Superclass": [4]}, "399": {"Pathway": [6], "Superclass": [4]}, "74": {"Pathway": [6], "Superclass": [55]}, "227": {"Pathway": [6], "Superclass": [55]}, "523": {"Pathway": [6], "Superclass": [55]}, "657": {"Pathway": [4, 6], "Superclass": [34]}, "641": {"Pathway": [4, 6], "Superclass": [34]}, "472": {"Pathway": [4, 6], "Superclass": [34]}, "529": {"Pathway": [6], "Superclass": [34]}, "403": {"Pathway": [6], "Superclass": [34]}, "404": {"Pathway": [6], "Superclass": [34]}, "405": {"Pathway": [6], "Superclass": [34]}, "406": {"Pathway": [6], "Superclass": [34]}, "622": {"Pathway": [6], "Superclass": [34]}, "415": {"Pathway": [6], "Superclass": [34]}, "518": {"Pathway": [0], "Superclass": [45]}, "554": {"Pathway": [0], "Superclass": [45]}, "660": {"Pathway": [0], "Superclass": [45]}, "555": {"Pathway": [0], "Superclass": [45]}, "623": {"Pathway": [0], "Superclass": [45]}, "514": {"Pathway": [0], "Superclass": [32]}, "562": {"Pathway": [0], "Superclass": [32]}, "339": {"Pathway": [0], "Superclass": [32]}, "550": {"Pathway": [0], "Superclass": [41]}, "501": {"Pathway": [0], "Superclass": [73]}, "640": {"Pathway": [0], "Superclass": [73]}, "427": {"Pathway": [0], "Superclass": [73]}, "313": {"Pathway": [0], "Superclass": [73]}, "18": {"Pathway": [0], "Superclass": [73]}, "54": {"Pathway": [0], "Superclass": [73]}, "539": {"Pathway": [0], "Superclass": [73]}, "541": {"Pathway": [0], "Superclass": [73]}, "497": {"Pathway": [0], "Superclass": [73]}, "637": {"Pathway": [0], "Superclass": [73]}, "31": {"Pathway": [0], "Superclass": [73]}, "475": {"Pathway": [0], "Superclass": [73]}, "511": {"Pathway": [0], "Superclass": [73]}, "356": {"Pathway": [0], "Superclass": [73]}, "84": {"Pathway": [0], "Superclass": [73]}, "151": {"Pathway": [0], "Superclass": [73]}, "319": {"Pathway": [0], "Superclass": [73]}, "605": {"Pathway": [0], "Superclass": [72]}, "606": {"Pathway": [0], "Superclass": [72]}, "312": {"Pathway": [0], "Superclass": [72]}, "114": {"Pathway": [0], "Superclass": [72]}, "112": {"Pathway": [0], "Superclass": [72]}, "173": {"Pathway": [0], "Superclass": [72]}, "65": {"Pathway": [0], "Superclass": [72]}, "330": {"Pathway": [0], "Superclass": [72]}, "681": {"Pathway": [0], "Superclass": [72]}, "632": {"Pathway": [0], "Superclass": [72]}, "66": {"Pathway": [0], "Superclass": [72]}, "561": {"Pathway": [0], "Superclass": [72, 3]}, "557": {"Pathway": [0], "Superclass": [72]}, "556": {"Pathway": [0], "Superclass": [72]}, "242": {"Pathway": [0], "Superclass": [72]}, "338": {"Pathway": [0, 6], "Superclass": [72]}, "553": {"Pathway": [0], "Superclass": [56]}, "45": {"Pathway": [0], "Superclass": [3]}, "560": {"Pathway": [0], "Superclass": [3]}, "16": {"Pathway": [0], "Superclass": [3]}, "496": {"Pathway": [0], "Superclass": [3]}, "498": {"Pathway": [0], "Superclass": [3]}, "79": {"Pathway": [0], "Superclass": [3]}, "334": {"Pathway": [0], "Superclass": [28]}, "583": {"Pathway": [0], "Superclass": [27]}, "642": {"Pathway": [0], "Superclass": [27]}, "489": {"Pathway": [0], "Superclass": [27]}, "656": {"Pathway": [0], "Superclass": [27]}, "19": {"Pathway": [0], "Superclass": [27]}, "87": {"Pathway": [0], "Superclass": [27]}, "422": {"Pathway": [0], "Superclass": [27]}, "12": {"Pathway": [0], "Superclass": [57]}, "499": {"Pathway": [0], "Superclass": [57]}, "636": {"Pathway": [0, 6], "Superclass": [57]}, "624": {"Pathway": [0, 6], "Superclass": [57]}, "546": {"Pathway": [0], "Superclass": [57]}, "353": {"Pathway": [0], "Superclass": [57]}, "199": {"Pathway": [0], "Superclass": [57]}, "108": {"Pathway": [0], "Superclass": [57]}, "344": {"Pathway": [0], "Superclass": [57]}, "42": {"Pathway": [0, 1], "Superclass": [46]}, "336": {"Pathway": [0, 1], "Superclass": [46]}, "335": {"Pathway": [0, 1], "Superclass": [46]}, "337": {"Pathway": [0, 1], "Superclass": [46]}, "471": {"Pathway": [0, 1], "Superclass": [46]}, "604": {"Pathway": [0, 1], "Superclass": [46]}, "646": {"Pathway": [0, 1], "Superclass": [46]}, "549": {"Pathway": [0, 1], "Superclass": [69, 46]}, "552": {"Pathway": [0, 1], "Superclass": [69]}, "198": {"Pathway": [0, 1], "Superclass": [69]}, "376": {"Pathway": [1], "Superclass": [44]}, "34": {"Pathway": [1], "Superclass": [63]}, "222": {"Pathway": [1], "Superclass": [63]}, "659": {"Pathway": [1], "Superclass": [63]}, "184": {"Pathway": [1], "Superclass": [44]}, "211": {"Pathway": [1, 4], "Superclass": [44]}, "380": {"Pathway": [1], "Superclass": [44]}, "24": {"Pathway": [1], "Superclass": [44]}, "411": {"Pathway": [1], "Superclass": [44]}, "38": {"Pathway": [1], "Superclass": [44]}, "28": {"Pathway": [1], "Superclass": [44]}, "410": {"Pathway": [1], "Superclass": [44]}, "177": {"Pathway": [1], "Superclass": [44]}, "409": {"Pathway": [1], "Superclass": [44]}, "633": {"Pathway": [1], "Superclass": [44]}, "670": {"Pathway": [1], "Superclass": [44]}, "92": {"Pathway": [1], "Superclass": [44]}, "629": {"Pathway": [1], "Superclass": [44]}, "17": {"Pathway": [1], "Superclass": [44]}, "488": {"Pathway": [1], "Superclass": [75]}, "150": {"Pathway": [1], "Superclass": [75]}, "152": {"Pathway": [1], "Superclass": [75]}, "165": {"Pathway": [1], "Superclass": [75]}, "111": {"Pathway": [1], "Superclass": [75]}, "424": {"Pathway": [1], "Superclass": [75]}, "579": {"Pathway": [1], "Superclass": [76]}, "182": {"Pathway": [1], "Superclass": [1]}, "288": {"Pathway": [1], "Superclass": [1]}, "426": {"Pathway": [2], "Superclass": [59]}, "223": {"Pathway": [2], "Superclass": [59]}, "525": {"Pathway": [2], "Superclass": [59]}, "487": {"Pathway": [2], "Superclass": [59]}, "185": {"Pathway": [2], "Superclass": [54]}, "32": {"Pathway": [2], "Superclass": [54]}, "36": {"Pathway": [2], "Superclass": [2]}, "35": {"Pathway": [2], "Superclass": [2]}, "547": {"Pathway": [2], "Superclass": [42]}, "551": {"Pathway": [2], "Superclass": [42]}, "630": {"Pathway": [2], "Superclass": [42]}, "569": {"Pathway": [1], "Superclass": [44]}, "570": {"Pathway": [1], "Superclass": [44]}, "571": {"Pathway": [1], "Superclass": [44]}, "572": {"Pathway": [1], "Superclass": [44]}, "573": {"Pathway": [1], "Superclass": [44]}, "574": {"Pathway": [1], "Superclass": [44]}, "575": {"Pathway": [1], "Superclass": [44]}, "310": {"Pathway": [3], "Superclass": [20]}, "492": {"Pathway": [1], "Superclass": [44]}, "413": {"Pathway": [0], "Superclass": [35]}, "600": {"Pathway": [0], "Superclass": [46]}, "416": {"Pathway": [4], "Superclass": [36]}, "608": {"Pathway": [0], "Superclass": [69]}, "417": {"Pathway": [0], "Superclass": [37]}, "467": {"Pathway": [2], "Superclass": [59]}, "503": {"Pathway": [4], "Superclass": [31]}, "686": {"Pathway": [0], "Superclass": [58]}, "494": {"Pathway": [4], "Superclass": [52]}, "437": {"Pathway": [4], "Superclass": [40]}, "537": {"Pathway": [0], "Superclass": [56]}, "243": {"Pathway": [4], "Superclass": [52]}, "645": {"Pathway": [0], "Superclass": [60]}, "72": {"Pathway": [0], "Superclass": [57]}, "81": {"Pathway": [4], "Superclass": [5]}, "80": {"Pathway": [4], "Superclass": [5]}, "93": {"Pathway": [4], "Superclass": [33]}, "402": {"Pathway": [6], "Superclass": [34]}, "49": {"Pathway": [4], "Superclass": [33]}, "274": {"Pathway": [4], "Superclass": [11]}, "209": {"Pathway": [4], "Superclass": [5]}, "210": {"Pathway": [4], "Superclass": [5]}, "666": {"Pathway": [4], "Superclass": [5]}, "229": {"Pathway": [4], "Superclass": [52]}, "277": {"Pathway": [4], "Superclass": [11]}, "495": {"Pathway": [5], "Superclass": [47]}}, "Super_hierarchy": {"18": {"Pathway": [3]}, "43": {"Pathway": [3]}, "17": {"Pathway": [3]}, "16": {"Pathway": [3]}, "20": {"Pathway": [3]}, "22": {"Pathway": [3]}, "21": {"Pathway": [3]}, "19": {"Pathway": [3]}, "25": {"Pathway": [3]}, "26": {"Pathway": [3]}, "64": {"Pathway": [3]}, "33": {"Pathway": [1, 4]}, "31": {"Pathway": [1, 4]}, "11": {"Pathway": [1, 4]}, "9": {"Pathway": [4]}, "15": {"Pathway": [6]}, "34": {"Pathway": [4, 6]}, "5": {"Pathway": [4]}, "0": {"Pathway": [4]}, "52": {"Pathway": [4]}, "51": {"Pathway": [4, 6]}, "74": {"Pathway": [4, 5]}, "40": {"Pathway": [4]}, "53": {"Pathway": [4, 6]}, "71": {"Pathway": [4, 5]}, "48": {"Pathway": [5]}, "14": {"Pathway": [4, 5]}, "50": {"Pathway": [1, 5]}, "49": {"Pathway": [5]}, "39": {"Pathway": [1, 5]}, "30": {"Pathway": [5]}, "10": {"Pathway": [5]}, "67": {"Pathway": [5]}, "12": {"Pathway": [5]}, "68": {"Pathway": [5]}, "13": {"Pathway": [5]}, "24": {"Pathway": [5]}, "23": {"Pathway": [5]}, "66": {"Pathway": [5]}, "29": {"Pathway": [5]}, "38": {"Pathway": [6]}, "61": {"Pathway": [6]}, "62": {"Pathway": [6]}, "70": {"Pathway": [6]}, "65": {"Pathway": [6]}, "6": {"Pathway": [6]}, "7": {"Pathway": [6]}, "8": {"Pathway": [6]}, "4": {"Pathway": [6]}, "55": {"Pathway": [6]}, "45": {"Pathway": [0]}, "32": {"Pathway": [0]}, "41": {"Pathway": [0]}, "73": {"Pathway": [0]}, "72": {"Pathway": [0, 6]}, "56": {"Pathway": [0]}, "3": {"Pathway": [0]}, "28": {"Pathway": [0]}, "27": {"Pathway": [0]}, "57": {"Pathway": [0, 6]}, "46": {"Pathway": [0, 1]}, "69": {"Pathway": [0, 1]}, "44": {"Pathway": [1, 4]}, "63": {"Pathway": [1]}, "75": {"Pathway": [1]}, "76": {"Pathway": [1]}, "1": {"Pathway": [1]}, "59": {"Pathway": [2]}, "54": {"Pathway": [2]}, "2": {"Pathway": [2]}, "42": {"Pathway": [2]}, "35": {"Pathway": [0]}, "36": {"Pathway": [4]}, "37": {"Pathway": [0]}, "58": {"Pathway": [0]}, "60": {"Pathway": [0]}, "47": {"Pathway": [5]}}} \ No newline at end of file +{ + "Pathway": { + "Alkaloids": 0, + "Amino acids and Peptides": 1, + "Carbohydrates": 2, + "Fatty acids": 3, + "Polyketides": 4, + "Shikimates and Phenylpropanoids": 5, + "Terpenoids": 6 + }, + "Superclass": { + "Alkylresorsinols": 0, + "Amino acid glycosides": 1, + "Aminosugars and aminoglycosides": 2, + "Anthranilic acid alkaloids": 3, + "Apocarotenoids": 4, + "Aromatic polyketides": 5, + "Carotenoids (C40)": 6, + "Carotenoids (C45)": 7, + "Carotenoids (C50)": 8, + "Chromanes": 9, + "Coumarins": 10, + "Cyclic polyketides": 11, + "Diarylheptanoids": 12, + "Diazotetronic acids and derivatives": 13, + "Diphenyl ethers (DPEs)": 14, + "Diterpenoids": 15, + "Docosanoids": 16, + "Eicosanoids": 17, + "Fatty Acids and Conjugates": 18, + "Fatty acyl glycosides": 19, + "Fatty acyls": 20, + "Fatty amides": 21, + "Fatty esters": 22, + "Flavonoids": 23, + "Fluorenes": 24, + "Glycerolipids": 25, + "Glycerophospholipids": 26, + "Guanidine alkaloids": 27, + "Histidine alkaloids": 28, + "Isoflavonoids": 29, + "Lignans": 30, + "Linear polyketides": 31, + "Lysine alkaloids": 32, + "Macrolides": 33, + "Meroterpenoids": 34, + "Miscellaneous alkaloids": 35, + "Miscellaneous polyketides": 36, + "Mitomycin derivatives": 37, + "Monoterpenoids": 38, + "Mycosporine derivatives": 39, + "Naphthalenes": 40, + "Nicotinic acid alkaloids": 41, + "Nucleosides": 42, + "Octadecanoids": 43, + "Oligopeptides": 44, + "Ornithine alkaloids": 45, + "Peptide alkaloids": 46, + "Phenanthrenoids": 47, + "Phenolic acids (C6-C1)": 48, + "Phenylethanoids (C6-C2)": 49, + "Phenylpropanoids (C6-C3)": 50, + "Phloroglucinols": 51, + "Polycyclic aromatic polyketides": 52, + "Polyethers": 53, + "Polyols": 54, + "Polyprenols": 55, + "Proline alkaloids": 56, + "Pseudoalkaloids": 57, + "Pseudoalkaloids (transamidation)": 58, + "Saccharides": 59, + "Serine alkaloids": 60, + "Sesquiterpenoids": 61, + "Sesterterpenoids": 62, + "Small peptides": 63, + "Spingolipids": 64, + "Steroids": 65, + "Stilbenoids": 66, + "Styrylpyrones": 67, + "Terphenyls": 68, + "Tetramate alkaloids": 69, + "Triterpenoids": 70, + "Tropolones": 71, + "Tryptophan alkaloids": 72, + "Tyrosine alkaloids": 73, + "Xanthones": 74, + "\u03b2-lactams": 75, + "\u03b3-lactam-\u03b2-lactones": 76 + }, + "Class": { + "12-oxophytodienoic acid metabolites": 0, + "2-arylbenzofurans": 1, + "2-pyrone derivatives": 2, + "3-Decalinoyltetramic acids": 3, + "3-Spirotetramic acids": 4, + "3-acyl tetramic acids": 5, + "3-oligoenoyltetramic acids": 6, + "4-pyrone derivatives": 7, + "Abeoabietane diterpenoids": 8, + "Abeolupane triterpenoids": 9, + "Abeotaxane diterpenoids": 10, + "Abietane diterpenoids": 11, + "Acetate-derived alkaloids": 12, + "Acetogenins": 13, + "Acidic glycosphingolipids": 14, + "Acorane sesquiterpenoids": 15, + "Acridone alkaloids": 16, + "Actinomycins": 17, + "Acutumine alkaloids": 18, + "Acyclic guanidine alkaloids": 19, + "Acyclic monoterpenoids": 20, + "Acyclic triterpenoids": 21, + "Acyl phloroglucinols": 22, + "Adianane triterpenoids": 23, + "Aeruginosins": 24, + "Aflatoxins": 25, + "Africanane sesquiterpenoids": 26, + "Agarofuran sesquiterpenoids": 27, + "Ahp-containing cyclodepsipeptides": 28, + "Alliacane sesquiterpenoids": 29, + "Allohimachalane sesquiterpenoids": 30, + "Amarylidaceae alkaloids": 31, + "Amino cyclitols": 32, + "Amino fatty acids": 33, + "Aminoacids": 34, + "Aminoglycosides": 35, + "Aminosugars": 36, + "Amphilectane diterpenoids": 37, + "Anabaenopeptins": 38, + "Androstane steroids": 39, + "Angucyclines": 40, + "Ansa macrolides": 41, + "Ansa peptide alkaloids": 42, + "Anthocyanidins": 43, + "Anthracyclines": 44, + "Anthranillic acid derivatives": 45, + "Anthraquinones and anthrones": 46, + "Antimycins": 47, + "Aphidicolane diterpenoids": 48, + "Aplysiatoxins": 49, + "Apocarotenoids (C30, \u03a8-\u03a8)": 50, + "Apocarotenoids (\u03a8-)": 51, + "Apocarotenoids (\u03b2-)": 52, + "Apocarotenoids(\u03b5-)": 53, + "Aporphine alkaloids": 54, + "Apotirucallane triterpenoids": 55, + "Aristolane sesquiterpenoids": 56, + "Aromadendrane sesquiterpenoids": 57, + "Aromatic polyketides with side chains": 58, + "Arteminisin": 59, + "Arylnaphthalene and aryltetralin lignans": 60, + "Asbestinane diterpenoids": 61, + "Ascarosides": 62, + "Ascomycins and Rapamycins": 63, + "Asperane sesterterpenoids": 64, + "Aspidosperma type": 65, + "Aspidosperma-Iboga hybrid type (Vinca alkaloids)": 66, + "Asteriscane sesquiterpenoids": 67, + "Atisane diterpenoids": 68, + "Aurones": 69, + "Avermectins": 70, + "Azaphilones": 71, + "Azo and Azoxy alkaloids": 72, + "Baccharane triterpenoids": 73, + "Bactoprenols": 74, + "Bafilomycins": 75, + "Bagremycins": 76, + "Bauerane triterpenoids": 77, + "Benastatins and derivatives": 78, + "Benzodiazepine alkaloids": 79, + "Benzophenones": 80, + "Benzoquinones": 81, + "Bergamotane sesquiterpenoids": 82, + "Betaestacin-type sesterterpenoids": 83, + "Betalain alkaloids": 84, + "Beyerane diterpenoids": 85, + "Biaryl type diarylheptanoids": 86, + "Bicyclic guanidine alkaloids": 87, + "Bicyclogermacrane sesquiterpenoids": 88, + "Bicyclohumulane sesquiterpenoids": 89, + "Bisabolane sesquiterpenoids": 90, + "Bisnaphthalenes": 91, + "Bleomycins": 92, + "Boromycins": 93, + "Botryane sesquiterpenoids": 94, + "Bourbonane sesquiterpenoids": 95, + "Branched fatty acids": 96, + "Brasilane sesquiterpenoids": 97, + "Breviane diterpenoids": 98, + "Briarane diterpenoids": 99, + "Bryostatins": 100, + "Bufadienolides": 101, + "CDP-Glycerols": 102, + "Cadinane sesquiterpenoids": 103, + "Camphane monoterpenoids": 104, + "Campherenane sesquiterpenoids": 105, + "Cannabinoids": 106, + "Capnellane sesquiterpenoids": 107, + "Capsaicins and Capsaicinoids": 108, + "Carabrane sesquiterpenoids": 109, + "Carane monoterpenoids": 110, + "Carbapenems": 111, + "Carbazole alkaloids": 112, + "Carbocyclic fatty acids": 113, + "Carboline alkaloids": 114, + "Cardenolides": 115, + "Carotenoids (C40, \u03a7-\u03a7)": 116, + "Carotenoids (C40, \u03a7-\u03a8)": 117, + "Carotenoids (C40, \u03a8-\u03a8)": 118, + "Carotenoids (C40, \u03b2-\u03a7)": 119, + "Carotenoids (C40, \u03b2-\u03a8)": 120, + "Carotenoids (C40, \u03b2-\u03b2)": 121, + "Carotenoids (C40, \u03b2-\u03b3)": 122, + "Carotenoids (C40, \u03b2-\u03b5)": 123, + "Carotenoids (C40, \u03b2-\u03ba)": 124, + "Carotenoids (C40, \u03b2-\u03c0)": 125, + "Carotenoids (C40, \u03b3-\u03a8)": 126, + "Carotenoids (C40, \u03b3-\u03b5)": 127, + "Carotenoids (C40, \u03b5-\u03a8)": 128, + "Carotenoids (C40, \u03b5-\u03b5)": 129, + "Carotenoids (C40, \u03ba-\u03a7)": 130, + "Carotenoids (C40, \u03ba-\u03ba)": 131, + "Carotenoids (C40, \u03c0-\u03a7)": 132, + "Carotenoids (C40, \u03c0-\u03a8)": 133, + "Carotenoids (C40, \u03c0-\u03c0)": 134, + "Carotenoids (C45, \u03a8-\u03a8)": 135, + "Carotenoids (C45, \u03b2-\u03a8)": 136, + "Carotenoids (C45, \u03b5-\u03a8)": 137, + "Carotenoids (C50, \u03a8-\u03a8)": 138, + "Carotenoids (C50, \u03b2-\u03a8)": 139, + "Carotenoids (C50, \u03b2-\u03b2)": 140, + "Carotenoids (C50, \u03b3-\u03b3)": 141, + "Carotenoids (C50, \u03b5-\u03b5)": 142, + "Caryolane sesquiterpenoids": 143, + "Caryophyllane sesquiterpenoids": 144, + "Casbane diterpenoids": 145, + "Cassane diterpenoids": 146, + "Catechols with side chains": 147, + "Cedrane and Isocedrane sesquiterpenoids": 148, + "Cembrane diterpenoids": 149, + "Cephalosporins": 150, + "Cephalotaxus alkaloids": 151, + "Cephamycins": 152, + "Ceramides": 153, + "Cericerane sesterterpenoids": 154, + "Chalcones": 155, + "Chamigrane sesquiterpenoids": 156, + "Cheilanthane sesterterpenoids": 157, + "Chiloscyphane sesquiterpenoids": 158, + "Cholane steroids": 159, + "Cholestane steroids": 160, + "Chromones": 161, + "Cinnamic acid amides": 162, + "Cinnamic acids and derivatives": 163, + "Cinnamoyl phenols": 164, + "Clavams": 165, + "Clavulones": 166, + "Cleistanthane diterpenoids": 167, + "Clovane sesquiterpenoids": 168, + "Colensane and Clerodane diterpenoids": 169, + "Coloratane sesquiterpenoids": 170, + "Copaane sesquiterpenoids": 171, + "Copacamphane sesquiterpenoids": 172, + "Corynanthe type": 173, + "Coumarinolignans": 174, + "Coumaronochromones": 175, + "Coumestan": 176, + "Cryptophycins": 177, + "Cubebane sesquiterpenoids": 178, + "Cucurbitane triterpenoids": 179, + "Cuparane sesquiterpenoids": 180, + "Cyano esters": 181, + "Cyanogenic glycosides": 182, + "Cyathane diterpenoids": 183, + "Cyclic peptides": 184, + "Cyclitols": 185, + "Cycloabietane diterpenoids": 186, + "Cycloamphilectane diterpenoids": 187, + "Cycloapotirucallane triterpenoids": 188, + "Cycloartane triterpenoids": 189, + "Cyclobisabolane sesquiterpenoids": 190, + "Cycloeudesmane sesquiterpenoids": 191, + "Cyclofarnesane sesquiterpenoids": 192, + "Cyclogermacrane sesquiterpenoids": 193, + "Cyclolaurane sesquiterpenoids": 194, + "Cyclonerane sesquiterpenoids": 195, + "Cyclophytane diterpenoids": 196, + "Cyclopiane diterpenoids": 197, + "Cyclopiazonic acid-tpye tetramate alkaloids": 198, + "Cytochalasan alkaloids": 199, + "Cytosporins": 200, + "DKXanthenes and derivatives": 201, + "Dactylomelane diterpenoids": 202, + "Dammarane and Protostane triterpenoids": 203, + "Daphnane diterpenoids": 204, + "Daucane sesquiterpenoids": 205, + "Decalins with 2-pyrones": 206, + "Decalins with side chains": 207, + "Decipiane diterpenoids": 208, + "Depsides": 209, + "Depsidones": 210, + "Depsipeptides": 211, + "Devadarane diterpenoids": 212, + "Diacylglycerols": 213, + "Dialkylresorcinols": 214, + "Diarylether type diarylheptanoids": 215, + "Dibenzocyclooctadienes lignans": 216, + "Dibenzylbutane lignans": 217, + "Dibenzylbutyrolactone lignans": 218, + "Dicarboxylic acids": 219, + "Dihydroflavonols": 220, + "Dimeric phloroglucinols": 221, + "Dipeptides": 222, + "Disaccharides": 223, + "Docosa-1,2-dioxolanes": 224, + "Dolabellane diterpenoids": 225, + "Dolastane diterpenoids": 226, + "Dolichols": 227, + "Drimane sesquiterpenoids": 228, + "Duclauxin and derivatives": 229, + "Dunniane sesquiterpenoids": 230, + "Ecdysteroids": 231, + "Eicosa-1,2-dioxolanes": 232, + "Elemane sesquiterpenoids": 233, + "Elfamycins": 234, + "Enediynes": 235, + "Epothilones": 236, + "Epoxy fatty acids": 237, + "Epoxyeicosatrienoic acids": 238, + "Eremane diterpenoids": 239, + "Eremophilane sesquiterpenoids": 240, + "Ergostane steroids": 241, + "Ergot alkaloids": 242, + "Ericamycins": 243, + "Erythromycins": 244, + "Erythroxylane diterpenoids": 245, + "Estrane steroids": 246, + "Eudesmane sesquiterpenoids": 247, + "Eunicellane diterpenoids": 248, + "Farnesane sesquiterpenoids": 249, + "Fasamycins and derivatives": 250, + "Fatty acid estolides": 251, + "Fatty acyl CoAs": 252, + "Fatty acyl carnitines": 253, + "Fatty acyl glycosides of mono- and disaccharides": 254, + "Fatty acyl homoserine lactones": 255, + "Fatty alcohols": 256, + "Fatty aldehydes": 257, + "Fatty ethers": 258, + "Fatty nitriles": 259, + "Fenchane monoterpenoids": 260, + "Fernane and Arborinane triterpenoids": 261, + "Filicane triterpenoids": 262, + "Flavan-3-ols": 263, + "Flavandiols (Leucoanthocyanidins)": 264, + "Flavanones": 265, + "Flavans": 266, + "Flavones": 267, + "Flavonolignans": 268, + "Flavonols": 269, + "Flavonostilbenes": 270, + "Friedelane triterpenoids": 271, + "Fukinane sesquiterpenoids": 272, + "Fungal DPEs": 273, + "Fungal cyclic polyketides (Miscellaneous)": 274, + "Furanoabietane diterpenoids": 275, + "Furanoid lignans": 276, + "Furans": 277, + "Furocoumarins": 278, + "Furofuranoid lignans": 279, + "Furostane steroids": 280, + "Fusicoccane diterpenoids": 281, + "Fusidane triterpenoids": 282, + "Gallotannins": 283, + "Gammacerane triterpenoids": 284, + "Germacrane sesquiterpenoids": 285, + "Gersemiane diterpenoids": 286, + "Gibberellins": 287, + "Glucosinolates": 288, + "Glutinane triterpenoids": 289, + "Glycerophosphates": 290, + "Glycerophosphocholines": 291, + "Glycerophosphoethanolamines": 292, + "Glycerophosphoglycerols": 293, + "Glycerophosphoglycerophosphates": 294, + "Glycerophosphoglycerophosphoglycerols": 295, + "Glycerophosphoinositol phosphates": 296, + "Glycerophosphoinositolglycans": 297, + "Glycerophosphoinositols": 298, + "Glycerophosphoserines": 299, + "Glycosyldiacylglycerols": 300, + "Glycosylglycerophospholipids": 301, + "Glycosylmonoacylglycerols": 302, + "Gorgonane sesquiterpenoids": 303, + "Grayanotoxane diterpenoids": 304, + "Griseofulvins": 305, + "Guaiane sesquiterpenoids": 306, + "Guanacastane diterpenoids": 307, + "Gymnomitrane sesquiterpenoids": 308, + "Halimane diterpenoids": 309, + "Halogenated hydrocarbons": 310, + "Hamigerane sesquiterpenoids": 311, + "Hapalindole alkaloids": 312, + "Hasubanan alkaloids": 313, + "Hepoxilins": 314, + "Herbertane sesquiterpenoids": 315, + "Heterocyclic fatty acids": 316, + "Himachalane sesquiterpenoids": 317, + "Hirsutane sesquiterpenoids": 318, + "Homoerythrina alkaloids": 319, + "Homofarnesane sesquiterpenoids": 320, + "Hopane and Moretane triterpenoids": 321, + "Humbertiane sesquiterpenoids": 322, + "Humulane sesquiterpenoids": 323, + "Hydrocarbons": 324, + "Hydroperoxy fatty acids": 325, + "Hydroxy fatty acids": 326, + "Hydroxy-hydroperoxyeicosapentaenoic acids": 327, + "Hydroxy-hydroperoxyeicosatetraenoic acids": 328, + "Hydroxy-hydroperoxyeicosatrienoic acids": 329, + "Iboga type": 330, + "Icetexane diterpenoids": 331, + "Illudalane sesquiterpenoids": 332, + "Illudane sesquiterpenoids": 333, + "Imidazole alkaloids": 334, + "Indole diketopiperazine alkaloids (L-Trp, L-Ala)": 335, + "Indole diketopiperazine alkaloids (L-Trp, L-Pro)": 336, + "Indole diketopiperazine alkaloids (L-Trp, L-Trp)": 337, + "Indole-Diterpenoid alkaloids (Penitrems)": 338, + "Indolizidine alkaloids": 339, + "Ingenane diterpenoids": 340, + "Iphionane sesquiterpenoids": 341, + "Iridoids monoterpenoids": 342, + "Irregular monoterpenoids": 343, + "Isariotin alkaloids": 344, + "Ishwarane sesquiterpenoids": 345, + "Isoaurones": 346, + "Isocomane sesquiterpenoids": 347, + "Isocoumarins": 348, + "Isodaucane sesquiterpenoids": 349, + "Isoflavanones": 350, + "Isoflavones": 351, + "Isofurans": 352, + "Isoindole alkaloids": 353, + "Isolactarane sesquiterpenoids": 354, + "Isoprostanes": 355, + "Isoquinoline alkaloids": 356, + "Ivaxillarane sesquiterpenoids": 357, + "Jasmonic acids": 358, + "Jatrophane diterpenoids": 359, + "Jatropholane diterpenoids": 360, + "Kaurane and Phyllocladane diterpenoids": 361, + "Kavalactones and derivatives": 362, + "Kempane diterpenoids": 363, + "Labdane diterpenoids": 364, + "Lactam bearing macrolide lactones": 365, + "Lactarane sesquiterpenoids": 366, + "Lactones": 367, + "Ladder polyethers": 368, + "Lanostane, Tirucallane and Euphane triterpenoids": 369, + "Lathyrane diterpenoids": 370, + "Laurane sesquiterpenoids": 371, + "Leukotrienes": 372, + "Levuglandins": 373, + "Limonoids": 374, + "Linear diarylheptanoids": 375, + "Linear peptides": 376, + "Linear polyenes": 377, + "Linear sesterterpenoids": 378, + "Linear tetronates": 379, + "Lipopeptides": 380, + "Lipoxins": 381, + "Lippifoliane sesquiterpenoids": 382, + "Lobane diterpenoids": 383, + "Long-Chain Bicyclic Phosphotriester": 384, + "Longibornane sesquiterpenoids": 385, + "Longifolane sesquiterpenoids": 386, + "Longipinane sesquiterpenoids": 387, + "Luminacins and derivatives": 388, + "Lupane triterpenoids": 389, + "Macrocyclic tetramic acids": 390, + "Macrolide lactams": 391, + "Macrolide lactones": 392, + "Macrotetrolides": 393, + "Malabaricane triterpenoids": 394, + "Mangicol-type sesterterpenoids": 395, + "Marasmane sesquiterpenoids": 396, + "Maresins": 397, + "Marine-bacterial DPEs": 398, + "Megastigmanes": 399, + "Melithiazole and Myxothiazole derivatives": 400, + "Menthane monoterpenoids": 401, + "Merohemiterpenoids": 402, + "Meromonoterpenoids": 403, + "Merosesquiterpenoids": 404, + "Meroterpenoids with 5- or 6-membered ring": 405, + "Meroterpenoids with bridged ring": 406, + "Methoxy fatty acids": 407, + "Methyl xanthones": 408, + "Microcolins and mirabimids": 409, + "Microcystins": 410, + "Microginins": 411, + "Minor lignans": 412, + "Miscellaneous alkaloids": 413, + "Miscellaneous apocarotenoids": 414, + "Miscellaneous meroterpenoids": 415, + "Miscellaneous polyketides": 416, + "Mitomycins": 417, + "Monacolins and Monacolin derivatives": 418, + "Monoacylglycerols": 419, + "Monoalkylresorcinols": 420, + "Monocarbocyclic sesterterpenoids": 421, + "Monocyclic guanidine alkaloids": 422, + "Monocyclic monoterpenoids": 423, + "Monocyclic \u03b2-lactams": 424, + "Monomeric stilbenes": 425, + "Monosaccharides": 426, + "Morphinan alkaloids": 427, + "Mulinane diterpenoids": 428, + "Multiflorane triterpenoids": 429, + "Mycolic acids": 430, + "Mycosporine and Mycosporine-like amino acids": 431, + "Myrsinane diterpenoids": 432, + "N-acyl amines": 433, + "N-acyl ethanolamines (endocannabinoids)": 434, + "Nagilactone diterpenoids": 435, + "Naphthalenes and derivatives": 436, + "Naphthalenones": 437, + "Naphthoquinones": 438, + "Nardosinane sesquiterpenoids": 439, + "Neoflavonoids": 440, + "Neohopane triterpenoids": 441, + "Neolignans": 442, + "Neurofurans": 443, + "Neuroprostanes": 444, + "Neutral glycosphingolipids": 445, + "Nitro fatty acids": 446, + "Nonadrides": 447, + "Norcembrane diterpenoids": 448, + "Noreremophilane sesquiterpenoids": 449, + "Noreudesmane sesquiterpenoids": 450, + "Norkaurane diterpenoids": 451, + "Norlabdane diterpenoids": 452, + "Norpimarane and Norisopimarane diterpenoids": 453, + "Norsesterterpenoids": 454, + "Oblogolides": 455, + "Obtusane diterpenoids": 456, + "Oleanane triterpenoids": 457, + "Oligomeric phloroglucinols (phlorotannins)": 458, + "Oligomeric stibenes": 459, + "Oligomycins": 460, + "Onocerane triterpenoids": 461, + "Open-chain polyketides": 462, + "Open-chained neoflavonoids": 463, + "Ophiobolane sesterterpenoids": 464, + "Oplopane sesquiterpenoids": 465, + "Oppositane sesquiterpenoids": 466, + "Orthosomycins": 467, + "Other Docosanoids": 468, + "Other Eicosanoids": 469, + "Other Octadecanoids": 470, + "Other indole diketopiperazine alkaloids": 471, + "Other polyketide meroterpenoids": 472, + "Oxa-Bridged Macrolides": 473, + "Oxasqualenoids": 474, + "Oxazole alkaloids": 475, + "Oxidized glycerophospholipids": 476, + "Oxo fatty acids": 477, + "Oxygenated hydrocarbons": 478, + "Pachydictyane diterpenoids": 479, + "Pachysanane triterpenoids": 480, + "Pacifigorgiane sesquiterpenoids": 481, + "Panasinsane sesquiterpenoids": 482, + "Paraconic acids and derivatives": 483, + "Paraliane diterpenoids": 484, + "Parguerane diterpenoids": 485, + "Patchoulane sesquiterpenoids": 486, + "Paulomycins and derivatives": 487, + "Penicillins": 488, + "Pentacyclic guanidine alkaloids": 489, + "Pentalenane sesquiterpenoids": 490, + "Pepluane diterpenoids": 491, + "Peptaibols": 492, + "Perforane sesquiterpenoids": 493, + "Phenalens": 494, + "Phenanthrenes": 495, + "Phenazine alkaloids": 496, + "Phenethylisoquinoline alkaloids": 497, + "Phenoxazine alkaloids": 498, + "Phenylalanine-derived alkaloids": 499, + "Phenylethanoids": 500, + "Phenylethylamines": 501, + "Phloroglucinol-terpene hybrids": 502, + "Phoslactomycins or Phosphazomycins": 503, + "Phosphosphingolipids": 504, + "Phthalide derivatives": 505, + "Phytane diterpenoids": 506, + "Phytofurans": 507, + "Phytoprostanes": 508, + "Picrotoxane sesquiterpenoids": 509, + "Pimarane and Isopimarane diterpenoids": 510, + "Pimprinine alkaloids": 511, + "Pinane monoterpenoids": 512, + "Pinguisane sesquiterpenoids": 513, + "Piperidine alkaloids": 514, + "Plant xanthones": 515, + "Platensimycin and Platencins": 516, + "Podocarpane diterpenoids": 517, + "Polyamines": 518, + "Polyene macrolides": 519, + "Polyesters": 520, + "Polyether ionophores": 521, + "Polypodane triterpenoids": 522, + "Polyprenol derivatives": 523, + "Polyprenylated cyclic polyketides (Hop meroterpenoids)": 524, + "Polysaccharides": 525, + "Pradimicins": 526, + "Pregnane steroids": 527, + "Premyrsinane diterpenoids": 528, + "Prenyl quinone meroterpenoids": 529, + "Prenylated,geranylated phloroglucinols": 530, + "Prenylbisabolane diterpenoids": 531, + "Prenyleudesmane diterpenoids": 532, + "Presilphiperfolane and Probotryane sesquiterpenoids": 533, + "Prezizaane sesquiterpenoids": 534, + "Primary amides": 535, + "Proanthocyanins": 536, + "Prodigiosins": 537, + "Prostaglandins": 538, + "Protoberberine alkaloids": 539, + "Protoilludane sesquiterpenoids": 540, + "Protopine alkaloids": 541, + "Pseudoguaiane sesquiterpenoids": 542, + "Pseudopterane diterpenoids": 543, + "Pterocarpan": 544, + "Pulvinones": 545, + "Purine alkaloids": 546, + "Purine nucleos(t)ides": 547, + "Pyranocoumarins": 548, + "Pyrazine and Piperazine alkaloids": 549, + "Pyridine alkaloids": 550, + "Pyrimidine nucleos(t)ides": 551, + "Pyrrocidine tetramate alkaloids": 552, + "Pyrrole alkaloids": 553, + "Pyrrolidine alkaloids": 554, + "Pyrrolizidine alkaloids": 555, + "Pyrroloindole alkaloids": 556, + "Pyrroloquinoline alkaloids": 557, + "Quadrane sesquiterpenoids": 558, + "Quassinoids": 559, + "Quinazoline alkaloids": 560, + "Quinoline alkaloids": 561, + "Quinolizidine alkaloids": 562, + "Resin glycosides": 563, + "Resolvin Ds": 564, + "Resolvin Es": 565, + "Rhamnofolane diterpenoids": 566, + "Rhamnolipids": 567, + "Rhizoxins": 568, + "RiPPs-Amatoxins and Phallotoxins": 569, + "RiPPs-Bottromycins": 570, + "RiPPs-Cyanobactins": 571, + "RiPPs-Lanthipeptides": 572, + "RiPPs-Lasso peptides": 573, + "RiPPs-Microcins": 574, + "RiPPs-Thiopeptides": 575, + "Rotenoids": 576, + "Rotundane sesquiterpenoids": 577, + "Sacculatane diterpenoids": 578, + "Salinosporamides": 579, + "Santalane sesquiterpenoids": 580, + "Saponaceolide triterpenoids": 581, + "Sativane sesquiterpenoids": 582, + "Saxitoxins": 583, + "Scalarane sesterterpenoids": 584, + "Secoabietane diterpenoids": 585, + "Secochamigrane sesquiterpenoids": 586, + "Secoeudesmane sesquiterpenoids": 587, + "Secogermacrane sesquiterpenoids": 588, + "Secoiridoid monoterpenoids": 589, + "Secokaurane diterpenoids": 590, + "Secolabdane diterpenoids": 591, + "Segetane diterpenoids": 592, + "Selaginellins": 593, + "Serratane triterpenoids": 594, + "Serrulatane and Biflorane diterpenoids": 595, + "Shikimic acids and derivatives": 596, + "Shionane triterpenoids": 597, + "Silphinane sesquiterpenoids": 598, + "Silphiperfolane sesquiterpenoids": 599, + "Simple amide alkaloids": 600, + "Simple aromatic polyketides": 601, + "Simple coumarins": 602, + "Simple cyclic polyketides": 603, + "Simple diketopiperazine alkaloids": 604, + "Simple indole alkaloids": 605, + "Simple oxindole alkaloids": 606, + "Simple phenolic acids": 607, + "Simple tetramate alkaloids": 608, + "Sinularane sesquiterpenoids": 609, + "Sophorolipids": 610, + "Sorbicilinoids": 611, + "Sphaerane diterpenoids": 612, + "Sphaeroane diterpenoids": 613, + "Sphenolobane diterpenoids": 614, + "Sphingoid bases": 615, + "Spiroaxane sesquiterpenoids": 616, + "Spirodioxynaphthalenes": 617, + "Spirostane steroids": 618, + "Spirotetronate macrolides": 619, + "Spirovetivane sesquiterpenoids": 620, + "Spongiane diterpenoids": 621, + "Spriromeroterpenoids": 622, + "Stemona alkaloids": 623, + "Steroidal alkaloids": 624, + "Sterpurane sesquiterpenoids": 625, + "Stictane triterpenoids": 626, + "Stigmastane steroids": 627, + "Stilbenolignans": 628, + "Streptogramins": 629, + "Streptothricins and derivatives": 630, + "Strobilurins and derivatives": 631, + "Strychnos type": 632, + "Tantazoles and mirabazoles": 633, + "Taraxerane triterpenoids": 634, + "Taxane diterpenoids": 635, + "Terpenoid alkaloids": 636, + "Terpenoid tetrahydroisoquinoline alkaloids": 637, + "Tetracyclic diterpenoids": 638, + "Tetracyclines": 639, + "Tetrahydroisoquinoline alkaloids": 640, + "Tetraketide meroterpenoids": 641, + "Tetrodotoxins": 642, + "Thapsane sesquiterpenoids": 643, + "Thia fatty acids": 644, + "Thiazole alkaloids": 645, + "Thiodiketopiperazine alkaloids": 646, + "Thromboxanes": 647, + "Thujane monoterpenoids": 648, + "Thujopsane sesquiterpenoids": 649, + "Tigliane diterpenoids": 650, + "Totarane diterpenoids": 651, + "Trachylobane diterpenoids": 652, + "Tremulane sesquiterpenoids": 653, + "Triacylglycerols": 654, + "Trichothecane sesquiterpenoids": 655, + "Tricyclic guanidine alkaloids": 656, + "Triketide meroterpenoids": 657, + "Trinervitane diterpenoids": 658, + "Tripeptides": 659, + "Tropane alkaloids": 660, + "Tropolones and derivatives (PKS)": 661, + "Tropolones and derivatives (Shikimate)": 662, + "Tylosins": 663, + "Unsaturated fatty acids": 664, + "Ursane and Taraxastane triterpenoids": 665, + "Usnic acid and derivatives": 666, + "Valerane sesquiterpenoids": 667, + "Valerenane sesquiterpenoids": 668, + "Valparane diterpenoids": 669, + "Vancomycins and Teicoplanins": 670, + "Verrucosane diterpenoids": 671, + "Verticillane diterpenoids": 672, + "Villanovane diterpenoids": 673, + "Viscidane diterpenoids": 674, + "Vitamin D2 and derivatives": 675, + "Vitamin D3 and derivatives": 676, + "Wax diesters": 677, + "Wax monoesters": 678, + "Xeniaphyllane diterpenoids": 679, + "Xenicane diterpenoids": 680, + "Yohimbine-like alkaloids": 681, + "Zearalenones": 682, + "Zizaane sesquiterpenoids": 683, + "m-Terphenyls": 684, + "p-Terphenyls": 685, + "pteridine alkaloids": 686 + }, + "Class_hierarchy": { + "326": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "477": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "96": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "664": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "325": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "237": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "407": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "33": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "446": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "644": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "113": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "316": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "430": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "219": { + "Pathway": [ + 3 + ], + "Superclass": [ + 18 + ] + }, + "0": { + "Pathway": [ + 3 + ], + "Superclass": [ + 43 + ] + }, + "358": { + "Pathway": [ + 3 + ], + "Superclass": [ + 43 + ] + }, + "508": { + "Pathway": [ + 3 + ], + "Superclass": [ + 43 + ] + }, + "507": { + "Pathway": [ + 3 + ], + "Superclass": [ + 43 + ] + }, + "470": { + "Pathway": [ + 3 + ], + "Superclass": [ + 43 + ] + }, + "538": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "372": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "647": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "381": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "329": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "328": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "327": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "238": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "314": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "373": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "355": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "352": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "232": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "565": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "166": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "469": { + "Pathway": [ + 3 + ], + "Superclass": [ + 17 + ] + }, + "444": { + "Pathway": [ + 3 + ], + "Superclass": [ + 16 + ] + }, + "443": { + "Pathway": [ + 3 + ], + "Superclass": [ + 16 + ] + }, + "224": { + "Pathway": [ + 3 + ], + "Superclass": [ + 16 + ] + }, + "564": { + "Pathway": [ + 3 + ], + "Superclass": [ + 16 + ] + }, + "397": { + "Pathway": [ + 3 + ], + "Superclass": [ + 16 + ] + }, + "468": { + "Pathway": [ + 3 + ], + "Superclass": [ + 16 + ] + }, + "256": { + "Pathway": [ + 3 + ], + "Superclass": [ + 20 + ] + }, + "257": { + "Pathway": [ + 3 + ], + "Superclass": [ + 20 + ] + }, + "678": { + "Pathway": [ + 3 + ], + "Superclass": [ + 22 + ] + }, + "677": { + "Pathway": [ + 3 + ], + "Superclass": [ + 22 + ] + }, + "181": { + "Pathway": [ + 3 + ], + "Superclass": [ + 22 + ] + }, + "367": { + "Pathway": [ + 3 + ], + "Superclass": [ + 22 + ] + }, + "252": { + "Pathway": [ + 3 + ], + "Superclass": [ + 22 + ] + }, + "253": { + "Pathway": [ + 3 + ], + "Superclass": [ + 22 + ] + }, + "251": { + "Pathway": [ + 3 + ], + "Superclass": [ + 22 + ] + }, + "535": { + "Pathway": [ + 3 + ], + "Superclass": [ + 21 + ] + }, + "433": { + "Pathway": [ + 3 + ], + "Superclass": [ + 21 + ] + }, + "255": { + "Pathway": [ + 3 + ], + "Superclass": [ + 21 + ] + }, + "434": { + "Pathway": [ + 3 + ], + "Superclass": [ + 21 + ] + }, + "259": { + "Pathway": [ + 3 + ], + "Superclass": [ + 20 + ] + }, + "258": { + "Pathway": [ + 3 + ], + "Superclass": [ + 20 + ] + }, + "324": { + "Pathway": [ + 3 + ], + "Superclass": [ + 20 + ] + }, + "478": { + "Pathway": [ + 3 + ], + "Superclass": [ + 20 + ] + }, + "254": { + "Pathway": [ + 3 + ], + "Superclass": [ + 19 + ] + }, + "610": { + "Pathway": [ + 3 + ], + "Superclass": [ + 19 + ] + }, + "567": { + "Pathway": [ + 3 + ], + "Superclass": [ + 19 + ] + }, + "62": { + "Pathway": [ + 3 + ], + "Superclass": [ + 19 + ] + }, + "419": { + "Pathway": [ + 3 + ], + "Superclass": [ + 25 + ] + }, + "213": { + "Pathway": [ + 3 + ], + "Superclass": [ + 25 + ] + }, + "654": { + "Pathway": [ + 3 + ], + "Superclass": [ + 25 + ] + }, + "302": { + "Pathway": [ + 3 + ], + "Superclass": [ + 25 + ] + }, + "300": { + "Pathway": [ + 3 + ], + "Superclass": [ + 25 + ] + }, + "291": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "292": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "299": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "293": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "294": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "298": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "296": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "290": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "295": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "102": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "301": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "297": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "476": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "384": { + "Pathway": [ + 3 + ], + "Superclass": [ + 26 + ] + }, + "615": { + "Pathway": [ + 3 + ], + "Superclass": [ + 64 + ] + }, + "153": { + "Pathway": [ + 3 + ], + "Superclass": [ + 64 + ] + }, + "504": { + "Pathway": [ + 3 + ], + "Superclass": [ + 64 + ] + }, + "445": { + "Pathway": [ + 3 + ], + "Superclass": [ + 64 + ] + }, + "14": { + "Pathway": [ + 3 + ], + "Superclass": [ + 64 + ] + }, + "563": { + "Pathway": [ + 3 + ], + "Superclass": [ + 20 + ] + }, + "483": { + "Pathway": [ + 3 + ], + "Superclass": [ + 20 + ] + }, + "244": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "663": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "70": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "519": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "63": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "236": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 33 + ] + }, + "568": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 33 + ] + }, + "460": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "41": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "682": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "75": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "392": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "391": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 33 + ] + }, + "365": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 33 + ] + }, + "235": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "619": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "100": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "47": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 33 + ] + }, + "473": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "390": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 33 + ] + }, + "379": { + "Pathway": [ + 4 + ], + "Superclass": [ + 31 + ] + }, + "234": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 31 + ] + }, + "462": { + "Pathway": [ + 4 + ], + "Superclass": [ + 31 + ] + }, + "5": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 31 + ] + }, + "6": { + "Pathway": [ + 4 + ], + "Superclass": [ + 31 + ] + }, + "13": { + "Pathway": [ + 4 + ], + "Superclass": [ + 31 + ] + }, + "377": { + "Pathway": [ + 4 + ], + "Superclass": [ + 31 + ] + }, + "520": { + "Pathway": [ + 4 + ], + "Superclass": [ + 31 + ] + }, + "400": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 31 + ] + }, + "201": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 31 + ] + }, + "603": { + "Pathway": [ + 4 + ], + "Superclass": [ + 11 + ] + }, + "2": { + "Pathway": [ + 4 + ], + "Superclass": [ + 11 + ] + }, + "7": { + "Pathway": [ + 4 + ], + "Superclass": [ + 11 + ] + }, + "200": { + "Pathway": [ + 4 + ], + "Superclass": [ + 9 + ] + }, + "455": { + "Pathway": [ + 4 + ], + "Superclass": [ + 11 + ] + }, + "418": { + "Pathway": [ + 4 + ], + "Superclass": [ + 11 + ] + }, + "207": { + "Pathway": [ + 4 + ], + "Superclass": [ + 11 + ] + }, + "206": { + "Pathway": [ + 4 + ], + "Superclass": [ + 11 + ] + }, + "3": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 11 + ] + }, + "4": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 11 + ] + }, + "447": { + "Pathway": [ + 4 + ], + "Superclass": [ + 11 + ] + }, + "516": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "524": { + "Pathway": [ + 4, + 6 + ], + "Superclass": [ + 34 + ] + }, + "611": { + "Pathway": [ + 4 + ], + "Superclass": [ + 5 + ] + }, + "420": { + "Pathway": [ + 4 + ], + "Superclass": [ + 0 + ] + }, + "214": { + "Pathway": [ + 4 + ], + "Superclass": [ + 0 + ] + }, + "46": { + "Pathway": [ + 4 + ], + "Superclass": [ + 52 + ] + }, + "161": { + "Pathway": [ + 4 + ], + "Superclass": [ + 9 + ] + }, + "25": { + "Pathway": [ + 4 + ], + "Superclass": [ + 9 + ] + }, + "505": { + "Pathway": [ + 4 + ], + "Superclass": [ + 11 + ] + }, + "305": { + "Pathway": [ + 4 + ], + "Superclass": [ + 5 + ] + }, + "147": { + "Pathway": [ + 4 + ], + "Superclass": [ + 5 + ] + }, + "58": { + "Pathway": [ + 4 + ], + "Superclass": [ + 5 + ] + }, + "601": { + "Pathway": [ + 4 + ], + "Superclass": [ + 5 + ] + }, + "388": { + "Pathway": [ + 4 + ], + "Superclass": [ + 5 + ] + }, + "106": { + "Pathway": [ + 4, + 6 + ], + "Superclass": [ + 34 + ] + }, + "639": { + "Pathway": [ + 4 + ], + "Superclass": [ + 52 + ] + }, + "44": { + "Pathway": [ + 4 + ], + "Superclass": [ + 52 + ] + }, + "40": { + "Pathway": [ + 4 + ], + "Superclass": [ + 52 + ] + }, + "526": { + "Pathway": [ + 4 + ], + "Superclass": [ + 52 + ] + }, + "250": { + "Pathway": [ + 4 + ], + "Superclass": [ + 52 + ] + }, + "78": { + "Pathway": [ + 4 + ], + "Superclass": [ + 52 + ] + }, + "22": { + "Pathway": [ + 4 + ], + "Superclass": [ + 51 + ] + }, + "502": { + "Pathway": [ + 4, + 6 + ], + "Superclass": [ + 51 + ] + }, + "530": { + "Pathway": [ + 4 + ], + "Superclass": [ + 51 + ] + }, + "221": { + "Pathway": [ + 4 + ], + "Superclass": [ + 51 + ] + }, + "458": { + "Pathway": [ + 4 + ], + "Superclass": [ + 51 + ] + }, + "408": { + "Pathway": [ + 4 + ], + "Superclass": [ + 74 + ] + }, + "438": { + "Pathway": [ + 4 + ], + "Superclass": [ + 40 + ] + }, + "617": { + "Pathway": [ + 4 + ], + "Superclass": [ + 40 + ] + }, + "91": { + "Pathway": [ + 4 + ], + "Superclass": [ + 40 + ] + }, + "436": { + "Pathway": [ + 4 + ], + "Superclass": [ + 40 + ] + }, + "71": { + "Pathway": [ + 4 + ], + "Superclass": [ + 9 + ] + }, + "368": { + "Pathway": [ + 4 + ], + "Superclass": [ + 53 + ] + }, + "521": { + "Pathway": [ + 4 + ], + "Superclass": [ + 53 + ] + }, + "393": { + "Pathway": [ + 4 + ], + "Superclass": [ + 53 + ] + }, + "661": { + "Pathway": [ + 4 + ], + "Superclass": [ + 71 + ] + }, + "596": { + "Pathway": [ + 5 + ], + "Superclass": [ + 48 + ] + }, + "607": { + "Pathway": [ + 5 + ], + "Superclass": [ + 48 + ] + }, + "283": { + "Pathway": [ + 5 + ], + "Superclass": [ + 48 + ] + }, + "76": { + "Pathway": [ + 5 + ], + "Superclass": [ + 48 + ] + }, + "273": { + "Pathway": [ + 4 + ], + "Superclass": [ + 14 + ] + }, + "398": { + "Pathway": [ + 5 + ], + "Superclass": [ + 14 + ] + }, + "163": { + "Pathway": [ + 5 + ], + "Superclass": [ + 50 + ] + }, + "162": { + "Pathway": [ + 1, + 5 + ], + "Superclass": [ + 50 + ] + }, + "164": { + "Pathway": [ + 5 + ], + "Superclass": [ + 50 + ] + }, + "500": { + "Pathway": [ + 5 + ], + "Superclass": [ + 49 + ] + }, + "662": { + "Pathway": [ + 5 + ], + "Superclass": [ + 71 + ] + }, + "631": { + "Pathway": [ + 4 + ], + "Superclass": [ + 5 + ] + }, + "431": { + "Pathway": [ + 1, + 5 + ], + "Superclass": [ + 39 + ] + }, + "217": { + "Pathway": [ + 5 + ], + "Superclass": [ + 30 + ] + }, + "218": { + "Pathway": [ + 5 + ], + "Superclass": [ + 30 + ] + }, + "276": { + "Pathway": [ + 5 + ], + "Superclass": [ + 30 + ] + }, + "279": { + "Pathway": [ + 5 + ], + "Superclass": [ + 30 + ] + }, + "60": { + "Pathway": [ + 5 + ], + "Superclass": [ + 30 + ] + }, + "216": { + "Pathway": [ + 5 + ], + "Superclass": [ + 30 + ] + }, + "442": { + "Pathway": [ + 5 + ], + "Superclass": [ + 30 + ] + }, + "412": { + "Pathway": [ + 5 + ], + "Superclass": [ + 30 + ] + }, + "174": { + "Pathway": [ + 5 + ], + "Superclass": [ + 10, + 30 + ] + }, + "602": { + "Pathway": [ + 5 + ], + "Superclass": [ + 10 + ] + }, + "278": { + "Pathway": [ + 5 + ], + "Superclass": [ + 10 + ] + }, + "548": { + "Pathway": [ + 5 + ], + "Superclass": [ + 10 + ] + }, + "348": { + "Pathway": [ + 5 + ], + "Superclass": [ + 10 + ] + }, + "362": { + "Pathway": [ + 5 + ], + "Superclass": [ + 67 + ] + }, + "375": { + "Pathway": [ + 5 + ], + "Superclass": [ + 12 + ] + }, + "215": { + "Pathway": [ + 5 + ], + "Superclass": [ + 12 + ] + }, + "86": { + "Pathway": [ + 5 + ], + "Superclass": [ + 12 + ] + }, + "685": { + "Pathway": [ + 5 + ], + "Superclass": [ + 68 + ] + }, + "684": { + "Pathway": [ + 5 + ], + "Superclass": [ + 68 + ] + }, + "545": { + "Pathway": [ + 5 + ], + "Superclass": [ + 13 + ] + }, + "593": { + "Pathway": [ + 5 + ], + "Superclass": [ + 24 + ] + }, + "515": { + "Pathway": [ + 5 + ], + "Superclass": [ + 74 + ] + }, + "155": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "265": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "220": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "269": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "267": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "264": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "266": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "263": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "536": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "43": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "268": { + "Pathway": [ + 5 + ], + "Superclass": [ + 30, + 23 + ] + }, + "69": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "346": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "270": { + "Pathway": [ + 5 + ], + "Superclass": [ + 66, + 23 + ] + }, + "425": { + "Pathway": [ + 5 + ], + "Superclass": [ + 66 + ] + }, + "459": { + "Pathway": [ + 5 + ], + "Superclass": [ + 66 + ] + }, + "628": { + "Pathway": [ + 5 + ], + "Superclass": [ + 66, + 30 + ] + }, + "351": { + "Pathway": [ + 5 + ], + "Superclass": [ + 29 + ] + }, + "576": { + "Pathway": [ + 5 + ], + "Superclass": [ + 29 + ] + }, + "176": { + "Pathway": [ + 5 + ], + "Superclass": [ + 29 + ] + }, + "544": { + "Pathway": [ + 5 + ], + "Superclass": [ + 29 + ] + }, + "350": { + "Pathway": [ + 5 + ], + "Superclass": [ + 29 + ] + }, + "175": { + "Pathway": [ + 5 + ], + "Superclass": [ + 29 + ] + }, + "1": { + "Pathway": [ + 5 + ], + "Superclass": [ + 29 + ] + }, + "440": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "463": { + "Pathway": [ + 5 + ], + "Superclass": [ + 23 + ] + }, + "474": { + "Pathway": [ + 6 + ], + "Superclass": [ + 53 + ] + }, + "20": { + "Pathway": [ + 6 + ], + "Superclass": [ + 38 + ] + }, + "423": { + "Pathway": [ + 6 + ], + "Superclass": [ + 38 + ] + }, + "343": { + "Pathway": [ + 6 + ], + "Superclass": [ + 38 + ] + }, + "342": { + "Pathway": [ + 6 + ], + "Superclass": [ + 38 + ] + }, + "589": { + "Pathway": [ + 6 + ], + "Superclass": [ + 38 + ] + }, + "15": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "26": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "27": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "29": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "30": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "56": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "57": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "67": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "82": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "88": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "89": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "90": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "94": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "95": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "97": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "103": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "104": { + "Pathway": [ + 6 + ], + "Superclass": [ + 38 + ] + }, + "105": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "107": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "109": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "110": { + "Pathway": [ + 6 + ], + "Superclass": [ + 38 + ] + }, + "143": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "144": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "148": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "156": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "158": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "168": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "170": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "171": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "172": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "178": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "180": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "190": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "191": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "192": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "193": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "194": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "195": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "205": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "228": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "230": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "233": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "240": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "247": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "249": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "260": { + "Pathway": [ + 6 + ], + "Superclass": [ + 38 + ] + }, + "272": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "285": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "303": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "306": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "308": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "315": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "317": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "318": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "320": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "322": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "323": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "332": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "333": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "341": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "345": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "347": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "349": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "354": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "357": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "366": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "371": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "382": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "385": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "386": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "387": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "396": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "401": { + "Pathway": [ + 6 + ], + "Superclass": [ + 38 + ] + }, + "439": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "449": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "450": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "465": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "466": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "481": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "482": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "486": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "493": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "509": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "512": { + "Pathway": [ + 6 + ], + "Superclass": [ + 38 + ] + }, + "513": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "533": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "534": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "540": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "542": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "558": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "577": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "580": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "582": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "586": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "587": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "588": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "598": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "599": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "609": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "616": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "620": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "625": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "643": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "648": { + "Pathway": [ + 6 + ], + "Superclass": [ + 38 + ] + }, + "649": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "653": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "655": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "667": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "668": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "683": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "59": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "311": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "490": { + "Pathway": [ + 6 + ], + "Superclass": [ + 61 + ] + }, + "506": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "531": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "196": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "202": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "364": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "591": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "452": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "309": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "169": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "11": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "275": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "331": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "585": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "8": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "186": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "651": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "435": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "510": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "245": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "485": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "212": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "453": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "146": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "167": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "621": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "517": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "361": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "451": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "590": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "85": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "673": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "68": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "652": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "48": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "287": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "304": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "149": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "448": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "543": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "248": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "286": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "61": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "612": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "99": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "225": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "226": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "183": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "307": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "613": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "671": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "145": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "359": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "592": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "491": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "484": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "370": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "566": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "204": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "528": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "432": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "650": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "340": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "360": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "281": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "669": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "428": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "672": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "635": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "10": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "658": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "363": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "37": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "187": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "680": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "679": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "674": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "239": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "532": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "383": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "479": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "595": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "208": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "578": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "456": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "614": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "638": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "98": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "197": { + "Pathway": [ + 6 + ], + "Superclass": [ + 15 + ] + }, + "454": { + "Pathway": [ + 6 + ], + "Superclass": [ + 62 + ] + }, + "64": { + "Pathway": [ + 6 + ], + "Superclass": [ + 62 + ] + }, + "378": { + "Pathway": [ + 6 + ], + "Superclass": [ + 62 + ] + }, + "421": { + "Pathway": [ + 6 + ], + "Superclass": [ + 62 + ] + }, + "154": { + "Pathway": [ + 6 + ], + "Superclass": [ + 62 + ] + }, + "157": { + "Pathway": [ + 6 + ], + "Superclass": [ + 62 + ] + }, + "464": { + "Pathway": [ + 6 + ], + "Superclass": [ + 62 + ] + }, + "584": { + "Pathway": [ + 6 + ], + "Superclass": [ + 62 + ] + }, + "83": { + "Pathway": [ + 6 + ], + "Superclass": [ + 62 + ] + }, + "395": { + "Pathway": [ + 6 + ], + "Superclass": [ + 62 + ] + }, + "282": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "189": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "179": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "203": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "369": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "55": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "188": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "559": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "374": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "73": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "597": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "389": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "9": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "457": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "634": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "429": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "289": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "271": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "480": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "665": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "77": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "321": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "441": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "261": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "23": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "262": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "626": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "284": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "594": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "461": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "522": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "394": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "581": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "21": { + "Pathway": [ + 6 + ], + "Superclass": [ + 70 + ] + }, + "246": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "39": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "527": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "159": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "160": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "231": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "241": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "627": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "115": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "101": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "618": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "280": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "675": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "676": { + "Pathway": [ + 6 + ], + "Superclass": [ + 65 + ] + }, + "118": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "120": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "128": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "126": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "133": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "117": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "121": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "123": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "122": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "129": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "127": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "125": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "119": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "124": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "130": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "131": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "134": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "116": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "132": { + "Pathway": [ + 6 + ], + "Superclass": [ + 6 + ] + }, + "135": { + "Pathway": [ + 6 + ], + "Superclass": [ + 7 + ] + }, + "136": { + "Pathway": [ + 6 + ], + "Superclass": [ + 7 + ] + }, + "137": { + "Pathway": [ + 6 + ], + "Superclass": [ + 7 + ] + }, + "140": { + "Pathway": [ + 6 + ], + "Superclass": [ + 8 + ] + }, + "138": { + "Pathway": [ + 6 + ], + "Superclass": [ + 8 + ] + }, + "139": { + "Pathway": [ + 6 + ], + "Superclass": [ + 8 + ] + }, + "142": { + "Pathway": [ + 6 + ], + "Superclass": [ + 8 + ] + }, + "141": { + "Pathway": [ + 6 + ], + "Superclass": [ + 8 + ] + }, + "50": { + "Pathway": [ + 6 + ], + "Superclass": [ + 4 + ] + }, + "52": { + "Pathway": [ + 6 + ], + "Superclass": [ + 4 + ] + }, + "51": { + "Pathway": [ + 6 + ], + "Superclass": [ + 4 + ] + }, + "53": { + "Pathway": [ + 6 + ], + "Superclass": [ + 4 + ] + }, + "414": { + "Pathway": [ + 6 + ], + "Superclass": [ + 4 + ] + }, + "399": { + "Pathway": [ + 6 + ], + "Superclass": [ + 4 + ] + }, + "74": { + "Pathway": [ + 6 + ], + "Superclass": [ + 55 + ] + }, + "227": { + "Pathway": [ + 6 + ], + "Superclass": [ + 55 + ] + }, + "523": { + "Pathway": [ + 6 + ], + "Superclass": [ + 55 + ] + }, + "657": { + "Pathway": [ + 4, + 6 + ], + "Superclass": [ + 34 + ] + }, + "641": { + "Pathway": [ + 4, + 6 + ], + "Superclass": [ + 34 + ] + }, + "472": { + "Pathway": [ + 4, + 6 + ], + "Superclass": [ + 34 + ] + }, + "529": { + "Pathway": [ + 6 + ], + "Superclass": [ + 34 + ] + }, + "403": { + "Pathway": [ + 6 + ], + "Superclass": [ + 34 + ] + }, + "404": { + "Pathway": [ + 6 + ], + "Superclass": [ + 34 + ] + }, + "405": { + "Pathway": [ + 6 + ], + "Superclass": [ + 34 + ] + }, + "406": { + "Pathway": [ + 6 + ], + "Superclass": [ + 34 + ] + }, + "622": { + "Pathway": [ + 6 + ], + "Superclass": [ + 34 + ] + }, + "415": { + "Pathway": [ + 6 + ], + "Superclass": [ + 34 + ] + }, + "518": { + "Pathway": [ + 0 + ], + "Superclass": [ + 45 + ] + }, + "554": { + "Pathway": [ + 0 + ], + "Superclass": [ + 45 + ] + }, + "660": { + "Pathway": [ + 0 + ], + "Superclass": [ + 45 + ] + }, + "555": { + "Pathway": [ + 0 + ], + "Superclass": [ + 45 + ] + }, + "623": { + "Pathway": [ + 0 + ], + "Superclass": [ + 45 + ] + }, + "514": { + "Pathway": [ + 0 + ], + "Superclass": [ + 32 + ] + }, + "562": { + "Pathway": [ + 0 + ], + "Superclass": [ + 32 + ] + }, + "339": { + "Pathway": [ + 0 + ], + "Superclass": [ + 32 + ] + }, + "550": { + "Pathway": [ + 0 + ], + "Superclass": [ + 41 + ] + }, + "501": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "640": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "427": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "313": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "18": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "54": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "539": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "541": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "497": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "637": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "31": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "475": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "511": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "356": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "84": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "151": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "319": { + "Pathway": [ + 0 + ], + "Superclass": [ + 73 + ] + }, + "605": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "606": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "312": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "114": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "112": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "173": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "65": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "330": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "681": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "632": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "66": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "561": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72, + 3 + ] + }, + "557": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "556": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "242": { + "Pathway": [ + 0 + ], + "Superclass": [ + 72 + ] + }, + "338": { + "Pathway": [ + 0, + 6 + ], + "Superclass": [ + 72 + ] + }, + "553": { + "Pathway": [ + 0 + ], + "Superclass": [ + 56 + ] + }, + "45": { + "Pathway": [ + 0 + ], + "Superclass": [ + 3 + ] + }, + "560": { + "Pathway": [ + 0 + ], + "Superclass": [ + 3 + ] + }, + "16": { + "Pathway": [ + 0 + ], + "Superclass": [ + 3 + ] + }, + "496": { + "Pathway": [ + 0 + ], + "Superclass": [ + 3 + ] + }, + "498": { + "Pathway": [ + 0 + ], + "Superclass": [ + 3 + ] + }, + "79": { + "Pathway": [ + 0 + ], + "Superclass": [ + 3 + ] + }, + "334": { + "Pathway": [ + 0 + ], + "Superclass": [ + 28 + ] + }, + "583": { + "Pathway": [ + 0 + ], + "Superclass": [ + 27 + ] + }, + "642": { + "Pathway": [ + 0 + ], + "Superclass": [ + 27 + ] + }, + "489": { + "Pathway": [ + 0 + ], + "Superclass": [ + 27 + ] + }, + "656": { + "Pathway": [ + 0 + ], + "Superclass": [ + 27 + ] + }, + "19": { + "Pathway": [ + 0 + ], + "Superclass": [ + 27 + ] + }, + "87": { + "Pathway": [ + 0 + ], + "Superclass": [ + 27 + ] + }, + "422": { + "Pathway": [ + 0 + ], + "Superclass": [ + 27 + ] + }, + "12": { + "Pathway": [ + 0 + ], + "Superclass": [ + 57 + ] + }, + "499": { + "Pathway": [ + 0 + ], + "Superclass": [ + 57 + ] + }, + "636": { + "Pathway": [ + 0, + 6 + ], + "Superclass": [ + 57 + ] + }, + "624": { + "Pathway": [ + 0, + 6 + ], + "Superclass": [ + 57 + ] + }, + "546": { + "Pathway": [ + 0 + ], + "Superclass": [ + 57 + ] + }, + "353": { + "Pathway": [ + 0 + ], + "Superclass": [ + 57 + ] + }, + "199": { + "Pathway": [ + 0 + ], + "Superclass": [ + 57 + ] + }, + "108": { + "Pathway": [ + 0 + ], + "Superclass": [ + 57 + ] + }, + "344": { + "Pathway": [ + 0 + ], + "Superclass": [ + 57 + ] + }, + "42": { + "Pathway": [ + 0, + 1 + ], + "Superclass": [ + 46 + ] + }, + "336": { + "Pathway": [ + 0, + 1 + ], + "Superclass": [ + 46 + ] + }, + "335": { + "Pathway": [ + 0, + 1 + ], + "Superclass": [ + 46 + ] + }, + "337": { + "Pathway": [ + 0, + 1 + ], + "Superclass": [ + 46 + ] + }, + "471": { + "Pathway": [ + 0, + 1 + ], + "Superclass": [ + 46 + ] + }, + "604": { + "Pathway": [ + 0, + 1 + ], + "Superclass": [ + 46 + ] + }, + "646": { + "Pathway": [ + 0, + 1 + ], + "Superclass": [ + 46 + ] + }, + "549": { + "Pathway": [ + 0, + 1 + ], + "Superclass": [ + 69, + 46 + ] + }, + "552": { + "Pathway": [ + 0, + 1 + ], + "Superclass": [ + 69 + ] + }, + "198": { + "Pathway": [ + 0, + 1 + ], + "Superclass": [ + 69 + ] + }, + "376": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "34": { + "Pathway": [ + 1 + ], + "Superclass": [ + 63 + ] + }, + "222": { + "Pathway": [ + 1 + ], + "Superclass": [ + 63 + ] + }, + "659": { + "Pathway": [ + 1 + ], + "Superclass": [ + 63 + ] + }, + "184": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "211": { + "Pathway": [ + 1, + 4 + ], + "Superclass": [ + 44 + ] + }, + "380": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "24": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "411": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "38": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "28": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "410": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "177": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "409": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "633": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "670": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "92": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "629": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "17": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "488": { + "Pathway": [ + 1 + ], + "Superclass": [ + 75 + ] + }, + "150": { + "Pathway": [ + 1 + ], + "Superclass": [ + 75 + ] + }, + "152": { + "Pathway": [ + 1 + ], + "Superclass": [ + 75 + ] + }, + "165": { + "Pathway": [ + 1 + ], + "Superclass": [ + 75 + ] + }, + "111": { + "Pathway": [ + 1 + ], + "Superclass": [ + 75 + ] + }, + "424": { + "Pathway": [ + 1 + ], + "Superclass": [ + 75 + ] + }, + "579": { + "Pathway": [ + 1 + ], + "Superclass": [ + 76 + ] + }, + "182": { + "Pathway": [ + 1 + ], + "Superclass": [ + 1 + ] + }, + "288": { + "Pathway": [ + 1 + ], + "Superclass": [ + 1 + ] + }, + "426": { + "Pathway": [ + 2 + ], + "Superclass": [ + 59 + ] + }, + "223": { + "Pathway": [ + 2 + ], + "Superclass": [ + 59 + ] + }, + "525": { + "Pathway": [ + 2 + ], + "Superclass": [ + 59 + ] + }, + "487": { + "Pathway": [ + 2 + ], + "Superclass": [ + 59 + ] + }, + "185": { + "Pathway": [ + 2 + ], + "Superclass": [ + 54 + ] + }, + "32": { + "Pathway": [ + 2 + ], + "Superclass": [ + 54 + ] + }, + "36": { + "Pathway": [ + 2 + ], + "Superclass": [ + 2 + ] + }, + "35": { + "Pathway": [ + 2 + ], + "Superclass": [ + 2 + ] + }, + "547": { + "Pathway": [ + 2 + ], + "Superclass": [ + 42 + ] + }, + "551": { + "Pathway": [ + 2 + ], + "Superclass": [ + 42 + ] + }, + "630": { + "Pathway": [ + 2 + ], + "Superclass": [ + 42 + ] + }, + "569": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "570": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "571": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "572": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "573": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "574": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "575": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "310": { + "Pathway": [ + 3 + ], + "Superclass": [ + 20 + ] + }, + "492": { + "Pathway": [ + 1 + ], + "Superclass": [ + 44 + ] + }, + "413": { + "Pathway": [ + 0 + ], + "Superclass": [ + 35 + ] + }, + "600": { + "Pathway": [ + 0 + ], + "Superclass": [ + 46 + ] + }, + "416": { + "Pathway": [ + 4 + ], + "Superclass": [ + 36 + ] + }, + "608": { + "Pathway": [ + 0 + ], + "Superclass": [ + 69 + ] + }, + "417": { + "Pathway": [ + 0 + ], + "Superclass": [ + 37 + ] + }, + "467": { + "Pathway": [ + 2 + ], + "Superclass": [ + 59 + ] + }, + "503": { + "Pathway": [ + 4 + ], + "Superclass": [ + 31 + ] + }, + "686": { + "Pathway": [ + 0 + ], + "Superclass": [ + 58 + ] + }, + "494": { + "Pathway": [ + 4 + ], + "Superclass": [ + 52 + ] + }, + "437": { + "Pathway": [ + 4 + ], + "Superclass": [ + 40 + ] + }, + "537": { + "Pathway": [ + 0 + ], + "Superclass": [ + 56 + ] + }, + "243": { + "Pathway": [ + 4 + ], + "Superclass": [ + 52 + ] + }, + "645": { + "Pathway": [ + 0 + ], + "Superclass": [ + 60 + ] + }, + "72": { + "Pathway": [ + 0 + ], + "Superclass": [ + 57 + ] + }, + "81": { + "Pathway": [ + 4 + ], + "Superclass": [ + 5 + ] + }, + "80": { + "Pathway": [ + 4 + ], + "Superclass": [ + 5 + ] + }, + "93": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "402": { + "Pathway": [ + 6 + ], + "Superclass": [ + 34 + ] + }, + "49": { + "Pathway": [ + 4 + ], + "Superclass": [ + 33 + ] + }, + "274": { + "Pathway": [ + 4 + ], + "Superclass": [ + 11 + ] + }, + "209": { + "Pathway": [ + 4 + ], + "Superclass": [ + 5 + ] + }, + "210": { + "Pathway": [ + 4 + ], + "Superclass": [ + 5 + ] + }, + "666": { + "Pathway": [ + 4 + ], + "Superclass": [ + 5 + ] + }, + "229": { + "Pathway": [ + 4 + ], + "Superclass": [ + 52 + ] + }, + "277": { + "Pathway": [ + 4 + ], + "Superclass": [ + 11 + ] + }, + "495": { + "Pathway": [ + 5 + ], + "Superclass": [ + 47 + ] + } + }, + "Super_hierarchy": { + "18": { + "Pathway": [ + 3 + ] + }, + "43": { + "Pathway": [ + 3 + ] + }, + "17": { + "Pathway": [ + 3 + ] + }, + "16": { + "Pathway": [ + 3 + ] + }, + "20": { + "Pathway": [ + 3 + ] + }, + "22": { + "Pathway": [ + 3 + ] + }, + "21": { + "Pathway": [ + 3 + ] + }, + "19": { + "Pathway": [ + 3 + ] + }, + "25": { + "Pathway": [ + 3 + ] + }, + "26": { + "Pathway": [ + 3 + ] + }, + "64": { + "Pathway": [ + 3 + ] + }, + "33": { + "Pathway": [ + 1, + 4 + ] + }, + "31": { + "Pathway": [ + 1, + 4 + ] + }, + "11": { + "Pathway": [ + 1, + 4 + ] + }, + "9": { + "Pathway": [ + 4 + ] + }, + "15": { + "Pathway": [ + 6 + ] + }, + "34": { + "Pathway": [ + 4, + 6 + ] + }, + "5": { + "Pathway": [ + 4 + ] + }, + "0": { + "Pathway": [ + 4 + ] + }, + "52": { + "Pathway": [ + 4 + ] + }, + "51": { + "Pathway": [ + 4, + 6 + ] + }, + "74": { + "Pathway": [ + 4, + 5 + ] + }, + "40": { + "Pathway": [ + 4 + ] + }, + "53": { + "Pathway": [ + 4, + 6 + ] + }, + "71": { + "Pathway": [ + 4, + 5 + ] + }, + "48": { + "Pathway": [ + 5 + ] + }, + "14": { + "Pathway": [ + 4, + 5 + ] + }, + "50": { + "Pathway": [ + 1, + 5 + ] + }, + "49": { + "Pathway": [ + 5 + ] + }, + "39": { + "Pathway": [ + 1, + 5 + ] + }, + "30": { + "Pathway": [ + 5 + ] + }, + "10": { + "Pathway": [ + 5 + ] + }, + "67": { + "Pathway": [ + 5 + ] + }, + "12": { + "Pathway": [ + 5 + ] + }, + "68": { + "Pathway": [ + 5 + ] + }, + "13": { + "Pathway": [ + 5 + ] + }, + "24": { + "Pathway": [ + 5 + ] + }, + "23": { + "Pathway": [ + 5 + ] + }, + "66": { + "Pathway": [ + 5 + ] + }, + "29": { + "Pathway": [ + 5 + ] + }, + "38": { + "Pathway": [ + 6 + ] + }, + "61": { + "Pathway": [ + 6 + ] + }, + "62": { + "Pathway": [ + 6 + ] + }, + "70": { + "Pathway": [ + 6 + ] + }, + "65": { + "Pathway": [ + 6 + ] + }, + "6": { + "Pathway": [ + 6 + ] + }, + "7": { + "Pathway": [ + 6 + ] + }, + "8": { + "Pathway": [ + 6 + ] + }, + "4": { + "Pathway": [ + 6 + ] + }, + "55": { + "Pathway": [ + 6 + ] + }, + "45": { + "Pathway": [ + 0 + ] + }, + "32": { + "Pathway": [ + 0 + ] + }, + "41": { + "Pathway": [ + 0 + ] + }, + "73": { + "Pathway": [ + 0 + ] + }, + "72": { + "Pathway": [ + 0, + 6 + ] + }, + "56": { + "Pathway": [ + 0 + ] + }, + "3": { + "Pathway": [ + 0 + ] + }, + "28": { + "Pathway": [ + 0 + ] + }, + "27": { + "Pathway": [ + 0 + ] + }, + "57": { + "Pathway": [ + 0, + 6 + ] + }, + "46": { + "Pathway": [ + 0, + 1 + ] + }, + "69": { + "Pathway": [ + 0, + 1 + ] + }, + "44": { + "Pathway": [ + 1, + 4 + ] + }, + "63": { + "Pathway": [ + 1 + ] + }, + "75": { + "Pathway": [ + 1 + ] + }, + "76": { + "Pathway": [ + 1 + ] + }, + "1": { + "Pathway": [ + 1 + ] + }, + "59": { + "Pathway": [ + 2 + ] + }, + "54": { + "Pathway": [ + 2 + ] + }, + "2": { + "Pathway": [ + 2 + ] + }, + "42": { + "Pathway": [ + 2 + ] + }, + "35": { + "Pathway": [ + 0 + ] + }, + "36": { + "Pathway": [ + 4 + ] + }, + "37": { + "Pathway": [ + 0 + ] + }, + "58": { + "Pathway": [ + 0 + ] + }, + "60": { + "Pathway": [ + 0 + ] + }, + "47": { + "Pathway": [ + 5 + ] + } + } +} diff --git a/Classifier/prediction_voting.py b/Classifier/prediction_voting.py index 7fa2166..89a1dcb 100644 --- a/Classifier/prediction_voting.py +++ b/Classifier/prediction_voting.py @@ -1,101 +1,74 @@ - -import itertools import numpy as np -def vote_classification(n_path, - n_class, - n_super, - pred_class, - pred_super, - path_from_class, - path_from_superclass, isglycoside, ontology_dictionary): - class_result = [] - superclass_result = [] - pathway_result = [] - - index = ontology_dictionary - - index_class = list(index['Class'].keys()) - index_superclass = list(index['Superclass'].keys()) - index_pathway = list(index['Pathway'].keys()) - - path_for_vote = n_path+path_from_class+path_from_superclass - path = list(set([ k for k in path_for_vote if path_for_vote.count(k) ==3])) - - if path == []: - path = list(set([ k for k in path_for_vote if path_for_vote.count(k) ==2])) - if len(path)>1: - path = list(set([ k for k in path_for_vote if path_for_vote.count(k) ==2])) - if path == []: - for w in n_path: - pathway_result.append(index_pathway[w]) - return pathway_result,superclass_result,class_result,isglycoside - - - else: #path != [] - if set(n_path) & set(path) != set(): - if set(path) & set(path_from_superclass) != set(): - n_super = [ l for l in n_super if set(path)& set(index['Super_hierarchy'][str(l)]['Pathway']) != set()] - if n_super == []: - n_class = [ m for m in n_class if set(path) & set(index['Class_hierarchy'][str(m)]['Pathway']) != set() ] - n_super = [index['Class_hierarchy'][str(n)]['Superclass'] for n in n_class] - n_super = list(set(itertools.chain.from_iterable(n_super))) - - elif len(n_super) > 1: #super != [] - n_class = [ u for u in n_class if set(path) & set(index['Class_hierarchy'][str(u)]['Pathway']) != set() ] - if n_class != []: - n_super = [index['Class_hierarchy'][str(v)]['Superclass'] for v in n_class] - n_path = [index['Class_hierarchy'][str(v)]['Pathway'] for v in n_class] - n_path = list(set(itertools.chain.from_iterable(n_path))) - n_super = list(set(itertools.chain.from_iterable(n_super))) - - elif len(path)==1: - n_super = [np.argmax(pred_super)] - n_class = [ m for m in [np.argmax(pred_class)] if set(n_super) & set(index['Class_hierarchy'][str(m)]['Superclass']) != set() ] - - - else: - n_class = [ o for o in n_class if set(n_super) & set(index['Class_hierarchy'][str(o)]['Superclass'])!=set() ] - if n_class == []: - n_class = [ m for m in [np.argmax(pred_class)] if set(n_super) & set(index['Class_hierarchy'][str(m)]['Superclass']) != set() ] - else: - n_class = [ p for p in n_class if set(path) & set(index['Class_hierarchy'][str(p)]['Pathway']) !=set() ] - n_super = [index['Class_hierarchy'][str(q)]['Superclass'] for q in n_class] - - n_super = list(set(itertools.chain.from_iterable(n_super))) + +# TODO this can be vastly simplified again + + +def vote_classification(n_path, n_class, n_super, + pred_class, pred_super, + path_from_class, path_from_superclass, + index): + """ + Classify the obtained classes + + @param n_path: predicted pathways above noise + @param n_class: predicted classes above noise + @param n_super: predicted superclasses above noise + @param pred_class: predicted classes (all) + @param pred_super: predicted superclasses (all) + @param path_from_class: pathways extracted from classes + @param path_from_superclass: pathways extracted from superclasses + @param index: the "ontology" + @return: pathway_result, superclass_result, class_result => the classified results ids + """ + + pathways_for_vote = list(n_path) + list(path_from_class) + list(path_from_superclass) + + # Select pathways with at least 3 counts + + path = {k for k in pathways_for_vote if pathways_for_vote.count(k) == 3} + + if not path: # if path is empty, we select pathways with only 2 counts + path = {k for k in pathways_for_vote if pathways_for_vote.count(k) == 2} + + if not path: # if path is still empty + # Add all the pathways we already know about, the rest is empty + return n_path, [], [] + + if path & set(n_path): # we have at least some of n_path in our path + if path & set(path_from_superclass): # we have at least some of the path from superclass in path + n_super = [i for i in n_super if path & set(index['Super_hierarchy'][str(i)]['Pathway'])] + n_class = [i for i in n_class if path & set(index['Class_hierarchy'][str(i)]['Pathway'])] + + if not n_super: # n_super is empty + n_super = list({index['Class_hierarchy'][str(n)]['Superclass'] for n in n_class}) + + elif len(n_super) > 1: # super != [] + if n_class: # n_class is not empty + n_super = list({j for i in n_class for j in index['Class_hierarchy'][str(i)]['Superclass']}) + n_path = list({j for i in n_class for j in index['Class_hierarchy'][str(i)]['Pathway']}) + elif len(path) == 1: + n_super = [np.argmax(pred_super)] + best_candidate_class_index = np.argmax(pred_class) + if set(n_super) & set(index['Class_hierarchy'][str(best_candidate_class_index)]['Superclass']): + n_class = [best_candidate_class_index] + + else: # we have only one n_super + # now our classes are only the classes from our best superclass + n_class = [i for i in n_class if set(n_super) & set(index['Class_hierarchy'][str(i)]['Superclass'])] + if not n_class: # n_class is empty, we take the predicted class with the highest score + best_candidate_class_index = np.argmax(pred_class) + if set(n_super) & set(index['Class_hierarchy'][str(best_candidate_class_index)]['Superclass']): + n_class = [best_candidate_class_index] else: - n_super = [ l for l in n_super if set(path) & set(index['Super_hierarchy'][str(l)]['Pathway']) != set()] - if n_super == []: - n_class = [ m for m in n_class if set(path) & set(index['Class_hierarchy'][str(m)]['Pathway']) != set()] - n_super = [index['Class_hierarchy'][str(n)]['Superclass'] for n in n_class] - n_path = [index['Class_hierarchy'][str(v)]['Pathway'] for v in n_class] - n_path = list(set(itertools.chain.from_iterable(n_path))) - n_super = list(set(itertools.chain.from_iterable(n_super))) - - - elif len(n_super) > 1: #super != [] - n_class = [ u for u in n_class if set(path) & set(index['Class_hierarchy'][str(u)]['Pathway']) != set()] - n_super = [index['Class_hierarchy'][str(v)]['Superclass'] for v in n_class] - n_path = [index['Class_hierarchy'][str(v)]['Pathway'] for v in n_class] - n_path = list(set(itertools.chain.from_iterable(n_path))) - n_super = list(set(itertools.chain.from_iterable(n_super))) - - - else: - n_class = [ o for o in n_class if set(path) & set(index['Class_hierarchy'][str(o)]['Pathway']) != set() ] - n_super = [index['Class_hierarchy'][str(v)]['Superclass'] for v in n_class] - n_path = [index['Class_hierarchy'][str(v)]['Pathway'] for v in n_class] - n_path = list(set(itertools.chain.from_iterable(n_path))) - n_super = list(set(itertools.chain.from_iterable(n_super))) - - for r in path: - pathway_result.append(index_pathway[r]) - for s in n_super: - superclass_result.append(index_superclass[s]) - for t in n_class: - class_result.append(index_class[t]) - - return pathway_result,superclass_result,class_result,isglycoside #three class results and glycoside checker result (True/False) - + n_class = [p for p in n_class if path & set(index['Class_hierarchy'][str(p)]['Pathway'])] + n_super = list({index['Class_hierarchy'][str(q)]['Superclass'] for q in n_class}) + + else: + # Select all the classes that are part of our selected pathways + n_class = [m for m in n_class if set(path) & set(index['Class_hierarchy'][str(m)]['Pathway'])] + n_super = list({index['Class_hierarchy'][str(n)]['Superclass'] for n in n_class}) + n_path = list({index['Class_hierarchy'][str(v)]['Pathway'] for v in n_class}) + return path, n_super, n_class # We have to check if we want path or n_path here! diff --git a/app.py b/app.py index a629d54..2ebcb7b 100644 --- a/app.py +++ b/app.py @@ -4,22 +4,15 @@ import dash_bootstrap_components as dbc import dash_html_components as html import dash_table -import plotly.express as px from dash.dependencies import Input, Output -import os -from zipfile import ZipFile import urllib.parse from flask import Flask, request import json -import pandas as pd import requests -import numpy as np import urllib.parse -import sys -sys.path.insert(0, "Classifier") -import fingerprint_handler -import prediction_voting +from classification import classify_structure +from models import ClassifyEntity server = Flask(__name__) app = dash.Dash(__name__, server=server, external_stylesheets=[dbc.themes.BOOTSTRAP]) @@ -27,10 +20,6 @@ server = app.server - -from models import ClassifyEntity - - ontology_dictionary = json.loads(open("Classifier/dict/index_v1.json").read()) NAVBAR = dbc.Navbar( @@ -42,11 +31,14 @@ dbc.Nav( [ dbc.NavItem(dbc.NavLink("NP Classifier", href="#")), - dbc.NavItem(dbc.NavLink("Report Feedback", href="https://docs.google.com/forms/d/e/1FAIpQLSf1-sw-P0SQGokyeaOpEmLda0UPJW93qkrI8rfp7D46fHVi6g/viewform?usp=sf_link")), - dbc.NavItem(dbc.NavLink("Preprint Publication", href="https://chemrxiv.org/articles/preprint/NPClassifier_A_Deep_Neural_Network-Based_Structural_Classification_Tool_for_Natural_Products/12885494/1")), - dbc.NavItem(dbc.NavLink("API", href="https://ccms-ucsd.github.io/GNPSDocumentation/api/#structure-np-classifier")), + dbc.NavItem(dbc.NavLink("Report Feedback", + href="https://docs.google.com/forms/d/e/1FAIpQLSf1-sw-P0SQGokyeaOpEmLda0UPJW93qkrI8rfp7D46fHVi6g/viewform?usp=sf_link")), + dbc.NavItem(dbc.NavLink("Preprint Publication", + href="https://chemrxiv.org/articles/preprint/NPClassifier_A_Deep_Neural_Network-Based_Structural_Classification_Tool_for_Natural_Products/12885494/1")), + dbc.NavItem(dbc.NavLink("API", + href="https://ccms-ucsd.github.io/GNPSDocumentation/api/#structure-np-classifier")), ], - navbar=True) + navbar=True) ], color="light", dark=False, @@ -83,7 +75,7 @@ BODY = dbc.Container( [ - dbc.Row([dbc.Col(dbc.Card(DASHBOARD)),], style={"marginTop": 30}), + dbc.Row([dbc.Col(dbc.Card(DASHBOARD)), ], style={"marginTop": 30}), ], className="mt-12", ) @@ -101,44 +93,34 @@ def display_page(pathname): else: return "CC1C(O)CC2C1C(OC1OC(COC(C)=O)C(O)C(O)C1O)OC=C2C(O)=O" -# This function will rerun at any + +# This function will rerun at any @app.callback( [Output('classification_table', 'children'), Output('structure', 'children')], [Input('smiles_string', 'value')], ) def handle_smiles(smiles_string): classification_dict = _process_full_classification(smiles_string) - #isglycoside, class_results, superclass_results, pathway_results, path_from_class, path_from_superclass, n_path, fp1, fp2 = classify_structure(smiles_string) output_list = [] for result in classification_dict["pathway_results"]: - output_dict = {} - output_dict["type"] = "pathway" - output_dict["entry"] = result + output_dict = {"type": "pathway", "entry": result} output_list.append(output_dict) - for result in classification_dict["superclass_results"]: - output_dict = {} - output_dict["type"] = "superclass" - output_dict["entry"] = result + output_dict = {"type": "superclass", "entry": result} output_list.append(output_dict) - for result in classification_dict["class_results"]: - output_dict = {} - output_dict["type"] = "class" - output_dict["entry"] = result + output_dict = {"type": "class", "entry": result} output_list.append(output_dict) if classification_dict["isglycoside"]: - output_dict = {} - output_dict["type"] = "is glycoside" - output_dict["entry"] = "glycoside" + output_dict = {"type": "is glycoside", "entry": "glycoside"} output_list.append(output_dict) - #Creating Table + # Creating Table white_list_columns = ["type", "entry"] table_fig = dash_table.DataTable( columns=[ @@ -153,16 +135,18 @@ def handle_smiles(smiles_string): selected_columns=[], selected_rows=[], page_action="native", - page_current= 0, - page_size= 10, + page_current=0, + page_size=10, ) # Creating Structure Image - img_obj = html.Img(id='image', src="https://gnps-structure.ucsd.edu/structureimg?smiles={}".format(urllib.parse.quote(smiles_string))) + img_obj = html.Img(id='image', src="https://gnps-structure.ucsd.edu/structureimg?smiles={}".format( + urllib.parse.quote(smiles_string))) return [table_fig, img_obj] -# This function will rerun at any + +# This function will rerun at any @app.callback( [Output('usage_summary', 'children')], [Input('url', 'pathname')], @@ -172,84 +156,6 @@ def usage_summary(pathname): return ["Total Unique SMILES Classified - {}".format(number_entries)] -def classify_structure(smiles): - isglycoside = fingerprint_handler._isglycoside(smiles) - - fp = fingerprint_handler.calculate_fingerprint(smiles, 2) - - fp1 = fp[0].tolist()[0] - fp2 = fp[1].tolist()[0] - - query_dict = {} - query_dict["input_3"] = fp1 - query_dict["input_4"] = fp2 - - # Handling SUPERCLASS - fp_pred_url = "http://npclassifier-tf-server:8501/v1/models/SUPERCLASS:predict" - payload = json.dumps({"instances": [ query_dict ]}) - - headers = {"content-type": "application/json"} - json_response = requests.post(fp_pred_url, data=payload, headers=headers) - - pred_super = np.asarray(json.loads(json_response.text)['predictions'])[0] - n_super = list(np.where(pred_super>=0.3)[0]) - - path_from_superclass = [] - for j in n_super: - path_from_superclass += ontology_dictionary['Super_hierarchy'][str(j)]['Pathway'] - path_from_superclass = list(set(path_from_superclass)) - - query_dict = {} - query_dict["input_3"] = fp1 - query_dict["input_4"] = fp2 - - # Handling CLASS - fp_pred_url = "http://npclassifier-tf-server:8501/v1/models/CLASS:predict" - payload = json.dumps({"instances": [ query_dict ]}) - - headers = {"content-type": "application/json"} - json_response = requests.post(fp_pred_url, data=payload, headers=headers) - - pred_class = np.asarray(json.loads(json_response.text)['predictions'])[0] - n_class = list(np.where(pred_class>=0.1)[0]) - - path_from_class = [] - for j in n_class: - path_from_class += ontology_dictionary['Class_hierarchy'][str(j)]['Pathway'] - path_from_class = list(set(path_from_class)) - - query_dict = {} - query_dict["input_1"] = fp1 - query_dict["input_2"] = fp2 - - # Handling PATHWAY - fp_pred_url = "http://npclassifier-tf-server:8501/v1/models/PATHWAY:predict" - payload = json.dumps({"instances": [ query_dict ]}) - - headers = {"content-type": "application/json"} - json_response = requests.post(fp_pred_url, data=payload, headers=headers) - - pred_path = np.asarray(json.loads(json_response.text)['predictions'])[0] - n_path = list(np.where(pred_path>=0.5)[0]) - - class_result = [] - superclass_result = [] - pathway_result = [] - - # Voting on Answer - pathway_result, superclass_result, class_result, isglycoside = prediction_voting.vote_classification(n_path, - n_class, - n_super, - pred_class, - pred_super, - path_from_class, - path_from_superclass, - isglycoside, - ontology_dictionary) - - return isglycoside, class_result, superclass_result, pathway_result, path_from_class, path_from_superclass, n_path, fp1, fp2 - - def _process_full_classification(smiles_string): try: db_record = ClassifyEntity.get(ClassifyEntity.smiles == smiles_string) @@ -257,27 +163,29 @@ def _process_full_classification(smiles_string): except: pass - isglycoside, class_results, superclass_results, pathway_results, path_from_class, path_from_superclass, n_path, fp1, fp2 = classify_structure(smiles_string) + class_result, superclass_result, pathway_result, fp1, fp2, isglycoside = classify_structure(smiles_string, ontology_dictionary) + + # Next version of the API response could just output *_result directly - respond_dict = {} - respond_dict["class_results"] = class_results - respond_dict["superclass_results"] = superclass_results - respond_dict["pathway_results"] = pathway_results - respond_dict["isglycoside"] = isglycoside - - respond_dict["fp1"] = fp1 - respond_dict["fp2"] = fp2 + respond_dict = {"class_results": list(class_result.values()), + "superclass_results": list(superclass_result.values()), + "pathway_results": list(pathway_result.values()), + "class_results_ids": [int(i) for i in class_result.keys()], + "superclass_results_ids": [int(i) for i in superclass_result.keys()], + "pathway_results_ids": [int(i) for i in pathway_result.keys()], + "isglycoside": isglycoside, + "fp1": fp1, "fp2": fp2} # Lets save the result here, we should also check if its changed, and if so, we overwrite try: # Save it out ClassifyEntity.create( - smiles=smiles_string, - classification_json=json.dumps(respond_dict) - ) + smiles=smiles_string, + classification_json=json.dumps(respond_dict) + ) except: pass - + return respond_dict @@ -288,6 +196,7 @@ def classify(): return json.dumps(respond_dict) + # This gets you the model metadata @server.route("/model/metadata") def metadata(): @@ -295,7 +204,8 @@ def metadata(): all_metadata = {} pathway_metadata = json.loads(requests.get("http://npclassifier-tf-server:8501/v1/models/PATHWAY/metadata").text) class_metadata = json.loads(requests.get("http://npclassifier-tf-server:8501/v1/models/CLASS/metadata").text) - superclass_metadata = json.loads(requests.get("http://npclassifier-tf-server:8501/v1/models/SUPERCLASS/metadata").text) + superclass_metadata = json.loads( + requests.get("http://npclassifier-tf-server:8501/v1/models/SUPERCLASS/metadata").text) all_metadata["pathway"] = pathway_metadata all_metadata["class"] = class_metadata @@ -303,5 +213,6 @@ def metadata(): return json.dumps(all_metadata) + if __name__ == "__main__": app.run_server(debug=True, port=5000, host="0.0.0.0") diff --git a/classification.py b/classification.py new file mode 100644 index 0000000..59bd8b4 --- /dev/null +++ b/classification.py @@ -0,0 +1,82 @@ +# -*- coding: utf-8 -*- + +import json + +import requests +import numpy as np +from Classifier import fingerprint_handler +from Classifier import prediction_voting + + +def classify_structure(smiles, ontology_dictionary): + isglycoside = fingerprint_handler._isglycoside(smiles) + + fp = fingerprint_handler.calculate_fingerprint(smiles, 2) + + fp1 = fp[0].tolist()[0] + fp2 = fp[1].tolist()[0] + + query_dict = {"input_3": fp1, "input_4": fp2} + + # Handling SUPERCLASS + fp_pred_url = "http://npclassifier-tf-server:8501/v1/models/SUPERCLASS:predict" + payload = json.dumps({"instances": [query_dict]}) + + headers = {"content-type": "application/json"} + json_response = requests.post(fp_pred_url, data=payload, headers=headers) + + pred_super = np.asarray(json.loads(json_response.text)['predictions'])[0] + n_super = set(np.where(pred_super >= 0.3)[0]) + + path_from_superclass = {j for i in n_super for j in ontology_dictionary['Super_hierarchy'][str(i)]['Pathway']} + + query_dict = {"input_3": fp1, "input_4": fp2} + + # Handling CLASS + fp_pred_url = "http://npclassifier-tf-server:8501/v1/models/CLASS:predict" + payload = json.dumps({"instances": [query_dict]}) + + headers = {"content-type": "application/json"} + json_response = requests.post(fp_pred_url, data=payload, headers=headers) + + pred_class = np.asarray(json.loads(json_response.text)['predictions'])[0] + n_class = set(np.where(pred_class >= 0.1)[0]) + + path_from_class = {j for i in n_class for j in ontology_dictionary['Class_hierarchy'][str(i)]['Pathway']} + + query_dict = {"input_1": fp1, "input_2": fp2} + + # Handling PATHWAY + fp_pred_url = "http://npclassifier-tf-server:8501/v1/models/PATHWAY:predict" + payload = json.dumps({"instances": [query_dict]}) + + headers = {"content-type": "application/json"} + json_response = requests.post(fp_pred_url, data=payload, headers=headers) + + pred_path = np.asarray(json.loads(json_response.text)['predictions'])[0] + n_path = set(np.where(pred_path >= 0.5)[0]) + + # Voting on Answer + # + # pred_path, pred_super, pred_class are the nparrays of the totality of the predicted + # n_path, n_class, n_super are sets of the predicted pathways, classes and superclasses that are above noise + # path_from_class, path_from_superclass are sets of the pathways extracted from the superclasses/classes + n_pathway_result, n_superclass_result, n_class_result = prediction_voting.vote_classification(n_path, + n_class, + n_super, + pred_class, + pred_super, + path_from_class, + path_from_superclass, + ontology_dictionary) + + # Get all the existing things of the ontology + index_class = list(ontology_dictionary['Class'].keys()) + index_superclass = list(ontology_dictionary['Superclass'].keys()) + index_pathway = list(ontology_dictionary['Pathway'].keys()) + + class_result = {i: index_class[i] for i in n_class_result} + superclass_result = {i: index_superclass[i] for i in n_superclass_result} + pathway_result = {i: index_pathway[i] for i in n_pathway_result} + + return class_result, superclass_result, pathway_result, fp1, fp2, isglycoside