Creating a cell growth model using SimBiology.
5 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
采纳的回答
Arthur Goldsipe
2020-12-14
Hi,
The capacity of a compartment can vary during the course of a simulation. To do this, you must set the Constant property to false (or the ConstantCapacity property in SimBiology versions before R2019b). Then, you can change the compartment capacity using things like repeated assignment rules, rate rules, and events.
You cannot add additional components of any time (compartments, species, parameters, reactions, etc.) during the course of a simulation. So you cannot directly simulate an increasing number of cells if you need to treat each of them as distinct entitites in your model.
However, you may still be able to model cell growth in SimBiology. The feasibility and exact approach will depend on your goals, but let me offer an example:
Create a SimBiology model of a single growing cell and add a parameter to the model that counts the number of times the cell has divided. Add an event to implement cell division. This event divides each compartment volume and the amount of each species by 2, and increments the counter for the number of cell divisions. Then, simulate your model for the desired time and analyze the results.
3 个评论
Arthur Goldsipe
2020-12-15
I should have mentioned that compartment dimensions must be volume, area, or length. And the dimensions of each species in a compartment must be amount or concentration, where concentration is amount per volume if the compartment dimensions are volume, and so forth.
I do see how it could be useful to normalize a model in some other way (such as by mass or number). The SimBiology team is considering this enhancement for the future. In the mean time, you can still build your model on the basis of 1 gram or 1 cell, even though you can't explicitly include this information in the units.
更多回答(1 个)
Achal Mahajan
2022-6-1
编辑:Achal Mahajan
2022-6-1
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);
0 个评论
社区
更多回答在 SimBiology Community
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Scan Parameter Ranges 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!