Creating a cell growth model using SimBiology.
Show older comments
I have been watching a few webinars and step-by-step tutorials on MathWorks on how to build models using SimBiology. Most of them relate to PK/PD models and there is one on the COVID-19 SIR model. All are very interesting and I even tweaked the model from the uploaded files. However, I am more interested with the cell growth model that involves a cell (which concentration changes with time) and within the cell compartment (which represented by a compartment in SimBiology) are the nutrients, proteins and enzymes that work to produce the energy required by the cell. Thus, the results of the simulation would be an increase in the number of cells (i.e the compartment) and the reduction of nutrients (species). Could we actually make the compartment as one of the active species, where the species also change with time? Hope any of the MathWorks consultants could help. Much thanks.
Accepted Answer
More Answers (1)
Achal Mahajan
on 1 Jun 2022
Edited: Achal Mahajan
on 1 Jun 2022
Hi Mohamad,
Here is the sample implementation of the idea that Arthur has outlined above. Creating a SimBiology model with an event that model the cell division. In the code as soon as the time hits t = 2 in the simulation, the volume/area of the cell and it constituent's amount is divided by 2 mimicking cell division.
%Testing the solution that Arthur has specified by adding an event where
%the compartment and specie volume is halved when the cell undergoes
%division where cell is a compartment and there are organelles inside the
%cells which are treated as species in SimBio.
clear all;clc;close all;
model = sbiomodel('example');
model.addcompartment('cell', 1, 'CapacityUnits', 'liter', 'Constant', false);
model.addspecies('A', 'InitialAmount', 1);
r1 = addreaction(model,'A -> B');
kl = addkineticlaw(r1,'MassAction');
p1 = addparameter(model,'p1',0.5);
kl.ParameterVariableNames = 'p1';
% Adding the event
e1 = addevent(model,'time>=2','cell = cell/2');
e1 = addevent(model,'time>=2','A = A/2');
e1 = addevent(model,'time>=2','B = B/2');
sd = sbiosimulate(model);
sbioplot(sd);
Communities
More Answers in the SimBiology Community
Categories
Find more on Scan Parameter Ranges in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!