Re: [cellml-discussion] curation of BioModels Database

2007-07-19 Thread David Nickerson
 For example, models that are designed simply as test-cases 
 for particular expected software behaviour - where the structure and 
 expected behaviour of the model are well known but not described in any 
 specific published article. From what I remember, MIRIAM uses published 
 articles as the reference description of a model in regard to MIRIAM 
 compliance, but could another source reference description be used in 
 model curation, albeit not in conjunction with MIRIAM compliance?
 
 This is actually incorrect. MIRIAM does not require publication in an 
 article. It requires a unique reference description, that can be an 
 article, a technical report, a web-page etc.

ok - thanks for the clarification!

 
 finally that one can reproduce published results *using different
 software than the one used by the authors*.
 I think this is very important requirement for model curation, but one 
 that is quite daunting for CellML models, especially CellML 1.1 based 
 models. One question I have is how different different tools need to be 
 to satisfy such curation? What I'm getting at is that there could 
 potentially be many different tools based on a common library (the 
 CellML API and code generation service, or libSBML for example), but to 
 me these wouldn't be different enough as the actual interpretation of 
 the model is essentially done by the common layer underneath whatever 
 extra bits the specific tool is adding in. Or is throwing the model 
 through a different numerical integrator, for example, enough to satisfy 
 this requirement?
 
 :-)
 
 We did not formalise that far. You are entirely right of course. Let's say 
 it very much depends on the model. Some can be simulated in many software 
 and it is easy to get the results using different solvers. Some tricky 
 models can only be simulated by a couple of software ...

this is also a problem for CellML models since (currently) only 
applications built using the CellML API C++ implementation from the 
Auckland group can handle the newer CellML 1.1 models. While you'd hope 
it never happens, it is possible for errors in the API implementation to 
show up differently in different applications. Not much we can do about 
it though, except to be aware of such factors while curating and 
annotating CellML models.


David.
___
cellml-discussion mailing list
cellml-discussion@cellml.org
http://www.cellml.org/mailman/listinfo/cellml-discussion


Re: [cellml-discussion] CellML 1.1.1 specification

