|
Howard, a possible solution to your problem is to create an intermediate
language. The idea here is that your program uses the intermediate
language as it's native format, as a result you can do what ever you
like with it, take what ever shortcuts etc you need to run your program
at full speed. Then you create a converter that uses libSBML to go from
your intermediate language to SBML and back again. If the process is
lossy sometimes that doesn't matter because your software is a
specialist, it's not the run of the mill 'generate odes and solve kind
of tool'.
If your software is really innovative then the inability to read every
possible sbml model shouldn't worry users because what they're after is
not so much sbml compliance (they can get that from the 100+ other
simulators out there) but the extra special thing that your software
does and no other tool has and which is difficult for sbml to represent.
Sure it's a niche 'market', but what are you trying to do, write another
ode solver tool or do something new?
SBML can't solve every problem, research moves forward and I agree that
SBML should not prevent those who wish to push the envelope, and it
doesn't.
Hebrert Sauro
-----Original Message-----
From: Howard Salis [mailto:salis@cems.umn.edu]
Sent: Thursday, December 22, 2005 12:14 PM
To: SBML Discussion List
Subject: Re: [sbml-discuss] SBML L2v2 specification vote #4: References
to controlled vocabularies
So here's a practical question to get the discussion on something
useful: What happens when a program receives an SBML file that it can't
fully read? Well, what happens now (there are plenty of programs out
there that either do not support SBML or only support certain parts of
it)? I think a good answer is that a warning should be issued to the
user (as suggested by Ralph and others). The user can then decide
whether he can manually fix the problem or switch to some other
software.
But, imo, a bad solution is to start ostracizing developers who only
support certain aspects of SBML and not others. What purpose does this
serve?
If you have the sboTerms, you can write down the correct MathML
expression for other programs to use. But if you don't have the
sboTerms, then only programs that can read the MathML expressions can
read the SBML file. So including the sboTerms actually gives you readily
accessible information about the reaction rate law/etc. Of course, by
using the sboTerms you are limiting the number of possible reaction rate
laws to the ones in the database. But there really aren't that many
useful rate laws. No more than 1000. This is a small number for a
database.
>
>
>>(Can I be the first to coin the phrase 'SBML Nazi'? Akin to
>>Fashion/Grammar. Or is that too politically incorrect?)
>>
>>
>>
>
>I, for one, find that term deeply offensive.
>
>Sincerely,
>
>Jeremy
>
>
>
It's a joke. No need to be offended. (As a Jewish guy myself, I am
not offended when someone uses the word 'Nazi' to simply denote fascist
behavior. For example, I found the Seinfeld episode on the Soup Nazi to
be extremely funny. ) But, I digress.
-Howard Salis
|