植物染色质可及性预测系统,基于深度学习技术实现染色质开放区域的预测与分析,为植物表观遗传学研究提供一站式工具。
功能特性
- 数据集管理:支持公开数据集浏览、自定义数据集构建与处理
- 模型训练:提供CharPlant深度学习模型架构,支持自定义训练
- 预测服务:基于训练好的模型进行染色质可及性预测
- 可视化分析:提供预测结果的可视化展示与分析工具
- 知识科普:集成染色质可及性相关知识介绍
技术栈
前端
- Vue 3 + TypeScript
- Element Plus UI组件库
- ECharts 数据可视化
后端
- Flask 3
- SQLAlchemy ORM
- JWT 认证
- SSE 实时通信
- Tensorflow 深度学习框架
- PICUI图床
注意事项
数据库配置
- 系统依赖MySQL和Redis服务,需提前启动
- 数据库配置位于
config.py文件中- MySQL作为持久化数据库,存储用户信息、模型信息等
- Redis作为消息代理,启动服务即可(无需额外配置)
文件结构
- 模型/数据集静态资源:
ACRmodel/static/目录下 - 前端项目:
frontend/目录(基于Vue 3 + TypeScript)
其他说明
- SQL初始化脚本位于
sql/文件夹中,plantacr.sql包含建表和数据初始化 - 初始数据中包含预置资源(预置数据集与预置模型)的信息,资源放入
ACRmodel/static文件夹中,在百度网盘下载 - 训练脚本使用了PICUI图床,在
upload_image.py中修改token配置
快速开始
1.克隆仓库:
2.创建虚拟环境并安装依赖:
bash
# 安装依赖
pip install -r requirements.txt
3.启动后端服务:
bash
# 启动后端服务
python app.py
4.启动前端服务:
bash
# 进入前端目录
cd frontend
# 安装依赖
npm install
# 启动前端服务
npm run dev
5.访问前端页面:
项目后端结构
PlantACR/ # 后端项目
│
├── frontend/ # 前端项目文件夹
│
├── app.py # Flask应用入口,初始化 Flask 应用和 SQLAlchemy,导入和注册路由
├── exts.py # 数据库相关,防止循环引用导致项目运行失败
├── config.py # 配置文件,存储应用配置,包括数据库连接信息
├── models.py # 数据模型,使用 SQLAlchemy 定义数据结构和数据库表映射
│
├── route/ # 路由python包,等效于SpringBoot控制层Controller
│ ├── __init__.py # 必有的文件,这里用于整合所有的路由模块
│ ├── article_route.py # 文章相关 请求处理逻辑和路由
│ ├── auth_route.py # 鉴权登录相关 请求处理逻辑和路由
│ ├── user_route.py # 用户相关 请求处理逻辑和路由
│ └── xxx_route.py # 其他相关 请求处理逻辑和路由
│
├── utils/ # 工具文件夹
│ ├── password_utils.py # 密码相关,加密用户密码 和 检查密码是否匹配
│ └── xxx_utils.py # 其他相关工具
│
├── sql/ # 数据库脚本文件夹
│ ├── plantacr.sql # 建表 + 数据初始化脚本
│ ├── table.sql # 建表脚本
│ └── data.sql # 数据初始化脚本
│
├── ACRmodel/ # 模型目录 (仅供参考)
│ ├── __init__.py # 把ACRmodel注册为python包,里面不用写代码
│ ├── train.py # 模型训练
│ ├── predict.py # 模型预测
│ ├── preprocess.py # 数据预处理
│ ├── my_model.py # 模型构建
│ └──static/ # 静态文件夹,模拟文件系统,存放一些模型相关的静态资源(比如数据集)
│ ├── fasta/ # 参考基因组的文件夹
│ ├── dataset/ # 数据集文件夹
│ ├── weights/ # 模型权重文件目录
│ ├── predict_data/ # 预测数据文件夹
│ ├── predict_result/ # 预测结果文件夹
│ ├── picture/ # 图片文件夹
│ ├── temp/ # 临时文件夹,存放临时文件
│
└── XXXmodel/ # 如果有多个模型,也可以分开成两个文件夹,方便管理
项目前端结构
frontend/
├── .vscode/ # VSCode工作区配置
│ ├── settings.json # 编辑器设置
│ └── vue.json.code-snippets # 代码片段
├── public/ # 公共资源
├── src/
│ ├── assets/ # 静态资源
│ ├── components/ # 公共组件
│ ├── datasource/ # 模拟数据
│ ├── fetch/ # 网络请求封装
│ ├── router/ # 路由配置
│ ├── service/ # API服务层
│ ├── stores/ # 状态管理(基于VueUse)
│ ├── type/ # TypeScript类型定义
│ ├── views/ # 页面组件
│ │ ├── comps/ # 页面级组件
│ │ ├── layout/ # 主布局页面
│ │ └── login/ # 登录相关页面
│ ├── App.vue # 根组件
│ └── main.ts # 入口文件
├── .eslintrc.cjs # ESLint配置
├── .prettierrc.json # Prettier配置
├── index.html # 主HTML文件
├── package.json # 项目配置
├── tsconfig.json # TypeScript配置
├── tsconfig.app.json # 应用TS配置
├── tsconfig.node.json # Node环境TS配置
├── vite.config.ts # Vite配置
└── vue.md # Vue介绍文档
系统预览




