Example model files for Magrathea

From irefindex

Copy and paste any of the examples below to a file named model.txt and move to the same directory as magrathea.tz to run.

Example 1. Point coordinator representing an interaction


###########
#interaction.1.txt
#showing a coordinator used to model an interaction between two molecules
#
#last tested with breve 2.6.1 and magrathea.tz 1.40
###########


[simulation]
camera-at-from 10 10 0 0 1 30
light-source 0 20 20
movie-length 10
[/simulation]

[moleculeType]
id 1
label a
show-label 1
color .81 .60 .21
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
coordinator 1 3
instantiate 1 random spherical volume 10 10 0 1
[/moleculeType]

[moleculeType]
id 2        
label b
show-label 1
color 0.67 0.08 0.37
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
coordinator 1 3
instantiate 1 random spherical volume 15 10 10 1
[/moleculeType]

[coordinatorType]
id 3
label complex
shape Cube 1 1 1
neighborhood-size 1
molecule 1 1
molecule 2 1
[/coordinatorType]

#****************************************************************

EOF

Example 2. Point coordinator representing a complex


###########
#complex.1.txt
#showing a coordinator used to model a complex between three molecules
#complex stoichiometry is a,b,c (note one extra c molecule is left out)
#last tested with breve 2.6.1 and magrathea.tz 1.42
###########


[simulation]
camera-at-from 10 10 0 0 1 30
light-source 0 20 20
movie-length 10
[/simulation]

[moleculeType]
id 1
label a
show-label 1
color .81 .60 .21
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
coordinator 1 4
instantiate 1 random spherical volume 10 10 0 1
[/moleculeType]

[moleculeType]
id 2        
label b
show-label 1
color 0.67 0.08 0.37
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
coordinator 1 4
instantiate 1 random spherical volume 15 10 10 1
[/moleculeType]

[moleculeType]
id 3        
label c
show-label 1
color 0.47 0.11 0.37
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
coordinator 1 4
instantiate 2 random spherical volume 5 10 10 1
[/moleculeType]


[coordinatorType]
id 4
label complex
shape Cube 1 1 1
neighborhood-size 1
molecule 1 1
molecule 2 1
molecule 3 1
[/coordinatorType]

#****************************************************************

EOF


###########
#complex.2.txt
#showing a coordinator used to model a complex between four molecules
#stoichiometry of complex is a,b,2c
#last tested with breve 2.6.1 and magrathea.tz 1.42
###########


[simulation]
camera-at-from 10 10 0 0 1 30
light-source 0 20 20
movie-length 10
[/simulation]

[moleculeType]
id 1
label a
show-label 1
color .81 .60 .21
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
coordinator 1 4
instantiate 1 random spherical volume 10 10 0 1
[/moleculeType]

[moleculeType]
id 2        
label b
show-label 1
color 0.67 0.08 0.37
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
coordinator 1 4
instantiate 1 random spherical volume 15 10 10 1
[/moleculeType]

[moleculeType]
id 3        
label c
show-label 1
color 0.47 0.11 0.37
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
coordinator 1 4
instantiate 2 random spherical volume 5 10 10 1
[/moleculeType]


[coordinatorType]
id 4
label complex
shape Cube 1 1 1
neighborhood-size 1
molecule 1 1
molecule 2 1
molecule 3 2
[/coordinatorType]

#****************************************************************

EOF


Example 3. Point coordinator representing a compartment


###########
#compartment.1.txt
#showing a coordinator used to model a compartment with 20 
#closely packed "surface" molecules
#one coordinator type is used with one molecule type
#
#last tested with breve 2.6.1 and magrathea.tz 1.42
#at the time of testing, neighbor lines are only drawn if breve 2.5 is used
###########


[simulation]
camera-at-from 10 10 0 0 1 30
light-source 0 20 20
movie-length 10
[/simulation]

[moleculeType]
id 1
label a
show-label 0
color .81 .60 .21
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
coordinator 1 2
instantiate 20 random spherical volume 10 10 0 1
[/moleculeType]



[coordinatorType]
id 2
label compartment
shape Sphere 0.1
opacity 0.5
geometricType point
neighborhood-size 5
#
isSizeDynamic 1
#
molecule 1 20
[/coordinatorType]

#****************************************************************

EOF


###########
#compartment.2.txt
#showing a coordinator used to model a compartment with 20 
#surface marker molecules
#the actual diameter of these marker molecules is larger than what is 
#rendered using the line
#shape Sphere 1 2
#one coordinator type is used with one molecule type

#last tested with breve 2.6.1 and magrathea.tz 1.42
#at the time of testing, neighbor lines are only drawn if breve 2.5 is used
###########


[simulation]
camera-at-from 10 10 0 0 1 30
light-source 0 20 20
movie-length 10
[/simulation]

