33b763678d76dbf864e11da90d9d228e29c55ada
🧪 Цифровой помощник биохимика
Биотехнологические инструменты для лаборатории: калькулятор питательных сред и планирование полнофакторного эксперимента (DoE).
📋 Содержание
- Возможности
- Установка
- Запуск
- Структура проекта
- Калькулятор питательных сред
- Планирование эксперимента
- Сохранение и загрузка
- Требования
- Лицензия
✨ Возможности
🔬 Калькулятор питательных сред
- Расчёт состава питательной среды по процентному содержанию компонентов
- Поддержка массовых (нг, мкг, мг, г, кг) и объёмных (нл, мкл, мл, л) единиц
- Учёт коэффициента пересчёта для каждого реагента
- Учёт разбавления реагентов (фактор разбавления)
- Автоматический расчёт необходимого количества растворителя
- Сохранение и загрузка рецептов в JSON
📊 Планирование эксперимента (DoE)
- Полнофакторный план 2ᵏ (k факторов)
- Генерация матрицы планирования с центральными точками
- Рэндомизация порядка опытов
- Ввод и анализ результатов экспериментов
- Регрессионный анализ (среднее, дисперсия, стандартное отклонение, CV)
- Критерий Фишера для проверки адекватности модели
- Экспорт матрицы в CSV
🚀 Установка
Клонирование репозитория
git clone <repository-url>
cd nutrient_medium_pyqt
2. Создание виртуального окружения (рекомендуется)
bash
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# или
venv\Scripts\activate # Windows
Установка зависимостей
pip install -r requirements.txt
▶️ Запуск
Из командной строки
python3 main.py
Через скрипт
chmod +x run.sh
./run.sh
📁 Структура проекта
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) | Во сколько раз разбавлен исходный раствор |
Пример использования
| Шаг | Действие |
|---|---|
| 1 | Укажите общий объём среды (например, 1000 мл) |
| 2 | Добавьте реагенты с их процентным содержанием |
| 3 | При необходимости укажите коэффициент пересчёта и разбавление |
| 4 | Нажмите "Рассчитать" |
| 5 | В столбце "Количество" отобразятся необходимые объёмы/массы |
📈 Планирование эксперимента
Вкладка "Параметры эксперимента"
Факторы
| Параметр | Описание |
|---|---|
| Фактор | Название независимой переменной |
| Нулевой уровень (0) | Базовое значение |
| Шаг | Интервал варьирования |
| Верхний уровень (+1) | Нулевой уровень + шаг (вычисляется автоматически) |
| Нижний уровень (-1) | Нулевой уровень – шаг (вычисляется автоматически) |
| Единица измерения | °C, pH, г/л и т.д. |
Отклики
| Параметр | Описание |
|---|---|
| Зависимые переменные | OD600, концентрация продукта и т.д. |
Настройки
| Параметр | Описание |
|---|---|
| Количество центральных точек | Для оценки дисперсии воспроизводимости |
| Рэндомизация порядка опытов | Случайный порядок выполнения |
Вкладка "Матрица планирования"
| Функция | Описание |
|---|---|
| Отображение плана | Сгенерированный план эксперимента |
| Факторные точки | Помечены комбинацией уровней (+/–) |
| Центральные точки | Выделены жёлтым цветом |
| Экспорт в CSV | Сохраняет матрицу в файл |
Вкладка "Анализ результатов"
Порядок работы
- Введите результаты экспериментов в таблицу
- Нажмите "Провести регрессионный анализ"
Результаты анализа
| Показатель | Описание |
|---|---|
| Среднее значение отклика | Центральная тенденция данных |
| Общая дисперсия | Разброс данных относительно среднего |
| Стандартное отклонение | Квадратный корень из дисперсии |
| Коэффициент вариации (CV) | Относительная мера разброса данных |
| Дисперсия воспроизводимости | Оценивается по центральным точкам |
| Критерий Фишера (F-отношение) | Проверка адекватности модели |
💾 Сохранение и загрузка
Калькулятор питательных сред
| Кнопка | Действие |
|---|---|
| 💾 Сохранить | Сохранить рецепт в JSON-файл |
| 📂 Загрузить | Загрузить сохранённый рецепт |
Планирование эксперимента
| Кнопка | Действие |
|---|---|
| 📊 Экспорт в CSV | Сохранить матрицу планирования в 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 — численные вычисления
Description
Languages
Python
100%