2007-07-19 Thread Alan Garny
  If we had our specification in a version control system and tagged
 out
  releases and release candidates etc, and if we followed a protocol of
  releasing at least one stable minor release that marks depreciation
  only, then the following would be the result (in my mind)
 
  - The current trunk is the development version of cellml 1.2 (i.e.
  unreleased-dev).
  - This current trunk look likes CellML 1.1 and the associated
  definitions in DTDs etc.
  - We update this to mark out that reaction elements are going to be
  depreciated, this includes comments in DTDs etc. We don't remove
  reaction elements from the specification at this stage because that's
  where we hang the depreciation notices.
  - We tag this as 1.1.1 and release it
  - We then delete reaction elements from the specification that is on
 trunk.
 
  Now, this is the kind of process I think covers the steps you have
  been talking about and at the end makes available a trunk version of
  1.2-dev-unreleased that doesn't have reaction elements that people
 can
  check out an play with (this is essentially the proposal page the
  Andrew wrote up - though I think there are issues remaining now with
  the absence of biology from a Cell ML standard.
 
 yep - thats how I would see the specification evolving over time,
 subject, of course, to the various proposals being accepted and
 assigned
 to an appropriate version.
 
 I think the absence of biology from the core specification is probably
 a
 good thing, but there needs to be clear annotation of the specification
 describing how reactions should now be represented in a world without
 reactions - another best practice recommendation and examples in the
 model repository at the least, I would hope.
 
  But what I am also saying is that this is still just an idea, so it
  should be put forward as a proposal that has not been accepted. I.e.
  that the steps I described above are purely hypothetical at the
  moment, since we haven't had the chance to hear arguments from people
  about it - it might turn out to be a silly proposal.
 
 definitely. Your steps describe the process for how the specification
 may be updated, developed, etc., but each release will be the result of
 a set of proposals being accepted and assigned to that particular
 release.
 
 this is why the proposal to remove the reaction element should have
 first been put forward independently of any specific future version of
 CellML. In this discussion forum we could then debate the merits of
 this
 proposal and, if deemed suitable, develop a schedule for the
 implementation of the proposal (i.e., mark reaction element for
 deprecation in 1.1.1 and then remove the reaction element in 1.2).
 Other
 proposals would also be similarly evaluated and possibly assigned to
 the
 same or different releases of the CellML specification.
 
 It definitely should not, at this stage, be a forgone conclusion that
 the reaction element should be removed in 1.2 (or some specific future
 version of CellML) - that is still open to discussion in my mind,
 especially in regard to the tools that biomodels.net are using to
 import/export CellML models with their repository and any other tools
 utilising the reaction element, of which I don't think anyone has yet
 evaluated.

This is also how I see it: CellML 1.1.1 marking reaction element for
deprecation and then CellML 1.2 removing it.

Alan.

___
cellml-discussion mailing list
cellml-discussion@cellml.org
http://www.cellml.org/mailman/listinfo/cellml-discussion


Re: [cellml-discussion] embedded stimulus currents in CellML models

2007-07-19 Thread Alan Garny
  Depending on the end-user, it could be a, b and/or c, as well as
 the
  fact
  that apart from PCEnv, no other CellML-capable software that I am
  aware of
  can deal with CellML 1.1 models. This emphasises my view that we
 have
  to
  make the CellML API easy to use and provide several examples of its
  use.
 
  http://cellml.sourceforge.net :-)
 
  That is a good start indeed. Now, I am waiting for you to write the
  documentation... :)
 
 I was actually trying to get CellML2Dot running. I didn't try very
 hard... It's in the cellml-discussion archives (or if not the
 team-cellml, but I think the former.)
 
 It would definitely be cool to get some basic documentation for these
 tools. If you have a go at installing CellML2Dot in Linux Alan, let me
 know. I'd like to see Andre's simulator too. How does it differ from
 PCEnv or COR Andre?

Documentation is a big issue when it comes to academic tools. To my
experience, only a tiny proportion of those tools offer adequate
documentation (and I am ashamed to say that COR is not in that tiny
proportion). The reason is well known: even though things are starting to
change (e.g. with our COR grant), funding bodies don't usually value
software development very highly, hence they have to be developed as part of
another research project (or even during someone's free time!), meaning that
documentation is usually left aside (no time left for it!).

Hopefully, with the FP7 NoE and other ongoing projects, things will change
(it is, at least, very high on the Oxford agenda). We certainly do need to
do something about it, otherwise people may simply not bother using our
tools.

Alan.

___
cellml-discussion mailing list
cellml-discussion@cellml.org
http://www.cellml.org/mailman/listinfo/cellml-discussion


Re: [cellml-discussion] embedded stimulus currents in CellML models

2007-07-19 Thread Alan Garny
  It would definitely be cool to get some basic documentation for these
  tools. If you have a go at installing CellML2Dot in Linux Alan, let
 me
  know. I'd like to see Andre's simulator too. How does it differ from
  PCEnv or COR Andre?
 
 its quite different in that it has no GUI at all - it is a command line
 only application that simply processes my analysis metadata, cellml
 graphing metadata, and cellml simulation metadata to determine what
 simulations need to be run to produce the data required for the defined
 graphs and any analysis the user wants to perform. It uses the CellML
 API and CCGS to generate C code from CellML 1.1 models.
 
 There is no restriction to linux, as all the libraries I use are
 available on a whole bunch of platforms (I think?), including Windows
 and Macs...not that I have tried to build the tools under anything
 other
 than Linux :-)

Yes, it would be good to have some information for Windows and Mac... and in
fact for Linux too... :)

Still, I have managed to recompile it.