[moleculeType]
id 1
label a
show-label 0
color .81 .60 .21
#
shape Sphere 1 2
#
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
coordinator 1 2
instantiate 20 random spherical volume 10 10 0 1
[/moleculeType]



[coordinatorType]
id 2
label compartment
shape Sphere 0.1
opacity 0.5
geometricType point
neighborhood-size 5
isSizeDynamic 1
molecule 1 20
[/coordinatorType]

#****************************************************************

EOF

Example 4. Plane coordinator representing a membrane section.


###########
#membrane.1.txt
#showing a coordinator used to model a membrane section 
#20 member molecules are moved to the surface of the plane and 
#their random movement is constrained to the surface of this plane
#
#last tested with breve 2.6.1 and magrathea.tz 1.42
#at the time of testing, neighbor lines are only drawn if breve 2.5 is used
###########


[simulation]
camera-at-from 10 10 0 0 1 50
light-source 0 20 20
movie-length 15
[/simulation]

[moleculeType]
id 1
label a
show-label 0
color .81 .60 .21
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
coordinator 1 2
instantiate 20 random spherical volume 10 10 0 5
[/moleculeType]



[coordinatorType]
id 2
label membrane
color .383 .466 .561
opacity 0.5
shape Cube 30 .2 30
geometricType plane
neighborhood-size 5
#
isCreationDynamic 0
isMobile 0
isSizeDynamic 1
#
molecule 1 20
#orientation vertex 0 1 0 pointing-at 0 1 0
#orientation vertex 0 1 0 pointing-at 1 0 0
#orientation vertex 0 1 0 pointing-at 0 0 1
instantiate 1 determined point - 10 5 10
[/coordinatorType]

#****************************************************************

EOF


###########
#membrane.2.txt
#showing a coordinator used to model a membrane section 
#20 member molecules are moved to the surface of the plane and 
#their random movement is constrained to the surface of this plane
#non-membrane molecules (molecule type 2) will collide and be reprelled
#by the surface of this planar coordinator
#
#last tested with breve 2.6.1 and magrathea.tz 1.44
#at the time of testing, neighbor lines are only drawn if breve 2.5 is used
###########


[simulation]
camera-at-from 10 10 0 0 1 50
light-source 0 20 20
movie-length 15
[/simulation]

[moleculeType]
id 1
label compartment_marker
show-label 0
color .81 .60 .21
shape Sphere .5 2
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
coordinator 1 3
instantiate 20 random spherical volume 10 10 10 5
[/moleculeType]

[moleculeType]
id 2
label non_membrane_molecule
show-label 0
color .37 .51 .26
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1.0
dynamic-neighborhood-sizing 1
instantiate 20 random spherical volume 10 15 10 5
instantiate 20 random spherical volume 10 5 10 5
[/moleculeType]


[coordinatorType]
id 3
label membrane
color .383 .466 .561
opacity 0.5
shape Cube 30 .2 30
geometricType plane
neighborhood-size 5
isCreationDynamic 0
isMobile 0
isSizeDynamic 1
molecule 1 20
#orientation vertex 0 1 0 pointing-at 0 1 0
#orientation vertex 0 1 0 pointing-at 1 0 0
#orientation vertex 0 1 0 pointing-at 0 0 1
instantiate 1 determined point - 10 10 10
[/coordinatorType]

#****************************************************************

EOF

Example 5. Line coordinator representing a microtubule.


###########
#microtubule.1.txt
#showing a linear coordinator used to model a microtubule or some
#other linear macromolecular structure 
#20 member molecules are moved to the line coordinator and 
#their random movement is constrained to this line
#the line coordinator is dynamically sized so it grows in length 
#as molecules join it
#the molecules have an effective radius of 2 (versus the rendered 1 unit)
#so the molecules appear spaced out along the line
#
#last tested with breve 2.6.1 and magrathea.tz 1.44
#at the time of testing, neighbor lines are only drawn if breve 2.5 is used
###########


[simulation]
camera-at-from 20 10 0 1 1 70
light-source 0 20 20
movie-length 40
[/simulation]

[moleculeType]
id 1
label line_coordinator_component_1
show-label 0
color .81 .60 .21
shape Sphere 1 2
show-neighbor-lines 1
neighborhood-size 1
dynamic-neighborhood-sizing 1
coordinator 1 2
instantiate 20 random cylindrical volume 10 15 10 0 1 0 0 35
[/moleculeType]



[coordinatorType]
id 2
label line_coordinator
color .383 .466 .561
opacity 1
shape Cube .2 .2 .2
geometricType line
neighborhood-size 5
isCreationDynamic 0
isMobile 0
isSizeDynamic 1
molecule 1 20

