grace in MATLAB Answers
Last activity on 14 Aug 2024

Hello! I am trying to use this model "Estimating the Bioavailibility of a Drug" that I found here, to do a simultaneous fitting of my IV infusion and P.O. blood concentration time profile. I implemented a two compartment model as well. For some reason, when I am running a simulation the oral dose exhibits a bioavailbility of >= 1, even though I have the parameter F set as 0.2. I attached images of my simulation curve (green is oral dose), model diagram, ODEs, and dosing setup. I'm thinking it might have something to do with the way I set up the dosing, but please let me know if you have any advice on how I should troubleshoot this. I am using R2024a. Please let me know if I should include anything else. Thanks!
Rae K. in MATLAB Answers
Last activity on 10 Sep 2021

Is there a way to create custom (species-specific) conversion factors in SimBiology that can be used by 'unit conversion' to automatically convert dosing units, so that, for example, I can enter a dose in grams for a species with units 'molarity'?
Ben in MATLAB Answers
Last activity on 16 Feb 2021

Hello, I have a question concerning of the use of simbiology adddose (or sbiodose) commands. I have defined a compartment, and four species (that will be my state variables in the model). I have also defined a bunch of parameters and added to the model. After this step, I have explicitly defined four differential equations that describe my model. (I did it in this way since I have no proper background in reactons and stuff). My goal was to simulate the system with a prespecified dosing scheulde that came from an experiment. When i create my dose and want to specify the target name as 'x3', matlab throws an error: 'Invalid dose target 'x3' in dose 'd'. This object cannot be the Rule variable of any rule'. I checked the documentation and forums but I haven't found anything related to my issue. Any help much appreciated, code supplemented below. [a1,b1,c1,ED501,k11,k21,n1,w1,x10] = getParams(1); %This get some exact values %This part of the code gets the injection times and amounts from the experiment load('measurements.mat'); measurement = measurement{1}; mouseID = measurement.vMouseID{1}; tInjections = measurement.tMeasurement{1}; vMeasuredVolumes = measurement.vVolumePhysCon{1}; vInjectionDose = measurement.vDose{1}; doseIdx = find(vInjectionDose ~= 0); m = sbiomodel('m'); comp = addcompartment(m,'comp'); %State variables, input, output x1 = addspecies(m,'x1','InitialAmount',x10); %Living x2 = addspecies(m,'x2','InitialAmount',0); %Dead x3 = addspecies(m,'x3','InitialAmount',0); %Conc x4 = addspecies(m,'x4','InitialAmount',0); %Periph Conc u = addspecies(m,'u','InitialAmount',0); y = addspecies(m,'y','InitialAmount',x10); %Model parameters a = addparameter(m,'a','Value',a1); b = addparameter(m,'b','Value',b1); n = addparameter(m,'n','Value',n1); w = addparameter(m,'w','Value',w1); ED50 = addparameter(m,'ED50','Value',ED501); c = addparameter(m,'c','Value',c1); k1 = addparameter(m,'k1','Value',k11); k2 = addparameter(m,'k2','Value',k21); %Differential equations dxdt1 = addrule(m,'x1 = (a-n) * x1 - b * ((x1*x3)/(ED50 + x3))','RuleType','rate'); dxdt2 = addrule(m,'x2 = n * x1 + b*((x1*x3)/(ED50 + x3)) - w*x2','RuleType','rate'); dxdt3 = addrule(m,'x3 = -(c + k1)*x3 + k2*x4','RuleType','rate'); dxdt4 = addrule(m,'x4 = k1 * x3 - k2*x4','RuleType','rate'); y = addrule(m,'y = x1 + x2','RuleType','repeatedAssignment'); %Add dose - this is where things go south for me d = sbiodose('d','schedule'); d.Amount = vInjectionDose(doseIdx); d.Time = tInjections(doseIdx); d.TargetName = 'comp.x3'; d.Active = 1; [t,x,names] = sbiosimulate(m,d); plot(t,x(:,1:4)) Best regards, Bence EDIT: I forgot to mention, that my goal was to direcly inject the drug into species 'x3' with an impulsive action (bolus administration), but the ode solver does not permit such, since 'x3' is a rate variable. My guess is that this can be possible somehow by defining it as a reaction, but dxdt3 and dxdt4 is the clearence equations that I want x3 to satisfy.
Jacopo Biasetti in MATLAB Answers
Last activity on 15 May 2020

Hi, In the example "Fit a One-Compartment Model to an Individual's PK Profile" for the function sbiofit (the example is found in the sbiofit help page), an initial dose of 10 milligram is used: dose = sbiodose('dose'); dose.TargetName = 'Drug_Central'; dose.StartTime = 0; dose.Amount = 10; dose.AmountUnits = 'milligram'; dose.TimeUnits = 'hour'; I just wonder where that value is coming from as it seems I cannot find it anywhere in the example. Should it be also a value that needs to be estimated, or it is a value that needs to be known from experimental/synthetic data? Many thanks, Jacopo