pub struct OuterHairCell {}Expand description
Outer hair cell — cochlear amplifier via prestin electromotility.
Prestin (SLC26A5) is a voltage-dependent motor protein that contracts the OHC soma upon depolarisation and elongates upon hyperpolarisation. This bidirectional response is asymmetric: maximum contraction exceeds maximum elongation (~2:1 ratio).
The model implements:
- MET transduction (stereocilia → receptor potential)
- Prestin electromotility with two-state Boltzmann charge movement and asymmetric length change
- Nonlinear capacitance (NLC) that peaks near V_pk
Prestin motility (Santos-Sacchi 2006): charge = Q_max / (1 + exp(z_e*(V-V_pk)/(kT))) ΔL = L_max * (charge/Q_max - 0.5) * asym(V)
where asym(V) = 1 + a_factor*(V-V_pk)/|V-V_pk+eps| gives asymmetric contraction (depolarised) vs elongation (hyperpolarised).
Dallos et al., Neuron 58:333, 2008. Santos-Sacchi et al., J Neurosci 26:3992, 2006.
Fields§
§v: f64§v_rest: f64§tau: f64§g_met: f64§x_half: f64§s_met: f64§motility: f64§l_max: f64§v_pk: f64§z_e: f64§v_t: f64§q_max: f64§asym_factor: f64§dt: f64Implementations§
Source§impl OuterHairCell
impl OuterHairCell
Trait Implementations§
Source§impl Clone for OuterHairCell
impl Clone for OuterHairCell
Source§fn clone(&self) -> OuterHairCell
fn clone(&self) -> OuterHairCell
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OuterHairCell
impl Debug for OuterHairCell
Auto Trait Implementations§
impl Freeze for OuterHairCell
impl RefUnwindSafe for OuterHairCell
impl Send for OuterHairCell
impl Sync for OuterHairCell
impl Unpin for OuterHairCell
impl UnsafeUnpin for OuterHairCell
impl UnwindSafe for OuterHairCell
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more