|
|
Line 31: |
Line 31: |
| |width="400pt"|(Comments are in green - this web version of the matlab file is created using webify_interaction_function('MT_Edinb_20120427.m')).<br><br> | | |width="400pt"|(Comments are in green - this web version of the matlab file is created using webify_interaction_function('MT_Edinb_20120427.m')).<br><br> |
| The default file is largely a copy of''' MTtbox_BoilerPlate.txt''' which should be updated to reflect the latest ideas on how to build the function. | | The default file is largely a copy of''' MTtbox_BoilerPlate.txt''' which should be updated to reflect the latest ideas on how to build the function. |
| <br><br> | | <br><br> |
| function data = MT_Tues_20120501( data, before )
| | [[Default MTtbox interaction function|Initial MTtbox interaction function is shown here]] |
| if nargin < 1, return; end
| |
| <span style="color: Green">% </span>
| |
| <span style="color: Green">%</span>
| |
| <span style="color: Green">% extract factors from structure</span>
| |
| for i=1:size( data.factorprops.Concentration,2)
| |
| factname=lower(data.factorprops.Index2Name{i});
| |
| eval([[factname,'_p'],'=reshape(','data.factorprops.Concentration(:,i),[ data.cellprops.cellsize]);']);
| |
| eval([[factname,'_i'],'=','data.factorprops.Name2Index.(factname);']);
| |
| end
| |
| <span style="color: Green">% insert model in here</span>
| |
| <span style="color: Green">% data=setupDiffusion(data,'Factorname','s_micplm','DiffK',[0.2,0.2],...</span>
| |
| <span style="color: Green">% 'RegionLists',{{'cytoplasm','vacuole','cell_wall'},{'plasma_membrane','microtubules'}});</span>
| |
| <span style="color: Green">% data=setupDiffusion(data,'Factorname','id_micplm','DiffK',[0,0],...</span>
| |
| <span style="color: Green">% 'RegionLists',{{'cytoplasm','vacuole','cell_wall'},{'plasma_membrane','microtubules'}});</span>
| |
| <span style="color: Green">% data.factorprops.DiffusionConst(:,1)=0.1; % This should be superceed by the above</span>
| |
| <span style="color: Green">% data.factorprops.DiffusionConst(:,2)=0.05;% This should be superceed by the above</span>
| |
| if data.iterations<0
| |
| <span style="color: Green">% insert initialisation code here - use Initialise button to jump to here</span>
| |
| <span style="color: Green">% modify default cell specifications, etc. to modify how the cell volume is partitioned, e.g.</span>
| |
| <span style="color: Green">% data.organelleprops.plasma_membrane.size=0.95; % fraction of longest dimension</span>
| |
| <span style="color: Green">% data.organelleprops.cytoplasm.size=0.80;</span>
| |
| <span style="color: Green">% data.organelleprops.vacuole.size=0.4;</span>
| |
| <span style="color: Green">% data.organelleprops.microtubules.nuclspont=0.0012; % observed nucleations per square (cubic) micron per sec</span>
| |
| elseif data.iterations==0
| |
| <span style="color: Green">% insert startup code here - use Restart button to jump to here</span>
| |
| <span style="color: Green">%% setup MT size</span>
| |
| <span style="color: Green">%if data.cellprops.cellsize(1)>25</span>
| |
| <span style="color: Green">% data=mtSETprops(data,'microtubules','size',0.01,'microtubules','growthrate',0.025);</span>
| |
| <span style="color: Green">% data=mtSETprops(data,'microtubules','shrinkrate',0.005);</span>
| |
| <span style="color: Green">%end</span>
| |
| else
| |
| <span style="color: Green">%id_micplm_p(:)=0; % clear</span>
| |
| <span style="color: Green">%id_micplm_p(data.cellprops.Vol==data.organelleprops.cytoplasm.Label)=0.8; % set cytoplasm region to 1</span>
| |
| <span style="color: Green">%id_micplm_p(round(data.cellprops.cellsize(1)/3):end,:,:)=0; % then set right hand end back to zero</span>
| |
| <span style="color: Green">%s_micplm_p(id_micplm_p>0.1)=0.1;</span>
| |
| <span style="color: Green">%% limit spontaneous nucleation to a region specified by id_micplm_p</span>
| |
| <span style="color: Green">% data.organelleprops.microtubules.nuclspont=id_micplm_p;</span>
| |
| <span style="color: Green">%data.cellprops.colourType=0; % set to 1 if colour is to be specified by individual MT property</span>
| |
|
| |
| <span style="color: Green">%Work through all the microtubules updating properties depending on flags</span>
| |
| <span style="color: Green">%Average number of MT's present is observed to be about 80 i.e. 80/300 square microns (say 1 micron thick</span>
| |
| <span style="color: Green">%so ~0.25 per square (cubic) micron</span>
| |
| for i_MT=1:length(data.working.dyn.microtubules.Org)
| |
| MT=data.working.dyn.microtubules.Org(i_MT);
| |
| <span style="color: Green">% MTtbox monitors ...</span>
| |
| <span style="color: Green">% MT.Age</span>
| |
| <span style="color: Green">% MT.PauseDuration</span>
| |
| <span style="color: Green">% MT.TimeNucleated</span>
| |
| <span style="color: Green">% MT.Alive=true;</span>
| |
| <span style="color: Green">% MT.Growing=true;</span>
| |
| <span style="color: Green">% MT.Shrinking=true;</span>
| |
| <span style="color: Green">% MT.Catastrophe=false;</span>
| |
| <span style="color: Green">% MT.BoundPLM=false;</span>
| |
| <span style="color: Green">% MT.PLMBindVertNums=[];</span>
| |
| <span style="color: Green">% MT.BoundMic=false;</span>
| |
| <span style="color: Green">% MT.MTBindVertNums=[];</span>
| |
| <span style="color: Green">% MT.BoundVac=false;</span>
| |
| <span style="color: Green">% MT.VacBindVertNums=[]; </span>
| |
| <span style="color: Green">% MT.Hit=struct('Type','','ID',[]); </span>
| |
| <span style="color: Green">% MT.HitMe=struct('Type','','ID',[]); </span>
| |
| <span style="color: Green">% MT.Props.growthrate</span>
| |
| <span style="color: Green">% MT.Props.shrinkrate</span>
| |
| <span style="color: Green">% MT.Props.maxbend</span>
| |
| <span style="color: Green">% MT.Props.maxAge</span>
| |
| <span style="color: Green">% MT.Props.nuclspont</span>
| |
| <span style="color: Green">% MT.Props.nuclonMT</span>
| |
| <span style="color: Green">% Make changes here, i.e.</span>
| |
| <span style="color: Green">% diffs=diff(MT.Verts).^2; % calculate length of MT</span>
| |
| <span style="color: Green">% MTlength=sum(sqrt(sum(diffs')'))*data.cellprops.micronsPerVoxelEdge; % microns</span>
| |
| <span style="color: Green">% if MTlength>0.5</span>
| |
| <span style="color: Green">% MT.Props.nuclonMT=min(1,0.4*MTlength); % observed approx. 0.007 per micron per sec</span>
| |
| <span style="color: Green">% else</span>
| |
| <span style="color: Green">% MT.Props.nuclonMT=0;</span>
| |
| <span style="color: Green">% end</span>
| |
| <span style="color: Green">%ageMT=data.working.CellAge;% seconds</span>
| |
| <span style="color: Green">%maxAgeColour=20;</span>
| |
| <span style="color: Green">%MT.Props.FaceColor=[max(0,min(1,1-ageMT/maxAgeColour)), 0.5, max(0,min(1,ageMT/maxAgeColour))];</span>
| |
| <span style="color: Green">%if MT.BoundPLM && MT.Growing % hit plasma_membrane and aligned</span>
| |
| <span style="color: Green">%elseif MT.BoundPLM && ~MT.Growing % hit plasma_membrane and NOT aligned</span>
| |
| <span style="color: Green">%end</span>
| |
| <span style="color: Green">%if MT.BoundMic && MT.Growing % hit another microtubule and aligned</span>
| |
| <span style="color: Green">%elseif MT.BoundMic && ~MT.Growing % hit another microtubule and NOT aligned</span>
| |
| <span style="color: Green">%end</span>
| |
| <span style="color: Green">%if MT.BoundVac && MT.Growing % hit vacuole membrane and aligned</span>
| |
| <span style="color: Green">%elseif MT.BoundVac && ~MT.Growing % hit vacuole membrane and NOT aligned</span>
| |
| <span style="color: Green">%end</span>
| |
| <span style="color: Green">% Keep the following</span>
| |
| <span style="color: Green">% Clear flags from collision detector</span>
| |
| MT.BoundPLM=false;
| |
| MT.BoundMic=false;
| |
| MT.BoundVac=false;
| |
| data.working.dyn.microtubules.Org(i_MT)=MT;
| |
| end
| |
| end
| |
|
| |
| <span style="color: Green">% put factors back into structure</span>
| |
| for i=1:size( data.factorprops.Concentration,2)
| |
| factname=lower(data.factorprops.Index2Name{i});
| |
| eval(['data.factorprops.Concentration(:,i)=',[factname,'_p(:);']]);
| |
| end
| |
|
| |
| end
| |
|
| |
| <span style="color: Green">% This space intentionally left blank.</span>
| |
| <span style="color: Green">% Default factor parameters</span>
| |
| <span style="color: Green">% Default organelle parameters</span>
| |
|
| |
| <span style="color: Green">% cell_wall.size =0.000000</span>
| |
| <span style="color: Green">% cell_wall.offset =0.500000</span>
| |
| <span style="color: Green">% cell_wall.micronthick =0.100000</span>
| |
| <span style="color: Green">% cell_wall.minvox =1.000000</span>
| |
| <span style="color: Green">% cell_wall.FaceColor =[1.000000,0.000000,1.000000,]</span>
| |
| <span style="color: Green">% cell_wall.FaceAlpha =0.010000</span>
| |
| <span style="color: Green">% cell_wall.Label =-5.000000</span>
| |
| <span style="color: Green">% cell_wall.isLayer =1.000000</span>
| |
| <span style="color: Green">% cell_wall.Static =1.000000</span>
| |
| <span style="color: Green">% cell_wall.InUse =1.000000</span>
| |
|
| |
| <span style="color: Green">%plasma_membrane.size =0.000000</span>
| |
| <span style="color: Green">%plasma_membrane.offset =0.500000</span>
| |
| <span style="color: Green">%plasma_membrane.micronthick =0.010000</span>
| |
| <span style="color: Green">%plasma_membrane.minvox =3.000000</span>
| |
| <span style="color: Green">%plasma_membrane.FaceColor =[1.000000,1.000000,0.000000,]</span>
| |
| <span style="color: Green">%plasma_membrane.FaceAlpha =0.020000</span>
| |
| <span style="color: Green">%plasma_membrane.Label =-4.000000</span>
| |
| <span style="color: Green">%plasma_membrane.isLayer =1.000000</span>
| |
| <span style="color: Green">%plasma_membrane.Static =1.000000</span>
| |
| <span style="color: Green">%plasma_membrane.InUse =1.000000</span>
| |
|
| |
| <span style="color: Green">% cytoplasm.size =0.000000</span>
| |
| <span style="color: Green">% cytoplasm.offset =0.500000</span>
| |
| <span style="color: Green">% cytoplasm.micronthick =1.000000</span>
| |
| <span style="color: Green">% cytoplasm.minvox =5.000000</span>
| |
| <span style="color: Green">% cytoplasm.FaceColor =[0.000000,1.000000,0.000000,]</span>
| |
| <span style="color: Green">% cytoplasm.FaceAlpha =0.020000</span>
| |
| <span style="color: Green">% cytoplasm.Label =0.000000</span>
| |
| <span style="color: Green">% cytoplasm.isLayer =1.000000</span>
| |
| <span style="color: Green">% cytoplasm.Static =1.000000</span>
| |
| <span style="color: Green">% cytoplasm.InUse =1.000000</span>
| |
|
| |
| <span style="color: Green">% microtubules.size =0.025000</span>
| |
| <span style="color: Green">% microtubules.minvoxel =3.000000</span>
| |
| <span style="color: Green">% microtubules.growthrate =0.100000</span>
| |
| <span style="color: Green">% microtubules.shrinkrate =0.010000</span>
| |
| <span style="color: Green">% microtubules.maxbend =40.000000</span>
| |
| <span style="color: Green">% microtubules.MaxAngle =20.000000</span>
| |
| <span style="color: Green">% microtubules.maxAge =0.000000</span>
| |
| <span style="color: Green">% microtubules.nuclspont =0.050000</span>
| |
| <span style="color: Green">% microtubules.nuclonMT =0.090000</span>
| |
| <span style="color: Green">% microtubules.probCatastrophe=0.300000</span>
| |
| <span style="color: Green">% microtubules.FaceColor =[0.000000,0.000000,1.000000,]</span>
| |
| <span style="color: Green">% microtubules.FaceAlpha =0.400000</span>
| |
| <span style="color: Green">% microtubules.Label =-6.000000</span>
| |
| <span style="color: Green">% microtubules.isLayer =0.000000</span>
| |
| <span style="color: Green">% microtubules.Static =0.000000</span>
| |
| <span style="color: Green">% microtubules.InUse =1.000000</span>
| |
|
| |
| <span style="color: Green">% vacuole.size =0.200000</span>
| |
| <span style="color: Green">% vacuole.offset =0.500000</span>
| |
| <span style="color: Green">% vacuole.micronthick =1.000000</span>
| |
| <span style="color: Green">% vacuole.minvox =0.000000</span>
| |
| <span style="color: Green">% vacuole.FaceColor =[1.000000,1.000000,0.000000,]</span>
| |
| <span style="color: Green">% vacuole.FaceAlpha =0.300000</span>
| |
| <span style="color: Green">% vacuole.Label =-3.000000</span>
| |
| <span style="color: Green">% vacuole.isLayer =0.000000</span>
| |
| <span style="color: Green">% vacuole.Static =1.000000</span>
| |
| <span style="color: Green">% vacuole.InUse =1.000000</span>
| |
| <span style="color: Green">% Default cell parameters</span>
| |
| <span style="color: Green">% cellprops.shape ='Rect:1:1:1'</span>
| |
| <span style="color: Green">% cellprops.sheetmodel =0</span>
| |
| <span style="color: Green">% cellprops.maxLengthMicrons=10</span>
| |
| <span style="color: Green">% cellprops.secondsPerStep =1</span>
| |
| <span style="color: Green">% cellprops.micronsPerVoxelEdge=0.400000</span>
| |
| <span style="color: Green">% cellprops.cubicMicronsPerVoxel=0.064000</span>
| |
| <span style="color: Green">% cellprops.cellsize =[25,25,25,]</span>
| |
| <span style="color: Green">% cellprops.colourType =1</span>
| |
| <span style="color: Green">% cellprops.Vol =[-1,-1,-1,-1, ... ]</span>
| |
| <span style="color: Green">% cellprops.Smooth ='None'</span>
| |
| <span style="color: Green">% cellprops.dynamic ='microtubules'</span>
| |
| <span style="color: Green">% cellprops.bound_distance =5</span>
| |
| <span style="color: Green">% cellprops.collide_distance=10</span>
| |
| <span style="color: Green">% cellprops.% vacuole.Vol=struct</span>
| |
| <span style="color: Green">% vacuole.EdgeVol=struct</span>
| |
| <span style="color: Green">% cellprops.% cell_wall.Vol=struct</span>
| |
| <span style="color: Green">% cell_wall.EdgeVol=struct</span>
| |
| <span style="color: Green">% cellprops.% plasma_membrane.Vol=struct</span>
| |
| <span style="color: Green">% plasma_membrane.EdgeVol=struct</span>
| |
| <span style="color: Green">% cellprops.% cytoplasm.Vol=struct</span>
| |
| <span style="color: Green">% cytoplasm.EdgeVol=struct</span>
| |
| <span style="color: Green">% cytoplasm.Indexes=struct</span>
| |
| <span style="color: Green">% cellprops.% Diameter.microtubules=struct</span>
| |
| <span style="color: Green">% cellprops.% microtubules.Vol=struct</span>
| |
| <span style="color: Green">% microtubules.Offsets=struct</span>
| |
| | |
| |} | | |} |
| =Graphical User Interface= | | =Graphical User Interface= |