2. Functions for modeling

Note

The following functions are used for math modeling and analysis in Figure 2, 6 and in Suplementary Figure S4.

2.1. The basic model

Note

The following functions are used for the basic math model in Figure 2, where we assumed that actin filaments’ assembly and disassembly rates lack orientation bias or dependence, and that filaments are rotated by a constant contraction rate.

modeling.basic_model.alignmentSimulator2(initN, dt, totalT, iFrame, vivoCDF, strainMin, strainMax, deathMin, deathMax)

alignmentSimulator2 explores parameter space for the basic math model.

Parameters
  • initN – initial number of filaments

  • dt – delta time for stepwise estimate

  • totalT – total length of time to simulate

  • iFrame – period of time to record simulated results

  • vivoCDF – accumulative distribution function for the orientation of

  • vivo (filaments distribution measured in) –

  • strainMin – minimum contraction rate the system will explore

  • strainMax – maximum contraction rate the system will explore

  • deathMin – minimum death rate the system will explore

  • deathMax – maximum death rate the system will explore

Output:

First column: Contraction rate

Second column: Death rate

Third column: Asymmetry value of the distribution of the filament orientation at the end.

modeling.basic_model.filamentsRotate(initN, dt, totalT, iFrame, vivoCDF, strainRate, deathRate)

filamentsRotate simulates the distribution of filament orientation with given contraction rate and death rate (turnover rate) assuming that filaments assemble at random orientations, cortex contracts with a constant contraction rate, and filaments in all directions have are equally likely to turnover.

Parameters
  • initN – initial number of filaments

  • dt – delta time for stepwise estimate

  • totalT – total length of time to simulate

  • iFrame – period of time to record simulated results

  • vivoCDF – accumulative distribution function for the orientation of filaments distribution measured in vivo

  • strainRate – contraction rate

  • deathRate – turnover rate

Output:

res: the distribution of filament orientation in the following format:

rows = time evolution

columns = bins from 0 - 90 degrees

numbers = the number of filament within a bin of direction at a given timepoint

density: total filament density

2.2. The differential turnover model

Note

The following functions are used for the differential turnover model in Supplementary Figure S4, where we assumed that actin filaments’ with correct orientations are protected from disassembly.

modeling.diff_Trnv_model.filamentsRotate2v3(initN, dt, totalT, iFrame, vivoCDF, strainRate, deathRateMin, deathRateMax, k, kdgree)

filamentsRotate2v3 silulates the distribution of filament orientation with in vivo contraction rate and assume that the death rate depends on the orientation of filament governed by a Hill function.

Parameters
  • initN – initial number of filaments

  • dt – delta time for stepwise estimate

  • totalT – total length of time to simulate

  • iFrame – period of time to record simulated results

  • vivoCDF – accumulative distribution function for the orientation of filaments distribution measured in vivo

  • strainRate – in vivo measurement of contraction rate

  • deathRateMin – minimum turnover rate

  • deathRateMax – maximum turnover rate

  • k – threshold for the Hill function

  • kdgree – degree of the Hill function

Output:

res: the distribution of filament orientation in the following format:

rows = time evolution

columns = bins from 0 - 90 degrees

numbers = the number of filament within a bin of direction at a given timepoint

density: total filament density

modeling.diff_Trnv_model.turnoverSimulator5(initN, dt, totalT, iFrame, vivoCDF, strainRate)

turnoverSimulator5 explores 200 random parameter pairs in the parameter space for differential turnover model.

Parameters
  • initN – initial number of filaments

  • dt – delta time for stepwise estimate

  • totalT – total length of time to simulate

  • iFrame – period of time to record simulated results

  • vivoCDF – accumulative distribution function for the orientation of

  • vivo. (filaments distribution measured in) –

  • strainRate – contraction rate measured in vivo.

Output:

out: the result of the simulation in the following format:

minDeath = minimum turnover rate

maxDeath = maximum turnover rate

k = threshold for the Hill function

kdgree = degree of the Hill function

aveDeath2 = average turnover rate from 60 - 90 seconds

asy = asymmetry value

filamentDis = filament distribution from filamentsRotate2v3

Int = intensity from filamentsRotate2v3

2.3. The Filament-Guide-Filament-Assembly model

Note

The following functions are used for the FGFA model in Figure 6, where we assumed that a portion of actin filaments assemble with the orientation of existing filaments.

modeling.FGFA_model.alignmentSimulator4(VivoCDF, initN, dt, totalT, iFrame, strainRate, deathRate)

alignmentSimulator4 explores 50 random lamda value for FGFA model

Parameters
  • initN – initial number of filaments

  • dt – delta time for stepwise estimate

  • totalT – total length of time to simulate

  • iFrame – period of time to record simulated results

  • vivoCDF – accumulative distribution function for the orientation of

  • vivo. (filaments distribution measured in) –

  • strainRate – measured contraction rate in vivo.

  • deathRate – measured turnover rate in vivo.

Output:

first column: lamda

second column: asymmetry value

modeling.FGFA_model.filamentsRotate4(VivoCDF, initN, dt, totalT, iFrame, strainRate, deathRate, p)

filamentsRotate4 simulates the distribution of filament orientation with in vivo contraction rate and turnover rate, assuming that lamda portion of the new born filament inherent the orientation of an existing filament.

Parameters
  • initN – initial number of filaments

  • dt – delta time for stepwise estimate

  • totalT – total length of time to simulate

  • iFrame – period of time to record simulated results

  • vivoCDF – accumulative distribution function for the orientation of filaments distribution measured in vivo

  • strainRate – in vivo measurement of contraction rate

  • deathRate – in vivo measurement of turnover rate

  • p – lamda

Output:

res: the distribution of filament orientation in the following format:

rows = time evolution

columns = bins from 0 - 90 degrees

numbers = the number of filament within a bin of direction at a given timepoint

density: total filament density

2.4. Additional functions

Note

the following functions are used in multiple models to help build the model and/or analyze modeling results.

modeling.extra.AsymmetryRiseSlope(in)

AsymmetryRiseSlope fit a straight line to the Asymmetry data from 61 - 90 seconds to measure asymmetry slope during that period.

Parameters

in – the result of the simulation from either turnoverSimulator5 or FGFA modeling.

Output:

in with an additional field “asySlope” to record asymmetry slope.

modeling.extra.EstimateOrientation(filaments, nBorn)

EstimateOrientation first estimate the accumulative distribution function of a given distribution of filament orientation, and then calculate the orientation of new filaments based on the CDF.

Parameters
  • filaments – the orientation of existing filaments.

  • nBorn – number of new filaments

Output:

the orientation of new filaments.

modeling.extra.EstimateOrientationV2(CDF, nBorn)

EstimateOrientationV2 generate the orientation of new filaments based on the orientation of existing filaments

Parameters
  • CDF – accumulative distribution function for existing filaments

  • nBorn – the number of new filaments.

Output:

out: the orientation of new filaments

modeling.extra.filamentIntensityplateau(in)

filamentIntensityplatueau fit a straight line to the intensity data from 41 - 90 seconds to measure intensity slope during that period.

Parameters

in – the result of the simulation from either turnoverSimulator5 or FGFA modeling.

Output:

in with an additional field “plateau” to record intensity slope.