Is the new version of SBML suitable for individual modeling / disease modeling?

17 views
Skip to first unread message

Jacob Barhak

unread,
Mar 27, 2017, 7:32:03 PM3/27/17
to sbml-d...@googlegroups.com
Greetings,

Some of you may recall a discussion that took place over the last two years about suitability of SBML for disease modeling. Here is a link to the discussion thread:

In a nutshell it was concluded that SBML has potential, yet was not year ready for disease modeling that involves individual modeling such as micro-simulation where each individual has a set of characteristics and each individual is simulated independently using the same model.

At that time it seemed that the library called SBMLMulti has potential to solve this problem.

I just met Herbert Sauro last week at the NIH and  he told me that new SBML specs have been released including SBML Multi. I decided to revisit this thread to see if SBML multi can now model more complicated disease models such as examples 4 and 5 in the thread I quote above that use individual modeling?

Hopefully there was progress.

                    Jacob


Nicolas Le Novere

unread,
Mar 27, 2017, 7:36:31 PM3/27/17
to sbml-d...@googlegroups.com
Dear Jacob,

Indeed, Multi can bring some of the features you need. If the purpose is to generate populations of patients from the same model but with initial conditions and parameters sampled from distributions (as is done in pharmacometrics), you might want to test the package "distrib" currently in development. And of course contribute to its development and support :-)

http://sbml.org/Documents/Specifications/SBML_Level_3/Packages/distrib

Best regards

On 28/03/17 00:32, Jacob Barhak wrote:
> Greetings,
>
> Some of you may recall a discussion that took place over the last two years about suitability of SBML for disease modeling. Here is a link to the discussion thread:
> https://groups.google.com/forum/#!searchin/sbml-discuss/barhak%7Csort:relevance/sbml-discuss/PB_nMzqswIQ/T-OO1neGBwAJ
> _
> _
> In a nutshell it was concluded that SBML has potential, yet was not year ready for disease modeling that involves individual modeling such as micro-simulation where each individual has a set of characteristics and each individual is simulated independently using the same model.
>
> At that time it seemed that the library called SBMLMulti has potential to solve this problem.
>
> I just met Herbert Sauro last week at the NIH and he told me that new SBML specs have been released including SBML Multi. I decided to revisit this thread to see if SBML multi can now model more complicated disease models such as examples 4 and 5 in the thread I quote above that use individual modeling?
>
> Hopefully there was progress.
>
> Jacob
>
> --
> Jacob Barhak Ph.D.
> http://sites.google.com/site/jacobbarhak/
>
> --
> You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss...@googlegroups.com <mailto:sbml-discuss...@googlegroups.com>.
> To post to this group, send email to sbml-d...@googlegroups.com <mailto:sbml-d...@googlegroups.com>.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sbml-discuss/CAM_y%2B3RSV9z%2BC5-TkfrEiu1wW3UNnOTncz64OJAN6CD%2B0e3YYw%40mail.gmail.com <https://groups.google.com/d/msgid/sbml-discuss/CAM_y%2B3RSV9z%2BC5-TkfrEiu1wW3UNnOTncz64OJAN6CD%2B0e3YYw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.


--
Nicolas LE NOVERE, Babraham Institute, Babraham Campus Cambridge, CB22 3AT
Tel: +441223496433 Mob:+447833147074 n.len...@gmail.com
orcid.org//0000-0002-6309-7327 http://lenoverelab.org/perso/lenov/
Skype:n.lenovere twitter:@lenovere http://nlenov.wordpress.com/


Jacob Barhak

unread,
Mar 27, 2017, 9:54:31 PM3/27/17
to sbml-discuss, n.len...@gmail.com
Ok Nicolas,

You are referring to initialization of simulation issues. This is an important topic that requires attention. I have been working on this for years now and will be glad to contribute knowledge. Thanks for pointing it out. Let me know how I can help.

However, my question was what happens after you have the initial data at hand and want to simulate a table of individuals with different characteristics such as Blood Pressure, HDL, levels, Age etc. that change during simulation and affect outcomes such as stroke or death. 

We had long discussions on this and came to a conclusion that SBML itself is not sufficient and we need to add individuals into the mix. MULTI was supposed to do this and was now announced. I am trying to revisit the same question asked a couple of years ago with hope that progress made enables disease modelers to use SBML.

Hopefully progress made is sufficient.

               Jacob


On Monday, March 27, 2017 at 6:36:31 PM UTC-5, n.lenovere wrote:
Dear Jacob,

Indeed, Multi can bring some of the features you need. If the purpose is to generate populations of patients from the same model but with initial conditions and parameters sampled from distributions (as is done in pharmacometrics), you might want to test the package "distrib" currently in development. And of course contribute to its development and support :-)

http://sbml.org/Documents/Specifications/SBML_Level_3/Packages/distrib

Best regards

On 28/03/17 00:32, Jacob Barhak wrote:
> Greetings,
>
> Some of you may recall a discussion that took place over the last two years about suitability of SBML for disease modeling. Here is a link to the discussion thread:
> https://groups.google.com/forum/#!searchin/sbml-discuss/barhak%7Csort:relevance/sbml-discuss/PB_nMzqswIQ/T-OO1neGBwAJ
> _
> _
> In a nutshell it was concluded that SBML has potential, yet was not year ready for disease modeling that involves individual modeling such as micro-simulation where each individual has a set of characteristics and each individual is simulated independently using the same model.
>
> At that time it seemed that the library called SBMLMulti has potential to solve this problem.
>
> I just met Herbert Sauro last week at the NIH and  he told me that new SBML specs have been released including SBML Multi. I decided to revisit this thread to see if SBML multi can now model more complicated disease models such as examples 4 and 5 in the thread I quote above that use individual modeling?
>
> Hopefully there was progress.
>
>                     Jacob
>
> --
> Jacob Barhak Ph.D.
> http://sites.google.com/site/jacobbarhak/
>
> --
> You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss...@googlegroups.com <mailto:sbml-discuss+unsub...@googlegroups.com>.

