Is it possible to deactivate all reactions within a compartment in SimBiology?

1 view (last 30 days)
I would like to test a selected submodule of my model, which amounts to switching off other unwanted compartments which contain computational heavy model parts. Additionally, I would like to be able to do it from command line (without manual deactivating reaction).
Arthur Goldsipe
Arthur Goldsipe on 7 Dec 2022
I think it will be straightforward but perhaps a little tedious to write a function do do this. So I didn't want to go into all the details until I made sure I was going to answer the question you were actually asking. :-)

Sign in to comment.

Accepted Answer

Arthur Goldsipe
Arthur Goldsipe on 7 Dec 2022
I think the getBlock function will give you the information you need to determine whether a reaction is inside a compartment. It will return the position of blocks. In pseudocode, it might look something like this:
  • Make sure the model is open in the Model Builder app.
  • Use getBlock to find the boundaries of all compartments you want to disable the reaction in.
  • For each reaction in the model
  • Use getBlock to determine the boundaries of the reaction.
  • See if those boundaries are within the boundaries of any compartment (perhaps using inpolygon).
  • If so, set the reaction's Active property to false.

More Answers (0)


Find more on Extend Modeling Environment 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!

Translated by