.. _PhysiCell_cell_properties_Rules:
Правила, описывающие поведение клетки (Rules)
=============================================
.. role:: raw-html(raw)
:format: html
.. |icon_plus| image:: /images/icons/Physicell/plus.png
.. |icon_minus| image:: /images/icons/Physicell/minus.png
Как работают правила?
---------------------
Правила используются для того, чтобы регулировать поведение клетки в зависимости от различных сигналов.
Одно поведение может регулироваться множеством сигналов, каждый из которых может быть как стимулирующими, так и ингибирующими.
Результирующее поведение с учетом всех сигналов вычисляется согласно многомерному закону Хилла следующим образом:
1. Вычисляется функция Хилла для всех стимулирующих сигналов:
.. math::
Hill_{Up} = \frac{\sum_i \left(\frac{S_i}{H_i}\right)^{h_i}}{1+\sum_i \left(\frac{S_i}{H_i}\right)^{h_i}}
где:
- :math:`S_i` - текущее значение i-ого сигнала.
- :math:`H_i` - значение i-ого сигнала, при котором результирующая функция достигает половины от максимального значения.
- :math:`h_i` - коэффициент Хилла i-ого сигнала.
2. Вычисляется функция Хилла для всех ингибирующих сигналов:
.. math::
Hill_{Down} = \frac{\sum_i \left(\frac{S_i}{H_i}\right)^{h_i}}{1+\sum_i \left(\frac{S_i}{H_i}\right)^{h_i}}
3. Вычисляется поведение с учетом только стимулирующих сигналов:
.. math::
B_{Up} = base + (max - base) \cdot Hill_{Up}
4. Вычисляется результирующее поведение:
.. math::
B = B_{Up} + (min - B_{Up}) \cdot Hill_{Down}
где:
- :math:`base` - начальное значение данного поведения.
- :math:`min` - значение насыщения для всех ингибирующих это поведение сигналов (одинаково для всех сигналов).
- :math:`max` - значение насыщения для всех стимулирующих это поведение сигналов (одинаково для всех сигналов).
Настройка правил в модели
-------------------------
После нажатия на вкладку **Rules** на панели свойств справа у вас появится меню, в котором, нажав ЛКМ на иконку |icon_plus|, можно добавить новое правило.
.. figure:: /images/Physicell/Physicell_cell_properties/Add_new_rule.png
:width: 100%
:alt: Add_new_rule
:align: center
:raw-html:`
`
Таким образом можно добавить сколько угодно правил.
После этого в меню появится строка, в которой можно описывать определенное правило.
.. figure:: /images/Physicell/Physicell_cell_properties/Raw_for_rule.png
:width: 100%
:alt: Raw_for_rule
:align: center
:raw-html:`
`
В данной строке можно настроить следующие параметры:
- **Signal**: сигнал,
- **Direction**: направление действия сигнала (стимуляция или ингибирование),
- **Behavior**: поведение клетки, на которое оказывается воздействие,
- **Saturation value**: значение насыщения сигнала,
- **Half-max**: значение сигнала, при котором результирующая функция достигает половины от максимального значения,
- **Hill power**: коэффициент Хилла сигнала.
- **Apply to dead**: отметьте ☑, если правило должно распространяться не только на живые, но и на мертвые клетки.
Чтобы выбрать значение параметров **Signal**, **Direction** и **Behavior**, нужно нажать ЛКМ в ячейку строки под соответствующим заголовком и из раскрывающегося списка выбрать нужное значение.
.. figure:: /images/Physicell/Physicell_cell_properties/Choose_signal.png
:width: 100%
:alt: Choose_signal
:align: center
:raw-html:`
`
Чтобы выбрать значение параметров **Saturation value**, **Half-max** и **Hill power**, нужно нажать ЛКМ в ячейку строки под соответствующим заголовком и вписать собственное значение.
Чтобы удалить правило, нужно:
1. Нажать ЛКМ в любое место строки, соответствующей этому правилу.
2. Нажать ЛКМ иконку |icon_minus|.
.. figure:: /images/Physicell/Physicell_cell_properties/Delete_rule.png
:width: 100%
:alt: Delete_rule
:align: center
:raw-html:`
`