Can Simbiology simulate one-to-many scenarios?
Mostra commenti meno recenti
our design has a reaction containing cDNA and AuNP which has many DNA probes on it. cDNA has many bind sites so two AuNPs maybe can bind one cDNA at the same time. so I wonder can simbiology such a reaction like this? If yes, how can it be configured? If not, how can it be resolved?
Risposte (2)
Nandini
il 19 Lug 2023
Yes, SimBiology in MATLAB can simulate one-to-many scenarios, including the reaction you described where two AuNPs can bind to one cDNA at the same time. SimBiology allows for the modeling and simulation of complex reaction networks, including multi-component reactions.
To configure this reaction in SimBiology, you can use the following steps:
1. Define the species: Create species objects for cDNA, AuNP, and the bound complex (e.g., cDNA-AuNP). Specify the initial amounts or concentrations for each species.
2. Define the reactions: Create a reaction object that represents the binding reaction between cDNA and AuNP. Set the reaction rate and stoichiometry appropriately. In this case, the stoichiometry would be 2 AuNP and 1 cDNA, resulting in the formation of 1 cDNA-AuNP complex.
3. Create a model: Create a SimBiology model and add the species and reaction objects to the model.
4. Configure simulation settings: Set the simulation time span, solver options, and any other desired simulation settings.
5. Run the simulation: Use the `simulate` function in SimBiology to run the simulation and obtain the results.
Here's a simplified example to illustrate the configuration of the reaction you described:
% Create species objects
cDNA = sbioselect(m, 'Name', 'cDNA');
AuNP = sbioselect(m, 'Name', 'AuNP');
complex = addspecies(m, 'cDNA-AuNP', 'InitialAmount', 0);
% Create the binding reaction
reaction = addreaction(m, '2 AuNP + cDNA -> cDNA-AuNP');
kineticLaw = addkineticlaw(reaction, 'MassAction');
parameter = addparameter(kineticLaw, 'k', 1); % Set the reaction rate constant
% Set the stoichiometry of the reaction
addstoichiometry(reaction, 'cDNA', -1);
addstoichiometry(reaction, 'AuNP', -2);
addstoichiometry(reaction, 'cDNA-AuNP', 1);
% Configure simulation settings
configset = getconfigset(m);
set(configset, 'StopTime', 10); % Set simulation time span
% Run the simulation
simData = sbiosimulate(m);
% Plot the results
plot(simData.Time, simData.Data(:, [cDNA, AuNP, complex]));
legend('cDNA', 'AuNP', 'cDNA-AuNP');
xlabel('Time');
ylabel('Amount');
This example demonstrates a simple binding reaction between cDNA and AuNP, where two AuNPs bind to one cDNA to form the cDNA-AuNP complex. You can adjust the reaction rate constant and other parameters as needed.
SimBiology provides various analysis and visualization tools to further analyze the simulation results, such as plotting concentrations, calculating reaction rates, and performing parameter estimations.
I hope this helps!
5 Commenti
Lo
il 19 Lug 2023
Nandini
il 20 Lug 2023
Hello @Lo,
Thank you for providing additional clarification. In SimBiology, it is not directly possible to model an arbitrary number of AuNPs binding to one cDNA simultaneously, as the reaction stoichiometry needs to be predefined. However, you can approximate this scenario by modeling multiple reactions with different stoichiometries and reaction rates.
Here's an example of how you can approach this approximation:
% Create species objects
cDNA = sbioselect(m, 'Name', 'cDNA');
AuNP = sbioselect(m, 'Name', 'AuNP');
% Define the maximum number of AuNPs that can bind to one cDNA
maxNumAuNPs = 5;
% Create reaction objects for each possible binding scenario
for numAuNPs = 1:maxNumAuNPs
reaction = addreaction(m, [num2str(numAuNPs) ' AuNP + cDNA -> cDNA_AuNP' num2str(numAuNPs)]);
kineticLaw = addkineticlaw(reaction, 'MassAction');
parameter = addparameter(kineticLaw, ['k' num2str(numAuNPs)], 1); % Set the reaction rate constant
addstoichiometry(reaction, 'cDNA', -1);
for i = 1:numAuNPs
addstoichiometry(reaction, 'AuNP', -1);
end
addstoichiometry(reaction, ['cDNA_AuNP' num2str(numAuNPs)], 1);
end
% Configure simulation settings
configset = getconfigset(m);
set(configset, 'StopTime', 10); % Set simulation time span
% Run the simulation
simData = sbiosimulate(m);
% Plot the results
figure;
for numAuNPs = 1:maxNumAuNPs
subplot(maxNumAuNPs, 1, numAuNPs);
plot(simData.Time, simData.Data(:, numAuNPs+2));
title(['Number of AuNPs bound: ' num2str(numAuNPs)]);
xlabel('Time');
ylabel('Amount');
end
In this example, we create multiple reactions, each representing a different number of AuNPs binding to the cDNA. The `maxNumAuNPs` variable determines the maximum number of AuNPs that can bind to one cDNA.
During the simulation, the resulting cDNA-AuNP complexes are tracked separately for each binding scenario. The simulation results are then plotted for each scenario, showing the amount of cDNA-AuNP complexes formed over time.
While this approach does not capture the exact number of AuNPs binding to one cDNA, it provides an approximation by considering multiple possible binding scenarios.
I hope this helps! Let me know if you have any further questions.
Lo
il 20 Lug 2023
Nandini
il 20 Lug 2023
If you have built your SimBiology model using the graphical interface (diagram) in SimBiology, you can access and modify your model using the code form by following these steps:
1. Open your SimBiology model in the SimBiology graphical interface.
2. Click on the "Export" button in the toolbar at the top of the SimBiology window.
3. From the drop-down menu, select "Export to MATLAB".
4. A dialog box will appear. Choose a location to save the exported MATLAB code file and provide a name for the file.
5. Click "Save" to export the model to a MATLAB code file.
The exported MATLAB code file will contain the code representation of your SimBiology model. You can open the file in MATLAB and modify it as needed, including adding the code provided earlier to configure the reaction you described.
Once you have made the necessary modifications to the code file, you can run the code in MATLAB to simulate and analyze your model.
I hope this helps! Let me know if you have any further questions.
Lo
il 20 Lug 2023
Fulden Buyukozturk
il 21 Lug 2023
Modificato: Fulden Buyukozturk
il 21 Lug 2023
0 voti
You can set the stociometry of your reaction either on the Model Builder App or programmatically. On the app, you can simply modify the Reaction, please see the screenshot below.