Nicolas Le Novere

unread,
Mar 28, 2017, 3:22:49 AM3/28/17
to Jacob Barhak, sbml-discuss
On 28/03/17 02:54, Jacob Barhak wrote:

> However, my question was what happens after you have the initial data at hand and want to simulate a table of individuals with different characteristics such as Blood Pressure, HDL, levels, Age etc. that change during simulation and affect outcomes such as stroke or death.

Have you considered using the array package to track your population of individuals?

http://sbml.org/Documents/Specifications/SBML_Level_3/Packages/arrays

Jacob Barhak

unread,
Mar 28, 2017, 11:09:02 AM3/28/17
to n.len...@gmail.com, sbml-discuss
So Nicolas,

The Array option seems to have elements needed such as attributes and array size and can flatten a model - this is at the end of the specification document.

And I noticed that Lucian was involved with the writing of the document. Lucian was the person who helped me with the questions I initially posted. So I assume that he would have mentioned arrays when I first asked, so there must be a reason why the array package is not what I am looking for. I assume that at the time it was not implemented by a software package. Is it implemented now?

If it has an implementation, how will it solve the simple problem I called example 3. Here it is again:

There are three disease states: Healthy, Sick, Dead.
There are two categories: Male, Female.
The yearly transition probabilities are:
- Healthy to Dead: 0.01.
- Healthy to Sick: 0.2 for Male, 0.1 for Female.
- Sick to Healthy: 0.1.
- Sick to Dead: 0.3.


The initial conditions are that there are 50 males all healthy and 50 females all healthy.

We are seeking the number of male and female at each state after 10 years.

Can the Array package solve this problem more elegantly than just flattening the model?

Hopefully this clarifies what I am asking and hopefully the new SBML spec can now formulate this.

              Jacob

Lucian Smith

unread,
Mar 28, 2017, 12:23:10 PM3/28/17
to sbml-d...@googlegroups.com, Discussions of the SBML Level 3 'multi' package, Nicolas Le Novere
The thing that has happened since you asked last is that Multi was released.  Multi was actually a key component of what you wanted for your disease models, so hey!

In this case, you would have a 'person' element, with one 'feature' that could be either 'male' or 'female', and another 'feature' that would be 'healthy', 'sick', or 'dead'.  Then you define your five transitions just as you described them:

(either) (healthy) -> (either) (dead)
(male) (healthy) -> (male) (sick)
(female) (healthy) -> (female)(sick)
(either)(sick) -> (either)(healthy)
(either)(sick) -> (either)(dead)

I'm copying the 'multi' package list for this, since I don't know how explicitly to encode this in multi, but I do know it can be done.

-Lucian

--
You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to sbml-d...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sbml-discuss/CAM_y%2B3TMCMDszFr1mTd-tdTbcnS%3DOc4XD3xbBwnGU9UnXhzJBg%40mail.gmail.com.

Fengkai Zhang

unread,
Mar 28, 2017, 3:31:57 PM3/28/17
to sbml-d...@googlegroups.com

Hi Jacob,


Thanks for bringing this up! Right, the sbml-multi spec was just accepted and released. The library of libsbml-multi is currently available at the experimental branch of the libsbml svn repository and will be included in the next release of libsbml stable version in April.


I was reviewing the previous discussions and the examples.  Feel the sbml-multi package fits well to the use of your models, especially in handling multiple states of subjects and state transitions.  The sbml-multi model file attached is corresponding to your example 3 and was generated using the libsbml-multi library.

The model first create a speciesType "person" with features diseaseState and sex. The diseaseState has three possible values, "healthy", "sick" and "dead". Sex has two possible values "male" and "female".

The following species are defined by referencing the "person" speciesType.
healthyPerson = diseaseState: healthy + sex: no specified (means "don't care" or "either")
sickPerson = diseaseState: sick + sex: no specified (means "don't care" or "either")
deadPerson = diseaseState: dead + sex: no specified (means "don't care" or "either")
healthyMale = diseaseState: healthy + sex: male, initial amount: 50
healthyFemale = diseaseState: healthy + sex: female, initial amount: 50

Reactions:
1: healthyToDead: rate 0.1
2: healthyToSickMale: rate 0.2
3: healthyToSickFemale: rate 0.1
4: sickToHealthy: rate 0.1
5: sickToDead: rate 0.3

One thing in the model file is the way to handle male/female cohorts. Two rules "healthyToSickMale" and "heathyToSickFemale" are applied. I noticed that you numerated the variable with value 1 and 0 to represent male and female in your model and transition matrix. SBML-Multi does have "numericValue" as an attribute of possibleSpeciesFeatureValue. I will see if I can find a way to use that in reaction rules for your models, or, it could be something we can work on to add to the package.

I will look at the details of your other examples, and see to how the sbml-multi package can cover your models as well as identify the items we need/could add to the sbml-multi package.

Thanks,

Fengkai
--
You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss...@googlegroups.com.

To post to this group, send email to sbml-d...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

-- 

====================
Fengkai Zhang, MD, MMath
Staff Scientist
Laboratory of Systems Biology, DIR, NIAID
9000 Rockville Pike
Building 4, Room 137
MSC 0421
Bethesda MD 20892
Phone: 301.761.5442
Fax: 301.480.1660
NIAID, National Institutes of Health, DHHS

