Egg activation models
Calcium, zinc and CaMKII models of egg activation with replication tests.
- Repository
egg-activation-modelson GitHub- Cite
- doi:10.5281/zenodo.24044051 (all versions, via Zenodo)
- Layer
- Layer 1
- Licence
- PolyForm-Noncommercial-1.0.0
- Status
- released
Claims
| Claim | Level | Statement | Evidence |
|---|---|---|---|
egg:EULER-STEP-IS-FRACTION v1.0.0 | P | For 0 ≤ A ≤ 1, 0 ≤ h ≤ 1, τ_on, τ_off > 0 and dt ≥ 0 with dt·(1/τ_on + 1/τ_off) ≤ 1, one explicit Euler step of the CaMKII model, A + dt·((1 − A)·h/τ_on − A/τ_off), lies in [0, 1]. | |
egg:CAMKII-ACTIVITY-IS-FRACTION v1.0.0 | P | For any calcium samples Ca ≥ 0, K > 0, any Hill exponent n, τ_on, τ_off > 0 and a step dt ≥ 0 with dt·(1/τ_on + 1/τ_off) ≤ 1, the CaMKII activity simulated from A = 0 with the Hill input Caⁿ/(Kⁿ + Caⁿ) is in [0, 1] at every step: it is always a valid fraction. |
|
egg:CAMKII-FRACTION-IN-CODE v1.0.0 | T | camkii_decoder rejects every step dt with dt·(1/camkii_on_s + 1/camkii_off_s) > 1 (above about 7.23 s, 600/83 s, for the presets), and for 300 random traces, time constants, Hill constants and steps up to the largest accepted one, its floating-point activity stays in [0, 1] and its progress is non-decreasing and in [0, 1]; for Hill constants K from 1e-5 to 1e5 and n up to 1e6, where Kⁿ and Caⁿ underflow or overflow, the activity, the progress and decoding_vs_interval's results are never NaN and stay in [0, 1]; in two cases where Kⁿ underflows to 0 and Caⁿ is a tiny subnormal number, the Hill input is within 1e-12 of its exact value. |
|
egg:HUMAN-INTERVALS-IN-RANGE v1.0.0 | T | Every interval between successive calcium spikes of the human preset (11.2 to 24.4 min with its seed, 11) lies within the 10–35 min measured in human eggs at fertilisation, for the preset's seed and 2,000 others; the test reads the range from biological-rhythms-dataset. |
|
egg:PRESETS-MATCH-DATASET v1.0.0 | T | The human preset's one zinc spark equals the dataset's count for human eggs, the hyperactivated sperm beat (11.7 Hz) equals the dataset's median, and the mean sperm beat (14.5 Hz) lies between the dataset's medians in viscous medium (10 Hz) and diluted semen (19 Hz); the test reads these values from biological-rhythms-dataset. |
|
egg:DECODING-MONOTONE v1.0.0 | T | In decoding_vs_interval, for the human and mouse presets and 1, 4 or 12 spikes, the mean CaMKII activity strictly falls as the interval grows, on a grid from 2 to 40 min and for 50 random pairs of intervals in that range: shorter intervals give more activity. |
|
egg:SPLITMIX-JITTER v1.0.0 | T | spike_times draws each interval's jitter u from signal-core's SplitMix64::new(seed).uniform(−jitter, jitter) and reproduces an independent Python port of the generator bit for bit; the same seed always gives the same times, and with jitter 0 the times do not depend on the seed. |
|
egg:CALCIUM-TRACE-SHAPE v1.0.0 | T | In calcium_trace every later spike is dynamics-core's spike_shape divided by its value at spike_peak_time, so it peaks at spike_amplitude: sampled every 0.25 s, each later spike of both presets tops out within 1e-4 below spike_amplitude and never above it, the first transient reaches 0.999 on its plateau, and the trace stays in [0, 1]. Each later spike is evaluated only until the next one peaks, and for 20 random trains of overlapping spikes the trace is nowhere more than 1e-15 below any later spike evaluated over the whole trace. |
|
egg:CSV-TRACE v1.0.0 | T | load_trace_csv reads CSV text with one record per line (commas, quoted fields without line breaks, CRLF) as Python's csv module reads such text, takes numbers written with ASCII digits, skips every row whose time or value is not a finite number, whole, scales times by time_unit_s and normalises the values to [0, 1) by (v − min)/(max − min + 1e-12). | |
egg:INPUT-VALIDATION v1.0.0 | T | Every function rejects parameters that are not finite or are out of range (non-positive durations, time constants, intervals and Hill constants; jitter outside [0, 1); zinc fractions and event thresholds outside [0, 1]; counts and seeds that are not whole numbers from 0 to 2^53), unknown fields and presets, an unstable CaMKII step, times for the decoder that are not evenly spaced (a step more than 1 % from t[1] − t[0]), arrays of different lengths or with NaN, negative calcium, decreasing progress, more than 2^24 samples or 2^20 spikes and CSV text without a row of numbers; Rust returns EggError, Python raises ValueError (TypeError or OverflowError for a bad integer argument) and JavaScript throws an Error. | |
egg:IMPLEMENTATIONS-AGREE v1.0.0 | T | The Rust crate, the Python bindings and the WebAssembly bindings all reproduce every golden vector computed by the earlier toolkit's egg_models.py (with SplitMix64 jitter and a CSV reader that skips bad rows whole): presets, spike times, CSV traces and zinc sparks exactly, the rest within 1e-12 relative or 1e-14 absolute. | |
egg:OSCILLATION-DURATION v1.0.0 | M | The calcium oscillations last 6 h in the human preset and 4 h in the mouse preset. (Mus musculus (4 h); Homo sapiens (6 h, assumed); Model parameter (duration_h)) | |
egg:FIRST-TRANSIENT v1.0.0 | M | The first calcium transient is the largest and longest: it stays at its plateau for 240 s (human) or 140 s (mouse) before it decays, and sets the scale (peak 1) for the rest of the trace. (Mus musculus (140 s); Homo sapiens (240 s, assumed); Model parameter (first_transient_s)) |
|
egg:SPIKE-TIME-CONSTANTS v1.0.0 | M | Each later spike rises with a time constant of 15 s and decays with 60 s in the human preset, and 5 s and 25 s in the mouse preset. (Homo sapiens; Mus musculus; Model parameters (spike_rise_s, spike_decay_s)) |
|
egg:SPIKE-INTERVALS v1.0.0 | M | The interval between spikes grows linearly over the oscillation period, from 12 to 25 min in the human preset and from 10 to 15 min in the mouse preset; the first later spike comes first_transient_s + 0.6·interval_start_min after the first (11.2 min human, 8.3 min mouse), and spikes stop 2 min before the end. (Homo sapiens (12–25 min); Mus musculus (10–15 min); Model parameters (interval_start_min, interval_end_min)) |
|
egg:INTERVAL-JITTER v1.0.0 | M | Each interval is scaled by 1 + u with u uniform in [−0.08, 0.08), from a SplitMix64 stream seeded with 11. | |
egg:SPIKE-AMPLITUDE v1.0.0 | M | Every later spike peaks at 0.75 of the first transient. | |
egg:CALCIUM-TRACE-MODEL v1.0.0 | M | The normalised cytosolic Ca2+ is the larger, at each moment, of a long first transient (rise, plateau, decay) and a train of identical rise-and-decay spikes. | |
egg:ZINC-SPARK-COUNT v1.0.0 | M | The first spike releases the only zinc spark in the human preset; the first three spikes each release one in the mouse preset. (Homo sapiens (1); Mus musculus (3); Model parameter (n_zinc_sparks)) |
|
egg:ZINC-SPARK-SIZES v1.0.0 | M | The first zinc spark has size 0.15 (human) or 0.10 (mouse), and each later spark is 0.45 of the one before. | |
egg:ZINC-SPARK-DELAY v1.0.0 | M | Each zinc spark comes 60 s after its calcium spike starts. |
|
egg:CAMKII-MODEL v1.0.0 | M | CaMKII activity A follows dA/dt = (1 − A)·h/τ_on − A/τ_off with the Hill input h = Caⁿ/(Kⁿ + Caⁿ), integrated by explicit Euler steps of the trace's sampling interval, and the egg's progress is the running integral of A, normalised to 1 at the end of the trace. (Mus musculus (summation); Model structure (camkii_decoder)) |
|
egg:CAMKII-ON v1.0.0 | M | CaMKII activates with a time constant of 8 s while calcium is high. | |
egg:CAMKII-OFF v1.0.0 | M | CaMKII relaxes with a time constant of 75 s. (Mus musculus; Model parameter (camkii_off_s)) |
|
egg:CAMKII-HILL v1.0.0 | M | The Hill input is half-activated at Ca = 0.35 of the first transient's peak, with exponent 4. | |
egg:EVENT-THRESHOLDS v1.0.0 | M | Activation events fire when the normalised progress first reaches 0.10 (cortical granule exocytosis and zona block), 0.25 (resumption of meiosis), 0.45 (second polar body), 0.70 (recruitment of maternal mRNAs) and 1.00, capped at 0.999 (pronuclei form and oscillations cease). (Mus musculus (order); Model parameters (event_thresholds)) | |
egg:DECODING-PROTOCOL v1.0.0 | M | decoding_vs_interval delivers 12 (by default) identical unscaled spikes at a fixed interval, reads them with the CaMKII model at 1 s steps over the spikes and 10 minutes more, and reports the largest activity and the mean activity over the spikes. |
|
egg:SPERM-BEAT v1.0.0 | M | The sperm voices beat at a mean of 14.5 Hz with a spread of 3 Hz, 12 voices, seed 5. (Homo sapiens; Model parameters (SpermParams)) |
|
egg:SPERM-HYPERACTIVATED v1.0.0 | M | Hyperactivated sperm beat at 11.7 Hz. (Homo sapiens; Model parameter (hyperactivated_hz)) |
|
Depends on
dynamics-corereleasedbiological-rhythms-datasetreleasedsignal-corereleased
Used by
fertilization-sonificationplannedfrequencies-of-lifeplannedactivation-listening-studyplannedegg-rhythm-predictorplanned
Posts about this repo
No posts about this repo yet.