Skip to content

Commit 6a70eb5

Browse files
authored
Merge branch 'main' into format_nbs
2 parents 6e8374d + 82fc94e commit 6a70eb5

File tree

8 files changed

+204
-240
lines changed

8 files changed

+204
-240
lines changed

CITATION.cff

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
cff-version: 1.2.0
2+
message: "If you use VueGen in your research, please cite it as below."
3+
title: "VueGen: Automating the generation of scientific reports"
4+
version: 1.0.0
5+
authors:
6+
- family-names: "Ayala-Ruano"
7+
given-names: "Sebastian"
8+
orcid: "http://orcid.org/0000-0001-9756-6745"
9+
- family-names: "Webel"
10+
given-names: "Henry"
11+
orcid: "http://orcid.org/0000-0001-8833-7617"
12+
- family-names: "Santos"
13+
given-names: "Alberto"
14+
orcid: "http://orcid.org/0000-0002-9163-7730"
15+
doi: "10.1101/2025.03.05.641152"
16+
date-released: "2025-03-05"
17+
url: "https://github.com/YOUR_GITHUB_USERNAME/YOUR_REPO_NAME"
18+
preferred-citation:
19+
type: article
20+
authors:
21+
- family-names: "Ayala-Ruano"
22+
given-names: "Sebastian"
23+
orcid: "http://orcid.org/0000-0001-9756-6745"
24+
- family-names: "Webel"
25+
given-names: "Henry"
26+
orcid: "http://orcid.org/0000-0001-8833-7617"
27+
- family-names: "Santos"
28+
given-names: "Alberto"
29+
orcid: "http://orcid.org/0000-0002-9163-7730"
30+
title: "VueGen: Automating the generation of scientific reports"
31+
journal: "bioRxiv"
32+
year: 2025
33+
doi: "10.1101/2025.03.05.641152"
34+
url: "https://www.biorxiv.org/content/10.1101/2025.03.05.641152v1"

README.md

Lines changed: 54 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66

77
| Information | Links |
88
| :--- | :--- |
9-
| **Package** |[ ![PyPI Latest Release](https://img.shields.io/pypi/v/vuegen.svg)][vuegen-pypi] [![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)|
10-
| **Documentation** | [![Docs](https://readthedocs.org/projects/vuegen/badge/?style=flat)][vuegen-docs]|
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]|
1111
| **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]|
1212
| **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]|
1313
| **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]|
1415