If I understand correctly, you're looking to parametrize stochiometry so that you can vary it to simulate different scenarios. Currently a Reaction's stochiometry cannot be parametrized but instead of using a Reaction you can use a Rate Rule to incorporate stociometric coefficients as parameters.
For example if we assume a reversible reaction cDNA + n AuNP <-> Complex, you can write rate rules for this reaction as follows, where k1 and k2 are forward and reverse rate parameters:

In your simulations you can vary n to simulate different scenarios.
Fulden
7 Commenti
Lo
il 21 Lug 2023
Fulden Buyukozturk
il 21 Lug 2023
Modificato: Fulden Buyukozturk
il 21 Lug 2023
You either use a Rate Rue or a Reaction.
Marco Avila Ponce de Leon
il 21 Lug 2023
If you still have other questions, and it's easier for you, we could also set up a video call with a SimBiology-focused engineer to more efficiently answer them. Please feel free to reach either myself or @Fulden Buyukozturk directly from our community profiles and we can set up a time.
Lo
il 2 Ago 2023
Marco Avila Ponce de Leon
il 2 Ago 2023
Hello @Lo
Yes, I just replied. Looking forward to our discussion.
Lo
il 2 Ago 2023
Marco Avila Ponce de Leon
il 2 Ago 2023
Sounds good. I'll email you shortly.
Community
Più risposte nel SimBiology Community
Categorie
Scopri di più su Scan Parameter Ranges in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


