330.0
500
330
500.0
44
61.0
14.0
179.0
138.0
125.0
47.0
189.0
204.0
131.0
48.0
189.0
2.0
codebase
/Users/ddamelin/Desktop/diffusionActiveTrans _05DD
url
/Users/ddamelin/Desktop/diffusionActiveTrans _05DD/Copy of page12$0.mml
size
46924
filename
Copy of page12$0.mml
date
1224999575000
define %waitingForCaBinding 1;
define %waitingForATPBinding 0;
define %waitingForATPSettling 0;
define %waitingForClearCavity 0;
define %waitingForProteinTransition 0;
define %waitingForCaSettling 0;
define %waitingForATPPocketFormation 0;
define %waitingForCaRelease 0;
define %waitingForFlashTransition 0;
define %caToCapture -1;
define %caLeft 0;
define %caRight 0;
define %proteinX 17.2;
define %proteinY 11.3;
define %proteinImage 0;
define %endTransitionTime 0;
define %thisAtom 0;
define %atp1toCapture 0;
define %atp2toCapture 0;
define %bondToRemove 0;
define %i 0;
define %flashX 23.1;
define %flashY 20.7;
define %atpAtomX 24.9;
define %atpAtomY 20.8;
define %pocket1x 25;
define %pocket1y 19.9
define %pocket2x 25.9;
define %pocket2y 20.4
define %pocket3x 24.9;
define %pocket3y 20.9
define %pocket4x 24.5;
define %pocket4y 21.9;
define %rsurface1x 24;
define %rsurface1y 19.6;
define %rsurface2x 22.9;
define %rsurface2y 19.3;
define %rsurface3x 21.8;
define %rsurface3y 18.9;
define %rsurface4x 20.8;
define %rsurface4y 18.5;
define %rsurface5x 19.9;
define %rsurface5y 17.9;
define %rsurface6x 19.8;
define %rsurface6y 15.3;
define %rsurface7x 20.7;
define %rsurface7y 14.7;
define %rsurface8x 21.9;
define %rsurface8y 14.7;
define %rsurface9x 23;
define %rsurface9y 14.5;
define %rsurface10x 24;
define %rsurface10y 14.2;
define %nonATPsurfaceX 25;
define %nonATPsurfaceY 12.8;
define %lsurface1x 18.4;
define %lsurface1y 12.5;
define %lsurface2x 18.2;
define %lsurface2y 13.8;
define %lsurface3x 19.2;
define %lsurface3y 14.3;
define %lsurface4x 20.5;
define %lsurface4y 14.6;
define %lsurface5x 21.7;
define %lsurface5y 15.1;
define %lsurface6x 22.9;
define %lsurface6y 15.6;
define %lsurface7x 25.8;
define %lsurface7y 15.1;
define %lsurface8x 25.8;
define %lsurface8y 16.2;
define %lsurface9x 23;
define %lsurface9y 18.4;
define %lsurface10x 21.8;
define %lsurface10y 18.9;
define %lsurface11x 20.4;
define %lsurface11y 19.3;
define %lsurface12x 19;
define %lsurface12y 19.5;
define %lsurface13x 17.8;
define %lsurface13y 20.2;
define %lsurface14x 18.3;
define %lsurface14y 21.5;
define %flashImage 0;
define %obsLeftX 17.9;
define %obsRightX 23.6;
define %obsY 13.8;
define %obsWidth 1.4;
define %obsHeight 6.1;
define %leftObs 0;
define %rightObs 0;
define %rightObs2 0;
define %obsRight2x 25.3;
define %obsRight2y 14.6;
define %obsRight2width 0.8;
define %obsRight2height 2.2;
define %proteinAreaX 17.5;
define %proteinAreaY 12.7;
define %proteinAreaW 10.3;
define %proteinAreaH 8.2;
define %caCount 0;
define %atpCount 0;
define %atomsInProtein 0;
define %atpAnchor1x 26.4;
define %atpAnchor1y 22.2;
define %atpAnchor2x 25.4;
define %atpAnchor2y 25;
define %atpRestraintDeltaX 0.02;
define %atpRestraintDeltaY -0.42;
define %caRestraintX 21.1;
define %caRestraintY 16.3;
define %caRestraintDeltaX -0.08;
define %caRestraintDeltaY -0.01;
define %waitingForCa 0;
define %formingATP 1;
define %waitingForATP 2;
define %releasingATP 3;
define %watingForCaRelease 4;
define %restoringProtein 5;
capture ca ion
200
1 capture Ca
if (%waitingForCaBinding);
set %caToCapture nearest(2,%caRestraintX,%caRestraintY,2);
if (%caToCapture != -1);
set atom[%caToCapture].restraint 100;
set atom[%caToCapture].restraint.x %caRestraintX;
set atom[%caToCapture].restraint.y %caRestraintY;
set atom[%caToCapture].friction 1;
set %waitingForCaBinding 0;
set %waitingForCaSettling 1;
set %endTransitionTime "%model_time+400";
endif;
endif;
wait for Ca to settle down then load next animation
100
2 settle Ca ion
If ((%waitingForCaSettling) and (%model_time > %endTransitionTime));
set %waitingForCaSettling 0;
set image[%waitingForCa].visible off;
set image[%formingATP].frame 1;
set image[%formingATP].loop 1;
set image[%formingATP].visible on;
set %thisAtom nearest(1, %atpAtomX, %atpAtomY);
select atom %thisAtom;
remove;
add atom 0 (%pocket1x, %pocket1y); select atom "%number_of_atoms-1"; set movable off;
add atom 0 (%pocket2x, %pocket2y); select atom "%number_of_atoms-1"; set movable off;
add atom 0 (%pocket3x, %pocket3y); select atom "%number_of_atoms-1"; set movable off;
add atom 0 (%pocket4x, %pocket4y); select atom "%number_of_atoms-1"; set movable off;
set movable off;
set %waitingForATPPocketFormation 1;
set %endTransitionTime "%model_time+800";
endif;
waitng for atp pocket formation
100
3 waiting for ATP pocket
If ((%waitingForATPPocketFormation) and (%model_time > %endTransitionTime));
set %waitingForATPPocketFormation 0;
set %waitingForATPBinding 1;
endif;
wait for ATP capture
100
4 capture ATP
if (%waitingForATPBinding);
set %atp1toCapture nearest(3,%atpAnchor1x,%atpAnchor1y,2);
if (%atp1toCapture != -1);
if (%atom[%atp1toCapture].charge < 0);
set %atp1toCapture nearesttoatom(3,%atp1toCapture,10,2);
endif;
set atom[%atp1toCapture].restraint 100;
set atom[%atp1toCapture].restraint.x %atpAnchor1x;
set atom[%atp1toCapture].restraint.y %atpAnchor1y;
set atom[%atp1toCapture].friction 1;
set %atp2toCapture nearesttoatom(3,%atp1toCapture,10,2);
set atom[%atp2toCapture].restraint 100;
set atom[%atp2toCapture].restraint.x %atpAnchor2x;
set atom[%atp2toCapture].restraint.y %atpAnchor2y;
set atom[%atp2toCapture].friction 1;
set %waitingForATPBinding 0;
set %waitingForATPSettling 1;
set %endTransitionTime "%model_time+800";
endif;
endif;
wait for ATP to settle in place then initiate reaction
100
5 wait for ATP settling
If ((%waitingForATPSettling) and (%model_time > %endTransitionTime));
set %waitingForATPSettling 0;
set %waitingForClearCavity 1;
endif;
waitng for only one Ca in protein
100
6 waiting for clear cavity
If (%waitingForClearCavity);
set %caCount count(2,%proteinAreaX,%proteinAreaY,%proteinAreaW,%proteinAreaH);
set %atpCount count(3,%proteinAreaX,%proteinAreaY,%proteinAreaW,%proteinAreaH);
set %atomsInProtein "%caCount+%atpCount";
if (%atomsInProtein == 1);
set %waitingForClearCavity 0;
select element 0-1;
remove;
add obstacle (%obsRightX, %obsY, %obsWidth, %obsHeight);
set %rightObs "%number_of_obstacles-1";
add obstacle (%obsRight2x, %obsRight2y, %obsRight2width, %obsRight2height);
set %rightObs2 "%number_of_obstacles-1";
set %waitingForFlashTransition 1;
set %endTransitionTime "%model_time+500";
add image flash.gif (%flashX,%flashY);
set %i 0;
endif;
endif;
open protein to release calcium
100
8 transition protein
If (%waitingForProteinTransition);
if (%model_time > %endTransitionTime);
set %waitingForProteinTransition 0;
select obstacle %leftObs;
remove;
add atom 0 (%lsurface1x,%lsurface1y);
add atom 0 (%lsurface2x,%lsurface2y);
add atom 0 (%lsurface3x,%lsurface3y);
add atom 0 (%lsurface4x,%lsurface4y);
add atom 0 (%lsurface5x,%lsurface5y);
add atom 0 (%lsurface6x,%lsurface6y);
add atom 0 (%lsurface9x,%lsurface9y);
add atom 0 (%lsurface10x,%lsurface10y);
add atom 0 (%lsurface11x,%lsurface11y);
add atom 0 (%lsurface12x,%lsurface12y);
add atom 0 (%lsurface13x,%lsurface13y);
add atom 0 (%lsurface14x,%lsurface14y);
select element 0;
set movable off;
set atom[%caToCapture].restraint 0;
set atom[%caToCapture].friction 0;
set %waitingForCaRelease 1;
else;
%i++;
set atom[%caToCapture].restraint.x "%caRestraintX+%i*%caRestraintDeltaX";
set atom[%caToCapture].restraint.y "%caRestraintY+%i*%caRestraintDeltaY";
set atom[%atp1toCapture].restraint.x "%atpAnchor1x+%i*%atpRestraintDeltaX";
set atom[%atp1toCapture].restraint.y "%atpAnchor1y+%i*%atpRestraintDeltaY";
set atom[%atp1toCapture].rx "%atpAnchor1x+%i*%atpRestraintDeltaX";
set atom[%atp1toCapture].ry "%atpAnchor1y+%i*%atpRestraintDeltaY";
endif;
endif;
waiting for flash to finish
7 waiting for flash
If ((%waitingForFlashTransition) and (%model_time > %endTransitionTime));
set %waitingForFlashTransition 0;
set image[%formingATP].visible off;
set image[%releasingATP].frame 1;
set image[%releasingATP].loop 1;
set image[%releasingATP].visible on;
set %caToCapture nearest(2,%caRestraintX,%caRestraintY,2);
set %atp1toCapture nearest(3,%atpAnchor1x,%atpAnchor1y,2);
set %atp2toCapture nearesttoatom(3,%atp1toCapture,10,2);
set atom[%atp2toCapture].restraint 0;
set atom[%atp2toCapture].friction 0;
set %atpBond whichrbond(%atp1toCapture,%atp2toCapture);
select rbond %atpBond;
remove;
set %flashImage %number_of_images-1;
select image %flashImage;
remove;
add image adp.gif atomno=%atp2toCapture;
add image p.gif atomno=%atp1toCapture;
set %endTransitionTime "%model_time+1000";
set %waitingForProteinTransition 1;
endif;
1.0
None
-7179849
membraneBkgLarge.png
255
0
255
255
waitingForCa.gif
2
172.0
113.0
CaAtpaseFormATPSite.gif
2
1
false
172.0
113.0
waitingForATP.gif
2
2
false
172.0
113.0
CaAtpaseReleaseCa.gif
2
3
false
172.0
113.0
waitingForCaRelease.gif
2
4
false
172.0
113.0
CaAtpaseRestore.gif
2
5
false
172.0
113.0
atp.gif
-3.1415927
7
class org.concord.mw2d.models.RadialBond
1
6
261.0
235.50000000000003
0
0
255
255
1
false
249.0
208.0
1
false
250.0
128.0
false
240.0
142.0
false
230.0
145.0
false
219.0
147.0
false
207.0
147.0
false
198.0
153.0
false
199.0
179.0
false
208.0
185.0
false
218.0
189.0
false
229.0
193.0
false
240.0
196.0
2
0.20000000298023224
308.77471676117176
66.07198516481955
0.06802292158914287
-0.11016505721536901
2
0.20000000298023224
371.76377785146934
29.93145812778061
-0.07736060461317623
-0.029441233492225223
2
0.20000000298023224
391.53143403528264
277.09027834566615
0.05285657970114225
0.006508437780735268
2
0.20000000298023224
308.8759998339358
152.43477302194322
0.005463490703864402
8.715477609946208E-5
2
0.20000000298023224
407.85864744776774
169.13188403795988
0.11797646386045198
0.011020752867849627
2
0.20000000298023224
342.0826602545045
43.70659872975547
0.03501968319461732
-0.056073825138244285
2
0.20000000298023224
341.715517873108
233.74373925701465
-0.05274691636826896
0.07866421599507184
2
0.20000000298023224
451.5852925911073
105.64195374929824
-0.0022343399285937285
-0.004080081614505942
2
0.20000000298023224
419.2142463936035
136.07366514590686
-0.07334227743018781
-0.022998388026822098
2
0.20000000298023224
443.08883880080504
313.6880665640331
0.0017541276681952542
0.06853310049579624
2
0.20000000298023224
400.0
227.0
0.05152498376688459
0.03594239422626353
2
0.20000000298023224
289.03866772599645
130.6859846762383
-0.06769594291237747
0.043367311226496924
2
0.20000000298023224
299.0
177.0
-0.0204441835242218
-0.009356631598076565
2
0.20000000298023224
314.98221644594696
121.32479727138445
-6.018219839360368E-4
0.022976941053320838
2
0.20000000298023224
383.3722672612127
96.57573352996819
-0.021050658171519885
2.3338164148136153E-4
2
0.20000000298023224
471.7617007674528
96.88094207499648
-0.01409638594274496
0.026511082102125796
3
false
290.0
283.0
3
-0.01
false
318.0
283.0
3
false
421.0
249.0
3
-0.01
false
449.0
249.0
3
false
343.0
188.0
3
-0.01
false
371.0
188.0
3
false
429.0
62.0
3
-0.01
false
457.0
62.0
3
false
270.0
31.000000000000004
3
-0.01
false
298.0
31.000000000000004
3
false
444.0
201.00000000000003
3
-0.01
false
472.0
201.00000000000003
3
false
354.0
303.0
3
-0.01
false
382.0
303.0
3
false
279.0
251.00000000000003
3
-0.01
false
307.0
251.00000000000003
8
28
29
28.0
0.2
30
31
28.0
0.2
32
33
28.0
0.2
34
35
28.0
0.2
36
37
28.0
0.2
38
39
28.0
0.2
40
41
28.0
0.2
42
43
28.0
0.2