1516
## Table of contents:
1617
- [About the project](#about-the-project)
@@ -19,6 +20,7 @@
1920
- [Case studies](#case-studies)
2021
- [Web application deployment](#web-application-deployment)
2122
- [Credits and acknowledgements](#credits-and-acknowledgements)
23+
- [Citation](#citation)
2224
- [Contact and feedback](#contact-and-feedback)
2325

2426
## About the project
@@ -39,13 +41,14 @@ An extended version of the class diagram with attributes and methods is availabl
3941
The VueGen documentation is available at [vuegen.readthedocs.io][vuegen-docs], where you can find detailed information of the package’s classes and functions, installation and execution instructions, and case studies to demonstrate its functionality.
4042

4143
## Installation
42-
Vuegen is available on [PyPI][vuegen-pypi] and can be installed using pip:
44+
### Pip
45+
VueGen is available on [PyPI][vuegen-pypi] and can be installed using pip:
4346

4447
```bash
4548
pip install vuegen
4649
```
4750

48-
You can also install the package for development from this repository by running the following command:
51+
You can also install the package for development by cloning this repository and running the following command:
4952

5053
```bash
5154
pip install -e path/to/vuegen # specify location
@@ -55,7 +58,15 @@ pip install -e . # in case your pwd is in the vuegen directory
5558
> [!TIP]
5659
> It is recommended to install VueGen inside a virtual environment to manage depenendencies and avoid conflicts with existing packages. You can use the virtual environment manager of your choice, such as `poetry`, `conda`, or `pipenv`.
5760
58-
Vuegen uses [Quarto][quarto] to generate various report types. The pip insallation includes quarto using the [quarto-cli Python library][quarto-cli-pypi]. To test if quarto is installed in your computer, run the following command:
61+
### Conda
62+
VueGen is also available on [Bioconda][vuegen-conda] and can be installed using conda:
63+
64+
```bash
65+
conda install bioconda::vuegen
66+
```
67+
68+
### Dependencies
69+
VueGen uses [Quarto][quarto] to generate various report types. The pip insallation includes quarto using the [quarto-cli Python library][quarto-cli-pypi]. To test if quarto is installed in your computer, run the following command:
5970

6071
```bash
6172
quarto check
@@ -64,9 +75,16 @@ quarto check
6475
> [!TIP]
6576
> If quarto is not installed, you can download the command-line interface from the [Quarto website][quarto-cli] for your operating system.
6677
78+
### Docker
6779
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].
6880

81+
### Nextflow and nf-core
82+
VueGen is also available as a [nf-core][nfcore] module, customised for compatibility with the [Nextflow][nextflow] environment. This module is designed to automate report generation from outputs produced by other modules, subworkflows, or pipelines. The code and documentation for the nf-core module are available in the [nf-VueGen repository][nf-vuegen].
83+
6984
## Execution
85+
> [!IMPORTANT]
86+
> Here we use the `Earth_microbiome_vuegen_demo_notebook` directory and the `Earth_microbiome_vuegen_demo_notebook.yaml` configuration file as examples, which are available in the `docs/example_data` and `docs/example_config_files` folders, respectively. Make sure to clone this reposiotry to access these contents, or use your own directory and configuration file.
87+
7088
Run VueGen using a directory with the following command:
7189

7290
```bash
@@ -79,7 +97,7 @@ vuegen --directory docs/example_data/Earth_microbiome_vuegen_demo_notebook --rep
7997
It's also possible to provide a configuration file instead of a directory:
8098

8199
```bash
82-
vuegen --config docs/example_data/Earth_microbiome_vuegen_demo_notebook/Earth_microbiome_vuegen_demo_notebook_config.yaml --report_type streamlit
100+
vuegen --config docs/example_config_files/Earth_microbiome_vuegen_demo_notebook.yaml --report_type streamlit
83101
```
84102

85103
The current report types supported by VueGen are:
@@ -97,7 +115,7 @@ Instead of installing VueGen locally, you can run it directly from a Docker cont
97115

98116
```bash
99117
docker run --rm \
100-
-v "$(pwd)docs/example_data/Earth_microbiome_vuegen_demo_notebook:/home/appuser/Earth_microbiome_vuegen_demo_notebook" \
118+
-v "$(pwd)/docs/example_data/Earth_microbiome_vuegen_demo_notebook:/home/appuser/Earth_microbiome_vuegen_demo_notebook" \
101119
-v "$(pwd)/output_docker:/home/appuser/quarto_report" \
102120
quay.io/dtu_biosustain_dsp/vuegen:docker --directory /home/appuser/Earth_microbiome_vuegen_demo_notebook --report_type streamlit
103121
```
@@ -130,16 +148,40 @@ Once a Streamlit report is generated, it can be deployed as a web application to
130148
These options provide flexibility depending on whether the goal is online accessibility, lightweight execution, or local application distribution.
131149

132150
## Credits and acknowledgements
133-
- Vuegen was developed by the [Multiomics Network Analytics Group (MoNA)][Mona] at the [Novo Nordisk Foundation Center for Biosustainability (DTU Biosustain)][Biosustain].
151+
- VueGen was developed by the [Multiomics Network Analytics Group (MoNA)][Mona] at the [Novo Nordisk Foundation Center for Biosustainability (DTU Biosustain)][Biosustain].
134152
- VueGen relies on the work of numerous open-source projects like [Streamlit](streamlit), [Quarto][quarto], and others. A big thank you to their authors for making this possible!
135153
- The vuegen logo was designed based on an image created by [Scriberia][scriberia] for The [Turing Way Community][turingway], which is shared under a CC-BY licence. The original image can be found at [Zenodo][zenodo-turingway].
136154

155+
## Citation
156+
If you use VueGen in your research or publications, please cite it as follows:
157+
158+
**APA:**
159+
160+
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
161+
162+
**BibTeX:**
163+
164+
```bibtex
165+
@article{Ayala-Ruano2025VueGen,
166+
author = {Ayala-Ruano, Sebastian and Webel, Henry and Santos, Alberto},
167+
title = {VueGen: Automating the generation of scientific reports},
168+
journal = {bioRxiv},
169+
year = {2025},
170+
doi = {10.1101/2025.03.05.641152},
171+
publisher = {Cold Spring Harbor Laboratory},
172+
url = {https://www.biorxiv.org/content/10.1101/2025.03.05.641152},
173+
eprint = {https://www.biorxiv.org/content/10.1101/2025.03.05.641152.full.pdf}
174+
}
175+
```
176+
137177
## Contact and feedback
138178
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.
139179

140180
[streamlit]: https://streamlit.io/
141181
[vuegen-pypi]: https://pypi.org/project/vuegen/
182+
[vuegen-conda]: https://anaconda.org/bioconda/vuegen
142183
[vuegen-docker-quay]: https://quay.io/repository/dtu_biosustain_dsp/vuegen
184+
[vuegen-license]: https://github.com/Multiomics-Analytics-Group/vuegen/blob/main/LICENSE
143185
[vuegen-class-diag-att]: https://raw.githubusercontent.com/Multiomics-Analytics-Group/vuegen/main/docs/images/vuegen_classdiagram_withattmeth.pdf
144186
[vuegen-docs]: https://vuegen.readthedocs.io/
145187
[ci-gh-action]: https://github.com/Multiomics-Analytics-Group/vuegen/actions/workflows/cdci.yml
@@ -148,9 +190,13 @@ We appreciate your feedback! If you have any comments, suggestions, or run into
148190
[emp-st-demo]: https://earth-microbiome-vuegen-demo.streamlit.app/
149191
[issues]: https://github.com/Multiomics-Analytics-Group/vuegen/issues
150192
[pulls]: https://github.com/Multiomics-Analytics-Group/vuegen/pulls
193+
[vuegen-preprint]: https://doi.org/10.1101/2025.03.05.641152
151194
[quarto]: https://quarto.org/
152195
[quarto-cli-pypi]: https://pypi.org/project/quarto-cli/
153196
[quarto-cli]: https://quarto.org/docs/get-started/
197+
[nfcore]: https://nf-co.re/
198+
[nextflow]: https://www.nextflow.io/
199+
[nf-vuegen]: https://github.com/Multiomics-Analytics-Group/nf-vuegen/
154200
[colab_badge]: https://colab.research.google.com/assets/colab-badge.svg
155201
[colab_link_intro_demo]: https://colab.research.google.com/github/Multiomics-Analytics-Group/vuegen/blob/main/docs/vuegen_basic_case_study.ipynb
156202
[colab_link_emp_demo]: https://colab.research.google.com/github/Multiomics-Analytics-Group/vuegen/blob/main/docs/vuegen_case_study_earth_microbiome.ipynb

docs/example_data/Earth_microbiome_vuegen_demo_notebook/Earth_microbiome_vuegen_demo_notebook_config.yaml

Lines changed: 0 additions & 140 deletions
This file was deleted.

src/vuegen/config_manager.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ def _create_component_config_fromfile(self, file_path: Path) -> Dict[str, str]:
6363

6464
# Add title, file path, and description
6565
component_config["title"] = self._create_title_fromdir(file_path.name)
66-
component_config["file_path"] = str(file_path.resolve())
66+
component_config["file_path"] = (
67+
file_path.resolve().as_posix()
68+
) # ! needs to be posix for all OS support
6769
component_config["description"] = ""
6870
component_config["caption"] = ""
6971

0 commit comments

Comments
 (0)