******************************************************************
The information in this e-mail and any of its attachments is confidential and may contain sensitive information. It should not be used by anyone who is not the original intended recipient. If you have received this e-mail in error please inform the sender and delete it from your mailbox or any other storage devices. National Institute of Allergy and Infectious Diseases shall not accept liability for any statements made that are sender's own and not expressly made on behalf of the NIAID by one of its representatives.
******************************************************************
diseaseModel_example3.xml

Chris Myers

unread,
Mar 28, 2017, 3:33:38 PM3/28/17
to sbml-d...@googlegroups.com, Discussions of the SBML Level 3 'multi' package, Nicolas Le Novere
Multi is likely the right approach as Lucian points out.  However, multi and arrays are related assuming multi models are encoded into sparse arrays.

I thought I would add to the discussion the status of arrays just for your information.  My student Leandro Watanabe and myself wrote the arrays specification based on input from many sources including an old proposal, Lucian, Sarah, and community discussions.  Both JSBML and libSBML support the arrays package, as does the iBioSim software package.  Unfortunately though there has not been a second software package pick it up, so its development has been stalled.  We published a simulator for the arrays package here:


This paper describes the implementation within iBioSim and its applications to cellular populations, which is perhaps related to what you are trying to accomplish.

Cheers,

Chris

To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss...@googlegroups.com.

To post to this group, send email to sbml-d...@googlegroups.com.

Jacob Barhak

unread,
Mar 28, 2017, 4:29:03 PM3/28/17
to sbml-discuss
Thanks Fengkai,

It seems you can split some states using Multi and adjust the model to avoid full duplication of all states so the model remains compact. However, what happens when one covariates is a float used in an equation, for example let us introduce age as a float and ask transition probabilities to depend on it.

This can be seen more clearly when looking at Example 4 I showed in the past - I am brining it up again since a correction was needed for transition probabilities not to exceed 1. You can find the corrected version below.

Lucian mentioned that you can treat the Age increase with an event. However, how do you treat the transition probabilities in SBML Multi? Is this the tool recommended for use?

Hopefully SBML Multi or SBML Array can handle this.

                Jacob



#####################

Example 4:

There are 3 disease states:
Healthy, Sick, Dead
There are 100 individuals. Each individual has two parameters describing them:
Male, Age

The yearly transition probabilities are :
Healthy to Dead: Age/1000
Healthy to Sick: Min( 0.8, 0.1* (1 + Male) +  0.01*Age)
Sick to Healthy 0.1
Sick to Dead:  Min( 0.9, 0.01*Age+0.2*Male)


During simulation, each time step we want Age of each individual to increase by 1 before any transitions are executed:
Age <- Age + 1

Initial conditions:
Healthy = All 100 individuals, Sick = None , Dead = None
Initial Population:
Male = 0,1,0,1 .... (100 times)
Age = 1,2,3,4,...100

Output sought:
Number of people in each state each year and possibly stratified by age groups and Male categories.


#####################


To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss+unsubscribe@googlegroups.com.

To post to this group, send email to sbml-d...@googlegroups.com.

-- 

====================
Fengkai Zhang, MD, MMath
Staff Scientist
Laboratory of Systems Biology, DIR, NIAID
9000 Rockville Pike
Building 4, Room 137
MSC 0421
Bethesda MD 20892
Phone: 301.761.5442
Fax: 301.480.1660
NIAID, National Institutes of Health, DHHS

******************************************************************
The information in this e-mail and any of its attachments is confidential and may contain sensitive information. It should not be used by anyone who is not the original intended recipient. If you have received this e-mail in error please inform the sender and delete it from your mailbox or any other storage devices. National Institute of Allergy and Infectious Diseases shall not accept liability for any statements made that are sender's own and not expressly made on behalf of the NIAID by one of its representatives.
******************************************************************

--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sbml-discuss+unsubscribe@googlegroups.com.

To post to this group, send email to sbml-d...@googlegroups.com.

Jacob Barhak

unread,
Mar 28, 2017, 4:42:12 PM3/28/17
to sbml-discuss
Hi Chris,

If you are handling population as defined in your title, then you are most probably trying to solve problems similar to the disease models..

Can SBML Array formulate Example 4 I added to my last message? Can iBioSim solve it?

Also, are there any other population modelers who use SBML? If so, I am interested in what they do since the population modeling working group is assembling a review paper and it will be nice to have SBML there. I will send you a personal email regarding this. Hopefully there are others.

             Jacob





--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sbml-discuss+unsubscribe@googlegroups.com.

To post to this group, send email to sbml-d...@googlegroups.com.

Leandro Watanabe

unread,
Mar 28, 2017, 6:26:36 PM3/28/17
to sbml-d...@googlegroups.com
Hi Jacob,

Here is how you would encode your model using arrays. I can generate the actual xml file for the model but I tried encoding the model through text because it might be a little bit easier to read.

You essentially encode individuals by having separate parameters arrays for each state (health, age, male) where each index corresponds to an individual. You use array dimensions to indicate when a parameter is an array and use array index to reference an element in an array (I used a bracket like age[d0] in the example to represent this). 

/* -------------------------------------------------------------- */

## constant parameter for array size
parameter n = 100
constant = true

## initialize disease states as an array
## use numerical values for representing each state
parameter health;
dimension:
arrayDimension: 0
arraySize: n
initialValue = 0;

## array of age
parameter age
dimension:
arrayDimension: 0
arraySize: n

## initialize age array
initialAssignment
variable: age
dimension:
arrayDimension: 0
arraySize: n
math = d0 + 1 ## if you want to initialize as 1, 2, 3, 4, 5 ...

## array of age
## use 0 and 1 to represent not male or male
parameter male
dimension:
arrayDimension: 0
arraySize: n

