pvnlubenia / CLAMS-MATLAB-

MATLAB code for generating the conservation laws of a system [conservationLaw.m is placed on this page as a preview of the code; the same file is included in CLAMS-MATLAB-.zip]

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

====================================================

  CLAMS: Conservation LAws of a Mass action System

====================================================

MATLAB was used to develop the function used here.

The function conservationLaw returns the equations of the conservation laws followed by the concentrations of the species of a network. The output variables 'N', 'W_new', 'conservation_laws_LHS', 'T', and 'model' allow the user to view the following, respectively:

   - Matrix of reaction vectors of the network
   - Matrix form of the left-hand side of the conservation laws
   - The left-hand side of the conservation laws
   - The right-hand side of the conservation laws
   - Complete network with all the species listed in the 'species' field of the structure 'model'



====
Note
====

The idea for the first part of the algorithm comes from [4].



=================================
How to fill out 'model' structure
=================================

'model' is the input for the function conservationLaw. It is a structure, representing the CRN, with the following fields:

   - id: name of the model
   - species: a list of all species in the network; this is left blank since incorporated into the function is a step which compiles all species used in the model
   - reaction: a list of all reactions in the network, each with the following subfields:
        - id: a string representing the reaction
        - reactant: has the following further subfields:
             - species: a list of strings representing the species in the reactant complex
             - stoichiometry: a list of numbers representing the stoichiometric coefficient of each species in the reactant complex (listed in the same order of the species)
        - product: has the following further subfields:
             - species: a list of strings representing the species in the product complex
             - stoichiometry: a list of numbers representing the stoichiometric coefficient of each species in the product complex (listed in the same order of the species)
        - reversible: has the value true or false indicating if the reaction is reversible or not, respectively
        - kinetic: has the following further subfields:
             - reactant1: a list of numbers representing the kinetic order of each species in the reactant complex in the left to right direction (listed in the same order of the species)
             - reactant2: a list of numbers representing the kinetic order of each species in the reactant complex in the right to left direction (listed in the same order of the species) (empty if the reaction is not reversible)

To fill out the 'model' structure, write a string for 'model.id': this is just to put a name to the network. To add the reactions to the network, use the function addReaction where the output is 'model'. addReaction is developed to make the input of reactions of the CRN easier than the input in [7]:

   addReaction
      - OUTPUT: Returns a structure called 'model' with added field 'reaction' with subfields 'id', 'reactant', 'product', 'reversible', and 'kinetic'. The output variable 'model' allows the user to view the network with the added reaction.
      - INPUTS
           - model: a structure, representing the CRN
           - id: visual representation of the reaction, e.g., reactant -> product (string)
           - reactant_species: species of the reactant complex (cell)
           - reactant_stoichiometry: stoichiometry of the species of the reactant complex (cell)
           - reactant_kinetic: kinetic orders of the species of the reactant complex (array)
           - product_species: species of the product complex (cell)
           - product_stoichiometry: stoichiometry of the species of the product complex (cell)
           - product_kinetic: "kinetic orders" of the species of the product complex, if the reaction is reversible (array); if the reaction in NOT reversible, leave blank
           - reversible: logical; whether the reaction is reversible or not (true or false)
      * Make sure the function addReaction is in the same folder/path being used as the current working directory.



========
Examples
========

4 examples are included in this folder:

   - Example 1: 2-layer signaling cascade [3]

   - Example 2: 3-layer signaling cascade [3]

   - Example 3: Insulin signaling in healthy cells [1]

   - Example 4: Insulin signaling in insulin-resistant cells [2]



===================
Contact Information
===================

For questions, comments, and suggestions, feel free to contact me at pvnlubenia@yahoo.co.uk.


- Patrick Lubenia (6 December 2023)



==========
References
==========

   [1] Lubenia P, Mendoza E, Lao A (2022) Reaction network analysis of metabolic insulin signaling. Bull Math Biol 84(129):1-22. https://doi.org/10.1007/s11538-022-01087-3

   [2] Lubenia P, Mendoza E, Lao A (2024) Comparative analysis of kinetic realizations of insulin signaling. J Theor Biol 577:1-12. https://doi.org/10.1016/j.jtbi.2023.111672

   [3] SLMSI-MPI Leipzig Summer Graduate School on Algebraic Methods for Biochemical Reaction Networks (12-23 June 2023)

   [4] Soranzo N, Altafini C (2009) ERNEST: a toolbox for chemical reaction network theory. Bioinform 25(21):2853-2854. https://doi.org/10.1093/bioinformatics/btp513

About

MATLAB code for generating the conservation laws of a system [conservationLaw.m is placed on this page as a preview of the code; the same file is included in CLAMS-MATLAB-.zip]


Languages

Language:MATLAB 100.0%