🧪 Цифровой помощник биохимика

Биотехнологические инструменты для лаборатории: калькулятор питательных сред и планирование полнофакторного эксперимента (DoE).


📋 Содержание


Возможности

🔬 Калькулятор питательных сред

  • Расчёт состава питательной среды по процентному содержанию компонентов
  • Поддержка массовых (нг, мкг, мг, г, кг) и объёмных (нл, мкл, мл, л) единиц
  • Учёт коэффициента пересчёта для каждого реагента
  • Учёт разбавления реагентов (фактор разбавления)
  • Автоматический расчёт необходимого количества растворителя
  • Сохранение и загрузка рецептов в JSON

📊 Планирование эксперимента (DoE)

  • Полнофакторный план 2ᵏ (k факторов)
  • Генерация матрицы планирования с центральными точками
  • Рэндомизация порядка опытов
  • Ввод и анализ результатов экспериментов
  • Регрессионный анализ (среднее, дисперсия, стандартное отклонение, CV)
  • Критерий Фишера для проверки адекватности модели
  • Экспорт матрицы в CSV

🚀 Установка

1. Клонирование репозитория

git clone <repository-url>
cd nutrient_medium_pyqt
2. Создание виртуального окружения (рекомендуется)
bash
python3 -m venv venv
source venv/bin/activate  # Linux/Mac
# или
venv\Scripts\activate     # Windows
  1. Установка зависимостей
pip install -r requirements.txt
▶️ Запуск
Из командной строки
bash
python3 main.py
Через скрипт
bash
chmod +x run.sh
./run.sh

📁 Структура проекта text nutrient_medium_pyqt/ ├── main.py # Точка входа ├── run.sh # Скрипт запуска ├── requirements.txt # Зависимости ├── README.md # Документация │ └── src/ # Исходный код ├── models/ # Модели данных │ ├── reagent.py # Класс Reagent │ ├── medium_model.py # Модель расчёта сред │ └── experiment_model.py # Модель планирования эксперимента │ ├── views/ # GUI компоненты │ ├── main_window.py # Главное окно │ ├── medium_view.py # Окно калькулятора сред │ └── experiment_view.py # Окно планирования эксперимента │ └── controllers/ # Контроллеры ├── medium_controller.py # Логика калькулятора └── experiment_controller.py # Логика планирования

🧪 Калькулятор питательных сред

Основные поля

Поле Описание Общее количество Общий объём/масса готовой среды Растворитель Название растворителя (вода, буфер и т.д.) Название Имя реагента % Процентное содержание в среде Единица Единица измерения реагента Коэфф. Коэффициент пересчёта (например, для солей-гидратов) Разбавление (x) Во сколько раз разбавлен исходный раствор

Пример использования

Укажите общий объём среды (например, 1000 мл)

Добавьте реагенты с их процентным содержанием

При необходимости укажите коэффициент пересчёта и разбавление

Нажмите "Рассчитать"

В столбце "Количество" отобразятся необходимые объёмы/массы

#📈 Планирование эксперимента

Вкладка "Параметры эксперимента"

Факторы Фактор — название независимой переменной

Нулевой уровень (0) — базовое значение

Шаг — интервал варьирования

Верхний уровень (+1) = нулевой уровень + шаг (вычисляется автоматически)

Нижний уровень (-1) = нулевой уровень – шаг (вычисляется автоматически)

Единица измерения — °C, pH, г/л и т.д.

Отклики

Зависимые переменные (OD600, концентрация продукта и т.д.)

Настройки Количество центральных точек — для оценки дисперсии воспроизводимости

Рэндомизация порядка опытов — случайный порядок выполнения

Вкладка "Матрица планирования" Отображает сгенерированный план эксперимента

Факторные точки помечены комбинацией уровней (+/–)

Центральные точки выделены жёлтым цветом

Кнопка "Экспорт в CSV" сохраняет матрицу в файл

Вкладка "Анализ результатов"

Введите результаты экспериментов в таблицу

Нажмите "Провести регрессионный анализ"

Получите:

Среднее значение отклика

Общую дисперсию

Стандартное отклонение

Коэффициент вариации

Дисперсию воспроизводимости (по центральным точкам)

Критерий Фишера для проверки адекватности модели

💾 Сохранение и загрузка Калькулятор сред 💾 Сохранить — сохранить рецепт в JSON-файл

📂 Загрузить — загрузить сохранённый рецепт

Планирование эксперимента 📊 Экспорт в CSV — сохранить матрицу планирования

📦 Требования

Пакет Версия Назначение PyQt5 ≥ 5.15.0 Графический интерфейс numpy ≥ 1.19.0 Математические вычисления Проверка установки

python3 -c "import PyQt5; import numpy; print('OK')"

📝 Формат JSON (калькулятор сред)

{
    "total_amount": 1000.0,
    "amount_unit": "мл",
    "solvent": "Вода",
    "reagents": [
        {
            "name": "Глюкоза",
            "percentage": 2.0,
            "unit": "г",
            "conversion_factor": 1.0,
            "dilution_factor": 1.0
        }
    ]
}

🐛 Устранение неполадок

Ошибка "ModuleNotFoundError: No module named 'PyQt5'"

pip install PyQt5
Ошибка "No module named 'numpy'"
bash
pip install numpy
Проблемы с отображением кириллицы
Убедитесь, что в системе установлены русские шрифты

📄 Лицензия © 2026 Цифровой помощник биохимика

Версия: 1.0.0

🙏 Благодарности Разработано с использованием:

PyQt5 — GUI framework

NumPy — численные вычисления

S
Description
No description provided
Readme 937 KiB
Languages
Python 100%