## initialize sex
initialAssignment
variable: male
dimension:
arrayDimension: 0
arraySize: n
math = d0 mod 2 ## if you want to initialize as 0 1 0 1

parameter state0
dimension:
arrayDimension: 0
arraySize: n
initialValue: 1

parameter state1
dimension:
arrayDimension: 0
arraySize: n
initialValue: 0

## simple petri net for control flow using array of 2 different events. 
## Periodically update event every dt time steps (1 year or 365 days or whatever)
event transition0
dimension:
arrayDimension: 0
arraySize: n
dimension id: d0

delay: dt # whatever units you use for year
trigger: state0[d0] == 1
event assignments:
state0[d0] = 0
state[d1] = 1
age[d0] = age[d0] + 1
## patient state update
health[d0] = …. ## sample from distribution and update health state. Needs distrib

event transition1
dimension:
arrayDimension: 0
arraySize: n
dimension id: d0
delay: dt # whatever units you use for year
trigger: state1[d0] == 1
event assignments:
state0[d0] = 1
state[d1] = 0

/* -------------------------------------------------------------- */

The following illustrates how the model behaves (not a direct translation but it is effectively what the model will do) if you are more familiar with programming languages:

n = 100;
age = new parameter[n];
health = new parameter[n];
male = new parameter[n];
dt = 1;

for(int i = 0; i < n; ++i)
{
   health[d0] = 0;
   age[d0] = d0;
   male[d0] = d0 % 2;
}

while (time <= timeLimit)
{
   time = time + dt;
   for(int i = 0; i < n; ++i)
   {
       health[d0] = .... ;
   }
}

Thanks,
Leandro

Chris Myers

unread,
Mar 28, 2017, 7:09:26 PM3/28/17
to sbml-d...@googlegroups.com
Hi Jacob,

I took a stab at mocking this up using arrays.  It is pretty similar to what Leandro outlined.  I used an array of size 100 to represent the 100 individuals.  Each individual is characterized by Sex/Age.  I used a Petri net to construct the state machine for each individual.  There is a place (circle) for each state and a transition (box) for each state transition.  In SBML, these are actually parameters and events, but it is nice syntactic sugar.  Each transition (event) has a priority which is an exponential random variable with a lambda parameter 1/(probability of transition).  To support this distribution, we must also use the distrib package.  Each transition fires with a delay of 1, and it changes the state of each individual randomly based on this distribution and increases their age by one (exception of t3/t7 that are used to represent no change of state, delay of 0 on these).  I’ve attached the SBML model image, SBML model file, and simulation result.

This appears to be a nasty disease.  If I did the model right, everyone is dead within 30 years!

Chris 

Disease.xml
DiseaseModel.jpg
Mortality.jpg

Jacob Barhak

unread,
Mar 28, 2017, 8:34:38 PM3/28/17
to sbml-discuss
Thanks Leonardo, Thanks Chris,

This is marvelous. What you have demonstrated is that SBML has capabilities of modeling a microsimualtion model. And moreover, that this can be standardized using a common modeling language  - SBML.

This is great - let me first explain the importance. The last Mount Hood diabetes challenge revolved around transparency this last year. Currently disease modelers have no sharing standards and this affects the field.

As Chris noticed this is a bogus disease example. However, it includes elements that appear in many disease models.

There are a few more issues that are of interest for a more complicated disease model such as: order of execution of statements, random initialization, multiple concurrent processes, and reports,

I can go on with more complicated examples and we can explore those. With enough examples we can create a continuation paper showing SBML suitability for disease models.

However, you have taken the time to do this and I do not wish to impose on your time further without invitation, If you are interested we can go on. Hopefully you can find the time for this.

            Jacob














--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sbml-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to sbml-d...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sbml-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to sbml-d...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sbml-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to sbml-d...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sbml-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to sbml-d...@googlegroups.com.

Zhang, Fengkai (NIH/NIAID) [E]

unread,
Mar 28, 2017, 9:39:19 PM3/28/17
to sbml-d...@googlegroups.com
Hi Jacob,

Your question regarding floating covariates of individual entities in equations is an issue when treating sbml species as pools of entities. Multi tries to extend species with multi states as “pattern” species to simplify reactions rules. Still, the extended species are typically treated as pools rather than individual entities.

After looking at the models of the array package, I also think the array models fit very well to what you want. Thanks, Leonardo and Chris! I will continue to follow the discussion of this thread, and try to see if multi can offer any help.

Regards,

Fengkai

====================

Fengkai Zhang, MD, MMath
Staff Scientist
Laboratory of Systems Biology, DIR, NIAID
9000 Rockville Pike
Building 4, Room 137
MSC 0421
Bethesda MD 20892
Phone: 301.761.5442
Fax: 301.480.1660
NIAID, National Institutes of Health, DHHS

******************************************************************
The information in this e-mail and any of its attachments is confidential and may contain sensitive information. It should not be used by anyone who is not the original intended recipient. If you have received this e-mail in error please inform the sender and delete it from your mailbox or any other storage devices. National Institute of Allergy and Infectious Diseases shall not accept liability for any statements made that are sender's own and not expressly made on behalf of the NIAID by one of its representatives.
******************************************************************

On 3/28/17, 8:34 PM, "Jacob Barhak" <jacob....@gmail.com> wrote:

Thanks Leonardo, Thanks Chris,


This is marvelous. What you have demonstrated is that SBML has capabilities of modeling a microsimualtion model. And moreover, that this can be standardized using a common modeling language - SBML.


This is great - let me first explain the importance. The last Mount Hood diabetes challenge revolved around transparency this last year. Currently disease modelers have no sharing standards and this affects the field.



