<?xml version=
"1.0"
?>
<!--
FILE : basic_ep_model_with_encapsulation.xml
CREATED : 29 December 2000
LAST MODIFIED : 22nd July 2002
AUTHOR : Warren Hedley (w.hedley@auckland.ac.nz)
Department of Engineering Science
The University of Auckland
DESCRIPTION : In this CellML file, the simple electro-physiological/membrane
model presented in the examples section of the CellML website is extended
to introduce the grouping concept, with particular emphasis on the
encapsulation relationship. The model and associated markup have been
created solely for demonstration purposes and is not expected to behave
physiologically realistically.
Only features that weren't in the original basic e-p model are commented
in this file.
-->
<model
name="
basic_ep_model_with_encapsulation
"
xmlns="
http://www.cellml.org/cellml/1.0#
"
xmlns:cellml="
http://www.cellml.org/cellml/1.0#
"
xmlns:cmeta="
http://www.cellml.org/metadata/1.0#
"
>
<rdf:RDF
xmlns:rdf="
http://www.w3.org/1999/02/22-rdf-syntax-ns#
"
xmlns:bqs="
http://www.cellml.org/bqs/1.0#
"
xmlns:dc="
http://purl.org/dc/elements/1.1/
"
xmlns:dcterms="
http://purl.org/dc/terms/
"
xmlns:vCard="
http://www.w3.org/2001/vcard-rdf/3.0#
"
>
<!--
The following RDF block contains metadata that applies to this document
as a whole, as indicated by the empty about attribute on the
<rdf:Description> element.
-->
<rdf:Description
rdf:about="
"
>
<!--
The Model Builder Metadata. The Dublin Core "creator" element is used
to indicate the person who translated the model into CellML.
-->
<dc:creator
rdf:parseType="
Resource
"
>
<vCard:N
rdf:parseType="
Resource
"
>
<vCard:Family
>
Hedley
</vCard:Family>
<vCard:Given
>
Warren
</vCard:Given>
</vCard:N>
<vCard:ORG
rdf:parseType="
Resource
"
>
<vCard:Orgname
>
The University of Auckland
</vCard:Orgname>
<vCard:Orgunit
>
The Engineering Science Department
</vCard:Orgunit>
</vCard:ORG>
</dc:creator>
<!--
The Creation Date metadata. This is the date on which the model
was translated into CellML.
-->
<dcterms:created
rdf:parseType="
Resource
"
>
<dcterms:W3CDTF
>
2000-11-20
</dcterms:W3CDTF>
</dcterms:created>
<!--
The Last Modified Date metadata. This is the date on which
the model was last changed.
-->
<cmeta:modification
rdf:parseType="
Resource
"
>
<rdf:value
>
Added metadata.
</rdf:value>
<cmeta:modifier
rdf:parseType="
Resource
"
>
<vCard:N
rdf:parseType="
Resource
"
>
<vCard:Family
>
Lloyd
</vCard:Family>
<vCard:Given
>
Catherine
</vCard:Given>
<vCard:Other
>
May
</vCard:Other>
</vCard:N>
</cmeta:modifier>
<dcterms:modified
rdf:parseType="
Resource
"
>
<dcterms:W3CDTF
>
2002-07-22
</dcterms:W3CDTF>
</dcterms:modified>
</cmeta:modification>
<!-- The Publisher metadata. -->
<dc:publisher
>
The University of Auckland, Bioengineering Institute
</dc:publisher>
</rdf:Description>
<!--
The following metadata refers to the model itself, as indicated by the
reference to the ID "basic_ep_model_with_encapsulation", which is
declared on the <model> element.
-->
<rdf:Description
rdf:about="
#basic_ep_model_with_encapsulation
"
>
<!-- A human readable name for the model. -->
<dc:title
>
A Simple Electrophysiological Model With Encapsulation
</dc:title>
<!-- A comment regarding the model. -->
<cmeta:comment
rdf:parseType="
Resource
"
>
<rdf:value
>
Below is a CellML description of a simple electrophysiological model with encapsulation.
The purpose of this description is to illustrate how CellML can be
used to model ionic currents and changes in ionic concentrations within a cell.
</rdf:value>
<!-- The creator of the comment. -->
<dc:creator
>
<vCard:FN
>
Catherine Lloyd
</vCard:FN>
</dc:creator>
</cmeta:comment>
</rdf:Description>
</rdf:RDF>
<units
name="
concentration_units
"
>
<unit
prefix="
milli
"
units="
mole
"
/>
<unit
units="
litre
"
exponent="
-1
"
/>
</units>
<units
name="
flux_units
"
>
<unit
units="
concentration_units
"
/>
<unit
units="
second
"
exponent="
-1
"
/>
</units>
<units
name="
rate_constant
"
>
<unit
units="
second
"
exponent="
-1
"
/>
</units>
<component
name="
environment
"
>
<variable
name="
time
"
public_interface="
out
"
units="
second
"
/>
</component>
<component
name="
intra_cellular_space
"
>
<!-- the following variables are used in other components -->
<variable
name="
Na
"
public_interface="
out
"
units="
concentration_units
"
/>
<variable
name="
Ca
"
public_interface="
out
"
units="
concentration_units
"
/>
<!-- the following variables are imported from other components -->
<variable
name="
time
"
public_interface="
in
"
units="
second
"
/>
<variable
name="
I_Na
"
public_interface="
in
"
units="
flux_units
"
/>
<variable
name="
I_Ca
"
public_interface="
in
"
units="
flux_units
"
/>
<math
xmlns="
http://www.w3.org/1998/Math/MathML
"
>
<apply
>
<eq
/>
<apply
>
<diff
/>
<bvar
>
<ci
>
time
</ci>
</bvar>
<ci
>
Na
</ci>
</apply>
<ci
>
I_Na
</ci>
</apply>
<apply
>
<eq
/>
<apply
>
<diff
/>
<bvar
>
<ci
>
time
</ci>
</bvar>
<ci
>
Ca
</ci>
</apply>
<ci
>
I_Ca
</ci>
</apply>
</math>
</component>
<component
name="
extra_cellular_space
"
>
<!-- the following variables are used in other components -->
<variable
name="
Na
"
public_interface="
out
"
units="
concentration_units
"
/>
<variable
name="
Ca
"
public_interface="
out
"
units="
concentration_units
"
/>
<!-- the following variables are imported from other components -->
<variable
name="
time
"
public_interface="
in
"
units="
second
"
/>
<variable
name="
I_Na
"
public_interface="
in
"
units="
flux_units
"
/>
<variable
name="
I_Ca
"
public_interface="
in
"
units="
flux_units
"
/>
<math
xmlns="
http://www.w3.org/1998/Math/MathML
"
>
<apply
>
<eq
/>
<apply
>
<diff
/>
<bvar
>
<ci
>
time
</ci>
</bvar>
<ci
>
Na
</ci>
</apply>
<apply
>
<times
/>
<cn
cellml:units="
dimensionless
"
>
-1.0
</cn>
<ci
>
I_Na
</ci>
</apply>
</apply>
<apply
>
<eq
/>
<apply
>
<diff
/>
<bvar
>
<ci
>
time
</ci>
</bvar>
<ci
>
Ca
</ci>
</apply>
<apply
>
<times
/>
<cn
cellml:units="
dimensionless
"
>
-1.0
</cn>
<ci
>
I_Ca
</ci>
</apply>
</apply>
</math>
</component>
<!--
In the extended e-p model, the membrane encapsulates two components
representing the sodium and calcium channels. The rate constants and
math for the fluxes is now in the channel components.
-->
<component
name="
cell_membrane
"
>
<!--
The sodium and calcium fluxes are calculated in the encapsulated
components and passed up to the membrane component and then out to the
intra- and extra-cellular subspaces, so the fluxes have a private
interface value of "in" and a public interface value of "out".
-->
<variable
name="
I_Na
"
public_interface="
out
"
private_interface="
in
"
units="
flux_units
"
/>
<variable
name="
I_Ca
"
public_interface="
out
"
private_interface="
in
"
units="
flux_units
"
/>
<!--
The concentrations of the ions in the intra- and extra-cellular
subspaces is needed for the flux calculations, so these have a public
interface value of "in" and a private interface value of "out".
-->
<variable
name="
Na_i
"
public_interface="
in
"
private_interface="
out
"
units="
concentration_units
"
/>
<variable
name="
Na_e
"
public_interface="
in
"
private_interface="
out
"
units="
concentration_units
"
/>
<variable
name="
Ca_i
"
public_interface="
in
"
private_interface="
out
"
units="
concentration_units
"
/>
<variable
name="
Ca_e
"
public_interface="
in
"
private_interface="
out
"
units="
concentration_units
"
/>
</component>
<!--
The sodium channel component doesn't know that it is encapsulated, and
the variables that declare a public interface are visible to both sibling
components (components encapsulated in the same group) as well as the
parent encapsulating component.
-->
<component
name="
sodium_channel
"
>
<variable
name="
I_Na
"
public_interface="
out
"
units="
flux_units
"
/>
<variable
name="
Na_i
"
public_interface="
in
"
units="
concentration_units
"
/>
<variable
name="
Na_e
"
public_interface="
in
"
units="
concentration_units
"
/>
<!-- The rate constant is only used internally so has no interface -->
<variable
name="
v_Na
"
initial_value="
1.0e-8
"
units="
rate_constant
"
/>
<math
xmlns="
http://www.w3.org/1998/Math/MathML
"
>
<apply
>
<eq
/>
<ci
>
I_Na
</ci>
<apply
>
<times
/>
<ci
>
v_Na
</ci>
<apply
>
<minus
/>
<ci
>
Na_i
</ci>
<ci
>
Na_e
</ci>
</apply>
</apply>
</apply>
</math>
</component>
<!--
The calcium channel is identical to the sodium channel. Note that when
the component re-use scheme for CellML is properly defined, we would
declare one generic channel component class, and then create two instances
of that class, setting the rate constant appropriately for each channel.
-->
<component
name="
calcium_channel
"
>
<variable
name="
I_Ca
"
public_interface="
out
"
units="
flux_units
"
/>
<variable
name="
Ca_i
"
public_interface="
in
"
units="
concentration_units
"
/>
<variable
name="
Ca_e
"
public_interface="
in
"
units="
concentration_units
"
/>
<variable
name="
v_Ca
"
initial_value="
1.5e-8
"
units="
rate_constant
"
/>
<math
xmlns="
http://www.w3.org/1998/Math/MathML
"
>
<apply
>
<eq
/>
<ci
>
I_Ca
</ci>
<apply
>
<times
/>
<ci
>
v_Ca
</ci>
<apply
>
<minus
/>
<ci
>
Ca_i
</ci>
<ci
>
Ca_e
</ci>
</apply>
</apply>
</apply>
</math>
</component>
<!--
The encapsulation relationship between the cell membrane and the sodium
and calcium channels is defined inside the following <group> element. The
group references the membrane as a major component and the two channels as
minor components and references two relationships between the minor
components and the major component: "is_encapsulated_by" and
"is_contained_in".
-->
<group
>
<relationship_ref
relationship="
encapsulation
"
/>
<relationship_ref
relationship="
containment
"
/>
<component_ref
component="
cell_membrane
"
>
<component_ref
component="
sodium_channel
"
/>
<component_ref
component="
calcium_channel
"
/>
</component_ref>
</group>
<connection
>
<map_components
component_1="
intra_cellular_space
"
component_2="
cell_membrane
"
/>
<map_variables
variable_1="
Na
"
variable_2="
Na_i
"
/>
<map_variables
variable_1="
Ca
"
variable_2="
Ca_i
"
/>
<map_variables
variable_1="
I_Na
"
variable_2="
I_Na
"
/>
<map_variables
variable_1="
I_Ca
"
variable_2="
I_Ca
"
/>
</connection>
<connection
>
<map_components
component_1="
extra_cellular_space
"
component_2="
cell_membrane
"
/>
<map_variables
variable_1="
Na
"
variable_2="
Na_e
"
/>
<map_variables
variable_1="
Ca
"
variable_2="
Ca_e
"
/>
<map_variables
variable_1="
I_Na
"
variable_2="
I_Na
"
/>
<map_variables
variable_1="
I_Ca
"
variable_2="
I_Ca
"
/>
</connection>
<connection
>
<map_components
component_1="
environment
"
component_2="
intra_cellular_space
"
/>
<map_variables
variable_1="
time
"
variable_2="
time
"
/>
</connection>
<connection
>
<map_components
component_1="
environment
"
component_2="
extra_cellular_space
"
/>
<map_variables
variable_1="
time
"
variable_2="
time
"
/>
</connection>
<!--
The two new connections in the extended e-p model are between the cell
membrane and the sodium and calcium channels. The mappings of fluxes and
ionic concentrations are straightforward.
-->
<connection
>
<map_components
component_1="
cell_membrane
"
component_2="
sodium_channel
"
/>
<map_variables
variable_1="
Na_i
"
variable_2="
Na_i
"
/>
<map_variables
variable_1="
Na_e
"
variable_2="
Na_e
"
/>
<map_variables
variable_1="
I_Na
"
variable_2="
I_Na
"
/>
</connection>
<connection
>
<map_components
component_1="
cell_membrane
"
component_2="
calcium_channel
"
/>
<map_variables
variable_1="
Ca_i
"
variable_2="
Ca_i
"
/>
<map_variables
variable_1="
Ca_e
"
variable_2="
Ca_e
"
/>
<map_variables
variable_1="
I_Ca
"
variable_2="
I_Ca
"
/>
</connection>
</model>