{ "cells": [ { "cell_type": "markdown", "id": "dbfb1aa7-3761-404c-adc6-880fdb4c6305", "metadata": {}, "source": [ "# Architecture of coralME" ] }, { "cell_type": "markdown", "id": "06516aeb-7c58-4d94-8def-580b08b00ee0", "metadata": {}, "source": [ "coralME is composed of 4 main classes that process and exchange organism-specific information for the reconstruction of a ME-model. The classes are:\n", "```python\n", "class Organism()\n", "\n", "class MEBuilder()\n", "\n", "class MEReconstruction()\n", "\n", "class Homology()\n", "```" ] }, { "cell_type": "markdown", "id": "4c77ad67-e6d9-4803-b9b7-7fb6bfa3d5c5", "metadata": {}, "source": [ "\"Drawing\"" ] }, { "cell_type": "markdown", "id": "dfa220fb-8d49-4568-bf66-87c6b15686c1", "metadata": {}, "source": [ "## Organism()" ] }, { "cell_type": "raw", "id": "9584494e-598a-473b-82fb-835fff00fa19", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ ".. autoclass:: coralme.builder.organism.Organism\n", " :noindex:" ] }, { "cell_type": "markdown", "id": "16ccfb3f-11bc-4f7b-804c-d7070b7737ca", "metadata": {}, "source": [ "Role: Store information about an organism\n", "\n", "This class acts as a database containing all necessary information to reconstruct a ME-model. It is used to retrieve and store information of the main (**org**) and the reference (**ref**) organisms. Information in Organism() is read and manipulated by methods in the MEBuilder() class. The reference can be set as any of the provided organisms in coralME, available [here](../organisms/), although we advise to choose *E. coli* and *B. subtilis* for gram-negative and gram-positive bacteria, respectively." ] }, { "cell_type": "markdown", "id": "0866da79-a352-4364-abfe-d7b2e37b4df5", "metadata": {}, "source": [ "## MEBuilder()" ] }, { "cell_type": "raw", "id": "391b88a9-3170-4e73-8e65-2fc2fdd99276", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ ".. autoclass:: coralme.builder.main.MEBuilder\n", " :noindex:" ] }, { "cell_type": "markdown", "id": "c343d59c-a902-4df2-891c-913e1f3e73b2", "metadata": {}, "source": [ "Role: Coordinate the roles of other classes.\n", "\n", "This class acts as the main coordinator between other objects, e.g. Organism, Homology, MEProcesser, and METroubleshooter. It contains methods to manipulate class Organism by using attributes in class Homology, and manually curated files in the folder containing the main organism. Moreover, it is called by objects to access stored information in other objects. " ] }, { "cell_type": "markdown", "id": "7bbc293b-0f02-438b-8edf-bf1b7b224f62", "metadata": {}, "source": [ "## MEReconstruction()" ] }, { "cell_type": "raw", "id": "49b53aff-7686-413b-aa71-b0f418748d89", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ ".. autoclass:: coralme.builder.main.MEReconstruction\n", " :noindex:" ] }, { "cell_type": "markdown", "id": "2e749025-6706-4dc7-bb20-190017141bcf", "metadata": {}, "source": [ "Role: Reconstruct a ME-model from the information contained in class Organism.\n", "\n", "This class was based almost entirely from the original [ECOLIme](https://github.com/SBRG/ecolime) code in [build_me_model.py](https://github.com/SBRG/ecolime/blob/master/ecolime/build_me_model.py). Adaptations to this code were necessary to make it applicable to other organisms. \n", " " ] }, { "cell_type": "markdown", "id": "70ec0fda-31df-472b-a0bf-fef5f78909d7", "metadata": {}, "source": [ "## Homology()" ] }, { "cell_type": "raw", "id": "44ec6a8e-e3e9-45b2-b41a-d22a702ddc98", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ ".. autoclass:: coralme.builder.homology.Homology\n", " :noindex:" ] }, { "cell_type": "markdown", "id": "1a853711-4b06-4132-8436-d9ef878d6f76", "metadata": {}, "source": [ "Role: Generate and store information about homology of the main and reference organisms.\n", "\n", "This class contains methods to predict and process homology of the main and reference organisms. Homology is inferred from the reciprocal best hits of a BLAST. The results are used to update and complement the attributes of the class Organism. " ] }, { "cell_type": "markdown", "id": "a14d4deb-bb23-450a-9f29-bdcb207981d8", "metadata": {}, "source": [ "## Curation()" ] }, { "cell_type": "markdown", "id": "4bd7fa5e-b8de-4556-b256-30bdf2d13fc3", "metadata": {}, "source": [ "Role: Handle manual curation.\n", "\n", "This class contains methods to handle the manual curation that is in building_data/" ] }, { "cell_type": "raw", "id": "df47a938-0cc1-477f-a0cf-30a8b7e456f9", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "* termination_subreactions.txt\n", " Input here will define translation termination subreactions and their\n", " machinery.\n", "\n", ".. autoclass:: coralme.builder.curation.TerminationSubreactions\n", " :members:\n", " \n", "* peptide_release_factors.txt\n", " Input here will define peptide release factors.\n", "\n", ".. autoclass:: coralme.builder.curation.PeptideReleaseFactors\n", " :members:\n", "\n", "* rna_degradosome.txt\n", " Input here will define the composition of the RNA degradosome.\n", "\n", ".. autoclass:: coralme.builder.curation.RNADegradosome\n", " :members:\n", "\n", "* special_trna_subreactions.txt\n", " Input here will define special tRNA subreactions, such as \n", " tRNA-Sec (selenocysteine) synthesis from tRNA-Ser.\n", "\n", ".. autoclass:: coralme.builder.curation.SpecialtRNASubreactions\n", " :members:\n", "\n", "* lipoprotein_precursors.txt\n", " Input here will add lipoprotein precursors.\n", "\n", ".. autoclass:: coralme.builder.curation.LipoproteinPrecursors\n", " :members:\n", "\n", "* special_modifications.txt\n", " Input here will define machinery for special modifications. These\n", " modifications are a set of pre-defined modifications that are used\n", " in ME-models.\n", "\n", ".. autoclass:: coralme.builder.curation.SpecialModifications\n", " :members:\n", "\n", "* excision_machinery.txt\n", " Input here will define machinery for excision.\n", "\n", ".. autoclass:: coralme.builder.curation.ExcisionMachinery\n", " :members:\n", "\n", "* orphan_and_spont_reactions.txt\n", " Input here will mark reactions as orphan or spontaneous. Orphan\n", " reactions will be associated with CPLX_dummy, and spontaneous ones\n", " will not require enzymes for flux.\n", "\n", ".. autoclass:: coralme.builder.curation.OrphanSpontReactions\n", " :members:\n", "\n", "* enzyme_reaction_association.txt\n", " Input here will create the association between enzymes and\n", " reactions in the ME-model.\n", "\n", ".. autoclass:: coralme.builder.curation.EnzymeReactionAssociation\n", " :members:\n", "\n", "* peptide_compartment_and_pathways.txt\n", " Input here will modify protein locations, and translocation\n", " pathways in the ME-model.\n", "\n", ".. autoclass:: coralme.builder.curation.ProteinLocation\n", " :members:\n", "\n", "* translocation_pathways.txt\n", " Input here will define translocation pathways and their\n", " machinery.\n", "\n", ".. autoclass:: coralme.builder.curation.TranslocationPathways\n", " :members:\n", "\n", "* rna_modification.txt\n", " Input here will define enzymes that perform RNA modifications\n", " for either rRNA or tRNA in the ME-model.\n", "\n", ".. autoclass:: coralme.builder.curation.RNAModificationMachinery\n", " :members:\n", "\n", "* ribosomal_proteins.txt\n", " Input here will define the composition of the ribosome.\n", "\n", ".. autoclass:: coralme.builder.curation.RibosomeStoich\n", " :members:\n", "\n", "* rho_independent.txt\n", " Input here will mark genes with rho independent transcription\n", " termination.\n", "\n", ".. autoclass:: coralme.builder.curation.RhoIndependent\n", " :members:\n", "\n", "* sigma_factors.txt\n", " Input here will mark proteins for N-terminal methionine\n", " cleavage in the ME-model.\n", "\n", ".. autoclass:: coralme.builder.curation.Sigmas\n", " :members:\n", "\n", "* cleaved_methionine.txt\n", " Input here will mark proteins for N-terminal methionine\n", " cleavage in the ME-model.\n", "\n", ".. autoclass:: coralme.builder.curation.CleavedMethionine\n", " :members:\n", "\n", "* folding_dict.txt\n", " Input here will define folding pathways for proteins.\n", "\n", ".. autoclass:: coralme.builder.curation.FoldingDict\n", " :members:\n", "\n", "* translocation_multipliers.txt\n", " Input here will modify how many pores are required for\n", " the translocation of a protein.\n", "\n", ".. autoclass:: coralme.builder.curation.TranslocationMultipliers\n", " :members:\n", "\n", "* subreaction_matrix.txt\n", " Input here will define subreactions in the ME-model.\n", "\n", ".. autoclass:: coralme.builder.curation.SubreactionMatrix\n", " :members:\n", "\n", "* me_metabolites.txt\n", " Input here will mark metabolites in the M-model for replacement\n", " with their corrected E-matrix component.\n", "\n", ".. autoclass:: coralme.builder.curation.\n", " :members:\n", "\n", "* elongation_subreactions.txt\n", " Input here will define translation elongation subreactions and their\n", " machinery.\n", "\n", ".. autoclass:: coralme.builder.curation.MEMetabolites\n", " :members:\n", "\n", "* subsystem_classification.txt\n", " Input here will classify subsystems in umbrella classifications which\n", " are then used to set a median Keff and correct it with the \n", " complex SASA.\n", "\n", ".. autoclass:: coralme.builder.curation.SubsystemClassification\n", " :members:\n", "\n", "* reaction_matrix.txt\n", " Input here will define reactions directly in the \n", " ME-model. Definitions here will be added to the ME-model\n", " after processing the M-model into the ME-model.\n", "\n", ".. autoclass:: coralme.builder.curation.ReactionMatrix\n", " :members:\n", "\n", "* lipid_modifications.txt\n", " Input here will define enzymes that perform lipid \n", " modifications.\n", "\n", ".. autoclass:: coralme.builder.curation.LipidModifications\n", " :members:\n", "\n", "* amino_acid_trna_synthetase.txt\n", " Input here will define amino acid tRNA ligases.\n", "\n", ".. autoclass:: coralme.builder.curation.\n", " :members:\n", "\n", "* initiation_subreactions.txt\n", " Input here will define translation initiation subreactions and their\n", " machinery.\n", "\n", ".. autoclass:: coralme.builder.curation.AminoacidtRNASynthetase\n", " :members:\n", "\n", "* post_transcriptional_modification_of_RNA.txt\n", " Input here will define RNA genes that undergo modifications.\n", "\n", ".. autoclass:: coralme.builder.curation.RNAModificationTargets\n", " :members:\n", "\n", "* protein_corrections.txt\n", " Input here will add, modify complexes in the ME-model,\n", " as well as add, modify their modifications. You can\n", " add a complex modification ID in the replace column,\n", " which will remove that modified complex and replace \n", " it with your manually added one.\n", "\n", ".. autoclass:: coralme.builder.curation.ManualComplexes\n", " :members:\n", "\n", "* reaction_median_keffs.txt\n", " Input here will define median Keffs for estimation of Keffs\n", " using the SASA method.\n", "\n", "* transcription_subreactions.txt\n", " Input here will define machinery for transcription subreactions. These\n", " subreactions are a set of pre-defined subreactions that are used\n", " in ME-models.\n", "\n", ".. autoclass:: coralme.builder.curation.TranscriptionSubreactions\n", " :members:\n", "\n", "* generic_dict.txt\n", " Input here will define generics.\n", "\n", ".. autoclass:: coralme.builder.curation.GenericDict\n", " :members:\n", "\n", "* ribosome_subreactions.txt\n", " Input here will define enzymes that perform a ribosome \n", " subreaction.\n", "\n", ".. autoclass:: coralme.builder.curation.RibosomeSubreactions\n", " :members:\n", "\n", "* reaction_corrections.txt\n", " Input here will modify reactions at the M-model stage\n", " before ME-model building.\n", "\n", ".. autoclass:: coralme.builder.curation.ReactionCorrections\n", " :members:\n", "\n", "* TUs_from_biocyc.txt\n", " Input here will modify transcriptional unit information." ] }, { "cell_type": "code", "execution_count": null, "id": "07aba706-e46e-4f76-a70c-c5196dca6757", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "coralme-1.1.5", "language": "python", "name": "coralme-1.1.5" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 5 }