As Chris noticed this is a bogus disease example. However, it includes elements that appear in many disease models.


There are a few more issues that are of interest for a more complicated disease model such as: order of execution of statements, random initialization, multiple concurrent processes, and reports,


I can go on with more complicated examples and we can explore those. With enough examples we can create a continuation paper showing SBML suitability for disease models.



However, you have taken the time to do this and I do not wish to impose on your time further without invitation, If you are interested we can go on. Hopefully you can find the time for this.


Jacob




























On Tue, Mar 28, 2017 at 6:09 PM, Chris Myers
<my...@ece.utah.edu> wrote:

Hi Jacob,


I took a stab at mocking this up using arrays. It is pretty similar to what Leandro outlined. I used an array of size 100 to represent the 100 individuals. Each individual is characterized by Sex/Age. I used a Petri net to construct the state machine
for each individual. There is a place (circle) for each state and a transition (box) for each state transition. In SBML, these are actually parameters and events, but it is nice syntactic sugar. Each transition (event) has a priority which is an exponential
random variable with a lambda parameter 1/(probability of transition). To support this distribution, we must also use the distrib package. Each transition fires with a delay of 1, and it changes the state of each individual randomly based on this distribution
and increases their age by one (exception of t3/t7 that are used to represent no change of state, delay of 0 on these). I’ve attached the SBML model image, SBML model file, and simulation result.


This appears to be a nasty disease. If I did the model right, everyone is dead within 30 years!


Chris



--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe <https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe>.
To unsubscribe from this group and all its topics, send an email to
sbml-discuss...@googlegroups.com <mailto:sbml-discuss...@googlegroups.com>.
To post to this group, send email to
sbml-d...@googlegroups.com <mailto:sbml-d...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sbml-discuss/E72BE147-01E0-4A86-A527-B43EFEBAEB78%40ece.utah.edu <https://groups.google.com/d/msgid/sbml-discuss/E72BE147-01E0-4A86-A527-B43EFEBAEB78%40ece.utah.edu?utm_medium=email&utm_source=footer>.

For more options, visit
https://groups.google.com/d/optout <https://groups.google.com/d/optout>.




--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe <https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe>.
To unsubscribe from this group and all its topics, send an email to
sbml-discuss...@googlegroups.com <mailto:sbml-discuss...@googlegroups.com>.
To post to this group, send email to
sbml-d...@googlegroups.com <mailto:sbml-d...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sbml-discuss/E72BE147-01E0-4A86-A527-B43EFEBAEB78%40ece.utah.edu <https://groups.google.com/d/msgid/sbml-discuss/E72BE147-01E0-4A86-A527-B43EFEBAEB78%40ece.utah.edu?utm_medium=email&utm_source=footer>.
For more options, visit
https://groups.google.com/d/optout <https://groups.google.com/d/optout>.


--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe <https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe>.
To unsubscribe from this group and all its topics, send an email to
sbml-discuss...@googlegroups.com <mailto:sbml-discuss...@googlegroups.com>.
To post to this group, send email to
sbml-d...@googlegroups.com <mailto:sbml-d...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sbml-discuss/E72BE147-01E0-4A86-A527-B43EFEBAEB78%40ece.utah.edu <https://groups.google.com/d/msgid/sbml-discuss/E72BE147-01E0-4A86-A527-B43EFEBAEB78%40ece.utah.edu?utm_medium=email&utm_source=footer>.
For more options, visit
https://groups.google.com/d/optout <https://groups.google.com/d/optout>.
Jacob


On Tue, Mar 28, 2017 at 2:22 AM, Nicolas Le Novere
<n.len...@gmail.com> wrote:

On 28/03/17 02:54, Jacob Barhak wrote:

However, my question was what happens after you have the initial data at hand and want to simulate a table of individuals with different characteristics such as Blood Pressure, HDL, levels, Age etc. that change during simulation and affect outcomes such as
stroke or death.



Have you considered using the array package to track your population of individuals?

http://sbml.org/Documents/Specifications/SBML_Level_3/Packages/arrays

--
Nicolas LE NOVERE, Babraham Institute, Babraham Campus Cambridge, CB22 3AT
Tel: +441223496433 <tel:+44%201223%20496433> Mob:+447833147074 <tel:+44%207833%20147074> n.len...@gmail.com
orcid.org//0000-0002-6309-7327 <http://orcid.org//0000-0002-6309-7327>
http://lenoverelab.org/perso/lenov/
Skype:n.lenovere twitter:@lenovere
http://nlenov.wordpress.com/ <http://nlenov.wordpress.com/>









--
You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
sbml-discuss...@googlegroups.com.
To post to this group, send email to
sbml-d...@googlegroups.com <mailto:sbml-d...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sbml-discuss/CAM_y%2B3TMCMDszFr1mTd-tdTbcnS%3DOc4XD3xbBwnGU9UnXhzJBg%40mail.gmail.com <https://groups.google.com/d/msgid/sbml-discuss/CAM_y%2B3TMCMDszFr1mTd-tdTbcnS%3DOc4XD3xbBwnGU9UnXhzJBg%40mail.gmail.com?utm_medium=email&utm_source=footer>.

For more options, visit
https://groups.google.com/d/optout <https://groups.google.com/d/optout>.










--
You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
sbml-discuss...@googlegroups.com.
To post to this group, send email to
sbml-d...@googlegroups.com <mailto:sbml-d...@googlegroups.com>.


