Skip to content

Commit 06fb961

Browse files
committed
📝 Update README and docs structure
1 parent f9575cc commit 06fb961

File tree

4 files changed

+77
-45
lines changed

4 files changed

+77
-45
lines changed

README.md

Lines changed: 61 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@ An overview of the VueGen workflow is shown in the figure below:
3636

3737
![VueGen Abstract](https://raw.githubusercontent.com/Multiomics-Analytics-Group/vuegen/main/docs/images/vuegen_graph_abstract.png)
3838

39-
Also, the class diagram for the project is presented below to illustrate the architecture and relationships between classes:
39+
We created a schema diagram to illustrates the structure of the configuration file and the relationships between its elements:
40+
41+
![VueGen Schema Diagram](https://raw.githubusercontent.com/Multiomics-Analytics-Group/vuegen/main/docs/images/vuegen_schema_diagram.png)
42+
43+
Also, the class diagram for the project's current version is presented below to show the architecture and relationships between classes:
4044

4145
![VueGen Class Diagram](https://raw.githubusercontent.com/Multiomics-Analytics-Group/vuegen/main/docs/images/vuegen_classdiagram_noattmeth.png)
4246

@@ -59,9 +63,11 @@ pip install vuegen
5963

6064
You can also install the package for development by cloning this repository and running the following command:
6165

66+
> [!WARNING]
67+
> We assume you are in the root directory of the cloned repository when running this command. Otherwise, you need to specify the path to the `vuegen` directory.
68+
6269
```bash
63-
pip install -e path/to/vuegen # specify location
64-
pip install -e . # in case your pwd is in the vuegen directory
70+
pip install -e .
6571
```
6672

6773
### Conda
@@ -98,12 +104,12 @@ If you prefer not to install VueGen on your system, a pre-configured Docker cont
98104

99105
### Nextflow and nf-core
100106

101-
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. You can read the offical documentation for the nf-core module [here](nf-vuegen-nf-core). Also, the source code and detailed documentation are available in the [nf-VueGen repository][nf-vuegen].
107+
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. You can read the offical documentation for the nf-core module [here][nf-vuegen-nf-core]. Also, the source code and additional details are available in the [nf-VueGen repository][nf-vuegen].
102108

103109
## Execution
104110

105111
> [!IMPORTANT]
106-
> Here we use the `Earth_microbiome_vuegen_demo_notebook` [directory][emp-dir] and the `Earth_microbiome_vuegen_demo_notebook.yaml` [configuration file][emp-config] 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.
112+
> Here we use the `Earth_microbiome_vuegen_demo_notebook` [directory][emp-dir] and the `Earth_microbiome_vuegen_demo_notebook.yaml` [configuration file][emp-config] as examples, which are available in the `docs/example_data` and `docs/example_config_files` folders, respectively. Make sure to clone the VueGen's GitHub reposiotry to access these contents, or use your own directory and configuration file.
107113
108114
Run VueGen using a directory with the following command:
109115

@@ -116,18 +122,20 @@ vuegen --directory docs/example_data/Earth_microbiome_vuegen_demo_notebook --rep
116122
117123
### Folder structure
118124

119-
Your input directory must follow a **nested folder structure**, where first-level folders are treated as **sections** and second-level folders as **subsections**, containing the components (plots, tables, networks, Markdown text, and HTML files).
125+
Your input directory should follow a **nested folder structure**, where first-level folders are treated as **sections** and second-level folders as **subsections**, containing the components (plots, tables, networks, Markdown text, and HTML files). If the component files are in the first-level folders, an `overview` subsection will be created automatically.
120126

121127
Here is an example layout:
122128

123129
```
124130
report_folder/
125131
├── section1/
132+
│ ├── table1.tsv
126133
│ └── subsection1/
127-
│ ├── table.csv
134+
│ ├── table2.csv
128135
│ ├── image1.png
129136
│ └── chart.json
130137
├── section2/
138+
│ ├── image2.jpg
131139
│ ├── subsection1/
132140
│ │ ├── summary_table.xls
133141
│ │ └── network_plot.graphml
@@ -136,9 +144,6 @@ report_folder/
136144
│ └── summary.md
137145
```
138146

139-
> [!WARNING]
140-
> VueGen currently requires each section to contain at least one subsection folder. Defining only sections (with no subsections) or using deeper nesting levels (i.e., sub-subsections) will result in errors. In upcoming releases, we plan to support more flexible directory structures.
141-
142147
The titles for sections, subsections, and components are extracted from the corresponding folder and file names, and afterward, users can add descriptions, captions, and other details to the configuration file. Component types are inferred from the file extensions and names.
143148
The order of sections, subsections, and components can be defined using numerical suffixes in folder and file names.
144149

@@ -174,14 +179,19 @@ docker run --rm \
174179

175180
## GUI
176181

182+
We have a simple GUI for VueGen that can be run locally or through a standalone executable.
183+
177184
### Local GUI
178185

179-
We have a simple GUI for VueGen that can be run locally or through a standalone executable.
180-
For now you will need to have a copy of this repository.
186+
To use the **local GUI**, you should clone this repository and install the required dependencies. You can do this by running the following command in the root directory of the cloned repository:
181187

182188
```bash
183189
pip install '.[gui]'
184-
cd gui
190+
```
191+
192+
Then, you should move to the `gui` folder and execute the `app.py` Python file:
193+
194+
```bash
185195
python app.py
186196
```
187197

@@ -190,53 +200,66 @@ python app.py
190200
The **bundle GUI** with the VueGen package is available under the
191201
[latest releases](https://github.com/Multiomics-Analytics-Group/vuegen/releases/latest).
192202
You will need to unzip the file and run `vuegen_gui` in the unpacked main folder.
193-
Most dependencies are included into the bundle using PyInstaller.
203+
Most dependencies are included into the bundle using [PyInstaller][pyinstaller].
194204

195-
Streamlit works out of the box as a purely Python based package. For `html` creation you will have to
196-
have a Python 3.12 installation with the `jupyter` package installed as `quarto` needs to start
205+
Streamlit works out of the box as a purely Python based package. For the rest of report types you
206+
will have to have a **Python 3.12** installation with the `jupyter` package installed, as `quarto` needs to start
197207
a kernel for execution. This is also true if you install `quarto` globally on your machine.
198208

199-
We recommend using miniforge to install Python and the conda package manager:
200-
201-
- [conda-forge.org/download/](https://conda-forge.org/download/)
209+
> [!TIP]
210+
> It is advisable to create a virtual environment to manage depenendencies and avoid conflicts with existing packages.
211+
You can use the virtual environment manager of your choice, such as `poetry`, `conda`, or `pipenv`.
212+
We recommend using [miniforge][conda-download] to install Python and the `conda` package manager.
202213

203-
We continous our example assuming you have installed the `miniforge` distribution for your
204-
machine (MacOS with arm64/ apple silicon or x86_64/ intel or Windows x86_64). Also download
205-
the [latest `vuegen_gui` bundle](https://github.com/Multiomics-Analytics-Group/vuegen/releases/latest)
214+
We assume you have installed the `miniforge` distribution for your machine (MacOS with arm64/ apple silicon
215+
or x86_64/ intel or Windows x86_64). Also, download the
216+
[latest `vuegen_gui` bundle](https://github.com/Multiomics-Analytics-Group/vuegen/releases/latest)
206217
from the releases page according to your operating system.
207218

219+
You can create a new conda environment with Python 3.12 and the `jupyter` and `vuegen` package:
220+
221+
```bash
222+
conda create -n vuegen_gui -c conda-forge python=3.12 jupyter vuegen
223+
```
224+
225+
Then, activate the environment:
226+
208227
```bash
209-
conda create -n vuegen_gui -c conda-forge python=3.12 jupyter
210-
# in case you have errors, install vuegen addtionally
211228
conda activate vuegen_gui
212-
pip install vuegen
213-
# list all conda environments to find the location of the environment
214-
conda info -e # find environment location
215229
```
216230

217-
Find the vuegen_gui path for your local `user`.
231+
> [!WARNING]
232+
> If you have errors with the `vuegen` package, you can install it separately using pip,
233+
as explained in the installation section.
234+
235+
Now, you can list all conda environments to find the location of the `vuegen_gui` environment:
236+
237+
```bash
238+
conda info -e
239+
```
218240

219-
On **MacOS** you need to add a `bin` to the path:
241+
On **MacOS**, you need to add a `bin` to the path:
220242

221243
```bash
222244
/Users/user/miniforge3/envs/vuegen_gui/bin
223245
```
224246

225-
On **Windows** you can use the path as displayed by `conda info -e`:
226-
227-
> Note: On Windows a base installation of miniforge with `jupyter` might work as well as
228-
> the app can see your entire Path which is not the case on MacOS.
247+
On **Windows**, you can use the path as displayed by `conda info -e`:
229248

230249
```bash
231250
C:\Users\user\miniforge3\envs\vuegen_gui
232251
```
233252

253+
> [!NOTE]
254+
> On Windows a base installation of miniforge with `jupyter` might work because
255+
the app can see your entire Path, which is not the case on MacOS.
256+
234257
More information regarding the app and builds can be found in the
235-
[GUI README](https://github.com/Multiomics-Analytics-Group/vuegen/blob/main/gui/README.md).
258+
[GUI README][gui-readme].
236259

237260
## Case studies
238261

239-
VueGen’s functionality is demonstrated through two case studies:
262+
VueGen’s functionality is demonstrated through various case studies:
240263

241264
### 1. Predefined Directory
242265

@@ -376,6 +399,9 @@ We appreciate your feedback! If you have any comments, suggestions, or run into
376399
[emp]: https://earthmicrobiome.org/
377400
[emp-config]: https://github.com/Multiomics-Analytics-Group/vuegen/blob/main/docs/example_config_files/Earth_microbiome_vuegen_demo_notebook_config
378401
[emp-dir]: https://github.com/Multiomics-Analytics-Group/vuegen/blob/main/docs/example_data/Earth_microbiome_vuegen_demo_notebook
402+
[conda-download]: https://conda-forge.org/download/
403+
[gui-readme]: https://github.com/Multiomics-Analytics-Group/vuegen/blob/main/gui/README.md
404+
[pyinstaller]: https://pyinstaller.org/
379405
[st-cloud]: https://streamlit.io/cloud
380406
[stlite_repo]: https://github.com/whitphx/stlite
381407
[st-forum-exe]: https://discuss.streamlit.io/t/streamlit-deployment-as-an-executable-file-exe-for-windows-macos-and-android/6812
505 KB
Loading

docs/index.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@ sections_readme/execution
1717
sections_readme/gui
1818
sections_readme/case_studies
1919
sections_readme/web_app_deploy
20-
sections_readme/contributing
2120
sections_readme/citation
22-
sections_readme/credits
23-
sections_readme/contact
2421
```
2522

2623
```{toctree}
@@ -44,9 +41,18 @@ vuegen_Chatbot_configfile
4441
reference/vuegen
4542
```
4643

44+
```{toctree}
45+
:maxdepth: 1
46+
:caption: Project Support
47+
48+
sections_readme/contributing
49+
sections_readme/credits
50+
sections_readme/contact
51+
```
52+
4753
```{toctree}
4854
:maxdepth: 1
49-
:caption: MISC:
55+
:caption: Extra Materials
5056
:hidden:
5157
5258
README.md

gui/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Windows and macOS specific options:
6363
6464
## Quarto notebook execution
6565
66-
- add python exe to bundle as suggested [on stackoverflow](https://stackoverflow.com/a/72639099/9684872) [not this way at least]
66+
- Add python exe to bundle as suggested [on stackoverflow](https://stackoverflow.com/a/72639099/9684872) [not this way at least]
6767
6868
## test shipping a python virtual environment with vuegen installed
6969
@@ -156,14 +156,14 @@ python -m venv .venv --copies --clear --prompt vuegenvenv
156156
On windows the default Paths is available in the application. This would allow to use
157157
the default python installation and a global quarto installation.
158158

159-
to test, one could
159+
To test, one could
160160

161-
- use global quarto and python installations can be used
162-
- add a deactivate button into app for bundled quarto (so path is not set)
161+
- Use global quarto and python installations can be used
162+
- Add a deactivate button into app for bundled quarto (so path is not set)
163163

164164
### On MacOs
165165

166-
- on MacOs the default paths are not set, but only the minimal one `/usr/bin:/bin:/usr/sbin:/sbin`,
166+
- On MacOs the default paths are not set, but only the minimal one `/usr/bin:/bin:/usr/sbin:/sbin`,
167167
see pyinstaller hints
168168
[on path manipulations](https://pyinstaller.org/en/stable/common-issues-and-pitfalls.html#macos)
169-
- requires to add path to python environment manually
169+
- Requires to add path to python environment manually

0 commit comments

Comments
 (0)