> 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