To view this discussion on the web visit
https://groups.google.com/d/msgid/sbml-discuss/CAHLmBr0Xp%3DKSLd0EWOvpM6RPCbYAo-0pJQyfruzO%3DWB%3Di%2B10uw%40mail.gmail.com <https://groups.google.com/d/msgid/sbml-discuss/CAHLmBr0Xp%3DKSLd0EWOvpM6RPCbYAo-0pJQyfruzO%3DWB%3Di%2B10uw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
For more options, visit
https://groups.google.com/d/optout <https://groups.google.com/d/optout>.










--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe <https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe>.
To unsubscribe from this group and all its topics, send an email to
sbml-discuss...@googlegroups.com <mailto:sbml-discuss...@googlegroups.com>.
To post to this group, send email to
sbml-d...@googlegroups.com <mailto:sbml-d...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sbml-discuss/9C5A10B0-2E5C-41DF-9212-AC8AB3617383%40ece.utah.edu <https://groups.google.com/d/msgid/sbml-discuss/9C5A10B0-2E5C-41DF-9212-AC8AB3617383%40ece.utah.edu?utm_medium=email&utm_source=footer>.

For more options, visit
https://groups.google.com/d/optout <https://groups.google.com/d/optout>.









--
You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
sbml-discuss...@googlegroups.com.
To post to this group, send email to
sbml-d...@googlegroups.com <mailto:sbml-d...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sbml-discuss/CAM_y%2B3R%3DGzKVZ-NXjKV1UUVtJ9Lu4%2BML8d4RAG5ng0pTzDHOcw%40mail.gmail.com <https://groups.google.com/d/msgid/sbml-discuss/CAM_y%2B3R%3DGzKVZ-NXjKV1UUVtJ9Lu4%2BML8d4RAG5ng0pTzDHOcw%40mail.gmail.com?utm_medium=email&utm_source=footer>.

For more options, visit
https://groups.google.com/d/optout <https://groups.google.com/d/optout>.









--
You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
sbml-discuss...@googlegroups.com.
To post to this group, send email to
sbml-d...@googlegroups.com <mailto:sbml-d...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sbml-discuss/CAN1fttCwTh%3DNOasa6vw40awiHrJXRditxvrTZ4qiHm1m3aQk%3Dw%40mail.gmail.com <https://groups.google.com/d/msgid/sbml-discuss/CAN1fttCwTh%3DNOasa6vw40awiHrJXRditxvrTZ4qiHm1m3aQk%3Dw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
For more options, visit
https://groups.google.com/d/optout <https://groups.google.com/d/optout>.







--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe <https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe>.
To unsubscribe from this group and all its topics, send an email to
sbml-discuss...@googlegroups.com <mailto:sbml-discuss...@googlegroups.com>.
To post to this group, send email to
sbml-d...@googlegroups.com <mailto:sbml-d...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sbml-discuss/E72BE147-01E0-4A86-A527-B43EFEBAEB78%40ece.utah.edu <https://groups.google.com/d/msgid/sbml-discuss/E72BE147-01E0-4A86-A527-B43EFEBAEB78%40ece.utah.edu?utm_medium=email&utm_source=footer>.
For more options, visit
https://groups.google.com/d/optout <https://groups.google.com/d/optout>.






--
You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
sbml-discuss...@googlegroups.com.
To post to this group, send email to
sbml-d...@googlegroups.com <mailto:sbml-d...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sbml-discuss/CAM_y%2B3RPzsf0Dw-bk3um_5ULrnZ9kNREYFfnDnW_aM2KcJmLvQ%40mail.gmail.com <https://groups.google.com/d/msgid/sbml-discuss/CAM_y%2B3RPzsf0Dw-bk3um_5ULrnZ9kNREYFfnDnW_aM2KcJmLvQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.

Jacob Barhak

unread,
Mar 28, 2017, 10:43:23 PM3/28/17
to sbml-discuss
Thanks Fengkai,

Your effort is appreciated.

From what I understand Multi may be best to describe situations that may eventually need High Performance Computing support due to a large number of combinations possible. I have this problem after I have different assumptions that I need to combine with different populations - it blows up close to exponentially. Yet it is not in the scope of what  I am asking here.

Having multidimensional support is for sure important, yet SBML array seems to be a better solution for micro-simulation models.

            Jacob


    To post to this group, send email to

    To view this discussion on the web visit
    https://groups.google.com/d/msgid/sbml-discuss/E72BE147-01E0-4A86-A527-B43EFEBAEB78%40ece.utah.edu <https://groups.google.com/d/msgid/sbml-discuss/E72BE147-01E0-4A86-A527-B43EFEBAEB78%40ece.utah.edu?utm_medium=email&utm_source=footer>.

    For more options, visit
    https://groups.google.com/d/optout <https://groups.google.com/d/optout>.




    --
    You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
    To unsubscribe from this topic, visit
    https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe <https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe>.
    To unsubscribe from this group and all its topics, send an email to

    To post to this group, send email to

    To view this discussion on the web visit
    https://groups.google.com/d/msgid/sbml-discuss/E72BE147-01E0-4A86-A527-B43EFEBAEB78%40ece.utah.edu <https://groups.google.com/d/msgid/sbml-discuss/E72BE147-01E0-4A86-A527-B43EFEBAEB78%40ece.utah.edu?utm_medium=email&utm_source=footer>.
    For more options, visit
    https://groups.google.com/d/optout <https://groups.google.com/d/optout>.


    --
    You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
    To unsubscribe from this topic, visit
    https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe <https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe>.
    To unsubscribe from this group and all its topics, send an email to

    To post to this group, send email to

    To post to this group, send email to










    --
    You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to

    To post to this group, send email to



    To view this discussion on the web visit
    https://groups.google.com/d/msgid/sbml-discuss/CAHLmBr0Xp%3DKSLd0EWOvpM6RPCbYAo-0pJQyfruzO%3DWB%3Di%2B10uw%40mail.gmail.com <https://groups.google.com/d/msgid/sbml-discuss/CAHLmBr0Xp%3DKSLd0EWOvpM6RPCbYAo-0pJQyfruzO%3DWB%3Di%2B10uw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
    For more options, visit
    https://groups.google.com/d/optout <https://groups.google.com/d/optout>.










    --
    You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
    To unsubscribe from this topic, visit
    https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe <https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe>.
    To unsubscribe from this group and all its topics, send an email to

    To post to this group, send email to









    --
    You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to

    To post to this group, send email to









    --
    You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to

    To post to this group, send email to

    To view this discussion on the web visit
    https://groups.google.com/d/msgid/sbml-discuss/CAN1fttCwTh%3DNOasa6vw40awiHrJXRditxvrTZ4qiHm1m3aQk%3Dw%40mail.gmail.com <https://groups.google.com/d/msgid/sbml-discuss/CAN1fttCwTh%3DNOasa6vw40awiHrJXRditxvrTZ4qiHm1m3aQk%3Dw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
    For more options, visit
    https://groups.google.com/d/optout <https://groups.google.com/d/optout>.







    --
    You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
    To unsubscribe from this topic, visit
    https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe <https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe>.
    To unsubscribe from this group and all its topics, send an email to

    To post to this group, send email to






    --
    You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to

    To post to this group, send email to
    For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sbml-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to sbml-d...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sbml-discuss/7625FD6C-8B74-4473-864C-4270E2EACAA8%40niaid.nih.gov.

