Skip to content
Merged
Show file tree
Hide file tree
Changes from 36 commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
9558a7d
:art: format markdowns
enryH Jun 19, 2025
ca5a970
:art: docstrings to 90 characters and remove whitespaces
enryH Jun 19, 2025
04e4d54
:wrench: set line length to 90 characters
enryH Jun 19, 2025
e4c5881
:art: split comments, add comments, remove more whitespace, add more …
enryH Jun 19, 2025
5a909bb
:art: write strings on two line and let Python concatenate theses
enryH Jun 19, 2025
c2a0016
:art: snake_case
enryH Jun 19, 2025
4cc06c0
:art: raise ValueError if unknown type is provided
enryH Jun 19, 2025
57948ec
:art: specify encoding explicitly
enryH Jun 19, 2025
37cc80f
:art: use textwrap to keep indentation
enryH Jun 19, 2025
a0c4ca2
:bug: with textwrap the text cannot contain new line statements
enryH Jun 19, 2025
05b0d98
:art: adjust comments and docstrings to line-length
enryH Jun 20, 2025
f7f26d3
:wrench: add jupytext configuration for notebooks to project
enryH Jun 20, 2025
21470b3
Merge branch 'main' into styling_formating
enryH Jun 21, 2025
bc47b96
Merge branch 'main' into styling_formating
enryH Jun 25, 2025
a9ace37
Merge branch 'main' into styling_formating
enryH Jun 25, 2025
1d9855e
✅ update example report files so test pass (reviewed changes are only…
enryH Jun 25, 2025
f257178
:art: continue reformatting of streamlit_report.py
enryH Jun 25, 2025
a38262e
:art: remove one level of indentation
enryH Jun 25, 2025
700217a
:art: docstring and f-string formatting
enryH Jun 25, 2025
a606456
:art: encoding and whitespace updates
enryH Jun 25, 2025
9d3528e
:bug: add missing argument to abc for reports
enryH Jun 25, 2025
5fb9049
:art: textwrap code or html blocks
enryH Jun 25, 2025
206deab
:art: keep urls at the top
enryH Jun 25, 2025
ed1132d
:art: limit remaining lines to 90 characters
enryH Jun 25, 2025
518ff91
:art: shorten docstrings and comments, implement lazy logging
enryH Jun 26, 2025
e2a9da1
:art: remove trailing white-space from streamlit footer
enryH Jun 26, 2025
85e2c53
:truck: add constants file to keep these central
enryH Jun 26, 2025
37eceb0
:art: streamlit footer in utils? use central constants for footer, de…
enryH Jun 26, 2025
66818f5
:art: add initialization of dictionary in body of function
enryH Jun 26, 2025
4ef3f7d
:art: add timeout to get request -> will 60 seconds always be enough?
enryH Jun 26, 2025
732e1fe
:art: dedent and slightly modify completion message
enryH Jun 26, 2025
a808217
:art: line lenght, lazy logging and raising exceptions from exception
enryH Jun 26, 2025
6c66f42
:art: module and docstrings, comments splitting and removing unnecess…
enryH Jun 26, 2025
60afba6
:art: lazy logging + exe_info and Error messaging splitting (line len…
enryH Jun 26, 2025
4ac1971
:art: module string, line length, unused arguments,
enryH Jun 26, 2025
36cbc20
:art: lazy logging and reporting of error info for error
enryH Jun 27, 2025
259f4f5
🐛 Handle error for loading static images from a URL in streamlit reports
sayalaruano Jun 30, 2025
f66f8b8
📝 Update md files for the yaml examples on the documentation
sayalaruano Jun 30, 2025
c4a58e8
🐛 Fix desciption from the EMP config example
sayalaruano Jun 30, 2025
c6d088e
🐛 Fix code to load images from URLs in streamlit reports
sayalaruano Jun 30, 2025
0c3443b
Trigger GitHub actions to avoid connection error to download tinytex
sayalaruano Jun 30, 2025
317f55f
:art::wrench: let ruff check for line lenght and other potential bugs…
enryH Jun 30, 2025
1736bac
:bug: Ollama chatbot example
enryH Jun 30, 2025
80332cd
:bug: use existing config file, not the local one generated by chabot…
enryH Jun 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Docs creation

In order to build the docs you need to
In order to build the docs you need to

1. Install sphinx and additional support packages
2. Build the package reference files
3. Run sphinx to create a local html version
1. Install sphinx and additional support packages
2. Build the package reference files
3. Run sphinx to create a local html version

The documentation is build using readthedocs automatically.

Expand All @@ -18,12 +18,13 @@ poetry install --with docs

## Build docs using Sphinx command line tools

Command to be run from `path/to/docs`, i.e. from within the `docs` package folder:
Command to be run from `path/to/docs`, i.e. from within the `docs` package folder:

Options:
- `--separate` to build separate pages for each (sub-)module

```bash
- `--separate` to build separate pages for each (sub-)module

```bash
# pwd: docs
# apidoc
sphinx-apidoc --force --implicit-namespaces --module-first -o reference ../src/vuegen
Expand All @@ -38,4 +39,3 @@ The README is included in the `Overview` section of the docs. We created a [Pyth
Relative links are used in the main README, which need to be resolved when building. It's
possible to include the a `relative-docs` option if one uses `index.md` ([see docs](https://myst-parser.readthedocs.io/en/latest/faq/index.html#include-a-file-from-outside-the-docs-folder-like-readme-md)). This does not work
with `href` links, only native markdown links.

327 changes: 164 additions & 163 deletions docs/vuegen_basic_case_study_configfile.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Predefined Directory Case Study - Configuration File

The [configuration file](https://github.com/Multiomics-Analytics-Group/vuegen/blob/main/docs/example_config_files/Basic_example_vuegen_demo_notebook_config.yaml) of the basic case study using a predefined directory is presented below:
The [configuration file](https://github.com/Multiomics-Analytics-Group/vuegen/blob/main/docs/example_config_files/Basic_example_vuegen_demo_notebook_config.yaml) of the basic case study using a predefined directory is presented below:

```yaml
report:
Expand All @@ -9,168 +9,169 @@ report:
graphical_abstract: https://raw.githubusercontent.com/Multiomics-Analytics-Group/vuegen/main/docs/images/vuegen_logo.svg
logo: https://raw.githubusercontent.com/Multiomics-Analytics-Group/vuegen/main/docs/images/vuegen_logo.svg
sections:
- title: Plots
description: This section contains example plots.
subsections:
- title: Interactive Plots
description: Optional description for section.
components:
- title: Top Species Plot By Biome Plotly
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/1_Interactive_plots/1_top_species_plot_by_biome_plotly.json
description: ''
caption: ''
component_type: plot
plot_type: plotly
- title: Multiline Plot Altair
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/1_Interactive_plots/2_multiline_plot_altair.json
description: ''
caption: ''
component_type: plot
plot_type: altair
- title: Pie Plot Countries Plotly
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/1_Interactive_plots/3_pie_plot_countries_plotly.json
description: ''
caption: ''
component_type: plot
plot_type: plotly
- title: Pie Plots Biomes Plotly
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/1_Interactive_plots/4_pie_plots_biomes_plotly.json
description: ''
caption: ''
component_type: plot
plot_type: plotly
- title: Saline Metagenomics Samples Map Altair
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/1_Interactive_plots/5_saline_metagenomics_samples_map_altair.json
description: ''
caption: ''
component_type: plot
plot_type: altair
- title: Description
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/1_Interactive_plots/description.md
description: ''
caption: ''
component_type: markdown
- title: Static Plots
description: ''
components:
- title: Number Samples Per Study
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/2_Static_plots/1_number_samples_per_study.png
description: ''
caption: ''
component_type: plot
plot_type: static
- title: Animal Metagenomics Samples Map
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/2_Static_plots/2_animal_metagenomics_samples_map.png
description: ''
caption: ''
component_type: plot
plot_type: static
- title: Alpha Diversity Host Associated Samples
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/2_Static_plots/3_alpha_diversity_host_associated_samples.png
description: ''
caption: ''
component_type: plot
plot_type: static
- title: "Graphical overview of VueGen workflow and components"
file_path: https://raw.githubusercontent.com/Multiomics-Analytics-Group/vuegen/main/docs/images/vuegen_graph_abstract.png
description: ''
caption: The diagram illustrates the processing pipeline of VueGen, starting
from either a directory or a YAML configuration file. Reports consist of hierarchical
sections and subsections, each containing various components such as plots,
dataframes, Markdown, HTML, and data retrieved via API calls.
component_type: plot
plot_type: static
- title: Dataframes
description: ''
subsections:
- title: All Formats
description: This subsection contains example dataframes.
components:
- title: Phyla Correlation Network Csv
file_path: example_data/Basic_example_vuegen_demo_notebook/2_Dataframes/1_All_formats/1_phyla_correlation_network_csv.csv
description: ''
caption: ''
component_type: dataframe
file_format: csv
delimiter: ','
- title: Abundance Table Example Xls
file_path: example_data/Basic_example_vuegen_demo_notebook/2_Dataframes/1_All_formats/2_abundance_table_example_xls.xls
description: ''
caption: ''
component_type: dataframe
file_format: xls
- title: Sample Info Example Txt
file_path: example_data/Basic_example_vuegen_demo_notebook/2_Dataframes/1_All_formats/3_sample_info_example_txt.txt
description: ''
caption: ''
component_type: dataframe
file_format: txt
delimiter: \t
- title: Sample Info Example Parquet
file_path: example_data/Basic_example_vuegen_demo_notebook/2_Dataframes/1_All_formats/4_sample_info_example_parquet.parquet
description: ''
caption: ''
component_type: dataframe
file_format: parquet
- title: Networks
description: ''
subsections:
- title: Interactive Networks
description: Optional description for subsection
components:
- title: Man Example
file_path: example_data/Basic_example_vuegen_demo_notebook/3_Networks/1_Interactive_networks/1_man_example.graphml
description: ''
caption: ''
component_type: plot
plot_type: interactive_network
- title: Description
file_path: example_data/Basic_example_vuegen_demo_notebook/3_Networks/1_Interactive_networks/description.md
description: ''
caption: ''
component_type: markdown
- title: Static Networks
description: ''
components:
- title: Phyla Correlation Network
file_path: example_data/Basic_example_vuegen_demo_notebook/3_Networks/2_Static_networks/1_phyla_correlation_network.png
description: ''
caption: ''
component_type: plot
plot_type: static
- title: Html
description: ''
subsections:
- title: All Html
description: ''
components:
- title: Plot
file_path: example_data/Basic_example_vuegen_demo_notebook/4_Html/1_All_html/1_plot.html
description: ''
caption: ''
component_type: html
- title: Ckg Network
file_path: example_data/Basic_example_vuegen_demo_notebook/4_Html/1_All_html/2_ckg_network.html
description: ''
caption: ''
component_type: plot
plot_type: interactive_network
- title: Multiqc Report
file_path: example_data/Basic_example_vuegen_demo_notebook/4_Html/1_All_html/3_multiqc_report.html
description: ''
caption: ''
component_type: html
- title: Markdown
description: ''
subsections:
- title: All Markdown
description: ''
components:
- title: Readme
file_path: example_data/Basic_example_vuegen_demo_notebook/5_Markdown/1_All_markdown/README.md
description: ''
caption: ''
component_type: markdown
- title: Plots
description: This section contains example plots.
subsections:
- title: Interactive Plots
description: Optional description for section.
components:
- title: Top Species Plot By Biome Plotly
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/1_Interactive_plots/1_top_species_plot_by_biome_plotly.json
description: ""
caption: ""
component_type: plot
plot_type: plotly
- title: Multiline Plot Altair
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/1_Interactive_plots/2_multiline_plot_altair.json
description: ""
caption: ""
component_type: plot
plot_type: altair
- title: Pie Plot Countries Plotly
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/1_Interactive_plots/3_pie_plot_countries_plotly.json
description: ""
caption: ""
component_type: plot
plot_type: plotly
- title: Pie Plots Biomes Plotly
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/1_Interactive_plots/4_pie_plots_biomes_plotly.json
description: ""
caption: ""
component_type: plot
plot_type: plotly
- title: Saline Metagenomics Samples Map Altair
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/1_Interactive_plots/5_saline_metagenomics_samples_map_altair.json
description: ""
caption: ""
component_type: plot
plot_type: altair
- title: Description
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/1_Interactive_plots/description.md
description: ""
caption: ""
component_type: markdown
- title: Static Plots
description: ""
components:
- title: Number Samples Per Study
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/2_Static_plots/1_number_samples_per_study.png
description: ""
caption: ""
component_type: plot
plot_type: static
- title: Animal Metagenomics Samples Map
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/2_Static_plots/2_animal_metagenomics_samples_map.png
description: ""
caption: ""
component_type: plot
plot_type: static
- title: Alpha Diversity Host Associated Samples
file_path: example_data/Basic_example_vuegen_demo_notebook/1_Plots/2_Static_plots/3_alpha_diversity_host_associated_samples.png
description: ""
caption: ""
component_type: plot
plot_type: static
- title: "Graphical overview of VueGen workflow and components"
file_path: https://raw.githubusercontent.com/Multiomics-Analytics-Group/vuegen/main/docs/images/vuegen_graph_abstract.png
description: ""
caption:
The diagram illustrates the processing pipeline of VueGen, starting
from either a directory or a YAML configuration file. Reports consist of hierarchical
sections and subsections, each containing various components such as plots,
dataframes, Markdown, HTML, and data retrieved via API calls.
component_type: plot
plot_type: static
- title: Dataframes
description: ""
subsections:
- title: All Formats
description: This subsection contains example dataframes.
components:
- title: Phyla Correlation Network Csv
file_path: example_data/Basic_example_vuegen_demo_notebook/2_Dataframes/1_All_formats/1_phyla_correlation_network_csv.csv
description: ""
caption: ""
component_type: dataframe
file_format: csv
delimiter: ","
- title: Abundance Table Example Xls
file_path: example_data/Basic_example_vuegen_demo_notebook/2_Dataframes/1_All_formats/2_abundance_table_example_xls.xls
description: ""
caption: ""
component_type: dataframe
file_format: xls
- title: Sample Info Example Txt
file_path: example_data/Basic_example_vuegen_demo_notebook/2_Dataframes/1_All_formats/3_sample_info_example_txt.txt
description: ""
caption: ""
component_type: dataframe
file_format: txt
delimiter: \t
- title: Sample Info Example Parquet
file_path: example_data/Basic_example_vuegen_demo_notebook/2_Dataframes/1_All_formats/4_sample_info_example_parquet.parquet
description: ""
caption: ""
component_type: dataframe
file_format: parquet
- title: Networks
description: ""
subsections:
- title: Interactive Networks
description: Optional description for subsection
components:
- title: Man Example
file_path: example_data/Basic_example_vuegen_demo_notebook/3_Networks/1_Interactive_networks/1_man_example.graphml
description: ""
caption: ""
component_type: plot
plot_type: interactive_network
- title: Description
file_path: example_data/Basic_example_vuegen_demo_notebook/3_Networks/1_Interactive_networks/description.md
description: ""
caption: ""
component_type: markdown
- title: Static Networks
description: ""
components:
- title: Phyla Correlation Network
file_path: example_data/Basic_example_vuegen_demo_notebook/3_Networks/2_Static_networks/1_phyla_correlation_network.png
description: ""
caption: ""
component_type: plot
plot_type: static
- title: Html
description: ""
subsections:
- title: All Html
description: ""
components:
- title: Plot
file_path: example_data/Basic_example_vuegen_demo_notebook/4_Html/1_All_html/1_plot.html
description: ""
caption: ""
component_type: html
- title: Ckg Network
file_path: example_data/Basic_example_vuegen_demo_notebook/4_Html/1_All_html/2_ckg_network.html
description: ""
caption: ""
component_type: plot
plot_type: interactive_network
- title: Multiqc Report
file_path: example_data/Basic_example_vuegen_demo_notebook/4_Html/1_All_html/3_multiqc_report.html
description: ""
caption: ""
component_type: html
- title: Markdown
description: ""
subsections:
- title: All Markdown
description: ""
components:
- title: Readme
file_path: example_data/Basic_example_vuegen_demo_notebook/5_Markdown/1_All_markdown/README.md
description: ""
caption: ""
component_type: markdown
```

The directory with he example data is available in the [GitHub repository](https://github.com/Multiomics-Analytics-Group/vuegen/blob/main/docs/example_data/Basic_example_vuegen_demo_notebook).
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,6 @@ vuegen = "vuegen.__main__:main"

[tool.isort]
profile = "black"

[tool.jupytext]
formats = "ipynb,py:percent"
4 changes: 4 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[flake8]
exclude = docs
max-line-length = 90
aggressive = 2
5 changes: 5 additions & 0 deletions src/vuegen/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
"""VueGen automates the creation of reports from bioinformatics outputs,
supporting formats like PDF, HTML, DOCX, ODT, PPTX, Reveal.js, Jupyter notebooks,
and Streamlit web applications. Users simply provide a directory with output files
and VueGen compiles them into a structured report."""

__version__ = "1.0.0"
Loading