123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- /****************************************************************************
- * Test 04: Surface macromolecule init by density/number.
- *
- * This test is to ensure that init_effectors properly handles surface
- * macromolecules. Most of the information is conveyed by the time 0 viz
- * output, but the forward reaction rate has been cranked up enough to see
- * from the reaction data also whether the molecules were placed. The
- * complexes are at the center of each face, the middle of each edge, and on
- * each corner of the box. The subunits should conform to the corners of
- * the box as appropriate.
- *
- * Note, in particular, that if the complexes (or resultant subunits) were
- * placed with incorrect orientation, we expect that close to 66% of the
- * dimer pairs will be in the doubly-bound state, 16% will be in the
- * singly-bound state, and 16% should perpetually be in the unbound state (1
- * of the dimer pairs from each ring is intentionally placed with the wrong
- * orientation to react).
- *
- * Author: Jed Wing <[email protected]>
- * Date: 2008-04-04
- ****************************************************************************/
- basename = "04-macro_surface_init"
- countdir = "dat/" & basename & "/"
- vizdir = "./viz_dat/" & basename & "/"
- sprintf(seed, "%04g", SEED)
- dt = 1e-6
- iterations=1
- INCLUDE_FILE="parameters.mdl"
- TIME_STEP = dt
- ITERATIONS = iterations
- EFFECTOR_GRID_DENSITY = 15000
- ACCURATE_3D_REACTIONS = FALSE
- PARTITION_X = [[-0.5001 TO 0.50001 STEP 0.02]]
- PARTITION_Y = [[-0.5001 TO 0.50001 STEP 0.02]]
- PARTITION_Z = [[-0.5001 TO 0.50001 STEP 0.02]]
- DEFINE_MOLECULES {
- camkii_subunit { DIFFUSION_CONSTANT_2D = 0 }
- camkii_subunitB { DIFFUSION_CONSTANT_2D = 0 }
- cam { DIFFUSION_CONSTANT_3D = cam_diffusion }
- }
- DEFINE_COMPLEX_MOLECULE camkii {
- NUMBER_OF_SUBUNITS = [2, 6]
- SUBUNIT[1 , 1 ] = camkii_subunit'
- SUBUNIT[2 , 1 ] = camkii_subunit,
- SUBUNIT[1:2, 2 ] = camkii_subunit,
- SUBUNIT[1:2, 3:6] = camkii_subunit'
- SHAPE {
- SUBUNIT[1, 1] = [-.11, .0000, 0]
- SUBUNIT[1, 2] = [-.06, .0866, 0]
- SUBUNIT[1, 3] = [ .06, .0866, 0]
- SUBUNIT[1, 4] = [ .11, .0000, 0]
- SUBUNIT[1, 5] = [ .06, -.0866, 0]
- SUBUNIT[1, 6] = [-.06, -.0866, 0]
- SUBUNIT[2, 1] = [-.09, .0000, 0]
- SUBUNIT[2, 2] = [-.04, .0866, 0]
- SUBUNIT[2, 3] = [ .04, .0866, 0]
- SUBUNIT[2, 4] = [ .09, .0000, 0]
- SUBUNIT[2, 5] = [ .04, -.0866, 0]
- SUBUNIT[2, 6] = [-.04, -.0866, 0]
- }
- SUBUNIT_RELATIONSHIPS {
- dimer_partner = [+1, 0]
- }
- RATE_RULES {
- }
- }
- DEFINE_SURFACE_CLASSES {
- class1 { MOLECULE_NUMBER { camkii' = 20 } } // Presently broken
- class2 { MOLECULE_DENSITY { camkii' = 200.0 } } // Presently broken
- class3 { MOLECULE_NUMBER { camkii; = 25 } } // Presently broken
- }
- mainbox OBJECT {
- b BOX {
- CORNERS = [ -0.5, -0.5, -0.5 ], [ 0.5, 0.5, 0.5 ]
- DEFINE_SURFACE_REGIONS {
- /* NOTE: TEMPORARILY COMMENTED class1, class2, and class3 below
- until a code will be fixed to allow complex molecules
- placement through SURFACE CLASSES */
- top { ELEMENT_LIST = [TOP] /* SURFACE_CLASS = class1 */ }
- left { ELEMENT_LIST = [LEFT] /* SURFACE_CLASS = class2 */ }
- front { ELEMENT_LIST = [FRONT] /* SURFACE_CLASS = class3 */ }
-
- bottom { ELEMENT_LIST = [BOTTOM] MOLECULE_NUMBER { camkii, = 20 } }
- right { ELEMENT_LIST = [RIGHT] MOLECULE_NUMBER { camkii, = 200.0 } }
- back { ELEMENT_LIST = [BACK] MOLECULE_DENSITY { camkii; = 200.0 } }
- }
- }
- }
- INSTANTIATE world OBJECT
- {
- mainbox OBJECT mainbox {
- }
- rs2 RELEASE_SITE {
- SHAPE = world.mainbox.b[ALL]
- MOLECULE = cam
- NUMBER_TO_RELEASE = num_cam
- }
- }
- REACTION_DATA_OUTPUT
- {
- OUTPUT_BUFFER_SIZE = 1000
- ITERATION_LIST=[0]
- HEADER = "# "
- {
- COUNT[camkii, WORLD] : "complexes",
- COUNT[camkii_subunit, WORLD] : "subunits",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit']}, WORLD] : "00",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit,]}, WORLD] : "01",
- COUNT[SUBUNIT{camkii : camkii_subunit, [dimer_partner == camkii_subunit,]}, WORLD] : "11",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit']}, world.mainbox.b[top]] : "00t",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit,]}, world.mainbox.b[top]] : "01t",
- COUNT[SUBUNIT{camkii : camkii_subunit, [dimer_partner == camkii_subunit,]}, world.mainbox.b[top]] : "11t",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit']}, world.mainbox.b[bottom]] : "00b",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit,]}, world.mainbox.b[bottom]] : "01b",
- COUNT[SUBUNIT{camkii : camkii_subunit, [dimer_partner == camkii_subunit,]}, world.mainbox.b[bottom]] : "11b",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit']}, world.mainbox.b[left]] : "00l",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit,]}, world.mainbox.b[left]] : "01l",
- COUNT[SUBUNIT{camkii : camkii_subunit, [dimer_partner == camkii_subunit,]}, world.mainbox.b[left]] : "11l",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit']}, world.mainbox.b[right]] : "00r",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit,]}, world.mainbox.b[right]] : "01r",
- COUNT[SUBUNIT{camkii : camkii_subunit, [dimer_partner == camkii_subunit,]}, world.mainbox.b[right]] : "11r",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit']}, world.mainbox.b[front]] : "00F",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit,]}, world.mainbox.b[front]] : "01F",
- COUNT[SUBUNIT{camkii : camkii_subunit, [dimer_partner == camkii_subunit,]}, world.mainbox.b[front]] : "11F",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit']}, world.mainbox.b[back]] : "00B",
- COUNT[SUBUNIT{camkii : camkii_subunit' [dimer_partner == camkii_subunit,]}, world.mainbox.b[back]] : "01B",
- COUNT[SUBUNIT{camkii : camkii_subunit, [dimer_partner == camkii_subunit,]}, world.mainbox.b[back]] : "11B"
- } => "counts.txt"
- }
|