#various orientations to try
#remove the # sign in front of one of these lines
#orientation vertex 1 0 0 pointing-at 0 1 0
#orientation vertex 1 0 0 pointing-at 1 0 0
#orientation vertex 1 0 0 pointing-at 0 0 1
#
#orientation vertex 1 0 0 pointing-at 1 1 0
#orientation vertex 1 0 0 pointing-at 1 0 1
#orientation vertex 1 0 0 pointing-at 0 1 1
#orientation vertex 1 0 0 pointing-at 1 1 1
instantiate 1 determined point - 30 10 10
[/coordinatorType]

#****************************************************************

EOF


Example 6. Coordinators and rules.


###########
#rules.1.txt
#a simple demonstration of the use of rules by coordinators
#this example shows a substrate (molecule 1) that undergoes 
#a state-change (phosphorylation) upon interaction with a 
#kinase (molecule 2) 
#
#last tested with breve 2.6.1 and magrathea.tz 1.44
#at the time of testing, neighbor lines are only drawn if breve 2.5 is used
###########


[simulation]
camera-at-from 10 15 10 0 1 30
light-source 0 20 20
movie-length 40
[/simulation]



[moleculeType]
id 1
label substrate
show-label 1
color .81 .60 .21
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1
dynamic-neighborhood-sizing 1

###
#the following line is read as: 
#there is some feature with an identifier of 234
#and this feature is given the label of "Tyr234"
###
feature 234 Tyr234

#-----------------------------------------------------------------
#the following line is read as: 
#there is some feature with an identifier of 234
#and this feature may have the value of 0
#and this feature-value pair is given the label "unphosphorylated"
#see the "Making Models" section of the Magrathea manual
#for more a more detailed explanation
#-----------------------------------------------------------------
feature-state 234 0 unphosphorylated

#-----------------------------------------------------------------
#the following line is read as: 
#there is some feature with an identifier of 234
#and this feature may have the value of 1
#and this feature-value pair is given the label "phosphorylated"
#see the "Making Models" section of the Magrathea manual
#for more a more detailed explanation
#-----------------------------------------------------------------
feature-state 234 1 phosphorylated

coordinator 1 3
instantiate 1 determined point - 10 10 10
[/moleculeType]


[moleculeType]
id 2
label kinase
show-label 1
color .92 .32 .11
shape Sphere 1
show-neighbor-lines 1
neighborhood-size 1
dynamic-neighborhood-sizing 1
coordinator 1 3
instantiate 1 determined point - 10 20 10
[/moleculeType]


[coordinatorType]
id 3
label complex_with_rules
color 1 1 1
shape Cube 1 1 1
neighborhood-size 10
molecule 1 1 0
molecule 2 1 0
[rule]
#-----------------------------------------------------------------
#this rule describes the complex formation
#the first two "if" lines specify
#which molecules must be present for the rule to be executed
#the "then" line specifies what happens if the rule is executed and
#the "parameters" line specifies a probability that
#the rule will be executed should the conditions be met 
#see the "Making Models" section of the Magrathea manual
#for more a more detailed explanation
#-----------------------------------------------------------------
id 1
#-----------------------------------------------------------------
#the following line is read (from left to right)
#if present a "tag" of 1 will be used to refer to 
#molecule of type 1 (where 1 instance is present)
#that is not (0) assembled with this coordinator
#and does not (0) have a feature-state pair of 234.1
#i.e. feature 234 in state 1 
#see the "Making Models" section of the Magrathea manual
#for more a more detailed explanation
#-----------------------------------------------------------------
if 1.1.1.0.0.234.1
if 2.2.1.0

#-----------------------------------------------------------------
#the following line is read
#molecule(s) assigned with tag 1 (see if lines above)
#are allowed to begin asembly with the coordinator
#see the "Making Models" section of the Magrathea manual
#for more a more detailed explanation
#-----------------------------------------------------------------
then 1 begins-assembly
then 2 begins-assembly

#-----------------------------------------------------------------
#the following line indicates that the event 
#described by the "then" lines above
#will be executed with a probability of 1
#if the conditions specified in the "if"
#lines above are met
#see the "Making Models" section of the Magrathea manual
#for more a more detailed explanation
#-----------------------------------------------------------------
parameters p 1
[/rule]


[rule]
#-----------------------------------------------------------------
#this rule describes a state change of the substrate (molecule 1)
#generated by the presence of the kinase (molecule 2)
#the state change is visualized by a change of colour of 
#the substrate molecule
#see the "Making Models" section of the Magrathea manual
#for more a more detailed explanation
#-----------------------------------------------------------------
id 2
if 1.1.1.1.0.234.1 
if 2.2.1.1
#-----------------------------------------------------------------
#the following line is read as:
#the molecule with the tag of 1 (see first "if" line above)
#changes state such that
#feature 234 assumes state 1
#see the "Making Models" section of the Magrathea manual
#for more a more detailed explanation
#-----------------------------------------------------------------
then 1 changes-state-to 234.1
then 1 changes-colour-to .1:.32:.11
parameters p 1
[/rule]