___
cellml-discussion mailing list
cellml-discussion@cellml.org
http://www.cellml.org/mailman/listinfo/cellml-discussion


Re: [cellml-discussion] curation of BioModels Database

2007-07-19 Thread Matt
Hi Nicolas,

 Users can currently submit models in CellML and SBML (VCML is coming).
 All the models are then converted to SBML, which is our internal format.

Can you point me to the transforms/code/alogorithm for this?

cheers
Matt
___
cellml-discussion mailing list
cellml-discussion@cellml.org
http://www.cellml.org/mailman/listinfo/cellml-discussion


Re: [cellml-discussion] curation of BioModels Database

2007-07-19 Thread Nicolas Le Novere
You can find our converters at:
http://www.ebi.ac.uk/compneur-srv/biomodels/download.html


Matt wrote:
 Hi Nicolas,
 
 Users can currently submit models in CellML and SBML (VCML is coming).
 All the models are then converted to SBML, which is our internal format.
 
 Can you point me to the transforms/code/alogorithm for this?
 
 cheers
 Matt
 ___
 cellml-discussion mailing list
 cellml-discussion@cellml.org
 http://www.cellml.org/mailman/listinfo/cellml-discussion


-- 
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: [EMAIL PROTECTED]
___
cellml-discussion mailing list
cellml-discussion@cellml.org
http://www.cellml.org/mailman/listinfo/cellml-discussion


Re: [cellml-discussion] CellML 1.1.1 specification

