diff --git a/README.md b/README.md index 0c9a0e8..887710e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,219 @@ -# Цифровой помощник биохимика +# 🧪 Цифровой помощник биохимика -Биотехнологические инструменты для лаборатории. +Биотехнологические инструменты для лаборатории: калькулятор питательных сред и планирование полнофакторного эксперимента (DoE). -## Структура проекта +--- + +## 📋 Содержание + +- [Возможности](#-возможности) +- [Установка](#-установка) +- [Запуск](#-запуск) +- [Структура проекта](#-структура-проекта) +- [Калькулятор питательных сред](#-калькулятор-питательных-сред) +- [Планирование эксперимента](#-планирование-эксперимента) +- [Сохранение и загрузка](#-сохранение-и-загрузка) +- [Требования](#-требования) +- [Лицензия](#-лицензия) + +--- + +## ✨ Возможности + +### 🔬 Калькулятор питательных сред +- Расчёт состава питательной среды по процентному содержанию компонентов +- Поддержка массовых (нг, мкг, мг, г, кг) и объёмных (нл, мкл, мл, л) единиц +- Учёт коэффициента пересчёта для каждого реагента +- Учёт разбавления реагентов (фактор разбавления) +- Автоматический расчёт необходимого количества растворителя +- Сохранение и загрузка рецептов в JSON + +### 📊 Планирование эксперимента (DoE) +- Полнофакторный план 2ᵏ (k факторов) +- Генерация матрицы планирования с центральными точками +- Рэндомизация порядка опытов +- Ввод и анализ результатов экспериментов +- Регрессионный анализ (среднее, дисперсия, стандартное отклонение, CV) +- Критерий Фишера для проверки адекватности модели +- Экспорт матрицы в CSV + +--- + +## 🚀 Установка + +### 1. Клонирование репозитория + +```bash +git clone +cd nutrient_medium_pyqt +2. Создание виртуального окружения (рекомендуется) +bash +python3 -m venv venv +source venv/bin/activate # Linux/Mac +# или +venv\Scripts\activate # Windows +``` +3. Установка зависимостей +```bash +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 Математические вычисления +Проверка установки +```bash +python3 -c "import PyQt5; import numpy; print('OK')" +``` +📝 Формат JSON (калькулятор сред) + +```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'" +```bash +pip install PyQt5 +Ошибка "No module named 'numpy'" +bash +pip install numpy +Проблемы с отображением кириллицы +Убедитесь, что в системе установлены русские шрифты +``` +📄 Лицензия +© 2026 Цифровой помощник биохимика + +Версия: 1.0.0 + +🙏 Благодарности +Разработано с использованием: + +PyQt5 — GUI framework + +NumPy — численные вычисления