-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbsimons_okarin_cell_cycle_criticality_eg
More file actions
110 lines (55 loc) · 2.4 KB
/
Copy pathbsimons_okarin_cell_cycle_criticality_eg
File metadata and controls
110 lines (55 loc) · 2.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
"""
Conceptual TDC mapping for “cell cycle criticality” – how measured/estimated biological parameters could be used to compute the Dr index for individual cell fate prediction.
"""
def predict_cell_fate_from_TDC(cell_state, mitogen_signal):
"""
Predicts G1-S transition outcome using TDC's Dr index.
Parameters
----------
cell_state : object
Contains cell-specific parameters (conceptual).
e.g. chromatin accessibility, receptor levels, division history.
mitogen_signal : object
Contains signal properties (amplitude, duration).
Returns
-------
fate : str
Predicted fate decision.
Dr : float
Computed decay-coupling ratio.
"""
# 1. Estimate persistence time of the 'commitment state' (slow domain)
# Proxy: chromatin remodeling timescale or metabolic steady-state.
tau_decay = estimate_epigenetic_persistence(
cell_state.histone_modification_halflife,
cell_state.metabolic_oscillation_period
)
# 2. Estimate integration time for mitogenic signals (fast domain)
# Proxy: signaling pathway activation kinetics.
tau_coupling = estimate_signal_integration_window(
mitogen_signal.amplitude,
cell_state.egf_receptor_activity,
cell_state.mapk_activation_rate
)
# 3. Compute the critical index
Dr = tau_decay / tau_coupling
# 4. Fate prediction based on Dr proximity to criticality (Dr=1)
fate = None
if 0.9 <= Dr <= 1.1: # Critical region - high sensitivity
# Stochastic routing influenced by history (residues) & noise
if cell_state.division_history.residues > threshold:
fate = "bias_toward_self_renewal"
else:
fate = "bias_toward_differentiation"
# Fate is "poised" and highly responsive to niche signals
elif Dr < 0.9:
# Fast coupling dominates -> rapid commitment
fate = "differentiation_primed"
else: # Dr > 1.1
# Slow decay dominates -> state persists
fate = "self_renewal_primed"
return fate, Dr
# This framework makes testable predictions:
# 1. Mutants (e.g. cyclin overexpressors) will have altered tau_coupling -> Dr != 1.
# 2. Population feedback adjusts average tau_decay (via residues) to maintain Dr ~1.
# 3. Therapeutic perturbations can widen the Dr gap between wild-type and mutant cells.