# Simple_Drawing **Repository Path**: xxay/Simple_Drawing ## Basic Information - **Project Name**: Simple_Drawing - **Description**: 1123456789 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-20 - **Last Updated**: 2026-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Simple Drawing 基于 Django 的在线数据可视化与生信分析工具站。用户上传数据文件(CSV/Excel/FASTA 等),在线生成各类图表,或运行生信分析工具(BLAST / ORFfinder / FastQC 等)。 ## 功能 - **图表生成**:87 种图表,涵盖散点图、柱状图、热图、时间序列、分布图等 - matplotlib 渲染(24 种) - R/ggplot2 渲染(63 种,需安装 R) - **生信工具**:BLAST 比对、ORFfinder、GFF 转 GTF、序列基础分析、Pfam 结构域、FastQC 质控 - **留言板**:访客留言 ## 技术栈 | 层 | 技术 | |---|---| | 后端 | Django 5.2 LTS、Python 3.10+ | | 科学计算 | pandas、numpy、matplotlib、seaborn、joypy、scipy、Biopython | | 绘图 | R 4.x + ggplot2 等 17 个 CRAN 包 | | 生信 | NCBI BLAST+、ORFfinder、gffread、FastQC、pfam_scan.pl | | 前端 | layui + layer.js + jQuery | ## 快速开始 ### 1. Python 环境 ```bash # 推荐用 uv(需 Python 3.10+) uv venv --python 3.12 .venv source .venv/Scripts/activate # Windows Git Bash # 或: .venv\Scripts\activate # Windows cmd uv pip install -r requirements.txt ``` ### 2. 数据库 项目自带 `db.sqlite3`(含 87 个图表配置)。若新建空库: ```bash python manage.py migrate # 然后用 scripts/ 下的种子脚本导入图表配置(若有) ``` ### 3. 启动开发服务器 ```bash python manage.py runserver 127.0.0.1:8000 ``` 访问 http://127.0.0.1:8000/ ### 4. R 环境(图表渲染所需) 约 63 种图表依赖 R。安装 R 后,装以下 CRAN 包: ```r install.packages(c( "ggplot2", "ggthemes", "ggExtra", "ggcorrplot", "ggdendro", "ggfortify", "gplots", "scales", "plyr", "RColorBrewer", "zoo", "lubridate", "fBasics", "forecast", "gdata", "pheatmap", "plotrix" )) ``` ### 5. 生信工具(可选,Linux/WSL) 生信工具(`tools/` app)依赖外部二进制:`makeblastdb`/`blastn`/`blastp`/`blastx`/`tblastn`/`tblastx`、`ORFfinder`、`gffread`、`fastqc`、`pfam_scan.pl`、`7z`。 这些是 Linux 二进制,Windows 上需通过 WSL 运行,或从 NCBI / 各项目官方获取后放入 `tools_sofa/` 目录(该目录默认不入库)。 ## 目录结构 ``` Simple_Drawing/ ├── manage.py ├── requirements.txt ├── Simple_Drawing/ # Django 项目配置 │ ├── settings.py # 支持 SECRET_KEY/DEBUG/ALLOWED_HOSTS 环境变量 │ ├── security_utils.py # 安全校验工具(safe_path/safe_filename 等) │ ├── urls.py │ └── wsgi.py ├── chart/ # 图表 app │ ├── charts/ # 图表函数包(从原 charts.py 拆分) │ │ ├── _runner.py # R 安全执行 helper(run_r/escape/validate) │ │ ├── mpl_basic.py # matplotlib 基础图 │ │ ├── mpl_composition.py │ │ ├── r_composition.py # R 各类图表(7 个子模块) │ │ ├── r_correlation.py │ │ ├── r_deviation.py │ │ ├── r_distribution.py │ │ ├── r_group_sort.py │ │ ├── r_temporal.py │ │ └── r_misc.py │ ├── models.py # PlottingLibrary(图表配置,JSONField 参数) │ ├── tools.py # 文件处理、ChartParameter(HTML 参数渲染) │ └── views.py # 图表页面、上传、下载、绘图调度 ├── tools/ # 生信工具 app │ ├── models.py # ToolsLibrary │ └── views.py # blast/orf/pfam/fastqc 等(用 subprocess) ├── pages/ # 静态页面 app │ ├── models.py # Message(留言) │ └── views.py # 首页、留言、分页 ├── templates/ # Django 模板 │ ├── page/ # 首页、关于、工具页 │ └── chart/Basic.html # 图表渲染主模板 ├── static/ # 静态资源(layui/css/img_eg) ├── file_keep/ # 运行时文件(上传/输出/示例,gitignore) └── tools_sofa/ # 生信二进制(gitignore,需自备) ``` ## 配置(环境变量) 生产环境通过环境变量覆盖默认配置: | 变量 | 说明 | 默认 | |---|---|---| | `DJANGO_SECRET_KEY` | Django 密钥(必须覆盖) | 内置开发值 | | `DJANGO_DEBUG` | 调试模式 | `True` | | `DJANGO_ALLOWED_HOSTS` | 允许的 Host(逗号分隔) | `localhost,127.0.0.1` | ## 许可证 见 [LICENSE](LICENSE)。