add 更新readme

This commit is contained in:
freefire 2025-01-13 21:25:56 +08:00
parent 2b08f07441
commit 1dd7fa59e6
2 changed files with 159 additions and 45 deletions

114
README.md
View File

@ -1,66 +1,90 @@
<p align="center">
<img src="./res/app.png" width="100" />
<img src="./res/result.jpg" width="200" />
</p>
<h1 align="center">CircosHeatmap-aardio</h1>
<h1 align="center">
<img src="./res/app.png" width="30" style="vertical-align: middle;" />
<span style="vertical-align: middle;">CircosHeatmap-aardio</span>
</h1>
<p align="center">
一个基于 R 语言的环形热图绘制工具
</p>
<p align="center">
<img src="./res/result.jpg" width="200" />
</p>
<div align="center">
<a href="./README.md">English</a>
</div>
---
## 📃 项目简介
CircosHeatmap-aardio 是一个基于 R 语言的环形热图Circos Heatmap绘制工具支持矩阵数据的聚类与可视化。通过 Aardio 实现图形界面,使得用户无需编写代码即可轻松使用该工具。项目旨在为科研人员、数据分析师等提供一种直观、便捷的数据可视化方式。
CircosHeatmap-aardio 是一个基于 R 语言的环形热图Circos Heatmap绘制工具支持矩阵数据的聚类与可视化。通过 Aardio 实现图形界面,用户无需编写代码即可轻松使用该工具。
---
## ✨ 核心功能
- **环形热图绘制**:基于 R 的 circlize 和 ComplexHeatmap 包,支持矩阵数据的聚类与可视化。
- **环形热图绘制**:基于 R 的 `circlize``ComplexHeatmap` 包,支持矩阵数据的聚类与可视化。
- **图形界面**:使用 Aardio 实现图形界面,用户可以通过界面选择输入文件、设置参数并运行脚本。
- **TODO: 自动文件格式转换**:支持自动识别 xls、xlsx、csv 文件格式,并在需要时转换为符合 R 脚本要求的临时 csv 文件。
- **代码可视化与调试**:内置 R 代码编辑框,用户可查看和修改当前执行的 R 脚本,便于自定义调试。
- **日志输出**:提供日志窗口,实时显示脚本执行结果和错误信息。
---
## 🚀 使用教程
### 1. 下载并解压
从 [Releases](./releases) 下载并解压 CircosHeatmap-aardio。
### 2. 运行程序
运行 `CircosHeatmap-aardio.exe`,首次运行时会自动安装 R 环境。
![demo](./res/demo.jpg)
### 3. 选择数据源
点击 **“数据源”** 选择 csv 格式的表格文件。
> **注意**:当前仅支持 csv 格式的数据源。如果您的数据是其他格式(如 xls、xlsx可以将其转换为 csv 格式后再使用。
### 4. 生成 PDF
点击 **“生成 PDF”** 选择 PDF 保存的位置。
---
## 🛠️ 程序功能细节
### 界面布局
- **R 代码编辑框**:显示当前执行的 R 脚本,用户可查看和修改代码。
- **日志窗口**:实时显示脚本执行结果和错误信息。
- **数据源选择**:通过按钮选择输入文件,支持 csv 格式。
- **生成 PDF**:运行 R 脚本并保存生成的环形热图为 PDF 文件。
### 代码逻辑
- **R 脚本加载**:程序启动时自动加载默认的 R 脚本(`heatmap_script.R`)。
- **文件选择**:点击 **“数据源”** 按钮选择输入文件,路径显示在输入框中。
- **脚本执行**:点击 **“生成 PDF”** 按钮后,程序调用 R 脚本并传入输入文件路径和输出 PDF 路径。
---
## 📝 TODO
- **优化 UI**:进一步提升用户交互体验,增加更多可视化选项。
- **支持更多文件格式**:扩展支持更多数据文件格式。
- **优化 UI**:进一步提升用户交互体验。
- **支持更多文件格式**:扩展支持 xls、xlsx 等格式。
- **增加高级功能**:如自定义颜色梯度、调整聚类参数等。
- **待补充**
## 🛠️ 开发
1. 将 Windows 当前用户下 `appData` 目录中的 `aardio/std/r/site-library` 内容拷贝到项目中 —— 当前仓库已包含,可不用关注。
2. 将 `aardio\lib\process\r\_.aardio` 文件中:
```aardio
setLibPaths({..io.appData("aardio/std/r/site-library")});
```
修改为:
```aardio
if (_STUDIO_INVOKED) {
// 开发环境
setLibPaths({..io.appData("aardio/std/r/site-library")});
} else {
// 打包后环境
setLibPaths({"lib\r-library"});
}
```
**修改目的**:初次接触 aardio + R 的开发,安装 R 的相关库时遇到无法安装部分 R 库的问题,所以干脆把安装好的 R 相关库放入程序根目录下,便于将程序分发给别人使用。
**缺点**R 库体积偏大100MB+,不过真正需要的人应该不在乎体积吧。
## 🚀 使用
1. 从 [Releases](https://gitea.iioio.com:3000/BiomedEngX/CircosHeatmap-aardio/releases) 下载并解压 CircosHeatmap-aardio
2. 运行 CircosHeatmap-aardio.exe首次运行时会自动安装 R 环境
![demo](./res/demo.jpg)
3. 点击 “数据源” 选择 csv 格式的表格文件,然后点击 “生成pdf” 选择pdf保存的位置
<mark>注意:当前仅支持 csv 格式的数据源,可以自行新建一个 csv 文件后,将目标数据拷贝到这个 csv 文件中,然后再使用 CircosHeatmap-aardio.exe 进行生成 pdf。</mark>
---
## ✨ 贡献
欢迎贡献、建议、错误报告和修复!
欢迎贡献、建议、错误报告和修复!如果您有任何想法或问题,请随时提交 [Issue](./issues/new) 或 [Pull Request](#pull-request-说明)。
---
## ❓ Pull Request 说明
**Pull RequestPR** 是一种向项目贡献代码的方式。具体步骤如下:
1. **Fork 项目**:点击项目页面的 `Fork` 按钮,将项目复制到您的账号下。
2. **创建分支**:在您的 Fork 仓库中创建一个新分支,用于开发新功能或修复问题。
3. **提交更改**:在新分支上完成代码修改后,提交更改。
4. **发起 Pull Request**:在您的 Fork 仓库页面,点击 `New Pull Request`,选择您的分支并提交 PR。
5. **等待审核**:项目维护者会审核您的代码,确认无误后合并到主分支。

90
README_EN.md Normal file
View File

@ -0,0 +1,90 @@
<p align="center">
<img src="./res/result.jpg" width="200" />
</p>
<h1 align="center">
<img src="./res/app.png" width="30" style="vertical-align: middle;" />
<span style="vertical-align: middle;">CircosHeatmap-aardio</span>
</h1>
<p align="center">
A Circular Heatmap Visualization Tool Based on R Language
</p>
<div align="center">
<a href="./README_CN.md">中文</a>
</div>
---
## 📃 Project Introduction
CircosHeatmap-aardio is a circular heatmap (Circos Heatmap) visualization tool based on R language. It supports clustering and visualization of matrix data. Through the Aardio graphical interface, users can easily use the tool without writing any code.
---
## ✨ Core Features
- **Circular Heatmap Visualization**: Based on R's `circlize` and `ComplexHeatmap` packages, it supports clustering and visualization of matrix data.
- **Graphical Interface**: Implemented with Aardio, allowing users to select input files, set parameters, and run scripts through the interface.
- **Code Visualization and Debugging**: Built-in R code editor for viewing and modifying the current R script.
- **Log Output**: Provides a log window to display script execution results and error messages.
---
## 🚀 Quick Start
### 1. Download and Extract
Download and extract CircosHeatmap-aardio from [Releases](./releases).
### 2. Run the Program
Run `CircosHeatmap-aardio.exe`. The R environment will be automatically installed on the first run.
![demo](./res/demo.jpg)
### 3. Select Data Source
Click **"Data Source"** to select a csv file.
> **Note**: Currently, only csv format is supported. If your data is in other formats (e.g., xls, xlsx), convert it to csv before use.
### 4. Generate PDF
Click **"Generate PDF"** to select the save location.
---
## 🛠️ Program Details
### Interface Layout
- **R Code Editor**: Displays the current R script for viewing and modification.
- **Log Window**: Shows script execution results and error messages in real-time.
- **Data Source Selection**: Select input files via button (supports csv format).
- **Generate PDF**: Run the R script and save the generated circular heatmap as a PDF file.
### Code Logic
- **R Script Loading**: The default R script (`heatmap_script.R`) is loaded on program startup.
- **File Selection**: Click **"Data Source"** to select an input file, and the path is displayed in the input box.
- **Script Execution**: Click **"Generate PDF"** to execute the R script with the input file path and output PDF path.
---
## 📝 TODO
- **UI Improvements**: Enhance user interaction and experience.
- **Support More File Formats**: Extend support for xls, xlsx, etc.
- **Advanced Features**: Add features like custom color gradients and clustering parameter adjustments.
---
## ✨ Contributions
Contributions, suggestions, bug reports, and fixes are welcome! If you have any ideas or questions, please submit an [Issue](./issues/new) or [Pull Request](#pull-request-guide).
---
## ❓ Pull Request Guide
**Pull Request (PR)** is a way to contribute code to the project. Follow these steps:
1. **Fork the Project**: Click the `Fork` button on the project page to create a copy under your account.
2. **Create a Branch**: Create a new branch in your forked repository for developing new features or fixing issues.
3. **Commit Changes**: Make your changes in the new branch and commit them.
4. **Submit a Pull Request**: On your forked repository page, click `New Pull Request`, select your branch, and submit the PR.
5. **Wait for Review**: The project maintainer will review your code and merge it into the main branch if everything is OK.