> I haven't been using Jsim, I've mainly been using PCEnv. It is my
> understanding that I can't use Jsim yet, from what others have told me,
> but I haven't checked that out myself.

I can't recall any reason why you couldn't use JSim - just like 
Jonathan's validator it will give you errors for inconsistent units. 
Then once the units are corrected you'll be able to run simulations and 
make sure that the corrected units version still gives correct results.

Until CellML 1.1 models are in the repository, all the models (without 
reaction elements) at level two curation status should run with no error 
in JSim and COR and PCEnv (and any other simulation tool that works). 
Unless someone has some examples of where JSim is failing? in which case 
I'm sure the JSim guys would be keen to help rectify the problem.

> Regarding the star system, I agree it is confusing. I'm just using it
> because it's there. If you have any ideas on a more robust way on
> presenting curation status to users, I'm all ears.
> 
> I agree unit checks are really essential to properly validating a model,
> but often there doesn't seem to be a way of getting everything to check
> out.

yet models are still being flagged as curated to level 2 curation - 
which requires that all units are consistent.

> For example, take this relatively simple model that I've just fixed.
> I've given it two stars because it nicely reproduces the figures in the
> paper it comes from. However, when I run Jonathan Cooper's validator on
> it, the following result comes up:
> 
> 
> "[EMAIL PROTECTED]:~/Desktop/tools/JC$ python validator.py
> ~/Desktop/goldbeter3.cellml
> Validating file /people/jlaw060/Desktop/goldbeter3.cellml against CellML 1.0
> Error checking units: Operator plus requires its operands to have
> dimensionally equivalent units; dimensionless and first_order_rate differ
>   Context: 1st expression in the 1st math element in component M
>   XPath: /*[1]/*[4]/*[8]/*[1]/*[3]/*[2]/*[3]
> Error checking units: Operator plus requires its operands to have
> dimensionally equivalent units; dimensionless and first_order_rate differ
>   Context: 1st expression in the 1st math element in component X
>   XPath: /*[1]/*[5]/*[8]/*[1]/*[3]/*[2]/*[3]
> Unrecognised namespaces used:
>   http://cellml.org/tmp-documentation
>   http://imc.org/vCard/3.0#
>   http://www.cellml.org/metadata/simulation/1.0#
> File is NOT valid CellML 1.0"
> 
> 
> The first equation it has a problem with is:
> 
> d(M)/d(time) = V1 * M_ / (K1 + M_) - V2 * M / (K2 + M)
> 
> where it doesn't like adding K1 to M_ (or K2 to M,) which have units
> "per minute" (first order rate) and "dimensionless" (fraction of
> concentration of:activated enzyme / total enzyme,) respectively.

this is clearly an error in the model, and personally I'd be worried 
about equations like this. For this example it is fine to give PCEnv two 
stars (assuming my definition of the stars is accurate and the results 
match those in the publication), but the curation status of the model is 
definitely not at level 2. At best it could be level 1, but the curation 
status *must* be evaluated in addition to getting the model running in 
PCEnv.

> Because of the way this model is built, getting the units to match would
> require drastically remaking it, and I don't think I'd know how to do
> it. I have some ideas, but only because this is a particularly simple
> model, with 3 differential equations and two algebraic expressions. In a
> larger model I would have absolutely no idea where to start.

sure - I'm not suggesting you do it all....unless you really want to :-)

what I am trying to say is that models should not be flagged as being 
curated to any level unless they have actually been curated. And that 
just because a model runs in one simulation tool and gives "correct" 
answers does not mean it is curated.

> So what is the solution to this? Only code up models in CellML that are
> perfect? Because technically, this model isn't valid CellML

The solution is to only add valid curation annotations to the models in 
the repository and when possible to start using Jonathan's validation 
tools and JSim to provide additional checks on the model.

At this stage, I'd be happy with giving a CellML 1.0 model without 
reactions a curation status of level 2 if and only if it runs in PCEnv 
and JSim without error and gives identical results (within some 
numerical tolerance) and passes Jonathan's validation tests without 
error. I'm suggesting PCEnv and JSim as they are the two main 
cross-platform simulation tools - but any two or more would do as long 
as one of them does complete units consistency checking (which I 
understand is not too far away for COR).

There is also the chance that you'll find models that are valid but fail 
one or more of the tests above for some reason. These are the kinds of 
models that application developers would like to see :-)

And just a final note for the model status documentation. You seem to 
add to previous documentation which in some cases starts to get a bit 
misleading. For example, the jafri_rice_winslow_1998_version01_variant01 
model has probably not been validated by Penny? It would probably make 
more sense to simply state the version/variant upon which the model 
comes from and what the new status of the model is....if that makes sense.


Andre.
_______________________________________________
cellml-discussion mailing list
[email protected]
http://www.cellml.org/mailman/listinfo/cellml-discussion

Reply via email to