From: Andrew F. <af...@ph...> - 2006-06-23 10:47:33
|
That's better=20 > -----Original Message----- > From: sbm...@li...=20 > [mailto:sbm...@li...] On=20 > Behalf Of Stefan Mueller > Sent: 21 June 2006 14:36 > To: sbm...@li... > Subject: Re: [SOSlib-devel] mail for SBML list: variable=20 > Compartments in SBML[Scanned] >=20 > rainer, > there are more mistakes! > (please see below) >=20 > > hi, > > > > find below a draft for bringing this issue to the SBML list, as=20 > > suggested by Andrew. > > > > could you review? is the problem stated clearly and correctly? > > > > > > Dear SBML Community, > > > > As we recently wanted to model variable compartments we=20 > realized that=20 > > our tool - SOSlib - actually does not solve models with variable=20 > > compartments correctly. > > > > We wonder how other tools approach this topic. > > > > In summary: > > > > SOSlib constructs ODEs as recommended by the SBML specs, e.g.: > > > > species X1 in compartment V1, with concentration x1 =3D X1/V1=20 > species X2=20 > > and X3 in V2, with conc. as above > > > > Reactions: > > X1->X2; k1*X1*V1 // a translocation, k1 [1/sec] > > X2->X3; k2*X2*V2 // a unimolecular reaction, k2 [1/sec] > > > > Derived ODEs: > > dx1/dt =3D - ( k1 * X1* V1 ) / V1 > > dx2/dt =3D ( k1 * X1* V1 - k2 * X2 * V2 ) / V2 > > > > the kinetic laws are the SBML specific conversion of `classic' rate=20 > > law to substance/time units, instead of concentrations/time=20 > to allow=20 > > for easy software handling of multiple compartment models. > > > > If however, the volumes in the model are variable with time, i.e.=20 > > either an assignment rule or a rate rule, these equations=20 > would not be correct. >=20 > the following section is not very clear and/or wrong: > (please don't send this to the sbml list!) >=20 > > A numerical integration routine would start with the initial=20 > > concentration > > x(0) and add the changes during time t: > > > > x(t) =3D x(0) + dx/dt * t > > > > i.e. > > > > x(t) =3D X(0)/V(0) + dx/dt * t > > > > dx/dt is calculated correctly from above ODE because it=20 > also accounts=20 > > for changing compartments by explicit inclusion of the=20 > volume in the=20 > > kinetic law. > > > > However, the change of the initial concentration x(0) is=20 > not accounted=20 > > for anywhere. The solver should rather return: > > > > x(t) =3D X(0)/V(t) + dx/dt * t > > > > If x is a function of time and of volume V, x(t,V(t)), then the=20 > > correct ODE would actually be > > > > dx/dt =3D dx/dt + dx/dV * dV/dt > > > > Right? >=20 > no! > please use the following math: > (i already wrote it down in one of my previous mails :) ) >=20 > definitions: > x(t) ... conc > X(t) ... substance > V(t) ... compartment size >=20 > given a kinetic law for a reaction, > e.g. X->Y: r*x*V or X+Y->Z: r*x*y*V, > which explicitly includes the compartment size (!), the=20 > corresponding ode for substance X amounts to: > dX/dt =3D - r*x*V or - r*x*y*V, > or replacing conc by substances: > dX/dt =3D - r*X or - r*X*Y/V >=20 > the ode for conc can be derived by differentiating x=3DX/V: > dx/dt =3D (dX/dt)/V - x*(dV/dt)/V > where dX/dt is given by the kinetic law above. > i.e. we would get a correction term for variable compartment size. > this is the most important reason for using odes for substances! >=20 > > We are currently discussing different solutions and their=20 > dangers for=20 > > SOSlib, i.e. how to correctly convert the ODE system to an=20 > ODE system=20 > > in amount/time instead of concentration/time or whether the above=20 > > partial differential equation could or should be=20 > implemented instead. > > > > It would be helpful for us to hear how other tools handle variable=20 > > compartments. > > > > > > And BTW, it might be good to indicate it as good practice NOT to=20 > > convert parameters e.g. from [1/sec] to [litre/sec] to=20 > obtain correct=20 > > units for SBML kinetic laws, but to explicitly keep the=20 > volume in the=20 > > formula! This would allow changing the compartment size or=20 > even making=20 > > the variable, at least for tools which do it correctly. > > E.g. the model in the specs, section 5.6 will not be valid=20 > anymore if=20 > > someone wanted to change the volume sizes! > > > > Such rather unconvential volume-dependent rate `constants' can be=20 > > quite dangerous! > > > > > > Rainer > > > > > > > > Rainer Machne > > Institute for Theoretical Chemistry > > University of Vienna > > Austria > > > > > > _______________________________________________ > > sbmlsolver-devel mailing list > > sbm...@li... > > https://lists.sourceforge.net/lists/listinfo/sbmlsolver-devel >=20 >=20 > _______________________________________________ > sbmlsolver-devel mailing list > sbm...@li... > https://lists.sourceforge.net/lists/listinfo/sbmlsolver-devel >=20 |