Chris Myers

unread,
Mar 28, 2017, 10:58:11 PM3/28/17
to sbml-d...@googlegroups.com
Hi Jacob,

We are indeed pleased to find arrays are useful to your problem domain.  We are definitely interested in continuing the conversation, especially if you or your collaborators are willing to add SBML Arrays support to your software.  We are in need of a 2nd implementation to make the arrays package official.

Cheers,

Chris

To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss...@googlegroups.com.

To post to this group, send email to sbml-d...@googlegroups.com.

Jacob Barhak

unread,
Mar 29, 2017, 6:09:28 PM3/29/17
to sbml-discuss
So Chris,

Your offer on collaboration is interesting, and I was thinking about it for the last day. The opportunity to interface with SBML is intriguing and seems to be the best option I see now and I want to explore it a bit further.

My questions about disease models started since I am working on the topic for a decade now. I have developed a system called MIcro Simulation Tool (MIST) that allows modeling clinical trials. A large part of it is public and available on Github:


The system does not support SBML since I did not know SBML existed until Herbert and I started communicating about 3-4 years ago in the data and model sharing working group under IMAG. Last MSM-IMAG meeting, about a year an a half ago, Michael Hucka was collecting information about MIST and Herbert gave a good tutorial of SBML tools so I started wondering if a connection is possible. This is how I started the thread about Disease models using SBML.

My conclusion from last year was that more development was needed for SBML to be suitable for complex disease models . This year it seems SBML Array can solve many of the issues as you demonstrated.

Moreover, participation in the last Mount Hood Diabetes challenge held this summer has shown that disease modelers need better tools for model sharing. Since SBML seems to be a large standard with a vibrant community it seems like a good opportunity to explore. So I am positive about collaboration here.

However, before I make any commitment, allow me to explain my constraints.

1. MIST was designed with its own language and many features geared towards disease modeling - some of them like population generation seem to be out of scope for SBML. Also SBML may have features that MIST does not support. Even without going to details, I am pretty sure MIST will not be able to import any SBML file unless a large portion of it is rewritten which I have no intention of doing. However, I can explore the possibility of exporting SBML output from MIST - will this be sufficient for SBML array to be accepted formally? If so, I can start diving deeper into the topic.

2. My knowledge with SBML is limited and without the experts on this list, it would be too difficult to accomplish and as you have seen, my questions are quite demanding, after all I am new to SBML. If I can rely on your support, I will be happy to explore further. For example, pointing out correct literature and  testing SBML outputs can be easier if someone else helps - and I do ask a lot of questions.

3. My time and resources for doing this are quite limited, I can dedicate a month or perhaps a couple of months at most towards an attempt to generate SBML output, and that is, if all the pieces are in place now with SBML array and perhaps other libraries.

If you think that producing MIST SBML output under the constraints above is possible and worthwhile, I will be happy to give it a try.

I'll be happy to learn your thoughts on this.

                 Jacob


To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss+unsubscribe@googlegroups.com.

To post to this group, send email to sbml-d...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sbml-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to sbml-d...@googlegroups.com.

Chris Myers

unread,
Mar 31, 2017, 4:46:53 AM3/31/17
to sbml-d...@googlegroups.com
Hi Jacob,

However, before I make any commitment, allow me to explain my constraints.

1. MIST was designed with its own language and many features geared towards disease modeling - some of them like population generation seem to be out of scope for SBML. Also SBML may have features that MIST does not support. Even without going to details, I am pretty sure MIST will not be able to import any SBML file unless a large portion of it is rewritten which I have no intention of doing. However, I can explore the possibility of exporting SBML output from MIST - will this be sufficient for SBML array to be accepted formally? If so, I can start diving deeper into the topic.

I’ll let the current editors comment on this one, but my feeling is two tools that support a package either import or export, should be sufficient.  However, I would certainly understand if two tools only support export OR only support import would not demonstrate exchange.  In our case, we could certainly validate exchange by importing your generated files.

2. My knowledge with SBML is limited and without the experts on this list, it would be too difficult to accomplish and as you have seen, my questions are quite demanding, after all I am new to SBML. If I can rely on your support, I will be happy to explore further. For example, pointing out correct literature and  testing SBML outputs can be easier if someone else helps - and I do ask a lot of questions.

