Системна біологія · Генні регуляторні мережі
📅 Липень 2026 ⏱ ≈ 12 хв читання 🎯 Середній–просунутий рівень

Циркадний ритм: мережі Clock-генів — моделювання клітинного осцилятора

Ізольований фібробласт без світлових сигналів усе одно продовжує цикли експресії генів близько 24 годин тижнями. Стаття розглядає циркадний годинник як генну регуляторну мережу — петлю зворотного зв'язку із затримкою, що породжує самопідтримуваний граничний цикл, застосовану тут на рівні геному окремої клітини.

1. Основна петля транскрипції-трансляції

Молекулярний годинник ссавців побудований на петлі зворотного зв'язку транскрипції-трансляції (TTFL). Транскрипційні фактори CLOCK і BMAL1 утворюють гетеродимер і запускають експресію генів Per (Period) та Cry (Cryptochrome). Білки PER і CRY накопичуються в цитоплазмі, димеризуються, транспортуються назад у ядро й безпосередньо пригнічують комплекс CLOCK:BMAL1, що їх створив — підручникова негативна петля зворотного зв'язку, але побудована повністю на експресії генів, а не на швидкій ферментативній кінетиці.

CLOCK:BMAL1 → активує транскрипцію Per, Cry
PER, CRY (білок) накопичуються → димеризуються → повертаються в ядро
PER:CRY → пригнічує активність CLOCK:BMAL1 → транскрипція падає
PER, CRY деградують (через фосфорилювання CK1δ/ε → протеасому)
пригнічення знімається → цикл починається знову // повний період циклу ≈ 24 год у ссавців

Друга, переплетена петля (ROR/REV-ERB, що діє на сам Bmal1) додає стійкості, але петля PER/CRY-CLOCK/BMAL1 є мінімальним ядром, необхідним математичній моделі для відтворення 24-годинного циклу.

2. Осцилятор Гудвіна: мінімальна модель зворотного зв'язку

Модель Браяна Гудвіна 1965 року зводить будь-яку таку петлю до трьох змінних: мРНК (X), проміжний білок (Y) і кінцевий білок-репресор (Z), причому Z пригнічує власну транскрипцію X:

dX/dt = v₁ / (1 + (Z/K)^n) − d₁X   // мРНК (напр. Per/Cry)
dY/dt = v₂X − d₂Y   // цитоплазматичний білок
dZ/dt = v₃Y − d₃Z   // ядерний репресор (комплекс PER:CRY)

Член пригнічення — це функція Хілла з показником кооперативності n. Гудвін показав, що стійкі коливання в цій трьохзмінній системі ЗДР вимагають n > 8 — нереалістично високого ступеня молекулярної кооперативності, оскільки реальна димеризація PER/CRY і пригнічення передбачають набагато м'якішу нелінійність. Саме ця головна загадка й мотивує наступний розділ.

3. Чому важлива затримка: рівняння з запізненням проти звичайних

Реальний молекулярний годинник досягає стійких 24-годинних коливань за набагато нижчої кооперативності, ніж вимагає ЗДР Гудвіна, бо біологія вводить явну затримку в часі: транскрипція, ядерний експорт, трансляція, згортання білка, димеризація й повторний імпорт PER:CRY разом займають кілька годин — а не миттєво, як неявно передбачає звичайне диференціальне рівняння.

Заміна миттєвого зворотного зв'язку ЗДР на диференціальне рівняння із запізненням (DDE) відображає це безпосередньо:

dX/dt = v₁ / (1 + (Z(t − τ)/K)^n) − d₁X // пригнічення діє на X, використовуючи значення Z, що було τ годин тому

За затримки τ у кілька годин стійкі коливання з'являються навіть при n = 1 (простому, некооперативному пригніченні Міхаеліса-Ментен) — що відповідає скромній кооперативності, реально спостережуваній для пригнічення CLOCK:BMAL1 через PER:CRY. Саме затримка, а не надчутливість, є тією рисою, що робить біологічний годинник стійким. Це найважливіший якісний урок системної біології циркадних ритмів: явна транскрипційна й трансляційна затримка заміщує кооперативність у створенні граничного циклу.

4. Граничні цикли та біфуркація Хопфа

Зі зростанням затримки τ (або, еквівалентно, коефіцієнта Хілла n) вище критичного значення єдина стійка нерухома точка системи втрачає стійкість у біфуркації Хопфа, і народжується стійкий граничний цикл — замкнена, самопідтримувана орбіта у фазовому просторі (X, Y, Z), в яку система входить незалежно від невеликих збурень свого початкового стану.

