Пользовательский код для модели

Примечание

Данный раздел предназначен для продвинутых пользователей и является необязательным - создавать модели можно и без использования кода.

Поведение клеток, а также другие аспекты модели могут быть заданы java-кодом, описывающим подходящий java-класс.

В частности, с помощью java-кода можно настроить:

  • Различные функции клеток (изменение внутреннего состояния, подвижность, клеточный контакт и др.).

  • Цвета отрисовки клеток в различных условиях.

  • Начальное расположение клеток.

  • Вывод отчета и логов при симуляции модели.

  • События модели.

  • Правила создания новых клеток.

и др.

Java-код хранится в виде отдельных файлов в репозитории BioUML. Каждый файл описывает один java-класс.

Для создания java-файла (java-класса) нужно:

  1. Нажать ПКМ на папку в репозитории, в которой вы хотите создать java-класс.

  2. В раскрывающемся списке нажать ЛКМ на icon_new_Java_code New Java code.

  3. В появившемся окошке вписать название файла с расширением .java.

  4. Нажать ЛКМ кнопку Ok.

Add_new_java_code


После этого в указанной папке у вас появится java-файл (обозначается значком icon_new_Java_code), который можно открыть, нажав на него 2 раза ЛКМ или нажав на него ПКМ и в раскрывающемся списке нажав ЛКМ на icon_opened_folder Open.

В открывшемся файле можно прописывать необходимый код.

Java_code_place


Список основных java-классов пакета ru.biosoft.Physicell, используемых для задания пользовательского поведения клеток, и их краткое описание представлены ниже.

Классы пакета ru.biosoft.Physicell

Класс

Описание

VectorUtil

Работа с векторами

Cell

Работа с отдельными агентами, т.е. клетками

Phenotype

Работа с различными свойствами клеток

CellDefinition

Работа с типами клеток

Model

Работа с мультиклеточной моделью для численных расчетов

Microenvironment

Работа со средой модели, в которой находятся клетки и вещества

RandomGenerator

Генерация случайных величин в модели

PhysiCellConstants

Работа с константными численными значениями модели

StandardModels

Работа со стандартными моделями клеточного цикла и клеточной смерти

SignalBehavior

Управление передачи сигналов и поведения клеток

CellContainer

Получение информации о расположении клеток в решетке модели

CartesianMesh

Работа с декартовой системой координат, в которой располагаются клетки и субстраты

ModelReader

Чтение модели из текстового файла

UpDownSignal

Расчет эффекта выходного сигнала согласно многомерному закону Хилла на основе множественных входящих сигналов-эффектов

BasicSignaling

Работа с методами, которые рассчитывают значение выходного сигнала на основе одного входящего сигнала

PhysiCellUtilities

Дополнительные методы работы с моделью

AgentColorer

Интерфейс, используемый для определения того, каким цветом отрисовывать клетку (ее границу, внутреннюю часть, границу ядра и само ядро)

InitialCellsArranger

Абстрактный класс, определяющий изначальную расстановку клеток в модели. Может использоваться в подвкладке Initial Condition вкладки Microenvironment.

O2based

Подкласс UpdatePhenotype. Описывает стандартную жизнедеятельность клетки в зависимости от концентрации кислорода.

Visualizer

Отрисовывает результат расчетов модели.

ReportGenerator

Создает табличный отчет во время расчетов с отдельной строкой для каждой клетки в модели. Может использоваться в подвкладке Model Report вкладки Microenvironment.

CustomCellData

Содержит пользовательские параметры конкретного типа клеток. Заполняется пользователем в подвкладке Custom Data вкладки Cell Types.

AgentColorerDefault

Стандартная реализация класса AgentColorer. Раскрашивает агент в зависимости от его типа и того, жив ли он.

FalseCellCytometryVisualizer

Подкласс AgentColorerDefault. Раскрашивает клетки, имеющие жизненный цикл типа Flow Cytometry model в зависимости от текущей фазы клеточного цикла.

StandardElasticContact

Стандартная реализация класса Contact. Описывает эластичное взаимодействие клетки с другими клетками.

Chemotaxis

Стандартная реализация класса UpdateMigrationBias. Описывает движение клетки по градиенту одного субстрата.