MEDYAN.def_fila_tip_probe!
Tuple{MEDYAN.SysDef}
Define a link type for a tip probe: a ball tethered to one end of a fila_type filament, carrying tip reactions that obstacles slow down under baoab!. Attach a probe to a tip with make_fila_tip_probe!.
Use this in place of def_fila_tip_reaction! when running Langevin dynamics. A tip reaction is slowed by exp(-β·spacing·F) using the load force F at the end of the last mechanics run, which under baoab! is a single noisy sample. A probe instead uses the fraction of the last baoab! run during which the ball sat at least spacing beyond the tip, relative to the fraction expected with nothing in the way. This is a noisy but unbiased estimate of the gap-opening probability, which averages out over many chemistry windows and reduces to exp(-β·spacing·F) under a constant load. The factor is 1 before the first baoab! run and after minimize_energy!, which resets it.
The ball is held on the tip tangent line by a TangentLineRestraint and does not collide with the filament, so when unobstructed its offset along the tangent is Gaussian with σ = √(kT/k_axial). Choose k_axial so σ is comparable to spacing, and k_lateral stiff.
Keyword Arguments
fila_type::Symbol: Filament type.name::Symbol: Name of the link type.is_minus_end::Bool: Which end the probe attaches to.k_axial::Float64: Tether stiffness along the tip tangent (pN/nm).k_lateral::Float64: Tether stiffness across the tip tangent (pN/nm).reactions::Vector = []: Tip reactions, each aNamedTuplewith the keywords ofdef_fila_tip_reaction!exceptis_minus_endandboth_ends.spacing = 0means the reaction needs no gap. A customaffect!is called as(c; tip::FilaTipIdx, link::Link, chem_voxel, kwargs...) -> Int.description::String = "": Description of the link type.
Examples
s = MEDYAN.SysDef()
def_fila_type!(s; name=:actin, mono_states=[:a, :plusend, :minusend], param=MEDYAN.ACTIN_TWIST_PARAMS)
def_diffusing_species!(s, :actin_mon; coeff=2.5e7)
def_fila_tip_probe!(s;
fila_type = :actin,
name = :plus_probe,
is_minus_end = false,
k_axial = 1.9, # σ ≈ 1.5 nm at room temperature
k_lateral = 100.0,
reactions = [
# polymerization, slowed by obstacles within one monomer spacing
(;
name = :pp,
match = [:plusend],
new = [:a, :plusend],
spacing = 2.7,
net_stoich = [:actin_mon => -1],
base_rate = 1.93e7,
invvolumepower = 1,
reactants_extra = "diffusing.actin_mon",
),
],
)