① Нижче порогу

Стійка нерухома точка; мРНК/білок встановлюються на сталих рівнях, ритму немає.

② Біфуркація Хопфа

Нерухома точка втрачає стійкість, коли затримка/кооперативність перетинає критичне значення.

③ Граничний цикл

Самопідтримувані ~24-годинні коливання, амплітуда яких визначена нелінійністю, а не початковими умовами.

④ Захоплення (entrainment)

Щоденний світловий сигнал зсуває фазу граничного циклу, узгоджуючи його з 24-годинною сонячною добою.

Незалежність періоду граничного циклу від початкових умов — це математична ознака стійкого біологічного годинника: клітина, що стартує з будь-якого початкового стану рівнів PER/CRY, сходиться до тієї самої ритмічної орбіти, тому ізольовані фібробласти (див. вступ) усі встановлюються на порівнянних ~24-годинних циклах, попри різні початкові транскрипційні стани.

5. Пов'язані клітини: від одного осцилятора до ритму тканини

Годинник однієї окремої клітини сам по собі — шумний осцилятор: його період дрейфує приблизно на ±1-2 години від клітини до клітини через шум експресії генів. У супрахіазматичному ядрі близько 20 000 таких шумних одноклітинних осциляторів пов'язані через нейропептидну сигналізацію (переважно VIP, що діє на рецептори VPAC2), що синхронізує їхні фази в єдиний, точний ритм на рівні тканини — застосування тієї самої математики синхронізації зв'язаних осциляторів, що використовується для зв'язаних маятників чи моделі Курамото.

Сила зв'язку має значення: навіть слабкий зв'язок між одноклітинними осциляторами дозволяє середньому по популяції тримати час, навіть якщо окремі клітини шумні — це математична основа того, чому загальнотілесний годинник (світлове захоплення, джетлаг, вироблення мелатоніну) настільки точніший у часі, ніж будь-яка з його складових клітин.

6. JavaScript: симуляція годинника з рівнянням запізнення

Чисельне інтегрування DDE вимагає збереження буфера історії минулих станів, оскільки похідна в момент t залежить від стану в t − τ, а не лише від поточного стану.

class ClockGeneDDE {
  constructor({ tau = 4, n = 2, K = 1, dt = 0.05 } = {}) {
    this.tau = tau; this.n = n; this.K = K; this.dt = dt;
    this.X = 0.1; this.Y = 0.1; this.Z = 0.1;
    this.history = [];  // зберігає {t, Z} для затримки у зворотному зв'язку
    this.t = 0;
  }

  _delayedZ() {
    const target = this.t - this.tau;
    if (target <= 0 || this.history.length === 0) return 0.1; // базове значення до історії
    let best = this.history[0];
    for (const h of this.history) if (h.t <= target) best = h; else break;
    return best.Z;
  }

  step(v1 = 1.0, v2 = 1.0, v3 = 1.0, d1 = 0.3, d2 = 0.3, d3 = 0.3) {
    const Zdelayed = this._delayedZ();
    const repression = 1 / (1 + Math.pow(Zdelayed / this.K, this.n));
    const dX = v1 * repression - d1 * this.X;
    const dY = v2 * this.X - d2 * this.Y;
    const dZ = v3 * this.Y - d3 * this.Z;
    this.X += dX * this.dt;
    this.Y += dY * this.dt;
    this.Z += dZ * this.dt;
    this.t += this.dt;
    this.history.push({ t: this.t, Z: this.Z });
    return { t: this.t, X: this.X, Y: this.Y, Z: this.Z };
  }
}

// За tau = 4 (год) і n лише 2 система стабілізується у стійкому
// граничному циклі з масштабом ~24 год у X, Y, Z — без потреби в n > 8, як у ЗДР Гудвіна
const clock = new ClockGeneDDE({ tau: 4, n: 2 });
const trace = [];
for (let i = 0; i < 4000; i++) trace.push(clock.step());

Налаштування τ і n на цьому інтеграторі безпосередньо відтворює головний результат §3: збільшуючи τ, той самий показник пригнічення n, що давав загасаючу, неколивальну систему, тепер породжує стійкий самопідтримуваний граничний цикл. Про те, як такий одноклітинний ритм синхронізується в загальнотілесний годинник, захоплюється світлом і порушується джетлагом, див. нашу супутню статтю Циркадні ритми — внутрішній годинник тіла.