Bridge Statistics

This module implements statistical models for bridge counts and gate probabilities.

Bridge Count Model

class microscopic_gating.statistics.BridgeCountModel(site_pairs)[source]

Bases: object

Bridge-number statistics for \(N_{\text{pair}}\) independent site pairs.

Implements Eq. (S9)-(S13):

  • Binomial distribution: Exact distribution with probability \(p_B\)

  • Poisson approximation: \(\lambda = N_{\text{pair}} \cdot p_B\)

The Poisson approximation is valid when \(N_{\text{pair}}\) is large and \(p_B\) is small.

Parameters:

site_pairs (SitePairCount) – Site pair counts containing M and N_acc, from which \(N_{\text{pair}} = M \\times N_{\text{acc}}\) is calculated.

See also

GateModel

Converts bridge statistics to gate probabilities.

Examples

>>> from microscopic_gating.types import SitePairCount
>>> model = BridgeCountModel(SitePairCount(M=10, N_acc=5))
>>> model.lambda_poisson(0.1)
5.0
>>> model.mean(0.1)
5.0

References

  • Eq. (S9)-(S13): Bridge count statistics derivation

site_pairs: SitePairCount
lambda_poisson(p_B)[source]

Calculate Poisson intensity.

Parameters:

p_B (ArrayLike) – Bridge probability per site pair (may be vectorized).

Returns:

lam – Poisson intensity \(\lambda = N_{\text{pair}} \cdot p_B\), same shape as p_B.

Return type:

ArrayLike

mean(p_B)[source]

Calculate mean bridge count.

Parameters:

p_B (ArrayLike) – Bridge probability per site pair.

Returns:

mean – Expected value \(E[n_b] = N_{\text{pair}} \cdot p_B\).

Return type:

ArrayLike

var_binomial(p_B)[source]

Calculate binomial variance.

Parameters:

p_B (ArrayLike) – Bridge probability per site pair.

Returns:

var – Variance \(\text{Var}[n_b] = N_{\text{pair}} \cdot p_B \cdot (1 - p_B)\).

Return type:

ArrayLike

__init__(site_pairs)
Parameters:

site_pairs (SitePairCount) –

Return type:

None

Gate Model

class microscopic_gating.statistics.GateModel[source]

Bases: object

Gate open/closed probabilities from Poisson bridge statistics.

Implements Eq. (S12), relating the Poisson intensity to gate state probabilities:

\[ \begin{align}\begin{aligned}P_{\text{open}} &= e^{-\lambda}\\P_{\text{closed}} &= 1 - e^{-\lambda}\end{aligned}\end{align} \]

The gate is considered “open” when there are zero bridges and “closed” when there is at least one bridge.

Examples

>>> model = GateModel()
>>> model.P_open(1.0)
0.3678...
>>> model.P_closed(1.0)
0.6321...

References

  • Eq. (S12): Gate probability from Poisson statistics

P_open(lam)[source]

Calculate gate open probability.

Parameters:

lam (ArrayLike) – Poisson intensity \(\lambda\).

Returns:

P_open – Probability of zero bridges: \(P_{\text{open}} = e^{-\lambda}\).

Return type:

ArrayLike

P_closed(lam)[source]

Calculate gate closed probability.

Parameters:

lam (ArrayLike) – Poisson intensity \(\lambda\).

Returns:

P_closed – Probability of at least one bridge: \(P_{\text{closed}} = 1 - e^{-\lambda}\).

Return type:

ArrayLike

__init__()
Return type:

None

Theory Background

Bridge counts follow a Poisson distribution with intensity \(\lambda\):

\[P(n_b) = \frac{\lambda^{n_b} e^{-\lambda}}{n_b!}\]

where \(\lambda = N_{\text{pair}} \cdot P_{\text{bridge}}(\phi)\).

Gate Open Probability

The probability of zero bridges (gate open):

\[P_{\text{open}} = e^{-\lambda}\]

Gate Closed Probability

The probability of at least one bridge (gate closed):

\[P_{\text{closed}} = 1 - e^{-\lambda}\]