Skip to content

Repository files navigation

PolyAnalyzer 2.4.4

English

PolyAnalyzer 是一个基于 Tauri v2、React 和 Python sidecar 的桌面分析工具,用于处理高分子表征数据。

功能

模块 输入 主要输出
GPC .rst / .xls / .xlsx 分子量汇总、色谱图和峰数据
Mw .rst / .xls / .xlsx 分子量分布图和区间统计
DSC .txt 分段数据、分段曲线和循环对比图
IR .dpt 红色单谱图、可选峰归一化叠加图和 manifest

v2.4.1 亮点:

  • GPC/Mw 支持仪器 Excel 导出(.xls/.xlsx),自动识别 LogM/MMD/Cumulative 列组与 Results 汇总表,任意样品数均可;单位与 .rst 版本一致
  • 引擎预热横幅:打开应用后后台预热绘图引擎,预热期间全局提示、完成后自动消失
  • 内置中英双语"使用说明"窗口(帮助区打开,含目录跳转)

v2.4.2 修复:

  • GPC 多文件分析:汇总 CSV 覆盖所有输入文件(此前只保留最后一个文件的数据)
  • Mw 区间分布表:补齐缺失的最后一个区间,标签与百分比对齐
  • Mw Analysis Profile:保存与切换时正确携带分段位置(segmentpos)
  • 使用说明窗口:语言切换可双向往返
  • 损坏的 Analysis Profile 保留原文件并报错,不再静默覆盖默认 Profile;设置文件写入改为原子操作
  • 清理输出与符号链接数据目录口径一致,不再误删真实路径下的输出
  • 修正 Mw 统计表多样品取值、DSC 调色板与 GPC 统一、日志文件统一命名

v2.4.4 修复:

  • Windows 桌面端 sidecar 的 stdin/stdout/stderr 统一使用 UTF-8,修复中文路径、文件名、预热通知或日志触发的 invalid utf-8 sequence 错误
  • 随安装包提供的 poly CLI 在 Windows 重定向管道下统一输出 UTF-8,确保中文 JSON、进度和错误信息可可靠解析

前端通过 stdin/stdout JSON-RPC 调用 Python sidecar。分析进度包含 analyzer 和 request ID,避免多个标签页之间互相覆盖。

快速启动

环境要求

从源码运行

git clone https://github.com/FrankLaurance/PolyAnalyzer.git
cd PolyAnalyzer

python3 -m venv .venv
source .venv/bin/activate
# Windows PowerShell: .venv\Scripts\Activate.ps1

python -m pip install -r python/requirements.txt
python -m pip install -r python/requirements-build.txt
pnpm install

python python/build_sidecar.py
pnpm tauri dev

python/build_sidecar.py 会为当前平台生成 Tauri 所需的 polyanalyzer-enginepoly sidecar。sidecar 生成后再启动或打包应用。

验证

python -m unittest discover -s python/tests -p "test_*.py"
pnpm test
pnpm build
python python/build_sidecar.py
python python/smoke_binaries.py
cargo check --manifest-path src-tauri/Cargo.toml
cargo test --manifest-path src-tauri/Cargo.toml

打包

python python/build_sidecar.py
pnpm tauri build

bundle.targets 使用 all,会生成当前平台支持的安装包:Windows 的 MSI/NSIS、Linux 的 deb/AppImage,以及 macOS 的 app/dmg。

版本同步

./release.sh 2.4.4

脚本只同步版本字段,不创建 commit、Git tag 或 GitHub Release。它会更新:

  • package.json
  • src-tauri/tauri.conf.json
  • src-tauri/Cargo.toml
  • src-tauri/Cargo.lock
  • python/analyzer/base.py

GitHub Actions 在 tag 构建时会从 vX.Y.Z 提取 X.Y.Z 并先运行该脚本。

命令行

源码环境可直接使用 Python CLI:

python python/cli.py --help

CLI 覆盖 GPC、Mw、DSC 和 IR;完整参数见 CLI_USAGE.mdCLI_USAGE_EN.md

桌面界面与 CLI 共用 setting/profiles/{mw,dsc,ir}/ 下的 Analysis Profile。旧版默认配置会自动迁移;桌面端保留 localStorage 缓存,并在 sidecar 连接后双向同步命名配置。

输出位置

  • GPC:所选数据目录同级的 GPC_output/
  • Mw:所选数据目录同级的 Mw_output/
  • DSC:所选数据目录同级的 DSC_Cycle/DSC_Pic/
  • IR:应用可写数据根目录下的 IR_output/

开发环境的默认可写数据根目录是项目目录;安装包运行时使用操作系统的 PolyAnalyzer 用户数据目录。

项目结构

src/                    React 前端
src-tauri/              Tauri/Rust 应用和能力配置
python/                 JSON-RPC sidecar、分析器和 CLI
python/tests/           Python unittest
.github/workflows/      多平台构建与发布
release.sh              版本同步脚本

用户操作说明见应用内"使用说明"窗口(源文件 public/manual.html),开发依赖说明见 DEV_TOOLS.md

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages