DOI: 10.5281/zenodo.7387234
title: Inferring and comparing metabolisms across heterogeneous sets of annotated genomes using AuCoMe

description: CONTENT OF THIS ARCHIVE The Zenodo archive is composed of one file and four main directories:<br> * <strong>analyses</strong> this directory contains all tabulated files used to create the figures and results of the paper. * <strong>aucome_v0.5.1</strong> this directory contains the code of AuCoMe used to run the three datasets. * <strong>datasets</strong> this directory gathers all datasets on which AuCoMe was run: the bacterial, fungal, and algal datasets, and the 32 synthetic datasets, which contain an <em>E. coli K–12 MG1655</em> genome to which various degradations were applied, together with 28 other bacterial genomes. * <strong>metacyc_23.5.padmet</strong> the version 23.5 of the MetaCyc database (https://metacyc.org/) in the PADMET format. It was used by AuCoMe to reconstruct all the metabolic networks. Hence metacyc 23.5.padmet is required to reproduce the article results. * <strong>padmet_v5.0.1</strong> this directory contains the code of PADMET used to run AuCoMe. * <strong>scripts</strong> this directory contains several scripts to generate figures and a script to degrade the <em>E. coli K–12 MG1655</em> genome. 1/ Content of the <strong>analyses</strong> subdirectory<br> * <strong>figure_2_bacterial_nb_reactions.tsv</strong> for each species of the bacterial dataset, this file gives the number of reactions at each AuCoMe step. It was used to create figure 2B. * <strong>figure_2_fungal_nb_reactions.tsv</strong> for each species of the fungal dataset, this file gives the number of reactions at each AuCoMe step. It was used to create figure 2C. * <strong>figure_2_algal_nb_reactions.tsv</strong> for each species of the algal dataset, this file gives the number of reactions at each AuCoMe step. It was used to create figure 2D. * <strong>figure_3_nb_reactions_step.tsv</strong> for each dataset of the 32 synthetic bacterial datasets, this file enumerates the number of reactions at each AuCoMe step. It was used to create figure 3A. * <strong>figure_3_fmeasure_steps.tsv</strong> for each dataset of the 32 synthetic bacterial datasets, this file indicates the values of the F-measures resulting of the comparison of the GSMNs recovered for each <em>E. coli K–12 MG1655</em> genome replicate with the gold-standard network EcoCyc. It was used to create figure 3B.<br> <br> * <strong>figure_S4_Deepec_fungal.tsv</strong> for each species of the fungal dataset, at each AuCoMe step (robust orthology, non-robust orthology, and annotation or orthology), several measures were computed, i.e.: the number of reactions, the number of ECs, the number of ECs valided by DeepEC, and ratio number of ECs validated by DeepEC / number of ECs. It was used to design figure S4(a). * <strong>figure_S4_Deepec_algal.tsv</strong> for each species of the algal dataset, at each AuCoMe step (robust orthology, non-robust orthology, and annotation or orthology), several measures were computed, i.e.: the number of reactions, the number of ECs, the number of ECs validated by DeepEC, and the ratio number of ECs valided by DeepEC / number of ECs. It was used to design figure S4(b). * <strong>SuplFile_o-Aminophenol_reactions_tables_S10_S11_S12.ods</strong> comprises three tables: S10, S11, and S10 with more detail (like the amino acid sequences in the S12). 2/ Content of the <strong>aucome v0.5.1</strong> subdirectory<br> This directory contains a copy of the AuCoMe project on the GitHub site: https://github.com/AuReMe/aucome (downloaded the 15/11/2022). It is composed of two subdirectories and five files:<br> * <strong>LICENCE</strong> licence of the AuCoMe software. * <strong>README.rst</strong> README of the AuCoMe software. * <strong>requirements.txt</strong> contains the list of requires Python packages. * <strong>setup.cfg</strong> contains metadata about AuCoMe package and is used with setup.py to distribute AuCoMe. * <strong>setup.py</strong> contains various information relevant to the AuCoMe package including options and metadata. Then, it is used to distribute AuCoMe with PyPI. It is also used to create an entrypoint when installing it with pip. * <strong>recipes</strong> this subdirectory contains two files:<br> – <strong>Dockerfile</strong> contains instructions to run AuCoMe in a Docker environment.<br> <br> – <strong>Singularity</strong> contains instructions to run AuCoMe in a Singularity container. * <strong>aucome</strong> this directory contains 11 Python files:<br> – <strong>__init__.py</strong> indicates the directory as a python module. – <strong>__main__.py</strong> contains the functions implementing the command-line interface of AuCoMe. – <strong>analysis.py</strong> contains the functions to analyse the AuCoMe results. – <strong>check.py</strong> contains the functions to check the input files. – <strong>compare.py</strong> contains the functions to compare the AuCoMe results between two distinct subgroups. – <strong>orthology.py</strong> contains the functions to propagate reaction through orthology. – <strong>reconstruction.py</strong> contains the functions to perform the reconstruction of draft GSMNs by using Pathway Tools in a parallel implementation.<br> <br> – <strong>spontaneous.py</strong> contains the functions to add spontaneous reactions to some GSMNs if it completes MetaCyc metabolic pathway. – <strong>structural.py</strong> contains the functions to check that no reactions are missing due to missing gene structures. A genomic search is performed for all reactions present in one organism but not in another.<br> <br> – <strong>utils.py</strong> contains a function to analyse the configuration file. – <strong>workflow.py</strong> contains functions to run all the steps of AuCoMe. 3/ Content of the <strong>datasets</strong> subdirectory<br> 3.1/ Content of the <strong>algal</strong>, <strong>bacterial</strong>, and <strong>fungal</strong> directories<br> These three directories are composed of 8 subdirectories:<br> * <strong>FASTA</strong> contains the proteome of each species as a FASTA file. * <strong>cleaned_GBKs</strong> for each species, it contains the annotated genome, with the protein sequences in a GenBank format file. * <strong>dictionaries</strong> for some species, genes needed to be renamed for compatibility reasons. This folder contains CSV files with the mapping between the old names of genes and the new ones. * <strong>annotated_DATs</strong> contains a subdirectory per species with all the output files from Pathway Tools v23.5, without any post-treatment, in the DAT format. * <strong>annotated_PADMETs</strong> for each species, it contains a metabolic network of the draft reconstruction step of AuCoMe, in the PADMET format.<br> <br> * <strong>final_PADMETs</strong> for each species, it contains a metabolic network generated by the AuCoMe workflow, at the PADMET format. * <strong>final_SBMLs</strong> for each species, it contains a metabolic network generated by the AuCoMe workflow, in the SBML format. * <strong>panmetabolism</strong> is composed of 7 files describing the final metabolic networks:<br> – <strong>genes.tsv</strong> contains, for each organism, the list of genes and the associated reactions. – <strong>metabolites.tsv</strong> contains the list of metabolites present in the panmetabolism. Then, for each metabolite and for each organism, it lists the reactions that produced this compound and the reactions that consumed it.<br> <br> – <strong>pathways.tsv</strong> contains the list of pathways present in the panmetabolism. For each pathway and for each organism, it indicates the number of reactions present in this pathway, and the names of these reactions.<br> <br> – <strong>reactions.tsv</strong> contains the list of reactions present in the panmetabolism. Then for each reaction, it indicates whether or not it belongs to an organism. If a reaction is found in a species, the genes associated with the reaction are also listed. – <strong>pvclust_reaction_dendrogram.png</strong> based on the presence/absence matrix of reactions in different species of the dataset, it computes the Jaccard distances between these species, and it applies a hierarchical clustering on these data with a complete linkage to create a dendrogram. The R package pvclust is used to create the dendrogram, with bootstrap resampling. For each node, a p-value indicates how strong the cluster is supported by data. This dendrogram is provided as a PNG picture. <br> 3.2/ Content of the <strong>synthetic_bacterial</strong> repertory<br> The synthetic_bacterial repertory contains 32 subdirectories named Run_00, Run_01, . . . , etc, Run 31. Each subdirectory is composed of 9 files:<br> * <strong>K_12_MG1655.gbk</strong> the annotated genome of <em>E. coli K–12 MG1655</em> to which degradation of the functional and/or structural annotations was applied. * <strong>annotated_K_12_MG1655.sbml</strong> the metabolic network of <em>E. coli K–12 MG1655</em> output of the draft reconstruction step of AuCoMe in the SBML format. * <strong>annotated_K_12_MG1655.padmet</strong> the metabolic network of <em>E. coli K–12 MG1655</em> output of the draft reconstruction step of AuCoMe in the PADMET format. * <strong>orthology_K_12_MG1655.sbml</strong> the metabolic network of <em>E. coli K–12 MG1655</em> output of the orthology propagation step of AuCoMe in the SBML format. * <strong>orthology_K_12_MG1655.padmet</strong> the metabolic network of <em>E. coli K–12 MG1655</em> output of the orthology propagation step of AuCoMe in the PADMET format.<br> <br> * <strong>structural_K_12_MG1655.sbml</strong> the metabolic network of <em>E. coli K–12 MG1655</em> output of the structural verification step of AuCoMe in the SBML format.<br> <br> * <strong>structural_K_12_MG1655.padmet</strong> the metabolic network of <em>E. coli K–12 MG1655</em> output of the structural verification step of AuCoMe in the PADMET format. * <strong>final_K_12_MG1655.sbml</strong> the metabolic network of <em>E. coli K–12 MG1655</em> output of the AuCoMe workflow in the SBML format. * <strong>final_K_12_MG1655.padmet</strong> the metabolic network of <em>E. coli K–12 MG1655</em> output of the AuCoMe worflow in the PADMET format. 4/ Content of the <strong>padmet_v5.0.1</strong> subdirectory<br> This directory contains a copy of the PADMET project on the GitHub site: https://github.com/AuReMe/padmet/ (downloaded the 15/11/2022). It is composed of two subdirectories and six files:<br> * <strong>CHANGELOG.md </strong>records of all notable changes made in the PADMET project. * <strong>docs</strong> this repertory contains all the documentation files of PADMET package in the RST format. * <strong>LICENCE</strong> licence of the PADMET package. * <strong>README.md</strong> manual of the PADMET package. * <strong>requirements.txt</strong> contains the list of requires Python packages. * <strong>setup.cfg</strong> contains metadata about PADMET package and is used with setup.py to distribute PADMET. * <strong>setup.py</strong> contains various information relevant to the PADMET package including options and metadata. Then, it is used to distribute PADMET with PyPI. It is also used to create an entrypoint when installing it with pip.<br> <br> * <strong>padmet</strong> this repertory grathers two files and two subdirectories:<br> – <strong>__init__.py</strong> indicates the version of PADMET. – <strong>__main__.py</strong> contains the functions implementing the command-line interface of PADMET. – <strong>classes</strong> contains 7 files. – <strong>utils</strong> contains 4 files and 3 subdirectories. <br> 4.1/ Content of the <strong>class</strong> subdirectory<br> The class repertory contains 7 files.<br> * <strong>__init__.py </strong>indicates the directory as a python module. * <strong>instantiation.py</strong> contains a function to instantiate padmet object. * <strong>node.py</strong> contains a class defining a Node object which is representing an element in a metabolic network (e.g: compound, reaction). * <strong>padmetRef.py</strong> contains a class defining a PadmetRef object which is representing a database of metabolic network. * <strong>padmetSpec.py</strong> creates a PadmetSpec object which is representing the metabolic network of a species/organism based on a reference database PadmetRef. * <strong>policy.py</strong> contains a class defining a Policy object that is defining the types of Relations and Nodes of a network. * <strong>relation.py</strong> contains a class defining a Relation object which is representing a link between two elements (Node) in a metabolic network. <br> 4.2/ Content of the <strong>utils</strong> subdirectory<br> The utils directory contains 4 files and 3 subdirectories.<br> * <strong>__init__.py</strong> indicates the directory as a python module. * <strong>gbr.py</strong> implements a lexical analysis to handle genes relationship associated with a reaction, either a complex (with and relation between genes) or isozyme (with or relation between genes). * <strong>sbmlPlugin.py</strong> contains functions to handle SBML element (ex: species or reaction), then it returns all the sections named notes in a dictionary.<br> <br> * <strong>utils.py</strong> contains a function that checks paths of file. * <strong>connection</strong> this subdirectory contains 22 files:<br> - <strong>__init__.py</strong> indicates the directory as a python module. – <strong>biggAPI_to_padmet.py</strong> allows to extract the BIGG database from the API to create a padmet. An Internet access is required. – <strong>check_orthology_input.py</strong> is written to check if the metabolic network and the proteome of the model organism use the same identifiers for genes (or at least more than a given cutoff), before running orthology based reconstruction. – <strong>enhanced_meneco_output.py</strong> extracts the results from Meneco gap-filling to add more information to the gap-filled reactions. Then it returns a PADMET file with more information for each reaction. – <strong>extract_orthofinder.py</strong> after running Orthofinder on n FASTA files, it reads the output file ’Orthogroups.tsv’ to identify the orthologous genes. It is used by AuCoMe to extract the orthologous genes.<br> <br> – <strong>extract_rxn_with_gene_assoc.py</strong> from a given SBML file, it creates a SBML with only the reactions associated to a gene.<br> <br> – <strong>gbk_to_faa.py</strong> extracts protein sequence from a GenBank into a FASTA file with Biopython package. – <strong>gene_to_targets.py</strong> from a list of genes, it gets the products associated with the reactions linked to the genes. For example: R1 is linked to G1, R1 produces M1 and M2, this script outputs: M1, M2. – <strong>get_metacyc_ontology.py</strong> from the PadmetRef of MetaCyc, it creates the MetaCyc ontology. – <strong>metexploreviz_export.py</strong> converts a PADMET object representing a metabolic network into a JSON compatible with MetExplore.<br> <br> – <strong>modelSeed_to_padmet.py</strong> from ModelSEED reactions and pathways files, it creates a PADMET.<br> <br> – <strong>network_to_gnn.py</strong> creates input for GNN (Graph Neural Networks) from PADMET or SBML. – <strong>padmet_to_asp.py</strong> converts PADMET to Answer Set Programming. – <strong>padmet_to_matrix.py</strong> creates a stoichiometry matrix from a PADMET file, in which the columns represent the reactions and rows represent metabolites. – <strong>padmet_to_padmet.py</strong> allows to merge 1-n PADMET.<br> <br> – <strong>padmet_to_tsv.py</strong> converts a PADMET representing a database (PadmetRef) and/or a PADMET representing a model (PadmetSpec) to TSV files. – <strong>pgdb_to_padmet.py</strong> reads a PGDB folder (from BIOCYC/Pathway Tools) and creates a PADMET. It is used by AuCoMe to create PADMET files from PGDB in the annotation-based step. – <strong>sbmlGenerator.py</strong> contains functions to generate SBML files from PADMET and TXT files usign the libsbml package. It is used by AuCoMe to create SBML files at the annotation-based, orthology and final steps. – <strong>sbml_to_curation_form.py</strong> extracts one or several reactions from a SBML file to the form used in AuReMe for curation. – <strong>sbml_to_padmet.py</strong> converts a SBML file into a PADMET file (with or without a reference database). – <strong>sbml_to_sbml.py</strong> creates a SBML file from another one. Use it to change the SBML level. – <strong>wikiGenerator.py</strong> contains all necessary functions to generate wiki pages from a PADMET file and update a wiki online. It requires WikiManager module (with wikiMate, Vendor). * <strong>exploration</strong> this subdirectory contains 15 files:<br> - <strong>__init__.py</strong> indicates the directory as a python module. – <strong>compare_padmet.py</strong> compares 1-n PADMET files, and creates a folder with 4 output files (compounds.tsv, genes.tsv, pathways.tsv and reactions.tsv). It is used by AuCoMe to create these files to analyse the metabolic networks. – <strong>compare_sbml.py</strong> compares 2 or 1-n SBML, then it creates two output files reactions.tsv and metabolites.tsv with the reactions/metabolites in each SBML files. – <strong>compare_sbml_padmet.py</strong> compares reaction identifiers in SBML versus PADMET, then returns the number of reactions in both, and reaction identifiers not in SBML or not in PADMET. – <strong>convert_sbml_db.py</strong> uses the MetaNetX database to check or convert a SBML. Flat files from MetaNetx are required to run this script. They can be found in the AuReMe workflow or from the MetaNetx w