Skip to content

Commit 129d762

Browse files
enryHsayalaruano
andauthored
🎨 updadte GUI instructions, format document (#98)
* 🎨 updadte GUI instructions, format document * 🎨 add GUI section to TOC --------- Co-authored-by: Sebastián Ayala Ruano <[email protected]>
1 parent b4ec570 commit 129d762

File tree

1 file changed

+74
-36
lines changed

1 file changed

+74
-36
lines changed

README.md

Lines changed: 74 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
1-
![VueGen Logo](https://raw.githubusercontent.com/Multiomics-Analytics-Group/vuegen/main/docs/images/vuegen_logo.svg)
2-
-----------------
1+
## ![VueGen Logo](https://raw.githubusercontent.com/Multiomics-Analytics-Group/vuegen/main/docs/images/vuegen_logo.svg)
2+
33
<p align="center">
44
VueGen is a Python package that automates the creation of scientific reports.
55
</p>
66

7-
| Information | Links |
8-
| :--- | :--- |
9-
| **Package** |[![PyPI Latest Release](https://img.shields.io/pypi/v/vuegen.svg)][vuegen-pypi] [![Conda Latest Release](https://img.shields.io/conda/v/bioconda/vuegen.svg)][vuegen-conda] [![Supported versions](https://img.shields.io/pypi/pyversions/vuegen.svg)][vuegen-pypi] [![Docker Repository on Quay](https://quay.io/repository/dtu_biosustain_dsp/vuegen/status "Docker Repository on Quay")][vuegen-docker-quay] [![License](https://img.shields.io/github/license/Multiomics-Analytics-Group/vuegen)][vuegen-license]|
10-
| **Documentation** | [![made-with-sphinx-doc](https://img.shields.io/badge/Made%20with-Sphinx-1f425f.svg)](https://www.sphinx-doc.org/) ![Docs](https://readthedocs.org/projects/vuegen/badge/?style=flat) [![View - Documentation](https://img.shields.io/badge/view-Documentation-blue?style=flat)][vuegen-docs]|
11-
| **Build** | [![CI](https://github.com/Multiomics-Analytics-Group/vuegen/actions/workflows/cdci.yml/badge.svg)][ci-gh-action] [![Docs](https://github.com/Multiomics-Analytics-Group/vuegen/actions/workflows/docs.yml/badge.svg)][ci-docs]|
12-
| **Examples** | [![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white)][emp-html-demo] [![Streamlit](https://img.shields.io/badge/Streamlit-%23FE4B4B.svg?style=for-the-badge&logo=streamlit&logoColor=white)][emp-st-demo]|
13-
| **Discuss on GitHub** | [![GitHub issues](https://img.shields.io/github/issues/Multiomics-Analytics-Group/vuegen)][issues] [![GitHub pull requests](https://img.shields.io/github/issues-pr/Multiomics-Analytics-Group/vuegen)][pulls]|
14-
| **Cite** | [![DOI:10.1101/2025.03.05.641152](https://img.shields.io/badge/DOI-10.1101/2025.03.05.641152-B31B1B.svg)][vuegen-preprint]|
7+
| Information | Links |
8+
| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
9+
| **Package** | [![PyPI Latest Release](https://img.shields.io/pypi/v/vuegen.svg)][vuegen-pypi] [![Conda Latest Release](https://img.shields.io/conda/v/bioconda/vuegen.svg)][vuegen-conda] [![Supported versions](https://img.shields.io/pypi/pyversions/vuegen.svg)][vuegen-pypi] [![Docker Repository on Quay](https://quay.io/repository/dtu_biosustain_dsp/vuegen/status "Docker Repository on Quay")][vuegen-docker-quay] [![License](https://img.shields.io/github/license/Multiomics-Analytics-Group/vuegen)][vuegen-license] |
10+
| **Documentation** | [![made-with-sphinx-doc](https://img.shields.io/badge/Made%20with-Sphinx-1f425f.svg)](https://www.sphinx-doc.org/) ![Docs](https://readthedocs.org/projects/vuegen/badge/?style=flat) [![View - Documentation](https://img.shields.io/badge/view-Documentation-blue?style=flat)][vuegen-docs] |
11+
| **Build** | [![CI](https://github.com/Multiomics-Analytics-Group/vuegen/actions/workflows/cdci.yml/badge.svg)][ci-gh-action] [![Docs](https://github.com/Multiomics-Analytics-Group/vuegen/actions/workflows/docs.yml/badge.svg)][ci-docs] |
12+
| **Examples** | [![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white)][emp-html-demo] [![Streamlit](https://img.shields.io/badge/Streamlit-%23FE4B4B.svg?style=for-the-badge&logo=streamlit&logoColor=white)][emp-st-demo] |
13+
| **Discuss on GitHub** | [![GitHub issues](https://img.shields.io/github/issues/Multiomics-Analytics-Group/vuegen)][issues] [![GitHub pull requests](https://img.shields.io/github/issues-pr/Multiomics-Analytics-Group/vuegen)][pulls] |
14+
| **Cite** | [![DOI:10.1101/2025.03.05.641152](https://img.shields.io/badge/DOI-10.1101/2025.03.05.641152-B31B1B.svg)][vuegen-preprint] |
1515

1616
## Table of contents:
1717

1818
- [About the project](#about-the-project)
1919
- [Installation](#installation)
2020
- [Execution](#execution)
21+
- [GUI](#gui)
2122
- [Case studies](#case-studies)
2223
- [Web application deployment](#web-application-deployment)
2324
- [Contributing](#contributing)
@@ -27,7 +28,7 @@
2728

2829
## About the project
2930

30-
VueGen automates the creation of reports based on a directory with plots, dataframes, and other files in different formats. A YAML configuration file is generated from the directory to define the structure of the report. Users can customize the report by modifying the configuration file, or they can create their own configuration file instead of passing a directory as input.
31+
VueGen automates the creation of reports based on a directory with plots, dataframes, and other files in different formats. A YAML configuration file is generated from the directory to define the structure of the report. Users can customize the report by modifying the configuration file, or they can create their own configuration file instead of passing a directory as input.
3132

3233
The configuration file specifies the structure of the report, including sections, subsections, and various components such as plots, dataframes, markdown, html, and API calls. Reports can be generated in various formats, including documents (PDF, HTML, DOCX, ODT), presentations (PPTX, Reveal.js), notebooks (Jupyter) or [Streamlit](streamlit) web applications.
3334

@@ -59,7 +60,7 @@ pip install vuegen
5960
You can also install the package for development by cloning this repository and running the following command:
6061

6162
```bash
62-
pip install -e path/to/vuegen # specify location
63+
pip install -e path/to/vuegen # specify location
6364
pip install -e . # in case your pwd is in the vuegen directory
6465
```
6566

@@ -84,7 +85,7 @@ quarto check
8485
8586
### Docker
8687

87-
If you prefer not to install VueGen on your system, a pre-configured Docker container is available. It includes all dependencies, ensuring a fully reproducible execution environment. See the [Execution section](#execution) for details on running VueGen with Docker. The official Docker image is available at [quay.io/dtu_biosustain_dsp/vuegen][vuegen-docker-quay].
88+
If you prefer not to install VueGen on your system, a pre-configured Docker container is available. It includes all dependencies, ensuring a fully reproducible execution environment. See the [Execution section](#execution) for details on running VueGen with Docker. The official Docker image is available at [quay.io/dtu_biosustain_dsp/vuegen][vuegen-docker-quay].
8889

8990
### Nextflow and nf-core
9091

@@ -111,14 +112,15 @@ vuegen --config docs/example_config_files/Earth_microbiome_vuegen_demo_notebook.
111112
```
112113

113114
The current report types supported by VueGen are:
114-
* Streamlit
115-
* HTML
116-
* PDF
117-
* DOCX
118-
* ODT
119-
* Reveal.js
120-
* PPTX
121-
* Jupyter
115+
116+
- Streamlit
117+
- HTML
118+
- PDF
119+
- DOCX
120+
- ODT
121+
- Reveal.js
122+
- PPTX
123+
- Jupyter
122124

123125
### Running VueGen with Docker
124126

@@ -133,31 +135,69 @@ docker run --rm \
133135

134136
## GUI
135137

138+
### Local GUI
139+
136140
We have a simple GUI for VueGen that can be run locally or through a standalone executable.
141+
For now you will need to have a copy of this repository.
137142

138143
```bash
144+
pip install '.[gui]'
139145
cd gui
140146
python app.py
141147
```
142148

143-
The bundle GUI with the VueGen package is available under the releases. You will need to
144-
unzip the file and run `vuegen_gui` in the unpacked main folder. Most dependencies are included into
145-
the bundle under `_internals` using PyInstaller.
149+
### Bundled GUI
150+
151+
The **bundle GUI** with the VueGen package is available under the
152+
[latest releases](https://github.com/Multiomics-Analytics-Group/vuegen/releases/latest).
153+
You will need to unzip the file and run `vuegen_gui` in the unpacked main folder.
154+
Most dependencies are included into the bundle using PyInstaller.
146155

147156
Streamlit works out of the box as a purely Python based package. For `html` creation you will have to
148-
have a global Python installation with the `jupyter` package installed. `quarto` needs to start
157+
have a Python 3.12 installation with the `jupyter` package installed as `quarto` needs to start
149158
a kernel for execution. This is also true if you install `quarto` globally on your machine.
150159

151-
More information can be found in the
152-
[GUI README](https://github.com/Multiomics-Analytics-Group/vuegen/blob/os_installers/gui/README.md).
160+
We recommend using miniforge to install Python and the conda package manager:
161+
162+
- [conda-forge.org/download/](https://conda-forge.org/download/)
163+
164+
We continous our example assuming you have installed the `miniforge` distribution for your
165+
machine (MacOS with arm64/ apple silicon or x86_64/ intel or Windows x86_64). Also download
166+
the [latest `vuegen_gui` bundle](https://github.com/Multiomics-Analytics-Group/vuegen/releases/latest)
167+
from the releases page according to your operating system.
168+
169+
```bash
170+
conda create -n vuegen_gui -c conda-forge python=3.12 jupyter
171+
conda info -e # find environment location
172+
```
173+
174+
Find the vuegen_gui path for your local `user`.
175+
176+
On **MacOS** you need to add a `bin` to the path:
177+
178+
```bash
179+
/Users/user/miniforge3/envs/vuegen_gui/bin
180+
```
181+
182+
On **Windows** you can use the path as displayed by `conda info -e`:
183+
184+
> Note: On Windows a base installation of miniforge with `jupyter` might work as well as
185+
> the app can see your entire Path which is not the case on MacOS.
186+
187+
```bash
188+
C:\Users\user\miniforge3\envs\vuegen_gui
189+
```
190+
191+
More information regarding the app and builds can be found in the
192+
[GUI README](https://github.com/Multiomics-Analytics-Group/vuegen/blob/main/gui/README.md).
153193

154194
## Case studies
155195

156196
VueGen’s functionality is demonstrated through two case studies:
157197

158198
**1. Predefined Directory**
159199

160-
This introductory case study uses a predefined directory with plots, dataframes, Markdown, and HTML components. Users can generate reports in different formats and modify the configuration file to customize the report structure.
200+
This introductory case study uses a predefined directory with plots, dataframes, Markdown, and HTML components. Users can generate reports in different formats and modify the configuration file to customize the report structure.
161201

162202
🔗 [![Open in Colab][colab_badge]][colab_link_intro_demo]
163203

@@ -174,9 +214,9 @@ This advanced case study demonstrates the application of VueGen in a real-world
174214

175215
Once a Streamlit report is generated, it can be deployed as a web application to make it accessible online. There are multiple ways to achieve this:
176216

177-
* **Streamlit Community Cloud**: Deploy your report easily using [Streamlit Cloud][st-cloud], as demonstrated in the [EMP VueGen Demo][emp-st-demo]. The process involves moving the necessary scripts, data, and a requirements.txt file into a GitHub repository. Then, the app can be deployed via the Streamlit Cloud interface. The deployment example is available in the `streamlit-report-example` branch.
178-
* **Standalone Executables**: Convert your Streamlit application into a desktop app by packaging it as an executable file for different operating systems. A detailed explanation of this process can be found in this [Streamlit forum post][st-forum-exe].
179-
* **Stlite**: Run Streamlit apps directly in the browser with [stlite][stlite], a WebAssembly port of Streamlit powered by Pyodide, eliminating the need for a server. It also allows packaging apps as standalone desktop executables using stlite desktop.
217+
- **Streamlit Community Cloud**: Deploy your report easily using [Streamlit Cloud][st-cloud], as demonstrated in the [EMP VueGen Demo][emp-st-demo]. The process involves moving the necessary scripts, data, and a requirements.txt file into a GitHub repository. Then, the app can be deployed via the Streamlit Cloud interface. The deployment example is available in the `streamlit-report-example` branch.
218+
- **Standalone Executables**: Convert your Streamlit application into a desktop app by packaging it as an executable file for different operating systems. A detailed explanation of this process can be found in this [Streamlit forum post][st-forum-exe].
219+
- **Stlite**: Run Streamlit apps directly in the browser with [stlite][stlite], a WebAssembly port of Streamlit powered by Pyodide, eliminating the need for a server. It also allows packaging apps as standalone desktop executables using stlite desktop.
180220

181221
These options provide flexibility depending on whether the goal is online accessibility, lightweight execution, or local application distribution.
182222

@@ -196,7 +236,7 @@ If you use VueGen in your research or publications, please cite it as follows:
196236

197237
**APA:**
198238

199-
Ayala-Ruano, S., Webel, H., & Santos, A. (2025). *VueGen: Automating the generation of scientific reports*. bioRxiv. https://doi.org/10.1101/2025.03.05.641152
239+
Ayala-Ruano, S., Webel, H., & Santos, A. (2025). _VueGen: Automating the generation of scientific reports_. bioRxiv. https://doi.org/10.1101/2025.03.05.641152
200240

201241
**BibTeX:**
202242

@@ -215,9 +255,9 @@ Ayala-Ruano, S., Webel, H., & Santos, A. (2025). *VueGen: Automating the generat
215255

216256
## Contact and feedback
217257

218-
We appreciate your feedback! If you have any comments, suggestions, or run into issues while using VueGen, feel free to [open an issue][new-issue] in this repository. Your input helps us make VueGen better for everyone.
258+
We appreciate your feedback! If you have any comments, suggestions, or run into issues while using VueGen, feel free to [open an issue][new-issue] in this repository. Your input helps us make VueGen better for everyone.
219259

220-
[streamlit]: https://streamlit.io/
260+
[streamlit]: https://streamlit.io/
221261
[vuegen-pypi]: https://pypi.org/project/vuegen/
222262
[vuegen-conda]: https://anaconda.org/bioconda/vuegen
223263
[vuegen-docker-quay]: https://quay.io/repository/dtu_biosustain_dsp/vuegen
@@ -250,5 +290,3 @@ We appreciate your feedback! If you have any comments, suggestions, or run into
250290
[turingway]: https://github.com/the-turing-way/the-turing-way
251291
[zenodo-turingway]: https://zenodo.org/records/3695300
252292
[new-issue]: https://github.com/Multiomics-Analytics-Group/vuegen/issues/new
253-
254-

0 commit comments

Comments
 (0)