We are very much invested in getting arrays accepted by the SBML community, so we are very happy to answer these questions as best we can.  

3. My time and resources for doing this are quite limited, I can dedicate a month or perhaps a couple of months at most towards an attempt to generate SBML output, and that is, if all the pieces are in place now with SBML array and perhaps other libraries.

Since the arrays package is supported in libSBML, it is not very difficult to add export support to your software.  You essentially just need to map your internal data model to the SBML data model in libSBML.  The library will handle the rest for you.  I would be surprised if this even took a month.  Granted I’m not familiar with your data model, so there may certainly be some constructs that are difficult to map, but hopefully a fairly large subset can be mapped in a coherent way.

Cheers,

Chris

To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss...@googlegroups.com.

To post to this group, send email to sbml-d...@googlegroups.com.

Jacob Barhak

unread,
Apr 1, 2017, 2:13:08 PM4/1/17
to sbml-discuss
Ok Chris,

You convinced me to look at this further.

However I run into technical trouble, so I am starting another thread - hopefully I am on the correct SBML list for troubleshooting.

No promises, yet let us see how it goes - the aim is to see how difficult it is to export from MIST to SBML.

I hope it will be as easy as you suggest.

           Jacob



Hi Jacob,
To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss+unsubscribe@googlegroups.com.

To post to this group, send email to sbml-d...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sbml-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to sbml-d...@googlegroups.com.

Zhang, Fengkai (NIH/NIAID) [E]

unread,
Apr 2, 2017, 9:35:48 AM4/2/17
to sbml-d...@googlegroups.com
Hi Chris and Jacob,

Regarding the requirement of two software implementations, Multi has the similar situation. At the time of acceptance, Simmune supports both export and import, and BioNetGen supports export. An example (export a BioNetGen model to multi, and import the multi model to Simmune) was provided in the release request to demonstrate model exchange. The model simulation results by Simmune and BioNetGen were provided to demonstrate the consistency and also to show two applications interpret the model in the same way. (The request to release Multi was submitted before I joined the editor board and then I was excused from the approving process.)

The current SBML editors discussed the array package and consider it is reasonable to accept two software implementations in the same way as Multi. The mathematics of the model package implementation should show consistent results, and the interpretations of a model by the supporting applications should be consistent.


Fengkai
(On behalf of the SBML editors)

Chris Myers

unread,
Apr 2, 2017, 2:14:21 PM4/2/17
to sbml-d...@googlegroups.com
Good to know.

Thanks,

Chris

--
You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss...@googlegroups.com.
To post to this group, send email to sbml-d...@googlegroups.com.

Jacob Barhak

unread,
Apr 4, 2017, 12:56:32 AM4/4/17
to sbml-discuss
Ok Chris,

The first hurdle of installing SBMLLib has been passed. I was reading the manual today to figure out the next few steps.

You said I should map my model - I think I figured it out to some degree.

After reading the manual I figured that there are many features that are not compatible with what I do. However, I think I can manage exporting simpler disease models such as the one you created.

My next step is figuring out the skeleton of the model. You mentioned that you used SBMLLib to write the small program you sent me results of. Do you have the code - I can use this as a skeleton for conversion. It will save me at least a few hours if not more.

I am still exploring this. I do not know how difficult it will become on how much time it will take, nor if I can finish, yet I will give it a try with time I have.

Hopefully it will prove easier than predicted.

                  Jacob

On Sun, Apr 2, 2017 at 11:22 AM, Chris Myers <my...@ece.utah.edu> wrote:
Good to know.

Thanks,

Chris
On Apr 2, 2017, at 2:33 PM, Zhang, Fengkai (NIH/NIAID) [E] <zhan...@niaid.nih.gov> wrote:

Hi Chris and Jacob,

Regarding the requirement of two software implementations, Multi has the similar situation. At the time of acceptance, Simmune supports both export and import, and BioNetGen supports export. An example (export a BioNetGen model to multi, and import the multi model to Simmune) was provided in the release request to demonstrate model exchange. The model simulation results by Simmune and BioNetGen were provided to demonstrate the consistency and also to show two applications interpret the model in the same way. (The request to release Multi was submitted before I joined the editor board and then I was excused from the approving process.)

The current SBML editors discussed the array package and consider it is reasonable to accept two software implementations in the same way as Multi. The mathematics of the model package implementation should show consistent results, and the interpretations of a model by the supporting applications should be consistent.


Fengkai
(On behalf of the SBML editors)


On 3/31/17 4:46 AM, Chris Myers wrote:
Hi Jacob,

However, before I make any commitment, allow me to explain my constraints.

1. MIST was designed with its own language and many features geared towards disease modeling - some of them like population generation seem to be out of scope for SBML. Also SBML may have features that MIST does not support. Even without going to details, I am pretty sure MIST will not be able to import any SBML file unless a large portion of it is rewritten which I have no intention of doing. However, I can explore the possibility of exporting SBML output from MIST - will this be sufficient for SBML array to be accepted formally? If so, I can start diving deeper into the topic.

I’ll let the current editors comment on this one, but my feeling is two tools that support a package either import or export, should be sufficient.  However, I would certainly understand if two tools only support export OR only support import would not demonstrate exchange.  In our case, we could certainly validate exchange by importing your generated files.


--
You received this message because you are subscribed to the Google Groups "sbml-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sbml-discuss+unsubscribe@googlegroups.com.

To post to this group, send email to sbml-d...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sbml-discuss/58E0FDBF.5030909%40niaid.nih.gov.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "sbml-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sbml-discuss/gQsLHmP5i9U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sbml-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to sbml-d...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages