Dear Hans
Thank you for raising this. It s, in fact, one of the issues discussed
at the recent combined CellML SBGN-SBO BioPAX MIASE Workshop held this
April on Waiheke Island. There is a clear need to be able to specify
discontinuous processes and events, such as you have described.
However, both CellML and SBML use a declarative specification of
models, described with content MathML. Event handling fits more
naturally with imperative descriptions of models so there is currently
no clean way of describing events using content MathML. SBML, which
also uses content MathML as its underlying mathematical description
language, has addressed this problem by augmenting the language with
events and reset rules. After some discussion at the recent workshop,
the consensus was that the next iteration of CellML (1.2) would
include facilities for specifying events and applying reset rules in a
way that is consistent with SBML. There are several reasons for taking
this approach: it is a method that fits reasonably naturally with
modellers' notion of describing such models; the solution has been
tested by the SBML community; the construct will be straightforward to
handle when translating between SBML and CellML. We are currently
working on the CellML 1.2 specification and plan to have a draft
released shortly with the addition of events and reset rules to handle
problems such as you have described.
Best wishes
Poul
On 2009-06-05, at 00:50, Dr. Hans Ekkehard Plesser wrote:
Hi Alan!
[Apologies for breaking the thread, I had subscribed to the list in
digest form.]
Thank you for your example. Unfortunately, fixed time-stepping
schemes where events (threshold
crossings and membrane potential resets) can occur only on a fixed
time grid are one of the big
no-nos in neuronal network modeling, since they can lead to strong
synchronization artefacts.
Indeed, quite a lot of research in recent years has focused on
algorithms to determine the exact
time of threshold crossings efficiencly. I'd be happy to send you
reference if you are interested.
Thus, if we wanted to use CellML to represent neuron models in a
general form, we would need a
possibility to represent instantaneous events in continuous time. I
believe SBML events provide
this, don't they?
Best,
Hans
----------------------------------------------------------------------
Message: 1
Date: Mon, 1 Jun 2009 12:17:54 +0100
From: "Alan Garny" <[email protected]>
Subject: Re: [cellml-discussion] Using CellML for simplified neuron
models?
To: "'CellML Discussion List'" <[email protected]>
Message-ID: <001001c9e2aa$9beba840$d3c2f8...@[email protected]>
Content-Type: text/plain; charset="us-ascii"
Hi Hans,
We are looking for a good way to describe and share neuron models,
and
CellML appears a good
candidate. The neuron models we are interested in consist mostly
of a
single compartment,
possibly of a small number of compartments.
As far as I can see, CellML appears well suited to describe the so-
called
subthreshold dynamics
of model neurons. But I am wondering if CellML can also capture
(or be
extended to capture) the
threshold operation present in most simplified neuron models.
Briefly, the
model dynamics are
integrated according to a set of differential equations. When the
membrane
potential of the
neuron crosses a certain threshold, the neuron is said to "fire":
the
membrane potential is
reset to a certain value instantaneuously, and often clamped at
that value
for a certain period
of time afterwards (refractory period); also, an output signal is
generated.
In simple
pseudocode, this would look like:
while ( simulation time not up )
process input
update dynamics according to ODE
if ( neuron is refractory )
V_m = V_reset
count down "refractoriness"
if ( V_m > Threshold )
V_m = V_reset
emit output signal
count up time
I believe this could easily be done, as long as you are OK with the
following:
- this would require integrating the model using an integration
technique
that relies on a fixed time step. In my experience, anything will
make your
resetting of Vm difficult.
- your output signal (Vm?) will always be generated.
Attached is a very simple CellML file (based on the van der Pol
model) that
illustrates the kind of thing I think you are after. You want to
plot the x
and y parameters (see attached screenshot).
Alan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Test.cellml
Type: application/octet-stream
Size: 4144 bytes
Desc: not available
URL: <http://www.cellml.org/pipermail/cellml-discussion/attachments/20090601/4c57e696/attachment.obj
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Test.png
Type: image/png
Size: 77437 bytes
Desc: not available
URL: <http://www.cellml.org/pipermail/cellml-discussion/attachments/20090601/4c57e696/attachment.png
>
------------------------------
_______________________________________________
cellml-discussion mailing list
[email protected]
http://www.cellml.org/mailman/listinfo/cellml-discussion
End of cellml-discussion Digest, Vol 59, Issue 1
************************************************
--
Dr. Hans Ekkehard Plesser
Associate Professor
Dept. of Mathematical Sciences and Technology
Norwegian University of Life Sciences
Phone +47 6496 5467
Fax +47 6496 5401
Email [email protected]
Home http://arken.umb.no/~plesser
_______________________________________________
cellml-discussion mailing list
[email protected]
http://www.cellml.org/mailman/listinfo/cellml-discussion
_______________________________________________
cellml-discussion mailing list
[email protected]
http://www.cellml.org/mailman/listinfo/cellml-discussion