Mercurial > repos > bimib > marea
changeset 16:c71ac0bb12de draft
Uploaded
author | bimib |
---|---|
date | Tue, 01 Oct 2019 06:05:13 -0400 |
parents | d0e7f14b773f |
children | 640f303d0cec |
files | Marea/local/desktop.ini Marea/marea.py Marea/marea.xml Marea/marea_cluster.py Marea/marea_cluster.xml marea-1.0.1/local/HMRcoreMap.svg marea-1.0.1/local/HMRcore_genes.p marea-1.0.1/local/HMRcore_rules.p marea-1.0.1/local/Recon_genes.p marea-1.0.1/local/Recon_rules.p marea-1.0.1/local/desktop.ini marea-1.0.1/marea.py marea-1.0.1/marea.xml marea-1.0.1/marea_cluster.py marea-1.0.1/marea_cluster.xml marea-1.0.1/marea_macros.xml |
diffstat | 16 files changed, 776 insertions(+), 10295 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Marea/local/desktop.ini Tue Oct 01 06:05:13 2019 -0400 @@ -0,0 +1,6 @@ +[.ShellClassInfo] +IconResource=C:\WINDOWS\System32\SHELL32.dll,4 +[ViewState] +Mode= +Vid= +FolderType=Generic
--- a/Marea/marea.py Tue Oct 01 06:03:12 2019 -0400 +++ b/Marea/marea.py Tue Oct 01 06:05:13 2019 -0400 @@ -1,4 +1,3 @@ - from __future__ import division import sys import pandas as pd @@ -6,6 +5,7 @@ import scipy.stats as st import collections import lxml.etree as ET +import shutil import pickle as pk import math import os @@ -13,7 +13,7 @@ from svglib.svglib import svg2rlg from reportlab.graphics import renderPDF -########################## argparse ########################################### +########################## argparse ########################################## def process_args(args): parser = argparse.ArgumentParser(usage = '%(prog)s [options]', @@ -71,6 +71,21 @@ type = str, choices = ['yes', 'no'], help = 'if make or not custom map') + parser.add_argument('-gs', '--generate_svg', + type = str, + default = 'true', + choices = ['true', 'false'], + help = 'generate svg map') + parser.add_argument('-gp', '--generate_pdf', + type = str, + default = 'true', + choices = ['true', 'false'], + help = 'generate pdf map') + parser.add_argument('-gr', '--generate_ras', + type = str, + default = 'true', + choices = ['true', 'false'], + help = 'generate reaction activity score') args = parser.parse_args() return args @@ -85,7 +100,7 @@ def read_dataset(data, name): try: - dataset = pd.read_csv(data, sep = '\t', header = 0) + dataset = pd.read_csv(data, sep = '\t', header = 0, engine='python') except pd.errors.EmptyDataError: sys.exit('Execution aborted: wrong format of ' + name + '\n') if len(dataset.columns) < 2: @@ -536,7 +551,7 @@ ids = [react[i].id for i in range(len(react))] except cb.io.sbml3.CobraSBMLError: try: - data = (pd.read_csv(data, sep = '\t', dtype = str)).fillna('') + data = (pd.read_csv(data, sep = '\t', dtype = str, engine='python')).fillna('') if len(data.columns) < 2: sys.exit('Execution aborted: wrong format of '+ 'custom datarules\n') @@ -641,9 +656,28 @@ ', the class has been disregarded\n') return class_pat +############################ create_ras ####################################### + +def create_ras (resolve_rules, dataset_name): + + if resolve_rules == None: + warning("Couldn't generate RAS for current dataset: " + dataset_name) + + for geni in resolve_rules.values(): + for i, valori in enumerate(geni): + if valori == None: + geni[i] = 'None' + + output_ras = pd.DataFrame.from_dict(resolve_rules) + output_to_csv = pd.DataFrame.to_csv(output_ras, sep = '\t', index = False) + + text_file = open("ras/Reaction_Activity_Score_Of_" + dataset_name + ".tsv", "w") + text_file.write(output_to_csv) + text_file.close() + ############################ map ############################################## -def maps(core_map, class_pat, ids, threshold_P_V, threshold_F_C): +def maps(core_map, class_pat, ids, threshold_P_V, threshold_F_C, create_svg, create_pdf): args = process_args(sys.argv) if (not class_pat) or (len(class_pat.keys()) < 2): sys.exit('Execution aborted: classes provided for comparisons are ' + @@ -663,52 +697,81 @@ count += 1 except (TypeError, ZeroDivisionError): count += 1 - tab = 'table_out/' + i + '_vs_' + j + '.tsv' + tab = 'result/' + i + '_vs_' + j + ' (Tabular Result).tsv' tmp_csv = pd.DataFrame.from_dict(tmp, orient = "index") tmp_csv = tmp_csv.reset_index() header = ['ids', 'P_Value', 'Average'] tmp_csv.to_csv(tab, sep = '\t', index = False, header = header) - if args.rules_selector == 'HMRcore' or (args.rules_selector == 'Custom' - and args.yes_no == 'yes'): - fix_map(tmp, core_map, threshold_P_V, threshold_F_C, max_F_C) - file_svg = 'map_svg/' + i + '_vs_' + j + '.svg' - with open(file_svg, 'wb') as new_map: - new_map.write(ET.tostring(core_map, encoding='UTF-8', - method='xml')) - file_pdf = 'map_pdf/' + i + '_vs_' + j + '.pdf' - renderPDF.drawToFile(svg2rlg(file_svg), file_pdf) + + if create_svg or create_pdf: + if args.rules_selector == 'HMRcore' or (args.rules_selector == 'Custom' + and args.yes_no == 'yes'): + fix_map(tmp, core_map, threshold_P_V, threshold_F_C, max_F_C) + file_svg = 'result/' + i + '_vs_' + j + ' (SVG Map).svg' + with open(file_svg, 'wb') as new_map: + new_map.write(ET.tostring(core_map)) + + + if create_pdf: + file_pdf = 'result/' + i + '_vs_' + j + ' (PDF Map).pdf' + renderPDF.drawToFile(svg2rlg(file_svg), file_pdf) + + if not create_svg: + #Ho utilizzato il file svg per generare il pdf, + #ma l'utente non ne ha richiesto il ritorno, quindi + #lo elimino + os.remove('result/' + i + '_vs_' + j + ' (SVG Map).svg') + return None ############################ MAIN ############################################# def main(): args = process_args(sys.argv) - os.makedirs('table_out') - if args.rules_selector == 'HMRcore': - os.makedirs('map_svg') - os.makedirs('map_pdf') + + create_svg = check_bool(args.generate_svg) + create_pdf = check_bool(args.generate_pdf) + generate_ras = check_bool(args.generate_ras) + + os.makedirs('result') + + if generate_ras: + os.makedirs('ras') + + if args.rules_selector == 'HMRcore': recon = pk.load(open(args.tool_dir + '/local/HMRcore_rules.p', 'rb')) elif args.rules_selector == 'Recon': recon = pk.load(open(args.tool_dir + '/local/Recon_rules.p', 'rb')) elif args.rules_selector == 'Custom': ids, rules, gene_in_rule = make_recon(args.custom) + resolve_none = check_bool(args.none) + class_pat = {} + if args.option == 'datasets': num = 1 - #if len(args.names) != len(set(args.names)): - # sys.exit('Execution aborted: datasets name duplicated') for i, j in zip(args.input_datas, args.names): + name = name_dataset(j, num) dataset = read_dataset(i, name) + dataset.iloc[:, 0] = (dataset.iloc[:, 0]).astype(str) - type_gene = gene_type(dataset.iloc[0, 0], name) + + type_gene = gene_type(dataset.iloc[0, 0], name) + if args.rules_selector != 'Custom': genes = data_gene(dataset, type_gene, name, None) ids, rules = load_id_rules(recon.get(type_gene)) elif args.rules_selector == 'Custom': genes = data_gene(dataset, type_gene, name, gene_in_rule) + resolve_rules, err = resolve(genes, rules, ids, resolve_none, name) + + if generate_ras: + create_ras(resolve_rules, name) + + if err != None and err: warning('Warning: gene\n' + str(err) + '\nnot found in class ' + name + ', the expression level for this gene ' + @@ -738,10 +801,9 @@ 'will be considered NaN\n') if resolve_rules != None: class_pat = split_class(classes, resolve_rules) + if args.rules_selector == 'Custom': if args.yes_no == 'yes': - os.makedirs('map_svg') - os.makedirs('map_pdf') try: core_map = ET.parse(args.custom_map) except (ET.XMLSyntaxError, ET.XMLSchemaParseError): @@ -750,8 +812,11 @@ core_map = ET.parse(args.tool_dir + '/local/HMRcoreMap.svg') else: core_map = ET.parse(args.tool_dir+'/local/HMRcoreMap.svg') - maps(core_map, class_pat, ids, args.pValue, args.fChange) - warning('Execution succeeded') + + maps(core_map, class_pat, ids, args.pValue, args.fChange, create_svg, create_pdf) + + print('Execution succeded') + return None ###############################################################################
--- a/Marea/marea.xml Tue Oct 01 06:03:12 2019 -0400 +++ b/Marea/marea.xml Tue Oct 01 06:05:13 2019 -0400 @@ -1,200 +1,223 @@ -<tool id="MaREA" name="Metabolic Enrichment Analysis" version="1.0.0"> - <description>for Galaxy</description> - <macros> - <import>marea_macros.xml</import> - </macros> - <requirements> - <requirement type="package" version="0.23.0">pandas</requirement> - <requirement type="package" version="1.1.0">scipy</requirement> - <requirement type="package" version="0.10.1">cobra</requirement> - <requirement type="package" version="4.2.1">lxml</requirement> - <requirement type="package" version="0.8.1">svglib</requirement> - <requirement type="package" version="3.4.0">reportlab</requirement> - </requirements> - <command detect_errors="exit_code"> - <![CDATA[ - python $__tool_directory__/marea.py - --rules_selector $cond_rule.rules_selector - #if $cond_rule.rules_selector == 'Custom': - --custom ${cond_rule.Custom_rules} - --yes_no ${cond_rule.cond_map.yes_no} - #if $cond_rule.cond_map.yes_no == 'yes': - --custom_map $cond_rule.cond_map.Custom_map - #end if - #end if - --none $None - --pValue $pValue - --fChange $fChange - --tool_dir $__tool_directory__ - --option $cond.type_selector - --out_log $log - #if $cond.type_selector == 'datasets': - --input_datas - #for $data in $cond.input_Datasets: - ${data.input} - #end for - --names - #for $data in $cond.input_Datasets: - ${data.input_name} - #end for - #elif $cond.type_selector == 'dataset_class': - --input_data ${input_data} - --input_class ${input_class} - #end if - ]]> - </command> - - <inputs> - <conditional name="cond_rule"> - <expand macro="options"/> - <when value="HMRcore"> - </when> - <when value="Recon"> - </when> - <when value="Custom"> - <param name="Custom_rules" type="data" format="tabular, csv, tsv, xml" label="Custom rules" /> - <conditional name="cond_map"> - <param name="yes_no" type="select" label="Custom map? (optional)"> - <option value="no" selected="true">no</option> - <option value="yes">yes</option> - </param> - <when value="yes"> - <param name="Custom_map" argument="--custom_map" type="data" format="xml, svg" label="custom-map.svg"/> - </when> - <when value="no"> - </when> - </conditional> - </when> - </conditional> - <conditional name="cond"> - <param name="type_selector" argument="--option" type="select" label="Input format:"> - <option value="datasets" selected="true">RNAseq of group 1 + RNAseq of group 2 + ... + RNAseq of group N</option> - <option value="dataset_class">RNAseq of all samples + sample group specification</option> - </param> - <when value="datasets"> - <repeat name="input_Datasets" title="RNAseq" min="2"> - <param name="input" argument="--input_datas" type="data" format="tabular, csv, tsv" label="add dataset" /> - <param name="input_name" argument="--names" type="text" label="Dataset's name:" value="Dataset" help="Defalut: Dataset" /> - </repeat> - </when> - <when value="dataset_class"> - <param name="input_data" argument="--input_data" type="data" format="tabular, csv, tsv" label="RNAseq of all samples" /> - <param name="input_class" argument="--input_class" type="data" format="tabular, csv, tsv" label="Sample group specification" /> - </when> - </conditional> - <param name="None" argument="--none" type="boolean" truevalue="true" falsevalue="false" checked="true" label="(A and NaN) solved as (A)?" /> - <param name="pValue" argument="--pValue" type="float" size="20" value="0.05" max="1" min="0" label="P-value threshold:" help="min value 0" /> - <param name="fChange" argument="--fChange" type="float" size="20" value="1.5" min="1" label="Fold-Change threshold:" help="min value 1" /> - </inputs> - - <outputs> - <data format="txt" name="log" label="Log" /> - <collection name="map_svg" type="list" label="Graphical results (.svg)"> - <filter>(cond_rule['rules_selector'] == 'HMRcore') or ((cond_rule['rules_selector'] == 'Custom') and (cond_rule['cond_map']['yes_no'] == 'yes'))</filter> - <discover_datasets pattern="__name_and_ext__" directory="map_svg" /> - </collection> - <collection name="map_pdf" type="list" label="Graphical results (.pdf)"> - <filter>(cond_rule['rules_selector'] == 'HMRcore') or ((cond_rule['rules_selector'] == 'Custom') and (cond_rule['cond_map']['yes_no'] == 'yes'))</filter> - <discover_datasets pattern="__name_and_ext__" directory="map_pdf" /> - </collection> - <collection name="table_out" type="list" label="Tabular results"> - <discover_datasets pattern="__name_and_ext__" directory="table_out" /> - </collection> - </outputs> - <tests> - <test> - <param name="pValue" value="0.56"/> - <output name="log" file="log.txt"/> - </test> - </tests> - <help> -<![CDATA[ - -What it does -------------- - -This tool analyzes RNA-seq dataset(s) as described in Graudenzi et al."`MaREA`_: Metabolic feature extraction, enrichment and visualization of RNAseq data" bioRxiv (2018): 248724. - -Accepted files are: - - option 1) two or more RNA-seq datasets, each referring to samples in a given condition/class. The user can specify a label for each class (as e.g. "*classA*" and "*classB*"); - - option 2) one RNA dataset and one class-file specifying the class/condition each sample belongs to. - -Optional files: - - custom GPR (Gene-Protein-Reaction) rules. Two accepted formats: - - * (Cobra Toolbox and CobraPy compliant) xml of metabolic model; - * .csv file specifyig for each reaction ID (column 1) the corresponding GPR rule (column 2). - - custom svg map. Graphical elements must have the same IDs of reactions. See HmrCore svg map for an example. - -The tool generates: - 1) a tab-separated file: reporting fold-change and p-values of reaction activity scores (RASs) between a pair of conditions/classes; - 2) a metabolic map file (downlodable as .svg): visualizing up- and down-regulated reactions between a pair of conditions/classes; - 3) a log file (.txt). - -RNA-seq datasets format: tab-separated text files, reporting the expression level (e.g., TPM, RPKM, ...) of each gene (row) for a given sample (column). Header: sample ID. - -Class-file format: each row of the class-file reports the sample ID (column1) and the label of the class/condition the sample belongs to (column 2). - -To calculate P-Values and Fold-Changes and to generate maps, comparisons are performed for each possible pair of classes. - -Output files will be named as classA_vs_classB. Reactions will conventionally be reported as up-regulated (down-regulated) if they are significantly more (less) active in class having label "classA". - - -Example input -------------- - -**"Custom Rules"** option: - -Custom Rules Dastaset: - -@CUSTOM_RULES_EXEMPLE@ - -**"RNAseq of group 1 + RNAseq of group 2 + ... + RNAseq of group N"** option: - -RNA-seq Dataset 1: - -@DATASET_EXEMPLE1@ - -RNA-seq Dataset 2: - -@DATASET_EXEMPLE2@ - -**"RNAseq of all samples + sample group specification"** option: - -RNA-seq Dataset: - -@DATASET_EXEMPLE1@ - -Class-file: - -+------------+------------+ -| Patient_ID | class | -+============+============+ -| TCGAAA3529 | MSI | -+------------+------------+ -| TCGAA62671 | MSS | -+------------+------------+ -| TCGAA62672 | MSI | -+------------+------------+ - -| - -.. class:: infomark - -**TIP**: If your data is not TAB delimited, use `Convert delimiters to TAB`_. - -.. class:: infomark - -**TIP**: If your dataset is not split into classes, use `MaREA cluster analysis`_. - -@REFERENCE@ - -.. _MaREA: https://www.biorxiv.org/content/early/2018/01/16/248724 -.. _Convert delimiters to TAB: https://usegalaxy.org/?tool_id=Convert+characters1&version=1.0.0&__identifer=6t22teyofhj -.. _MaREA cluster analysis: http://link del tool di cluster.org - -]]> - </help> - <expand macro="citations" /> -</tool> - +<tool id="MaREA" name="Metabolic Enrichment Analysis" version="1.0.1"> + <description>for Galaxy - 1.0.1</description> + <macros> + <import>marea_macros.xml</import> + </macros> + <requirements> + <requirement type="package" version="0.23.0">pandas</requirement> + <requirement type="package" version="1.1.0">scipy</requirement> + <requirement type="package" version="0.10.1">cobra</requirement> + <requirement type="package" version="4.2.1">lxml</requirement> + <requirement type="package" version="0.8.1">svglib</requirement> + <requirement type="package" version="3.4.0">reportlab</requirement> + </requirements> + <command detect_errors="exit_code"> + <![CDATA[ + python $__tool_directory__/marea.py + --rules_selector $cond_rule.rules_selector + #if $cond_rule.rules_selector == 'Custom': + --custom ${cond_rule.Custom_rules} + --yes_no ${cond_rule.cond_map.yes_no} + #if $cond_rule.cond_map.yes_no == 'yes': + --custom_map $cond_rule.cond_map.Custom_map + #end if + #end if + #if $advanced.choice == 'true': + --none ${advanced.None} + --pValue ${advanced.pValue} + --fChange ${advanced.fChange} + --generate_svg ${advanced.generateSvg} + --generate_pdf ${advanced.generatePdf} + --generate_ras ${advanced.generateRas} + #else + --none true + --pValue 0.05 + --fChange 1.5 + --generate_svg false + --generate_pdf true + --generate_ras false + #end if + --tool_dir $__tool_directory__ + --option $cond.type_selector + --out_log $log + + #if $cond.type_selector == 'datasets': + --input_datas + #for $data in $cond.input_Datasets: + ${data.input} + #end for + --names + #for $data in $cond.input_Datasets: + ${data.input_name} + #end for + #elif $cond.type_selector == 'dataset_class': + --input_data ${input_data} + --input_class ${input_class} + #end if + ]]> + </command> + + <inputs> + <conditional name="cond_rule"> + <expand macro="options"/> + <when value="HMRcore"> + </when> + <when value="Recon"> + </when> + <when value="Custom"> + <param name="Custom_rules" type="data" format="tabular, csv, tsv, xml" label="Custom rules" /> + <conditional name="cond_map"> + <param name="yes_no" type="select" label="Custom map? (optional)"> + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="yes"> + <param name="Custom_map" argument="--custom_map" type="data" format="xml, svg" label="custom-map.svg"/> + </when> + <when value="no"> + </when> + </conditional> + </when> + </conditional> + <conditional name="cond"> + <param name="type_selector" argument="--option" type="select" label="Input format:"> + <option value="datasets" selected="true">RNAseq of group 1 + RNAseq of group 2 + ... + RNAseq of group N</option> + <option value="dataset_class">RNAseq of all samples + sample group specification</option> + </param> + <when value="datasets"> + <repeat name="input_Datasets" title="RNAseq" min="2"> + <param name="input" argument="--input_datas" type="data" format="tabular, csv, tsv" label="add dataset" /> + <param name="input_name" argument="--names" type="text" label="Dataset's name:" value="Dataset" help="Default: Dataset" /> + </repeat> + </when> + <when value="dataset_class"> + <param name="input_data" argument="--input_data" type="data" format="tabular, csv, tsv" label="RNAseq of all samples" /> + <param name="input_class" argument="--input_class" type="data" format="tabular, csv, tsv" label="Sample group specification" /> + </when> + </conditional> + + <conditional name="advanced"> + <param name="choice" type="boolean" checked="false" label="Use advanced options?" help="Use this options to choose custom rules for evaluation: pValue, Fold-Change threshold, how to solve (A and NaN) and specify output maps."> + <option value="true" selected="true">No</option> + <option value="false">Yes</option> + </param> + <when value="false"> + </when> + <when value="true"> + <param name="None" argument="--none" type="boolean" truevalue="true" falsevalue="false" checked="true" label="(A and NaN) solved as (A)?" /> + <param name="pValue" argument="--pValue" type="float" size="20" value="0.05" max="1" min="0" label="P-value threshold:" help="min value 0" /> + <param name="fChange" argument="--fChange" type="float" size="20" value="1.5" min="1" label="Fold-Change threshold:" help="min value 1" /> + <param name="generateSvg" argument="--generateSvg" type="boolean" checked="false" label="Generate SVG map" help="should the program generate an editable svg map of the processes?" /> + <param name="generatePdf" argument="--generatePdf" type="boolean" checked="true" label="Generate PDF map" help="should the program return a non editable (but displayble) pdf map of the processes?" /> + <param name="generateRas" argument="--generateRas" type="boolean" checked="false" label="Generate Reaction Activity Score for each table" help="Generate Reaction Activity Score for each table" /> + </when> + </conditional> + </inputs> + + <outputs> + <data format="txt" name="log" label="${tool.name} - Log" /> + <collection name="results" type="list" label="${tool.name} - Results"> + <discover_datasets pattern="__name_and_ext__" directory="result"/> + </collection> + <collection name="ras" type="list" label="${tool.name} - RAS" format_source="tabular"> + <filter>advanced['choice'] and advanced['generateRas']</filter> + <discover_datasets pattern="__name_and_ext__" directory="ras" format="tabular"/> + </collection> + </outputs> + <tests> + <test> + <param name="pValue" value="0.56"/> + <output name="log" file="log.txt"/> + </test> + </tests> + <help> +<![CDATA[ + +What it does +------------- + +This tool analyzes RNA-seq dataset(s) as described in Graudenzi et al."`MaREA`_: Metabolic feature extraction, enrichment and visualization of RNAseq data" bioRxiv (2018): 248724. + +Accepted files are: + - option 1) two or more RNA-seq datasets, each referring to samples in a given condition/class. The user can specify a label for each class (as e.g. "*classA*" and "*classB*"); + - option 2) one RNA dataset and one class-file specifying the class/condition each sample belongs to. + +Optional files: + - custom GPR (Gene-Protein-Reaction) rules. Two accepted formats: + + * (Cobra Toolbox and CobraPy compliant) xml of metabolic model; + * .csv file specifyig for each reaction ID (column 1) the corresponding GPR rule (column 2). + - custom svg map. Graphical elements must have the same IDs of reactions. See HmrCore svg map for an example. + +The tool generates: + 1) a tab-separated file: reporting fold-change and p-values of reaction activity scores (RASs) between a pair of conditions/classes; + 2) a metabolic map file (downlodable as .svg): visualizing up- and down-regulated reactions between a pair of conditions/classes; + 3) a log file (.txt). + +RNA-seq datasets format: tab-separated text files, reporting the expression level (e.g., TPM, RPKM, ...) of each gene (row) for a given sample (column). Header: sample ID. + +Class-file format: each row of the class-file reports the sample ID (column1) and the label of the class/condition the sample belongs to (column 2). + +To calculate P-Values and Fold-Changes and to generate maps, comparisons are performed for each possible pair of classes. + +Output files will be named as classA_vs_classB. Reactions will conventionally be reported as up-regulated (down-regulated) if they are significantly more (less) active in class having label "classA". + + +Example input +------------- + +**"Custom Rules"** option: + +Custom Rules Dastaset: + +@CUSTOM_RULES_EXEMPLE@ + +**"RNAseq of group 1 + RNAseq of group 2 + ... + RNAseq of group N"** option: + +RNA-seq Dataset 1: + +@DATASET_EXEMPLE1@ + +RNA-seq Dataset 2: + +@DATASET_EXEMPLE2@ + +**"RNAseq of all samples + sample group specification"** option: + +RNA-seq Dataset: + +@DATASET_EXEMPLE1@ + +Class-file: + ++------------+------------+ +| Patient_ID | class | ++============+============+ +| TCGAAA3529 | MSI | ++------------+------------+ +| TCGAA62671 | MSS | ++------------+------------+ +| TCGAA62672 | MSI | ++------------+------------+ + +| + +.. class:: infomark + +**TIP**: If your data is not TAB delimited, use `Convert delimiters to TAB`_. + +.. class:: infomark + +**TIP**: If your dataset is not split into classes, use `MaREA cluster analysis`_. + +@REFERENCE@ + +.. _MaREA: https://www.biorxiv.org/content/early/2018/01/16/248724 +.. _Convert delimiters to TAB: https://usegalaxy.org/?tool_id=Convert+characters1&version=1.0.0&__identifer=6t22teyofhj +.. _MaREA cluster analysis: http://link del tool di cluster.org + +]]> + </help> + <expand macro="citations" /> +</tool> +
--- a/Marea/marea_cluster.py Tue Oct 01 06:03:12 2019 -0400 +++ b/Marea/marea_cluster.py Tue Oct 01 06:05:13 2019 -0400 @@ -1,67 +1,84 @@ -from __future__ import division -import os +# -*- coding: utf-8 -*- +""" +Created on Mon Jun 3 19:51:00 2019 + +@author: Narger +""" + import sys -import pandas as pd -import collections -import pickle as pk import argparse -from sklearn.cluster import KMeans -import matplotlib -# Force matplotlib to not use any Xwindows backend. -matplotlib.use('Agg') +import os +from sklearn.datasets import make_blobs +from sklearn.cluster import KMeans, DBSCAN, AgglomerativeClustering +from sklearn.metrics import silhouette_samples, silhouette_score, davies_bouldin_score, cluster import matplotlib.pyplot as plt +import scipy.cluster.hierarchy as shc +import matplotlib.cm as cm +import numpy as np +import pandas as pd -########################## argparse ########################################### +################################# process args ############################### def process_args(args): parser = argparse.ArgumentParser(usage = '%(prog)s [options]', description = 'process some value\'s' + ' genes to create class.') - parser.add_argument('-rs', '--rules_selector', + + parser.add_argument('-ol', '--out_log', + help = "Output log") + + parser.add_argument('-in', '--input', type = str, - default = 'HMRcore', - choices = ['HMRcore', 'Recon', 'Custom'], - help = 'chose which type of dataset you want use') - parser.add_argument('-cr', '--custom', + help = 'input dataset') + + parser.add_argument('-cy', '--cluster_type', type = str, - help='your dataset if you want custom rules') - parser.add_argument('-ch', '--cond_hier', - type = str, - default = 'no', - choices = ['no', 'yes'], - help = 'chose if you wanna hierical dendrogram') - parser.add_argument('-lk', '--k_min', + choices = ['kmeans', 'meanshift', 'dbscan', 'hierarchy'], + default = 'kmeans', + help = 'choose clustering algorythm') + + parser.add_argument('-k1', '--k_min', + type = int, + default = 2, + help = 'choose minimun cluster number to be generated') + + parser.add_argument('-k2', '--k_max', type = int, - help = 'min number of cluster') - parser.add_argument('-uk', '--k_max', - type = int, - help = 'max number of cluster') - parser.add_argument('-li', '--linkage', - type = str, - choices = ['single', 'complete', 'average'], - help='linkage hierarchical cluster') - parser.add_argument('-d', '--data', + default = 7, + help = 'choose maximum cluster number to be generated') + + parser.add_argument('-el', '--elbow', + type = str, + default = 'false', + choices = ['true', 'false'], + help = 'choose if you want to generate an elbow plot for kmeans') + + parser.add_argument('-si', '--silhouette', type = str, - required = True, - help = 'input dataset') - parser.add_argument('-n', '--none', + default = 'false', + choices = ['true', 'false'], + help = 'choose if you want silhouette plots') + + parser.add_argument('-db', '--davies', type = str, - default = 'true', - choices = ['true', 'false'], - help = 'compute Nan values') + default = 'false', + choices = ['true', 'false'], + help = 'choose if you want davies bouldin scores') + parser.add_argument('-td', '--tool_dir', type = str, required = True, help = 'your tool directory') - parser.add_argument('-na', '--name', - type = str, - help = 'name of dataset') - parser.add_argument('-de', '--dendro', - help = "Dendrogram out") - parser.add_argument('-ol', '--out_log', - help = "Output log") - parser.add_argument('-el', '--elbow', - help = "Out elbow") + + parser.add_argument('-ms', '--min_samples', + type = int, + help = 'min samples for dbscan (optional)') + + parser.add_argument('-ep', '--eps', + type = int, + help = 'eps for dbscan (optional)') + + args = parser.parse_args() return args @@ -70,548 +87,331 @@ def warning(s): args = process_args(sys.argv) with open(args.out_log, 'a') as log: - log.write(s) - -############################ dataset input #################################### + log.write(s + "\n\n") + print(s) -def read_dataset(data, name): +########################## read dataset ###################################### + +def read_dataset(dataset): try: - dataset = pd.read_csv(data, sep = '\t', header = 0) + dataset = pd.read_csv(dataset, sep = '\t', header = 0) except pd.errors.EmptyDataError: - sys.exit('Execution aborted: wrong format of '+name+'\n') + sys.exit('Execution aborted: wrong format of dataset\n') if len(dataset.columns) < 2: - sys.exit('Execution aborted: wrong format of '+name+'\n') + sys.exit('Execution aborted: wrong format of dataset\n') + return dataset + +############################ rewrite_input ################################### + +def rewrite_input(dataset): + #Riscrivo il dataset come dizionario di liste, + #non come dizionario di dizionari + + for key, val in dataset.items(): + l = [] + for i in val: + if i == 'None': + l.append(None) + else: + l.append(float(i)) + + dataset[key] = l + return dataset -############################ dataset name ##################################### - -def name_dataset(name_data, count): - if str(name_data) == 'Dataset': - return str(name_data) + '_' + str(count) - else: - return str(name_data) +############################## write to csv ################################## -############################ load id e rules ################################## - -def load_id_rules(reactions): - ids, rules = [], [] - for key, value in reactions.items(): - ids.append(key) - rules.append(value) - return (ids, rules) - -############################ check_methods #################################### - -def gene_type(l, name): - if check_hgnc(l): - return 'hugo_id' - elif check_ensembl(l): - return 'ensembl_gene_id' - elif check_symbol(l): - return 'symbol' - elif check_entrez(l): - return 'entrez_id' - else: - sys.exit('Execution aborted:\n' + - 'gene ID type in ' + name + ' not supported. Supported ID' + - 'types are: HUGO ID, Ensemble ID, HUGO symbol, Entrez ID\n') - -def check_hgnc(l): - if len(l) > 5: - if (l.upper()).startswith('HGNC:'): - return l[5:].isdigit() - else: - return False - else: - return False - -def check_ensembl(l): - if len(l) == 15: - if (l.upper()).startswith('ENS'): - return l[4:].isdigit() - else: - return False - else: - return False - -def check_symbol(l): - if len(l) > 0: - if l[0].isalpha() and l[1:].isalnum(): - return True - else: - return False - else: - return False +def write_to_csv (dataset, labels, name): + list_labels = labels + list_values = dataset -def check_entrez(l): - if len(l) > 0: - return l.isdigit() - else: - return False - -def check_bool(b): - if b == 'true': - return True - elif b == 'false': - return False + list_values = list_values.tolist() + d = {'Label' : list_labels, 'Value' : list_values} -############################ make recon ####################################### - -def check_and_doWord(l): - tmp = [] - tmp_genes = [] - count = 0 - while l: - if count >= 0: - if l[0] == '(': - count += 1 - tmp.append(l[0]) - l.pop(0) - elif l[0] == ')': - count -= 1 - tmp.append(l[0]) - l.pop(0) - elif l[0] == ' ': - l.pop(0) - else: - word = [] - while l: - if l[0] in [' ', '(', ')']: - break - else: - word.append(l[0]) - l.pop(0) - word = ''.join(word) - tmp.append(word) - if not(word in ['or', 'and']): - tmp_genes.append(word) - else: - return False - if count == 0: - return (tmp, tmp_genes) - else: - return False - -def brackets_to_list(l): - tmp = [] - while l: - if l[0] == '(': - l.pop(0) - tmp.append(resolve_brackets(l)) - else: - tmp.append(l[0]) - l.pop(0) - return tmp + df = pd.DataFrame(d, columns=['Value','Label']) -def resolve_brackets(l): - tmp = [] - while l[0] != ')': - if l[0] == '(': - l.pop(0) - tmp.append(resolve_brackets(l)) - else: - tmp.append(l[0]) - l.pop(0) - l.pop(0) - return tmp + dest = name + '.tsv' + df.to_csv(dest, sep = '\t', index = False, + header = ['Value', 'Label']) + +########################### trova il massimo in lista ######################## +def max_index (lista): + best = -1 + best_index = 0 + for i in range(len(lista)): + if lista[i] > best: + best = lista [i] + best_index = i + + return best_index + +################################ kmeans ##################################### + +def kmeans (k_min, k_max, dataset, elbow, silhouette, davies): + if not os.path.exists('clustering/kmeans_output'): + os.makedirs('clustering/kmeans_output') + + + if elbow == 'true': + elbow = True + else: + elbow = False + + if silhouette == 'true': + silhouette = True + else: + silhouette = False + + if davies == 'true': + davies = True + else: + davies = False + -def priorityAND(l): - tmp = [] - flag = True - while l: - if len(l) == 1: - if isinstance(l[0], list): - tmp.append(priorityAND(l[0])) - else: - tmp.append(l[0]) - l = l[1:] - elif l[0] == 'or': - tmp.append(l[0]) - flag = False - l = l[1:] - elif l[1] == 'or': - if isinstance(l[0], list): - tmp.append(priorityAND(l[0])) - else: - tmp.append(l[0]) - tmp.append(l[1]) - flag = False - l = l[2:] - elif l[1] == 'and': - tmpAnd = [] - if isinstance(l[0], list): - tmpAnd.append(priorityAND(l[0])) - else: - tmpAnd.append(l[0]) - tmpAnd.append(l[1]) - if isinstance(l[2], list): - tmpAnd.append(priorityAND(l[2])) - else: - tmpAnd.append(l[2]) - l = l[3:] - while l: - if l[0] == 'and': - tmpAnd.append(l[0]) - if isinstance(l[1], list): - tmpAnd.append(priorityAND(l[1])) - else: - tmpAnd.append(l[1]) - l = l[2:] - elif l[0] == 'or': - flag = False - break - if flag == True: #se ci sono solo AND nella lista - tmp.extend(tmpAnd) - elif flag == False: - tmp.append(tmpAnd) - return tmp + range_n_clusters = [i for i in range(k_min, k_max+1)] + distortions = [] + scores = [] + all_labels = [] + + for n_clusters in range_n_clusters: + clusterer = KMeans(n_clusters=n_clusters, random_state=10) + cluster_labels = clusterer.fit_predict(dataset) + + all_labels.append(cluster_labels) + silhouette_avg = silhouette_score(dataset, cluster_labels) + scores.append(silhouette_avg) + distortions.append(clusterer.fit(dataset).inertia_) + + best = max_index(scores) + k_min + + for i in range(len(all_labels)): + prefix = '' + if (i + k_min == best): + prefix = '_BEST' + + write_to_csv(dataset, all_labels[i], 'clustering/kmeans_output/kmeans_with_' + str(i + k_min) + prefix + '_clusters.tsv') + + if davies: + with np.errstate(divide='ignore', invalid='ignore'): + davies_bouldin = davies_bouldin_score(dataset, all_labels[i]) + warning("\nFor n_clusters = " + str(i + k_min) + + " The average davies bouldin score is: " + str(davies_bouldin)) + + + if silhouette: + silihouette_draw(dataset, all_labels[i], i + k_min, 'clustering/kmeans_output/silhouette_with_' + str(i + k_min) + prefix + '_clusters.png') + + + if elbow: + elbow_plot(distortions, k_min,k_max) -def checkRule(l): - if len(l) == 1: - if isinstance(l[0], list): - if checkRule(l[0]) is False: - return False - elif len(l) > 2: - if checkRule2(l) is False: - return False - else: - return False - return True - -def checkRule2(l): - while l: - if len(l) == 1: - return False - elif isinstance(l[0], list) and l[1] in ['and', 'or']: - if checkRule(l[0]) is False: - return False - if isinstance(l[2], list): - if checkRule(l[2]) is False: - return False - l = l[3:] - elif l[1] in ['and', 'or']: - if isinstance(l[2], list): - if checkRule(l[2]) is False: - return False - l = l[3:] - elif l[0] in ['and', 'or']: - if isinstance(l[1], list): - if checkRule(l[1]) is False: - return False - l = l[2:] - else: - return False - return True - -def do_rules(rules): - split_rules = [] - err_rules = [] - tmp_gene_in_rule = [] - for i in range(len(rules)): - tmp = list(rules[i]) - if tmp: - tmp, tmp_genes = check_and_doWord(tmp) - tmp_gene_in_rule.extend(tmp_genes) - if tmp is False: - split_rules.append([]) - err_rules.append(rules[i]) - else: - tmp = brackets_to_list(tmp) - if checkRule(tmp): - split_rules.append(priorityAND(tmp)) - else: - split_rules.append([]) - err_rules.append(rules[i]) - else: - split_rules.append([]) - if err_rules: - warning('Warning: wrong format rule in ' + str(err_rules) + '\n') - return (split_rules, list(set(tmp_gene_in_rule))) + + + -def make_recon(data): - try: - import cobra as cb - import warnings - with warnings.catch_warnings(): - warnings.simplefilter('ignore') - recon = cb.io.read_sbml_model(data) - react = recon.reactions - rules = [react[i].gene_reaction_rule for i in range(len(react))] - ids = [react[i].id for i in range(len(react))] - except cb.io.sbml3.CobraSBMLError: - try: - data = (pd.read_csv(data, sep = '\t', dtype = str)).fillna('') - if len(data.columns) < 2: - sys.exit('Execution aborted: wrong format of ' + - 'custom GPR rules\n') - if not len(data.columns) == 2: - warning('WARNING: more than 2 columns in custom GPR rules.\n' + - 'Extra columns have been disregarded\n') - ids = list(data.iloc[:, 0]) - rules = list(data.iloc[:, 1]) - except pd.errors.EmptyDataError: - sys.exit('Execution aborted: wrong format of custom GPR rules\n') - except pd.errors.ParserError: - sys.exit('Execution aborted: wrong format of custom GPR rules\n') - split_rules, tmp_genes = do_rules(rules) - gene_in_rule = {} - for i in tmp_genes: - gene_in_rule[i] = 'ok' - return (ids, split_rules, gene_in_rule) - -############################ resolve_methods ################################## - -def replace_gene_value(l, d): - tmp = [] - err = [] - while l: - if isinstance(l[0], list): - tmp_rules, tmp_err = replace_gene_value(l[0], d) - tmp.append(tmp_rules) - err.extend(tmp_err) - else: - value = replace_gene(l[0],d) - tmp.append(value) - if value == None: - err.append(l[0]) - l = l[1:] - return (tmp, err) - -def replace_gene(l, d): - if l =='and' or l == 'or': - return l +############################## elbow_plot #################################### + +def elbow_plot (distortions, k_min, k_max): + plt.figure(0) + plt.plot(range(k_min, k_max+1), distortions, marker = 'o') + plt.xlabel('Number of cluster') + plt.ylabel('Distortion') + s = 'clustering/kmeans_output/elbow_plot.png' + fig = plt.gcf() + fig.set_size_inches(18.5, 10.5, forward = True) + fig.savefig(s, dpi=100) + + +############################## silhouette plot ############################### +def silihouette_draw(dataset, labels, n_clusters, path): + silhouette_avg = silhouette_score(dataset, labels) + warning("For n_clusters = " + str(n_clusters) + + " The average silhouette_score is: " + str(silhouette_avg)) + + plt.close('all') + # Create a subplot with 1 row and 2 columns + fig, (ax1) = plt.subplots(1, 1) + + fig.set_size_inches(18, 7) + + # The 1st subplot is the silhouette plot + # The silhouette coefficient can range from -1, 1 but in this example all + # lie within [-0.1, 1] + ax1.set_xlim([-1, 1]) + # The (n_clusters+1)*10 is for inserting blank space between silhouette + # plots of individual clusters, to demarcate them clearly. + ax1.set_ylim([0, len(dataset) + (n_clusters + 1) * 10]) + + # Compute the silhouette scores for each sample + sample_silhouette_values = silhouette_samples(dataset, labels) + + y_lower = 10 + for i in range(n_clusters): + # Aggregate the silhouette scores for samples belonging to + # cluster i, and sort them + ith_cluster_silhouette_values = \ + sample_silhouette_values[labels == i] + + ith_cluster_silhouette_values.sort() + + size_cluster_i = ith_cluster_silhouette_values.shape[0] + y_upper = y_lower + size_cluster_i + + color = cm.nipy_spectral(float(i) / n_clusters) + ax1.fill_betweenx(np.arange(y_lower, y_upper), + 0, ith_cluster_silhouette_values, + facecolor=color, edgecolor=color, alpha=0.7) + + # Label the silhouette plots with their cluster numbers at the middle + ax1.text(-0.05, y_lower + 0.5 * size_cluster_i, str(i)) + + # Compute the new y_lower for next plot + y_lower = y_upper + 10 # 10 for the 0 samples + + ax1.set_title("The silhouette plot for the various clusters.") + ax1.set_xlabel("The silhouette coefficient values") + ax1.set_ylabel("Cluster label") + + # The vertical line for average silhouette score of all the values + ax1.axvline(x=silhouette_avg, color="red", linestyle="--") + + ax1.set_yticks([]) # Clear the yaxis labels / ticks + ax1.set_xticks([-0.1, 0, 0.2, 0.4, 0.6, 0.8, 1]) + + + plt.suptitle(("Silhouette analysis for clustering on sample data " + "with n_clusters = " + str(n_clusters) + "\nAverage silhouette_score = " + str(silhouette_avg)), fontsize=12, fontweight='bold') + + + plt.savefig(path, bbox_inches='tight') + +######################## dbscan ############################################## + +def dbscan(dataset, eps, min_samples): + if not os.path.exists('clustering/dbscan_output'): + os.makedirs('clustering/dbscan_output') + + if eps is not None: + clusterer = DBSCAN(eps = eps, min_samples = min_samples) else: - value = d.get(l, None) - if not(value == None or isinstance(value, (int, float))): - sys.exit('Execution aborted: ' + value + ' value not valid\n') - return value - -def compute(val1, op, val2, cn): - if val1 != None and val2 != None: - if op == 'and': - return min(val1, val2) - else: - return val1 + val2 - elif op == 'and': - if cn is True: - if val1 != None: - return val1 - elif val2 != None: - return val2 - else: - return None - else: - return None - else: - if val1 != None: - return val1 - elif val2 != None: - return val2 - else: - return None - -def control(ris, l, cn): - if len(l) == 1: - if isinstance(l[0], (float, int)) or l[0] == None: - return l[0] - elif isinstance(l[0], list): - return control(None, l[0], cn) - else: - return False - elif len(l) > 2: - return control_list(ris, l, cn) - else: - return False + clusterer = DBSCAN() + + clustering = clusterer.fit(dataset) + + core_samples_mask = np.zeros_like(clustering.labels_, dtype=bool) + core_samples_mask[clustering.core_sample_indices_] = True + labels = clustering.labels_ -def control_list(ris, l, cn): - while l: - if len(l) == 1: - return False - elif (isinstance(l[0], (float, int)) or - l[0] == None) and l[1] in ['and', 'or']: - if isinstance(l[2], (float, int)) or l[2] == None: - ris = compute(l[0], l[1], l[2], cn) - elif isinstance(l[2], list): - tmp = control(None, l[2], cn) - if tmp is False: - return False - else: - ris = compute(l[0], l[1], tmp, cn) - else: - return False - l = l[3:] - elif l[0] in ['and', 'or']: - if isinstance(l[1], (float, int)) or l[1] == None: - ris = compute(ris, l[0], l[1], cn) - elif isinstance(l[1], list): - tmp = control(None,l[1], cn) - if tmp is False: - return False - else: - ris = compute(ris, l[0], tmp, cn) - else: - return False - l = l[2:] - elif isinstance(l[0], list) and l[1] in ['and', 'or']: - if isinstance(l[2], (float, int)) or l[2] == None: - tmp = control(None, l[0], cn) - if tmp is False: - return False - else: - ris = compute(tmp, l[1], l[2], cn) - elif isinstance(l[2], list): - tmp = control(None, l[0], cn) - tmp2 = control(None, l[2], cn) - if tmp is False or tmp2 is False: - return False - else: - ris = compute(tmp, l[1], tmp2, cn) - else: - return False - l = l[3:] - else: - return False - return ris + # Number of clusters in labels, ignoring noise if present. + n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0) + + silhouette_avg = silhouette_score(dataset, labels) + warning("For n_clusters =" + str(n_clusters_) + + "The average silhouette_score is :" + str(silhouette_avg)) + + ##TODO: PLOT SU DBSCAN (no centers) e HIERARCHICAL -############################ gene ############################################# + # Black removed and is used for noise instead. + unique_labels = set(labels) + colors = [plt.cm.Spectral(each) + for each in np.linspace(0, 1, len(unique_labels))] + for k, col in zip(unique_labels, colors): + if k == -1: + # Black used for noise. + col = [0, 0, 0, 1] + + class_member_mask = (labels == k) + + xy = dataset[class_member_mask & core_samples_mask] + plt.plot(xy[:, 0], xy[:, 1], 'o', markerfacecolor=tuple(col), + markeredgecolor='k', markersize=14) + + xy = dataset[class_member_mask & ~core_samples_mask] + plt.plot(xy[:, 0], xy[:, 1], 'o', markerfacecolor=tuple(col), + markeredgecolor='k', markersize=6) -def data_gene(gene, type_gene, name, gene_custom): - args = process_args(sys.argv) - for i in range(len(gene)): - tmp = gene.iloc[i, 0] - if tmp.startswith(' ') or tmp.endswith(' '): - gene.iloc[i, 0] = (tmp.lstrip()).rstrip() - gene_dup = [item for item, count in - collections.Counter(gene[gene.columns[0]]).items() if count > 1] - pat_dup = [item for item, count in - collections.Counter(list(gene.columns)).items() if count > 1] - if gene_dup: - if gene_custom == None: - if args.rules_selector == 'HMRcore': - gene_in_rule = pk.load(open(args.tool_dir + - '/local/HMRcore_genes.p', 'rb')) - elif args.rules_selector == 'Recon': - gene_in_rule = pk.load(open(args.tool_dir + - '/local/Recon_genes.p', 'rb')) - gene_in_rule = gene_in_rule.get(type_gene) - else: - gene_in_rule = gene_custom - tmp = [] - for i in gene_dup: - if gene_in_rule.get(i) == 'ok': - tmp.append(i) - if tmp: - sys.exit('Execution aborted because gene ID ' - + str(tmp) + ' in ' + name + ' is duplicated\n') - if pat_dup: - sys.exit('Execution aborted: duplicated label\n' - + str(pat_dup) + 'in ' + name + '\n') - return (gene.set_index(gene.columns[0])).to_dict() + plt.title('Estimated number of clusters: %d' % n_clusters_) + s = 'clustering/dbscan_output/dbscan_plot.png' + fig = plt.gcf() + fig.set_size_inches(18.5, 10.5, forward = True) + fig.savefig(s, dpi=100) + + + write_to_csv(dataset, labels, 'clustering/dbscan_output/dbscan_results.tsv') + +########################## hierachical ####################################### + +def hierachical_agglomerative(dataset, k_min, k_max): -############################ resolve ########################################## + if not os.path.exists('clustering/agglomerative_output'): + os.makedirs('clustering/agglomerative_output') + + plt.figure(figsize=(10, 7)) + plt.title("Customer Dendograms") + shc.dendrogram(shc.linkage(dataset, method='ward')) + fig = plt.gcf() + fig.savefig('clustering/agglomerative_output/dendogram.png', dpi=200) + + range_n_clusters = [i for i in range(k_min, k_max+1)] -def resolve(genes, rules, ids, resolve_none, name): - resolve_rules = {} - not_found = [] - flag = False - for key, value in genes.items(): - tmp_resolve = [] - for i in range(len(rules)): - tmp = rules[i] - if tmp: - tmp, err = replace_gene_value(tmp, value) - if err: - not_found.extend(err) - ris = control(None, tmp, resolve_none) - if ris is False or ris == None: - tmp_resolve.append(None) - else: - tmp_resolve.append(ris) - flag = True - else: - tmp_resolve.append(None) - resolve_rules[key] = tmp_resolve - if flag is False: - sys.exit('Execution aborted: no computable score' + - ' (due to missing gene values) for class ' - + name + ', the class has been disregarded\n') - return (resolve_rules, list(set(not_found))) - -################################# clustering ################################## + for n_clusters in range_n_clusters: + + cluster = AgglomerativeClustering(n_clusters=n_clusters, affinity='euclidean', linkage='ward') + cluster.fit_predict(dataset) + cluster_labels = cluster.labels_ + + silhouette_avg = silhouette_score(dataset, cluster_labels) + warning("For n_clusters =", n_clusters, + "The average silhouette_score is :", silhouette_avg) + + plt.clf() + plt.figure(figsize=(10, 7)) + plt.title("Agglomerative Hierarchical Clustering\nwith " + str(n_clusters) + " clusters and " + str(silhouette_avg) + " silhouette score") + plt.scatter(dataset[:,0], dataset[:,1], c = cluster_labels, cmap='rainbow') + s = 'clustering/agglomerative_output/hierachical_' + str(n_clusters) + '_clusters.png' + fig = plt.gcf() + fig.set_size_inches(10, 7, forward = True) + fig.savefig(s, dpi=200) + + write_to_csv(dataset, cluster_labels, 'clustering/agglomerative_output/agglomerative_hierarchical_with_' + str(n_clusters) + '_clusters.tsv') + + -def f_cluster(resolve_rules): - os.makedirs('cluster_out') - args = process_args(sys.argv) - k_min = args.k_min - k_max = args.k_max - if k_min > k_max: - warning('k range boundaries inverted.\n') - tmp = k_min - k_min = k_max - k_max = tmp - else: - warning('k range correct.\n') - cluster_data = pd.DataFrame.from_dict(resolve_rules, orient = 'index') - for i in cluster_data.columns: - tmp = cluster_data[i][0] - if tmp == None: - cluster_data = cluster_data.drop(columns=[i]) - distorsion = [] - for i in range(k_min, k_max+1): - tmp_kmeans = KMeans(n_clusters = i, - n_init = 100, - max_iter = 300, - random_state = 0).fit(cluster_data) - distorsion.append(tmp_kmeans.inertia_) - predict = tmp_kmeans.predict(cluster_data) - predict = [x+1 for x in predict] - classe = (pd.DataFrame(list(zip(cluster_data.index, predict)))).astype(str) - dest = 'cluster_out/K=' + str(i) + '_' + args.name+'.tsv' - classe.to_csv(dest, sep = '\t', index = False, - header = ['Patient_ID', 'Class']) - plt.figure(0) - plt.plot(range(k_min, k_max+1), distorsion, marker = 'o') - plt.xlabel('Number of cluster') - plt.ylabel('Distorsion') - plt.savefig(args.elbow, dpi = 240, format = 'pdf') - if args.cond_hier == 'yes': - import scipy.cluster.hierarchy as hier - lin = hier.linkage(cluster_data, args.linkage) - plt.figure(1) - plt.figure(figsize=(10, 5)) - hier.dendrogram(lin, leaf_font_size = 2, labels = cluster_data.index) - plt.savefig(args.dendro, dpi = 480, format = 'pdf') - return None + +############################# main ########################################### -################################# main ######################################## def main(): + if not os.path.exists('clustering'): + os.makedirs('clustering') + args = process_args(sys.argv) - if args.rules_selector == 'HMRcore': - recon = pk.load(open(args.tool_dir + '/local/HMRcore_rules.p', 'rb')) - elif args.rules_selector == 'Recon': - recon = pk.load(open(args.tool_dir + '/local/Recon_rules.p', 'rb')) - elif args.rules_selector == 'Custom': - ids, rules, gene_in_rule = make_recon(args.custom) - resolve_none = check_bool(args.none) - dataset = read_dataset(args.data, args.name) - dataset.iloc[:, 0] = (dataset.iloc[:, 0]).astype(str) - type_gene = gene_type(dataset.iloc[0, 0], args.name) - if args.rules_selector != 'Custom': - genes = data_gene(dataset, type_gene, args.name, None) - ids, rules = load_id_rules(recon.get(type_gene)) - elif args.rules_selector == 'Custom': - genes = data_gene(dataset, type_gene, args.name, gene_in_rule) - resolve_rules, err = resolve(genes, rules, ids, resolve_none, args.name) - if err: - warning('WARNING: gene\n' + str(err) + '\nnot found in class ' - + args.name + ', the expression level for this gene ' + - 'will be considered NaN\n') - f_cluster(resolve_rules) - warning('Execution succeeded') - return None - -############################################################################### + + #Data read + + X = read_dataset(args.input) + X = pd.DataFrame.to_dict(X, orient='list') + X = rewrite_input(X) + X = pd.DataFrame.from_dict(X, orient = 'index') + + for i in X.columns: + tmp = X[i][0] + if tmp == None: + X = X.drop(columns=[i]) + + X = pd.DataFrame.to_numpy(X) + + + if args.cluster_type == 'kmeans': + kmeans(args.k_min, args.k_max, X, args.elbow, args.silhouette, args.davies) + + if args.cluster_type == 'dbscan': + dbscan(X, args.eps, args.min_samples) + + if args.cluster_type == 'hierarchy': + hierachical_agglomerative(X, args.k_min, args.k_max) + +############################################################################## if __name__ == "__main__": main()
--- a/Marea/marea_cluster.xml Tue Oct 01 06:03:12 2019 -0400 +++ b/Marea/marea_cluster.xml Tue Oct 01 06:05:13 2019 -0400 @@ -1,148 +1,92 @@ -<tool id="MaREA_cluester" name="MaREA cluster analysis" version="1.0.0"> - <description>of Reaction Activity Scores</description> - <macros> - <import>marea_macros.xml</import> - </macros> - <requirements> - <requirement type="package" version="0.23.0">pandas</requirement> - <requirement type="package" version="1.1.0">scipy</requirement> - <requirement type="package" version="0.10.1">cobra</requirement> - <requirement type="package" version="0.19.1">scikit-learn</requirement> - <requirement type="package" version="2.2.2">matplotlib</requirement> - </requirements> - <command detect_errors="exit_code"> - <![CDATA[ - python $__tool_directory__/marea_cluster.py - --rules_selector $cond_rule.rules_selector - #if $cond_rule.rules_selector == 'Custom': - --custom ${cond_rule.Custom_rules} - #end if - --cond_hier $cond_hier.hier - #if $cond_hier.hier == 'yes': - --linkage ${cond_hier.linkage} - --dendro $dendrogram - #end if - --k_max $k_max - --k_min $k_min - --data $input - --name $name - --none $None - --tool_dir $__tool_directory__ - --out_log $log - --elbow $elbow - ]]> - </command> - <inputs> - <conditional name="cond_rule"> - <expand macro="options"/> - <when value="Custom"> - <param name="Custom_rules" type="data" format="tabular, csv, tsv, xml" label="Custom rules" /> - </when> - <when value="HMRcore"> - </when> - <when value="Recon"> - </when> - </conditional> - <param name="input" argument="--data" type="data" format="tabular, csv, tsv" label="RNAseq of all samples" /> - <param name="name" argument="--name" type="text" label="Output name prefix" value="dataset" /> - <param name="k_min" argument="--k_min" type="integer" size="20" value="3" min="2" max="30" label="Min number of clusters (k) to be tested (k-means)"/> - <param name="k_max" argument="--k_max" type="integer" size="20" value="3" min="2" max="30" label="Max number of clusters (k) to be tested (k-means)"/> - <param name="None" argument="--none" type="boolean" truevalue="true" falsevalue="false" checked="true" label="(A and NaN) solved as (A)?" help="If NO is selected, (A and NaN) is solved as (NaN)" /> - <conditional name="cond_hier"> - <param name="hier" argument="--cond_hier" type="select" label="Produce dendrogram (hierarchical clustering):"> - <option value="no" selected="true">no</option> - <option value="yes">yes</option> - </param> - <when value="yes"> - <param name="linkage" argument="--linkage" type="select" label="Linkage type:"> - <option value="single" selected="true">Single: minimum distance between all observations of two sets</option> - <option value="complete">Complete: maximum distance between all observations of two sets</option> - <option value="average">Average: average distance between all observations of two sets</option> - </param> - </when> - <when value="no"> - </when> - </conditional> - </inputs> - - <outputs> - <data format="txt" name="log" label="Log" /> - <data format="pdf" name="dendrogram" label="$name dendrogram"> - <filter>cond_hier['hier'] == 'yes'</filter> - </data> - <data format="pdf" name="elbow" label="$name elbow evaluation method" /> - <collection name="cluster_out" type="list" label="Clusters $k_min - $k_max"> - <discover_datasets pattern="__name_and_ext__" directory="cluster_out" /> - </collection> - </outputs> - <tests> - <test> - <param name="k_min" value="4"/> - <output name="log" file="log.txt"/> - </test> - </tests> - <help> -<![CDATA[ - -What it does -------------- - -This tool performs cluster analysis of RNA-seq dataset(s) based of Graudenzi et al."`MaREA`_: Metabolic feature extraction, enrichment and visualization of RNAseq data" bioRxiv (2018): 248724. - -Accepted files are: - 1) For "Recon 2.2 rules" or "HMRcore rules" options: RNA-seq dataset. The user can specify a label of output prefix (as e.g. "K=3 *dataset*" and "K=4 *MyDataset*"); - 2) For "Custom rules" option: custom rules dataset, custom map (.svg) and RNA-seq dataset. The user can specify a label of output prefix (as e.g. "K=3 *dataset*" and "K=4 *MyDataset*"). - -Optional files: - - custom GPR (Gene-Protein-Reaction) rules. Two accepted formats: - - * (Cobra Toolbox and CobraPy compliant) xml of metabolic model; - * .csv file specifyig for each reaction ID (column 1) the corresponding GPR rule (column 2). - - custom svg map. Graphical elements must have the same IDs of reactions. See HmrCore svg map for an example. - -The tool generates: - 1) Clusters n1 - n2 (n1 and n2 refer to min and max number of clusters): class-files (as many files as the chosen different number of clusters k to be tested) specifying the class/condition each sample belongs to; - 2) Log: a log file (.txt); - 3) *dataset* elbow evaluation method: diagram (.pdf) of elbow evaluation method; - 4) *dataset* dendrogram (optional): dendrogram (.pdf) if the user chooses to produce a dendrogram (hierachical clustering). - -RNA-seq datasets format: tab-separated text files, reporting the expression level (e.g., TPM, RPKM, ...) of each gene (row) for a given sample (column). Header: sample ID. - - -Example input -------------- - -**RNA-seq dataset**: - -@DATASET_EXEMPLE1@ - -**Custom Rules Dataset**: - -@CUSTOM_RULES_EXEMPLE@ - -**Custom Map**: - -*see the generated HMRcore .svg map for example* - - - -.. class:: infomark - -**TIP**: If your data is not TAB delimited, use `Convert delimiters to TAB`_. - -.. class:: warningmark - -If dendrogram it's too populated, each path and label can be not clear. - -@REFERENCE@ - -.. _MaREA: https://www.biorxiv.org/content/early/2018/01/16/248724 -.. _Convert delimiters to TAB: https://usegalaxy.org/?tool_id=Convert+characters1&version=1.0.0&__identifer=6t22teyofhj - - -]]> - </help> - <expand macro="citations" /> -</tool> - - +<tool id="MaREA_cluester" name="MaREA cluster analysis" version="1.0.1"> + <description>of Reaction Activity Scores - 1.0.1</description> + <macros> + <import>marea_macros.xml</import> + </macros> + <requirements> + <requirement type="package" version="0.23.0">pandas</requirement> + <requirement type="package" version="1.1.0">scipy</requirement> + <requirement type="package" version="0.10.1">cobra</requirement> + <requirement type="package" version="0.21.3">scikit-learn</requirement> + <requirement type="package" version="2.2.2">matplotlib</requirement> + <requirement type="package" version="1.17">numpy</requirement> + </requirements> + <command detect_errors="exit_code"> + <![CDATA[ + python $__tool_directory__/marea_cluster.py + --input $input + --tool_dir $__tool_directory__ + --out_log $log + #if $data.clust_type == 'kmeans': + --k_min ${data.k_min} + --k_max ${data.k_max} + --elbow ${data.elbow} + --silhouette ${data.silhouette} + #end if + #if $data.clust_type == 'dbscan': + #if $data.dbscan_advanced.advanced == 'true' + --eps ${data.dbscan_advanced.eps} + --min_samples ${data.dbscan_advanced.min_samples} + #end if + #end if + #if $data.clust_type == 'hierarchy': + --k_min ${data.k_min} + --k_max ${data.k_max} + #end if + ]]> + </command> + <inputs> + <param name="input" argument="--input" type="data" format="tabular, csv, tsv" label="RNAseq of all samples" /> + + <conditional name="data"> + <param name="clust_type" argument="--cluster_type" type="select" label="Choose clustering type:"> + <option value="kmeans" selected="true">KMeans</option> + <option value="dbscan">DBSCAN</option> + <option value="hierarchy">Agglomerative Hierarchical</option> + </param> + <when value="kmeans"> + <param name="k_min" argument="--k_min" type="integer" min="2" max="99" value="3" label="Min number of clusters (k) to be tested" /> + <param name="k_max" argument="--k_max" type="integer" min="3" max="99" value="5" label="Max number of clusters (k) to be tested" /> + <param name="elbow" argument="--elbow" type="boolean" value="true" label="Draw the elbow plot from k-min to k-max"/> + <param name="silhouette" argument="--silhouette" type="boolean" value="true" label="Draw the Silhouette plot from k-min to k-max"/> + </when> + <when value="dbscan"> + <conditional name="dbscan_advanced"> + <param name="advanced" type="boolean" value="false" label="Want to use custom params for DBSCAN? (if not optimal values will be used)"> + <option value="true">Yes</option> + <option value="false">No</option> + </param> + <when value="false"></when> + <when value="true"> + <param name="eps" argument="--eps" type="float" value="0.5" label="Epsilon - The maximum distance between two samples for one to be considered as in the neighborhood of the other" /> + <param name="min_samples" argument="min_samples" type="integer" value="5" label="Min samples - The number of samples in a neighborhood for a point to be considered as a core point (this includes the point itself)"/> + + </when> + </conditional> + </when> + <when value="hierarchy"> + <param name="k_min" argument="--k_min" type="integer" min="2" max="99" value="3" label="Min number of clusters (k) to be tested" /> + <param name="k_max" argument="--k_max" type="integer" min="3" max="99" value="5" label="Max number of clusters (k) to be tested" /> + </when> + </conditional> + </inputs> + + <outputs> + <data format="txt" name="log" label="${tool.name} - Log" /> + <collection name="results" type="list" label="${tool.name} - Results"> + <discover_datasets pattern="__name_and_ext__" directory="clustering"/> + </collection> + </outputs> + <help> +<![CDATA[ + +What it does +------------- + + +]]> + </help> + <expand macro="citations" /> +</tool> + +
--- a/marea-1.0.1/local/HMRcoreMap.svg Tue Oct 01 06:03:12 2019 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7702 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - version="1.1" - x="0px" - y="0px" - viewBox="0 0 1904.8016 1511.2752" - xml:space="preserve" - id="svg2" - inkscape:version="0.91 r13725" - sodipodi:docname="HMRcoreMap.svg" - width="1904.8015" - height="1511.2753"><metadata - id="metadata2021"><rdf:RDF><cc:Work - rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs - id="defs2019"><sodipodi:namedview - showguides="true" - showgrid="true" - pagecolor="#ffffff" - inkscape:zoom="1.4702451" - inkscape:window-y="-8" - inkscape:window-x="-8" - inkscape:window-width="1920" - inkscape:window-maximized="1" - inkscape:window-height="1017" - inkscape:snap-page="false" - inkscape:snap-grids="true" - inkscape:pageshadow="2" - inkscape:pageopacity="0.0" - inkscape:document-units="px" - inkscape:cy="338.10986" - inkscape:cx="1343.7768" - inkscape:current-layer="layer1" - id="base" - fit-margin-top="0" - fit-margin-right="0" - fit-margin-left="0" - fit-margin-bottom="0" - borderopacity="1.0" - bordercolor="#666666"><inkscape:grid - type="xygrid" - originy="72.926308" - originx="-97.409688" - id="grid3434" - dotted="true" /></sodipodi:namedview></defs><sodipodi:namedview - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1" - objecttolerance="10" - gridtolerance="10" - guidetolerance="10" - inkscape:pageopacity="0" - inkscape:pageshadow="2" - inkscape:window-width="1920" - inkscape:window-height="1017" - id="namedview2017" - showgrid="false" - inkscape:zoom="0.44727204" - inkscape:cx="497.63252" - inkscape:cy="796.80241" - inkscape:window-x="-8" - inkscape:window-y="-8" - inkscape:window-maximized="1" - inkscape:current-layer="svg2" - fit-margin-top="0" - fit-margin-left="0" - fit-margin-right="0" - fit-margin-bottom="0" /><style - type="text/css" - id="style4"> - .st0{display:none;} - .st1{display:inline;} - .st2{fill:none;stroke:#5AB6E7;stroke-width:7;stroke-linejoin:round;} - .st3{fill:none;stroke:#5AB6E7;stroke-width:7;stroke-linejoin:round;stroke-dasharray:11.9422,11.9422;} - .st4{fill:none;stroke:#5AB6E7;stroke-width:7;stroke-linejoin:round;stroke-dasharray:12.1815,12.1815;} - .st5{font-family:'Helvetica';} - .st6{font-size:30px;} - .st7{font-size:39.262px;} - .st8{fill:none;stroke:#0000FF;stroke-width:30;} - .st9{fill:none;stroke:#E41A1C;stroke-width:30;} - .st10{fill:none;stroke:#BEBEBE;stroke-width:30;} - .st11{stroke:#000000;stroke-width:30;} - .st12{fill:none;stroke:#BEBEBE;stroke-width:30;stroke-dasharray:30,30;stroke-dashoffset:6;} - .st13{fill:none;stroke:#000000;stroke-width:1.8444;} - .st14{fill:none;stroke:#000000;stroke-width:2.1821;} - .st15{font-family:'Calibri-Bold';} - .st16{font-size:16px;} - .st17{font-family:'Calibri';} - .st18{font-size:10px;} - .st19{fill:none;stroke:#000000;stroke-width:1.8856;} - .st20{fill:none;stroke:#000000;stroke-width:1.9459;} - .st21{fill:none;stroke:#000000;stroke-width:2.2892;} - .st22{fill:none;stroke:#000000;stroke-width:2.5;} - .st23{fill:none;stroke:#000000;stroke-width:1.9412;} - .st24{fill:none;stroke:#000000;stroke-width:1.9661;} - .st25{fill:none;stroke:#000000;stroke-width:1.0869;} - .st26{font-size:6.0937px;} - .st27{fill:none;stroke:#000000;stroke-width:2.0174;} - .st28{fill:none;stroke:#000000;stroke-width:1.889;} - .st29{fill:none;stroke:#000000;stroke-width:1.7769;} - .st30{fill:none;stroke:#000000;stroke-width:1.8717;} - .st31{fill:none;stroke:#000000;stroke-width:1.6971;} - .st32{fill:none;stroke:#000000;stroke-width:2.4492;} - .st33{fill:none;stroke:#000000;stroke-width:2.0366;} - .st34{fill:none;stroke:#000000;stroke-width:1.5903;} - .st35{fill:none;stroke:#000000;stroke-width:1.7287;} - .st36{fill:none;stroke:#000000;stroke-width:1.7741;} - .st37{fill:none;stroke:#000000;stroke-width:2.2309;} - .st38{font-size:14px;} - .st39{fill:none;stroke:#000000;stroke-width:1.7752;} - .st40{font-size:9.75px;} - .st41{fill:none;stroke:#000000;stroke-width:1.8816;} - .st42{fill:none;stroke:#000000;stroke-width:1.8615;} - .st43{fill:none;stroke:#000000;stroke-width:1.7923;} - .st44{fill:none;stroke:#000000;stroke-width:1.8691;} - .st45{fill:none;stroke:#000000;stroke-width:2.823;} - .st46{fill:none;stroke:#000000;stroke-width:2.3556;} - .st47{fill:none;stroke:#000000;stroke-width:2.0484;} - .st48{fill:none;stroke:#000000;stroke-width:1.127;} - .st49{fill:none;stroke:#000000;stroke-width:1.5383;} - .st50{fill:none;stroke:#000000;stroke-width:1.4921;} - .st51{fill:none;stroke:#000000;stroke-width:1.4117;} - .st52{fill:none;stroke:#000000;stroke-width:1.3787;} - .st53{fill:none;stroke:#000000;stroke-width:2.2437;} - .st54{fill:none;stroke:#000000;stroke-width:1.8492;} - .st55{fill:none;stroke:#000000;stroke-width:1.816;} - .st56{fill:none;stroke:#000000;stroke-width:2.0159;} - .st57{fill:none;stroke:#000000;stroke-width:2.0089;} - .st58{fill:none;stroke:#000000;stroke-width:1.2666;} - .st59{fill:none;stroke:#000000;stroke-width:1.3186;} - .st60{fill:none;stroke:#000000;stroke-width:1.2211;} - .st61{fill:none;stroke:#000000;stroke-width:1.1828;} - .st62{fill:none;stroke:#000000;stroke-width:2.0699;} - .st63{fill:none;stroke:#000000;stroke-width:2.1781;} - .st64{fill:none;stroke:#000000;stroke-width:2.6751;} - .st65{fill:none;stroke:#000000;stroke-width:3.1636;} - .st66{fill:none;stroke:#000000;stroke-width:3.3699;} - .st67{fill:none;stroke:#000000;stroke-width:2.3147;} - .st68{fill:none;stroke:#000000;stroke-width:2.2203;} - .st69{fill:none;stroke:#000000;stroke-width:2.2293;} - .st70{fill:none;stroke:#000000;stroke-width:1.9667;} - .st71{fill:none;stroke:#000000;stroke-width:2.1341;} - .st72{fill:none;stroke:#000000;stroke-width:1.5819;} - .st73{fill:none;stroke:#000000;stroke-width:2.0995;} - .st74{fill:none;stroke:#000000;stroke-width:2.4348;} - .st75{fill:none;stroke:#000000;stroke-width:2.3313;} - .st76{fill:none;stroke:#000000;stroke-width:2.0948;} - .st77{fill:none;stroke:#000000;stroke-width:2.2352;} - .st78{fill:none;stroke:#000000;stroke-width:2.3817;} - .st79{fill:none;stroke:#000000;stroke-width:2.2976;} - .st80{fill:none;stroke:#000000;stroke-width:2.0951;} - .st81{fill:none;stroke:#231F20;stroke-width:7;stroke-linejoin:round;stroke-miterlimit:2;} - .st82{fill:none;stroke:#000000;stroke-width:1.3247;} - .st83{fill:none;stroke:#000000;stroke-width:1.564;} - .st84{fill:none;stroke:#000000;stroke-width:2.1156;} - .st85{fill:none;stroke:#000000;stroke-width:1.3926;} - .st86{fill:none;stroke:#000000;stroke-width:1.123;} - .st87{font-size:9.7577px;} - .st88{font-size:15.6123px;} - .st89{fill:none;stroke:#000000;stroke-width:2.0926;} - .st90{fill:none;stroke:#000000;stroke-width:1.7671;} - .st91{fill:none;stroke:#000000;stroke-width:1.7901;} - .st92{fill:none;stroke:#000000;stroke-width:1.9212;} - .st93{fill:none;stroke:#000000;stroke-width:1.3319;} - .st94{fill:none;stroke:#000000;stroke-width:2.1398;} - .st95{fill:none;stroke:#000000;stroke-width:1.3641;} - .st96{fill:none;stroke:#000000;stroke-width:2.216;} - .st97{fill:none;stroke:#000000;stroke-width:2.341;} - .st98{fill:none;stroke:#000000;stroke-width:1.2412;} - .st99{fill:none;stroke:#000000;stroke-width:1.7827;} - .st100{fill:none;stroke:#000000;stroke-width:1.8658;} - .st101{fill:none;stroke:#000000;stroke-width:2.4932;} - .st102{fill:none;stroke:#000000;stroke-width:2.489;} - .st103{fill:none;stroke:#000000;stroke-width:2.5188;} - .st104{fill:none;stroke:#000000;stroke-width:2.4962;} - .st105{fill:none;stroke:#000000;stroke-width:1.6791;} - .st106{fill:none;stroke:#000000;stroke-width:1.8121;} - .st107{fill:none;stroke:#000000;stroke-width:1.5802;} - .st108{fill:none;stroke:#000000;stroke-width:1.5346;} - .st109{fill:none;stroke:#000000;stroke-width:1.8293;} - .st110{fill:none;stroke:#000000;stroke-width:1.6126;} - .st111{fill:none;stroke:#000000;stroke-width:2.5434;} - .st112{fill:none;stroke:#000000;stroke-width:1.7519;} - .st113{fill:none;stroke:#000000;stroke-width:1.5283;} - .st114{fill:none;stroke:#000000;stroke-width:1.8016;} - .st115{fill:none;stroke:#000000;stroke-width:3.1376;} - .st116{fill:none;stroke:#000000;stroke-width:1.8065;} - .st117{fill:none;stroke:#000000;stroke-width:2.1653;} - .st118{fill:none;stroke:#000000;stroke-width:1.5857;} - .st119{fill:none;stroke:#000000;stroke-width:2.1349;} - .st120{fill:none;stroke:#000000;stroke-width:2.3204;} - .st121{fill:none;stroke:#000000;stroke-width:1.6814;} - .st122{fill:none;stroke:#000000;stroke-width:2.9048;} - .st123{fill:none;stroke:#000000;stroke-width:2.2582;} - .st124{fill:none;stroke:#000000;stroke-width:1.9206;} - .st125{fill:none;stroke:#000000;stroke-width:2.0975;} - .st126{fill:none;stroke:#000000;stroke-width:1.1759;} - .st127{fill:none;stroke:#000000;stroke-width:1.1348;} - .st128{fill:none;stroke:#000000;stroke-width:2.0031;} - .st129{fill:none;stroke:#000000;stroke-width:1.966;} - .st130{fill:none;stroke:#000000;stroke-width:1.822;} - .st131{fill:none;stroke:#000000;stroke-width:2.3785;} - .st132{fill:none;stroke:#000000;stroke-width:1.5336;} - .st133{fill:none;stroke:#000000;stroke-width:1.4989;} - .st134{fill:none;stroke:#000000;stroke-width:1.8163;} - .st135{fill:none;stroke:#000000;stroke-width:2.0955;} - .st136{fill:none;stroke:#000000;stroke-width:2.1429;} - .st137{fill:none;stroke:#000000;stroke-width:2.1034;} - .st138{fill:none;stroke:#000000;stroke-width:2.0686;} - .st139{fill:none;stroke:#000000;stroke-width:1.1187;} - .st140{fill:none;stroke:#000000;stroke-width:2.3278;} - .st141{fill:none;stroke:#000000;stroke-width:2.1814;} - .st142{fill:none;stroke:#000000;stroke-width:2.0648;} - .st143{fill:none;stroke:#000000;stroke-width:2.5236;} - .st144{fill:none;stroke:#000000;stroke-width:2.5697;} - .st145{fill:#786721;stroke:#000000;stroke-width:2.5;} - .st146{fill:none;stroke:#000000;stroke-width:1.4509;} - .st147{fill:none;stroke:#000000;stroke-width:1.7529;} - .st148{fill:none;stroke:#000000;stroke-width:1.9252;} - .st149{fill:none;stroke:#000000;stroke-width:1.8983;} - .st150{fill:none;stroke:#000000;stroke-width:1.7735;} - .st151{fill:none;stroke:#000000;stroke-width:1.5537;} - .st152{fill:none;stroke:#000000;stroke-width:1.7117;} - .st153{fill:none;stroke:#000000;stroke-width:1.7429;} - .st154{fill:none;stroke:#000000;stroke-width:1.639;} - .st155{fill:none;stroke:#000000;stroke-width:2.4155;} - .st156{fill:none;stroke:#000000;stroke-width:1.9672;} - .st157{fill:none;stroke:#000000;stroke-width:2.2231;} - .st158{fill:none;stroke:#000000;stroke-width:1.8337;} - .st159{fill:none;stroke:#000000;stroke-width:1.8531;} - .st160{fill:none;stroke:#000000;stroke-width:2.2256;} - .st161{fill:none;stroke:#000000;stroke-width:2.0666;} - .st162{fill:none;stroke:#000000;stroke-width:1.7335;} - .st163{fill:none;stroke:#000000;stroke-width:1.6847;} - .st164{fill:none;stroke:#000000;stroke-width:2.4884;} - .st165{fill:none;stroke:#000000;stroke-width:2.3113;} - .st166{fill:none;stroke:#000000;stroke-width:2.1555;} - .st167{fill:none;stroke:#000000;stroke-width:1.9909;} - .st168{fill:none;stroke:#000000;stroke-width:9.2205;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:2;} - .st169{fill:none;stroke:#000000;stroke-width:2.5668;} - .st170{fill:none;stroke:#000000;stroke-width:1.9328;} - .st171{fill:none;stroke:#000000;stroke-width:3.1971;} - .st172{fill:none;stroke:#000000;stroke-width:3.1373;} - .st173{font-size:6.5px;} -</style><g - id="Layer_2" - transform="translate(-20.6,18.418554)"><g - id="rect3188_1_" - class="st0" - style="display:none"><g - class="st1" - id="g8" - style="display:inline"><polyline - class="st2" - points="269.1,669.8 269.1,663.8 275.1,663.8 " - id="polyline10" - style="fill:none;stroke:#5ab6e7;stroke-width:7;stroke-linejoin:round" /><line - class="st3" - x1="287" - y1="663.79999" - x2="1475.2" - y2="663.79999" - id="line12" - style="fill:none;stroke:#5ab6e7;stroke-width:7;stroke-linejoin:round;stroke-dasharray:11.9422, 11.9422" /><polyline - class="st2" - points="1481.2,663.8 1487.2,663.8 1487.2,669.8 " - id="polyline14" - style="fill:none;stroke:#5ab6e7;stroke-width:7;stroke-linejoin:round" /><line - class="st4" - x1="1487.2" - y1="682" - x2="1487.2" - y2="1138.8" - id="line16" - style="fill:none;stroke:#5ab6e7;stroke-width:7;stroke-linejoin:round;stroke-dasharray:12.1815, 12.1815" /><polyline - class="st2" - points="1487.2,1144.9 1487.2,1150.9 1481.2,1150.9 " - id="polyline18" - style="fill:none;stroke:#5ab6e7;stroke-width:7;stroke-linejoin:round" /><line - class="st3" - x1="1469.3" - y1="1150.9" - x2="281" - y2="1150.9" - id="line20" - style="fill:none;stroke:#5ab6e7;stroke-width:7;stroke-linejoin:round;stroke-dasharray:11.9422, 11.9422" /><polyline - class="st2" - points="275.1,1150.9 269.1,1150.9 269.1,1144.9 " - id="polyline22" - style="fill:none;stroke:#5ab6e7;stroke-width:7;stroke-linejoin:round" /><line - class="st4" - x1="269.10001" - y1="1132.7" - x2="269.10001" - y2="675.90002" - id="line24" - style="fill:none;stroke:#5ab6e7;stroke-width:7;stroke-linejoin:round;stroke-dasharray:12.1815, 12.1815" /></g></g></g><g - id="flowRoot3336" - transform="translate(-20.6,18.418554)" /><g - id="flowRoot16808" - transform="translate(-20.6,18.418554)" /><g - id="flowRoot2749" - transform="translate(-20.6,18.418554)" /><g - id="flowRoot3621" - transform="translate(-20.6,18.418554)" /><g - id="flowRoot1974" - transform="translate(-20.6,18.418554)" /><text - style="font-size:30px;font-family:Helvetica" - id="text35" - class="st5 st6" - x="129.77209" - y="1429.6542">= Up regulated</text> -<text - style="font-size:30px;font-family:Helvetica" - id="text37" - class="st5 st6" - x="129.77209" - y="1504.6542">= Down regulated</text> -<text - style="font-size:39.26200104px;font-family:Helvetica" - id="text39" - class="st5 st7" - x="-1.9770008" - y="1365.1874">Legend</text> -<path - style="fill:none;stroke:#0000ff;stroke-width:30" - d="m 0,1495.6186 112,0" - class="st8" - inkscape:connector-curvature="0" - id="path6613-3" /><path - style="fill:none;stroke:#e41a1c;stroke-width:30" - d="m 0,1420.7186 112,0" - class="st9" - inkscape:connector-curvature="0" - id="path6613-8-6" /><path - style="fill:none;stroke:#bebebe;stroke-width:30" - d="m 503.8,1492.0186 112,0" - class="st10" - inkscape:connector-curvature="0" - id="path6613-8-1-0" /><path - style="stroke:#000000;stroke-width:30" - d="m 1140.7,1415.1186 112,0" - class="st11" - inkscape:connector-curvature="0" - id="path6613-8-4-9" /><path - style="fill:none;stroke:#bebebe;stroke-width:30;stroke-dasharray:30, 30;stroke-dashoffset:6" - d="m 503.8,1417.3186 112,0" - class="st12" - inkscape:connector-curvature="0" - id="path6613-8-2-6" /><text - style="font-size:30px;font-family:Helvetica" - id="text46" - class="st5 st6" - x="1270.1295" - y="1423.1249">= Not classified</text> -<text - style="font-size:30px;font-family:Helvetica" - id="text48" - class="st5 st6" - x="631.3902" - y="1426.3895">= Not significant</text> -<text - style="font-size:30px;font-family:Helvetica" - id="text50" - class="st5 st6" - x="631.3902" - y="1501.3895">= Fold change under threshold</text> -<text - style="font-size:30px;font-family:Helvetica" - id="text52" - class="st5 st6" - x="1139.6979" - y="1499.9501">Thickness is proportional to fold change</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.84440005" - d="m 834.5,332.71855 26.9,-0.1 m -18,-9 c -2.8,5.8 3.1,9.6 3.1,9.6 m 3.1,-0.5 c 5.1,-0.7 4.9,-9.1 4.9,-9.1" - class="st13" - inkscape:label="CMPK1_DTYMK" - inkscape:connector-curvature="0" - id="R_CMPK1_DTYMK" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 464.9,461.41855 c 2.2,-7.3 2.2,-7.3 2.2,-7.3 l 2.2,7.3 -2.2,-1.8 -2.2,1.8 z" - class="st14" - inkscape:label="backward PGM" - inkscape:connector-curvature="0" - id="B_PGAM2_PGAM1_BPGM_PGAM4_1" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text56" - class="st15 st16" - x="449.63071" - y="207.37375">F6P</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text58" - class="st15 st16" - x="443.9202" - y="262.58224">F16BP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text60" - class="st15 st16" - x="446.7605" - y="320.19556">GA3P</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text62" - class="st15 st16" - x="435.38208" - y="383.34305">1,3BPGA</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text64" - class="st15 st16" - x="453.15561" - y="449.14966">3PG</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text66" - class="st15 st16" - x="449.81769" - y="507.42996">2PG</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text68" - class="st15 st16" - x="453.76788" - y="562.48846">PEP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text70" - class="st15 st16" - x="456.6004" - y="614.97485">Pyr</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text72" - class="st15 st16" - x="349.18579" - y="614.4632">Lact</text> -<text - style="font-size:10px;font-family:Calibri" - id="text74" - class="st17 st18" - x="483.3494" - y="222.37965">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text76" - class="st17 st18" - x="484.75418" - y="235.29225">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text78" - class="st17 st18" - x="478.8587" - y="337.66135">NAD</text> -<text - style="font-size:10px;font-family:Calibri" - id="text80" - class="st17 st18" - x="497.25217" - y="337.66135">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text82" - class="st17 st18" - x="502.2327" - y="337.66135">Pi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text84" - class="st17 st18" - x="481.2063" - y="350.90945">NADH+H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text86" - class="st17 st18" - x="481.4881" - y="401.51096">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text88" - class="st17 st18" - x="482.81668" - y="413.79224">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text90" - class="st17 st18" - x="481.35968" - y="575.7132">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text92" - class="st17 st18" - x="485.36938" - y="586.74536">ATP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 460,182.91855 c 2.2,7.3 2.2,7.3 2.2,7.3 l 2.2,-7.3 -2.2,1.8 -2.2,-1.8 z" - class="st14" - inkscape:label="forward GPI " - inkscape:connector-curvature="0" - id="F_GPI" /><path - style="fill:none;stroke:#000000;stroke-width:1.88559997" - d="m 462.1,159.61855 c 0,23.8 0,23.8 0,23.8" - class="st19" - inkscape:label="GPI " - inkscape:connector-curvature="0" - id="R_GPI" /><path - style="fill:none;stroke:#000000;stroke-width:1.94589996" - d="m 467.2,458.91855 c 0,25.4 0,25.4 0,25.4" - class="st20" - inkscape:label="phosphoglycerate mutase" - inkscape:connector-curvature="0" - id="R_PGAM2_PGAM1_BPGM_PGAM4_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 465.1,482.61855 c 2.2,7.3 2.2,7.3 2.2,7.3 l 2.2,-7.3 -2.2,1.8 -2.2,-1.8 z" - class="st14" - inkscape:label="forward PGM" - inkscape:connector-curvature="0" - id="F_PGAM2_PGAM1_BPGM_PGAM4_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 464.9,516.91855 c 2.2,-7.3 2.2,-7.3 2.2,-7.3 l 2.2,7.3 -2.2,-1.8 -2.2,1.8 z" - class="st14" - inkscape:label="backward enolase" - inkscape:connector-curvature="0" - id="B_ENO1_ENO3_ENO2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text99" - class="st15 st16" - x="492.44656" - y="284.29803">DHAP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.28920007" - d="m 462.7,265.81855 c 0,31.9 0,31.9 0,31.9 m 0.6,-17.7 20.2,0" - class="st21" - inkscape:connector-curvature="0" - id="R_ALDOC_ALDOB_ALDOA_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 482.4,278.01855 c 6.1,2.2 6.1,2.2 6.1,2.2 l -6.1,2.2 1.5,-2.2 -1.5,-2.2 z m -21.6,17.9 c 2.2,7.3 2.2,7.3 2.2,7.3 l 2.2,-7.3 -2.2,1.8 -2.2,-1.8 z" - class="st22" - inkscape:connector-curvature="0" - id="F_ALDOC_ALDOB_ALDOA_2" /><path - style="fill:none;stroke:#000000;stroke-width:1.94120002" - d="m 503.2,293.81855 2.4,-4 0.8,-1.3 -4.9,2.1 1.9,0.6 -0.2,2.6 z" - class="st23" - sodipodi:nodetypes="cccccc" - inkscape:label="backward TPI1_TPI1P2 " - inkscape:connector-curvature="0" - id="B_TPI1_TPI1P2" /><path - style="fill:none;stroke:#000000;stroke-width:1.96609998" - d="m 488.7,300.71855 c -3.2,5.4 -3.2,5.4 -3.2,5.4 l 5,-2.3 -1.9,-0.6 0.1,-2.5 z" - class="st24" - inkscape:label="forwardTPI1_TPI1P2 " - inkscape:connector-curvature="0" - id="F_TPI1_TPI1P2" /><path - style="fill:none;stroke:#000000;stroke-width:1.0869" - d="m 502.6,291.71855 -14.9,13" - class="st25" - inkscape:label="TPI1_TPI1P2 " - inkscape:connector-curvature="0" - id="R_TPI1_TPI1P2" /><text - style="font-size:10px;font-family:Calibri" - id="text106" - class="st17 st18" - x="485.7688" - y="533.16919">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text108" - class="st17 st26" - x="491.9993" - y="535.16919">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text110" - class="st17 st18" - x="495.08768" - y="533.16919">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text112" - class="st17 st18" - x="391.7298" - y="593.52759">NAD</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text114" - class="st15 st16" - x="532.302" - y="158.84834">6Pgl</text> -<text - style="font-size:10px;font-family:Calibri" - id="text116" - class="st17 st18" - x="471.15601" - y="174.58125">NADP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text118" - class="st15 st16" - x="598.32654" - y="159.01485">6PDG</text> -<text - style="font-size:10px;font-family:Calibri" - id="text120" - class="st17 st18" - x="627.64771" - y="176.58224">NADP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text122" - class="st15 st16" - x="694.76404" - y="159.07295">Ru5P</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text124" - class="st15 st16" - x="777.18494" - y="174.95485">R5P</text> -<text - style="font-size:10px;font-family:Calibri" - id="text126" - class="st17 st18" - x="754.10773" - y="199.29225">AMP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text128" - class="st17 st18" - x="760.08435" - y="185.74825">ATP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.01740003" - d="m 588.2,152.11855 c 7.3,2.2 7.3,2.2 7.3,2.2 l -7.3,2.2 1.8,-2.2 -1.8,-2.2 z" - class="st27" - inkscape:label="forward H6PD_PGLS " - inkscape:connector-curvature="0" - id="F_H6PD_PGLS" /><text - style="font-size:10px;font-family:Calibri" - id="text131" - class="st17 st18" - x="564.25323" - y="173.96214">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text133" - class="st17 st26" - x="570.4837" - y="175.96214">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text135" - class="st17 st18" - x="573.57251" - y="173.96214">O</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text137" - class="st15 st16" - x="774.87531" - y="143.11105">Xil5P</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.88900006" - d="m 814.5,167.11855 c -5.3,2.4 -5.3,2.4 -5.3,2.4 l 2.8,-4.7 0.2,2 2.3,0.3 z m -1.4,-20.6 c -2.5,-4.8 -2.5,-4.8 -2.5,-4.8 l 5.1,2.6 -2.3,0.2 -0.3,2 z" - class="st28" - inkscape:label="forward TKTL1_TKTL2_TKT_2" - inkscape:connector-curvature="0" - id="F_TKTL1_TKTL2_TKT_2" /><path - style="fill:none;stroke:#000000;stroke-width:1.88900006" - d="m 834,143.41855 c 5.2,-2.5 5.2,-2.5 5.2,-2.5 l -2.6,4.7 -0.3,-2 -2.3,-0.2 z m 3.8,21.6 c 2.6,4.8 2.6,4.8 2.6,4.8 l -5.2,-2.6 2.3,-0.2 0.3,-2 z" - class="st28" - inkscape:label="backward TKTL1_TKTL2_TKT_2 " - inkscape:connector-curvature="0" - id="B_TKTL1_TKTL2_TKT_2" /><path - style="fill:none;stroke:#000000;stroke-width:1.77690005" - d="m 813,144.01855 23.9,22.6 0,0 m -24.8,0.5 23.9,-22.6" - class="st29" - inkscape:label="TKTL1_TKTL2_TKT_2 " - inkscape:connector-curvature="0" - id="R_TKTL1_TKTL2_TKT_2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text142" - class="st15 st16" - x="842.75421" - y="140.81226">Sed7P</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text144" - class="st15 st16" - x="844.42902" - y="174.28685">GA3P</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 890,164.31855 c -5.3,2.3 -5.3,2.3 -5.3,2.3 l 2.8,-4.5 0.2,2 2.3,0.2 z m -1.4,-20.1 c -2.5,-4.7 -2.5,-4.7 -2.5,-4.7 l 5.1,2.6 -2.3,0.1 -0.3,2 z" - class="st30" - inkscape:label="backward TALDO1 " - inkscape:connector-curvature="0" - id="B_TALDO1" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 912.3,141.61855 c 5.2,-2.4 5.2,-2.4 5.2,-2.4 l -2.7,4.6 -0.3,-2 -2.2,-0.2 z m 3.9,21.1 c 2.6,4.6 2.6,4.6 2.6,4.6 l -5.2,-2.5 2.3,-0.2 0.3,-1.9 z" - class="st30" - inkscape:label="forward TALDO1 " - inkscape:connector-curvature="0" - id="F_TALDO1" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 888.1,141.41855 26.3,22.8 0,0 m -27.2,0.6 26.3,-22.8" - class="st30" - inkscape:label="TALDO1 " - inkscape:connector-curvature="0" - id="R_TALDO1" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text149" - class="st15 st16" - x="922.31085" - y="174.11154">Ery4P</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text151" - class="st15 st16" - x="921.73865" - y="140.67255">F6P</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.69710004" - d="m 967.5,191.21855 c -5.2,1.9 -5.2,1.9 -5.2,1.9 l 2.7,-3.8 0.2,1.7 2.3,0.2 z m -1.3,-16.9 c -2.4,-3.9 -2.4,-3.9 -2.4,-3.9 l 5,2.2 -2.2,0.1 -0.4,1.6 z" - class="st31" - inkscape:label="forward TKTL1_TKTL2_TKT_1 " - inkscape:connector-curvature="0" - id="F_TKTL1_TKTL2_TKT_1" /><path - style="fill:none;stroke:#000000;stroke-width:1.69710004" - d="m 989.2,172.21855 c 5.1,-2 5.1,-2 5.1,-2 l -2.6,3.9 -0.3,-1.7 -2.2,-0.2 z m 3.8,17.8 c 2.5,3.9 2.5,3.9 2.5,3.9 l -5.1,-2.1 2.2,-0.2 0.4,-1.6 z" - class="st31" - inkscape:label="backward TKTL1_TKTL2_TKT_1 " - inkscape:connector-curvature="0" - id="B_TKTL1_TKTL2_TKT_1" /><path - style="fill:none;stroke:#000000;stroke-width:1.69710004" - d="m 965.6,172.01855 25.6,19.2 0,0 m -26.5,0.5 25.6,-19.2" - class="st31" - inkscape:label="TKTL1_TKTL2_TKT_1 " - inkscape:connector-curvature="0" - id="R_TKTL1_TKTL2_TKT_1" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text156" - class="st15 st16" - x="997.87823" - y="172.36835">GA3P</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text158" - class="st15 st16" - x="998.20343" - y="200.00905">F6P</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text160" - class="st15 st16" - x="924.83331" - y="199.35765">Xil5P</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text162" - class="st15 st16" - x="899.55011" - y="119.60376">Sed1,7BP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text164" - class="st17 st18" - x="862.2395" - y="101.52756">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text166" - class="st17 st18" - x="878.388" - y="101.37626">ADP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 974.2,113.01855 c -7.1,2.6 -7.1,2.6 -7.1,2.6 l 7.3,1.8 -2,-2 1.8,-2.4 z" - class="st32" - inkscape:label="forward ALDOC_ALDOB_ALDOA_1 " - inkscape:connector-curvature="0" - id="F_ALDOC_ALDOB_ALDOA_1" /><path - style="fill:none;stroke:#000000;stroke-width:1.84440005" - d="m 988.6,115.41855 0,13.6 m -16.1,-13.5 32.6,0" - class="st13" - inkscape:connector-curvature="0" - id="R_ALDOC_ALDOB_ALDOA_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.03660011" - d="m 990.5,127.81855 c -1.7,5.4 -1.7,5.4 -1.7,5.4 l -2.2,-5.2 2,1.3 1.9,-1.5 z m 13.7,-14.3 c 6.9,2.2 6.9,2.2 6.9,2.2 l -6.9,2.2 1.7,-2.2 -1.7,-2.2 z" - class="st33" - inkscape:label="B ALDOC_ALDOB_ALDOA_1" - inkscape:connector-curvature="0" - id="B_ALDOC_ALDOB_ALDOA_1" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text171" - class="st15 st16" - x="1014.1517" - y="119.70486">Ery4P</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text173" - class="st15 st16" - x="968.1048" - y="145.78055">DHAP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text175" - class="st15 st16" - x="771.2854" - y="226.97975">PRPP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text177" - class="st17 st18" - x="826.94464" - y="243.12035">Gly</text> -<text - style="font-size:10px;font-family:Calibri" - id="text179" - class="st17 st18" - x="913.92413" - y="243.37524">2 10-forTHF</text> -<text - style="font-size:10px;font-family:Calibri" - id="text181" - class="st17 st18" - x="857.57452" - y="209.29074">2 THF</text> -<text - style="font-size:10px;font-family:Calibri" - id="text183" - class="st17 st18" - x="884.82159" - y="209.54565">PPi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text185" - class="st17 st18" - x="901.06671" - y="208.81564">4 ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text187" - class="st17 st18" - x="836.94171" - y="209.48065">Fum</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text189" - class="st15 st16" - x="1001.889" - y="227.94115">IMP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text191" - class="st17 st18" - x="802.77081" - y="243.09105">2 Gln</text> -<text - style="font-size:10px;font-family:Calibri" - id="text193" - class="st17 st18" - x="812.37921" - y="209.35135">2 Glu</text> -<text - style="font-size:10px;font-family:Calibri" - id="text195" - class="st17 st18" - x="890.34705" - y="243.16335">4 ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text197" - class="st17 st18" - x="868.02661" - y="242.86446">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text199" - class="st17 st26" - x="874.25714" - y="244.86446">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text201" - class="st17 st18" - x="877.34601" - y="242.86446">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text203" - class="st17 st18" - x="964.69855" - y="243.09105">CO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text205" - class="st17 st26" - x="976.56384" - y="245.09105">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text207" - class="st15 st16" - x="1268.7963" - y="274.35965">GDP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text209" - class="st17 st18" - x="1227.5297" - y="295.81955">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text211" - class="st17 st18" - x="1245.308" - y="295.39575">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text213" - class="st17 st18" - x="588.70343" - y="538.1087">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text215" - class="st17 st18" - x="593.98761" - y="501.60864">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text217" - class="st17 st18" - x="617.54913" - y="538.3645">CoA</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text219" - class="st15 st16" - x="663.85974" - y="522.77277">AcCoA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text221" - class="st17 st18" - x="631.93585" - y="501.30786">OAA</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text223" - class="st15 st16" - x="1047.556" - y="522.03638">ippPP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text225" - class="st15 st16" - x="1123.9662" - y="522.45044">fPP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text227" - class="st15 st16" - x="1293.7357" - y="521.42017">Chol</text> -<text - style="font-size:10px;font-family:Calibri" - id="text229" - class="st17 st18" - x="715.52472" - y="482.08426">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text231" - class="st17 st18" - x="735.80505" - y="481.85086">HCO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text233" - class="st17 st26" - x="753.9007" - y="483.85086">3</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text235" - class="st17 st26" - x="756.98865" - y="476.35086">-</text> -<text - style="font-size:10px;font-family:Calibri" - id="text237" - class="st17 st18" - x="763.59314" - y="481.23465">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text239" - class="st17 st18" - x="727.01691" - y="449.72195">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text241" - class="st17 st18" - x="766.38605" - y="449.12424">Pi</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text243" - class="st15 st16" - x="790.05304" - y="468.83524">MalCoA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text245" - class="st17 st18" - x="882.31775" - y="413.45636">CO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text247" - class="st17 st26" - x="894.18292" - y="415.45636">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text249" - class="st15 st16" - x="914.74835" - y="432.96216">AcAcACP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text251" - class="st17 st18" - x="999.9397" - y="447.29025">14NADPH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text253" - class="st17 st18" - x="1008.5541" - y="412.44064">14NADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text255" - class="st17 st18" - x="1071.347" - y="412.67795">6 H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text257" - class="st17 st26" - x="1084.9066" - y="414.67795">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text259" - class="st17 st18" - x="1087.9945" - y="412.67795">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text261" - class="st17 st18" - x="1045.3734" - y="412.36255">6 CO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text263" - class="st17 st26" - x="1064.5677" - y="414.36255">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text265" - class="st15 st16" - x="1105.4926" - y="433.46994">Palm</text> -<text - style="font-size:10px;font-family:Calibri" - id="text267" - class="st17 st18" - x="949.78149" - y="447.81464">6 MalACP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text269" - class="st17 st18" - x="982.41632" - y="413.04025">7 ACP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text271" - class="st17 st18" - x="857.53351" - y="449.55005">CoA</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text273" - class="st15 st16" - x="887.2757" - y="468.92606">MalACP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text275" - class="st17 st18" - x="848.5813" - y="482.83524">ACP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text277" - class="st17 st18" - x="756.85382" - y="411.64575">CoA</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text279" - class="st15 st16" - x="791.37335" - y="434.89474">AcACP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text281" - class="st17 st18" - x="747.01202" - y="447.85574">ACP</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.59029996" - d="m 761,430.21855 c -5.4,1.2 -4.9,10.4 -4.9,10.4 m 4.5,-10.5 c 5.3,-1 4,-9.8 4,-9.8 m -64.6,89 0.4,-79.2 79.6,0" - class="st34" - inkscape:connector-curvature="0" - id="R_FASN_1" /><path - style="fill:none;stroke:#000000;stroke-width:1.72870004" - d="m 855.7,430.31855 c 6.2,-0.4 7.2,-8.3 7.2,-8.3 m 28,33.5 -10,-25.7 m -45.2,0.4 68.9,-0.3 m -20.5,0.2 c 6.1,-0.6 6.4,-8.5 6.4,-8.5" - class="st35" - inkscape:connector-curvature="0" - id="R_AcAcACPSynthesis" /><text - style="font-size:10px;font-family:Calibri" - id="text285" - class="st17 st18" - x="855.91821" - y="414.73166">ACP</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.77409995" - d="m 729.6,464.51855 c -6,1.1 -5.5,9.1 -5.5,9.1 m 5.8,-9.3 c 5.9,-0.9 4.4,-8.8 4.4,-8.8 m 30.6,8.8 c 5.9,-0.9 4.4,-8.8 4.4,-8.8 m -59.2,8.5 25.7,0.6 44.2,-0.3 m -28,0.2 c -6,1.1 -5.5,9.1 -5.5,9.1 m 25.5,-9.1 c -6,1.1 -5.5,9.1 -5.5,9.1 m -56.2,37.3 0,-47.7" - class="st36" - inkscape:label="ACACB_PRKAG2_PRKAB2_ACACA_PRKAA2" - inkscape:connector-curvature="0" - id="R_ACACB_PRKAG2_PRKAB2_ACACA_PRKAA2" /><path - style="fill:none;stroke:#000000;stroke-width:2.23090005" - d="m 1428,1116.5186 c -6.9,-2.1 -6.9,-2.1 -6.9,-2.1 l 6.9,-2.3 -1.7,2.2 1.7,2.2 z m 57.5,-14.1 c 1.8,-5.9 1.8,-5.9 1.8,-5.9 l 2.5,5.6 -2.3,-1.3 -2,1.6 z" - class="st37" - inkscape:connector-curvature="0" - id="F_ALDH3B1_ALDH3A1_ALDH3B2_ALDH1A3" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1499.2,1027.2186 -73.8,0 0,0 m 21.8,0 c -5.9,-1.6 -4.4,-14.8 -4.4,-14.8 m 43.4,14.6 c 4.7,-3.6 3.8,-14.7 1.1,-14.6" - class="st32" - inkscape:connector-curvature="0" - id="R_SLC25A3" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text290" - class="st15 st16" - x="1480.8578" - y="1008.175">H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text292" - class="st15 st16" - x="1501.9437" - y="1029.9797">Pi</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text294" - class="st15 st16" - x="1438.8285" - y="1005.4563">H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text296" - class="st15 st16" - x="1401.4027" - y="1030.7034">Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.23090005" - d="m 1425.9,1028.9186 c -6.9,-2.1 -6.9,-2.1 -6.9,-2.1 l 6.9,-2.3 -1.7,2.2 1.7,2.2 z m 14.4,-15.2 c 2.4,-5.7 2.4,-5.7 2.4,-5.7 l 2,5.8 -2.1,-1.5 -2.3,1.4 z" - class="st37" - inkscape:connector-curvature="0" - id="F_SLC25A3" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1502.9,1072.8186 c -24.6,0 -49.2,0 -73.8,0 m 21.8,0 c -3.5,-1 -4.2,-5.1 -4.5,-8.3 -0.2,-2 -0.1,-3.9 0.1,-5.9 m 43,14 c 0.4,-4.6 2.5,-9 2.7,-13.7 0,-0.4 -0.1,-1.1 -0.7,-1.1" - class="st32" - inkscape:connector-curvature="0" - id="R_SLC25A5_SLC25A4_SLC25A6" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text300" - class="st15 st16" - x="1479.5199" - y="1049.1731">ATP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text302" - class="st15 st16" - x="1511.3929" - y="1077.179">ADP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text304" - class="st15 st16" - x="1432.8539" - y="1049.8508">ATP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text306" - class="st15 st16" - x="1391.6039" - y="1077.1125">ADP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.23090005" - d="m 1429.5,1074.5186 c -6.9,-2.1 -6.9,-2.1 -6.9,-2.1 l 6.9,-2.3 -1.7,2.2 1.7,2.2 z m 61,-14.2 c 2.1,-5.8 2.1,-5.8 2.1,-5.8 l 2.2,5.7 -2.2,-1.4 -2.1,1.5 z" - class="st37" - inkscape:label="#F_SLC25A5_SLC25A4_SLC25A6" - inkscape:connector-curvature="0" - id="F_SLC25A5_SLC25A4_SLC25A6" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1501.4,1114.8186 -73.8,0 0,0 m 21.8,0 c -5.9,-1.4 -4.4,-13.5 -4.4,-13.5 m 41.7,-1 c 3.2,6.1 -5.5,14.6 -5.5,14.6" - class="st32" - inkscape:connector-curvature="0" - id="R_ALDH3B1_ALDH3A1_ALDH3B2_ALDH1A3" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text310" - class="st15 st38" - x="1473.5541" - y="1092.8215">GTP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text312" - class="st15 st16" - x="1509.8929" - y="1117.5793">GDP</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text314" - class="st15 st38" - x="1428.8754" - y="1092.8958">GTP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text316" - class="st15 st16" - x="1390.0355" - y="1119.3235">GDP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.23090005" - d="m 1500.2,1112.5186 c 6.6,3 6.6,3 6.6,3 l -7.1,1.4 2,-2 -1.5,-2.4 z m -57.8,-10.4 c 2.4,-5.7 2.4,-5.7 2.4,-5.7 l 2,5.8 -2.1,-1.5 -2.3,1.4 z" - class="st37" - inkscape:connector-curvature="0" - id="B_ALDH3B1_ALDH3A1_ALDH3B2_ALDH1A3" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1442.3,832.21855 c -6.9,-2.1 -6.9,-2.1 -6.9,-2.1 l 6.9,-2.3 -1.7,2.2 1.7,2.2 z" - class="st32" - inkscape:label="forward AQP8 " - inkscape:connector-curvature="0" - id="F_AQP8" /><path - style="fill:none;stroke:#000000;stroke-width:1.77520001" - d="m 1493,830.41855 -50.4,0 0,0" - class="st39" - inkscape:label="AQP8 " - inkscape:connector-curvature="0" - id="R_AQP8" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1489,828.11855 c 6.6,3 6.6,3 6.6,3 l -7.1,1.4 2,-2 -1.5,-2.4 z" - class="st32" - inkscape:transform-center-y="2.6134784" - inkscape:transform-center-x="-0.38596577" - inkscape:label="backward AQP8 " - inkscape:connector-curvature="0" - id="B_AQP8" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text322" - class="st15 st16" - x="1501.9828" - y="834.84888">H</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text324" - class="st15 st40" - x="1512.0765" - y="838.04907">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text326" - class="st15 st16" - x="1517.0179" - y="834.84888">O</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text328" - class="st15 st16" - x="1405.2406" - y="834.85181">H</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text330" - class="st15 st40" - x="1415.3344" - y="838.052">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text332" - class="st15 st16" - x="1420.2758" - y="834.85181">O</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text334" - class="st15 st16" - x="1501.2924" - y="920.34888">O</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text336" - class="st15 st40" - x="1512.1127" - y="923.54907">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text338" - class="st15 st16" - x="1414.5111" - y="921.31366">O</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text340" - class="st15 st40" - x="1425.3314" - y="924.51385">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text342" - class="st15 st16" - x="1500.6859" - y="857.42798">CO</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text344" - class="st15 st40" - x="1519.8578" - y="860.6272">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text346" - class="st15 st16" - x="1405.0785" - y="858.29315">CO</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text348" - class="st15 st40" - x="1424.2504" - y="861.49341">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text350" - class="st15 st16" - x="1500.932" - y="879.84888">CoA</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text352" - class="st15 st16" - x="1400.6957" - y="879.69458">CoA</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1441.9,917.71855 c -6.9,-2.1 -6.9,-2.1 -6.9,-2.1 l 6.9,-2.3 -1.7,2.2 1.7,2.2 z" - class="st32" - inkscape:label="TransportOxygen F" - inkscape:connector-curvature="0" - id="F_TransportOxygen" /><path - style="fill:none;stroke:#000000;stroke-width:1.88160002" - d="m 1497.8,915.91855 -56.7,0 0,0" - class="st41" - inkscape:label="TransportOxygen" - inkscape:connector-curvature="0" - id="R_TransportOxygen" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1440.8,854.71855 c -6.9,-2.1 -6.9,-2.1 -6.9,-2.1 l 6.9,-2.3 -1.7,2.2 1.7,2.2 z" - class="st32" - inkscape:label="forward Transport_CO2 " - inkscape:connector-curvature="0" - id="F_Transport_CO2" /><path - style="fill:none;stroke:#000000;stroke-width:1.86150002" - d="m 1493.5,852.91855 -55.5,0 0,0" - class="st42" - inkscape:label="Transport_CO2 " - inkscape:connector-curvature="0" - id="R_Transport_CO2" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1489,850.31855 c 6.6,3 6.6,3 6.6,3 l -7.1,1.4 2,-2 -1.5,-2.4 z" - class="st32" - inkscape:transform-center-y="2.6134784" - inkscape:transform-center-x="-0.38596577" - inkscape:label="backward Transport_CO2 " - inkscape:connector-curvature="0" - id="B_Transport_CO2" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1440.8,877.21855 c -6.9,-2.1 -6.9,-2.1 -6.9,-2.1 l 6.9,-2.3 -1.7,2.2 1.7,2.2 z" - class="st32" - inkscape:label="backward SLC25A16 " - inkscape:connector-curvature="0" - id="B_SLC25A16" /><path - style="fill:none;stroke:#000000;stroke-width:1.79229999" - d="m 1492.5,875.11855 -51.4,0 0,0" - class="st43" - inkscape:label="SLC25A16 " - inkscape:connector-curvature="0" - id="R_SLC25A16" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1490.5,872.71855 c 6.6,3 6.6,3 6.6,3 l -7.1,1.4 2,-2 -1.5,-2.4 z" - class="st32" - inkscape:transform-center-y="2.6134784" - inkscape:transform-center-x="-0.38596577" - inkscape:label="forward SLC25A16 " - inkscape:connector-curvature="0" - id="F_SLC25A16" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text362" - class="st15 st16" - x="1501.2006" - y="899.49829">NH</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text364" - class="st15 st40" - x="1521.8334" - y="902.69849">3</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text366" - class="st15 st16" - x="1402.0922" - y="899.6507">NH</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text368" - class="st15 st40" - x="1422.725" - y="902.85089">3</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1439.3,896.71855 c -6.9,-2.1 -6.9,-2.1 -6.9,-2.1 l 6.9,-2.3 -1.7,2.2 1.7,2.2 z" - class="st32" - inkscape:label="forward HIBCH " - inkscape:connector-curvature="0" - id="F_HIBCH" /><path - style="fill:none;stroke:#000000;stroke-width:1.86909997" - d="m 1494.1,894.91855 -55.9,0 0,0" - class="st44" - inkscape:label="HIBCH " - inkscape:connector-curvature="0" - id="R_HIBCH" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1490.8,892.61855 c 6.6,3 6.6,3 6.6,3 l -7.1,1.4 2,-2 -1.5,-2.4 z" - class="st32" - inkscape:transform-center-y="2.6134784" - inkscape:transform-center-x="-0.38596577" - inkscape:label="backward HIBCH " - inkscape:connector-curvature="0" - id="B_HIBCH" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text373" - class="st15 st16" - x="183.5808" - y="877.27655">AKG</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text375" - class="st15 st16" - x="284.44901" - y="878.07635">AKG</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.82299995" - d="m 275.8,872.81855 -60.2,-0.3 m 44.6,0.3 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m -26.7,14.1 c -6.2,-6.3 -6.2,-9.5 -6.8,-12.7" - class="st45" - inkscape:connector-curvature="0" - id="R_SLC25A10_3" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text378" - class="st15 st38" - x="225.0891" - y="851.62427">Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.35560012" - d="m 233.9,861.71855 c -2.4,-5.9 -2.4,-5.9 -2.4,-5.9 l -2.3,6 2.3,-1.5 2.4,1.4 z m 40.1,13.1 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z" - class="st46" - inkscape:connector-curvature="0" - id="F_SLC25A10_3" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text381" - class="st15 st16" - x="541.16345" - y="867.11346">OAA</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text383" - class="st15 st16" - x="444.4646" - y="817.42017">AcCoA</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text385" - class="st15 st16" - x="552.0061" - y="801.70825">Cit</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text387" - class="st15 st16" - x="584.02271" - y="750.14575">Isocit</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text389" - class="st15 st16" - x="720.78931" - y="750.92017">AKG</text> -<text - style="font-size:10px;font-family:Calibri" - id="text391" - class="st17 st18" - x="618.72882" - y="720.4563">NADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text393" - class="st17 st18" - x="647.54321" - y="718.54126">NADPH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text395" - class="st17 st18" - x="620.67413" - y="781.10181">NAD</text> -<text - style="font-size:10px;font-family:Calibri" - id="text397" - class="st17 st18" - x="649.48175" - y="783.26978">NADH</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text399" - class="st15 st16" - x="762.93884" - y="808.12225">SuCoA</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text401" - class="st15 st16" - x="768.40649" - y="883.388">Succ</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text403" - class="st15 st16" - x="702.18781" - y="941.1272">Fum</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text405" - class="st15 st16" - x="578.7005" - y="921.75116">Mal</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.04839993" - d="m 566.7,779.01855 c -1.3,6.1 -1.3,6.1 -1.3,6.1 l 4.5,-4.4 -2.3,0.5 -0.9,-2.2 z" - class="st47" - inkscape:label="backward aconitase" - inkscape:connector-curvature="0" - id="B_ACO2_ACO1_1" /><path - style="fill:none;stroke:#000000;stroke-width:1.12699997" - d="m 566.9,782.01855 c 4.6,-9.3 11.1,-17.4 19,-23.8" - class="st48" - inkscape:connector-curvature="0" - id="R_ACO2_ACO1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.04839993" - d="m 585.4,760.31855 c 3.7,-5 3.7,-5 3.7,-5 l -5.8,2.2 2.3,0.5 -0.2,2.3 z" - class="st47" - inkscape:label="forward aconitase" - inkscape:connector-curvature="0" - id="F_ACO2_ACO1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.04839993" - d="m 613.2,930.01855 c -5.9,-2.2 -5.9,-2.2 -5.9,-2.2 l 3.7,5 -0.1,-2.3 2.3,-0.5 z" - class="st47" - inkscape:label="forward fumarase" - inkscape:connector-curvature="0" - id="F_FH_1" /><path - style="fill:none;stroke:#000000;stroke-width:1.53830004" - d="m 750,753.21855 c 11.4,9.5 20.7,21.6 27.4,35.6 m 7.1,-13.7 c -5.5,3.4 -13.1,1.9 -17.3,-3.3 -4.2,-5.2 -3.5,-12.4 1.5,-16.3" - class="st49" - inkscape:label="DLSTP1_DLD_OGDH_PDHX_DLST_DHTKD1_OGDHL" - inkscape:connector-curvature="0" - id="R_DLSTP1_DLD_OGDH_PDHX_DLST_DHTKD1_OGDHL" /><text - style="font-size:10px;font-family:Calibri" - id="text412" - class="st17 st18" - x="770.49744" - y="758.63306">NAD</text> -<text - style="font-size:10px;font-family:Calibri" - id="text414" - class="st17 st18" - x="788.89093" - y="758.63306">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text416" - class="st17 st18" - x="793.8714" - y="758.63306">CoA</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.4921" - d="m 804.5,854.61855 c -5.7,0.4 -11.1,-2.1 -14.1,-6.4 -3,-4.3 -3,-9.8 -0.1,-14.1 2.9,-4.3 8.3,-6.9 14,-6.5 m -18.4,38.9 c 3.7,-17.5 3.4,-35.7 -0.7,-53.3" - class="st50" - inkscape:connector-curvature="0" - id="R_KANK1_SUCLA2_SUCLG1_SUCLG2_1" /><text - style="font-size:10px;font-family:Calibri" - id="text419" - class="st17 st18" - x="812.39685" - y="828.55005">GDP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text421" - class="st17 st18" - x="830.02374" - y="828.55005">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text423" - class="st17 st18" - x="835.00421" - y="828.55005">Pi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text425" - class="st17 st18" - x="814.06671" - y="857.71606">GTP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text427" - class="st17 st18" - x="830.36554" - y="857.71606">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text429" - class="st17 st18" - x="835.34601" - y="857.71606">CoA</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.41170001" - d="m 762.8,933.01855 c -4.7,-2.1 -7.7,-6.5 -7.5,-11.2 0.2,-4.7 3.4,-8.9 8.2,-10.5 4.8,-1.7 10.3,-0.5 14,2.9 m -2.6,-22 c -9,15.5 -21.4,28.8 -36.4,39.2" - class="st51" - inkscape:connector-curvature="0" - id="R_SDHA_SDHB_SDHC_SDHD" /><text - style="font-size:10px;font-family:Calibri" - id="text432" - class="st17 st18" - x="784.63501" - y="920.19165">FAD</text> -<text - style="font-size:10px;font-family:Calibri" - id="text434" - class="st17 st18" - x="764.34894" - y="943.30975">FADH</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text436" - class="st17 st26" - x="786.55115" - y="945.30975">2</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.37870002" - d="m 578.6,907.21855 c -8.4,-8.4 -15,-18.8 -19.3,-30.4 m -8,12 c 3.1,-2 7.4,-2.3 10.9,-0.8 3.6,1.6 5.8,4.7 5.8,8.2 0,3.4 -2.2,6.6 -5.8,8" - class="st52" - inkscape:connector-curvature="0" - id="R_MDH2" /><text - style="font-size:10px;font-family:Calibri" - id="text439" - class="st17 st18" - x="537.08234" - y="912.11646">NAD</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text441" - class="st15 st16" - x="451.4158" - y="732.70825">Pyr</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.24370003" - d="m 464.2,739.41855 0.2,56.6 m -0.5,-21.6 c 1.5,5.9 13.6,4.1 13.6,4.1 m -13.3,-14.1 c 1.5,5.9 13.4,4.1 13.4,4.1 m -13.1,1.8 c -1.6,-6 -12.9,-5.2 -12.9,-5.2 m 12.4,-12.6 c -1.5,-6 -12.4,-5.2 -12.4,-5.2 m 12.7,6.1 c 1.5,5.9 13.2,4.1 13.2,4.1" - class="st53" - inkscape:label="DLD_PDHX_PDHA1_DLAT_PDHA2_PDHB " - inkscape:connector-curvature="0" - id="R_DLD_PDHX_PDHA1_DLAT_PDHA2_PDHB" /><text - style="font-size:10px;font-family:Calibri" - id="text444" - class="st17 st18" - x="567.64972" - y="846.81366">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text446" - class="st17 st26" - x="573.88025" - y="848.81366">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text448" - class="st17 st18" - x="576.96814" - y="846.81366">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text450" - class="st17 st18" - x="569.51593" - y="825.74438">CoA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text452" - class="st17 st18" - x="695.72681" - y="780.76196">CO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text454" - class="st17 st26" - x="707.5921" - y="782.76196">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text456" - class="st17 st18" - x="696.48865" - y="719.4046">CO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text458" - class="st17 st26" - x="708.35382" - y="721.4046">2</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.04839993" - d="m 664.2,952.91855 c 5.8,2.2 5.8,2.2 5.8,2.2 l -3.7,-5 0.1,2.3 -2.2,0.5 z m 27.9,-11.2 c 4.9,-3.8 4.9,-3.8 4.9,-3.8 l -6.2,0.6 2,1.1 -0.7,2.1 z" - class="st47" - inkscape:connector-curvature="0" - id="B_FH_1" /><path - style="fill:none;stroke:#000000;stroke-width:1.84920001" - d="m 666.6,952.31855 -16.4,-9.8 m 41.7,-2.8 c -33.5,7.3 -52.1,2.6 -79.1,-8.8" - class="st54" - inkscape:connector-curvature="0" - id="R_FH_1" /><text - style="font-size:10px;font-family:Calibri" - id="text462" - class="st17 st18" - x="672.46021" - y="961.96796">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text464" - class="st17 st26" - x="678.69073" - y="963.96796">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text466" - class="st17 st18" - x="681.7796" - y="961.96796">O</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.81599998" - d="m 561.8,902.51855 c -4,4 -4,4 -4,4 l 5.5,-0.9 -1.9,-1 0.4,-2.1 z m 13.6,3.9 c 6,1.7 6,1.7 6,1.7 l -4.1,-4.7 0.3,2.3 -2.2,0.7 z" - class="st55" - inkscape:connector-curvature="0" - id="B_MDH2" /><path - style="fill:none;stroke:#000000;stroke-width:1.81599998" - d="m 739.7,928.21855 c -4.1,4.7 -4.1,4.7 -4.1,4.7 l 6,-1.7 -2.2,-0.7 0.3,-2.3 z m 21.4,5.7 c 5.3,1.4 5.3,1.4 5.3,1.4 l -3.6,-4.5 0.3,2.3 -2,0.8 z" - class="st55" - inkscape:connector-curvature="0" - id="F_SDHA_SDHB_SDHC_SDHD" /><path - style="fill:none;stroke:#000000;stroke-width:1.81599998" - d="m 774.9,896.21855 c 1.3,-6.1 1.3,-6.1 1.3,-6.1 l -4.4,4.4 2.3,-0.5 0.8,2.2 z m 1.2,19.4 c 6.1,1.1 6.1,1.1 6.1,1.1 l -4.5,-4.3 0.5,2.2 -2.1,1 z" - class="st55" - inkscape:connector-curvature="0" - id="B_SDHA_SDHB_SDHC_SDHD" /><path - style="fill:none;stroke:#000000;stroke-width:1.81599998" - d="m 785.2,863.01855 c 0.1,6.2 0.1,6.2 0.1,6.2 l 3.3,-5.3 -2.1,1 -1.3,-1.9 z m 18.8,-7 c 6.1,-1.5 6.1,-1.5 6.1,-1.5 l -5.9,-2 1.4,1.8 -1.6,1.7 z" - class="st55" - inkscape:connector-curvature="0" - id="F_KANK1_SUCLA2_SUCLG1_SUCLG2_1" /><path - style="fill:none;stroke:#000000;stroke-width:1.81599998" - d="m 788.1,817.61855 c -3.6,-5.1 -3.6,-5.1 -3.6,-5.1 l 0.2,6.2 1.2,-2 2.2,0.9 z m 14.8,11.6 c 6,-1.6 6,-1.6 6,-1.6 l -5.9,-1.9 1.5,1.8 -1.6,1.7 z" - class="st55" - inkscape:connector-curvature="0" - id="B_KANK1_SUCLA2_SUCLG1_SUCLG2_1" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text473" - class="st15 st16" - x="177.26639" - y="802.27655">Fum</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text475" - class="st15 st16" - x="283.87378" - y="800.91235">Fum</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.82299995" - d="m 275.8,797.81855 -60.2,-0.3 m 44.6,0.2 c 5.9,-1.6 4.4,-15.3 4.4,-15.3 m -31.3,15.6 c -6.4,-4.5 -7.8,-15.5 -5,-15.5" - class="st45" - inkscape:connector-curvature="0" - id="R_SLC25A10_4" /><path - style="fill:none;stroke:#000000;stroke-width:2.0158999" - d="m 229.9,783.11855 c -2.1,-4.9 -2.1,-4.9 -2.1,-4.9 l -2,5 2.1,-1.3 2,1.2 z m 44.1,16.7 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z" - class="st56" - inkscape:label=" B SLC25A10_4" - inkscape:connector-curvature="0" - id="B_SLC25A10_4" /><path - style="fill:none;stroke:#000000;stroke-width:2.00889993" - d="m 267,783.11855 c -1.6,-5.3 -1.6,-5.3 -1.6,-5.3 l -2.3,5.1 2,-1.2 1.9,1.4 z m -50.7,12.4 c -7.2,2.4 -7.2,2.4 -7.2,2.4 l 7.4,1.9 -1.9,-2.1 1.7,-2.2 z" - class="st57" - inkscape:label="F SLC25A10_4" - inkscape:connector-curvature="0" - id="F_SLC25A10_4" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text480" - class="st15 st38" - x="260.33328" - y="777.0979">Pi</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text482" - class="st15 st38" - x="222.5813" - y="777.03638">Pi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text484" - class="st17 st18" - x="482.52859" - y="702.16626">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text486" - class="st17 st18" - x="444.9617" - y="668.1311">H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text488" - class="st15 st16" - x="465.6225" - y="1131.1801">NAD</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text490" - class="st15 st16" - x="499.44772" - y="1131.5101">QH</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text492" - class="st15 st40" - x="520.51807" - y="1134.7103">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text494" - class="st15 st16" - x="396.8374" - y="1133.059">5 H</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.26660001" - d="m 380.1998,1138.2711 0,17.7 133.5,0 0,-17.7 m -104.6,-1.6 0,18.7 m 26.7,-18.1 0,18.2 m 49,0 0,-17 m -13,17 0,28.6" - class="st58" - inkscape:connector-curvature="0" - id="R_Complex1ROS" - inkscape:label="#R_Complex1ROS" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text505" - class="st15 st16" - x="580.42444" - y="1130.2744">2 Cytc-ox</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text507" - class="st15 st16" - x="738.55164" - y="1130.0198">2 Cytc-red</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text509" - class="st15 st16" - x="834.18854" - y="1130.3486">Q</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text511" - class="st15 st16" - x="667.68347" - y="1131.8838">2H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text513" - class="st15 st16" - x="702.59131" - y="1130.5463">QH</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text515" - class="st15 st40" - x="723.66162" - y="1135.3677">2</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.29487193" - d="m 643.71124,1137.3649 0,18.3 195.54681,0 0,-18.3 m -159.78839,-0.3 0,18.2 m 41.6057,-17.5 0,17.4 m 65.782,0.1 0,-15.3 m -27.54973,15.6 0,24.5" - class="st60" - inkscape:connector-curvature="0" - id="R_Complex3" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text518" - class="st15 st16" - x="746.68384" - y="1199.0907">4 H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text520" - class="st15 st16" - x="888.39905" - y="1132.1252">4 Cytc-red</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text522" - class="st15 st16" - x="1039.7281" - y="1131.0266">4 Cytc-ox</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text524" - class="st15 st16" - x="1123.9191" - y="1132.1672">2H</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text526" - class="st15 st40" - x="1145.7395" - y="1135.3684">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text528" - class="st15 st16" - x="1150.6809" - y="1132.1672">O</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text530" - class="st15 st16" - x="981.8186" - y="1132.9836">8H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text532" - class="st15 st16" - x="1011.5463" - y="1132.6321">O</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text534" - class="st15 st40" - x="1022.3666" - y="1135.8323">2</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.18280005" - d="m 951.7,1138.8186 0,16.2 192.2,0 0,-16.2 m -152.2,-0.5 0,16.2 m 26.6,-15.7 0,15.8 m 53.3,-0.1 0,-13.8 m -23.8,13.8 0,25.4" - class="st61" - inkscape:connector-curvature="0" - id="R_Complex4" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text537" - class="st15 st16" - x="1035.0892" - y="1196.552">4 H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text539" - class="st15 st16" - x="890.96515" - y="866.2962">CO</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text541" - class="st15 st40" - x="910.13702" - y="869.4964">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text543" - class="st15 st16" - x="962.79913" - y="866.07635">HCO</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text545" - class="st15 st40" - x="992.0647" - y="869.27655">3</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text547" - class="st15 st40" - x="997.0061" - y="857.27655">-</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.06990004" - d="m 929.8,861.11855 c -6.3,1.9 -5.8,15.6 -5.8,15.6 m 12.8,-15.5 c 6.4,1.4 4.8,12.8 4.8,12.8 m 11,-13 -36,-0.3" - class="st62" - inkscape:connector-curvature="0" - id="R_CA5B_CA5A" /><text - style="font-size:10px;font-family:Calibri" - id="text550" - class="st17 st18" - x="938.54132" - y="886.07739">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text552" - class="st17 st18" - x="913.19171" - y="885.12616">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text554" - class="st17 st26" - x="919.42224" - y="887.12616">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text556" - class="st17 st18" - x="922.51105" - y="885.12616">O</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 1170.1,1230.7186 2.1,-7.3 2.3,7.3 -2.2,-1.8 -2.2,1.8 z" - class="st14" - inkscape:label="Glucose_DM_COOP b" - inkscape:connector-curvature="0" - id="B_Glucose_DM_COOP" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 1172.1,1229.4186 0.7,48.1" - class="st14" - inkscape:label="Glucose_DM_COOP" - inkscape:connector-curvature="0" - id="R_Glucose_DM_COOP" /><a - transform="translate(1273.3622,1205.6018)" - xlink:href="http://www.genome.jp/dbget-bin/www_bget?cpd:C00031" - id="a14384-0"><text - style="font-size:16px;font-family:Calibri-Bold" - id="text561" - class="st15 st16" - transform="translate(-116.0982,12.7041)">Glc</text> -</a><path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 501.1,1274.6186 2.2,7.2 2.2,-7.2 -2.2,1.8 -2.2,-1.8 z" - class="st63" - inkscape:label="Ex_SC_H2O f" - inkscape:connector-curvature="0" - id="F_Ex_SC_H2O" /><path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 503.2,1227.4186 0,47.6" - class="st63" - inkscape:label="Ex_SC_H2O" - inkscape:connector-curvature="0" - id="R_Ex_SC_H2O" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text565" - class="st15 st16" - x="488.92899" - y="1219.1184">H</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text567" - class="st15 st40" - x="499.02267" - y="1222.3176">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text569" - class="st15 st16" - x="503.96512" - y="1219.1184">O</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.67510009" - d="m 561.7,1232.4186 -2.2,-7.1 -2.2,7.1 2.2,-1.8 2.2,1.8 z" - class="st64" - inkscape:label="Ex_O2 b" - inkscape:connector-curvature="0" - id="B_Ex_O2" /><path - style="fill:none;stroke:#000000;stroke-width:2.67510009" - d="m 559.6,1278.6186 0,-46.6" - class="st64" - inkscape:label="Ex_O2" - inkscape:connector-curvature="0" - id="R_Ex_O2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text573" - class="st15 st16" - x="553.19659" - y="1218.1301">O</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text575" - class="st15 st40" - x="564.01691" - y="1221.3303">2</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 1236.1431,1273.3107 -2.2,7.3 -2.2,-7.3 2.2,1.8 2.2,-1.8 z" - class="st14" - inkscape:label="Glutamine_DM_COOP f" - inkscape:connector-curvature="0" - id="F_Glutamine_DM_COOP" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text579" - class="st15 st16" - x="1219.5931" - y="1218.3059">Gln</text> -<path - style="fill:none;stroke:#000000;stroke-width:3.16359997" - d="m 643.8,1274.6186 2.2,6.9 2.2,-6.9 -2.2,1.7 -2.2,-1.7 z" - class="st65" - inkscape:label="forward Ex_NH3 " - inkscape:connector-curvature="0" - id="F_Ex_NH3" /><path - style="fill:none;stroke:#000000;stroke-width:3.36989999" - d="m 645.9,1223.3186 0,51.7" - class="st66" - inkscape:label="Ex_NH3 " - inkscape:connector-curvature="0" - id="R_Ex_NH3" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text583" - class="st15 st16" - x="635.18091" - y="1219.1711">NH</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text585" - class="st15 st40" - x="655.81384" - y="1222.3713">3</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 841.2,1232.3186 2.2,-7.3 2.2,7.3 -2.2,-1.8 -2.2,1.8 z" - class="st14" - inkscape:label="DM_Folate f" - inkscape:connector-curvature="0" - id="F_DM_Folate" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 843.5,1276.7186 -0.3,-48.1" - class="st14" - inkscape:label="DM_Folate" - inkscape:connector-curvature="0" - id="R_DM_Folate" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text589" - class="st15 st16" - x="821.54034" - y="1218.8098">Folate</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.31469989" - d="m 689.2,1223.4186 0,56.6" - class="st67" - inkscape:label="DM_Urea" - inkscape:connector-curvature="0" - id="R_DM_Urea" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text592" - class="st15 st16" - x="672.34991" - y="1218.9426">Urea</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.22029996" - d="m 890.5,1223.6186 0.3,50.4" - class="st68" - inkscape:label="DM_putrescine" - inkscape:connector-curvature="0" - id="R_DM_putrescine" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text595" - class="st15 st16" - x="873.35284" - y="1219.4836">Putr</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text597" - class="st15 st16" - x="1115.0238" - y="1218.8967">Lact</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.22930002" - d="m 1141.3465,1230.8815 -2.2,-7.7 -2.2,7.7 2.2,-1.9 2.2,1.9 z" - class="st69" - inkscape:label="LactateL_DM_COOP b" - inkscape:connector-curvature="0" - id="B_LactateL_DM_COOP" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 501.1,1232.3186 2.1,-7.3 2.3,7.3 -2.2,-1.8 -2.2,1.8 z" - class="st14" - inkscape:label="Ex_SC_H2O b" - inkscape:connector-curvature="0" - id="B_Ex_SC_H2O" /><path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 532.3,1274.6186 2.2,7.2 2.2,-7.2 -2.2,1.8 -2.2,-1.8 z" - class="st63" - inkscape:label="forward Ex_SC_H " - inkscape:connector-curvature="0" - id="F_Ex_SC_H" /><path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 534.4,1227.4186 0,47.6" - class="st63" - inkscape:label="Ex_SC_Hs" - inkscape:connector-curvature="0" - id="R_Ex_SC_Hs" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text604" - class="st15 st16" - x="529.56775" - y="1219.1184">H</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 532.3,1232.3186 2.1,-7.3 2.3,7.3 -2.2,-1.8 -2.2,1.8 z" - class="st14" - inkscape:label="backward Ex_SC_H " - inkscape:connector-curvature="0" - id="B_Ex_SC_H" /><path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 687.5,1275.3186 2.2,7.2 2.2,-7.2 -2.2,1.8 -2.2,-1.8 z" - class="st63" - inkscape:label="DM_Urea f" - inkscape:connector-curvature="0" - id="F_DM_Urea" /><path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 888.7,1273.2186 2.2,7.2 2.2,-7.2 -2.2,1.8 -2.2,-1.8 z" - class="st63" - inkscape:label="DM_putrescine f" - inkscape:connector-curvature="0" - id="F_DM_putrescine" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text609" - class="st15 st16" - x="1258.4867" - y="1218.8098">Glu</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.22930002" - d="m 1267.4,1273.3186 2.2,7.7 2.2,-7.7 -2.2,1.9 -2.2,-1.9 z" - class="st69" - inkscape:label="Glutamate_DM_COOP f" - inkscape:connector-curvature="0" - id="F_Glutamate_DM_COOP" /><path - style="fill:none;stroke:#000000;stroke-width:2.22930002" - d="m 1270,1225.4186 0,50.5" - class="st69" - inkscape:label="Glutamate_DM_COOP" - inkscape:connector-curvature="0" - id="R_Glutamate_DM_COOP" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text613" - class="st15 st16" - x="1294.558" - y="1219.0598">Arg</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 1305.8,1231.5186 2.2,1.8 -2.2,-7.2 -2.2,7.2 2.2,-1.8 z" - class="st63" - inkscape:label="Arginine_DM_COOP f" - inkscape:connector-curvature="0" - id="F_Arginine_DM_COOP" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text616" - class="st15 st16" - x="577.40161" - y="1218.1838">CO</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text618" - class="st15 st40" - x="598.57355" - y="1221.384">2</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 590,1229.9186 0,47.6" - class="st63" - inkscape:label="DM_CO2c" - inkscape:connector-curvature="0" - id="R_DM_CO2c" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text622" - class="st15 st16" - x="615.26984" - y="1219.7141">Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 620.5,1233.9186 0,47.6" - class="st63" - inkscape:label="Ex_SC_Pi " - inkscape:connector-curvature="0" - id="R_Ex_SC_Pi" /><path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 620.6,1232.5186 2.2,1.8 -2.2,-7.2 -2.2,7.2 2.2,-1.8 z" - class="st63" - inkscape:label="Ex_SC_Pi b" - inkscape:connector-curvature="0" - id="B_Ex_SC_Pi" /><path - style="fill:none;stroke:#000000;stroke-width:1.96669996" - d="m 587.5,1271.4186 1.9,6.8 1.9,-6.8 -1.9,1.7 -1.9,-1.7 z" - class="st70" - inkscape:label="FORWARD DM_CO2c" - inkscape:connector-curvature="0" - id="F_DM_CO2c" /><path - style="fill:none;stroke:#000000;stroke-width:2.22930002" - d="m 618.6,1275.0186 2.2,7.7 2.2,-7.7 -2.2,1.9 -2.2,-1.9 z" - class="st69" - inkscape:label="Ex_SC_Pi f" - inkscape:connector-curvature="0" - id="F_Ex_SC_Pi" /><path - style="fill:none;stroke:#000000;stroke-width:2.13409996" - d="m 927.4,1281.5186 -0.8,-56.3" - class="st71" - inkscape:label="DM_guanidinoacetatec" - inkscape:connector-curvature="0" - id="R_DM_guanidinoacetatec" /><path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 927.19047,1278.0186 -2.3,-1.7 2.4,7.2 2,-7.3 -2.1,1.8 z" - class="st63" - inkscape:label="DM_guanidinoacetatec f" - inkscape:connector-curvature="0" - id="F_DM_guanidinoacetatec" /><text - style="font-size:15.99923611px;font-family:Calibri-Bold" - id="text630" - class="st15 st16" - transform="matrix(0.99984771,-0.01745156,0.01745156,0.99984771,0,0)" - x="896.45245" - y="1235.1273">GA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text632" - class="st17 st18" - x="813.1839" - y="294.34796">Asp</text> -<text - style="font-size:10px;font-family:Calibri" - id="text634" - class="st17 st18" - x="847.99152" - y="294.67303">2 ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text636" - class="st17 st18" - x="838.64294" - y="261.41425">QH</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text638" - class="st17 st26" - x="851.60181" - y="263.41425">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text640" - class="st17 st18" - x="859.31573" - y="261.81076">2 ADP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text642" - class="st15 st16" - x="950.24341" - y="283.13986">UMP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text644" - class="st17 st18" - x="792.67413" - y="295.08524">Gln</text> -<text - style="font-size:10px;font-family:Calibri" - id="text646" - class="st17 st18" - x="800.29321" - y="261.82446">Glu</text> -<text - style="font-size:10px;font-family:Calibri" - id="text648" - class="st17 st18" - x="886.02863" - y="294.47684">HCO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text650" - class="st17 st26" - x="904.12433" - y="296.47684">3</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text652" - class="st17 st26" - x="907.2132" - y="288.97684">-</text> -<text - style="font-size:10px;font-family:Calibri" - id="text654" - class="st17 st18" - x="835.15265" - y="294.92795">Q</text> -<text - style="font-size:10px;font-family:Calibri" - id="text656" - class="st17 st18" - x="875.8938" - y="294.94363">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text658" - class="st17 st18" - x="906.9231" - y="262.21405">PPi</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text660" - class="st15 st16" - x="953.64874" - y="337.59396">UDP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text662" - class="st17 st18" - x="995.4729" - y="301.37915">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text664" - class="st17 st18" - x="985.13312" - y="312.31955">ADP</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.5819" - d="m 937.8,332.81855 c -4.7,-0.3 -6.5,-11.7 -6.5,-11.7 m 21.4,11.5 -31.2,0.2" - class="st72" - inkscape:label="RRM2B_TXN_RRM1_RRM2_1" - inkscape:connector-curvature="0" - id="R_RRM2B_TXN_RRM1_RRM2_1" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text667" - class="st15 st16" - x="872.57452" - y="337.33325">dUDP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text669" - class="st17 st18" - x="920.89093" - y="314.44846">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text671" - class="st17 st26" - x="927.1214" - y="316.44846">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text673" - class="st17 st18" - x="930.21021" - y="314.44846">O</text> -<text - style="font-size:16.00037575px;font-family:Calibri-Bold" - id="text675" - class="st15 st16" - transform="matrix(0.99997657,-0.0068447,0.0068447,0.99997657,0,0)" - x="779.65546" - y="343.09702">dUMP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text677" - class="st17 st18" - transform="matrix(0.99990048,0.01410788,-0.01410788,0.99990048,0,0)" - x="852.72308" - y="304.24103">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text679" - class="st17 st18" - transform="matrix(0.9998951,-0.01448404,0.01448404,0.9998951,0,0)" - x="827.13593" - y="328.46188">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text681" - class="st17 st18" - x="923.82745" - y="262.21405">CO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text683" - class="st17 st26" - x="935.69275" - y="264.21405">2</text> -<text - style="font-size:16.0006218px;font-family:Calibri-Bold" - id="text685" - class="st15 st16" - transform="matrix(0.99976114,-0.02185571,0.02185571,0.99976114,0,0)" - x="673.61633" - y="353.25659">dTMP</text> -<text - style="font-size:10.00026512px;font-family:Calibri" - id="text687" - class="st17 st18" - transform="matrix(0.99997352,-0.00727731,0.00727731,0.99997352,0,0)" - x="748.1861" - y="319.31909">meTHF</text> -<text - style="font-size:10.00010777px;font-family:Calibri" - id="text689" - class="st17 st18" - transform="matrix(0.99998921,0.00464547,-0.00464547,0.99998921,0,0)" - x="731.41992" - y="310.3287">DHF</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text691" - class="st15 st16" - x="1025.2386" - y="337.24924">UTP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text693" - class="st15 st16" - x="1113.8793" - y="337.43964">CTP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text695" - class="st17 st18" - x="1079.4359" - y="317.43384">ADP+Pi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text697" - class="st17 st18" - x="1039.0609" - y="317.67896">ATP+NH</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text699" - class="st17 st26" - x="1071.7709" - y="319.67896">3</text> -<text - style="font-size:10px;font-family:Calibri" - id="text701" - class="st17 st18" - x="1163.5892" - y="316.63016">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text703" - class="st17 st18" - x="1144.7562" - y="317.36545">ADP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text705" - class="st15 st16" - x="1185.2777" - y="337.33524">CDP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1157.5,324.71855 c -1.6,-6.1 -1.6,-6.1 -1.6,-6.1 l -1.3,6.2 1.4,-1.6 1.5,1.5 z m -7,5.6 c -7.4,1.9 -7.4,1.9 -7.4,1.9 l 7.2,2.4 -1.8,-2.2 2,-2.1 z" - class="st73" - inkscape:label="NME2_NME3_NME4_NME5_NME2P1_NME7_NME6_NME1_NME2_4" - inkscape:connector-curvature="0" - id="B_NME2_NME3_NME4_NME5_NME2P1_NME7_NME6_NME1_NME2_4" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1174.1,335.71855 c 7.2,-2.5 7.2,-2.5 7.2,-2.5 l -7.4,-1.8 1.9,2.1 -1.7,2.2 z m -3.6,-10.9 c -1.1,-5.1 -1.1,-5.1 -1.1,-5.1 l -1.7,5 1.5,-1.2 1.3,1.3 z" - class="st22" - inkscape:label="NME2_NME3_NME4_NME5_NME2P1_NME7_NME6_NME1_NME2_4" - inkscape:connector-curvature="0" - id="F_NME2_NME3_NME4_NME5_NME2P1_NME7_NME6_NME1_NME2_4" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text709" - class="st15 st16" - x="1258.7123" - y="337.35764">CMP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.43479991" - d="m 1198.8,339.01855 -0.1,22.4 m -0.1,-17.5 c -0.2,5.3 -9.5,7.3 -9.5,7.3" - class="st74" - inkscape:connector-curvature="0" - id="R_RRM2B_TXN_RRM1_RRM2_2" /><text - style="font-size:10px;font-family:Calibri" - id="text712" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="1168.255" - y="353.44818">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text714" - class="st17 st26" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="1174.4854" - y="355.44815">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text716" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="1177.5743" - y="353.44812">O</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text718" - class="st15 st16" - x="1175.5306" - y="382.04416">dCDP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text720" - class="st15 st16" - x="360.74741" - y="449.50314">3PPyr</text> -<text - style="font-size:10px;font-family:Calibri" - id="text722" - class="st17 st18" - x="410.62479" - y="426.49734">NADH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text724" - class="st17 st18" - x="435.24878" - y="426.49734">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text726" - class="st17 st18" - x="440.22931" - y="426.49734">H</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.33130002" - d="m 446.2,443.81855 -34.2,0.2 m 20.4,0.1 c -4.3,-0.3 -6,-12.3 -6,-12.3 m 3.8,12.1 c 6.1,1.5 5.6,12.5 5.6,12.5" - class="st75" - inkscape:label="PHGDH_UBAC2 " - inkscape:connector-curvature="0" - id="R_PHGDH_UBAC2" /><text - style="font-size:10px;font-family:Calibri" - id="text729" - class="st17 st18" - x="427.62769" - y="465.14575">NAD</text> -<text - style="font-size:15.99982166px;font-family:Calibri-Bold" - id="text731" - class="st15 st16" - transform="matrix(0.99991115,-0.01332996,0.01332996,0.99991115,0,0)" - x="356.75916" - y="399.59976">3PSer</text> -<text - style="font-size:10px;font-family:Calibri" - id="text733" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="345.07333" - y="429.83682">Glu</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text735" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="333.53885" - y="420.90979">AKG</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.0948" - d="m 377,437.71855 -0.2,-34.2 m -15.7,11.7 c 9.7,-2.9 16,3.2 16,3.2 m -0.2,3.4 c -1.4,5.3 -16.7,5.1 -16.7,5.1" - class="st76" - inkscape:connector-curvature="0" - id="R_PSAT1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 379.1,403.81855 c -2.3,-6.3 -2.3,-6.3 -2.3,-6.3 l -1.6,6.5 1.9,-1.7 2,1.5 z m -14,12.2 c -7,-1.3 -7,-1.3 -7,-1.3 l 6.9,-1.9 -1.7,1.7 1.8,1.5 z" - class="st73" - inkscape:connector-curvature="0" - id="F_PSAT1" /><path - style="fill:none;stroke:#000000;stroke-width:2.23519993" - d="m 379.2,351.31855 c -2.3,-6.3 -2.3,-6.3 -2.3,-6.3 l -1.6,6.5 1.9,-1.7 2,1.5 z" - class="st77" - inkscape:label="VPS29_PSPH_PSPHP1 forward" - inkscape:connector-curvature="0" - id="F_VPS29_PSPH_PSPHP1" /><text - style="font-size:15.99982166px;font-family:Calibri-Bold" - id="text740" - class="st15 st16" - transform="matrix(0.99991115,-0.01332996,0.01332996,0.99991115,0,0)" - x="359.90805" - y="346.62714">Ser</text> -<text - style="font-size:10px;font-family:Calibri" - id="text742" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="393.64661" - y="374.83282">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text744" - class="st17 st26" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="399.87701" - y="376.83292">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text746" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="402.96588" - y="374.83289">O</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text748" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="395.1853" - y="368.10416">Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.0948" - d="m 377,367.81855 c 0.6,2.3 3,3.4 5.1,4.1 2.9,0.8 6,1.1 9,1.1 m 1.7,-11.8 c -5.4,-1.7 -11.7,-0.5 -16,3.2 m 0.3,19.3 c -0.1,-11.4 -0.1,-22.8 -0.2,-34.2" - class="st76" - inkscape:label="VPS29_PSPH_PSPHP1 " - inkscape:connector-curvature="0" - id="R_VPS29_PSPH_PSPHP1" /><text - style="font-size:15.99982166px;font-family:Calibri-Bold" - id="text751" - class="st15 st16" - transform="matrix(0.99991115,-0.01332996,0.01332996,0.99991115,0,0)" - x="360.82996" - y="259.71588">Gly</text> -<text - style="font-size:10px;font-family:Calibri" - id="text753" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="399.81461" - y="284.13171">THF</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 390.2,284.61855 c 7,-1.3 7,-1.3 7,-1.3 l -6.8,-1.9 1.7,1.7 -1.9,1.5 z m -15.6,36.9 c 2,7.3 2,7.3 2,7.3 l 2.3,-7.3 -2.2,1.8 -2.1,-1.8 z" - class="st73" - inkscape:connector-curvature="0" - id="B_SHMT1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 425.5,435.31855 c -0.5,-7.1 -0.5,-7.1 -0.5,-7.1 l 3.5,6.2 -2,-1.2 -1,2.1 z m -11.7,11 c -6.3,-2.2 -6.3,-2.2 -6.3,-2.2 l 6.5,-1.7 -1.7,1.9 1.5,2 z" - class="st73" - inkscape:label="PHGDH_UBAC2 forward" - inkscape:connector-curvature="0" - id="F_PHGDH_UBAC2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text757" - class="st15 st16" - x="422.2869" - y="341.40353">Pyr</text> -<text - style="font-size:10px;font-family:Calibri" - id="text759" - class="st17 st18" - x="396.70538" - y="319.50906">NH</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text761" - class="st17 st26" - x="409.3909" - y="321.50906">3</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.38170004" - d="m 398.5,338.71855 c 3.7,-0.3 5.1,-10.5 5.1,-10.5 m -16.8,10.6 26.2,-0.2" - class="st78" - inkscape:connector-curvature="0" - id="R_SDS_SDSL_SRR" /><text - style="font-size:15.99982166px;font-family:Calibri-Bold" - id="text764" - class="st15 st16" - transform="matrix(0.99991115,-0.01332996,0.01332996,0.99991115,0,0)" - x="141.05353" - y="304.02942">DHF</text> -<text - style="font-size:15.99982166px;font-family:Calibri-Bold" - id="text766" - class="st15 st16" - transform="matrix(0.99991115,-0.01332996,0.01332996,0.99991115,0,0)" - x="136.36797" - y="245.96878">Folate</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 158.1,279.71855 c 2,7.3 2,7.3 2,7.3 l 2.3,-7.3 -2.2,1.8 -2.1,-1.8 z m 14.1,-2.5 c 7,-1.3 7,-1.3 7,-1.3 l -6.9,-1.9 1.7,1.7 -1.8,1.5 z" - class="st73" - inkscape:label="DHFRL1_DHFR_2 forward" - inkscape:connector-curvature="0" - id="F_DHFRL1_DHFR_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.29760003" - d="m 159.9,281.31855 -0.2,-34.2 m 15.9,8.5 c -9.7,-2.9 -16,3.2 -16,3.2 m 0.3,11.4 c 1.4,5.3 17.3,5.1 17.3,5.1" - class="st79" - inkscape:label="DHFRL1_DHFR_2 " - inkscape:connector-curvature="0" - id="R_DHFRL1_DHFR_2" /><text - style="font-size:10px;font-family:Calibri" - id="text770" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="184.45857" - y="280.61414">NADP</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text772" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="179.325" - y="260.32965">NADPH</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text774" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="179.32498" - y="272.82965">+H</text> -<text - style="font-size:15.99982166px;font-family:Calibri-Bold" - id="text776" - class="st15 st16" - transform="matrix(0.99991115,-0.01332996,0.01332996,0.99991115,0,0)" - x="141.77278" - y="368.62994">THF</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 157.7,343.41855 c 2,7.3 2,7.3 2,7.3 l 2.3,-7.3 -2.2,1.8 -2.1,-1.8 z m 14.1,-2.5 c 7,-1.3 7,-1.3 7,-1.3 l -6.9,-1.9 1.7,1.7 -1.8,1.5 z" - class="st73" - inkscape:label="DHFRL1_DHFR_4 forward" - inkscape:connector-curvature="0" - id="F_DHFRL1_DHFR_4" /><path - style="fill:none;stroke:#000000;stroke-width:2.29760003" - d="m 159.5,345.01855 -0.2,-34.2 m 15.9,8.5 c -9.7,-2.9 -16,3.2 -16,3.2 m 0.2,11.4 c 1.4,5.3 17.3,5.1 17.3,5.1" - class="st79" - inkscape:label="DHFRL1_DHFR_4 " - inkscape:connector-curvature="0" - id="R_DHFRL1_DHFR_4" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 161.5,312.61855 c -2.3,-6.3 -2.3,-6.3 -2.3,-6.3 l -1.6,6.5 1.9,-1.7 2,1.5 z m 9.7,7.5 c 7,-1.3 7,-1.3 7,-1.3 l -6.9,-1.9 1.7,1.7 -1.8,1.5 z" - class="st73" - inkscape:label="DHFRL1_DHFR_4 " - inkscape:connector-curvature="0" - id="B_DHFRL1_DHFR_4" /><text - style="font-size:10px;font-family:Calibri" - id="text781" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="181.55092" - y="341.92856">NADP</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text783" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="177.77963" - y="322.29248">NADPH</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text785" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="177.77962" - y="334.79254">+H</text> -<text - style="font-size:15.99982166px;font-family:Calibri-Bold" - id="text787" - class="st15 st16" - transform="matrix(0.99991115,-0.01332996,0.01332996,0.99991115,0,0)" - x="122.12817" - y="433.13483">10-formyl</text> -<text - style="font-size:15.99982166px;font-family:Calibri-Bold" - id="text789" - class="st15 st16" - transform="matrix(0.99991115,-0.01332996,0.01332996,0.99991115,0,0)" - x="141.62041" - y="453.13483">THF</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 157.3,407.81855 c 2,7.3 2,7.3 2,7.3 l 2.3,-7.3 -2.2,1.8 -2.1,-1.8 z m 14.1,-2.5 c 7,-1.3 7,-1.3 7,-1.3 l -6.9,-1.9 1.7,1.7 -1.8,1.5 z" - class="st73" - inkscape:label="MTHFD1_AL445665_1_AQP7P4_LOC286297 foward" - inkscape:connector-curvature="0" - id="F_MTHFD1_AL445665_1_AQP7P4_LOC286297" /><path - style="fill:none;stroke:#000000;stroke-width:2.29760003" - d="m 159,409.41855 -0.2,-34.2 m 15.9,8.5 c -9.7,-2.9 -16,3.2 -16,3.2 m 0.3,11.4 c 1.4,5.3 17.3,5.1 17.3,5.1" - class="st79" - inkscape:label="MTHFD1_AL445665_1_AQP7P4_LOC286297 " - inkscape:connector-curvature="0" - id="R_MTHFD1_AL445665_1_AQP7P4_LOC286297" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 161.1,377.01855 c -2.3,-6.3 -2.3,-6.3 -2.3,-6.3 l -1.6,6.5 1.9,-1.7 2,1.5 z m 9.7,7.5 c 7,-1.3 7,-1.3 7,-1.3 l -6.9,-1.9 1.7,1.7 -1.8,1.5 z" - class="st73" - inkscape:label="MTHFD1_AL445665_1_AQP7P4_LOC286297 backward" - inkscape:connector-curvature="0" - id="B_MTHFD1_AL445665_1_AQP7P4_LOC286297" /><text - style="font-size:10px;font-family:Calibri" - id="text794" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="181.41222" - y="406.33478">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text796" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="198.51668" - y="406.33478">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text798" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="203.49713" - y="406.33481">Pi</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text800" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="176.62868" - y="387.771">for+ATP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.29760003" - d="m 221.4,395.51855 c 1.4,5.3 17.3,5.1 17.3,5.1 m -1.6,-19.7 c -9.7,-2.9 -16,3.2 -16,3.2 m -14.9,44.3 14.4,0 0,-68 -39.6,0" - class="st79" - inkscape:label="MTHFD1_3 " - inkscape:connector-curvature="0" - id="R_MTHFD1_3" /><text - style="font-size:10px;font-family:Calibri" - id="text803" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="250.68755" - y="398.89441">NADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text805" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="274.24716" - y="398.89441">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text807" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="250.68761" - y="411.39444">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text809" - class="st17 st26" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="256.91809" - y="413.39441">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text811" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="260.00687" - y="411.39438">O</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text813" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="242.4368" - y="378.47998">NADPH+</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text815" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="242.43677" - y="390.98007">H+CO</text> -<text - style="font-size:6.09346962px;font-family:Calibri" - id="text817" - class="st17 st26" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="265.513" - y="392.98007">2</text> -<text - style="font-size:15.99982166px;font-family:Calibri-Bold" - id="text819" - class="st15 st16" - transform="matrix(0.99991115,-0.01332996,0.01332996,0.99991115,0,0)" - x="261.84116" - y="348.57727">mTHF</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09509993" - d="m 204.8,436.41855 79.8,0 0,-84 m 16,24.7 c -9.7,-2.9 -16,3.2 -16,3.2 m 0.3,11.4 c 1.4,5.3 17.3,5.1 17.3,5.1" - class="st80" - inkscape:connector-curvature="0" - id="R_MTHFD1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 296,378.11855 c 7,-1.3 7,-1.3 7,-1.3 l -6.9,-1.9 1.7,1.7 -1.8,1.5 z m -9.3,-24.4 c -2.3,-6.3 -2.3,-6.3 -2.3,-6.3 l -1.6,6.5 1.9,-1.7 2,1.5 z" - class="st73" - inkscape:label="MTHFD1_1 forward" - inkscape:connector-curvature="0" - id="F_MTHFD1_1" /><text - style="font-size:10px;font-family:Calibri" - id="text823" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="309.67828" - y="399.18741">H</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 299.8,398.21855 c 7,-1.3 7,-1.3 7,-1.3 l -6.9,-1.9 1.7,1.7 -1.8,1.5 z m -93.6,36.5 c -6.3,2.3 -6.3,2.3 -6.3,2.3 l 6.5,1.7 -1.7,-1.9 1.5,-2.1 z" - class="st73" - inkscape:connector-curvature="0" - id="B_MTHFD1_1" /><text - style="font-size:15.99982166px;font-family:Calibri-Bold" - id="text826" - class="st15 st16" - transform="matrix(0.99991115,-0.01332996,0.01332996,0.99991115,0,0)" - x="254.19125" - y="282.20911">meTHF</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.29760003" - d="m 277.6,301.91855 c -1.6,-5.3 -17.5,-4.5 -17.5,-4.5 m 2.3,19.7 c 9.8,2.5 15.9,-3.8 15.9,-3.8 m 0.3,11.1 -0.2,-34.2" - class="st79" - inkscape:label="MTHFD2_1 " - inkscape:connector-curvature="0" - id="R_MTHFD2_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 280.6,292.01855 c -2.3,-6.3 -2.3,-6.3 -2.3,-6.3 l -1.6,6.5 1.9,-1.7 2,1.5 z m -15.6,3.3 c -7,1.6 -7,1.6 -7,1.6 l 6.9,1.6 -1.7,-1.6 1.8,-1.6 z" - class="st73" - inkscape:label="MTHFD2_1 forward" - inkscape:connector-curvature="0" - id="F_MTHFD2_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 266.3,316.11855 c -7,1.6 -7,1.6 -7,1.6 l 6.9,1.6 -1.7,-1.6 1.8,-1.6 z m 10.5,6.6 c 2,7.3 2,7.3 2,7.3 l 2.3,-7.3 -2.2,1.8 -2.1,-1.8 z" - class="st73" - inkscape:label="MTHFD2_1 backward" - inkscape:connector-curvature="0" - id="B_MTHFD2_1" /><rect - style="fill:none;stroke:#231f20;stroke-width:7;stroke-linejoin:round;stroke-miterlimit:2" - height="487.10001" - width="1218.2" - class="st81" - y="682.21857" - x="248.5" - id="rect3188" /><text - style="font-size:10px;font-family:Calibri" - id="text832" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="229.13246" - y="320.30942">NADPH</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text834" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="229.66826" - y="302.43216">NADP</text> -<text - style="font-size:16.0003109px;font-family:Calibri-Bold" - id="text836" - class="st15 st16" - transform="matrix(0.9999806,0.00622953,-0.00622953,0.9999806,0,0)" - x="748.04932" - y="1068.5068">DHF</text> -<text - style="font-size:15.99927998px;font-family:Calibri-Bold" - id="text838" - class="st15 st16" - transform="matrix(0.99984501,-0.01760548,0.01760548,0.99984501,0,0)" - x="629.1507" - y="1083.5598">Folate</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 730.9,1070.9186 c 7.4,-2 7.4,-2 7.4,-2 l -7.2,-2.3 1.8,2.2 -2,2.1 z m -2.4,-14.1 c -1.3,-7 -1.3,-7 -1.3,-7 l -1.9,6.9 1.7,-1.6 1.5,1.7 z" - class="st73" - inkscape:label="DHFRL1_DHFR_5 forward" - inkscape:connector-curvature="0" - id="F_DHFRL1_DHFR_5" /><path - style="fill:none;stroke:#000000;stroke-width:2.29760003" - d="m 732.5,1069.2186 -34.2,0 m 8.6,-15.9 c -2.9,9.6 3.1,16 3.1,16 m 11.4,-0.2 c 5.3,-1.4 5.2,-17.3 5.2,-17.3" - class="st79" - inkscape:label="DHFRL1_DHFR_5 " - inkscape:connector-curvature="0" - id="R_DHFRL1_DHFR_5" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 700.1,1066.9186 c -6.3,2.2 -6.3,2.2 -6.3,2.2 l 6.5,1.7 -1.7,-1.9 1.5,-2 z m 7.6,-9.7 c -1.3,-7 -1.3,-7 -1.3,-7 l -1.9,6.9 1.7,-1.6 1.5,1.7 z" - class="st73" - inkscape:label="DHFRL1_DHFR_5 backward" - inkscape:connector-curvature="0" - id="B_DHFRL1_DHFR_5" /><text - style="font-size:9.99962521px;font-family:Calibri" - id="text843" - class="st17 st18" - transform="matrix(0.9997375,0.02291141,-0.02291141,0.9997375,0,0)" - x="744.8653" - y="1031.0618">NADP</text> -<text - style="font-size:9.9998436px;font-family:Calibri" - id="text845" - class="st17 st18" - transform="matrix(0.99991568,-0.012986,0.012986,0.99991568,0,0)" - x="662.83777" - y="1056.4205">NADPH+H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text847" - class="st15 st16" - transform="matrix(0.99999758,-0.00219903,0.00219903,0.99999758,0,0)" - x="825.8905" - y="1075.1088">THF</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 812.4,1070.3186 c 7.3,-2 7.3,-2 7.3,-2 l -7.2,-2.3 1.8,2.2 -1.9,2.1 z m -2.4,-14.1 c -1.3,-7 -1.3,-7 -1.3,-7 l -1.9,6.9 1.7,-1.6 1.5,1.7 z" - class="st73" - inkscape:label="DHFRL1_DHFR_6 forward" - inkscape:connector-curvature="0" - id="F_DHFRL1_DHFR_6" /><path - style="fill:none;stroke:#000000;stroke-width:2.29760003" - d="m 814,1068.5186 -34.2,0 m 8.6,-15.8 c -2.9,9.6 3.1,16 3.1,16 m 11.4,-0.2 c 5.3,-1.4 5.2,-17.3 5.2,-17.3" - class="st79" - inkscape:label="DHFRL1_DHFR_6 " - inkscape:connector-curvature="0" - id="R_DHFRL1_DHFR_6" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 781.6,1066.3186 c -6.3,2.2 -6.3,2.2 -6.3,2.2 l 6.5,1.7 -1.7,-1.9 1.5,-2 z m 7.5,-9.7 c -1.3,-7 -1.3,-7 -1.3,-7 l -1.9,6.9 1.7,-1.6 1.5,1.7 z" - class="st73" - inkscape:label="DHFRL1_DHFR_6 backward" - inkscape:connector-curvature="0" - id="B_DHFRL1_DHFR_6" /><text - style="font-size:10.00011921px;font-family:Calibri" - id="text852" - class="st17 st18" - transform="matrix(0.99998813,0.00487302,-0.00487302,0.99998813,0,0)" - x="809.07843" - y="1042.3011">NADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text854" - class="st17 st18" - transform="matrix(0.99999791,-0.00204595,0.00204595,0.99999791,0,0)" - x="756.18549" - y="1047.5868">NADPH+H</text> -<text - style="font-size:16.00077438px;font-family:Calibri-Bold" - id="text856" - class="st15 st16" - transform="matrix(0.99995156,0.00984282,-0.00984282,0.99995156,0,0)" - x="919.18933" - y="1061.8497">10-formylTHF</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 895.7,1056.5186 c -1.3,-7 -1.3,-7 -1.3,-7 l -1.9,6.9 1.7,-1.6 1.5,1.7 z m 2.4,14.1 c 7.3,-2 7.3,-2 7.3,-2 l -7.2,-2.3 1.8,2.2 -1.9,2.1 z" - class="st73" - inkscape:label="MTHFD1_AL445665_1_AQP7P4_LOC286297_2 forward" - inkscape:connector-curvature="0" - id="F_MTHFD1_AL445665_1_AQP7P4_LOC286297_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.29760003" - d="m 888.6,1068.8186 c 5.3,-1.4 5.2,-17.3 5.2,-17.3 m -19.7,1.5 c -2.9,9.6 3.1,16 3.1,16 m 22.5,-0.1 -34.2,0" - class="st79" - inkscape:label="MTHFD1_AL445665_1_AQP7P4_LOC286297_2" - inkscape:connector-curvature="0" - id="R_MTHFD1_AL445665_1_AQP7P4_LOC286297_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 875.1,1056.9186 c -1.3,-7 -1.3,-7 -1.3,-7 l -1.9,6.9 1.7,-1.6 1.5,1.7 z m -7.6,9.7 c -6.3,2.2 -6.3,2.2 -6.3,2.2 l 6.5,1.7 -1.7,-1.9 1.5,-2 z" - class="st73" - inkscape:label="MTHFD1_AL445665_1_AQP7P4_LOC286297_2 backward" - inkscape:connector-curvature="0" - id="B_MTHFD1_AL445665_1_AQP7P4_LOC286297_2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text861" - class="st15 st16" - transform="matrix(0.9999915,0.00412203,-0.00412203,0.9999915,0,0)" - x="805.01166" - y="1025.8337">mTHF</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.3247" - d="m 900.4,1026.9186 c 5.3,-1.1 5.2,-13.8 5.2,-13.8 m -19.8,1.2 c -3,7.7 3.2,12.8 3.2,12.8 m 44.5,25.3 0.6,-25.4 -84.3,-0.1" - class="st82" - inkscape:connector-curvature="0" - id="R_MTHFD1_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 853.1,1024.7186 c -6.3,2.2 -6.3,2.2 -6.3,2.2 l 6.5,1.7 -1.7,-1.9 1.5,-2 z m 33.5,-9 c -1.3,-7 -1.3,-7 -1.3,-7 l -1.9,6.9 1.7,-1.6 1.5,1.7 z" - class="st73" - inkscape:connector-curvature="0" - id="F_MTHFD1_2" /><text - style="font-size:10px;font-family:Calibri" - id="text865" - class="st17 st18" - transform="matrix(0.99999985,5.3982362e-4,-5.3982362e-4,0.99999985,0,0)" - x="876.94342" - y="1005.7078">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text867" - class="st17 st26" - transform="matrix(0.99999985,5.3982362e-4,-5.3982362e-4,0.99999985,0,0)" - x="883.17377" - y="1007.7078">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text869" - class="st17 st18" - transform="matrix(0.99999985,5.3982362e-4,-5.3982362e-4,0.99999985,0,0)" - x="886.2627" - y="1005.7078">O</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 931.6,1049.1186 c 2.2,6.3 2.2,6.3 2.2,6.3 l 1.7,-6.5 -1.9,1.7 -2,-1.5 z m -24.1,-33.9 c -1.3,-7 -1.3,-7 -1.3,-7 l -1.9,6.9 1.7,-1.6 1.5,1.7 z" - class="st73" - inkscape:connector-curvature="0" - id="B_MTHFD1_2" /><text - style="font-size:16.00037193px;font-family:Calibri-Bold" - id="text872" - class="st15 st16" - transform="matrix(0.99997671,0.00682482,-0.00682482,0.99997671,0,0)" - x="707.71307" - y="1025.7979">meTHF</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.29760003" - d="m 791.2,1026.6186 -34.2,0 m 26.8,-15.4 c 2.6,9.7 -3.7,15.9 -3.7,15.9 m -11.3,-0.6 c -5.3,-1.6 -4.6,-17.4 -4.6,-17.4" - class="st79" - inkscape:connector-curvature="0" - id="R_MTHFD2_4" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 762.1,1013.9186 c 1.5,-7 1.5,-7 1.5,-7 l 1.7,6.9 -1.6,-1.7 -1.6,1.8 z m -3.3,10.5 c -6.3,2.2 -6.3,2.2 -6.3,2.2 l 6.5,1.7 -1.7,-1.9 1.5,-2 z" - class="st73" - inkscape:connector-curvature="0" - id="F_MTHFD2_4" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 789.6,1028.4186 c 7.3,-2 7.3,-2 7.3,-2 l -7.2,-2.3 1.8,2.2 -1.9,2.1 z m -6.7,-13.3 c 1.5,-7 1.5,-7 1.5,-7 l 1.7,6.9 -1.6,-1.7 -1.6,1.8 z" - class="st73" - inkscape:connector-curvature="0" - id="B_MTHFD2_4" /><text - style="font-size:10px;font-family:Calibri" - id="text877" - class="st17 st18" - transform="matrix(0.99989917,0.01420008,-0.01420008,0.99989917,0,0)" - x="790.88013" - y="994.28802">NADPH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text879" - class="st17 st18" - transform="matrix(0.99990781,0.01357832,-0.01357832,0.99990781,0,0)" - x="760.42932" - y="995.04498">NADP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text881" - class="st15 st16" - x="315.19269" - y="786.4632">OAA</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text883" - class="st15 st16" - x="942.22101" - y="658.15649">Gln</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text885" - class="st15 st16" - x="1033.4213" - y="658.15649">Glu</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.56400001" - d="m 969.4,653.91855 53.9,0 m -19.5,0.5 c 4.6,-0.4 6.2,-11.9 6.2,-11.9 m -5.5,11.7 c -4.5,0.5 -6.6,11.7 -6.6,11.7" - class="st83" - inkscape:label="GLS2" - inkscape:connector-curvature="0" - id="R_GLS2" /><text - style="font-size:10px;font-family:Calibri" - id="text888" - class="st17 st18" - x="1000.8987" - y="636.82635">NH</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text890" - class="st17 st26" - x="1013.5844" - y="638.82635">3</text> -<text - style="font-size:10px;font-family:Calibri" - id="text892" - class="st17 st18" - x="983.43292" - y="674.4173">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text894" - class="st17 st26" - x="989.66345" - y="676.4173">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text896" - class="st17 st18" - x="992.7522" - y="674.4173">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text898" - class="st17 st18" - x="1035.5336" - y="601.31757">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text900" - class="st17 st18" - x="1022.9135" - y="638.01587">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text902" - class="st17 st18" - x="989.93292" - y="602.9173">NH</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text904" - class="st17 st26" - x="1002.6184" - y="604.9173">3</text> -<text - style="font-size:10px;font-family:Calibri" - id="text906" - class="st17 st18" - x="980.08435" - y="638.513">Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.11560011" - d="m 1050.4,645.51855 0,-29.9 -92.5,0 0,24 m 78.9,-24.4 c 5,-1.2 4.3,-13.1 4.3,-13.1 m -4.2,12.8 c -5.2,1 -5.3,9.2 -5.3,9.2 m -44,-8.8 c -3.7,0.9 -3.8,9 -3.8,9 m 11,-8.5 c 5,-1.1 4.3,-12 4.3,-12" - class="st84" - inkscape:label="#R_gln_synthetase" - inkscape:connector-curvature="0" - id="R_GS" /><path - style="fill:none;stroke:#000000;stroke-width:1.39260006" - d="m 956.3,660.51855 0,32.4 m 0.4,-9.9 c -2.6,2.5 9.5,6.9 9.5,6.9 m -10,-12.7 c 0.4,-4.4 -9.3,-7.5 -9.3,-7.5" - class="st85" - inkscape:label="TransportGln" - inkscape:connector-curvature="0" - id="R_TransportGln" /><path - style="fill:none;stroke:#000000;stroke-width:1.12300003" - d="m 1052,660.31855 0,32.2 m 0.1,-12.3 c 0.1,5.1 9.8,8.5 9.8,8.5 m -9.9,-9.3 c 0.2,-4.1 -8.4,-8.3 -8.4,-8.3" - class="st86" - inkscape:label="TransportGlu" - inkscape:connector-curvature="0" - id="R_TransportGlu" /><text - style="font-size:9.87795448px;font-family:Calibri" - id="text911" - class="st17 st87" - transform="scale(1.0123241,0.98782595)" - x="926.31677" - y="681.64825">H</text> -<text - style="font-size:9.87795448px;font-family:Calibri" - id="text913" - class="st17 st87" - transform="scale(1.0123241,0.98782595)" - x="962.82196" - y="702.19128">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text915" - class="st17 st18" - x="1032.5765" - y="674.64575">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text917" - class="st17 st18" - x="1070.2865" - y="694.58521">H</text> -<text - style="font-size:15.80470657px;font-family:Calibri-Bold" - id="text919" - class="st15 st88" - transform="scale(1.0123241,0.98782595)" - x="932.36621" - y="721.383">Gln</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text921" - class="st15 st16" - x="1040.6478" - y="712.59686">Glu</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09260011" - d="m 969.6,707.11855 63.5,0 m -30.7,0.2 c 5.9,-0.2 7.8,-7.5 7.8,-7.5 m -12.1,7.6 c -4.6,-0.4 -6.8,-9.9 -6.8,-9.9" - class="st89" - inkscape:connector-curvature="0" - id="R_GLS" /><text - style="font-size:10px;font-family:Calibri" - id="text924" - class="st17 st18" - x="1006.3949" - y="693.48657">NH</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text926" - class="st17 st26" - x="1019.0804" - y="695.48657">3</text> -<text - style="font-size:10px;font-family:Calibri" - id="text928" - class="st17 st18" - x="982.98663" - y="694.27856">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text930" - class="st17 st26" - x="989.2171" - y="696.27856">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text932" - class="st17 st18" - x="992.30591" - y="694.27856">O</text> -<text - style="font-size:16.00031662px;font-family:Calibri-Bold" - id="text934" - class="st15 st16" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1331.6912" - y="771.82178">NH</text> -<text - style="font-size:9.7501936px;font-family:Calibri-Bold" - id="text936" - class="st15 st40" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1352.3239" - y="775.02191">3</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.76709998" - d="m 1189,777.11855 0.5,-30.4 m 10.5,7.1 c -8.9,1.1 -11.1,9.1 -11.1,9.1 m 0.2,-0.1 c -0.5,5.2 10.5,8.6 10.5,8.6" - class="st90" - inkscape:connector-curvature="0" - id="R_OTC_LEFTY1" /><text - style="font-size:16.00031662px;font-family:Calibri-Bold" - id="text939" - class="st15 st16" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1180.2643" - y="782.81091">Orn</text> -<text - style="font-size:16.00031662px;font-family:Calibri-Bold" - id="text941" - class="st15 st16" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1187.484" - y="728.58057">Ci</text> -<text - style="font-size:16.00031662px;font-family:Calibri-Bold" - id="text943" - class="st15 st16" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1187.3484" - y="635.12445">Ci</text> -<text - style="font-size:16.00031662px;font-family:Calibri-Bold" - id="text945" - class="st15 st16" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1153.5397" - y="588.43402">ArgSuc</text> -<text - style="font-size:16.00031662px;font-family:Calibri-Bold" - id="text947" - class="st15 st16" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1223.7125" - y="571.21527">Arg</text> -<text - style="font-size:16.00031662px;font-family:Calibri-Bold" - id="text949" - class="st15 st16" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1230.6833" - y="630.91748">Orn</text> -<text - style="font-size:10px;font-family:Calibri" - id="text951" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="1132.3175" - y="625.07318">Asp</text> -<text - style="font-size:10px;font-family:Calibri" - id="text953" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="1147.2687" - y="625.07312">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text955" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="1152.249" - y="625.07312">ATP</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text957" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1113.4318" - y="629.14063">AMP</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text959" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1132.9337" - y="629.1405">+</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text961" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1137.9142" - y="629.14056">PPi</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.0948" - d="m 1179.6,616.11855 c -2.6,-4.9 -15,-1.2 -15,-1.2 m 1.5,11.8 c 10.1,0.2 14.5,-7.4 14.5,-7.4 m -1.1,-15.4 c -3,15.1 4.9,26.9 4.9,26.9" - class="st76" - inkscape:label="ASS1 " - inkscape:connector-curvature="0" - id="R_ASS1" /><text - style="font-size:10.00030041px;font-family:Calibri" - id="text964" - class="st17 st18" - transform="matrix(0.99427012,-0.10689679,0.10689679,0.99427012,0,0)" - x="1114.6914" - y="680.83099">Fum</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.79009998" - d="m 1214.6,571.01855 c -16.6,-3.2 -28.6,8.8 -28.6,8.8 m 7.5,-5.6 c 5.9,-1.9 4.1,-12.3 4.1,-12.3" - class="st91" - inkscape:connector-curvature="0" - id="R_ASL_CRCP" /><path - style="fill:none;stroke:#000000;stroke-width:1.92120004" - d="m 1248.2,621.11855 c 4.6,-20.3 -6.2,-36.5 -6.2,-36.5 m 18.6,3.2 c -9,-1.2 -13.6,6 -13.6,6 m 0.3,3.6 c 2,3.5 14.6,1.8 14.6,1.8" - class="st92" - inkscape:connector-curvature="0" - id="R_ARG2_ARG1" /><text - style="font-size:9.99962234px;font-family:Calibri" - id="text968" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1254.6495" - y="601.48828">H</text> -<text - style="font-size:6.09346962px;font-family:Calibri" - id="text970" - class="st17 st26" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1260.88" - y="603.48834">2</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text972" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1263.9689" - y="601.48822">O</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text974" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1262.8811" - y="616.68073">Urea</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1186.7,576.11855 c -4.8,5.9 -4.8,5.9 -4.8,5.9 l 7.2,-2.4 -2.7,-0.7 0.3,-2.8 z" - class="st73" - inkscape:label="ASL_CRCP backward" - inkscape:connector-curvature="0" - id="B_ASL_CRCP" /><path - style="fill:none;stroke:#000000;stroke-width:1.3319" - d="m 1199,562.51855 c -1.6,-4.9 -1.6,-4.9 -1.6,-4.9 l -1,4.9 1.2,-1.2 1.4,1.2 z m 11.8,10.5 c 7.3,-2.2 7.3,-2.2 7.3,-2.2 l -7.3,-2.1 1.8,2.1 -1.8,2.2 z" - class="st93" - inkscape:label="ASL_CRCP forward" - inkscape:connector-curvature="0" - id="F_ASL_CRCP" /><path - style="fill:none;stroke:#000000;stroke-width:2.13980007" - d="m 1190.5,651.51855 0.1,71.7 m -0.3,-53.8 c 2.4,5.4 15.3,4 15.3,4 m -15.4,-12.9 c 2.4,5.4 15.3,4 15.3,4 m -14.9,35.9 c 1.9,-5.6 15,-5.4 15,-5.4 m -14.6,17.1 c 1.9,-5.6 15,-5.4 15,-5.4" - class="st94" - inkscape:label="SLC25A15_SLC25A2_1" - inkscape:connector-curvature="0" - id="R_SLC25A15_SLC25A2_1" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text979" - class="st15 st38" - transform="matrix(0.99980805,-0.01959226,0.01959226,0.99980805,0,0)" - x="1201.152" - y="721.48889">H</text> -<text - style="font-size:13.99942493px;font-family:Calibri-Bold" - id="text981" - class="st15 st38" - transform="matrix(0.99984109,-0.01782667,0.01782667,0.99984109,0,0)" - x="1201.3977" - y="733.09906">Orn</text> -<text - style="font-size:16.00031662px;font-family:Calibri-Bold" - id="text983" - class="st15 st16" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1287.2751" - y="577.22217">Putr</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.36409998" - d="m 1256.3,636.01855 41.1,0 0,-40.3 m 10.7,7.5 c -6.7,-1.2 -10.2,6.1 -10.2,6.1" - class="st95" - inkscape:connector-curvature="0" - id="R_OGDH_ODC1_OGDHL" /><text - style="font-size:9.99962234px;font-family:Calibri" - id="text986" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1308.797" - y="620.35846">CO</text> -<text - style="font-size:6.09346962px;font-family:Calibri" - id="text988" - class="st17 st26" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1320.6622" - y="622.35846">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text990" - class="st15 st16" - x="1340.1732" - y="712.76776">GluSA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text992" - class="st17 st18" - x="1268.7523" - y="692.13495">AKG</text> -<text - style="font-size:10px;font-family:Calibri" - id="text994" - class="st17 st18" - x="1299.0814" - y="692.05975">Glu</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1306.2,700.71855 c -1.4,-7 -1.4,-7 -1.4,-7 l -1.7,6.9 1.6,-1.7 1.5,1.8 z m 21.3,8.8 c 6.3,-2.2 6.3,-2.2 6.3,-2.2 l -6.5,-1.7 1.7,1.9 -1.5,2 z" - class="st73" - inkscape:connector-curvature="0" - id="F_OAT" /><path - style="fill:none;stroke:#000000;stroke-width:2.21600008" - d="m 1239.8,707.61855 88.2,0.1 m -28.6,-0.2 c 5.4,-0.7 4.9,-7.6 4.9,-7.6 m -21.6,-4.9 c -1.9,7.9 4.4,12.5 4.4,12.5" - class="st96" - inkscape:connector-curvature="0" - id="R_OAT" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1359,688.51855 c 2.3,6.3 2.3,6.3 2.3,6.3 l 1.7,-6.5 -1.9,1.7 -2.1,-1.5 z" - class="st73" - inkscape:label="Transport_Lglu5semialdehyde backward" - inkscape:connector-curvature="0" - id="B_Transport_Lglu5semialdehyde" /><path - style="fill:none;stroke:#000000;stroke-width:2.34100008" - d="m 1361,668.81855 0.2,20" - class="st97" - inkscape:label="Transport_Lglu5semialdehyde " - inkscape:connector-curvature="0" - id="R_Transport_Lglu5semialdehyde" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1362.8,670.21855 c -0.7,-2.4 -1.3,-4.9 -2,-7.3 -0.8,2.4 -1.5,4.8 -2.3,7.3 0.7,-0.6 1.5,-1.2 2.2,-1.8 0.7,0.6 1.4,1.2 2.1,1.8 z" - class="st73" - inkscape:label="Transport_Lglu5semialdehyde forward" - inkscape:connector-curvature="0" - id="F_Transport_Lglu5semialdehyde" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1001" - class="st15 st16" - x="1336.557" - y="658.23456">GluSA</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1358.4,637.01855 c 2,6.4 2,6.4 2,6.4 l 1.9,-6.4 -1.9,1.6 -2,-1.6 z" - class="st73" - inkscape:label="ALDH4A1_2 backward" - inkscape:connector-curvature="0" - id="B_ALDH4A1_2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1004" - class="st15 st16" - x="1352.6332" - y="608.19745">P5C</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.24119997" - d="m 1360.4,618.41855 0.1,20.4 m 0.1,-8.4 c -3,-6.6 -10.4,-6.2 -10.4,-6.2" - class="st98" - inkscape:connector-curvature="0" - id="R_ALDH4A1_2" /><text - style="font-size:9.99962234px;font-family:Calibri" - id="text1007" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1319.298" - y="638.0332">H</text> -<text - style="font-size:6.09346962px;font-family:Calibri" - id="text1009" - class="st17 st26" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1325.5284" - y="640.03333">2</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text1011" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1328.6173" - y="638.03326">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1013" - class="st17 st18" - transform="matrix(0.99990761,-0.01359275,0.01359275,0.99990761,0,0)" - x="1371.2954" - y="643.84912">NADH+H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1015" - class="st17 st18" - transform="matrix(0.99939509,-0.03477735,0.03477735,0.99939509,0,0)" - x="1397.1116" - y="673.6972">NAD</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1017" - class="st15 st16" - x="1442.0248" - y="606.54315">Pro</text> -<text - style="font-size:10.00029469px;font-family:Calibri" - id="text1019" - class="st17 st18" - transform="matrix(0.99987054,0.01609049,-0.01609049,0.99987054,0,0)" - x="1389.0287" - y="630.53644">NADPH+H</text> -<text - style="font-size:9.99974251px;font-family:Calibri" - id="text1021" - class="st17 st18" - transform="matrix(0.99922571,-0.03934428,0.03934428,0.99922571,0,0)" - x="1378.6187" - y="707.83429">NADP</text> -<text - style="font-size:9.99983883px;font-family:Calibri" - id="text1023" - class="st17 st18" - transform="matrix(0.99971611,-0.02382647,0.02382647,0.99971611,0,0)" - x="1286.8578" - y="776.54065">NADH</text> -<text - style="font-size:9.99983883px;font-family:Calibri" - id="text1025" - class="st17 st18" - transform="matrix(0.99971611,-0.02382647,0.02382647,0.99971611,0,0)" - x="1311.4819" - y="776.54071">+</text> -<text - style="font-size:9.99983883px;font-family:Calibri" - id="text1027" - class="st17 st18" - transform="matrix(0.99971611,-0.02382647,0.02382647,0.99971611,0,0)" - x="1316.4624" - y="776.54065">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1029" - class="st17 st18" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="1303.4719" - y="727.08441">NAD+H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1031" - class="st17 st26" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="1333.0753" - y="729.08441">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1033" - class="st17 st18" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="1336.1642" - y="727.08441">O</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.78269994" - d="m 1360.8,720.31855 0.3,32.5 m -0.2,-19.6 c -1.4,-5 -10.8,-3.5 -10.8,-3.5 m 0.6,11.6 c 7.1,2 10.7,-4.9 10.7,-4.9" - class="st99" - inkscape:connector-curvature="0" - id="R_ALDH4A1_1" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1036" - class="st15 st16" - x="1350.3373" - y="771.66528">Glu</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1358.9,750.41855 c 2.3,6.3 2.3,6.3 2.3,6.3 l 1.7,-6.5 -1.9,1.7 -2.1,-1.5 z m -6.9,-10.7 c -7.1,0.9 -7.1,0.9 -7.1,0.9 l 6.8,2.3 -1.6,-1.8 1.9,-1.4 z" - class="st73" - inkscape:connector-curvature="0" - id="B_ALDH4A1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1351,728.11855 c -6.9,1.7 -6.9,1.7 -6.9,1.7 l 7,1.5 -1.8,-1.6 1.7,-1.6 z m 11.8,-3.7 c -0.7,-2.4 -1.3,-4.9 -2,-7.3 -0.8,2.4 -1.5,4.8 -2.3,7.3 0.7,-0.6 1.5,-1.2 2.2,-1.8 0.7,0.5 1.4,1.2 2.1,1.8 z" - class="st73" - inkscape:connector-curvature="0" - id="F_ALDH4A1_1" /><text - style="font-size:10px;font-family:Calibri" - id="text1040" - class="st17 st18" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="888.26978" - y="706.72406">NAD</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1042" - class="st17 st18" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="906.66333" - y="706.72406">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1044" - class="st17 st18" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="888.2688" - y="719.22406">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1046" - class="st17 st26" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="894.50018" - y="721.22406">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1048" - class="st17 st18" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="897.58905" - y="719.224">O</text> -<text - style="font-size:9.99983883px;font-family:Calibri" - id="text1050" - class="st17 st18" - transform="matrix(0.99971611,-0.02382647,0.02382647,0.99971611,0,0)" - x="824.83246" - y="730.75824">NADH+</text> -<text - style="font-size:9.99983883px;font-family:Calibri" - id="text1052" - class="st17 st18" - transform="matrix(0.99971611,-0.02382647,0.02382647,0.99971611,0,0)" - x="824.83344" - y="743.2583">H+NH</text> -<text - style="font-size:6.0936017px;font-family:Calibri" - id="text1054" - class="st17 st26" - transform="matrix(0.99971611,-0.02382647,0.02382647,0.99971611,0,0)" - x="848.72894" - y="745.25824">3</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 935,761.21855 c 1.7,6.9 1.7,6.9 1.7,6.9 l 1.5,-7 -1.6,1.7 -1.6,-1.6 z m -171.9,-16.2 c -7.2,2.4 -7.2,2.4 -7.2,2.4 l 7.4,1.9 -1.9,-2.1 1.7,-2.2 z" - class="st73" - inkscape:connector-curvature="0" - id="B_GLUD1_GLUD2_2" /><path - style="fill:none;stroke:#000000;stroke-width:1.86580002" - d="m 941.8,747.41855 c -6.2,1.5 -5.1,14.4 -5.1,14.4 m 21.3,0.1 c 2.7,-9 -4.9,-14.5 -4.9,-14.5 m 103.9,-26.4 c 0,26.3 0,26.3 0,26.3 l -295.7,0" - class="st100" - inkscape:connector-curvature="0" - id="R_GLUD1_GLUD2_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1059,725.01855 c -2.3,-7.3 -2.3,-7.3 -2.3,-7.3 l -2.1,7.3 2.1,-1.9 2.3,1.9 z m -102.6,36.5 c 1.7,6.9 1.7,6.9 1.7,6.9 l 1.5,-7 -1.6,1.7 -1.6,-1.6 z" - class="st73" - inkscape:connector-curvature="0" - id="F_GLUD1_GLUD2_2" /><text - style="font-size:10px;font-family:Calibri" - id="text1059" - class="st17 st18" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="956.75903" - y="773.34814">NADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1061" - class="st17 st18" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="980.31866" - y="773.34814">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1063" - class="st17 st18" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="956.75903" - y="785.84802">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1065" - class="st17 st26" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="962.9895" - y="787.84808">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1067" - class="st17 st18" - transform="matrix(0.99999215,0.00396135,-0.00396135,0.99999215,0,0)" - x="966.07831" - y="785.84814">O</text> -<text - style="font-size:9.99983883px;font-family:Calibri" - id="text1069" - class="st17 st18" - transform="matrix(0.99971611,-0.02382646,0.02382646,0.99971611,0,0)" - x="892.81866" - y="799.80231">NADPH+</text> -<text - style="font-size:9.99983883px;font-family:Calibri" - id="text1071" - class="st17 st18" - transform="matrix(0.99971611,-0.02382646,0.02382646,0.99971611,0,0)" - x="892.81866" - y="812.30237">H+NH</text> -<text - style="font-size:6.0936017px;font-family:Calibri" - id="text1073" - class="st17 st26" - transform="matrix(0.99971611,-0.02382646,0.02382646,0.99971611,0,0)" - x="916.71509" - y="814.30231">3</text> -<text - style="font-size:15.99982166px;font-family:Calibri-Bold" - id="text1075" - class="st15 st16" - transform="matrix(0.99991115,-0.01332996,0.01332996,0.99991115,0,0)" - x="610.36102" - y="1009.088">Ser</text> -<text - style="font-size:15.99982166px;font-family:Calibri-Bold" - id="text1077" - class="st15 st16" - transform="matrix(0.99991115,-0.01332996,0.01332996,0.99991115,0,0)" - x="714.42944" - y="1011.3351">Gly</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1079" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="652.00781" - y="1022.0663">THF</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 660.6,1009.4186 c 1.3,7 1.3,7 1.3,7 l 1.9,-6.9 -1.7,1.7 -1.5,-1.8 z m -2.4,-14.10005 c -7.3,2 -7.3,2 -7.3,2 l 7.3,2.3 -1.8,-2.2 1.8,-2.1 z" - class="st73" - inkscape:label="SHMT1_2 backward" - inkscape:connector-curvature="0" - id="B_SHMT1_2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1082" - class="st15 st16" - x="316.81769" - y="625.53351">Asp</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1084" - class="st15 st16" - x="317.24249" - y="728.39868">Asp</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1086" - class="st15 st16" - x="301.33231" - y="669.98846">H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1088" - class="st15 st16" - x="289.33328" - y="654.96118">Glu</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1090" - class="st15 st16" - x="359.73318" - y="710.5979">H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1092" - class="st15 st16" - x="356.95441" - y="697.87531">Glu</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.82299995" - d="m 330.6,717.91855 0.2,-81.5 m 0,65.8 c 1.9,5.9 17.6,4.4 17.6,4.4 m -34.6,-41.3 c 5,-3.9 17.8,4.8 17.8,4.8 m -17.9,-17.1 c 4.7,-4.2 18.1,3.8 18.1,3.8 m -1,32.6 c 1.9,5.9 17.6,4.4 17.6,4.4" - class="st45" - inkscape:label="SLC25A13_SLC25A12" - inkscape:connector-curvature="0" - id="R_SLC25A13_SLC25A12" /><path - style="fill:none;stroke:#000000;stroke-width:2.82299995" - d="m 345.2,696.41855 c 7.3,-2.2 7.3,-2.2 7.3,-2.2 l -7.3,-2.1 1.8,2.1 -1.8,2.2 z m -12.3,-57.1 c -2.3,-7.2 -2.3,-7.2 -2.3,-7.2 l -2,7.3 2.1,-1.9 2.2,1.8 z m 13.2,69.9 c 7.3,-2.2 7.3,-2.2 7.3,-2.2 l -7.3,-2.1 1.8,2.1 -1.8,2.2 z" - class="st45" - inkscape:label="#SLC25A13_SLC25A12" - inkscape:connector-curvature="0" - id="F_SLC25A13_SLC25A12" /><path - style="fill:none;stroke:#000000;stroke-width:2.49320006" - d="m 1491.4,754.31855 -49,-0.2" - class="st101" - inkscape:label="Transport_serine " - inkscape:connector-curvature="0" - id="R_Transport_serine" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1443.1,752.01855 c -7.2,2.4 -7.2,2.4 -7.2,2.4 l 7.4,1.9 -1.9,-2.1 1.7,-2.2 z" - class="st22" - inkscape:label="Transport_serine f" - inkscape:connector-curvature="0" - id="F_Transport_serine" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1098" - class="st15 st16" - x="1409.9398" - y="758.43781">Ser</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1100" - class="st15 st16" - x="1501.6996" - y="758.50806">Ser</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.48900008" - d="m 1490.5,773.81855 -48.1,-0.2" - class="st102" - inkscape:label="Transport_glycine " - inkscape:connector-curvature="0" - id="R_Transport_glycine" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1443.1,771.51855 c -7.2,2.4 -7.2,2.4 -7.2,2.4 l 7.4,1.9 -1.9,-2.1 1.7,-2.2 z" - class="st22" - inkscape:label="Transport_glycine backward" - inkscape:connector-curvature="0" - id="B_Transport_glycine" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1489.9,775.81855 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z" - class="st22" - inkscape:transform-center-y="-3.0492074" - inkscape:transform-center-x="0.87100132" - inkscape:label="Transport_glycine forward" - inkscape:connector-curvature="0" - id="F_Transport_glycine" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1105" - class="st15 st16" - x="1408.141" - y="776.79517">Gly</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1107" - class="st15 st16" - x="1502.0004" - y="777.33026">Gly</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.51880002" - d="m 1497,792.51855 -55.2,-0.2" - class="st103" - inkscape:label="TransportFolate" - inkscape:connector-curvature="0" - id="R_TransportFolate" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1442.5,790.21855 c -7.2,2.4 -7.2,2.4 -7.2,2.4 l 7.4,1.9 -1.9,-2.1 1.7,-2.2 z" - class="st22" - inkscape:label="TransportFolate f" - inkscape:connector-curvature="0" - id="F_TransportFolate" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1111" - class="st15 st16" - x="1386.1674" - y="797.35956">Folate</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1113" - class="st15 st16" - x="1501.8568" - y="795.38885">Folate</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.49620008" - d="m 1491.2,812.71855 -49.7,-0.2" - class="st104" - inkscape:label="SLC16A3_SLC16A1_SLC16A5_2 " - inkscape:connector-curvature="0" - id="R_SLC16A3_SLC16A1_SLC16A5_2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1116" - class="st15 st16" - x="1375.0873" - y="814.86646">Formate</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1118" - class="st15 st16" - x="1501.4066" - y="815.80499">Formate</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1120" - class="st17 st18" - x="485.40158" - y="115.15945">ATP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.0948" - d="m 467.4,101.01855 c 0,31.2 0,31.2 0,31.2 m 11.4,-18.7 c -7,-2.9 -11.5,3.3 -11.5,3.3 m 0.2,3.4 c 0.8,5.5 10.2,5.3 10.2,5.3" - class="st76" - inkscape:label="GCK_HKDC1_HK1_ADPGK_HK2_HK3 " - inkscape:connector-curvature="0" - id="R_GCK_HKDC1_HK1_ADPGK_HK2_HK3" /><path - style="fill:none;stroke:#000000;stroke-width:1.67910004" - d="m 467.6,565.81855 0,27.6 0,-27.6 z m 0,12.8 c 0.9,5 10.8,4.8 10.8,4.8 m 0.5,-11 c -6.9,-2.7 -11.3,3 -11.3,3" - class="st105" - inkscape:connector-curvature="0" - id="R_PKM_TMEM54_PKLR_HCN3" /><path - style="fill:none;stroke:#000000;stroke-width:2.0948" - d="m 467.4,210.91855 0,31.1 0,-31.1 z m 0.3,14.8 c 0.9,5.5 11.1,5.3 11.1,5.3 m 3.7,-11.9 c -8.8,-2.9 -14.6,3.3 -14.6,3.3" - class="st76" - inkscape:connector-curvature="0" - id="R_PFKP_PFKL_PFKM_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.0948" - d="m 463.2,324.21855 0,37.2 0,-37.2 z m -0.3,18.2 c 1,5.5 11.8,5.2 11.8,5.2 m 2.5,-13 c -8.1,-2.9 -13.4,3.3 -13.4,3.3" - class="st76" - inkscape:connector-curvature="0" - id="R_GAPDHS_GAPDH_GAPDHP29" /><path - style="fill:none;stroke:#000000;stroke-width:2.0948" - d="m 467.3,389.21855 0,37.2 0,-37.2 z m 0.4,15.4 c 0.8,5.6 9.7,5.3 9.7,5.3 m 2.5,-11.9 c -7.3,-3 -12,3.4 -12,3.4" - class="st76" - inkscape:connector-curvature="0" - id="R_CRISP3_PGK1_MIA3_PGK2" /><path - style="fill:none;stroke:#000000;stroke-width:1.81210005" - d="m 467,524.81855 c 1.1,4.4 13,4.2 13,4.2 m -13.1,-13 c 0,24.3 0,24.3 0,24.3" - class="st106" - inkscape:label="R_ENO1_ENO3_ENO2 " - inkscape:connector-curvature="0" - id="R_ENO1_ENO3_ENO2" /><path - style="fill:none;stroke:#000000;stroke-width:1.58019996" - d="m 479.9,153.01855 45.9,0 -45.9,0 z m 33,8.4 c 2.6,-5.3 -3.5,-8.6 -3.5,-8.6 m -16.6,0.1 c -4.9,1.2 -4.4,12.7 -4.4,12.7" - class="st107" - inkscape:connector-curvature="0" - id="R_G6PD" /><path - style="fill:none;stroke:#000000;stroke-width:1.53460002" - d="m 565.3,154.11855 c 7.9,0 15.7,0 23.6,0 m -8.7,0.1 c -1.9,0.2 -3.2,1.9 -3.9,3.4 -1.3,2.6 -1.9,5.6 -2.3,8.5" - class="st108" - inkscape:connector-curvature="0" - id="R_H6PD_PGLS" /><path - style="fill:none;stroke:#000000;stroke-width:1.82930005" - d="m 638.3,154.51855 46.1,0 -46.1,0 z m 36.6,9.4 c 2.4,-5.6 -3.7,-9.1 -3.7,-9.1 m -23.3,-0.2 c -5,1.1 -4.3,12 -4.3,12" - class="st109" - inkscape:connector-curvature="0" - id="R_PGD" /><path - style="fill:none;stroke:#000000;stroke-width:1.61259997" - d="m 968,293.11855 -0.2,25.4 m 12.8,-19.5 c -8.2,-1.5 -12.6,4.8 -12.6,4.8 m 0,2.6 c 1.7,4.8 13.1,3 13.1,3" - class="st110" - inkscape:label="CMPK2_CMPK1_1" - inkscape:connector-curvature="0" - id="R_CMPK2_CMPK1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.54340005" - d="m 759.4,333.41855 c 2.5,-0.6 3.4,-3.4 4,-5.6 0.5,-2.3 0.7,-4.7 0.7,-7 m -24.6,-0.6 c -1.6,4.5 -0.3,9.8 3.1,13.1 m -13.7,0 c 14.6,-0.1 29.2,-0.2 43.8,-0.3" - class="st111" - inkscape:connector-curvature="0" - id="R_TYMS" /><path - style="fill:none;stroke:#000000;stroke-width:1.75189996" - d="m 1088.6,332.81855 c 5.1,-1 3.8,-8.7 3.8,-8.7 m -24.6,-2.4 c -1.7,7.1 3.5,11.2 3.5,11.2 m -16.1,0 49.8,0.2" - class="st112" - inkscape:connector-curvature="0" - id="R_CTPS2_GATM_CTPS1" /><path - style="fill:none;stroke:#000000;stroke-width:1.82930005" - d="m 1146.5,332.61855 28.3,0.4 m -18.4,-9.2 c -2.2,5.6 3.9,8.9 3.9,8.9 m 4.8,0 c 5,-0.9 4,-8.9 4,-8.9" - class="st109" - inkscape:label="NME2_NME3_NME4_NME5_NME2P1_NME7_NME6_NME1_NME2_4" - inkscape:connector-curvature="0" - id="R_NME2_NME3_NME4_NME5_NME2P1_NME7_NME6_NME1_NME2_4" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text1135" - class="st15 st38" - transform="matrix(0.99980805,-0.01959226,0.01959226,0.99980805,0,0)" - x="1196.0963" - y="700.7312">H</text> -<text - style="font-size:13.99942493px;font-family:Calibri-Bold" - id="text1137" - class="st15 st38" - transform="matrix(0.99984109,-0.01782667,0.01782667,0.99984109,0,0)" - x="1194.2786" - y="688.07074">Orn</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.52830005" - d="m 1425.4,612.11855 c 1,-2.3 0.5,-5 -1.1,-6.9 -0.6,-0.7 -1.2,-1.3 -1.9,-1.8 m -20,0.2 c -2.5,0.5 -3.6,3.7 -4.1,6.4 -0.3,2 -0.5,4.1 -0.4,6.1 m 34.9,-12.9 c -16.4,0.1 -32.8,0.1 -49.1,0.2" - class="st113" - inkscape:connector-curvature="0" - id="R_PYCRL_PYCR2_PYCR1_LEFTY1_1" /><path - style="fill:none;stroke:#000000;stroke-width:1.80159998" - d="m 1428.9,640.21855 c 0.3,-6.1 -4.8,-8.7 -4.8,-8.7 m -22.3,0.4 c -3.9,-1.2 -5.4,12.6 -5.4,12.6 m -21.7,-31.8 0,19 75.8,0.1 0,-19" - class="st114" - inkscape:connector-curvature="0" - id="R_PYCRL_PYCR2_PYCR1_LEFTY1_2" /><path - style="fill:none;stroke:#000000;stroke-width:3.13759995" - d="m 1050.3,713.41855 c 0,26.9 0,26.9 0,26.9 l -293.5,0 m 98.1,-9.5 c -1.8,5.9 2.3,9.7 2.3,9.7 m 33.9,-0.2 c 3.4,-1.3 3.1,-14.8 3.1,-14.8" - class="st115" - inkscape:connector-curvature="0" - id="R_GLUD1_GLUD2_1" /><text - style="font-size:10px;font-family:Calibri" - id="text1142" - class="st17 st18" - transform="matrix(0.99999985,5.3982362e-4,-5.3982362e-4,0.99999985,0,0)" - x="904.09766" - y="1005.4383">H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1144" - class="st15 st16" - x="1486.4927" - y="394.78244">PPi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1146" - class="st17 st18" - x="1531.7222" - y="374.82935">Pi</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1148" - class="st15 st16" - x="1554.2847" - y="394.81766">Pi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1150" - class="st17 st18" - x="1510.5044" - y="374.69266">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1152" - class="st17 st26" - x="1516.7349" - y="376.69266">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1154" - class="st17 st18" - x="1519.8237" - y="374.69266">O</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1156" - class="st15 st16" - x="1484.4966" - y="349.50125">CO</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text1158" - class="st15 st40" - x="1503.6685" - y="352.70145">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1160" - class="st15 st16" - x="1556.1343" - y="349.02563">HCO</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text1162" - class="st15 st40" - x="1585.3999" - y="352.22586">3</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text1164" - class="st15 st40" - x="1590.3413" - y="340.22586">-</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.80649996" - d="m 1525.5,346.01855 c -5.4,-1.7 -4.9,-14 -4.9,-14 m 10.8,14.3 c 5.5,-1.1 4.1,-10.6 4.1,-10.6 m 9,10.6 -33.9,-0.3" - class="st116" - inkscape:label="CA12_CA2_CA9_CA14_CA1_CA3_CA4_CA7_CA13" - inkscape:connector-curvature="0" - id="R_CA12_CA2_CA9_CA14_CA1_CA3_CA4_CA7_CA13" /><text - style="font-size:10px;font-family:Calibri" - id="text1167" - class="st17 st18" - x="1532.2759" - y="326.92114">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1169" - class="st17 st18" - x="1511.0825" - y="328.17014">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1171" - class="st17 st26" - x="1517.313" - y="330.17014">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1173" - class="st17 st18" - x="1520.4019" - y="328.17014">O</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1424.9,550.31855 c 7.2,-2.5 7.2,-2.5 7.2,-2.5 l -7.4,-1.8 1.9,2.1 -1.7,2.2 z m -9.1,-14.8 c -1.4,-7 -1.4,-7 -1.4,-7 l -1.8,6.9 1.6,-1.7 1.6,1.8 z" - class="st73" - inkscape:label="AGAT forward" - inkscape:connector-curvature="0" - id="F_AGAT" /><path - style="fill:none;stroke:#000000;stroke-width:2.16529989" - d="m 1402.1,532.41855 c -2.7,9.7 3.5,15.9 3.5,15.9 m 3.4,-0.2 c 5.4,-1.2 4.9,-14.2 4.9,-14.2 m -25.2,14.2 39.4,0.1" - class="st117" - inkscape:connector-curvature="0" - id="R_AGAT" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1391.4,546.31855 c -7.2,2.4 -7.2,2.4 -7.2,2.4 l 7.4,1.9 -1.9,-2.1 1.7,-2.2 z m 11.6,-10 c -1.4,-7 -1.4,-7 -1.4,-7 l -1.8,6.9 1.6,-1.7 1.6,1.8 z" - class="st73" - inkscape:label="AGAT backward" - inkscape:connector-curvature="0" - id="B_AGAT" /><text - style="font-size:16.00031662px;font-family:Calibri-Bold" - id="text1178" - class="st15 st16" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1439.4275" - y="543.42334">Orn</text> -<text - style="font-size:16.00031662px;font-family:Calibri-Bold" - id="text1180" - class="st15 st16" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1360.4196" - y="542.20752">Arg</text> -<text - style="font-size:10.00020409px;font-family:Calibri" - id="text1182" - class="st17 st18" - transform="matrix(0.99997957,0.00639185,-0.00639185,0.99997957,0,0)" - x="1391.7148" - y="578.39606">H</text> -<text - style="font-size:6.09382439px;font-family:Calibri" - id="text1184" - class="st17 st26" - transform="matrix(0.99997957,0.00639185,-0.00639185,0.99997957,0,0)" - x="1397.9453" - y="580.39606">2</text> -<text - style="font-size:10.00020409px;font-family:Calibri" - id="text1186" - class="st17 st18" - transform="matrix(0.99997957,0.00639185,-0.00639185,0.99997957,0,0)" - x="1401.0333" - y="578.396">O</text> -<text - style="font-size:10.000103px;font-family:Calibri" - id="text1188" - class="st17 st18" - transform="matrix(0.99968968,0.0249107,-0.0249107,0.99968968,0,0)" - x="1421.3773" - y="552.20471">NH</text> -<text - style="font-size:6.09376287px;font-family:Calibri" - id="text1190" - class="st17 st26" - transform="matrix(0.99968968,0.0249107,-0.0249107,0.99968968,0,0)" - x="1434.0627" - y="554.20477">3</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.58570004" - d="m 1372.7,556.21855 0,8 59.7,0 m -27.9,0.1 c -5.2,1.1 -4.6,11.9 -4.6,11.9 m 11.8,-2.8 c 1.3,-5.8 -4.6,-9 -4.6,-9" - class="st118" - inkscape:connector-curvature="0" - id="R_arginineAmidinohydrolase" /><text - style="font-size:16.00031662px;font-family:Calibri-Bold" - id="text1193" - class="st15 st16" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1443.032" - y="560.49847">Ci</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1195" - class="st15 st16" - x="141.67799" - y="620.84399">Asn</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1197" - class="st17 st18" - x="169.63359" - y="597.4563">Glu</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1199" - class="st17 st18" - x="183.491" - y="597.4563">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1201" - class="st17 st18" - x="188.4715" - y="597.4563">AMP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1203" - class="st17 st18" - x="207.97339" - y="597.4563">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1205" - class="st17 st18" - x="212.95389" - y="597.4563">PPi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1207" - class="st17 st18" - x="235.44168" - y="597.802">Gln+ATP+H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1209" - class="st17 st26" - x="280.53448" - y="599.802">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1211" - class="st17 st18" - x="283.6228" - y="597.802">O</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.13490009" - d="m 177.6,614.01855 c 45.3,0 90.7,0.1 136,0.1 m -53.3,-0.7 c 4.3,-2.2 4.3,-7.9 4.6,-12.1 l 0,-0.6 0,-0.5 m -62.9,4.2 c -1.9,3.5 0.5,7.2 3.5,9.1" - class="st119" - inkscape:connector-curvature="0" - id="R_ASNS" /><text - style="font-size:10px;font-family:Calibri" - id="text1214" - class="st17 st18" - x="178.00999" - y="646.13007">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1216" - class="st17 st26" - x="184.24049" - y="648.13007">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1218" - class="st17 st18" - x="187.32939" - y="646.13007">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1220" - class="st17 st18" - x="215.13109" - y="645.87531">NH</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1222" - class="st17 st26" - x="227.8167" - y="647.87531">3</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1224" - class="st15 st16" - x="312.49149" - y="443.98465">Fum</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1226" - class="st15 st16" - x="311.30301" - y="503.79126">Mal</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1228" - class="st17 st18" - x="289.62579" - y="470.02274">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1230" - class="st17 st26" - x="295.8562" - y="472.02274">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1232" - class="st17 st18" - x="298.94458" - y="470.02274">O</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1234" - class="st15 st16" - x="310.03931" - y="565.5257">OAA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1236" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="364.86237" - y="538.48999">GTP</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text1238" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="378.13837" - y="544.30634">GDP+CO</text> -<text - style="font-size:6.09346962px;font-family:Calibri" - id="text1240" - class="st17 st26" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="412.61111" - y="546.30634">2</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.3204" - d="m 397.8,557.61855 c 6.3,-1 6,-11.8 6,-11.8 m -31.2,-3.5 c -2.3,9.4 2.6,15.5 2.6,15.5 m 62.1,-0.2 -98.3,0.2" - class="st120" - inkscape:connector-curvature="0" - id="R_PEPCK" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1243" - class="st15 st16" - x="562.0647" - y="582.62531">Iso</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1245" - class="st17 st18" - x="583.12042" - y="558.49048">NADPH</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1247" - class="st15 st16" - x="666.13904" - y="582.9212">AKG</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1249" - class="st17 st18" - x="584.34894" - y="600.24438">NADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1251" - class="st17 st18" - x="634.66632" - y="558.13007">CO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1253" - class="st17 st26" - x="646.53149" - y="560.13007">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1255" - class="st15 st16" - x="254.8035" - y="672.10089">Fum</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1257" - class="st17 st18" - x="235.65359" - y="644.21405">NH</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1259" - class="st17 st26" - x="248.33908" - y="646.21405">3</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1261" - class="st15 st16" - x="354.87671" - y="645.8938">Ala</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 430.6,634.41855 c -1.4,-7 -1.4,-7 -1.4,-7 l -1.7,6.9 1.6,-1.7 1.5,1.8 z m 25.2,-8.7 c -2.2,-6.3 -2.2,-6.3 -2.2,-6.3 l -1.7,6.5 1.9,-1.7 2,1.5 z" - class="st73" - inkscape:label="NIT2 b" - inkscape:connector-curvature="0" - id="B_NIT2" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 410.3,635.21855 c -0.5,-2.3 -1,-4.7 -1.4,-7 -0.6,2.3 -1.2,4.6 -1.7,6.9 0.5,-0.6 1.1,-1.1 1.6,-1.7 0.4,0.6 1,1.2 1.5,1.8 l 0,0 z m -21.4,4.9 c -2.5,0.6 -4.9,1.3 -7.4,1.9 2.4,0.8 4.8,1.6 7.2,2.4 -0.6,-0.7 -1.2,-1.5 -1.8,-2.2 0.8,-0.7 1.4,-1.4 2,-2.1 l 0,0 z" - class="st73" - inkscape:label="NIT2" - inkscape:connector-curvature="0" - id="F_NIT2" /><text - style="font-size:10px;font-family:Calibri" - id="text1265" - class="st17 st18" - x="396.95239" - y="626.41815">AKG</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1267" - class="st17 st18" - x="420.85379" - y="626.40259">Glu</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1269" - class="st15 st16" - x="409.09311" - y="1219.8303">Biomass</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.22930002" - d="m 434.5,1275.0186 2.2,7.7 2.2,-7.7 -2.2,1.9 -2.2,-1.9 z" - class="st69" - inkscape:label="biomass_synthesis f" - inkscape:connector-curvature="0" - id="F_biomass_synthesis" /><path - style="fill:none;stroke:#000000;stroke-width:2.22930002" - d="m 436.5,1224.9186 0,50.5" - class="st69" - inkscape:label="biomass_synthesis" - inkscape:connector-curvature="0" - id="R_biomass_synthesis" /><path - style="fill:none;stroke:#000000;stroke-width:1.68139994" - d="m 407.6,610.21855 c -5.4,-0.8 -5.1,-9.5 -5.1,-9.5 m 35.5,-3.8 c 2.8,7.9 -3.2,13.1 -3.2,13.1 m 14.4,-0.2 c -62.3,0 -62.3,0 -62.3,0" - class="st121" - inkscape:label="#R_LDHD" - inkscape:connector-curvature="0" - id="R_LDH" /><text - style="font-size:10px;font-family:Calibri" - id="text1274" - class="st17 st18" - x="657.13702" - y="176.49825">NADPH+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1276" - class="st17 st18" - x="657.13702" - y="188.99825">H+CO2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1278" - class="st17 st18" - x="498.32352" - y="174.68045">NADPH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1280" - class="st17 st18" - x="528.11365" - y="174.68045">+H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1282" - class="st17 st18" - x="420.31329" - y="593.42896">NADH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1284" - class="st17 st18" - x="444.93729" - y="593.42896">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1286" - class="st17 st18" - x="449.91779" - y="593.42896">H</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.90479994" - inkscape:connector-curvature="0" - d="m 467.5,711.91855 -0.2,-89.3 m 0.3,71.6 c 1.4,5.7 13.2,4.2 13.2,4.2 m -13.5,-30 c -1.7,-4.3 -14.4,-3.9 -14.4,-3.9" - class="st122" - id="R_MPC1_MPC2_MPC1L" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 465,710.11855 c 2.3,6.3 2.3,6.3 2.3,6.3 l 1.6,-6.5 -1.9,1.7 -2,-1.5 z" - class="st73" - inkscape:label="MPC1_MPC2_MPC1L forward" - inkscape:connector-curvature="0" - id="F_MPC1_MPC2_MPC1L" /><text - style="font-size:10px;font-family:Calibri" - id="text1290" - class="st17 st18" - x="432.4104" - y="750.59888">NAD</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1292" - class="st17 st18" - x="434.51151" - y="767.7298">CoA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1294" - class="st17 st18" - x="485.1048" - y="782.6712">CO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1296" - class="st17 st26" - x="496.97" - y="784.6712">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1298" - class="st17 st18" - x="484.4744" - y="761.19745">NADH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1300" - class="st17 st18" - x="485.61499" - y="772.3714">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1302" - class="st17 st18" - x="580.08624" - y="699.8714">Mal</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1304" - class="st17 st18" - x="520.5755" - y="664.80096">Mal</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.25819993" - d="m 559.6,784.71855 -0.1,-252.5 m 0.1,159.4 c 1.4,5.6 13.3,4.2 13.3,4.2 m -13.4,-29.7 c -1.7,-4.2 -14.5,-3.9 -14.5,-3.9" - class="st123" - inkscape:label="SLC25A1" - inkscape:connector-curvature="0" - id="R_SLC25A1" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1307" - class="st15 st16" - x="554.77374" - y="523.11255">Cit</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 568.4,536.41855 c 2.2,-7.3 2.2,-7.3 2.2,-7.3 l 2.2,7.3 -2.2,-1.8 -2.2,1.8 z" - class="st14" - inkscape:label="ACO1_IREB2 b" - inkscape:connector-curvature="0" - id="B_ACO1_IREB2" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 568.6,562.11855 c 2.2,7.3 2.2,7.3 2.2,7.3 l 2.2,-7.3 -2.2,1.8 -2.2,-1.8 z" - class="st14" - inkscape:label="ACO1_IREB2 f" - inkscape:connector-curvature="0" - id="F_ACO1_IREB2" /><path - style="fill:none;stroke:#000000;stroke-width:1.92060006" - d="m 570.4,535.51855 c 0,27.3 0,27.3 0,27.3" - class="st124" - inkscape:label="ACO1_IREB2" - inkscape:connector-curvature="0" - id="R_ACO1_IREB2" /><text - style="font-size:10px;font-family:Calibri" - id="text1312" - class="st17 st18" - x="887.51202" - y="262.06564">2 Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 477.8,123.71855 c 4.9,2 4.9,2 4.9,2 l -5.6,1.3 1.7,-1.6 -1,-1.7 z m -12.4,8 c 2.2,7.3 2.2,7.3 2.2,7.3 l 2.2,-7.3 -2.2,1.8 -2.2,-1.8 z" - class="st30" - inkscape:label="GCK_HKDC1_HK1_ADPGK_HK2_HK3 f" - inkscape:connector-curvature="0" - id="F_GCK_HKDC1_HK1_ADPGK_HK2_HK3" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 477.8,229.21855 c 4.9,2 4.9,2 4.9,2 l -5.6,1.3 1.7,-1.6 -1,-1.7 z m -12,10.7 c 1.7,7.3 1.7,7.3 1.7,7.3 l 1.7,-7.3 -1.7,1.8 -1.7,-1.8 z" - class="st30" - inkscape:label="PFKP_PFKL_PFKM_1 f" - inkscape:connector-curvature="0" - id="F_PFKP_PFKL_PFKM_1" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 473.7,345.71855 c 4.9,2 4.9,2 4.9,2 l -5.6,1.3 1.7,-1.6 -1,-1.7 z m -12.6,13.6 c 2.2,7.3 2.2,7.3 2.2,7.3 l 2.2,-7.3 -2.2,1.8 -2.2,-1.8 z" - class="st30" - inkscape:label="GAPDHS_GAPDH_GAPDHP29" - inkscape:connector-curvature="0" - id="F_GAPDHS_GAPDH_GAPDHP29" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 479.8,527.21855 c 4.9,2 4.9,2 4.9,2 l -5.6,1.3 1.7,-1.6 -1,-1.7 z m -14.7,10.9 c 2.2,7.3 2.2,7.3 2.2,7.3 l 2.2,-7.3 -2.2,1.8 -2.2,-1.8 z" - class="st30" - inkscape:label="ENO1_ENO3_ENO2 f" - inkscape:connector-curvature="0" - id="F_ENO1_ENO3_ENO2" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 477.9,581.61855 c 4.9,2 4.9,2 4.9,2 l -5.6,1.3 1.7,-1.6 -1,-1.7 z m -12.4,10.4 c 2.2,7.3 2.2,7.3 2.2,7.3 l 2.2,-7.3 -2.2,1.8 -2.2,-1.8 z" - class="st30" - inkscape:label="PKM_TMEM54_PKLR_HCN3 f" - inkscape:connector-curvature="0" - id="F_PKM_TMEM54_PKLR_HCN3" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 403.9,602.11855 c -2,-4.9 -2,-4.9 -2,-4.9 l -1.3,5.6 1.6,-1.7 1.7,1 z m -15.8,5.8 -7.3,2.2 7.3,2.2 -1.8,-2.2 1.8,-2.2 z" - class="st30" - inkscape:label="LDH f" - inkscape:connector-curvature="0" - id="F_LDH" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 514.9,160.51855 c -2,4.9 -2,4.9 -2,4.9 l -1.3,-5.6 1.6,1.7 1.7,-1 z m 6.5,-5.4 c 7.3,-2.2 7.3,-2.2 7.3,-2.2 l -7.3,-2.2 1.8,2.2 -1.8,2.2 z" - class="st30" - inkscape:label="G6PD" - inkscape:connector-curvature="0" - id="F_G6PD" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 676.8,162.21855 c -1,5.2 -1,5.2 -1,5.2 l -2.4,-5.3 1.9,1.3 1.5,-1.2 z m 5.2,-5.6 c 7.3,-2.2 7.3,-2.2 7.3,-2.2 l -7.3,-2.2 1.8,2.2 -1.8,2.2 z" - class="st30" - inkscape:label="PGD f" - inkscape:connector-curvature="0" - id="F_PGD" /><path - style="fill:none;stroke:#000000;stroke-width:2.09750009" - d="m 790.5,176.41855 c 0,29.5 0,29.5 0,29.5 m -12.7,-23.8 c 7.8,-2.3 12.6,3.5 12.6,3.5 m -0.3,7 c -1,5 -10.4,4.3 -10.4,4.3" - class="st125" - inkscape:label="PRPS2_PRPS1_PRPS1L1" - inkscape:connector-curvature="0" - id="R_PRPS2_PRPS1_PRPS1L1" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 764.8,168.11855 c 7.2,-0.3 7.2,-0.3 7.2,-0.3 l -6.1,-3.9 1.1,2.6 -2.2,1.6 z" - class="st32" - inkscape:transform-center-y="13.19671" - inkscape:transform-center-x="-17.870394" - inkscape:label="RPIA_LOC101060545 f" - inkscape:connector-curvature="0" - id="F_RPIA_LOC101060545" /><path - style="fill:none;stroke:#000000;stroke-width:1.17589998" - d="m 732.7,157.71855 33.8,8.2" - class="st126" - inkscape:transform-center-y="9.1713454" - inkscape:transform-center-x="7.5511886" - inkscape:label="RPIA_LOC101060545" - inkscape:connector-curvature="0" - id="R_RPIA_LOC101060545" /><path - style="fill:none;stroke:#000000;stroke-width:1.13479996" - d="m 739,148.51855 32,-6.4" - class="st127" - inkscape:transform-center-y="-9.5755519" - inkscape:transform-center-x="6.2972653" - inkscape:label="RPE_LOC729020" - inkscape:connector-curvature="0" - id="R_RPE_LOC729020" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 740.3,146.41855 c -6.6,2.9 -6.6,2.9 -6.6,2.9 l 7.1,1.5 -1.9,-2 1.4,-2.4 z" - class="st32" - inkscape:transform-center-y="-7.1245069" - inkscape:transform-center-x="22.076699" - inkscape:label="RPE_LOC729020 f" - inkscape:connector-curvature="0" - id="F_RPE_LOC729020" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 780.2,198.61855 c -4.9,-2 -4.9,-2 -4.9,-2 l 5.6,-1.3 -1.7,1.6 1,1.7 z m 12.4,6.6 c -2,6.9 -2,6.9 -2,6.9 l -2.4,-6.8 2.2,1.7 2.2,-1.8 z" - class="st30" - inkscape:label="PRPS2_PRPS1_PRPS1L1 f" - inkscape:connector-curvature="0" - id="F_PRPS2_PRPS1_PRPS1L1" /><text - style="font-size:10px;font-family:Calibri" - id="text1328" - class="st17 st18" - x="928.5589" - y="209.07054">4 Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.00309992" - d="m 628.9,518.91855 c -5.9,1.2 -4.4,11.4 -4.4,11.4 m -6.4,-11.7 c 5.9,-1.2 4.4,-11.4 4.4,-11.4 m 12.1,11.4 c 5.9,-1.2 4.4,-11.4 4.4,-11.4 m 14.1,11.6 -72.4,-0.2 m 19.7,-0.3 c -5.9,1.2 -4.4,11.4 -4.4,11.4 m 1.3,-10.6 c 5.9,-1.4 5.4,-11.9 5.4,-11.9" - class="st128" - inkscape:label="ACLY" - inkscape:connector-curvature="0" - id="R_ACLY" /><text - style="font-size:10px;font-family:Calibri" - id="text1331" - class="st17 st18" - x="619.48761" - y="501.60864">Pi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1333" - class="st17 st18" - x="925.4632" - y="502.06665">CoA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1335" - class="st17 st18" - x="978.2464" - y="502.37036">3ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1337" - class="st17 st18" - x="944.37335" - y="502.11053">2 NADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1339" - class="st17 st18" - x="1005.5902" - y="502.01004">Pi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1341" - class="st17 st18" - x="1022.222" - y="502.37036">CO2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1343" - class="st17 st18" - x="935.09015" - y="537.14966">2 NADPH</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.00309992" - d="m 990.8,518.11855 c -5.9,1.2 -4.4,11.4 -4.4,11.4 m 37.1,-11.1 c 5.9,-1.2 4.4,-11.4 4.4,-11.4 m -20.9,11.4 c 5.9,-1.2 4.4,-11.4 4.4,-11.4 m -56.6,11.1 c -5.9,1.2 -4.4,11.4 -4.4,11.4 m 5.6,-11.1 c 5.9,-1.2 4.4,-11.4 4.4,-11.4 m 28.6,11.4 c 5.9,-1.2 4.4,-11.4 4.4,-11.4 m 42.5,11.6 -117.3,-0.2 m 10.7,-0.3 c -5.9,1.2 -4.4,11.4 -4.4,11.4 m 4.3,-11 c 5.9,-1.4 5.4,-11.9 5.4,-11.9" - class="st128" - inkscape:label="MVD" - inkscape:connector-curvature="0" - id="R_MVD" /><text - style="font-size:10px;font-family:Calibri" - id="text1346" - class="st17 st18" - x="916.46899" - y="537.34601">2 H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1348" - class="st17 st18" - x="975.79724" - y="537.38495">3 ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1350" - class="st17 st18" - x="1083.433" - y="539.12915">2 ippPP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1352" - class="st17 st18" - x="1092.3324" - y="502.40256">2 PPi</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.96599996" - d="m 1113.5,519.01855 -25,-0.5 m 13.7,-0.2 c -5.9,1.2 -4.4,11.4 -4.4,11.4 m 1.2,-10.6 c 5.9,-1.4 5.4,-11.9 5.4,-11.9" - class="st129" - inkscape:label="ARID4B_GGPS1_FDPS_FDPSP7_2" - inkscape:connector-curvature="0" - id="R_ARID4B_GGPS1_FDPS_FDPSP7_2" /><text - style="font-size:10px;font-family:Calibri" - id="text1355" - class="st17 st18" - x="1146.4008" - y="536.18677">fPP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1357" - class="st17 st18" - x="1147.5316" - y="500.91135">15 H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1359" - class="st17 st26" - x="1166.1605" - y="502.91135">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1361" - class="st17 st18" - x="1169.2484" - y="500.91135">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1363" - class="st17 st18" - x="1244.015" - y="500.13596">2 PPi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1365" - class="st17 st18" - x="1178.6937" - y="500.73166">13 NADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1367" - class="st17 st18" - x="1269.6381" - y="499.95636">for</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1369" - class="st17 st18" - x="1219.3802" - y="500.49734">2 CO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1371" - class="st17 st26" - x="1238.5746" - y="502.49734">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1373" - class="st17 st18" - x="1162.7885" - y="536.02271">13 NADPH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1375" - class="st17 st18" - x="1208.9027" - y="536.07941">16 H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1377" - class="st17 st18" - x="1230.308" - y="535.75806">10 O</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1379" - class="st17 st26" - x="1249.3265" - y="537.75806">2</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.82200003" - d="m 861.2,464.41855 c 5.9,-1 4.4,-9.6 4.4,-9.6 m -19,9.5 29.3,0.3 m -15.1,-0.1 c -6,1.2 -5.5,10.5 -5.5,10.5" - class="st130" - inkscape:label="MCAT_FASN" - inkscape:connector-curvature="0" - id="R_MCAT_FASN" /><text - style="font-size:10px;font-family:Calibri" - id="text1382" - class="st17 st18" - x="1064.4486" - y="447.78546">14 H</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 888.8,422.31855 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -27.6,0.3 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 39.9,9.6 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.4,-1.9 1.9,2.1 -1.7,2.2 z" - class="st30" - inkscape:label="AcAcACPSynthesis f" - inkscape:connector-curvature="0" - id="F_AcAcACPSynthesis" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 477.8,777.11855 c 4.9,2 4.9,2 4.9,2 l -5.6,1.3 1.7,-1.6 -1,-1.7 z m 0,-10.5 c 4.9,2 4.9,2 4.9,2 l -5.6,1.3 1.7,-1.6 -1,-1.7 z m 0,-10.5 c 4.9,2 4.9,2 4.9,2 l -5.6,1.3 1.7,-1.6 -1,-1.7 z m -10.5,38.3 c -2.1,6.9 -2.1,6.9 -2.1,6.9 l -2.3,-6.8 2.2,1.7 2.2,-1.8 z" - class="st30" - inkscape:label="DLD_PDHX_PDHA1_DLAT_PDHA2_PDHB F" - inkscape:connector-curvature="0" - id="F_DLD_PDHX_PDHA1_DLAT_PDHA2_PDHB" /><path - style="fill:none;stroke:#000000;stroke-width:2.37849998" - d="m 443.6,735.91855 -27.4,0 0,127.5 116.3,0 m -60.4,0.2 c 7.3,-1.5 7.3,-12.6 7.3,-12.6 m 17.7,12.5 c -7.6,1.4 -8.5,11 -8.5,11 m -25.1,-11 c -7.6,1.4 -8.5,11 -8.5,11 m -15.9,-11 c -7.6,1.4 -8.5,11 -8.5,11 m 8.7,-11.2 c 7.3,-1.5 7.3,-12.6 7.3,-12.6" - class="st131" - inkscape:label="PC" - inkscape:connector-curvature="0" - id="R_PC" /><text - style="font-size:10px;font-family:Calibri" - id="text1387" - class="st17 st18" - x="437.9422" - y="842.4212">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1389" - class="st17 st18" - x="475.73709" - y="842.85181">Pi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1391" - class="st17 st18" - x="420.13361" - y="882.27466">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1393" - class="st17 st18" - x="444.71021" - y="881.94067">HCO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1395" - class="st17 st26" - x="462.80591" - y="883.94067">3</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1397" - class="st17 st26" - x="465.89481" - y="876.44067">-</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1399" - class="st17 st18" - x="485.21021" - y="881.94067">H</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 530.5,861.11855 c 6.9,2.1 6.9,2.1 6.9,2.1 l -6.8,2.3 1.7,-2.2 -1.8,-2.2 z m -86,-10.4 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 33,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st32" - inkscape:label="PC f" - inkscape:connector-curvature="0" - id="F_PC" /><path - style="fill:none;stroke:#000000;stroke-width:1.53359997" - d="m 562.6,822.11855 c 4.2,1.1 4.2,1.1 4.2,1.1 l -4.4,1.6 1.2,-1.4 -1,-1.3 z m -6.5,-9.6 c 0.1,-5.5 0.1,-5.5 0.1,-5.5 l -3.5,4.6 2.1,-0.8 1.3,1.7 z" - class="st132" - inkscape:label="CS f" - inkscape:connector-curvature="0" - id="F_CS" /><text - style="font-size:10px;font-family:Calibri" - id="text1403" - class="st17 st18" - x="681.67023" - y="783.07056">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1405" - class="st17 st18" - x="683.4339" - y="716.35669">H</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.49890006" - d="m 662.8,725.01855 c -1,6.8 -7.1,8.5 -7.1,8.5 m 45.3,-7.2 c -1,6.8 -7.1,8.5 -7.1,8.5 m -8.9,-11 c -1,6.8 -7.1,8.5 -7.1,8.5 m -39,-5.5 c 1,6.8 7.1,8.5 7.1,8.5 m -13.6,3.7 c 26,-9.2 53,-8.9 79.3,1" - class="st133" - inkscape:label="IDH2" - inkscape:connector-curvature="0" - id="R_IDH2" /><path - style="fill:none;stroke:#000000;stroke-width:1.81630003" - d="m 638.9,767.21855 c -3.8,4 -3.8,4 -3.8,4 l 1.6,-6.8 0.4,2.8 1.8,0 z m -5.4,-13.8 c -6.3,-1.4 -6.3,-1.4 -6.3,-1.4 l 4.4,4.1 -0.4,-2 2.3,-0.7 z" - class="st134" - inkscape:label="IDH3 b" - inkscape:connector-curvature="0" - id="B_IDH3" /><path - style="fill:none;stroke:#000000;stroke-width:1.49890006" - d="m 632.4,755.01855 c 26,9.2 53,8.9 79.3,-1 m -74.1,13.2 c 1,-6.8 7.1,-8.5 7.1,-8.5 m 40.3,11 c -1,-6.8 -7.1,-8.5 -7.1,-8.5 m 23.1,6 c -1,-6.8 -7.1,-8.5 -7.1,-8.5 m -29.9,10.7 c -1,-6.8 -7.1,-8.5 -7.1,-8.5" - class="st133" - inkscape:connector-curvature="0" - id="R_IDH3" /><text - style="font-size:10px;font-family:Calibri" - id="text1410" - class="st17 st18" - x="789.9563" - y="767.94257">NADH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1412" - class="st17 st18" - x="814.58044" - y="767.94257">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1414" - class="st17 st18" - x="789.9563" - y="780.44257">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1416" - class="st17 st18" - x="796.18683" - y="780.44257">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1418" - class="st17 st18" - x="801.1673" - y="780.44257">CO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1420" - class="st17 st26" - x="813.03253" - y="782.44257">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1422" - class="st17 st18" - x="509.7952" - y="894.0257">NADH+H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1424" - class="st17 st18" - x="489.20441" - y="902.28931">NAD</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09549999" - d="m 429.3,916.81855 c -7.3,-1.3 -7.3,-10.9 -7.3,-10.9 m 29.9,10.9 c -7.3,-1.3 -7.3,-10.9 -7.3,-10.9 m 32.8,10.9 c -7.3,-1.3 -7.3,-10.9 -7.3,-10.9 m 22.9,10.8 c 7.3,-1.3 7.3,-10.9 7.3,-10.9 m 76.2,10.9 -167.7,0 0,-187.3 34.9,0" - class="st135" - inkscape:label="ME2_ME3_1" - inkscape:connector-curvature="0" - id="R_ME2_ME3_1" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 424,906.71855 c -2,-4.9 -2,-4.9 -2,-4.9 l -1.3,5.6 1.6,-1.7 1.7,1 z m 22.5,0 c -2,-4.9 -2,-4.9 -2,-4.9 l -1.3,5.6 1.6,-1.7 1.7,1 z m 25.5,0 c -2,-4.9 -2,-4.9 -2,-4.9 l -1.3,5.6 1.6,-1.7 1.7,1 z m -31,-176.2 c 6.4,-2 6.4,-2 6.4,-2 l -6.6,-2.3 1.7,2.2 -1.5,2.1 z" - class="st30" - inkscape:label="ME2_ME3_1 f" - inkscape:connector-curvature="0" - id="F_ME2_ME3_1" /><text - style="font-size:10px;font-family:Calibri" - id="text1428" - class="st17 st18" - x="457.70239" - y="898.8313">NADH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1430" - class="st17 st18" - x="441.25998" - y="898.8313">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1432" - class="st17 st18" - x="415.7493" - y="898.8147">CO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1434" - class="st17 st26" - x="427.6145" - y="900.8147">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1436" - class="st17 st18" - x="503.78641" - y="944.25116">NADP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.14289999" - d="m 429.3,920.51855 c -7.3,1.4 -7.3,11.4 -7.3,11.4 m 29.9,-11.4 c -7.3,1.4 -7.3,11.4 -7.3,11.4 m 32.8,-11.4 c -7.3,1.4 -7.3,11.4 -7.3,11.4 m 38.1,-11.3 c 7.2,1.7 7.2,14.6 7.2,14.6 m 61.2,-14.6 -177,0 0,-199.5 42.5,0" - class="st136" - inkscape:label="ME2_ME3_2" - inkscape:connector-curvature="0" - id="R_ME2_ME3_2" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 424,930.01855 c -2,4.9 -2,4.9 -2,4.9 l -1.3,-5.6 1.6,1.7 1.7,-1 z m 22.5,0 c -2,4.9 -2,4.9 -2,4.9 l -1.3,-5.6 1.6,1.7 1.7,-1 z m 25.5,0 c -2,4.9 -2,4.9 -2,4.9 l -1.3,-5.6 1.6,1.7 1.7,-1 z m -31,-207 c 6.5,-1.8 6.5,-1.8 6.5,-1.8 l -6.5,-2.5 1.7,2.2 -1.7,2.1 z" - class="st30" - inkscape:label="ME2_ME3_2 f" - inkscape:connector-curvature="0" - id="F_ME2_ME3_2" /><text - style="font-size:10px;font-family:Calibri" - id="text1440" - class="st17 st18" - x="456.02231" - y="944.76099">NADPH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1442" - class="st17 st18" - x="440.8992" - y="944.5813">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1444" - class="st17 st18" - x="415.7981" - y="944.5813">CO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1446" - class="st17 st26" - x="427.66339" - y="946.5813">2</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.10339999" - d="m 615.9,579.61855 c 5.9,-1.5 5.4,-12.9 5.4,-12.9 m 15.5,12.5 c 5.9,-1.3 4.4,-12.5 4.4,-12.5 m 14,12.5 -72.4,-0.2 m 19.7,-0.3 c -5.9,1.4 -4.4,13.7 -4.4,13.7 m 1.3,-12.8 c 5.9,-1.5 5.4,-12.9 5.4,-12.9" - class="st137" - inkscape:label="IDH1" - inkscape:connector-curvature="0" - id="R_IDH1" /><text - style="font-size:10px;font-family:Calibri" - id="text1449" - class="st17 st18" - x="619.24744" - y="558.70239">H</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 327.8,483.61855 c 0,-27.3 0,-27.3 0,-27.3 m -0.4,15.6 c -1.1,-6 -11.6,-4.8 -11.6,-4.8" - class="st14" - inkscape:label="FH_2" - inkscape:connector-curvature="0" - id="R_FH_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 330.1,482.71855 c -2.2,7.3 -2.2,7.3 -2.2,7.3 l -2.2,-7.3 2.2,1.8 2.2,-1.8 z" - class="st14" - inkscape:label="FH_2 f" - inkscape:connector-curvature="0" - id="F_FH_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 329.9,456.91855 c -2.2,-7.3 -2.2,-7.3 -2.2,-7.3 l -2.2,7.3 2.2,-1.8 2.2,1.8 z m -14.7,12 c -4.9,-2 -4.9,-2 -4.9,-2 l 5.6,-1.3 -1.7,1.6 1,1.7 z" - class="st14" - inkscape:label="FH_2 b" - inkscape:connector-curvature="0" - id="B_FH_2" /><text - style="font-size:10px;font-family:Calibri" - id="text1454" - class="st17 st18" - x="287.3587" - y="527.83325">NAD</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1456" - class="st17 st18" - x="271.14529" - y="544.677">NADH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1458" - class="st17 st18" - x="295.76929" - y="544.677">+</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1460" - class="st17 st18" - x="300.74979" - y="544.677">H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1462" - class="st15 st16" - x="429.36963" - y="1131.9838">Q</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1464" - class="st15 st16" - x="350.36279" - y="1132.7025">NADH</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1466" - class="st15 st16" - x="457.80908" - y="1199.7504">4 H</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.06859994" - d="m 474.1998,1181.2711 -2.8,5.9 -2,-6.1 2.3,1.6 2.5,-1.4 z m 12.4,-39.3 -2.8,-5.9 -2,6.1 2.3,-1.6 2.5,1.4 z m 29.4,0 -2.8,-5.9 -2,6.1 2.3,-1.6 2.5,1.4 z" - class="st138" - inkscape:label="Complex1ROS f" - inkscape:connector-curvature="0" - id="F_Complex1ROS" /><path - style="fill:none;stroke:#000000;stroke-width:2.06859994" - d="m 761.84776,1178.6878 -2.8,5.9 -2,-6.1 2.3,1.6 z m 27.25948,-37.9976 -2.8,-5.9 -2,6.1 2.3,-1.6 z m 52.82373,-0.1976 -2.8,-5.9 -2,6.1 2.3,-1.6 z" - class="st138" - inkscape:label="Complex3 f" - inkscape:connector-curvature="0" - id="F_Complex3" - sodipodi:nodetypes="ccccccccccccccc" /><path - style="fill:none;stroke:#000000;stroke-width:2.06859994" - d="m 1050.1,1177.9186 -2.8,5.9 -2,-6.1 2.3,1.6 2.5,-1.4 z m 96.4,-35.6 -2.8,-5.9 -2,6.1 2.3,-1.6 2.5,1.4 z m -72,0 -2.8,-5.9 -2,6.1 2.3,-1.6 2.5,1.4 z" - class="st138" - inkscape:label="Complex4 f" - inkscape:connector-curvature="0" - id="F_Complex4" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1471" - class="st15 st16" - x="1186.5951" - y="1132.6877">ADP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1473" - class="st15 st16" - x="1258.2738" - y="1131.0793">ATP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1475" - class="st15 st16" - x="1288.1302" - y="1131.2004">2 H</text> -<text - style="font-size:9.75px;font-family:Calibri-Bold" - id="text1477" - class="st15 st40" - x="1309.9506" - y="1134.3997">2</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1479" - class="st15 st16" - x="1314.8929" - y="1131.2004">O</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1481" - class="st15 st16" - x="1224.5297" - y="1132.1653">Pi</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1483" - class="st15 st16" - x="1234.349" - y="1192.5237">4 H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1485" - class="st15 st16" - x="1337.7094" - y="1131.2004">4 H</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.11870003" - d="m 1310.4,1155.6186 0,-13.8 m -106.2,-2 0,16.2 142.6,0 0,-16.2 m -116.3,-0.5 0,16.2 m 43.9,0.1 0,-13.8 m -29.7,13.8 0,25.4" - class="st139" - inkscape:label="ATPsynthase " - inkscape:connector-curvature="0" - id="R_ATPsynthase" /><path - style="fill:none;stroke:#000000;stroke-width:2.06859994" - d="m 1313.3,1141.9186 -2.8,-5.9 -2,6.1 2.3,-1.6 2.5,1.4 z m 36,0 -2.8,-5.9 -2,6.1 2.3,-1.6 2.5,1.4 z m -72,0 -2.8,-5.9 -2,6.1 2.3,-1.6 2.5,1.4 z" - class="st138" - inkscape:label="ATPsynthase f" - inkscape:connector-curvature="0" - id="F_ATPsynthase" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1495" - class="st15 st16" - x="177.9417" - y="839.77655">AKG</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1497" - class="st15 st16" - x="286.39868" - y="840.57635">AKG</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.82299995" - d="m 275.8,835.31855 -60.2,-0.3 m 44.6,0.3 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m -26.7,14.1 c -6.2,-6.3 -6.2,-9.5 -6.8,-12.7" - class="st45" - inkscape:label="SLC25A11" - inkscape:connector-curvature="0" - id="R_SLC25A11" /><path - style="fill:none;stroke:#000000;stroke-width:2.32780004" - d="m 267.4,821.81855 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z m -51.1,11.2 c -2.4,0.8 -4.8,1.6 -7.2,2.4 2.5,0.6 4.9,1.3 7.4,1.9 -0.6,-0.7 -1.3,-1.4 -1.9,-2.1 0.6,-0.7 1.1,-1.4 1.7,-2.2 l 0,0 z" - class="st140" - inkscape:label="SLC25A11 b" - inkscape:connector-curvature="0" - id="B_SLC25A11" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text1501" - class="st15 st38" - x="258.91681" - y="813.65851">Mal</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1503" - class="st15 st38" - x="218.61449" - y="814.12427">Mal</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.35560012" - d="m 233.9,824.21855 c -2.4,-5.9 -2.4,-5.9 -2.4,-5.9 l -2.3,6 2.3,-1.5 2.4,1.4 z m 40.1,13.1 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z" - class="st46" - inkscape:label="SLC25A11 f" - inkscape:connector-curvature="0" - id="F_SLC25A11" /><text - style="font-size:10px;font-family:Calibri" - id="text1506" - class="st17 st18" - x="1286.9183" - y="796.95239">HCO</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1508" - class="st17 st26" - x="1305.014" - y="798.95239">3</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1510" - class="st17 st26" - x="1308.1029" - y="791.45239">-</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1512" - class="st17 st18" - x="1261.7601" - y="797.07349">2 ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1514" - class="st17 st18" - x="1312.8011" - y="797.28931">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1516" - class="st17 st18" - x="1215.6556" - y="796.61255">2 ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1518" - class="st17 st18" - x="1247.1156" - y="797.24536">Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1198.1,755.61855 c 6.9,-1.7 6.9,-1.7 6.9,-1.7 l -7,-1.5 1.8,1.6 -1.7,1.6 z m -6.3,-8.1 c -1.9,-7.4 -1.9,-7.4 -1.9,-7.4 l -2.4,7.2 2.2,-1.8 2.1,2 z" - class="st73" - inkscape:label="OTC_LEFTY1 f" - inkscape:connector-curvature="0" - id="F_OTC_LEFTY1" /><text - style="font-size:10px;font-family:Calibri" - id="text1521" - class="st17 st18" - x="1207.1527" - y="756.75415">Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1205.4,705.01855 c 5.4,1.6 5.4,1.6 5.4,1.6 l -5.8,1.7 1.6,-1.6 -1.2,-1.7 z m 0,-12 c 5.4,1.6 5.4,1.6 5.4,1.6 l -5.8,1.7 1.6,-1.6 -1.2,-1.7 z m -12.9,-39.4 c -2.6,-7.2 -2.6,-7.2 -2.6,-7.2 l -1.7,7.4 2,-2 2.3,1.8 z" - class="st73" - inkscape:label="SLC25A15_SLC25A2_1 f" - inkscape:connector-curvature="0" - id="F_SLC25A15_SLC25A2_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1165.5,612.21855 c -6.9,1.7 -6.9,1.7 -6.9,1.7 l 7,1.5 -1.8,-1.6 1.7,-1.6 z m 14.8,-3.2 c -0.8,-7.6 -0.8,-7.6 -0.8,-7.6 l -3.4,6.8 2.5,-1.4 1.7,2.2 z" - class="st73" - inkscape:label="ASS1 f" - inkscape:connector-curvature="0" - id="F_ASS1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1260.6,601.11855 c 6.9,-1.7 6.9,-1.7 6.9,-1.7 l -7,-1.5 1.8,1.6 -1.7,1.6 z m -14.1,15.4 c 0.8,7.6 0.8,7.6 0.8,7.6 l 3.4,-6.8 -2.4,1.4 -1.8,-2.2 z" - class="st73" - inkscape:label="ARG2_ARG1 f" - inkscape:connector-curvature="0" - id="F_ARG2_ARG1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1307.9,604.11855 c 6.9,-1.7 6.9,-1.7 6.9,-1.7 l -7,-1.5 1.8,1.6 -1.7,1.6 z m -8.3,-7.4 c -1.9,-7.4 -1.9,-7.4 -1.9,-7.4 l -2.4,7.2 2.2,-1.8 2.1,2 z" - class="st73" - inkscape:label="OGDH_ODC1_OGDHL f" - inkscape:connector-curvature="0" - id="F_OGDH_ODC1_OGDHL" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1410.9,573.21855 c 1.7,6.9 1.7,6.9 1.7,6.9 l 1.5,-7 -1.6,1.8 -1.6,-1.7 z m 19,-6.5 c 7.2,-2.5 7.2,-2.5 7.2,-2.5 l -7.4,-1.8 1.9,2.1 -1.7,2.2 z" - class="st73" - inkscape:label="arginineAmidinohydrolase" - inkscape:connector-curvature="0" - id="F_arginineAmidinohydrolase" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1226.5,773.71855 -7.3,2.2 7.3,2.2 -1.8,-2.2 1.8,-2.2 z m 6.9,9 c 1.7,6.9 1.7,6.9 1.7,6.9 l 1.5,-7 -1.6,1.8 -1.6,-1.7 z m 15.5,0.5 c 1.7,6.9 1.7,6.9 1.7,6.9 l 1.5,-7 -1.6,1.8 -1.6,-1.7 z" - class="st73" - inkscape:label="CPS1" - inkscape:connector-curvature="0" - id="F_CPS1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1424.1,609.91855 c 1.7,6.9 1.7,6.9 1.7,6.9 l 1.5,-7 -1.6,1.8 -1.6,-1.7 z m 7.6,-4.7 c 7.2,-2.5 7.2,-2.5 7.2,-2.5 l -7.4,-1.8 1.9,2.1 -1.7,2.2 z" - class="st73" - inkscape:label="PYCRL_PYCR2_PYCR1_LEFTY1_1 f" - inkscape:connector-curvature="0" - id="F_PYCRL_PYCR2_PYCR1_LEFTY1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1427.1,638.71855 c 1.7,6.9 1.7,6.9 1.7,6.9 l 1.5,-7 -1.6,1.8 -1.6,-1.7 z m 25.3,-21.9 c -1.8,-7.4 -1.8,-7.4 -1.8,-7.4 l -2.5,7.2 2.2,-1.7 2.1,1.9 z" - class="st73" - inkscape:label="PYCRL_PYCR2_PYCR1_LEFTY1_2 f" - inkscape:connector-curvature="0" - id="F_PYCRL_PYCR2_PYCR1_LEFTY1_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 389.7,362.01855 c 7,-1.3 7,-1.3 7,-1.3 l -6.9,-1.9 1.7,1.7 -1.8,1.5 z" - class="st73" - inkscape:connector-curvature="0" - id="path2280" /><path - style="fill:none;stroke:#000000;stroke-width:2.29760003" - d="m 376.4,277.61855 c 1.4,5.3 17.3,5.1 17.3,5.1 m -78.9,-8.4 c 36.8,-1.5 60.9,1.7 60.9,1.7 m 0.6,47.2 -0.1,-55.9 m -15.7,21.2 c 9.7,-2.9 16,3.2 16,3.2" - class="st79" - inkscape:connector-curvature="0" - id="R_SHMT1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 314.9,275.71855 c -7,-1.3 -7,-1.3 -7,-1.3 l 6.9,-1.9 -1.7,1.7 1.8,1.5 z m 63.2,-8.2 c -2.3,-6.3 -2.3,-6.3 -2.3,-6.3 l -1.6,6.5 1.9,-1.7 2,1.5 z m -14.8,22 c -7,-1.3 -7,-1.3 -7,-1.3 l 6.9,-1.9 -1.7,1.7 1.8,1.5 z" - class="st73" - inkscape:connector-curvature="0" - id="F_SHMT1" /><text - style="font-size:9.99962234px;font-family:Calibri" - id="text1534" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="333.75421" - y="294.88434">H</text> -<text - style="font-size:6.09346962px;font-family:Calibri" - id="text1536" - class="st17 st26" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="339.98471" - y="296.88437">2</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text1538" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="343.07361" - y="294.8844">O</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 401.7,328.31855 c 1.3,-7 1.3,-7 1.3,-7 l 1.9,6.9 -1.7,-1.7 -1.5,1.8 z m 10.4,8.6 c 6.3,2.2 6.3,2.2 6.3,2.2 l -6.5,1.7 1.7,-1.9 -1.5,-2 z" - class="st73" - inkscape:label="SDS_SDSL_SRR" - inkscape:connector-curvature="0" - id="F_SDS_SDSL_SRR" /><path - style="fill:none;stroke:#000000;stroke-width:2.18140006" - d="m 453.8,622.71855 0,19.5 -67.5,0 m 23.1,-11 c -2.7,7 3.5,11.5 3.5,11.5 m 10.9,-0.1 c 5.4,-0.9 4.9,-10.3 4.9,-10.3" - class="st141" - inkscape:label="NIT2" - inkscape:connector-curvature="0" - id="R_NIT2" /><text - style="font-size:10px;font-family:Calibri" - id="text1542" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="301.05325" - y="582.61121">Glu</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text1544" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="288.98755" - y="601.8775">AKG</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 327.2,600.61855 c 2,7.3 2,7.3 2,7.3 l 2.3,-7.3 -2.2,1.8 -2.1,-1.8 z m -7,-4.3 c -7,-1.3 -7,-1.3 -7,-1.3 l 6.9,-1.9 -1.7,1.7 1.8,1.5 z" - class="st73" - inkscape:label="GOT1_GOT2_GOT1L1_2 bb" - inkscape:connector-curvature="0" - id="B_GOT1_GOT2_GOT1L1_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.06480002" - d="m 329.3,603.91855 -0.2,-29.4 m -12.3,8.1 c 7.6,-2.9 12.6,3.3 12.6,3.3 m 0,3.4 c -0.9,5.5 -11.2,5.2 -11.2,5.2" - class="st142" - inkscape:label="GOT1_GOT2_GOT1L1_2" - inkscape:connector-curvature="0" - id="R_GOT1_GOT2_GOT1L1_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 331,575.81855 c -2.3,-6.3 -2.3,-6.3 -2.3,-6.3 l -1.6,6.5 1.9,-1.7 2,1.5 z m -10.2,7.7 c -7,-1.3 -7,-1.3 -7,-1.3 l 6.9,-1.9 -1.7,1.7 1.8,1.5 z" - class="st73" - inkscape:label="GOT1_GOT2_GOT1L1_2 f" - inkscape:connector-curvature="0" - id="F_GOT1_GOT2_GOT1L1_2" /><text - style="font-size:10px;font-family:Calibri" - id="text1549" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="302.24371" - y="760.4939">Glu</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text1551" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="288.6842" - y="751.92932">AKG</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 328.8,764.61855 c 2,7.3 2,7.3 2,7.3 l 2.3,-7.3 -2.2,1.8 -2.1,-1.8 z m -8,-4.3 c -7,-1.3 -7,-1.3 -7,-1.3 l 6.9,-1.9 -1.7,1.7 1.8,1.5 z" - class="st73" - inkscape:label="GOT2_GOT1L1_1 b" - inkscape:connector-curvature="0" - id="B_GOT2_GOT1L1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.06480002" - d="m 330.9,768.01855 -0.2,-29.4 m -13.3,8.1 c 8.1,-2.9 13.4,3.3 13.4,3.3 m -0.1,3.3 c -1,5.4 -11.9,5.2 -11.9,5.2" - class="st142" - inkscape:label="GOT2_GOT1L1_1" - inkscape:connector-curvature="0" - id="R_GOT2_GOT1L1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 332.6,739.81855 c -2.3,-6.3 -2.3,-6.3 -2.3,-6.3 l -1.6,6.5 1.9,-1.7 2,1.5 z m -11.2,7.7 c -7,-1.3 -7,-1.3 -7,-1.3 l 6.9,-1.9 -1.7,1.7 1.8,1.5 z" - class="st73" - inkscape:label="GOT2_GOT1L1_1 f" - inkscape:connector-curvature="0" - id="F_GOT2_GOT1L1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.5236001" - d="m 270.8,636.91855 c -1.4,6.1 -13.6,4.6 -13.6,4.6 m 58.1,-13.7 -44.2,0 0,24.1" - class="st143" - inkscape:label="FH_3" - inkscape:connector-curvature="0" - id="R_FH_3" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 203.3,605.11855 c -1.5,-5.1 -1.5,-5.1 -1.5,-5.1 l -1.8,5.5 1.7,-1.5 1.6,1.1 z m -25.5,6.7 c -6.3,2.2 -6.3,2.2 -6.3,2.2 l 6.5,1.7 -1.7,-1.9 1.5,-2 z" - class="st30" - inkscape:connector-curvature="0" - id="F_ASNS" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 306.6,623.91855 c 6.3,-2.2 6.3,-2.2 6.3,-2.2 l -6.5,-1.7 1.7,1.9 -1.5,2 z m -87.9,7 c 2,4.9 2,4.9 2,4.9 l 1.3,-5.6 -1.6,1.7 -1.7,-1 z" - class="st30" - inkscape:connector-curvature="0" - id="path2462" /><path - style="fill:none;stroke:#000000;stroke-width:2.5697" - d="m 174.6,621.51855 134,0.1 m -89.1,9.8 c 2.6,-5.3 -3.5,-9.1 -3.5,-9.1 m -23.9,-0.1 c -5,1.5 -4.6,13.1 -4.6,13.1" - class="st144" - inkscape:connector-curvature="0" - id="R_ASRGL1_ASPG" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 327.8,536.41855 c -1.1,6 -11.6,4.8 -11.6,4.8 m 11.6,5.6 c 0,-30.5 0,-30.5 0,-30.5 m 0,14.1 c -1.1,-6 -11.6,-4.8 -11.6,-4.8" - class="st14" - inkscape:label="MDH1_MDH1B " - inkscape:connector-curvature="0" - id="R_MDH1_MDH1B" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 315.6,539.51855 c -4.9,2 -4.9,2 -4.9,2 l 5.6,1.3 -1.7,-1.6 1,-1.7 z m 14.6,6.2 c -2.2,7.3 -2.2,7.3 -2.2,7.3 l -2.2,-7.3 2.2,1.8 2.2,-1.8 z" - class="st14" - inkscape:label="MDH1_MDH1B f" - inkscape:connector-curvature="0" - id="F_MDH1_MDH1B" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 329.9,517.91855 c -2.2,-7.3 -2.2,-7.3 -2.2,-7.3 l -2.2,7.3 2.2,-1.8 2.2,1.8 z m -14.3,9.5 c -4.9,-2 -4.9,-2 -4.9,-2 l 5.6,-1.3 -1.7,1.6 1,1.7 z" - class="st14" - inkscape:label="MDH1_MDH1B b" - inkscape:connector-curvature="0" - id="B_MDH1_MDH1B" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 853.3,730.91855 c 1.7,-6.9 1.7,-6.9 1.7,-6.9 l 1.5,7 -1.6,-1.7 -1.6,1.6 z m -94.9,7.7 c -7.3,2.3 -7.3,2.3 -7.3,2.3 l 7.3,2 -1.9,-2.1 1.9,-2.2 z" - class="st73" - inkscape:label="GLUD1_GLUD2_1 F" - inkscape:connector-curvature="0" - id="F_GLUD1_GLUD2_1" /><text - style="font-size:10px;font-family:Calibri" - id="text1564" - class="st17 st18" - x="843.83331" - y="243.37524">Asp</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1566" - class="st15 st16" - x="1104.5219" - y="229.47775">AMP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1568" - class="st17 st18" - x="1032.9047" - y="239.12524">GTP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1570" - class="st17 st18" - x="1056.3265" - y="238.95825">Asp</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1572" - class="st17 st18" - x="1070.4886" - y="207.11935">Fum</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1574" - class="st17 st18" - x="1038.6117" - y="207.13495">GDP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1576" - class="st15 st16" - x="1190.1205" - y="274.58914">GMP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1578" - class="st17 st18" - x="1022.7562" - y="251.87625">NAD</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1580" - class="st17 st18" - x="1044.2269" - y="251.96504">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1582" - class="st17 st26" - x="1050.4574" - y="253.96504">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1584" - class="st17 st18" - x="1053.5463" - y="251.96504">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1586" - class="st17 st18" - x="1096.4867" - y="251.55885">NADH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1588" - class="st17 st18" - x="1124.9867" - y="251.55885">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1590" - class="st17 st18" - x="1136.9867" - y="251.55885">AMP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1592" - class="st17 st18" - x="1062.2269" - y="251.96504">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1594" - class="st17 st18" - x="1078.7269" - y="251.96504">NH</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1596" - class="st17 st26" - x="1091.4125" - y="253.96504">3</text> -<path - style="fill:#786721;stroke:#000000;stroke-width:2.5" - d="m 1165.6,258.31855 c -1.6,-4.7 -1.6,-4.7 -1.6,-4.7 l -2.4,4.6 2.1,-1.1 1.9,1.2 z m 7.2,8.5 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.4,-1.9 1.9,2.1 -1.7,2.2 z m -25.2,-8.5 c -1.6,-4.7 -1.6,-4.7 -1.6,-4.7 l -2.4,4.6 2.1,-1.1 1.9,1.2 z m -16.5,0 c -1.6,-4.7 -1.6,-4.7 -1.6,-4.7 l -2.4,4.6 2.1,-1.1 1.9,1.2 z m -21,0 c -1.6,-4.7 -1.6,-4.7 -1.6,-4.7 l -2.4,4.6 2.1,-1.1 1.9,1.2 z" - class="st145" - inkscape:label="GMPS f" - inkscape:connector-curvature="0" - id="F_GMPS" /><text - style="font-size:10px;font-family:Calibri" - id="text1599" - class="st17 st18" - x="1159.4867" - y="251.55885">PPi</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.45089996" - d="m 1017,234.51855 0,30 156.7,0 m -13.1,-0.1 c 4.8,-1 3,-7.4 3,-7.4 m -76.3,-1.9 c -1.5,6.1 4.8,9.3 4.8,9.3 m -24.3,-9.3 c -1.5,6.1 4.8,9.3 4.8,9.3 m 70,0 c 4.8,-1 3,-7.4 3,-7.4 m -19.5,7.4 c 4.8,-1 3,-7.4 3,-7.4 m -79.3,-1.9 c -1.5,6.1 4.8,9.3 4.8,9.3 m -19.7,-9.3 c -1.5,6.1 4.8,9.3 4.8,9.3 m 65.4,0 c 4.8,-1 3,-7.4 3,-7.4" - class="st146" - inkscape:label="GMPS" - inkscape:connector-curvature="0" - id="R_GMPS" /><text - style="font-size:10px;font-family:Calibri" - id="text1602" - class="st17 st18" - x="1089.4623" - y="295.44165">NADPH</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1126.6,282.21855 c -1.6,4.7 -1.6,4.7 -1.6,4.7 l -2.4,-4.6 2.1,1.1 1.9,-1.2 z m -18,0 c -1.6,4.7 -1.6,4.7 -1.6,4.7 l -2.4,-4.6 2.1,1.1 1.9,-1.2 z m 64,-4.2 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.3,-1.9 1.9,2.1 -1.8,2.2 z" - class="st22" - inkscape:connector-curvature="0" - id="path2738" /><text - style="font-size:10px;font-family:Calibri" - id="text1605" - class="st17 st18" - x="1122.9066" - y="295.62234">H</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1607" - class="st17 st18" - x="1045.0922" - y="295.91525">NADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1609" - class="st17 st18" - x="1070.9701" - y="295.55396">NH</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1611" - class="st17 st26" - x="1083.6556" - y="297.55396">3</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.7529" - d="m 1076.8,287.31855 c -1.5,-7.6 4.8,-11.6 4.8,-11.6 m -24.2,11.6 c -1.5,-7.6 4.8,-11.6 4.8,-11.6 m 59.4,0.1 c 4.8,0.9 3,6.9 3,6.9 m -21,-6.9 c 4.8,0.9 3,6.9 3,6.9 m -95.6,-48.5 0,41.6 162.2,0" - class="st147" - inkscape:label="GMPR2_GMPR" - inkscape:connector-curvature="0" - id="R_GMPR2_GMPR" /><path - style="fill:none;stroke:#000000;stroke-width:1.92519999" - d="m 1257.8,269.81855 c -24.9,0 -24.9,0 -24.9,0 m 16.5,9.6 c 2.4,-5.9 -3.6,-9.5 -3.6,-9.5 m -2.6,0.1 c -5,0.9 -4.4,9.3 -4.4,9.3" - class="st148" - inkscape:label="GUK1_1" - inkscape:connector-curvature="0" - id="R_GUK1_1" /><text - style="font-size:10px;font-family:Calibri" - id="text1615" - class="st17 st18" - x="1305.1234" - y="296.55396">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1617" - class="st17 st26" - x="1311.3539" - y="298.55396">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1619" - class="st17 st18" - x="1314.4427" - y="296.55396">O</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.89830005" - d="m 1324,269.41855 c -24.2,0 -24.2,0 -24.2,0 m 15.6,11.1 c 2.4,-6.8 -3.6,-11 -3.6,-11" - class="st149" - inkscape:label="RRM2B_TXN_RRM1_RRM2B_1" - inkscape:connector-curvature="0" - id="R_RRM2B_TXN_RRM1_RRM2B_1" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1622" - class="st15 st16" - x="1336.0267" - y="274.81174">dGDP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1624" - class="st15 st16" - x="1189.1234" - y="226.54515">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1626" - class="st17 st18" - x="1144.3539" - y="205.21504">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1628" - class="st17 st18" - x="1162.7318" - y="204.82245">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1630" - class="st17 st18" - x="1225.3851" - y="248.99045">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1632" - class="st17 st26" - x="1231.6156" - y="250.99045">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1634" - class="st17 st18" - x="1234.7035" - y="248.99045">O</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.77349997" - d="m 1239.9,223.41855 c -21.1,0 -21.1,0 -21.1,0 m 12.6,11.4 c 2.4,-7 -3.6,-11.3 -3.6,-11.3" - class="st150" - inkscape:label="RRM2B_TXN_RRM1_RRM2B_2" - inkscape:connector-curvature="0" - id="R_RRM2B_TXN_RRM1_RRM2B_2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1637" - class="st15 st16" - x="1251.2035" - y="225.97145">dADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1639" - class="st17 st18" - x="989.38702" - y="354.02756">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1641" - class="st17 st18" - x="1006.057" - y="353.84204">ADP</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.82930005" - d="m 1014.9,334.41855 c 7.4,-1.9 7.4,-1.9 7.4,-1.9 l -7.2,-2.4 1.8,2.2 -2,2.1 z m -5.5,5.8 c 2.4,5.1 2.4,5.1 2.4,5.1 l 2,-5.2 -2.1,1.3 -2.3,-1.2 z" - class="st109" - inkscape:label="NME2_NME3_NME4_NME5_NME2P1_NME7_NME6_NME1_NME2_3 b" - inkscape:connector-curvature="0" - id="B_NME2_NME3_NME4_NME5_NME2P1_NME7_NME6_NME1_NME2_3" /><path - style="fill:none;stroke:#000000;stroke-width:1.55369997" - d="m 1004.5,332.21855 c -4.9,1.2 -3.1,9.2 -3.1,9.2 m 10.5,0.8 c 1.6,-6.3 -4.9,-9.6 -4.9,-9.6 m 10.9,-0.3 -25.4,-0.2" - class="st151" - inkscape:label="NME2_NME3_NME4_NME5_NME2P1_NME7_NME6_NME1_NME2_3" - inkscape:connector-curvature="0" - id="R_NME2_NME3_NME4_NME5_NME2P1_NME7_NME6_NME1_NME2_3" /><text - style="font-size:10px;font-family:Calibri" - id="text1645" - class="st17 st18" - x="484.89191" - y="128.75026">ADP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1647" - class="st15 st16" - x="448.1004" - y="156.49535">G6P</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1649" - class="st15 st16" - x="450.83908" - y="90.690155">Glc</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 465.3,424.91855 c 2.2,7.3 2.2,7.3 2.2,7.3 l 2.2,-7.3 -2.2,1.8 -2.2,-1.8 z m 11.2,-16.2 c 1.6,0.7 3.3,1.4 4.9,2 -1.9,0.4 -3.8,0.8 -5.6,1.3 0.6,-0.5 1.1,-1 1.7,-1.6 -0.4,-0.5 -0.7,-1.1 -1,-1.7 l 0,0 z" - class="st14" - inkscape:label="CRISP3_PGK1_MIA3_PGK2 f" - inkscape:connector-curvature="0" - id="F_CRISP3_PGK1_MIA3_PGK2" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 447.4,607.61855 7.3,2.2 -7.3,2.2 1.8,-2.2 -1.8,-2.2 z m -10.6,-6.6 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st30" - inkscape:label="LDH b" - inkscape:connector-curvature="0" - id="B_LDH" /><path - style="fill:none;stroke:#000000;stroke-width:1.82930005" - d="m 861.8,126.21855 0,-11.3 30,0 m -20.8,-8.8 c -1.7,5.6 4.7,8.7 4.7,8.7 m 3.2,-0.2 c 4.9,-1.1 3.2,-8.9 3.2,-8.9" - class="st109" - inkscape:label="PFKP_PFKL_PFKM_3" - inkscape:connector-curvature="0" - id="R_PFKP_PFKL_PFKM_3" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 888.2,116.91855 c 7.3,-2.2 7.3,-2.2 7.3,-2.2 l -7.3,-2.2 1.8,2.2 -1.8,2.2 z m -6.9,-9.3 c 1.5,-4.3 1.5,-4.3 1.5,-4.3 l 1.4,4.7 -1.4,-1.3 -1.5,0.9 z" - class="st30" - inkscape:label="PFKP_PFKL_PFKM_3 b" - inkscape:connector-curvature="0" - id="B_PFKP_PFKL_PFKM_3" /><path - style="fill:none;stroke:#000000;stroke-width:1.71169996" - d="m 859.5,122.51855 c 2.1,6.2 2.1,6.2 2.1,6.2 l 2.1,-6.2 -2.1,1.5 -2.1,-1.5 z m 9.8,-14.9 c 1.5,-4.3 1.5,-4.3 1.5,-4.3 l 1.4,4.7 -1.4,-1.3 -1.5,0.9 z" - class="st152" - inkscape:label="PFKP_PFKL_PFKM_3 f" - inkscape:connector-curvature="0" - id="F_PFKP_PFKL_PFKM_3" /><path - style="fill:none;stroke:#000000;stroke-width:1.74290001" - d="m 491.3,814.71855 61.5,3.7 m 11.8,25.5 c -4.4,0.5 -8.8,-1.3 -11.3,-4.5 -2.5,-3.3 -2.7,-7.5 -0.6,-10.8 2.2,-3.4 6.4,-5.3 10.8,-5.1 m -9.8,29.2 c -3.7,-13.4 -3.5,-27.4 0.7,-40.9" - class="st153" - inkscape:label="CS" - inkscape:connector-curvature="0" - id="R_CS" /><path - style="fill:none;stroke:#000000;stroke-width:1.63900006" - d="m 662.5,768.41855 c 2.1,4.7 2.1,4.7 2.1,4.7 l 1,-5.3 -1.4,1.6 -1.7,-1 z m 37.5,-1.5 c 2.1,4.7 2.1,4.7 2.1,4.7 l 1,-5.3 -1.4,1.6 -1.7,-1 z m 9.6,-14.8 c 6.3,-1.4 6.3,-1.4 6.3,-1.4 l -4.4,4.1 0.4,-2 -2.3,-0.7 z m -26.1,17.8 c 2.1,4.7 2.1,4.7 2.1,4.7 l 1,-5.3 -1.4,1.6 -1.7,-1 z" - class="st154" - inkscape:label="IDH3 f" - inkscape:connector-curvature="0" - id="F_IDH3" /><path - style="fill:none;stroke:#000000;stroke-width:1.81630003" - d="m 640,727.51855 c -3.8,-4 -3.8,-4 -3.8,-4 l 1.6,6.8 0.4,-2.8 1.8,0 z m -6.5,12.6 c -6.3,1.4 -6.3,1.4 -6.3,1.4 l 4.4,-4.1 -0.4,2 2.3,0.7 z" - class="st134" - inkscape:label="IDH2 b" - inkscape:connector-curvature="0" - id="B_IDH2" /><path - style="fill:none;stroke:#000000;stroke-width:1.63900006" - d="m 661.1,725.61855 c 2.1,-4.7 2.1,-4.7 2.1,-4.7 l 1,5.3 -1.4,-1.6 -1.7,1 z m 38.1,1.5 c 2.1,-4.7 2.1,-4.7 2.1,-4.7 l 1,5.3 -1.4,-1.6 -1.7,1 z m -15.7,-3 c 2.1,-4.7 2.1,-4.7 2.1,-4.7 l 1,5.3 -1.4,-1.6 -1.7,1 z m 26.1,17.3 c 6.3,1.4 6.3,1.4 6.3,1.4 l -4.4,-4.1 0.4,2 -2.3,0.7 z" - class="st154" - inkscape:connector-curvature="0" - id="path2385" /><path - style="fill:none;stroke:#000000;stroke-width:1.81599998" - d="m 775.5,787.91855 c 4.5,4.3 4.5,4.3 4.5,4.3 l -1.5,-6.1 -0.8,2.2 -2.2,-0.4 z m 7.8,-13.5 c 3.8,-1 3.8,-1 3.8,-1 l -2.8,3.2 0.3,-1.7 -1.3,-0.5 z" - class="st55" - inkscape:label="DLSTP1_DLD_OGDH_PDHX_DLST_DHTKD1_OGDHL f" - inkscape:connector-curvature="0" - id="F_DLSTP1_DLD_OGDH_PDHX_DLST_DHTKD1_OGDHL" /><path - style="fill:none;stroke:#000000;stroke-width:1.81599998" - d="m 551.9,886.51855 c -4,4 -4,4 -4,4 l 5.5,-0.9 -1.9,-1 0.4,-2.1 z m 9.4,-8.4 c -4.3,-4.3 -4.3,-4.3 -4.3,-4.3 l 1.3,6 0.8,-2.1 2.2,0.4 z" - class="st55" - inkscape:label="MDH2 f" - inkscape:connector-curvature="0" - id="F_MDH2" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 572.4,693.91855 c 4.9,2 4.9,2 4.9,2 l -5.6,1.3 1.7,-1.6 -1,-1.7 z m -10.5,-159.2 c -2.3,-6.3 -2.3,-6.3 -2.3,-6.3 l -1.6,6.5 1.9,-1.7 2,1.5 z" - class="st30" - inkscape:label="SLC25A1 f" - inkscape:connector-curvature="0" - id="F_SLC25A1" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 561.5,781.41855 c -2.3,6.3 -2.3,6.3 -2.3,6.3 l -1.6,-6.5 1.9,1.7 2,-1.5 z m -16.4,-117.8 c -4.9,-2 -4.9,-2 -4.9,-2 l 5.6,-1.3 -1.7,1.6 1,1.7 z" - class="st73" - inkscape:label="SLC25A1 b" - inkscape:connector-curvature="0" - id="B_SLC25A1" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 639.9,566.81855 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -20.1,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -16.2,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 50.9,14.5 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z" - class="st22" - inkscape:label="IDH1 f" - inkscape:connector-curvature="0" - id="F_IDH1" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 637.5,509.41855 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -16.5,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -20.1,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 51.9,11.5 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z" - class="st22" - inkscape:label="ACLY f" - inkscape:connector-curvature="0" - id="F_ACLY" /><path - style="fill:none;stroke:#000000;stroke-width:2.41549993" - d="m 1094.7,430.01855 -120.1,-0.2 m 106.7,0.4 c -6,1.3 -5.5,10.6 -5.5,10.6 m -88,-10.9 c -6,1.3 -5.5,10.6 -5.5,10.6 m 48,-10.5 c -6,1.3 -5.5,10.6 -5.5,10.6 m 3.2,-10.2 c 5.9,-1.3 4.4,-11.9 4.4,-11.9 m 46.7,11.9 c 5.9,-1.3 4.4,-11.9 4.4,-11.9 m -93.9,11.4 c 5.9,-1.3 4.4,-11.9 4.4,-11.9 m 58.8,11.9 c 5.9,-1.3 4.4,-11.9 4.4,-11.9" - class="st155" - inkscape:label="OLAH_FASN " - inkscape:connector-curvature="0" - id="R_OLAH_FASN" /><text - style="font-size:10px;font-family:Calibri" - id="text1667" - class="st17 st18" - x="722.22681" - y="501.87915">CoA</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.96720004" - d="m 740.8,519.01855 -25,-0.5 m 12.1,-0.2 c -5.9,1.2 -4.4,11.4 -4.4,11.4 m 1.3,-10.6 c 5.9,-1.4 5.4,-11.9 5.4,-11.9" - class="st156" - inkscape:label="ACAT1_ACAT2" - inkscape:connector-curvature="0" - id="R_ACAT1_ACAT2" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 728.4,509.41855 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 11.1,11.6 c 6.4,-2.1 6.4,-2.1 6.4,-2.1 l -6.5,-1.8 1.7,1.9 -1.6,2 z" - class="st30" - inkscape:label="ACAT1_ACAT2 f" - inkscape:connector-curvature="0" - id="F_ACAT1_ACAT2" /><text - style="font-size:10px;font-family:Calibri" - id="text1671" - class="st17 st18" - x="710.4895" - y="542.85089">AcCoA</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.22309995" - d="m 716.3,520.51855 c -6.4,-2.1 -6.4,-2.1 -6.4,-2.1 l 6.5,-1.8 -1.7,1.9 1.6,2 z m 5.8,7.9 c 2,4.9 2,4.9 2,4.9 l 1.3,-5.6 -1.6,1.7 -1.7,-1 z" - class="st157" - inkscape:label="ACAT1_ACAT2 B" - inkscape:connector-curvature="0" - id="B_ACAT1_ACAT2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1674" - class="st15 st16" - x="749.35974" - y="522.77277">AcAcCoA</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.83369994" - d="m 841.4,518.71855 c -5.9,1 -4.4,9.5 -4.4,9.5 m -18.1,-9.5 c -5.9,1 -4.4,9.5 -4.4,9.5 m 7.6,-9.6 c 5.9,-1.2 4.4,-11.4 4.4,-11.4 m 21.3,11.7 -37.5,-0.4" - class="st158" - inkscape:label="HMGCS1_HMGCS2 " - inkscape:connector-curvature="0" - id="R_HMGCS1_HMGCS2" /><text - style="font-size:10px;font-family:Calibri" - id="text1677" - class="st17 st18" - x="828.9563" - y="536.06281">H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1679" - class="st17 st26" - x="835.18683" - y="538.06281">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1681" - class="st17 st18" - x="838.2757" - y="536.06281">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1683" - class="st17 st18" - x="798.9895" - y="535.35089">AcCoA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1685" - class="st17 st18" - x="818.22681" - y="501.87915">CoA</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.22309995" - d="m 846,521.01855 c 6.4,-2.1 6.4,-2.1 6.4,-2.1 l -6.5,-1.8 1.7,1.9 -1.6,2 z m -21,-11.6 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st157" - inkscape:label="HMGCS1_HMGCS2 f" - inkscape:connector-curvature="0" - id="F_HMGCS1_HMGCS2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1688" - class="st15 st16" - x="855.85974" - y="522.77277">HMGCoA</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.22309995" - d="m 1035.4,520.81855 c 6.4,-2.1 6.4,-2.1 6.4,-2.1 l -6.5,-1.8 1.7,1.9 -1.6,2 z m -102.4,-11.9 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 25.9,0.4 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 33,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 18,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 16.5,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st157" - inkscape:label="MVD f" - inkscape:connector-curvature="0" - id="F_MVD" /><path - style="fill:none;stroke:#000000;stroke-width:1.85309994" - d="m 1269.2,518.61855 c 5.9,-1.2 5.4,-10.1 5.4,-10.1 m -24.9,10.1 c 5.9,-1.2 5.4,-10.1 5.4,-10.1 m -27.9,10.1 c 5.9,-1.2 5.4,-10.1 5.4,-10.1 m -51.9,10.1 c 5.9,-1.2 5.4,-10.1 5.4,-10.1 m 57.3,10.3 c -5.9,1 -4.4,9.6 -4.4,9.6 m -15.8,-9.6 c -5.9,1 -4.4,9.6 -4.4,9.6 m -36.9,-10.1 c -5.9,1 -4.4,9.6 -4.4,9.6 m 105.2,-9.1 -133.5,-0.2 m 9.1,-0.1 c -5.9,1 -4.4,9.6 -4.4,9.6 m 4.3,-9.5 c 5.9,-1.2 5.4,-10.1 5.4,-10.1" - class="st159" - inkscape:label="DHCR24_LEFTY1" - inkscape:connector-curvature="0" - id="R_DHCR24_LEFTY1" /><path - style="fill:none;stroke:#000000;stroke-width:2.22309995" - d="m 1113.4,520.51855 c 6.4,-2.1 6.4,-2.1 6.4,-2.1 l -6.5,-1.8 1.7,1.9 -1.6,2 z m -11.1,-10.9 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st157" - inkscape:label="ARID4B_GGPS1_FDPS_FDPSP7_2 f" - inkscape:connector-curvature="0" - id="F_ARID4B_GGPS1_FDPS_FDPSP7_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.22309995" - d="m 1281,520.71855 c 6.4,-2.1 6.4,-2.1 6.4,-2.1 l -6.5,-1.8 1.7,1.9 -1.6,2 z m -7.8,-11.9 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -19.5,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -22.5,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -46.5,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -22.5,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st157" - inkscape:label="DHCR24_LEFTY1 f" - inkscape:connector-curvature="0" - id="F_DHCR24_LEFTY1" /><path - style="fill:none;stroke:#000000;stroke-width:2.22309995" - d="m 768.2,457.11855 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -35,0.2 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 45.6,8.8 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.4,-1.9 1.9,2.1 -1.7,2.2 z" - class="st157" - inkscape:label="ACACB_PRKAG2_PRKAB2_ACACA_PRKAA2 f" - inkscape:connector-curvature="0" - id="F_ACACB_PRKAG2_PRKAB2_ACACA_PRKAA2" /><path - style="fill:none;stroke:#000000;stroke-width:2.22309995" - d="m 779,432.11855 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.4,-1.9 1.9,2.1 -1.7,2.2 z m -16,-11.9 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st157" - inkscape:label="FASN_1 f" - inkscape:connector-curvature="0" - id="F_FASN_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 864.2,457.11855 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 11.6,9.6 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.4,-1.9 1.9,2.1 -1.7,2.2 z" - class="st22" - inkscape:connector-curvature="0" - id="F_MCAT_FASN" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1093.3,432.21855 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.4,-1.9 1.9,2.1 -1.7,2.2 z m -11.1,-11.5 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -51.2,-1.1 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 25,0.2 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -63.6,1.2 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st22" - inkscape:label="OLAH_FASN f" - inkscape:connector-curvature="0" - id="F_OLAH_FASN" /><path - style="fill:none;stroke:#000000;stroke-width:2.2256" - d="m 975.2,225.31855 c -6,1.1 -5.5,9 -5.5,9 m -30.5,-9 c -6,1.1 -5.5,9 -5.5,9 m -50,-9 c -6,1.1 -5.5,9 -5.5,9 m -39.5,-9 c -6,1.1 -5.5,9 -5.5,9 m 98.6,-9.1 c 5.9,-1.1 4.4,-10.2 4.4,-10.2 m -71.9,10.2 c 5.9,-1.1 4.4,-10.2 4.4,-10.2 m 16.6,10.2 c 5.9,-1.1 4.4,-10.2 4.4,-10.2 m -67.6,10.2 c 5.9,-1.1 4.4,-10.2 4.4,-10.2 m 85.1,10.6 c 5.9,-1.1 4.4,-10.2 4.4,-10.2 m -73.5,9.4 c 6,-1 4.5,-9.4 4.5,-9.4 m 15.7,9.9 c -6,1.1 -5.5,9 -5.5,9 m -37,-9.1 c -6,1.1 -5.5,9 -5.5,9 m 99.1,-8.8 c -6,1.1 -5.5,9 -5.5,9 m 73.4,-9.2 -174.7,-0.1" - class="st160" - inkscape:label="ATIC_2" - inkscape:connector-curvature="0" - id="R_ATIC_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 981.4,227.31855 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.4,-1.9 1.9,2.1 -1.7,2.2 z m -46.6,-11.1 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -20.2,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -26.4,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -21,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -21.8,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -20.2,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st22" - inkscape:label="ATIC_2 f" - inkscape:connector-curvature="0" - id="F_ATIC_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.06660008" - d="m 926.5,278.81855 c 6.1,-0.9 4.6,-8.5 4.6,-8.5 m -22.6,8.2 c 6.1,-0.9 4.6,-8.5 4.6,-8.5 m -25.6,8.2 c 6.1,-0.9 4.6,-8.5 4.6,-8.5 m -28.6,8.5 c 6.1,-0.9 4.6,-8.5 4.6,-8.5 m -27.1,8.5 c 6.1,-0.9 4.6,-8.5 4.6,-8.5 m 56.9,8.8 c -6,1.1 -5.5,9.2 -5.5,9.2 m -12.5,-9.2 c -6,1.1 -5.5,9.2 -5.5,9.2 m -14,-9.7 c -6,1.1 -5.5,9.2 -5.5,9.2 m -15.5,-9.2 c -6,1.1 -5.5,9.2 -5.5,9.2 m -11,-9.5 c -6,1.1 -5.5,9.2 -5.5,9.2 m -31.5,-9.3 148.9,1.2 m -134.4,-1.1 c -6,1.1 -5.5,9.2 -5.5,9.2 m 2.5,-8.7 c 6.1,-0.9 4.6,-8.5 4.6,-8.5 m -16.1,-40.9 c 0,49.6 0,49.6 0,49.6" - class="st161" - inkscape:label="UMPS_2" - inkscape:connector-curvature="0" - id="R_UMPS_2" /><path - style="fill:none;stroke:#000000;stroke-width:1.7335" - d="m 1087.7,225.31855 -51.1,-0.3 m 13,0 c -6,0.8 -5.5,6.9 -5.5,6.9 m 12.9,-7.1 c 6,-1 4.5,-9.4 4.5,-9.4 m -18.9,9.8 c 5.9,-1.1 4.4,-10.2 4.4,-10.2 m 27.3,10.2 c 5.9,-1.1 4.4,-10.2 4.4,-10.2 m -10.4,10 c -6,0.8 -5.5,6.9 -5.5,6.9" - class="st162" - inkscape:connector-curvature="0" - id="R_TNRC6B_ADSL_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1086.5,227.21855 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.4,-1.9 1.9,2.1 -1.7,2.2 z m -9.3,-11 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -17.3,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -14.2,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st22" - inkscape:connector-curvature="0" - id="F_TNRC6B_ADSL_1" /><text - style="font-size:10px;font-family:Calibri" - id="text1703" - class="st17 st18" - x="1059.1674" - y="207.14964">Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1256.9,272.21855 c 6.9,-2 6.9,-2 6.9,-2 l -6.8,-2.4 1.7,2.2 -1.8,2.2 z m -8.6,7.4 c 2,4.9 2,4.9 2,4.9 l 1.3,-5.6 -1.6,1.7 -1.7,-1 z" - class="st32" - inkscape:label="GUK1_1 f" - inkscape:connector-curvature="0" - id="F_GUK1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1234.2,272.11855 c -6.9,-2 -6.9,-2 -6.9,-2 l 6.8,-2.4 -1.7,2.2 1.8,2.2 z m 3.6,7.4 c 2,4.9 2,4.9 2,4.9 l 1.3,-5.6 -1.6,1.7 -1.7,-1 z" - class="st32" - inkscape:label="GUK1_1 b" - inkscape:connector-curvature="0" - id="B_GUK1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1321.7,270.71855 c 6.9,-2 6.9,-2 6.9,-2 l -6.8,-2.4 1.7,2.2 -1.8,2.2 z m -7.7,8.8 c 2,4.9 2,4.9 2,4.9 l 1.3,-5.6 -1.6,1.7 -1.7,-1 z" - class="st32" - inkscape:label="RRM2B_TXN_RRM1_RRM2B_1 f" - inkscape:connector-curvature="0" - id="F_RRM2B_TXN_RRM1_RRM2B_1" /><text - style="font-size:10px;font-family:Calibri" - id="text1708" - class="st17 st18" - x="1379.2269" - y="295.87714">ADP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1710" - class="st17 st18" - x="1397.4281" - y="296.41336">ATP</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.92519999" - d="m 1410.2,269.91855 c -24.9,0 -24.9,0 -24.9,0 m 16.5,9.5 c 2.4,-5.9 -3.6,-9.5 -3.6,-9.5 m -2.6,0.1 c -5,0.9 -4.4,9.3 -4.4,9.3" - class="st148" - inkscape:label="GUK1_2" - inkscape:connector-curvature="0" - id="R_GUK1_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1409.9,272.31855 c 6.9,-2 6.9,-2 6.9,-2 l -6.8,-2.4 1.7,2.2 -1.8,2.2 z m -8.5,7.4 c 2,4.9 2,4.9 2,4.9 l 1.3,-5.6 -1.6,1.7 -1.7,-1 z" - class="st32" - inkscape:label="GUK1_2 f" - inkscape:connector-curvature="0" - id="F_GUK1_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1386,271.61855 c -6.9,-2 -6.9,-2 -6.9,-2 l 6.8,-2.4 -1.7,2.2 1.8,2.2 z m 3.5,7.4 c 2,4.9 2,4.9 2,4.9 l 1.3,-5.6 -1.6,1.7 -1.7,-1 z" - class="st32" - inkscape:label="GUK1_2 b" - inkscape:connector-curvature="0" - id="B_GUK1_2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1715" - class="st15 st16" - x="1420.6156" - y="273.48557">dGMP</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.68470001" - d="m 1156.6,213.31855 c -2.4,6.7 3.6,10.9 3.6,10.9 m 15.7,0.2 c -26.9,0 -26.9,0 -26.9,0 m 19.4,-11.1 c 2.4,6.7 -3.6,10.9 -3.6,10.9" - class="st163" - inkscape:label="AK2_TAF9_AK1_AK7_AK3_AK5_AKD1_AK4_AK8_1" - inkscape:connector-curvature="0" - id="R_AK2_TAF9_AK1_AK7_AK3_AK5_AKD1_AK4_AK8_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1152.2,221.91855 c -6.9,2 -6.9,2 -6.9,2 l 6.8,2.4 -1.7,-2.2 1.8,-2.2 z m 1.9,-8.8 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st32" - inkscape:label="AK2_TAF9_AK1_AK7_AK3_AK5_AKD1_AK4_AK8_1 f" - inkscape:connector-curvature="0" - id="F_AK2_TAF9_AK1_AK7_AK3_AK5_AKD1_AK4_AK8_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1175.9,222.21855 c 6.9,2 6.9,2 6.9,2 l -6.8,2.4 1.7,-2.2 -1.8,-2.2 z m -8.6,-9.1 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st32" - inkscape:label="AK2_TAF9_AK1_AK7_AK3_AK5_AKD1_AK4_AK8_1 b" - inkscape:connector-curvature="0" - id="B_AK2_TAF9_AK1_AK7_AK3_AK5_AKD1_AK4_AK8_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1238.3,226.01855 c 6.9,-2 6.9,-2 6.9,-2 l -6.8,-2.4 1.7,2.2 -1.8,2.2 z m -8.5,8.6 c 2,4.9 2,4.9 2,4.9 l 1.3,-5.6 -1.6,1.7 -1.7,-1 z" - class="st32" - inkscape:label="RRM2B_TXN_RRM1_RRM2B_2 f" - inkscape:connector-curvature="0" - id="F_RRM2B_TXN_RRM1_RRM2B_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 937.8,280.91855 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.4,-1.9 1.9,2.1 -1.7,2.2 z m -8.4,-10.3 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -18,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -21,-0.9 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -24,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -22.5,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m -39,0 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st22" - inkscape:label="UMPS_2 F" - inkscape:connector-curvature="0" - id="F_UMPS_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.48839998" - d="m 965.8,316.01855 c 2.2,7.3 2.2,7.3 2.2,7.3 l 2,-7.4 -2.1,1.9 -2.1,-1.8 z m 12.7,-5.1 c 4.3,-1.4 4.3,-1.4 4.3,-1.4 l -4.4,-1 1.1,1.1 -1,1.3 z" - class="st164" - inkscape:label="CMPK2_CMPK1_1 f" - inkscape:connector-curvature="0" - id="F_CMPK2_CMPK1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.48839998" - d="m 970,295.11855 c -2.2,-7.3 -2.2,-7.3 -2.2,-7.3 l -2,7.4 2.1,-1.9 2.1,1.8 z m 8.5,4.8 c 4.3,-1.4 4.3,-1.4 4.3,-1.4 l -4.4,-1 1.1,1.1 -1,1.3 z" - class="st164" - inkscape:label="CMPK2_CMPK1_1 b" - inkscape:connector-curvature="0" - id="B_CMPK2_CMPK1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.31130004" - d="m 933.3,323.31855 c -1.9,-4.3 -1.9,-4.3 -1.9,-4.3 l -1.4,4.4 1.6,-1.2 1.7,1.1 z m -11,11.6 c -7.2,-2.4 -7.2,-2.4 -7.2,-2.4 l 7.4,-1.9 -1.9,2.1 1.7,2.2 z" - class="st165" - inkscape:label="RRM2B_TXN_RRM1_RRM2_1 f" - inkscape:connector-curvature="0" - id="F_RRM2B_TXN_RRM1_RRM2_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.31130004" - d="m 836,334.81855 c -7.2,-2.4 -7.2,-2.4 -7.2,-2.4 l 7.4,-1.9 -1.9,2.1 1.7,2.2 z m 8.7,-11.2 c -1.9,-4.3 -1.9,-4.3 -1.9,-4.3 l -1.4,4.4 1.6,-1.2 1.7,1.1 z" - class="st165" - inkscape:label="CMPK1_DTYMK f" - inkscape:connector-curvature="0" - id="F_CMPK1_DTYMK" /><path - style="fill:none;stroke:#000000;stroke-width:2.31130004" - d="m 859.9,334.81855 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.4,-1.9 1.9,2.1 -1.7,2.2 z m -6.8,-10.8 c 1.9,-4.3 1.9,-4.3 1.9,-4.3 l 1.4,4.4 -1.6,-1.2 -1.7,1.1 z" - class="st165" - inkscape:label="CMPK1_DTYMK b" - inkscape:connector-curvature="0" - id="B_CMPK1_DTYMK" /><path - style="fill:none;stroke:#000000;stroke-width:2.31130004" - d="m 731.1,335.41855 c -7.2,-2.4 -7.2,-2.4 -7.2,-2.4 l 7.4,-1.9 -1.9,2.1 1.7,2.2 z m 9.1,-12.4 c -1.7,-4.7 -1.7,-4.7 -1.7,-4.7 l -1.1,4.8 1.3,-1.3 1.5,1.2 z" - class="st165" - inkscape:label="TYMS " - inkscape:connector-curvature="0" - id="F_TYMS" /><path - style="fill:none;stroke:#000000;stroke-width:2.31130004" - d="m 770.6,330.81855 c 7.2,2.4 7.2,2.4 7.2,2.4 l -7.4,1.9 1.9,-2.1 -1.7,-2.2 z m -4.7,-8.4 c -1.9,-5.3 -1.9,-5.3 -1.9,-5.3 l -1.8,5.3 1.8,-1.3 1.9,1.3 z" - class="st165" - inkscape:label="TYMS b" - inkscape:connector-curvature="0" - id="B_TYMS" /><path - style="fill:none;stroke:#000000;stroke-width:1.82930005" - d="m 995.7,334.41855 c -7.4,-1.9 -7.4,-1.9 -7.4,-1.9 l 7.2,-2.4 -1.8,2.2 2,2.1 z m 3.8,6 c 1.6,4.7 1.6,4.7 1.6,4.7 l 2.4,-4.6 -2.1,1.1 -1.9,-1.2 z" - class="st109" - inkscape:label="NME2_NME3_NME4_NME5_NME2P1_NME7_NME6_NME1_NME2_3 f" - inkscape:connector-curvature="0" - id="F_NME2_NME3_NME4_NME5_NME2P1_NME7_NME6_NME1_NME2_3" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1093.9,325.01855 c -1.6,-6.1 -1.6,-6.1 -1.6,-6.1 l -1.3,6.2 1.4,-1.6 1.5,1.5 z m 9.7,9.9 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.4,-1.9 1.9,2.1 -1.7,2.2 z" - class="st73" - inkscape:label="CTPS2_GATM_CTPS1 f" - inkscape:connector-curvature="0" - id="F_CTPS2_GATM_CTPS1" /><text - style="font-size:10px;font-family:Calibri" - id="text1731" - class="st17 st18" - x="1236.1302" - y="316.99045">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1733" - class="st17 st18" - x="1216.7562" - y="317.36545">ADP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1229.5,324.71855 c -1.6,-6.1 -1.6,-6.1 -1.6,-6.1 l -1.3,6.2 1.4,-1.6 1.5,1.5 z m -7,5.6 c -7.4,1.9 -7.4,1.9 -7.4,1.9 l 7.2,2.4 -1.8,-2.2 2,-2.1 z" - class="st73" - inkscape:label="CMPK2_CMPK1_2 b" - inkscape:connector-curvature="0" - id="B_CMPK2_CMPK1_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1246.1,335.71855 c 7.2,-2.5 7.2,-2.5 7.2,-2.5 l -7.4,-1.8 1.9,2.1 -1.7,2.2 z m -3.6,-10.9 c -1.1,-5.1 -1.1,-5.1 -1.1,-5.1 l -1.7,5 1.5,-1.2 1.3,1.3 z" - class="st22" - inkscape:label="CMPK2_CMPK1_2 f" - inkscape:connector-curvature="0" - id="F_CMPK2_CMPK1_2" /><path - style="fill:none;stroke:#000000;stroke-width:1.82930005" - d="m 1218.5,332.61855 28.3,0.4 m -18.4,-9.2 c -2.2,5.6 3.9,8.9 3.9,8.9 m 4.8,0 c 5,-0.9 4,-8.9 4,-8.9" - class="st109" - inkscape:label="CMPK2_CMPK1_2" - inkscape:connector-curvature="0" - id="R_CMPK2_CMPK1_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.31130004" - d="m 1196.6,360.01855 c 2.4,7.2 2.4,7.2 2.4,7.2 l 1.9,-7.4 -2.1,1.9 -2.2,-1.7 z m -6.1,-7.6 c -4.6,1 -4.6,1 -4.6,1 l 2.7,-3.7 0,1.9 1.9,0.8 z" - class="st165" - inkscape:connector-curvature="0" - id="F_RRM2B_TXN_RRM1_RRM2_2" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1739" - class="st15 st16" - x="1258.7123" - y="382.35764">dCMP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1741" - class="st17 st18" - x="1236.1302" - y="361.80984">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1743" - class="st17 st18" - x="1216.7562" - y="362.36545">ADP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1229.5,369.71855 c -1.6,-6.1 -1.6,-6.1 -1.6,-6.1 l -1.3,6.2 1.4,-1.6 1.5,1.5 z m -7,5.6 c -7.4,1.9 -7.4,1.9 -7.4,1.9 l 7.2,2.4 -1.8,-2.2 2,-2.1 z" - class="st73" - inkscape:label="CMPK2_CMPK1_3 b" - inkscape:connector-curvature="0" - id="B_CMPK2_CMPK1_3" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1246.1,380.71855 c 7.2,-2.5 7.2,-2.5 7.2,-2.5 l -7.4,-1.8 1.9,2.1 -1.7,2.2 z m -3.6,-10.9 c -1.1,-5.1 -1.1,-5.1 -1.1,-5.1 l -1.7,5 1.5,-1.2 1.3,1.3 z" - class="st22" - inkscape:label="CMPK2_CMPK1_3 f" - inkscape:connector-curvature="0" - id="F_CMPK2_CMPK1_3" /><path - style="fill:none;stroke:#000000;stroke-width:1.82930005" - d="m 1218.5,377.61855 28.3,0.4 m -18.4,-9.2 c -2.2,5.6 3.9,8.9 3.9,8.9 m 4.8,0 c 5,-0.9 4,-8.9 4,-8.9" - class="st109" - inkscape:label="CMPK2_CMPK1_3" - inkscape:connector-curvature="0" - id="R_CMPK2_CMPK1_3" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 236.8,382.21855 c 7,-1.3 7,-1.3 7,-1.3 l -6.9,-1.9 1.7,1.7 -1.8,1.5 z m -52.2,-23.9 c -6.2,2.5 -6.2,2.5 -6.2,2.5 l 6.5,1.5 -1.7,-1.8 1.4,-2.2 z" - class="st73" - inkscape:label="MTHFD1_3 f" - inkscape:connector-curvature="0" - id="F_MTHFD1_3" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 206.6,426.41855 c -6.2,2.5 -6.2,2.5 -6.2,2.5 l 6.5,1.5 -1.7,-1.8 1.4,-2.2 z m 31.7,-24 c 7,-1.3 7,-1.3 7,-1.3 l -6.9,-1.9 1.7,1.7 -1.8,1.5 z" - class="st73" - inkscape:label="MTHFD1_3 b" - inkscape:connector-curvature="0" - id="B_MTHFD1_3" /><text - style="font-size:9.99962234px;font-family:Calibri" - id="text1750" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="301.1604" - y="383.42343">H</text> -<text - style="font-size:6.09346962px;font-family:Calibri" - id="text1752" - class="st17 st26" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="307.39139" - y="385.42346">2</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text1754" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="310.4798" - y="383.42337">O</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.29760003" - d="m 290,301.91855 c 1.6,-5.3 17.5,-4.5 17.5,-4.5 m -2.3,19.7 c -9.8,2.5 -15.9,-3.8 -15.9,-3.8 m -0.3,11.1 0.2,-34.2" - class="st79" - inkscape:label="MTHFD2_2" - inkscape:connector-curvature="0" - id="R_MTHFD2_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 287,292.01855 c 2.3,-6.3 2.3,-6.3 2.3,-6.3 l 1.6,6.5 -1.9,-1.7 -2,1.5 z m 15.6,3.3 c 7,1.6 7,1.6 7,1.6 l -6.9,1.6 1.7,-1.6 -1.8,-1.6 z" - class="st73" - inkscape:label="MTHFD2_2 f" - inkscape:connector-curvature="0" - id="F_MTHFD2_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 301.3,316.11855 c 7,1.6 7,1.6 7,1.6 l -6.9,1.6 1.7,-1.6 -1.8,-1.6 z m -10.5,6.6 c -2,7.3 -2,7.3 -2,7.3 l -2.3,-7.3 2.2,1.8 2.1,-1.8 z" - class="st73" - inkscape:label="MTHFD2_2 b" - inkscape:connector-curvature="0" - id="B_MTHFD2_2" /><text - style="font-size:10px;font-family:Calibri" - id="text1759" - class="st17 st18" - transform="matrix(0.99999044,0.00437222,-0.00437222,0.99999044,0,0)" - x="311.63144" - y="319.94809">NADH</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text1761" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="307.66241" - y="303.30228">NAD</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 402.2,547.01855 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z m 34,12.7 c 6.3,-2.3 6.3,-2.3 6.3,-2.3 l -6.5,-1.6 1.7,1.9 -1.5,2 z" - class="st30" - inkscape:label="PEPCK f" - inkscape:connector-curvature="0" - id="F_PEPCK" /><path - style="fill:none;stroke:#000000;stroke-width:2.82299995" - d="m 268.8,649.41855 c 2.3,7.2 2.3,7.2 2.3,7.2 l 2,-7.3 -2.1,1.9 -2.2,-1.8 z m -11.1,-9.3 c -5.1,1.5 -5.1,1.5 -5.1,1.5 l 5.5,1.8 -1.5,-1.7 1.1,-1.6 z" - class="st45" - inkscape:label="FH_3 f" - inkscape:connector-curvature="0" - id="F_FH_3" /><path - style="fill:none;stroke:#000000;stroke-width:2.23090005" - d="m 1444.3,1060.1186 c 2.4,-5.7 2.4,-5.7 2.4,-5.7 l 2,5.8 -2.1,-1.5 -2.3,1.4 z m 57.4,10.4 c 6.6,3 6.6,3 6.6,3 l -7.1,1.4 2,-2 -1.5,-2.4 z" - class="st37" - inkscape:connector-curvature="0" - id="B_SLC25A5_SLC25A4_SLC25A6" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 1050.3,691.11855 c 2.2,7.3 2.2,7.3 2.2,7.3 l 2.2,-7.3 -2.2,1.8 -2.2,-1.8 z m 11.6,-3.8 c 4.7,1.4 4.7,1.4 4.7,1.4 l -5.1,1.5 1.4,-1.4 -1,-1.5 z" - class="st14" - inkscape:label="TransportGlu f" - inkscape:connector-curvature="0" - id="F_TransportGlu" /><path - style="fill:none;stroke:#000000;stroke-width:2.15549994" - d="m 954.1,690.71855 c 2.2,7.1 2.2,7.1 2.2,7.1 l 2.2,-7.1 -2.2,1.8 -2.2,-1.8 z m 12.5,-2.2 c 4.7,1.3 4.7,1.3 4.7,1.3 l -5.1,1.4 1.4,-1.4 -1,-1.3 z" - class="st166" - inkscape:label="TransportGln f" - inkscape:connector-curvature="0" - id="F_TransportGln" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 956,636.91855 c 2.2,7.3 2.2,7.3 2.2,7.3 l 2.2,-7.3 -2.2,1.8 -2.2,-1.8 z m 77.1,-13.1 c -1.4,4.7 -1.4,4.7 -1.4,4.7 l -1.5,-5.1 1.4,1.4 1.5,-1 z m -48,0.4 c -1.4,4.7 -1.4,4.7 -1.4,4.7 l -1.5,-5.1 1.4,1.4 1.5,-1 z" - class="st14" - inkscape:label="GS f" - inkscape:connector-curvature="0" - id="F_GS" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1022.5,652.11855 c 6.9,2.1 6.9,2.1 6.9,2.1 l -6.9,2.3 1.7,-2.2 -1.7,-2.2 z m -14.8,-6.7 c 1.4,-4.7 1.4,-4.7 1.4,-4.7 l 1.5,5.1 -1.4,-1.4 -1.5,1 z" - class="st32" - inkscape:label="GLS2 f" - inkscape:connector-curvature="0" - id="F_GLS2" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1029.4,709.51855 c 6.9,-2.1 6.9,-2.1 6.9,-2.1 l -6.9,-2.3 1.7,2.2 -1.7,2.2 z m -17.8,-8.9 c 0.9,-4.9 0.9,-4.9 0.9,-4.9 l -3.6,3.9 1.9,-0.6 0.8,1.6 z" - class="st32" - inkscape:label="GLS f" - inkscape:connector-curvature="0" - id="F_GLS" /><path - style="fill:none;stroke:#000000;stroke-width:1.99090004" - d="m 1270.4,787.81855 c 2.8,-7.3 -3.1,-12.1 -3.1,-12.1 m 49.7,12.1 c 2.8,-7.3 -3.1,-12.1 -3.1,-12.1 m -17.1,12.1 c 2.8,-7.3 -3.1,-12.1 -3.1,-12.1 m -53.7,0.4 c -5.3,0.6 -5,7.6 -5,7.6 m 89.5,-8 c -99.3,0 -99.3,0 -99.3,0 m 29.8,0.4 c -5.3,0.6 -5,7.6 -5,7.6" - class="st167" - inkscape:label="CPS1" - inkscape:connector-curvature="0" - id="R_CPS1" /><text - style="font-size:16.00031662px;font-family:Calibri-Bold" - id="text1772" - class="st15 st16" - transform="matrix(0.99998015,0.00630041,-0.00630041,0.99998015,0,0)" - x="1205.1744" - y="771.00928">CP</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 1351.5,622.81855 c -6.9,-1.7 -6.9,-1.7 -6.9,-1.7 l 5.5,4.6 -0.8,-2.2 2.2,-0.7 z m 11,-3.3 c -1.8,-7.4 -1.8,-7.4 -1.8,-7.4 l -2.5,7.2 2.2,-1.7 2.1,1.9 z" - class="st73" - inkscape:label="ALDH4A1_2 f" - inkscape:connector-curvature="0" - id="F_ALDH4A1_2" /><text - style="font-size:9.99962234px;font-family:Calibri" - id="text1775" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1386.1115" - y="542.35461">Gly</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text1777" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="1404.1106" - y="542.55579">GA</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 952,862.81855 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z m -12.1,9.3 c 1.3,7 1.3,7 1.3,7 l 1.9,-6.9 -1.7,1.7 -1.5,-1.8 z" - class="st22" - inkscape:label="CA5B_CA5A f" - inkscape:connector-curvature="0" - id="F_CA5B_CA5A" /><text - style="font-size:9.99962234px;font-family:Calibri" - id="text1780" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="665.34772" - y="1031.6384">H</text> -<text - style="font-size:6.09346962px;font-family:Calibri" - id="text1782" - class="st17 st26" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="671.57819" - y="1033.6384">2</text> -<text - style="font-size:9.99962234px;font-family:Calibri" - id="text1784" - class="st17 st18" - transform="matrix(0.9999378,-0.011153,0.011153,0.9999378,0,0)" - x="674.66699" - y="1031.6384">O</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.29760003" - d="m 707.7,1012.8186 c 2.9,-9.7 -3.2,-16.00005 -3.2,-16.00005 m -47.9,0.2 61.6,-0.1 m -33,15.90005 c 2.9,-9.7 -3.2,-16.00005 -3.2,-16.00005 m -14.3,0.3 c -5.3,1.4 -5.1,17.30005 -5.1,17.30005" - class="st79" - inkscape:label="SHMT1_2 " - inkscape:connector-curvature="0" - id="R_SHMT1_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.09949994" - d="m 707,1008.9186 c 1.3,7 1.3,7 1.3,7 l 1.9,-6.9 -1.7,1.7 -1.5,-1.8 z m 10.5,-9.70005 c 6.3,-2.3 6.3,-2.3 6.3,-2.3 l -6.5,-1.7 1.7,1.9 -1.5,2.1 z m -33,9.70005 c 1.3,7 1.3,7 1.3,7 l 1.9,-6.9 -1.7,1.7 -1.5,-1.8 z" - class="st73" - inkscape:label="SHMT1_2 f" - inkscape:connector-curvature="0" - id="F_SHMT1_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1442.5,809.71855 c -7.2,2.4 -7.2,2.4 -7.2,2.4 l 7.4,1.9 -1.9,-2.1 1.7,-2.2 z" - class="st22" - inkscape:label="TransportFolate f" - inkscape:connector-curvature="0" - id="path1985" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1489.5,814.81855 c 7.2,-2.4 7.2,-2.4 7.2,-2.4 l -7.4,-1.9 1.9,2.1 -1.7,2.2 z" - class="st22" - inkscape:label="SLC16A3_SLC16A1_SLC16A5_2 f" - inkscape:connector-curvature="0" - id="F_SLC16A3_SLC16A1_SLC16A5_2" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1490.3,756.31855 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z" - class="st22" - inkscape:transform-center-y="-3.0492074" - inkscape:transform-center-x="0.87100132" - inkscape:label="Transport_serine b" - inkscape:connector-curvature="0" - id="B_Transport_serine" /><text - style="font-size:10.00011921px;font-family:Calibri" - id="text1791" - class="st17 st18" - transform="matrix(0.99998813,0.00487302,-0.00487302,0.99998813,0,0)" - x="835.31476" - y="1042.428">formate+ATP</text> -<text - style="font-size:10.00011921px;font-family:Calibri" - id="text1793" - class="st17 st18" - transform="matrix(0.99998813,0.00487302,-0.00487302,0.99998813,0,0)" - x="891.94086" - y="1042.8938">ADP+Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.80649996" - d="m 1525.5,392.51855 c -5.4,-1.7 -4.9,-14 -4.9,-14 m 10.8,14.3 c 5.5,-1.1 4.1,-10.6 4.1,-10.6 m 9,10.6 -33.9,-0.3" - class="st116" - inkscape:label="LHPP_PPA2_PRUNE_EIF4A2_NAV2_PPA1_1" - inkscape:connector-curvature="0" - id="R_LHPP_PPA2_PRUNE_EIF4A2_NAV2_PPA1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1543.5,394.81855 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z m -6.5,-11.3 c -1.7,-5.2 -1.7,-5.2 -1.7,-5.2 l -1.4,5.3 1.5,-1.4 1.6,1.3 z" - class="st22" - inkscape:label="LHPP_PPA2_PRUNE_EIF4A2_NAV2_PPA1_1 f" - inkscape:connector-curvature="0" - id="F_LHPP_PPA2_PRUNE_EIF4A2_NAV2_PPA1_1" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1543.5,348.31855 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z m -6.5,-11.3 c -1.7,-5.2 -1.7,-5.2 -1.7,-5.2 l -1.4,5.3 1.5,-1.4 1.6,1.3 z" - class="st22" - inkscape:label="CA12_CA2_CA9_CA14_CA1_CA3_CA4_CA7_CA13 f" - inkscape:connector-curvature="0" - id="F_CA12_CA2_CA9_CA14_CA1_CA3_CA4_CA7_CA13" /><path - style="fill:none;stroke:#000000;stroke-width:9.22049999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:2" - inkscape:connector-curvature="0" - d="m 290.9,65.418554 1141.8,0 c 111.4,0 201.6,90.299996 201.6,201.599996 l 0,777.20005 c 0,111.4 -90.3,201.6 -201.6,201.6 l -1141.8,0 c -111.4,0 -201.6,-90.3 -201.6,-201.6 l 0,-777.10005 c 0,-111.4 90.3,-201.699996 201.6,-201.699996 z" - class="st168" - id="rect3173" /><text - style="font-size:10px;font-family:Calibri" - id="text1799" - class="st17 st18" - x="1582.0922" - y="894.75116">AMP+PPi</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1801" - class="st17 st18" - x="1583.309" - y="884.0647">ATP+CoA</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.92519999" - d="m 1565.4,888.01855 c 0.9,5 9.3,4.4 9.3,4.4 m 4.5,-10.4 c -8.6,-2.3 -13.9,3.4 -13.9,3.4 m -0.1,-11.9 c 0,24.9 0,24.9 0,24.9" - class="st148" - inkscape:label="palmitateActivation" - inkscape:connector-curvature="0" - id="R_palmitateActivation" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1567.3,897.51855 c -2,6.9 -2,6.9 -2,6.9 l -2.4,-6.8 2.2,1.7 2.2,-1.8 z m 7.4,-3.5 c 4.9,-2 4.9,-2 4.9,-2 l -5.6,-1.3 1.7,1.6 -1,1.7 z" - class="st32" - inkscape:label="palmitateActivation f" - inkscape:connector-curvature="0" - id="F_palmitateActivation" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1805" - class="st15 st16" - x="1547.4984" - y="863.4964">Palm</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1807" - class="st15 st16" - x="1537.4193" - y="918.66138">PalmCoA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1809" - class="st17 st18" - x="1582.8129" - y="953.61157">CoA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1811" - class="st17 st18" - x="1582.9476" - y="942.5647">carnitine</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.92519999" - d="m 1565.2,932.01855 c 0,24.9 0,24.9 0,24.9 m 9.6,-16.5 c -5.9,-2.4 -9.5,3.6 -9.5,3.6 m 0.1,2.5 c 0.9,5 9.3,4.4 9.3,4.4" - class="st148" - inkscape:label="carnitineAcylTransferaseI" - inkscape:connector-curvature="0" - id="R_carnitineAcylTransferaseI" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1567.3,933.41855 c -2,-6.9 -2,-6.9 -2,-6.9 l -2.4,6.8 2.2,-1.7 2.2,1.8 z m 7.4,8.6 c 4.9,-2 4.9,-2 4.9,-2 l -5.6,-1.3 1.7,1.6 -1,1.7 z" - class="st32" - inkscape:label="carnitineAcylTransferaseI b" - inkscape:connector-curvature="0" - id="B_carnitineAcylTransferaseI" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1567.3,956.01855 c -2,6.9 -2,6.9 -2,6.9 l -2.4,-6.8 2.2,1.7 2.2,-1.8 z m 7.4,-3.5 c 4.9,-2 4.9,-2 4.9,-2 l -5.6,-1.3 1.7,1.6 -1,1.7 z" - class="st32" - inkscape:label="carnitineAcylTransferaseI f" - inkscape:connector-curvature="0" - id="F_carnitineAcylTransferaseI" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1816" - class="st15 st16" - x="1509.2845" - y="977.52167">PalmCarnitine</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.56680012" - d="m 1477.7,972.41855 c 5.3,-1.5 4.6,-15.8 4.6,-15.8 m -29,0 c -2.5,10 3.7,16.2 3.7,16.2 m -18.4,0.1 c 58.9,0 58.9,0 58.9,0" - class="st169" - inkscape:label="translocase" - inkscape:connector-curvature="0" - id="R_translocase" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1483.8,956.91855 c -2,-4.9 -2,-4.9 -2,-4.9 l -1.3,5.6 1.6,-1.7 1.7,1 z m -43.4,14 c -6.9,2 -6.9,2 -6.9,2 l 6.8,2.4 -1.7,-2.2 1.8,-2.2 z" - class="st32" - inkscape:label="translocase f" - inkscape:connector-curvature="0" - id="F_translocase" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1454.7,956.91855 c -2,-4.9 -2,-4.9 -2,-4.9 l -1.3,5.6 1.6,-1.7 1.7,1 z m 40.6,13.9 c 6.9,2 6.9,2 6.9,2 l -6.8,2.4 1.7,-2.2 -1.8,-2.2 z" - class="st32" - inkscape:connector-curvature="0" - id="path3243" /><text - style="font-size:10px;font-family:Calibri" - id="text1821" - class="st17 st18" - x="1476.4476" - y="948.5647">carnitine</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1823" - class="st17 st18" - x="1425.4476" - y="948.5647">carnitine</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1825" - class="st15 st16" - x="1333.4193" - y="977.16138">PalmCarnitine</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1315.8,962.01855 c -2,-4.9 -2,-4.9 -2,-4.9 l -1.3,5.6 1.6,-1.7 1.7,1 z m 3.6,7.4 c 6.9,2 6.9,2 6.9,2 l -6.8,2.4 1.7,-2.2 -1.8,-2.2 z" - class="st32" - inkscape:connector-curvature="0" - id="path3291" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1305.3,962.01855 c -2,-4.9 -2,-4.9 -2,-4.9 l -1.3,5.6 1.6,-1.7 1.7,1 z m -8.5,7.4 c -6.9,2 -6.9,2 -6.9,2 l 6.8,2.4 -1.7,-2.2 1.8,-2.2 z" - class="st32" - inkscape:label="carnitineAcylTransferaseII f" - inkscape:connector-curvature="0" - id="F_carnitineAcylTransferaseII" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1309.9,971.31855 c 5,-0.9 4.4,-9.3 4.4,-9.3 m -10.6,-0.1 c -2.4,5.9 3.6,9.5 3.6,9.5 m -12,0 c 24.9,0 24.9,0 24.9,0" - class="st32" - inkscape:label="carnitineAcylTransferaseII " - inkscape:connector-curvature="0" - id="R_carnitineAcylTransferaseII" /><text - style="font-size:10px;font-family:Calibri" - id="text1830" - class="st17 st18" - x="1311.5248" - y="953.61157">CoA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1832" - class="st17 st18" - x="1271.8422" - y="952.50116">carnitine</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1834" - class="st15 st16" - x="1222.6273" - y="976.7356">PalmCoA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1836" - class="st17 st18" - x="1206.2504" - y="990.83716">7 CoA</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1838" - class="st17 st18" - x="1171.7504" - y="990.83716">7 NAD</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1840" - class="st17 st18" - x="1141.7504" - y="990.83716">7 FAD</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1842" - class="st17 st18" - x="1110.2504" - y="990.83716">7 H</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1844" - class="st17 st26" - x="1123.809" - y="992.83716">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1846" - class="st17 st18" - x="1126.8978" - y="990.83716">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1848" - class="st17 st18" - x="1165.7504" - y="951.83716">7 NADH</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1850" - class="st17 st18" - x="1128.2504" - y="951.83716">7 FADH</text> -<text - style="font-size:6.09369993px;font-family:Calibri" - id="text1852" - class="st17 st26" - x="1157.7816" - y="953.83716">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1854" - class="st17 st18" - x="1105.7504" - y="951.83716">7 H</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.93280005" - d="m 1120.2,971.91855 c -5.6,-1.9 -4.1,-12.1 -4.1,-12.1 m 35.6,12.1 c -5.6,-1.9 -4.1,-12.1 -4.1,-12.1 m 35.6,12.1 c -5.6,-1.9 -4.1,-12.1 -4.1,-12.1 m -58.4,11.7 c 5.6,1.5 5.5,11.8 5.5,11.8 m 24.5,-11.8 c 5.6,1.5 5.5,11.8 5.5,11.8 m 29,-11.8 c 5.6,1.5 5.5,11.8 5.5,11.8 m 13.9,-12.1 c 5.6,1.5 5.5,11.8 5.5,11.8 m 10.1,-11.6 -112,0.1" - class="st170" - inkscape:label="betaOxidation " - inkscape:connector-curvature="0" - id="R_betaOxidation" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1109.3,969.41855 c -6.9,2 -6.9,2 -6.9,2 l 6.8,2.4 -1.7,-2.2 1.8,-2.2 z m 8.5,-8.8 c -2,-4.9 -2,-4.9 -2,-4.9 l -1.3,5.6 1.6,-1.7 1.7,1 z m 31.5,0 c -2,-4.9 -2,-4.9 -2,-4.9 l -1.3,5.6 1.6,-1.7 1.7,1 z m 31.5,0 c -2,-4.9 -2,-4.9 -2,-4.9 l -1.3,5.6 1.6,-1.7 1.7,1 z" - class="st32" - inkscape:label="betaOxidation f" - inkscape:connector-curvature="0" - id="F_betaOxidation" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1858" - class="st15 st16" - x="1042.6273" - y="976.7356">8 AcCoA</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1567.3,874.91855 c -2,-6.9 -2,-6.9 -2,-6.9 l -2.4,6.8 2.2,-1.7 2.2,1.8 z m 7.4,8.6 c 4.9,-2 4.9,-2 4.9,-2 l -5.6,-1.3 1.7,1.6 -1,1.7 z" - class="st32" - inkscape:label="palmitateActivation b" - inkscape:connector-curvature="0" - id="B_palmitateActivation" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1861" - class="st15 st16" - x="1486.4927" - y="427.78244">ATP</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1863" - class="st15 st16" - x="1554.2847" - y="427.81766">ADP</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.80649996" - d="m 1544.5,425.81855 -33.9,-0.3" - class="st116" - inkscape:label="ATPmaintenance " - inkscape:connector-curvature="0" - id="R_ATPmaintenance" /><path - style="fill:none;stroke:#000000;stroke-width:2.5" - d="m 1543.5,427.81855 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z" - class="st22" - inkscape:label="ATPmaintenancef" - inkscape:connector-curvature="0" - id="F_ATPmaintenance" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text1867" - class="st15 st38" - x="259.638" - y="851.84009">Pi</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1869" - class="st15 st16" - x="278.91238" - y="912.47101">Orn</text> -<path - style="fill:none;stroke:#000000;stroke-width:3.19709992" - d="m 237.8,908.91855 c -6,-8.4 -6,-12.6 -6.6,-16.9 m 29,16.8 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m 11.2,13.9 -60.2,-0.3" - class="st171" - inkscape:label="UniportOrnithine" - inkscape:connector-curvature="0" - id="R_UniportOrnithine" /><path - style="fill:none;stroke:#000000;stroke-width:2.32780004" - d="m 267.4,895.31855 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z m -51.1,11.2 c -2.4,0.8 -4.8,1.6 -7.2,2.4 2.5,0.6 4.9,1.3 7.4,1.9 -0.6,-0.7 -1.3,-1.4 -1.9,-2.1 0.6,-0.7 1.1,-1.4 1.7,-2.2 l 0,0 z" - class="st140" - inkscape:label="UniportOrnithine f" - inkscape:connector-curvature="0" - id="F_UniportOrnithine" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text1873" - class="st15 st38" - x="261.46759" - y="887.15851">H</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1875" - class="st15 st38" - x="226.01099" - y="888.6438">H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1877" - class="st15 st16" - x="180.79909" - y="912.72589">Orn</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1879" - class="st15 st16" - x="303.034" - y="950.73657">Orn</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1881" - class="st15 st16" - x="170.7791" - y="950.48169">Orn</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.32780004" - d="m 283.9,934.31855 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z m -50,2.4 c -2.4,-5.9 -2.4,-5.9 -2.4,-5.9 l -2.3,6 2.3,-1.5 2.4,1.4 z m -26.6,8.8 c -2.4,0.8 -4.8,1.6 -7.2,2.4 2.5,0.6 4.9,1.3 7.4,1.9 -0.6,-0.7 -1.3,-1.4 -1.9,-2.1 0.6,-0.7 1.1,-1.4 1.7,-2.2 z" - class="st140" - inkscape:connector-curvature="0" - id="path3519" /><path - style="fill:none;stroke:#000000;stroke-width:2.82299995" - d="m 218.4,948.01855 c -6.2,-6.3 -6.2,-9.5 -6.8,-12.7 m 65.1,12.5 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m -43.2,14.1 c -6.2,-6.3 -6.2,-9.5 -6.8,-12.7 m 29.1,12.5 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m 26.7,13.9 -84.7,-0.2" - class="st45" - inkscape:label="CotraspArgOrnA" - inkscape:connector-curvature="0" - id="R_CotraspArgOrnA" /><path - style="fill:none;stroke:#000000;stroke-width:2.35560012" - d="m 214.4,936.71855 c -2.4,-5.9 -2.4,-5.9 -2.4,-5.9 l -2.3,6 2.3,-1.5 2.4,1.4 z m 76.1,13.1 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z m -23.1,-15.5 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z" - class="st46" - inkscape:label="CotraspArgOrnA f" - inkscape:connector-curvature="0" - id="F_CotraspArgOrnA" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text1886" - class="st15 st38" - x="259.9368" - y="926.9231">H</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1888" - class="st15 st38" - x="226.01099" - y="927.6438">H</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1890" - class="st15 st38" - x="199.5208" - y="926.62427">Arg</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1892" - class="st15 st38" - x="273.05161" - y="926.62427">Arg</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1894" - class="st15 st16" - x="300.10669" - y="992.00116">Orn</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1896" - class="st15 st16" - x="176.7791" - y="991.49146">Orn</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.32780004" - d="m 289.9,974.81855 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z m -76.6,11.2 c -2.4,0.8 -4.8,1.6 -7.2,2.4 2.5,0.6 4.9,1.3 7.4,1.9 -0.6,-0.7 -1.3,-1.4 -1.9,-2.1 0.6,-0.7 1.1,-1.4 1.7,-2.2 z m 60.1,-11.2 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z" - class="st140" - inkscape:label="CotraspArgOrnB f" - inkscape:connector-curvature="0" - id="F_CotraspArgOrnB" /><path - style="fill:none;stroke:#000000;stroke-width:3.13730001" - d="m 227.1,988.41855 c -5.9,-8.2 -5.9,-12.4 -6.5,-16.5 m 62.1,16.4 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m -41.5,14 c -5.9,-8.2 -5.9,-12.4 -6.5,-16.5 m 27.1,16.4 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m 26.7,13.9 -84.7,-0.2" - class="st172" - inkscape:label="CotraspArgOrnB" - inkscape:connector-curvature="0" - id="R_CotraspArgOrnB" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text1900" - class="st15 st38" - x="265.9368" - y="967.4231">H</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1902" - class="st15 st38" - x="232.01099" - y="968.1438">H</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1904" - class="st15 st38" - x="205.5208" - y="967.12427">Arg</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1906" - class="st15 st38" - x="279.05161" - y="967.12427">Arg</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1908" - class="st15 st16" - x="303.034" - y="1030.2366">Ci</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1910" - class="st15 st16" - x="182.74879" - y="1032.5325">Ci</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.32780004" - d="m 283.9,1013.8186 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z m -50,2.4 c -2.4,-5.9 -2.4,-5.9 -2.4,-5.9 l -2.3,6 2.3,-1.5 2.4,1.4 z m -26.6,8.8 c -2.4,0.8 -4.8,1.6 -7.2,2.4 2.5,0.6 4.9,1.3 7.4,1.9 -0.6,-0.7 -1.3,-1.4 -1.9,-2.1 0.6,-0.7 1.1,-1.4 1.7,-2.2 z" - class="st140" - inkscape:label="CotraspArgCitrA b" - inkscape:connector-curvature="0" - id="B_CotraspArgCitrA" /><path - style="fill:none;stroke:#000000;stroke-width:2.82299995" - d="m 218.4,1027.5186 c -6.2,-6.3 -6.2,-9.5 -6.8,-12.7 m 65.1,12.5 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m -43.2,14.1 c -6.2,-6.3 -6.2,-9.5 -6.8,-12.7 m 29.1,12.5 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m 26.7,13.9 -84.7,-0.2" - class="st45" - inkscape:label="CotraspArgCitrA" - inkscape:connector-curvature="0" - id="R_CotraspArgCitrA" /><path - style="fill:none;stroke:#000000;stroke-width:2.35560012" - d="m 214.4,1016.2186 c -2.4,-5.9 -2.4,-5.9 -2.4,-5.9 l -2.3,6 2.3,-1.5 2.4,1.4 z m 76.1,13.1 c 7.2,-2.3 7.2,-2.3 7.2,-2.3 l -7.3,-2 1.9,2.1 -1.8,2.2 z m -23.1,-15.5 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z" - class="st46" - inkscape:label="CotraspArgCitrA f" - inkscape:connector-curvature="0" - id="F_CotraspArgCitrA" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text1915" - class="st15 st38" - x="259.9368" - y="1006.4231">H</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1917" - class="st15 st38" - x="226.01099" - y="1007.1438">H</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1919" - class="st15 st38" - x="199.5208" - y="1006.1243">Arg</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1921" - class="st15 st38" - x="273.05161" - y="1006.1243">Arg</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.32780004" - d="m 282.4,1048.3186 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z m -76.6,11.2 c -2.4,0.8 -4.8,1.6 -7.2,2.4 2.5,0.6 4.9,1.3 7.4,1.9 -0.6,-0.7 -1.3,-1.4 -1.9,-2.1 0.6,-0.7 1.1,-1.4 1.7,-2.2 z m 60.1,-11.2 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z" - class="st140" - inkscape:label="CotraspArgCitrB f" - inkscape:connector-curvature="0" - id="F_CotraspArgCitrB" /><path - style="fill:none;stroke:#000000;stroke-width:3.13730001" - d="m 219.6,1061.9186 c -5.9,-8.2 -5.9,-12.4 -6.5,-16.5 m 62.1,16.4 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m -41.5,14 c -5.9,-8.2 -5.9,-12.4 -6.5,-16.5 m 27.1,16.4 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m 26.7,13.9 -84.7,-0.2" - class="st172" - inkscape:label="CotraspArgCitrB" - inkscape:connector-curvature="0" - id="R_CotraspArgCitrB" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text1925" - class="st15 st38" - x="258.4368" - y="1040.9231">H</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1927" - class="st15 st38" - x="224.51099" - y="1041.6438">H</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1929" - class="st15 st38" - x="198.0208" - y="1040.6243">Arg</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1931" - class="st15 st38" - x="271.55161" - y="1040.6243">Arg</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1933" - class="st15 st16" - x="292.57349" - y="1066.5403">Ci</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1935" - class="st15 st16" - x="182.74879" - y="1067.0325">Ci</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1937" - class="st15 st16" - x="289.01248" - y="1101.4709">Arg</text> -<path - style="fill:none;stroke:#000000;stroke-width:3.19709992" - d="m 237.8,1097.9186 c -6,-8.4 -6,-12.6 -6.6,-16.9 m 29,16.8 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m 11.2,13.9 -60.2,-0.3" - class="st171" - inkscape:label="UniportArginine" - inkscape:connector-curvature="0" - id="R_UniportArginine" /><path - style="fill:none;stroke:#000000;stroke-width:2.32780004" - d="m 267.4,1084.3186 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z m -51.1,11.2 c -2.4,0.8 -4.8,1.6 -7.2,2.4 2.5,0.6 4.9,1.3 7.4,1.9 -0.6,-0.7 -1.3,-1.4 -1.9,-2.1 0.6,-0.7 1.1,-1.4 1.7,-2.2 z" - class="st140" - inkscape:label="UniportArginine f" - inkscape:connector-curvature="0" - id="F_UniportArginine" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text1941" - class="st15 st38" - x="261.46759" - y="1076.1584">H</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1943" - class="st15 st38" - x="226.01099" - y="1077.6438">H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1945" - class="st15 st16" - x="180.79909" - y="1101.7258">Arg</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1947" - class="st15 st16" - x="295.41238" - y="1140.4709">Ci</text> -<path - style="fill:none;stroke:#000000;stroke-width:3.19709992" - d="m 246.8,1136.9186 c -6,-8.4 -6,-12.6 -6.6,-16.9 m 29,16.8 c 5.9,-1.5 4.4,-13.9 4.4,-13.9 m 11.2,13.9 -60.2,-0.3" - class="st171" - inkscape:label="UniportCitrulline" - inkscape:connector-curvature="0" - id="R_UniportCitrulline" /><path - style="fill:none;stroke:#000000;stroke-width:2.32780004" - d="m 276.4,1123.3186 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z m -51.1,11.2 c -2.4,0.8 -4.8,1.6 -7.2,2.4 2.5,0.6 4.9,1.3 7.4,1.9 -0.6,-0.7 -1.3,-1.4 -1.9,-2.1 0.6,-0.7 1.1,-1.4 1.7,-2.2 z" - class="st140" - inkscape:label="UniportCitrulline f" - inkscape:connector-curvature="0" - id="F_UniportCitrulline" /><text - style="font-size:14px;font-family:Calibri-Bold" - id="text1951" - class="st15 st38" - x="270.46759" - y="1115.1584">H</text> -<text - style="font-size:14px;font-family:Calibri-Bold" - id="text1953" - class="st15 st38" - x="235.37189" - y="1114.1194">H</text> -<text - style="font-size:16px;font-family:Calibri-Bold" - id="text1955" - class="st15 st16" - x="202.06329" - y="1141.4475">Ci</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.32780004" - d="m 275.3,1099.8186 c 2.4,-0.8 4.8,-1.6 7.2,-2.4 -2.5,-0.6 -4.9,-1.3 -7.4,-1.9 0.6,0.7 1.3,1.4 1.9,2.1 -0.6,0.8 -1.1,1.5 -1.7,2.2 z m -40.9,-15.5 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.6,0.5 1.4,1 2.2,1.5 z" - class="st140" - inkscape:label="UniportArginine b" - inkscape:connector-curvature="0" - id="B_UniportArginine" /><path - style="fill:none;stroke:#000000;stroke-width:2.32780004" - d="m 243,1123.3186 c -0.6,-1.9 -1.3,-3.9 -1.9,-5.8 -0.9,1.9 -1.9,3.7 -2.8,5.6 0.8,-0.4 1.7,-0.9 2.5,-1.3 0.7,0.5 1.4,1 2.2,1.5 z m 41.3,15.5 c 2.4,-0.8 4.8,-1.6 7.2,-2.4 -2.5,-0.6 -4.9,-1.3 -7.4,-1.9 0.6,0.7 1.3,1.4 1.9,2.1 -0.6,0.8 -1.1,1.5 -1.7,2.2 z" - class="st140" - inkscape:label="UniportCitrulline b" - inkscape:connector-curvature="0" - id="B_UniportCitrulline" /><path - style="fill:none;stroke:#000000;stroke-width:2.22029996" - d="m 1039.7789,1224.1775 0.3,50.4" - class="st68" - inkscape:label="DM_10formylTHFc" - inkscape:connector-curvature="0" - id="R_DM_10formylTHFc" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1960" - class="st15 st16" - x="984.76355" - y="1218.4149">10-formylTHF</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 1037.8789,1273.7775 2.2,7.2 2.2,-7.2 -2.2,1.8 -2.2,-1.8 z" - class="st63" - inkscape:label="DM_10formylTHFc f" - inkscape:connector-curvature="0" - id="F_DM_10formylTHFc" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1963" - class="st15 st16" - x="739.07251" - y="1219.4495">carnitine</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 769.6,1234.7186 0,47.6" - class="st63" - inkscape:label="DM_Carnitine" - inkscape:connector-curvature="0" - id="R_DM_Carnitine" /><path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 769.8,1233.4186 2.2,1.8 -2.2,-7.2 -2.2,7.2 2.2,-1.8 z" - class="st63" - inkscape:label="DM_Carnitine f" - inkscape:connector-curvature="0" - id="F_DM_Carnitine" /><path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 1382.6,1269.2186 2.2,7.2 2.2,-7.2 -2.2,1.8 -2.2,-1.8 z" - class="st63" - inkscape:label="Palmitate_DM_COOP f" - inkscape:connector-curvature="0" - id="F_Palmitate_DM_COOP" /><path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 1384.7,1222.0186 0,47.6" - class="st63" - inkscape:label="Palmitate_DM_COOP" - inkscape:connector-curvature="0" - id="R_Palmitate_DM_COOP" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1969" - class="st15 st16" - x="1377.4066" - y="1218.3489">Palm</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 1305.8,1276.7186 -0.3,-48.1" - class="st14" - inkscape:label="Arginine_DM_COOP" - inkscape:connector-curvature="0" - id="R_Arginine_DM_COOP" /><path - style="fill:none;stroke:#000000;stroke-width:2.22930002" - d="m 1267.8,1232.1186 2.2,-7.7 2.2,7.7 -2.2,-1.9 -2.2,1.9 z" - class="st69" - inkscape:label="Glutamate_DM_COOP b" - inkscape:connector-curvature="0" - id="B_Glutamate_DM_COOP" /><path - style="fill:none;stroke:#000000;stroke-width:3.16359997" - d="m 643.6,1230.3186 2.2,-6.9 2.2,6.9 -2.2,-1.7 -2.2,1.7 z" - class="st65" - inkscape:label="Ex_NH3 b" - inkscape:connector-curvature="0" - id="B_Ex_NH3" /><text - style="font-size:10px;font-family:Calibri" - id="text1974" - class="st17 st18" - x="1314.7279" - y="204.19505">ATP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1976" - class="st17 st18" - x="1294.9379" - y="204.31226">ADP</text> -<path - style="fill:none;stroke:#000000;stroke-width:1.68470001" - d="m 1308.1,213.31855 c -2.4,6.7 3.6,10.9 3.6,10.9 m 15.7,0.2 c -26.9,0 -26.9,0 -26.9,0 m 19.4,-11.1 c 2.4,6.7 -3.6,10.9 -3.6,10.9" - class="st163" - inkscape:label="AK" - inkscape:connector-curvature="0" - id="R_AK" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1303.7,221.91855 c -6.9,2 -6.9,2 -6.9,2 l 6.8,2.4 -1.7,-2.2 1.8,-2.2 z m 1.9,-8.8 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st32" - inkscape:label="AK b" - inkscape:connector-curvature="0" - id="B_AK" /><path - style="fill:none;stroke:#000000;stroke-width:2.44919991" - d="m 1327.4,222.21855 c 6.9,2 6.9,2 6.9,2 l -6.8,2.4 1.7,-2.2 -1.8,-2.2 z m -8.6,-9.1 c 2,-4.9 2,-4.9 2,-4.9 l 1.3,5.6 -1.6,-1.7 -1.7,1 z" - class="st32" - inkscape:label="AK f" - inkscape:connector-curvature="0" - id="F_AK" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text1981" - class="st15 st16" - x="1341.2035" - y="225.97145">dAMP</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1983" - class="st17 st18" - x="422.99298" - y="130.87186">H</text> -<text - style="font-size:6.5px;font-family:Calibri" - id="text1985" - class="st17 st173" - x="429.22339" - y="132.87186">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1987" - class="st17 st18" - x="432.51788" - y="130.87186">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1989" - class="st17 st18" - x="427.66238" - y="118.75516">Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.0948" - d="m 457.5,136.01855 0,-31.1 0,31.1 z m -0.4,-14.7 c -0.9,-5.5 -11.1,-5.3 -11.1,-5.3 m -3.6,11.8 c 8.8,2.9 14.6,-3.3 14.6,-3.3" - class="st76" - inkscape:label="G6PPer" - inkscape:connector-curvature="0" - id="R_G6PPer" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 447,117.71855 c -4.9,-2 -4.9,-2 -4.9,-2 l 5.6,-1.3 -1.7,1.6 1,1.7 z m 12.1,-10.7 c -1.7,-7.299996 -1.7,-7.299996 -1.7,-7.299996 l -1.7,7.299996 1.7,-1.8 1.7,1.8 z" - class="st30" - inkscape:label="F G6PPer" - inkscape:connector-curvature="0" - id="F_G6PPer" /><path - style="fill:none;stroke:#000000;stroke-width:2.0948" - d="m 457.9,245.51855 0,-31.1 0,31.1 z m -0.4,-14.8 c -0.9,-5.5 -11.1,-5.3 -11.1,-5.3 m -3.6,11.9 c 8.8,2.9 14.6,-3.3 14.6,-3.3" - class="st76" - inkscape:transform-center-y="-61.654422" - inkscape:transform-center-x="138.9285" - inkscape:connector-curvature="0" - id="R_FBP" /><path - style="fill:none;stroke:#000000;stroke-width:1.87170005" - d="m 447.4,227.21855 c -4.9,-2 -4.9,-2 -4.9,-2 l 5.6,-1.3 -1.7,1.6 1,1.7 z m 12.1,-10.7 c -1.7,-7.3 -1.7,-7.3 -1.7,-7.3 l -1.7,7.3 1.7,-1.8 1.7,1.8 z" - class="st30" - inkscape:transform-center-y="-76.278967" - inkscape:transform-center-x="138.06632" - inkscape:label="FBP f" - inkscape:connector-curvature="0" - id="F_FBP" /><text - style="font-size:10px;font-family:Calibri" - id="text1995" - class="st17 st18" - x="424.16238" - y="240.49146">H</text> -<text - style="font-size:6.5px;font-family:Calibri" - id="text1997" - class="st17 st173" - x="430.39288" - y="242.49146">2</text> -<text - style="font-size:10px;font-family:Calibri" - id="text1999" - class="st17 st18" - x="433.6868" - y="240.49146">O</text> -<text - style="font-size:10px;font-family:Calibri" - id="text2001" - class="st17 st18" - x="428.83179" - y="228.37425">Pi</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.17810011" - d="m 1405.8,1229.0186 0,47.6" - class="st63" - inkscape:label="Palmitate_UP_COOP" - inkscape:connector-curvature="0" - id="R_Palmitate_UP_COOP" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 1403.7,1233.9186 2.1,-7.3 2.3,7.3 -2.2,-1.8 -2.2,1.8 z" - class="st14" - inkscape:label="Palmitate_UP_COOP f" - inkscape:connector-curvature="0" - id="F_Palmitate_UP_COOP" /><path - style="fill:none;stroke:#000000;stroke-width:2.22930002" - d="m 767.6,1278.0186 2.2,7.7 2.2,-7.7 -2.2,1.9 -2.2,-1.9 z" - class="st69" - inkscape:label="DM_Carnitine b" - inkscape:connector-curvature="0" - id="B_DM_Carnitine" /><path - style="fill:none;stroke:#000000;stroke-width:2.67510009" - d="m 964.1,1232.4186 -2.2,-7.1 -2.2,7.1 2.2,-1.8 2.2,1.8 z" - class="st64" - inkscape:label="UptakeCitrate f" - inkscape:connector-curvature="0" - id="F_UptakeCitrate" /><path - style="fill:none;stroke:#000000;stroke-width:2.67510009" - d="m 962,1278.6186 0,-46.6" - class="st64" - inkscape:label="DM_Citrate" - inkscape:connector-curvature="0" - id="R_DM_Citrate" /><text - style="font-size:16px;font-family:Calibri-Bold" - id="text2008" - class="st15 st16" - x="952.39581" - y="1218.1301">Cit</text> -<path - style="fill:none;stroke:#000000;stroke-width:2.22930002" - d="m 959.6,1276.4186 2.2,7.7 2.2,-7.7 -2.2,1.9 -2.2,-1.9 z" - class="st69" - inkscape:label="UptakeCitrate b" - inkscape:connector-curvature="0" - id="B_UptakeCitrate" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 1174.9998,1273.8805 -2.1,7.3 -2.3,-7.3 2.2,1.8 2.2,-1.8 z" - class="st14" - inkscape:label="Glucose_DM_COOP f" - inkscape:connector-curvature="0" - id="F_Glucose_DM_COOP" /><path - style="fill:none;stroke:#000000;stroke-width:2.22930002" - d="m 1137.2,1273.5186 2.2,7.7 2.2,-7.7 -2.2,1.9 -2.2,-1.9 z" - class="st69" - inkscape:label="LactateL_DM_COOP f" - inkscape:connector-curvature="0" - id="F_DM_LactateL" /><path - style="fill:none;stroke:#000000;stroke-width:2.22930002" - d="m 1139.2,1223.4186 0,50.5" - class="st69" - inkscape:label="LactateL_DM_COOP" - inkscape:connector-curvature="0" - id="R_LactateL_DM_COOP" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 1231.89,1231.8186 2.2,-7.3 2.2,7.3 -2.2,-1.8 -2.2,1.8 z" - class="st14" - inkscape:label="Glutamine_DM_COOP b" - inkscape:connector-curvature="0" - id="B_Glutamine_DM_COOP" /><path - style="fill:none;stroke:#000000;stroke-width:2.18210006" - d="m 1233.89,1279.4186 0,-48" - class="st14" - inkscape:label="Glutamine_DM_COOP" - inkscape:connector-curvature="0" - id="R_Glutamine_DM_COOP" /><flowRoot - xml:space="preserve" - id="flowRoot5366" - style="font-style:normal;font-weight:normal;font-size:35px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - transform="translate(-20.6,18.418554)"><flowRegion - id="flowRegion5368"><rect - id="rect5370" - width="1165.1471" - height="77.465683" - x="306.70087" - y="-39.523308" /></flowRegion><flowPara - id="flowPara5372" /></flowRoot><flowRoot - xml:space="preserve" - id="TitoloConfronto" - style="font-style:normal;font-weight:normal;font-size:35px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - inkscape:label="TitoloConfronto" - transform="translate(-18.364224,56.426743)"><flowRegion - id="flowRegion5376"><rect - id="rect5378" - width="1869.6877" - height="68.569115" - x="301.95807" - y="-69.56102" /></flowRegion><flowPara - id="TitleText" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:45px;font-family:sans-serif;-inkscape-font-specification:sans-serif">TITOLO: TITOLOTITOLO </flowPara></flowRoot><flowRoot - xml:space="preserve" - id="flowRoot5382" - style="font-style:normal;font-weight:normal;font-size:35px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - transform="translate(-16.64767,38.180207)"><flowRegion - id="flowRegion5384"><rect - id="rect5386" - width="275.00043" - height="149.79698" - x="1681.3033" - y="204.59315" /></flowRegion><flowPara - id="flowPara5390" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold'">Fold Change</flowPara></flowRoot><flowRoot - xml:space="preserve" - id="FC_min" - style="font-style:normal;font-weight:normal;font-size:35px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - transform="translate(-8.622366,131.05768)" - inkscape:label="FC_min"><flowRegion - id="flowRegion5384-2"><rect - id="rect5386-9" - width="275.00043" - height="149.79698" - x="1681.3033" - y="204.59315" /></flowRegion><flowPara - id="Val_FC_min">min: </flowPara></flowRoot><flowRoot - xml:space="preserve" - id="FC_max" - style="font-style:normal;font-weight:normal;font-size:35px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - transform="translate(-17.492772,95.648076)" - inkscape:label="FC_max"><flowRegion - id="flowRegion5384-2-2"><rect - id="rect5386-9-9" - width="275.00043" - height="149.79698" - x="1681.3033" - y="204.59315" /></flowRegion><flowPara - id="Val_FC_max">max:</flowPara></flowRoot></svg> \ No newline at end of file
--- a/marea-1.0.1/local/desktop.ini Tue Oct 01 06:03:12 2019 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -[.ShellClassInfo] -IconResource=C:\WINDOWS\System32\SHELL32.dll,4 -[ViewState] -Mode= -Vid= -FolderType=Generic
--- a/marea-1.0.1/marea.py Tue Oct 01 06:03:12 2019 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,825 +0,0 @@ -from __future__ import division -import sys -import pandas as pd -import itertools as it -import scipy.stats as st -import collections -import lxml.etree as ET -import shutil -import pickle as pk -import math -import os -import argparse -from svglib.svglib import svg2rlg -from reportlab.graphics import renderPDF - -########################## argparse ########################################## - -def process_args(args): - parser = argparse.ArgumentParser(usage = '%(prog)s [options]', - description = 'process some value\'s'+ - ' genes to create a comparison\'s map.') - parser.add_argument('-rs', '--rules_selector', - type = str, - default = 'HMRcore', - choices = ['HMRcore', 'Recon', 'Custom'], - help = 'chose which type of dataset you want use') - parser.add_argument('-cr', '--custom', - type = str, - help='your dataset if you want custom rules') - parser.add_argument('-na', '--names', - type = str, - nargs = '+', - help = 'input names') - parser.add_argument('-n', '--none', - type = str, - default = 'true', - choices = ['true', 'false'], - help = 'compute Nan values') - parser.add_argument('-pv' ,'--pValue', - type = float, - default = 0.05, - help = 'P-Value threshold (default: %(default)s)') - parser.add_argument('-fc', '--fChange', - type = float, - default = 1.5, - help = 'Fold-Change threshold (default: %(default)s)') - parser.add_argument('-td', '--tool_dir', - type = str, - required = True, - help = 'your tool directory') - parser.add_argument('-op', '--option', - type = str, - choices = ['datasets', 'dataset_class'], - help='dataset or dataset and class') - parser.add_argument('-ol', '--out_log', - help = "Output log") - parser.add_argument('-ids', '--input_datas', - type = str, - nargs = '+', - help = 'input datasets') - parser.add_argument('-id', '--input_data', - type = str, - help = 'input dataset') - parser.add_argument('-ic', '--input_class', - type = str, - help = 'sample group specification') - parser.add_argument('-cm', '--custom_map', - type = str, - help = 'custom map') - parser.add_argument('-yn', '--yes_no', - type = str, - choices = ['yes', 'no'], - help = 'if make or not custom map') - parser.add_argument('-gs', '--generate_svg', - type = str, - default = 'true', - choices = ['true', 'false'], - help = 'generate svg map') - parser.add_argument('-gp', '--generate_pdf', - type = str, - default = 'true', - choices = ['true', 'false'], - help = 'generate pdf map') - parser.add_argument('-gr', '--generate_ras', - type = str, - default = 'true', - choices = ['true', 'false'], - help = 'generate reaction activity score') - args = parser.parse_args() - return args - -########################### warning ########################################### - -def warning(s): - args = process_args(sys.argv) - with open(args.out_log, 'a') as log: - log.write(s) - -############################ dataset input #################################### - -def read_dataset(data, name): - try: - dataset = pd.read_csv(data, sep = '\t', header = 0, engine='python') - except pd.errors.EmptyDataError: - sys.exit('Execution aborted: wrong format of ' + name + '\n') - if len(dataset.columns) < 2: - sys.exit('Execution aborted: wrong format of ' + name + '\n') - return dataset - -############################ dataset name ##################################### - -def name_dataset(name_data, count): - if str(name_data) == 'Dataset': - return str(name_data) + '_' + str(count) - else: - return str(name_data) - -############################ load id e rules ################################## - -def load_id_rules(reactions): - ids, rules = [], [] - for key, value in reactions.items(): - ids.append(key) - rules.append(value) - return (ids, rules) - -############################ check_methods #################################### - -def gene_type(l, name): - if check_hgnc(l): - return 'hugo_id' - elif check_ensembl(l): - return 'ensembl_gene_id' - elif check_symbol(l): - return 'symbol' - elif check_entrez(l): - return 'entrez_id' - else: - sys.exit('Execution aborted:\n' + - 'gene ID type in ' + name + ' not supported. Supported ID'+ - 'types are: HUGO ID, Ensemble ID, HUGO symbol, Entrez ID\n') - -def check_hgnc(l): - if len(l) > 5: - if (l.upper()).startswith('HGNC:'): - return l[5:].isdigit() - else: - return False - else: - return False - -def check_ensembl(l): - if len(l) == 15: - if (l.upper()).startswith('ENS'): - return l[4:].isdigit() - else: - return False - else: - return False - -def check_symbol(l): - if len(l) > 0: - if l[0].isalpha() and l[1:].isalnum(): - return True - else: - return False - else: - return False - -def check_entrez(l): - if len(l) > 0: - return l.isdigit() - else: - return False - -def check_bool(b): - if b == 'true': - return True - elif b == 'false': - return False - -############################ resolve_methods ################################## - -def replace_gene_value(l, d): - tmp = [] - err = [] - while l: - if isinstance(l[0], list): - tmp_rules, tmp_err = replace_gene_value(l[0], d) - tmp.append(tmp_rules) - err.extend(tmp_err) - else: - value = replace_gene(l[0], d) - tmp.append(value) - if value == None: - err.append(l[0]) - l = l[1:] - return (tmp, err) - -def replace_gene(l, d): - if l =='and' or l == 'or': - return l - else: - value = d.get(l, None) - if not(value == None or isinstance(value, (int, float))): - sys.exit('Execution aborted: ' + value + ' value not valid\n') - return value - -def computes(val1, op, val2, cn): - if val1 != None and val2 != None: - if op == 'and': - return min(val1, val2) - else: - return val1 + val2 - elif op == 'and': - if cn is True: - if val1 != None: - return val1 - elif val2 != None: - return val2 - else: - return None - else: - return None - else: - if val1 != None: - return val1 - elif val2 != None: - return val2 - else: - return None - -def control(ris, l, cn): - if len(l) == 1: - if isinstance(l[0], (float, int)) or l[0] == None: - return l[0] - elif isinstance(l[0], list): - return control(None, l[0], cn) - else: - return False - elif len(l) > 2: - return control_list(ris, l, cn) - else: - return False - -def control_list(ris, l, cn): - while l: - if len(l) == 1: - return False - elif (isinstance(l[0], (float, int)) or - l[0] == None) and l[1] in ['and', 'or']: - if isinstance(l[2], (float, int)) or l[2] == None: - ris = computes(l[0], l[1], l[2], cn) - elif isinstance(l[2], list): - tmp = control(None, l[2], cn) - if tmp is False: - return False - else: - ris = computes(l[0], l[1], tmp, cn) - else: - return False - l = l[3:] - elif l[0] in ['and', 'or']: - if isinstance(l[1], (float, int)) or l[1] == None: - ris = computes(ris, l[0], l[1], cn) - elif isinstance(l[1], list): - tmp = control(None,l[1], cn) - if tmp is False: - return False - else: - ris = computes(ris, l[0], tmp, cn) - else: - return False - l = l[2:] - elif isinstance(l[0], list) and l[1] in ['and', 'or']: - if isinstance(l[2], (float, int)) or l[2] == None: - tmp = control(None, l[0], cn) - if tmp is False: - return False - else: - ris = computes(tmp, l[1], l[2], cn) - elif isinstance(l[2], list): - tmp = control(None, l[0], cn) - tmp2 = control(None, l[2], cn) - if tmp is False or tmp2 is False: - return False - else: - ris = computes(tmp, l[1], tmp2, cn) - else: - return False - l = l[3:] - else: - return False - return ris - -############################ map_methods ###################################### - -def fold_change(avg1, avg2): - if avg1 == 0 and avg2 == 0: - return 0 - elif avg1 == 0: - return '-INF' - elif avg2 == 0: - return 'INF' - else: - return math.log(avg1 / avg2, 2) - -def fix_style(l, col, width, dash): - tmp = l.split(';') - flag_col = False - flag_width = False - flag_dash = False - for i in range(len(tmp)): - if tmp[i].startswith('stroke:'): - tmp[i] = 'stroke:' + col - flag_col = True - if tmp[i].startswith('stroke-width:'): - tmp[i] = 'stroke-width:' + width - flag_width = True - if tmp[i].startswith('stroke-dasharray:'): - tmp[i] = 'stroke-dasharray:' + dash - flag_dash = True - if not flag_col: - tmp.append('stroke:' + col) - if not flag_width: - tmp.append('stroke-width:' + width) - if not flag_dash: - tmp.append('stroke-dasharray:' + dash) - return ';'.join(tmp) - -def fix_map(d, core_map, threshold_P_V, threshold_F_C, max_F_C): - maxT = 12 - minT = 2 - grey = '#BEBEBE' - blue = '#0000FF' - red = '#E41A1C' - for el in core_map.iter(): - el_id = str(el.get('id')) - if el_id.startswith('R_'): - tmp = d.get(el_id[2:]) - if tmp != None: - p_val = tmp[0] - f_c = tmp[1] - if p_val < threshold_P_V: - if not isinstance(f_c, str): - if abs(f_c) < math.log(threshold_F_C, 2): - col = grey - width = str(minT) - else: - if f_c < 0: - col = blue - elif f_c > 0: - col = red - width = str(max((abs(f_c) * maxT) / max_F_C, minT)) - else: - if f_c == '-INF': - col = blue - elif f_c == 'INF': - col = red - width = str(maxT) - dash = 'none' - else: - dash = '5,5' - col = grey - width = str(minT) - el.set('style', fix_style(el.get('style'), col, width, dash)) - return core_map - -############################ make recon ####################################### - -def check_and_doWord(l): - tmp = [] - tmp_genes = [] - count = 0 - while l: - if count >= 0: - if l[0] == '(': - count += 1 - tmp.append(l[0]) - l.pop(0) - elif l[0] == ')': - count -= 1 - tmp.append(l[0]) - l.pop(0) - elif l[0] == ' ': - l.pop(0) - else: - word = [] - while l: - if l[0] in [' ', '(', ')']: - break - else: - word.append(l[0]) - l.pop(0) - word = ''.join(word) - tmp.append(word) - if not(word in ['or', 'and']): - tmp_genes.append(word) - else: - return False - if count == 0: - return (tmp, tmp_genes) - else: - return False - -def brackets_to_list(l): - tmp = [] - while l: - if l[0] == '(': - l.pop(0) - tmp.append(resolve_brackets(l)) - else: - tmp.append(l[0]) - l.pop(0) - return tmp - -def resolve_brackets(l): - tmp = [] - while l[0] != ')': - if l[0] == '(': - l.pop(0) - tmp.append(resolve_brackets(l)) - else: - tmp.append(l[0]) - l.pop(0) - l.pop(0) - return tmp - -def priorityAND(l): - tmp = [] - flag = True - while l: - if len(l) == 1: - if isinstance(l[0], list): - tmp.append(priorityAND(l[0])) - else: - tmp.append(l[0]) - l = l[1:] - elif l[0] == 'or': - tmp.append(l[0]) - flag = False - l = l[1:] - elif l[1] == 'or': - if isinstance(l[0], list): - tmp.append(priorityAND(l[0])) - else: - tmp.append(l[0]) - tmp.append(l[1]) - flag = False - l = l[2:] - elif l[1] == 'and': - tmpAnd = [] - if isinstance(l[0], list): - tmpAnd.append(priorityAND(l[0])) - else: - tmpAnd.append(l[0]) - tmpAnd.append(l[1]) - if isinstance(l[2], list): - tmpAnd.append(priorityAND(l[2])) - else: - tmpAnd.append(l[2]) - l = l[3:] - while l: - if l[0] == 'and': - tmpAnd.append(l[0]) - if isinstance(l[1], list): - tmpAnd.append(priorityAND(l[1])) - else: - tmpAnd.append(l[1]) - l = l[2:] - elif l[0] == 'or': - flag = False - break - if flag == True: #when there are only AND in list - tmp.extend(tmpAnd) - elif flag == False: - tmp.append(tmpAnd) - return tmp - -def checkRule(l): - if len(l) == 1: - if isinstance(l[0], list): - if checkRule(l[0]) is False: - return False - elif len(l) > 2: - if checkRule2(l) is False: - return False - else: - return False - return True - -def checkRule2(l): - while l: - if len(l) == 1: - return False - elif isinstance(l[0], list) and l[1] in ['and', 'or']: - if checkRule(l[0]) is False: - return False - if isinstance(l[2], list): - if checkRule(l[2]) is False: - return False - l = l[3:] - elif l[1] in ['and', 'or']: - if isinstance(l[2], list): - if checkRule(l[2]) is False: - return False - l = l[3:] - elif l[0] in ['and', 'or']: - if isinstance(l[1], list): - if checkRule(l[1]) is False: - return False - l = l[2:] - else: - return False - return True - -def do_rules(rules): - split_rules = [] - err_rules = [] - tmp_gene_in_rule = [] - for i in range(len(rules)): - tmp = list(rules[i]) - if tmp: - tmp, tmp_genes = check_and_doWord(tmp) - tmp_gene_in_rule.extend(tmp_genes) - if tmp is False: - split_rules.append([]) - err_rules.append(rules[i]) - else: - tmp = brackets_to_list(tmp) - if checkRule(tmp): - split_rules.append(priorityAND(tmp)) - else: - split_rules.append([]) - err_rules.append(rules[i]) - else: - split_rules.append([]) - if err_rules: - warning('Warning: wrong format rule in ' + str(err_rules) + '\n') - return (split_rules, list(set(tmp_gene_in_rule))) - -def make_recon(data): - try: - import cobra as cb - import warnings - with warnings.catch_warnings(): - warnings.simplefilter('ignore') - recon = cb.io.read_sbml_model(data) - react = recon.reactions - rules = [react[i].gene_reaction_rule for i in range(len(react))] - ids = [react[i].id for i in range(len(react))] - except cb.io.sbml3.CobraSBMLError: - try: - data = (pd.read_csv(data, sep = '\t', dtype = str, engine='python')).fillna('') - if len(data.columns) < 2: - sys.exit('Execution aborted: wrong format of '+ - 'custom datarules\n') - if not len(data.columns) == 2: - warning('Warning: more than 2 columns in custom datarules.\n' + - 'Extra columns have been disregarded\n') - ids = list(data.iloc[:, 0]) - rules = list(data.iloc[:, 1]) - except pd.errors.EmptyDataError: - sys.exit('Execution aborted: wrong format of custom datarules\n') - except pd.errors.ParserError: - sys.exit('Execution aborted: wrong format of custom datarules\n') - split_rules, tmp_genes = do_rules(rules) - gene_in_rule = {} - for i in tmp_genes: - gene_in_rule[i] = 'ok' - return (ids, split_rules, gene_in_rule) - -############################ gene ############################################# - -def data_gene(gene, type_gene, name, gene_custom): - args = process_args(sys.argv) - for i in range(len(gene)): - tmp = gene.iloc[i, 0] - if tmp.startswith(' ') or tmp.endswith(' '): - gene.iloc[i, 0] = (tmp.lstrip()).rstrip() - gene_dup = [item for item, count in - collections.Counter(gene[gene.columns[0]]).items() if count > 1] - pat_dup = [item for item, count in - collections.Counter(list(gene.columns)).items() if count > 1] - if gene_dup: - if gene_custom == None: - if args.rules_selector == 'HMRcore': - gene_in_rule = pk.load(open(args.tool_dir + - '/local/HMRcore_genes.p', 'rb')) - elif args.rules_selector == 'Recon': - gene_in_rule = pk.load(open(args.tool_dir + - '/local/Recon_genes.p', 'rb')) - gene_in_rule = gene_in_rule.get(type_gene) - else: - gene_in_rule = gene_custom - tmp = [] - for i in gene_dup: - if gene_in_rule.get(i) == 'ok': - tmp.append(i) - if tmp: - sys.exit('Execution aborted because gene ID ' - +str(tmp)+' in '+name+' is duplicated\n') - if pat_dup: - warning('Warning: duplicated label\n' + str(pat_dup) + 'in ' + name + - '\n') - return (gene.set_index(gene.columns[0])).to_dict() - -############################ resolve ########################################## - -def resolve(genes, rules, ids, resolve_none, name): - resolve_rules = {} - not_found = [] - flag = False - for key, value in genes.items(): - tmp_resolve = [] - for i in range(len(rules)): - tmp = rules[i] - if tmp: - tmp, err = replace_gene_value(tmp, value) - if err: - not_found.extend(err) - ris = control(None, tmp, resolve_none) - if ris is False or ris == None: - tmp_resolve.append(None) - else: - tmp_resolve.append(ris) - flag = True - else: - tmp_resolve.append(None) - resolve_rules[key] = tmp_resolve - if flag is False: - warning('Warning: no computable score (due to missing gene values)' + - 'for class ' + name + ', the class has been disregarded\n') - return (None, None) - return (resolve_rules, list(set(not_found))) - -############################ split class ###################################### - -def split_class(classes, resolve_rules): - class_pat = {} - for i in range(len(classes)): - classe = classes.iloc[i, 1] - if not pd.isnull(classe): - l = [] - for j in range(i, len(classes)): - if classes.iloc[j, 1] == classe: - pat_id = classes.iloc[j, 0] - tmp = resolve_rules.get(pat_id, None) - if tmp != None: - l.append(tmp) - classes.iloc[j, 1] = None - if l: - class_pat[classe] = list(map(list, zip(*l))) - else: - warning('Warning: no sample found in class ' + classe + - ', the class has been disregarded\n') - return class_pat - -############################ create_ras ####################################### - -def create_ras (resolve_rules, dataset_name): - - if resolve_rules == None: - warning("Couldn't generate RAS for current dataset: " + dataset_name) - - for geni in resolve_rules.values(): - for i, valori in enumerate(geni): - if valori == None: - geni[i] = 'None' - - output_ras = pd.DataFrame.from_dict(resolve_rules) - output_to_csv = pd.DataFrame.to_csv(output_ras, sep = '\t', index = False) - - text_file = open("ras/Reaction_Activity_Score_Of_" + dataset_name + ".tsv", "w") - text_file.write(output_to_csv) - text_file.close() - -############################ map ############################################## - -def maps(core_map, class_pat, ids, threshold_P_V, threshold_F_C, create_svg, create_pdf): - args = process_args(sys.argv) - if (not class_pat) or (len(class_pat.keys()) < 2): - sys.exit('Execution aborted: classes provided for comparisons are ' + - 'less than two\n') - for i, j in it.combinations(class_pat.keys(), 2): - tmp = {} - count = 0 - max_F_C = 0 - for l1, l2 in zip(class_pat.get(i), class_pat.get(j)): - try: - stat_D, p_value = st.ks_2samp(l1, l2) - avg = fold_change(sum(l1) / len(l1), sum(l2) / len(l2)) - if not isinstance(avg, str): - if max_F_C < abs(avg): - max_F_C = abs(avg) - tmp[ids[count]] = [float(p_value), avg] - count += 1 - except (TypeError, ZeroDivisionError): - count += 1 - tab = 'result/' + i + '_vs_' + j + ' (Tabular Result).tsv' - tmp_csv = pd.DataFrame.from_dict(tmp, orient = "index") - tmp_csv = tmp_csv.reset_index() - header = ['ids', 'P_Value', 'Average'] - tmp_csv.to_csv(tab, sep = '\t', index = False, header = header) - - if create_svg or create_pdf: - if args.rules_selector == 'HMRcore' or (args.rules_selector == 'Custom' - and args.yes_no == 'yes'): - fix_map(tmp, core_map, threshold_P_V, threshold_F_C, max_F_C) - file_svg = 'result/' + i + '_vs_' + j + ' (SVG Map).svg' - with open(file_svg, 'wb') as new_map: - new_map.write(ET.tostring(core_map)) - - - if create_pdf: - file_pdf = 'result/' + i + '_vs_' + j + ' (PDF Map).pdf' - renderPDF.drawToFile(svg2rlg(file_svg), file_pdf) - - if not create_svg: - #Ho utilizzato il file svg per generare il pdf, - #ma l'utente non ne ha richiesto il ritorno, quindi - #lo elimino - os.remove('result/' + i + '_vs_' + j + ' (SVG Map).svg') - - return None - -############################ MAIN ############################################# - -def main(): - args = process_args(sys.argv) - - create_svg = check_bool(args.generate_svg) - create_pdf = check_bool(args.generate_pdf) - generate_ras = check_bool(args.generate_ras) - - os.makedirs('result') - - if generate_ras: - os.makedirs('ras') - - if args.rules_selector == 'HMRcore': - recon = pk.load(open(args.tool_dir + '/local/HMRcore_rules.p', 'rb')) - elif args.rules_selector == 'Recon': - recon = pk.load(open(args.tool_dir + '/local/Recon_rules.p', 'rb')) - elif args.rules_selector == 'Custom': - ids, rules, gene_in_rule = make_recon(args.custom) - - resolve_none = check_bool(args.none) - - class_pat = {} - - if args.option == 'datasets': - num = 1 - for i, j in zip(args.input_datas, args.names): - - name = name_dataset(j, num) - dataset = read_dataset(i, name) - - dataset.iloc[:, 0] = (dataset.iloc[:, 0]).astype(str) - - type_gene = gene_type(dataset.iloc[0, 0], name) - - if args.rules_selector != 'Custom': - genes = data_gene(dataset, type_gene, name, None) - ids, rules = load_id_rules(recon.get(type_gene)) - elif args.rules_selector == 'Custom': - genes = data_gene(dataset, type_gene, name, gene_in_rule) - - resolve_rules, err = resolve(genes, rules, ids, resolve_none, name) - - if generate_ras: - create_ras(resolve_rules, name) - - - if err != None and err: - warning('Warning: gene\n' + str(err) + '\nnot found in class ' - + name + ', the expression level for this gene ' + - 'will be considered NaN\n') - if resolve_rules != None: - class_pat[name] = list(map(list, zip(*resolve_rules.values()))) - num += 1 - elif args.option == 'dataset_class': - name = 'RNAseq' - dataset = read_dataset(args.input_data, name) - dataset.iloc[:, 0] = (dataset.iloc[:, 0]).astype(str) - type_gene = gene_type(dataset.iloc[0, 0], name) - classes = read_dataset(args.input_class, 'class') - if not len(classes.columns) == 2: - warning('Warning: more than 2 columns in class file. Extra' + - 'columns have been disregarded\n') - classes = classes.astype(str) - if args.rules_selector != 'Custom': - genes = data_gene(dataset, type_gene, name, None) - ids, rules = load_id_rules(recon.get(type_gene)) - elif args.rules_selector == 'Custom': - genes = data_gene(dataset, type_gene, name, gene_in_rule) - resolve_rules, err = resolve(genes, rules, ids, resolve_none, name) - if err != None and err: - warning('Warning: gene\n'+str(err)+'\nnot found in class ' - + name + ', the expression level for this gene ' + - 'will be considered NaN\n') - if resolve_rules != None: - class_pat = split_class(classes, resolve_rules) - - if args.rules_selector == 'Custom': - if args.yes_no == 'yes': - try: - core_map = ET.parse(args.custom_map) - except (ET.XMLSyntaxError, ET.XMLSchemaParseError): - sys.exit('Execution aborted: custom map in wrong format') - elif args.yes_no == 'no': - core_map = ET.parse(args.tool_dir + '/local/HMRcoreMap.svg') - else: - core_map = ET.parse(args.tool_dir+'/local/HMRcoreMap.svg') - - maps(core_map, class_pat, ids, args.pValue, args.fChange, create_svg, create_pdf) - - print('Execution succeded') - - return None - -############################################################################### - -if __name__ == "__main__": - main()
--- a/marea-1.0.1/marea.xml Tue Oct 01 06:03:12 2019 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,223 +0,0 @@ -<tool id="MaREA" name="Metabolic Enrichment Analysis" version="1.0.1"> - <description>for Galaxy - 1.0.1</description> - <macros> - <import>marea_macros.xml</import> - </macros> - <requirements> - <requirement type="package" version="0.23.0">pandas</requirement> - <requirement type="package" version="1.1.0">scipy</requirement> - <requirement type="package" version="0.10.1">cobra</requirement> - <requirement type="package" version="4.2.1">lxml</requirement> - <requirement type="package" version="0.8.1">svglib</requirement> - <requirement type="package" version="3.4.0">reportlab</requirement> - </requirements> - <command detect_errors="exit_code"> - <![CDATA[ - python $__tool_directory__/marea.py - --rules_selector $cond_rule.rules_selector - #if $cond_rule.rules_selector == 'Custom': - --custom ${cond_rule.Custom_rules} - --yes_no ${cond_rule.cond_map.yes_no} - #if $cond_rule.cond_map.yes_no == 'yes': - --custom_map $cond_rule.cond_map.Custom_map - #end if - #end if - #if $advanced.choice == 'true': - --none ${advanced.None} - --pValue ${advanced.pValue} - --fChange ${advanced.fChange} - --generate_svg ${advanced.generateSvg} - --generate_pdf ${advanced.generatePdf} - --generate_ras ${advanced.generateRas} - #else - --none true - --pValue 0.05 - --fChange 1.5 - --generate_svg false - --generate_pdf true - --generate_ras false - #end if - --tool_dir $__tool_directory__ - --option $cond.type_selector - --out_log $log - - #if $cond.type_selector == 'datasets': - --input_datas - #for $data in $cond.input_Datasets: - ${data.input} - #end for - --names - #for $data in $cond.input_Datasets: - ${data.input_name} - #end for - #elif $cond.type_selector == 'dataset_class': - --input_data ${input_data} - --input_class ${input_class} - #end if - ]]> - </command> - - <inputs> - <conditional name="cond_rule"> - <expand macro="options"/> - <when value="HMRcore"> - </when> - <when value="Recon"> - </when> - <when value="Custom"> - <param name="Custom_rules" type="data" format="tabular, csv, tsv, xml" label="Custom rules" /> - <conditional name="cond_map"> - <param name="yes_no" type="select" label="Custom map? (optional)"> - <option value="no" selected="true">no</option> - <option value="yes">yes</option> - </param> - <when value="yes"> - <param name="Custom_map" argument="--custom_map" type="data" format="xml, svg" label="custom-map.svg"/> - </when> - <when value="no"> - </when> - </conditional> - </when> - </conditional> - <conditional name="cond"> - <param name="type_selector" argument="--option" type="select" label="Input format:"> - <option value="datasets" selected="true">RNAseq of group 1 + RNAseq of group 2 + ... + RNAseq of group N</option> - <option value="dataset_class">RNAseq of all samples + sample group specification</option> - </param> - <when value="datasets"> - <repeat name="input_Datasets" title="RNAseq" min="2"> - <param name="input" argument="--input_datas" type="data" format="tabular, csv, tsv" label="add dataset" /> - <param name="input_name" argument="--names" type="text" label="Dataset's name:" value="Dataset" help="Default: Dataset" /> - </repeat> - </when> - <when value="dataset_class"> - <param name="input_data" argument="--input_data" type="data" format="tabular, csv, tsv" label="RNAseq of all samples" /> - <param name="input_class" argument="--input_class" type="data" format="tabular, csv, tsv" label="Sample group specification" /> - </when> - </conditional> - - <conditional name="advanced"> - <param name="choice" type="boolean" checked="false" label="Use advanced options?" help="Use this options to choose custom rules for evaluation: pValue, Fold-Change threshold, how to solve (A and NaN) and specify output maps."> - <option value="true" selected="true">No</option> - <option value="false">Yes</option> - </param> - <when value="false"> - </when> - <when value="true"> - <param name="None" argument="--none" type="boolean" truevalue="true" falsevalue="false" checked="true" label="(A and NaN) solved as (A)?" /> - <param name="pValue" argument="--pValue" type="float" size="20" value="0.05" max="1" min="0" label="P-value threshold:" help="min value 0" /> - <param name="fChange" argument="--fChange" type="float" size="20" value="1.5" min="1" label="Fold-Change threshold:" help="min value 1" /> - <param name="generateSvg" argument="--generateSvg" type="boolean" checked="false" label="Generate SVG map" help="should the program generate an editable svg map of the processes?" /> - <param name="generatePdf" argument="--generatePdf" type="boolean" checked="true" label="Generate PDF map" help="should the program return a non editable (but displayble) pdf map of the processes?" /> - <param name="generateRas" argument="--generateRas" type="boolean" checked="false" label="Generate Reaction Activity Score for each table" help="Generate Reaction Activity Score for each table" /> - </when> - </conditional> - </inputs> - - <outputs> - <data format="txt" name="log" label="${tool.name} - Log" /> - <collection name="results" type="list" label="${tool.name} - Results"> - <discover_datasets pattern="__name_and_ext__" directory="result"/> - </collection> - <collection name="ras" type="list" label="${tool.name} - RAS" format_source="tabular"> - <filter>advanced['choice'] and advanced['generateRas']</filter> - <discover_datasets pattern="__name_and_ext__" directory="ras" format="tabular"/> - </collection> - </outputs> - <tests> - <test> - <param name="pValue" value="0.56"/> - <output name="log" file="log.txt"/> - </test> - </tests> - <help> -<![CDATA[ - -What it does -------------- - -This tool analyzes RNA-seq dataset(s) as described in Graudenzi et al."`MaREA`_: Metabolic feature extraction, enrichment and visualization of RNAseq data" bioRxiv (2018): 248724. - -Accepted files are: - - option 1) two or more RNA-seq datasets, each referring to samples in a given condition/class. The user can specify a label for each class (as e.g. "*classA*" and "*classB*"); - - option 2) one RNA dataset and one class-file specifying the class/condition each sample belongs to. - -Optional files: - - custom GPR (Gene-Protein-Reaction) rules. Two accepted formats: - - * (Cobra Toolbox and CobraPy compliant) xml of metabolic model; - * .csv file specifyig for each reaction ID (column 1) the corresponding GPR rule (column 2). - - custom svg map. Graphical elements must have the same IDs of reactions. See HmrCore svg map for an example. - -The tool generates: - 1) a tab-separated file: reporting fold-change and p-values of reaction activity scores (RASs) between a pair of conditions/classes; - 2) a metabolic map file (downlodable as .svg): visualizing up- and down-regulated reactions between a pair of conditions/classes; - 3) a log file (.txt). - -RNA-seq datasets format: tab-separated text files, reporting the expression level (e.g., TPM, RPKM, ...) of each gene (row) for a given sample (column). Header: sample ID. - -Class-file format: each row of the class-file reports the sample ID (column1) and the label of the class/condition the sample belongs to (column 2). - -To calculate P-Values and Fold-Changes and to generate maps, comparisons are performed for each possible pair of classes. - -Output files will be named as classA_vs_classB. Reactions will conventionally be reported as up-regulated (down-regulated) if they are significantly more (less) active in class having label "classA". - - -Example input -------------- - -**"Custom Rules"** option: - -Custom Rules Dastaset: - -@CUSTOM_RULES_EXEMPLE@ - -**"RNAseq of group 1 + RNAseq of group 2 + ... + RNAseq of group N"** option: - -RNA-seq Dataset 1: - -@DATASET_EXEMPLE1@ - -RNA-seq Dataset 2: - -@DATASET_EXEMPLE2@ - -**"RNAseq of all samples + sample group specification"** option: - -RNA-seq Dataset: - -@DATASET_EXEMPLE1@ - -Class-file: - -+------------+------------+ -| Patient_ID | class | -+============+============+ -| TCGAAA3529 | MSI | -+------------+------------+ -| TCGAA62671 | MSS | -+------------+------------+ -| TCGAA62672 | MSI | -+------------+------------+ - -| - -.. class:: infomark - -**TIP**: If your data is not TAB delimited, use `Convert delimiters to TAB`_. - -.. class:: infomark - -**TIP**: If your dataset is not split into classes, use `MaREA cluster analysis`_. - -@REFERENCE@ - -.. _MaREA: https://www.biorxiv.org/content/early/2018/01/16/248724 -.. _Convert delimiters to TAB: https://usegalaxy.org/?tool_id=Convert+characters1&version=1.0.0&__identifer=6t22teyofhj -.. _MaREA cluster analysis: http://link del tool di cluster.org - -]]> - </help> - <expand macro="citations" /> -</tool> -
--- a/marea-1.0.1/marea_cluster.py Tue Oct 01 06:03:12 2019 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,417 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Created on Mon Jun 3 19:51:00 2019 - -@author: Narger -""" - -import sys -import argparse -import os -from sklearn.datasets import make_blobs -from sklearn.cluster import KMeans, DBSCAN, AgglomerativeClustering -from sklearn.metrics import silhouette_samples, silhouette_score, davies_bouldin_score, cluster -import matplotlib.pyplot as plt -import scipy.cluster.hierarchy as shc -import matplotlib.cm as cm -import numpy as np -import pandas as pd - -################################# process args ############################### - -def process_args(args): - parser = argparse.ArgumentParser(usage = '%(prog)s [options]', - description = 'process some value\'s' + - ' genes to create class.') - - parser.add_argument('-ol', '--out_log', - help = "Output log") - - parser.add_argument('-in', '--input', - type = str, - help = 'input dataset') - - parser.add_argument('-cy', '--cluster_type', - type = str, - choices = ['kmeans', 'meanshift', 'dbscan', 'hierarchy'], - default = 'kmeans', - help = 'choose clustering algorythm') - - parser.add_argument('-k1', '--k_min', - type = int, - default = 2, - help = 'choose minimun cluster number to be generated') - - parser.add_argument('-k2', '--k_max', - type = int, - default = 7, - help = 'choose maximum cluster number to be generated') - - parser.add_argument('-el', '--elbow', - type = str, - default = 'false', - choices = ['true', 'false'], - help = 'choose if you want to generate an elbow plot for kmeans') - - parser.add_argument('-si', '--silhouette', - type = str, - default = 'false', - choices = ['true', 'false'], - help = 'choose if you want silhouette plots') - - parser.add_argument('-db', '--davies', - type = str, - default = 'false', - choices = ['true', 'false'], - help = 'choose if you want davies bouldin scores') - - parser.add_argument('-td', '--tool_dir', - type = str, - required = True, - help = 'your tool directory') - - parser.add_argument('-ms', '--min_samples', - type = int, - help = 'min samples for dbscan (optional)') - - parser.add_argument('-ep', '--eps', - type = int, - help = 'eps for dbscan (optional)') - - - args = parser.parse_args() - return args - -########################### warning ########################################### - -def warning(s): - args = process_args(sys.argv) - with open(args.out_log, 'a') as log: - log.write(s + "\n\n") - print(s) - -########################## read dataset ###################################### - -def read_dataset(dataset): - try: - dataset = pd.read_csv(dataset, sep = '\t', header = 0) - except pd.errors.EmptyDataError: - sys.exit('Execution aborted: wrong format of dataset\n') - if len(dataset.columns) < 2: - sys.exit('Execution aborted: wrong format of dataset\n') - return dataset - -############################ rewrite_input ################################### - -def rewrite_input(dataset): - #Riscrivo il dataset come dizionario di liste, - #non come dizionario di dizionari - - for key, val in dataset.items(): - l = [] - for i in val: - if i == 'None': - l.append(None) - else: - l.append(float(i)) - - dataset[key] = l - - return dataset - -############################## write to csv ################################## - -def write_to_csv (dataset, labels, name): - list_labels = labels - list_values = dataset - - list_values = list_values.tolist() - d = {'Label' : list_labels, 'Value' : list_values} - - df = pd.DataFrame(d, columns=['Value','Label']) - - dest = name + '.tsv' - df.to_csv(dest, sep = '\t', index = False, - header = ['Value', 'Label']) - -########################### trova il massimo in lista ######################## -def max_index (lista): - best = -1 - best_index = 0 - for i in range(len(lista)): - if lista[i] > best: - best = lista [i] - best_index = i - - return best_index - -################################ kmeans ##################################### - -def kmeans (k_min, k_max, dataset, elbow, silhouette, davies): - if not os.path.exists('clustering/kmeans_output'): - os.makedirs('clustering/kmeans_output') - - - if elbow == 'true': - elbow = True - else: - elbow = False - - if silhouette == 'true': - silhouette = True - else: - silhouette = False - - if davies == 'true': - davies = True - else: - davies = False - - - range_n_clusters = [i for i in range(k_min, k_max+1)] - distortions = [] - scores = [] - all_labels = [] - - for n_clusters in range_n_clusters: - clusterer = KMeans(n_clusters=n_clusters, random_state=10) - cluster_labels = clusterer.fit_predict(dataset) - - all_labels.append(cluster_labels) - silhouette_avg = silhouette_score(dataset, cluster_labels) - scores.append(silhouette_avg) - distortions.append(clusterer.fit(dataset).inertia_) - - best = max_index(scores) + k_min - - for i in range(len(all_labels)): - prefix = '' - if (i + k_min == best): - prefix = '_BEST' - - write_to_csv(dataset, all_labels[i], 'clustering/kmeans_output/kmeans_with_' + str(i + k_min) + prefix + '_clusters.tsv') - - if davies: - with np.errstate(divide='ignore', invalid='ignore'): - davies_bouldin = davies_bouldin_score(dataset, all_labels[i]) - warning("\nFor n_clusters = " + str(i + k_min) + - " The average davies bouldin score is: " + str(davies_bouldin)) - - - if silhouette: - silihouette_draw(dataset, all_labels[i], i + k_min, 'clustering/kmeans_output/silhouette_with_' + str(i + k_min) + prefix + '_clusters.png') - - - if elbow: - elbow_plot(distortions, k_min,k_max) - - - - - -############################## elbow_plot #################################### - -def elbow_plot (distortions, k_min, k_max): - plt.figure(0) - plt.plot(range(k_min, k_max+1), distortions, marker = 'o') - plt.xlabel('Number of cluster') - plt.ylabel('Distortion') - s = 'clustering/kmeans_output/elbow_plot.png' - fig = plt.gcf() - fig.set_size_inches(18.5, 10.5, forward = True) - fig.savefig(s, dpi=100) - - -############################## silhouette plot ############################### -def silihouette_draw(dataset, labels, n_clusters, path): - silhouette_avg = silhouette_score(dataset, labels) - warning("For n_clusters = " + str(n_clusters) + - " The average silhouette_score is: " + str(silhouette_avg)) - - plt.close('all') - # Create a subplot with 1 row and 2 columns - fig, (ax1) = plt.subplots(1, 1) - - fig.set_size_inches(18, 7) - - # The 1st subplot is the silhouette plot - # The silhouette coefficient can range from -1, 1 but in this example all - # lie within [-0.1, 1] - ax1.set_xlim([-1, 1]) - # The (n_clusters+1)*10 is for inserting blank space between silhouette - # plots of individual clusters, to demarcate them clearly. - ax1.set_ylim([0, len(dataset) + (n_clusters + 1) * 10]) - - # Compute the silhouette scores for each sample - sample_silhouette_values = silhouette_samples(dataset, labels) - - y_lower = 10 - for i in range(n_clusters): - # Aggregate the silhouette scores for samples belonging to - # cluster i, and sort them - ith_cluster_silhouette_values = \ - sample_silhouette_values[labels == i] - - ith_cluster_silhouette_values.sort() - - size_cluster_i = ith_cluster_silhouette_values.shape[0] - y_upper = y_lower + size_cluster_i - - color = cm.nipy_spectral(float(i) / n_clusters) - ax1.fill_betweenx(np.arange(y_lower, y_upper), - 0, ith_cluster_silhouette_values, - facecolor=color, edgecolor=color, alpha=0.7) - - # Label the silhouette plots with their cluster numbers at the middle - ax1.text(-0.05, y_lower + 0.5 * size_cluster_i, str(i)) - - # Compute the new y_lower for next plot - y_lower = y_upper + 10 # 10 for the 0 samples - - ax1.set_title("The silhouette plot for the various clusters.") - ax1.set_xlabel("The silhouette coefficient values") - ax1.set_ylabel("Cluster label") - - # The vertical line for average silhouette score of all the values - ax1.axvline(x=silhouette_avg, color="red", linestyle="--") - - ax1.set_yticks([]) # Clear the yaxis labels / ticks - ax1.set_xticks([-0.1, 0, 0.2, 0.4, 0.6, 0.8, 1]) - - - plt.suptitle(("Silhouette analysis for clustering on sample data " - "with n_clusters = " + str(n_clusters) + "\nAverage silhouette_score = " + str(silhouette_avg)), fontsize=12, fontweight='bold') - - - plt.savefig(path, bbox_inches='tight') - -######################## dbscan ############################################## - -def dbscan(dataset, eps, min_samples): - if not os.path.exists('clustering/dbscan_output'): - os.makedirs('clustering/dbscan_output') - - if eps is not None: - clusterer = DBSCAN(eps = eps, min_samples = min_samples) - else: - clusterer = DBSCAN() - - clustering = clusterer.fit(dataset) - - core_samples_mask = np.zeros_like(clustering.labels_, dtype=bool) - core_samples_mask[clustering.core_sample_indices_] = True - labels = clustering.labels_ - - # Number of clusters in labels, ignoring noise if present. - n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0) - - silhouette_avg = silhouette_score(dataset, labels) - warning("For n_clusters =" + str(n_clusters_) + - "The average silhouette_score is :" + str(silhouette_avg)) - - ##TODO: PLOT SU DBSCAN (no centers) e HIERARCHICAL - - # Black removed and is used for noise instead. - unique_labels = set(labels) - colors = [plt.cm.Spectral(each) - for each in np.linspace(0, 1, len(unique_labels))] - for k, col in zip(unique_labels, colors): - if k == -1: - # Black used for noise. - col = [0, 0, 0, 1] - - class_member_mask = (labels == k) - - xy = dataset[class_member_mask & core_samples_mask] - plt.plot(xy[:, 0], xy[:, 1], 'o', markerfacecolor=tuple(col), - markeredgecolor='k', markersize=14) - - xy = dataset[class_member_mask & ~core_samples_mask] - plt.plot(xy[:, 0], xy[:, 1], 'o', markerfacecolor=tuple(col), - markeredgecolor='k', markersize=6) - - plt.title('Estimated number of clusters: %d' % n_clusters_) - s = 'clustering/dbscan_output/dbscan_plot.png' - fig = plt.gcf() - fig.set_size_inches(18.5, 10.5, forward = True) - fig.savefig(s, dpi=100) - - - write_to_csv(dataset, labels, 'clustering/dbscan_output/dbscan_results.tsv') - -########################## hierachical ####################################### - -def hierachical_agglomerative(dataset, k_min, k_max): - - if not os.path.exists('clustering/agglomerative_output'): - os.makedirs('clustering/agglomerative_output') - - plt.figure(figsize=(10, 7)) - plt.title("Customer Dendograms") - shc.dendrogram(shc.linkage(dataset, method='ward')) - fig = plt.gcf() - fig.savefig('clustering/agglomerative_output/dendogram.png', dpi=200) - - range_n_clusters = [i for i in range(k_min, k_max+1)] - - for n_clusters in range_n_clusters: - - cluster = AgglomerativeClustering(n_clusters=n_clusters, affinity='euclidean', linkage='ward') - cluster.fit_predict(dataset) - cluster_labels = cluster.labels_ - - silhouette_avg = silhouette_score(dataset, cluster_labels) - warning("For n_clusters =", n_clusters, - "The average silhouette_score is :", silhouette_avg) - - plt.clf() - plt.figure(figsize=(10, 7)) - plt.title("Agglomerative Hierarchical Clustering\nwith " + str(n_clusters) + " clusters and " + str(silhouette_avg) + " silhouette score") - plt.scatter(dataset[:,0], dataset[:,1], c = cluster_labels, cmap='rainbow') - s = 'clustering/agglomerative_output/hierachical_' + str(n_clusters) + '_clusters.png' - fig = plt.gcf() - fig.set_size_inches(10, 7, forward = True) - fig.savefig(s, dpi=200) - - write_to_csv(dataset, cluster_labels, 'clustering/agglomerative_output/agglomerative_hierarchical_with_' + str(n_clusters) + '_clusters.tsv') - - - - -############################# main ########################################### - - -def main(): - if not os.path.exists('clustering'): - os.makedirs('clustering') - - args = process_args(sys.argv) - - #Data read - - X = read_dataset(args.input) - X = pd.DataFrame.to_dict(X, orient='list') - X = rewrite_input(X) - X = pd.DataFrame.from_dict(X, orient = 'index') - - for i in X.columns: - tmp = X[i][0] - if tmp == None: - X = X.drop(columns=[i]) - - X = pd.DataFrame.to_numpy(X) - - - if args.cluster_type == 'kmeans': - kmeans(args.k_min, args.k_max, X, args.elbow, args.silhouette, args.davies) - - if args.cluster_type == 'dbscan': - dbscan(X, args.eps, args.min_samples) - - if args.cluster_type == 'hierarchy': - hierachical_agglomerative(X, args.k_min, args.k_max) - -############################################################################## - -if __name__ == "__main__": - main()
--- a/marea-1.0.1/marea_cluster.xml Tue Oct 01 06:03:12 2019 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ -<tool id="MaREA_cluester" name="MaREA cluster analysis" version="1.0.1"> - <description>of Reaction Activity Scores - 1.0.1</description> - <macros> - <import>marea_macros.xml</import> - </macros> - <requirements> - <requirement type="package" version="0.23.0">pandas</requirement> - <requirement type="package" version="1.1.0">scipy</requirement> - <requirement type="package" version="0.10.1">cobra</requirement> - <requirement type="package" version="0.21.3">scikit-learn</requirement> - <requirement type="package" version="2.2.2">matplotlib</requirement> - <requirement type="package" version="1.17">numpy</requirement> - </requirements> - <command detect_errors="exit_code"> - <![CDATA[ - python $__tool_directory__/marea_cluster.py - --input $input - --tool_dir $__tool_directory__ - --out_log $log - #if $data.clust_type == 'kmeans': - --k_min ${data.k_min} - --k_max ${data.k_max} - --elbow ${data.elbow} - --silhouette ${data.silhouette} - #end if - #if $data.clust_type == 'dbscan': - #if $data.dbscan_advanced.advanced == 'true' - --eps ${data.dbscan_advanced.eps} - --min_samples ${data.dbscan_advanced.min_samples} - #end if - #end if - #if $data.clust_type == 'hierarchy': - --k_min ${data.k_min} - --k_max ${data.k_max} - #end if - ]]> - </command> - <inputs> - <param name="input" argument="--input" type="data" format="tabular, csv, tsv" label="RNAseq of all samples" /> - - <conditional name="data"> - <param name="clust_type" argument="--cluster_type" type="select" label="Choose clustering type:"> - <option value="kmeans" selected="true">KMeans</option> - <option value="dbscan">DBSCAN</option> - <option value="hierarchy">Agglomerative Hierarchical</option> - </param> - <when value="kmeans"> - <param name="k_min" argument="--k_min" type="integer" min="2" max="99" value="3" label="Min number of clusters (k) to be tested" /> - <param name="k_max" argument="--k_max" type="integer" min="3" max="99" value="5" label="Max number of clusters (k) to be tested" /> - <param name="elbow" argument="--elbow" type="boolean" value="true" label="Draw the elbow plot from k-min to k-max"/> - <param name="silhouette" argument="--silhouette" type="boolean" value="true" label="Draw the Silhouette plot from k-min to k-max"/> - </when> - <when value="dbscan"> - <conditional name="dbscan_advanced"> - <param name="advanced" type="boolean" value="false" label="Want to use custom params for DBSCAN? (if not optimal values will be used)"> - <option value="true">Yes</option> - <option value="false">No</option> - </param> - <when value="false"></when> - <when value="true"> - <param name="eps" argument="--eps" type="float" value="0.5" label="Epsilon - The maximum distance between two samples for one to be considered as in the neighborhood of the other" /> - <param name="min_samples" argument="min_samples" type="integer" value="5" label="Min samples - The number of samples in a neighborhood for a point to be considered as a core point (this includes the point itself)"/> - - </when> - </conditional> - </when> - <when value="hierarchy"> - <param name="k_min" argument="--k_min" type="integer" min="2" max="99" value="3" label="Min number of clusters (k) to be tested" /> - <param name="k_max" argument="--k_max" type="integer" min="3" max="99" value="5" label="Max number of clusters (k) to be tested" /> - </when> - </conditional> - </inputs> - - <outputs> - <data format="txt" name="log" label="${tool.name} - Log" /> - <collection name="results" type="list" label="${tool.name} - Results"> - <discover_datasets pattern="__name_and_ext__" directory="clustering"/> - </collection> - </outputs> - <help> -<![CDATA[ - -What it does -------------- - - -]]> - </help> - <expand macro="citations" /> -</tool> - -
--- a/marea-1.0.1/marea_macros.xml Tue Oct 01 06:03:12 2019 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ -<macros> - - <xml name="options"> - <param name="rules_selector" argument="--rules_selector" type="select" label="Gene-Protein-Reaction rules:"> - <option value="HMRcore" selected="true">HMRcore rules</option> - <option value="Recon">Recon 2.2 rules</option> - <option value="Custom">Custom rules</option> - </param> - </xml> - - <token name="@CUSTOM_RULES_EXEMPLE@"> - -+--------------------+-------------------------------+ -| id | rule (with entrez-id) | -+====================+===============================+ -| SHMT1 | 155060 or 10357 | -+--------------------+-------------------------------+ -| NIT2 | 155060 or 100134869 | -+--------------------+-------------------------------+ -| GOT1_GOT2_GOT1L1_2 | 155060 and 100134869 or 10357 | -+--------------------+-------------------------------+ - -| - - </token> - - <token name="@DATASET_EXEMPLE1@"> - -+------------+------------+------------+------------+ -| Hugo_ID | TCGAA62670 | TCGAA62671 | TCGAA62672 | -+============+============+============+============+ -| HGNC:24086 | 0.523167 | 0.371355 | 0.925661 | -+------------+------------+------------+------------+ -| HGNC:24086 | 0.568765 | 0.765567 | 0.456789 | -+------------+------------+------------+------------+ -| HGNC:9876 | 0.876545 | 0.768933 | 0.987654 | -+------------+------------+------------+------------+ -| HGNC:9 | 0.456788 | 0.876543 | 0.876542 | -+------------+------------+------------+------------+ -| HGNC:23 | 0.876543 | 0.786543 | 0.897654 | -+------------+------------+------------+------------+ - -| - - </token> - - <token name="@DATASET_EXEMPLE2@"> - -+-------------+------------+------------+------------+ -| Hugo_Symbol | TCGAA62670 | TCGAA62671 | TCGAA62672 | -+=============+============+============+============+ -| A1BG | 0.523167 | 0.371355 | 0.925661 | -+-------------+------------+------------+------------+ -| A1CF | 0.568765 | 0.765567 | 0.456789 | -+-------------+------------+------------+------------+ -| A2M | 0.876545 | 0.768933 | 0.987654 | -+-------------+------------+------------+------------+ -| A4GALT | 0.456788 | 0.876543 | 0.876542 | -+-------------+------------+------------+------------+ -| M664Y65 | 0.876543 | 0.786543 | 0.897654 | -+-------------+------------+------------+------------+ - -| - - </token> - - <token name="@REFERENCE@"> - -This tool is developed by the `BIMIB`_ at the `Department of Informatics, Systems and Communications`_ of `University of Milan - Bicocca`_. - -.. _BIMIB: http://sito di bio.org -.. _Department of Informatics, Systems and Communications: http://www.disco.unimib.it/go/Home/English -.. _University of Milan - Bicocca: https://www.unimib.it/ - - </token> - - <xml name="citations"> - <citations> <!--esempio di citazione--> - <citation type="bibtex"> -@online{lh32017, - author = {Alex Graudenzi, Davide Maspero, Cluadio Isella, Marzia Di Filippo, Giancarlo Mauri, Enzo Medico, Marco Antoniotti, Chiara Damiani}, - year = {2018}, - title = {MaREA: Metabolic feature extraction, enrichment and visualization of RNAseq}, - publisher = {bioRxiv}, - journal = {bioRxiv}, - url = {https://www.biorxiv.org/content/early/2018/01/16/248724}, -} - </citation> - </citations> - </xml> - -</macros>