|
This page documents the format of the XML files used by the simulator.
The XML processing is handled by the NeuroML
development kit for java.
The XML files take the form of a list of lists, where each of the inner lists
is one of the ones described below. The outer list has the following form: |
|
|
<neuroml class="reader.XMLList">
<list>
<!-- begin inner list definitions -->
<!-- end inner list definitions -->
</list>
</neuroml>
|
|
|
Landscape
|
|
The Landscape component specifies a particle's interaction with the simulation space, that is, how does it move in the presence of Brownian Motion. |
|
syntax :
|
<list class="xmlobjects.XMLLandscape" id="id" type="type"/>
|
id
|
A unique identifying name for this template
|
type
|
The type of landscape. Choices are:
"flat" - uniform brownian motion in three dimensions.
"membrane" - no y-axis movement.
"static" - no movement
"below membrane" - particle restricted to motion below the plane at y=0;
|
|
|
Rule Template
|
|
The RuleTemplate component defines a single rule governing the behaviour of bonds. |
|
syntax :
|
<list class="xmlobjects.XMLRuleTemplate" id="id" action="action" ifClause="ifClause">
<probabilities>
<probabilities class="Float" value="probVal"/>
...
</probabilities>
<times>
<times class="Float" value="timeVal"/>
...
</times>
</list>
|
id
|
A unique identifying name for this template
|
action
|
The type of landscape. Choices are:
"flat" - uniform brownian motion in three dimensions.
"membrane" - no y-axis movement.
"static" - no movement
"below membrane" - particle restricted to motion below the plane at y=0;
|
ifClause
|
A semi-colon separated list of conditions. Conditions are of the form:
arg1 comparator arg2
where comparator is one of ==, !=, <, <=, > and >=
and arg2 is either a number or an id.
arg2 can also be "null" (nothing there) or "*" (something there).
arg1 is a path which starts with either this (the current bond), or that (the bond being tested).
The item referenced by the path can be altered by appending any of the following onto the end of it with a full stop (e.g. this.particle):
particle : get the particle containing the current bond (append to a bond only)
object : get the object containing the current particle (particle only)
particle-x : get the xth particle of the current object (object only)
bond-x : get the xth bond of the current particle (particle only)
connected : get the bond paired with this one (bond only)
numConnected : get the number of bonds associated with this element (particle and object)
|
probVal
|
A probability of the bond occuring. The probablity takes effect at the time specified by the corresponding timeVal.
|
timeVal
|
A time in seconds from the start of the simulation at which the associated probability takes effect.
|
|
|
Bond Template
|
|
The component defining the a particle bond. It lists the rules which govern the behaviour of the bond. |
|
syntax :
|
<list class="xmlobjects.XMLBondTemplate" id="id" blockRuleTemplateIds="blockRules"
dropRuleTemplateIds="dropRules" addRuleTemplateIds="addRules"/>
|
id
|
A unique identifying name for this template
|
blockRules
|
A semi-colon separated list of RuleTemplate ids which specify the bond blocking behaviour.
|
dropRules
|
A semi-colon separated list of RuleTemplate ids which specify the bond dropping behaviour.
|
addRules
|
A semi-colon separated list of RuleTemplate ids which specify the bond forming behaviour.
|
|
|
Particle Template
|
|
The component defining a single particle in the simulation. |
|
syntax :
|
<list class="xmlobjects.XMLParticleTemplate" id="id" mass="mass" shape="shape"
bondTemplateIds="bondIds" colourR="red" colourG="green" colourB="blue" alpha="alpha"
bondedColourR="bondRed" bondedColourG="bondGreen" bondedColourB="bondBlue" bondedAlpha="bondAlpha"
landscapeId="landscapeId" collide="collide">
<dimensions>
<dimension class="Float" value="dimVal"/>
...
</dimensions>
<bondPointX>
<bondPointX class="Float" value="bondX"/>
</bondPointX>
<bondPointY>
<bondPointY class="Float" value="bondY"/>
</bondPointY>
<bondPointZ>
<bondPointZ class="Float" value="bondZ"/>
</bondPointZ>
</list>
|
id
|
A unique identifying name for this template
|
mass
|
The mass of the particle (no units, just the relative mass w.r.t. the other particles)
|
shape
|
The displayed shape of the particle - either sphere or cylinder.
|
bondIds
|
A semi-colon separated list of BondTemplate ids which specify the bonds on this particle.
|
red, green, blue, alpha
|
The unbonded colour and transparency of the particle given as floats in the range 0.0 - 1.0.
|
bondRed, bondGreen, bondBlue, bondAlpha
|
The colour and transparency of the particle when it is bonded to at least one other particle, given as floats in the range 0.0 - 1.0.
|
landscapeId
|
The id of the landscape associated with this particle.
|
collide
|
Boolean flag indicating whether the particle can collide with others (true) or not (false).
|
dimVal
|
The dimensions of the particle. The first is the radius, the second is the (for cylinders only) height.
|
bondX / Y / Z
|
The bond points, three per bondId. First is the centre of the bond site, second is a point on the normal to the site
and third is a point on the surface on the site (not the centre).
|
|
|
SimObject Template
|
|
The component defining an object class in the simulation. |
|
syntax :
|
<list class="xmlobjects.XMLSimObjectTemplate" id="id" particleTemplateIds="partIds">
<particleTemplateCoordX>
<particleTemplateCoordX class="Float" value="val"/>
...
</particleTemplateCoordX>
<particleTemplateCoordY>
<particleTemplateCoordY class="Float" value="val"/>
...
</particleTemplateCoordY>
<particleTemplateCoordZ>
<particleTemplateCoordZ class="Float" value="val"/>
...
</particleTemplateCoordZ>
<particleTemplateOrientX>
<particleTemplateOrientX class="Float" value="val"/>
...
</particleTemplateOrientX>
<particleTemplateOrientY>
<particleTemplateOrientY class="Float" value="val"/>
...
</particleTemplateOrientY>
<particleTemplateOrientZ>
<particleTemplateOrientZ class="Float" value="val"/>
...
</particleTemplateOrientZ>
<particleTemplateOrientAngle>
<particleTemplateOrientAngle class="Float" value="val"/>
...
</particleTemplateOrientAngle>
</list>
|
id
|
A unique identifying name for this template
|
partIds
|
A semi-colon separated list of ParticleTemplate ids which specify the particles in the object.
|
val
|
floating point values specifying the particles' x, y and z coordinates and their axis-angle orientations
|
|
|
SimObject
|
|
The component defining a single object in the simulation. |
|
syntax :
|
<list class="xmlobjects.XMLSimObject" id="id" templateId="tempId"
centreOfMassX="val" centreOfMassY="val" centreOfMassZ="val"
orientationX="val" orientationY="val" orientationZ="val" orientationAngle="val">
|
id
|
A unique identifying name for this object
|
templateId
|
The object's template.
|
val
|
floating point values specifying the object's x, y and z coordinates and its axis-angle orientations
|
|
|