2007-07-19 Thread James Lawson
David Nickerson wrote:
 Matt wrote:
 It seems there is some misunderstanding as to whether we are discussing
 a proposal to remove the reaction element from CellML or a proposed new
 specification. I thought it was the latter but you seem to be talking
 about the former...

 Both. I think.

 So I will try another explanation.

 If we had our specification in a version control system and tagged out
 releases and release candidates etc, and if we followed a protocol of
 releasing at least one stable minor release that marks depreciation
 only, then the following would be the result (in my mind)

 - The current trunk is the development version of cellml 1.2 (i.e.
 unreleased-dev).
 - This current trunk look likes CellML 1.1 and the associated
 definitions in DTDs etc.
 - We update this to mark out that reaction elements are going to be
 depreciated, this includes comments in DTDs etc. We don't remove
 reaction elements from the specification at this stage because that's
 where we hang the depreciation notices.
 - We tag this as 1.1.1 and release it
 - We then delete reaction elements from the specification that is on trunk.

 Now, this is the kind of process I think covers the steps you have
 been talking about and at the end makes available a trunk version of
 1.2-dev-unreleased that doesn't have reaction elements that people can
 check out an play with (this is essentially the proposal page the
 Andrew wrote up - though I think there are issues remaining now with
 the absence of biology from a Cell ML standard.
 
 yep - thats how I would see the specification evolving over time, 
 subject, of course, to the various proposals being accepted and assigned 
 to an appropriate version.
 
 I think the absence of biology from the core specification is probably a 
 good thing, 

It might be worth adding an editorial comment or similar to note that
the metadata is where the vast majority of biological information is
defined.

but there needs to be clear annotation of the specification
 describing how reactions should now be represented in a world without 
 reactions - another best practice recommendation and examples in the 
 model repository at the least, I would hope.

Yep, the 'signal transduction' tutorial will no longer be needed, since
its main purpose is to describe the best practice for use of reaction
elements to describe biochemical pathways. The question will be, do we
just remove it, or do we create a new tutorial that is biochem specific,
but doesn't talk about reaction elements. For example, there are two
main ways to code up a biochem model: either you can use equations that
describe, for example, the rate of change of conc. of species A, where
species A might have a few different processes acting on it, so this
equation would be a summation of the effect of these processes, OR, you
can split the equation into 'fluxes,' which represent just the effect of
one process on a species at a time. I think it would be worth writing a
best practice guide for writing biochem models, even if it is relatively
short, since there are a few things that are different from how an ephys
model should be coded up.

 
 But what I am also saying is that this is still just an idea, so it
 should be put forward as a proposal that has not been accepted. I.e.
 that the steps I described above are purely hypothetical at the
 moment, since we haven't had the chance to hear arguments from people
 about it - it might turn out to be a silly proposal.
 
 definitely. Your steps describe the process for how the specification 
 may be updated, developed, etc., but each release will be the result of 
 a set of proposals being accepted and assigned to that particular release.
 
 this is why the proposal to remove the reaction element should have 
 first been put forward independently of any specific future version of 
 CellML. 

Perhaps we could start by formalising the actual proposal to get rid of
the rxn element. Why are we doing it? How will we replace the purpose it
served, using metadata for example? I realise that this has been
discussed a lot in an informal manner, and was in fact decided well
before my time, but I guess if we're going to do something as major as
create a new spec version, we should build the foundations first.

In this discussion forum we could then debate the merits of this
 proposal and, if deemed suitable, develop a schedule for the 
 implementation of the proposal (i.e., mark reaction element for 
 deprecation in 1.1.1 and then remove the reaction element in 1.2). Other 
 proposals would also be similarly evaluated and possibly assigned to the 
 same or different releases of the CellML specification.
 
 It definitely should not, at this stage, be a forgone conclusion that 
 the reaction element should be removed in 1.2 (or some specific future 
 version of CellML) - that is still open to discussion in my mind,

It would be good to see a thorough list of pros and cons for the rxn
element.

If we do write a 

Re: [cellml-discussion] embedded stimulus currents in CellML models

2007-07-19 Thread James Lawson
Matt wrote:
 On 7/19/07, David Nickerson [EMAIL PROTECTED] wrote:
 Of course. And in the same sense you could simply delete the stimulus
 protocol component if you didn't want it. I think the issue is in fact a
 curation issue - we are specifying one of our curation 'levels' as
 model is the same as is described in the paper. If there is a stimulus
 protocol that isn't in the paper in the CellML model, then this curation
 standard is invalidated. This is fine, as it (hopefully) moves the model
 up to the next 'level,' which requires that the model be able to produce
 the appropriate output, but doesn't necessarily require that the model
 be identical to that described in the paper. So the solution is that we
 should really have both.
 
 So there is validation in the sense that there is a true
 representation of a publication - which more often than not is pretty
 useless, and there is validation in the sense that the model can
 demonstrate what we think was intended by the publication (most
 obviously produces the right results) but perhaps many changes in the
 underlying formulation.
 
 Is it ok to only offer the former as a historical version? 

I guess it depends if you define all versions that are not the most
recent version as 'historical.' What does historical mean here exactly?
But essentially, I think it's okay if it's noted in the model
documentation - perhaps a note on why the model won't run in a
simulator, and that this particular version might be better for
multicellular networks where the stimulus is externally defined? It's a
pretty simple matter to get a model to the point where it is complete
except for a stimulus protocol, upload it as version x, then add the
stimulus protocol and upload that as version y. To be honest, if people
are wanting to fiddle around with multicellular systems they probably
know what they're doing enough to be able to identify and delete an
extraneous stimulus component they don't want. The documentation will
identify it as 'foreign.'

and should
 it be necessary to actually do the former if we can easily see where
 the math needs to be written out differently?

Hmm, if it doesn't really take any effort to do, then the only reason
(besides the above,) I can think of not to do this, is that it just
creates extra versions that aren't particularly useful.

 ___
 cellml-discussion mailing list
 cellml-discussion@cellml.org
 http://www.cellml.org/mailman/listinfo/cellml-discussion

___
cellml-discussion mailing list
cellml-discussion@cellml.org
http://www.cellml.org/mailman/listinfo/cellml-discussion


Re: [cellml-discussion] CellML 1.1.1 specification

2007-07-19 Thread Matt
More generally I think this issue is tapping on the bigger issue of a
core modelling language and specification, and then special use cases,
of which biological modelling would be a particular case of.

Without reactions, we pretty much have that core language.

My inclination is that biological modelling is a specification of
minimum required annotation of mathematical models using the 'core'
language.

Poul's turn.


On 7/20/07, James Lawson [EMAIL PROTECTED] wrote:
 David Nickerson wrote:
  Matt wrote:
  It seems there is some misunderstanding as to whether we are discussing
  a proposal to remove the reaction element from CellML or a proposed new
  specification. I thought it was the latter but you seem to be talking
  about the former...
 
  Both. I think.
 
  So I will try another explanation.
 
  If we had our specification in a version control system and tagged out
  releases and release candidates etc, and if we followed a protocol of
  releasing at least one stable minor release that marks depreciation
  only, then the following would be the result (in my mind)
 
  - The current trunk is the development version of cellml 1.2 (i.e.
  unreleased-dev).
  - This current trunk look likes CellML 1.1 and the associated
  definitions in DTDs etc.
  - We update this to mark out that reaction elements are going to be
  depreciated, this includes comments in DTDs etc. We don't remove
  reaction elements from the specification at this stage because that's
  where we hang the depreciation notices.
  - We tag this as 1.1.1 and release it
  - We then delete reaction elements from the specification that is on trunk.
 
  Now, this is the kind of process I think covers the steps you have
  been talking about and at the end makes available a trunk version of
  1.2-dev-unreleased that doesn't have reaction elements that people can
  check out an play with (this is essentially the proposal page the
  Andrew wrote up - though I think there are issues remaining now with
  the absence of biology from a Cell ML standard.
 
  yep - thats how I would see the specification evolving over time,
  subject, of course, to the various proposals being accepted and assigned
  to an appropriate version.
 
  I think the absence of biology from the core specification is probably a
  good thing,

 It might be worth adding an editorial comment or similar to note that
 the metadata is where the vast majority of biological information is
 defined.

 but there needs to be clear annotation of the specification
  describing how reactions should now be represented in a world without
  reactions - another best practice recommendation and examples in the
  model repository at the least, I would hope.

 Yep, the 'signal transduction' tutorial will no longer be needed, since
 its main purpose is to describe the best practice for use of reaction
 elements to describe biochemical pathways. The question will be, do we
 just remove it, or do we create a new tutorial that is biochem specific,
 but doesn't talk about reaction elements. For example, there are two
 main ways to code up a biochem model: either you can use equations that
 describe, for example, the rate of change of conc. of species A, where
 species A might have a few different processes acting on it, so this
 equation would be a summation of the effect of these processes, OR, you
 can split the equation into 'fluxes,' which represent just the effect of
 one process on a species at a time. I think it would be worth writing a
 best practice guide for writing biochem models, even if it is relatively
 short, since there are a few things that are different from how an ephys
 model should be coded up.

 
  But what I am also saying is that this is still just an idea, so it
  should be put forward as a proposal that has not been accepted. I.e.
  that the steps I described above are purely hypothetical at the
  moment, since we haven't had the chance to hear arguments from people
  about it - it might turn out to be a silly proposal.
 
  definitely. Your steps describe the process for how the specification
  may be updated, developed, etc., but each release will be the result of
  a set of proposals being accepted and assigned to that particular release.
 
  this is why the proposal to remove the reaction element should have
  first been put forward independently of any specific future version of
  CellML.

 Perhaps we could start by formalising the actual proposal to get rid of
 the rxn element. Why are we doing it? How will we replace the purpose it
 served, using metadata for example? I realise that this has been
 discussed a lot in an informal manner, and was in fact decided well
 before my time, but I guess if we're going to do something as major as
 create a new spec version, we should build the foundations first.

 In this discussion forum we could then debate the merits of this
  proposal and, if deemed suitable, develop a schedule for the
  implementation of the proposal (i.e., mark