Восстановлен README.md
This commit is contained in:
@@ -1,5 +1,219 @@
|
|||||||
# Цифровой помощник биохимика
|
# 🧪 Цифровой помощник биохимика
|
||||||
|
|
||||||
Биотехнологические инструменты для лаборатории.
|
Биотехнологические инструменты для лаборатории: калькулятор питательных сред и планирование полнофакторного эксперимента (DoE).
|
||||||
|
|
||||||
## Структура проекта
|
---
|
||||||
|
|
||||||
|
## 📋 Содержание
|
||||||
|
|
||||||
|
- [Возможности](#-возможности)
|
||||||
|
- [Установка](#-установка)
|
||||||
|
- [Запуск](#-запуск)
|
||||||
|
- [Структура проекта](#-структура-проекта)
|
||||||
|
- [Калькулятор питательных сред](#-калькулятор-питательных-сред)
|
||||||
|
- [Планирование эксперимента](#-планирование-эксперимента)
|
||||||
|
- [Сохранение и загрузка](#-сохранение-и-загрузка)
|
||||||
|
- [Требования](#-требования)
|
||||||
|
- [Лицензия](#-лицензия)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✨ Возможности
|
||||||
|
|
||||||
|
### 🔬 Калькулятор питательных сред
|
||||||
|
- Расчёт состава питательной среды по процентному содержанию компонентов
|
||||||
|
- Поддержка массовых (нг, мкг, мг, г, кг) и объёмных (нл, мкл, мл, л) единиц
|
||||||
|
- Учёт коэффициента пересчёта для каждого реагента
|
||||||
|
- Учёт разбавления реагентов (фактор разбавления)
|
||||||
|
- Автоматический расчёт необходимого количества растворителя
|
||||||
|
- Сохранение и загрузка рецептов в JSON
|
||||||
|
|
||||||
|
### 📊 Планирование эксперимента (DoE)
|
||||||
|
- Полнофакторный план 2ᵏ (k факторов)
|
||||||
|
- Генерация матрицы планирования с центральными точками
|
||||||
|
- Рэндомизация порядка опытов
|
||||||
|
- Ввод и анализ результатов экспериментов
|
||||||
|
- Регрессионный анализ (среднее, дисперсия, стандартное отклонение, CV)
|
||||||
|
- Критерий Фишера для проверки адекватности модели
|
||||||
|
- Экспорт матрицы в CSV
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Установка
|
||||||
|
|
||||||
|
### 1. Клонирование репозитория
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone <repository-url>
|
||||||
|
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 — численные вычисления
|
||||||
|
|||||||
Reference in New Issue
Block a user