|
On Tue, 5 Jun 2007, Sven Sahle wrote:
> It is quite obvious that if you encode a unit in sbml using the "new way" and
> then interprete it the "old way", as you did, the result will be wrong. If
> you encode the old way, and then interprete the old way, it will be correct:
>
> sbml code old way:
> <listOfUnitDefinitions>
> <unitDefinition id="umolPerSqIn">
> <listOfUnits>
> <unit kind="mole" scale="-6" />
> <unit kind="metre" multiplier="0.00064516" exponent="-2" />
> </listOfUnits>
> </unitDefinition>
> </listOfUnitDefinitions>
>
> old interpretation: mole x 1e-6 x 0.00064516 m^(-2)
>
> new interpretation: mole x 1e-6 x (0.00064516 m)^(-2)
>
> The first is right, the second is wrong. Which is understandable, since it was
> encoded the old way. And I can see that in this example the new way looks
> more intuitive.
>
> What I really do not get at all is: Why do you consider the old
> interpretation "wrong"? Itīs just a mathematical definition.
>
> Old: Unit=multiplier*10^scale*baseunit^exponent
> New: Unit=(multiplier*10^scale*baseunit)^exponent
Sven, you are right of course. But a little unfair. To be honest, at the time of L2V1 release I don't think the majority of people writting unit conversion software would have considered
<unit kind="metre" multiplier="0.00064516" exponent="-2" />
as the correct way to encode for "per square inch". This is what we would write now after all the discussions we had, in order to tweak the broken unit system to nevertheless get the result right.
I may be wrong, so I'll stop here. It seems we all agree anyway :-)
--
Nicolas LE NOVERE, Computational Neurobiology,
EMBL-EBI, Wellcome-Trust Genome Campus, Hinxton, Cambridge, CB10 1SD, UK
Tel: +44(0)1223494521, Fax: 468, Mob: +44(0)7833147074 Skype:n.lenovere
http://www.ebi.ac.uk/~lenov, AIM: nlenovere, MSN: nlenovere@hotmail.com
|