[rule]
#-----------------------------------------------------------------
#this rule describes the idea that the substrate (molecule 1) 
#leaves the coordinator once it has been phosphorylated
#i.e. feature 234 has a state value of 1
#see the "Making Models" section of the Magrathea manual
#for more a more detailed explanation
#-----------------------------------------------------------------
#unbinding
#id 3
if 1.1.1.1.1.234.1
if 2.2.1.1
then 1 leaves-coordinator
then 2 leaves-coordinator
parameters p 1
[/rule]
[/coordinatorType] 



#****************************************************************

EOF

  1. rules.2.txt
  2. This demonstration shows a somewhat more complex use of rules to
  3. demonstrate the process of lateral signalling.
  4. In this example, a ligand molecule binds to a membrane-bound receptor.
  5. On binding, the receptor changes state (becomes activated) as indicated by
  6. a colour change. The receptor in this new state also gains the ability to
  7. bind to and activate other membrane bound receptors.
  8. No new concepts are introduced in this model compared to the rules.1.txt
  9. example so there are few comments in the file.
  10. See the "Making Models" section of the Magrathea manual for more details
  11. on the syntax of each line
  12. after a molecule x changes state, molecule x and all molecule types that might be coordinated
  13. in some coordinator with molecule x have there neighborhood size reset
  14. turn on #show-neighbor-lines 1# to see how this happens
  15. last tested with breve 2.6.1 and magrathea.tz 1.44
  16. at the time of testing, neighbor lines are only drawn if breve 2.5 is used


[simulation] camera-at-from 10 15 10 0 10 30 light-source 0 20 20 movie-length 20 [/simulation]


[moleculeType] id 1 label receptor show-label 1 color .81 .60 .21 shape Sphere 1 neighborhood-size 1 show-neighbor-lines 1 dynamic-neighborhood-sizing 1 feature 234 Tyr234 feature-state 2 0 unphosphorylated feature-state 2 63 phosphorylated coordinator 1 5 coordinator 2 4 coordinator 3 3 instantiate 20 random planar - 10 15 10 20 0 1 0 [/moleculeType]

[moleculeType] id 2 label ligand show-label 1 color .92 .32 .11 shape Sphere .7 neighborhood-size 1 dynamic-neighborhood-sizing 1 coordinator 1 5 instantiate 1 determined point - 10 20 10 1 [/moleculeType]


[coordinatorType] id 3 label membrane color .383 .466 .561 opacity 0.3 geometricType plane shape Cube 30 .2 30 neighborhood-size 10 molecule 1 20 isCreationDynamic 0 isMobile 0 orientation vertex 0 1 0 pointing-at 0 1 0 instantiate 1 determined point - 10 15 10 [/coordinatorType]


[coordinatorType] id 4 label receptor-receptor-complex color 1 1 1 shape Cube 1 1 1 neighborhood-size 10 molecule 1 2 0 [rule]

  1. formation

id 1 if 1.1.1.0.1.2.63 if 2.1.1.0.0.2.63 then 1 begins-assembly then 2 begins-assembly parameters p1 1 [/rule] [rule]

  1. lateral activation

id 2 if 1.1.1.1.1.2.63 if 2.1.1.1.0.2.63 then 2 changes-state-to 2.63 then 2 changes-colour-to .1:.32:.11 parameters p1 1 [/rule] [rule]

  1. unbinding

id 3 if 1.1.1.1.1.2.63 if 2.1.1.1.1.2.63 then 1 leaves-coordinator then 2 leaves-coordinator

  1. parameters p3 0.15

parameters p1 1 [/rule] [/coordinatorType]

[coordinatorType] id 5 label receptor-ligand-complex color 1 1 1 shape Cube 1 1 1 neighborhood-size 10 molecule 1 1 0 molecule 2 1 0 [rule]

  1. formation

id 1 if 1.1.1.0.0.2.63 if 2.2.1.0 then 1 begins-assembly then 2 begins-assembly parameters p4 0.2 [/rule] [rule]

  1. ligand activation

id 2 if 1.1.1.1.0.2.63 if 2.2.1.1 then 1 changes-state-to 2.63 then 1 changes-colour-to .1:.32:.11 parameters p5 1 [/rule] [rule]

  1. unbinding
  2. id 3

if 1.1.1.1.1.2.63 if 2.2.1.1 then 1 leaves-coordinator then 2 leaves-coordinator parameters p6 0.2 [/rule] [/coordinatorType]


EOF