Skip to content
Snippets Groups Projects
Commit 79d62a64 authored by George Marchment's avatar George Marchment
Browse files

Update readme -> give examples

parent 649d36b0
No related branches found
No related tags found
No related merge requests found
Pipeline #13145 passed with stage
in 43 seconds
......@@ -5,9 +5,9 @@
## Description
This repository contains the software **BioFlow-Insight** written in Python. **BioFlow-Insight** automatically analyses the code of Nextflow workflows and extracts useful information, particularly in the form of visual graphs depicting the workflow's structure and representing its different steps.
This repository contains **BioFlow-Insight**, a Python software tool. **BioFlow-Insight** automatically analyses Nextflow workflow code, extracting useful information, notably in the form of visual graphs illustrating the workflow's structure and its various steps.
**BioFlow-Insight** is easily installable as a Python package (see here). It is also accesible as a web service (see [here](https://bioflow-insight.pasteur.cloud/)).
**BioFlow-Insight** is easily installable as a Python package (see here). It is also accessible as a web service (see [here](https://bioflow-insight.pasteur.cloud/)).
<!--The outputs of **BioFlow-Insight** are saved in the results folder.-->
......@@ -28,7 +28,7 @@ This repository contains the software **BioFlow-Insight** written in Python. **B
### Using from source
The python packages needed are described in the `requirements.txt` file.
BioFlow-Insight's dependencies are given in the `requirements.txt` file.
> Note : To install graphviz, in linux you might need to execute this command `sudo apt install graphviz`
......@@ -57,7 +57,7 @@ The 3 different graphs generated by **BioFlow-Insight** are :
2. The second graph represents operations without any inputs, along with processes and their dependencies. This graph, called the *dependency graph without branch operations*, is obtained by removing the branch operations and linking the remaining elements if a path exists between them in the original specification graph.
3. The final graph, called the *process dependency graph*, represents only processes and their dependencies. Similar to the latter, this graph is constructed by removing all operations, leaving only processes, and linking them based on their dependencies in the original specification graph.
> To examplify **BioFlow-Insight** utilisation, let's use the rnaseq-nf workflow proposed by Nextflow (its source code can be found [here](https://github.com/nextflow-io/rnaseq-nf/tree/8253a586cc5a9679d37544ac54f72167cced324b)).
> To examplify **BioFlow-Insight** utilisation, let's use the rnaseq-nf workflow proposed by Nextflow (its source code can be found [here](https://github.com/nextflow-io/rnaseq-nf/tree/8253a586cc5a9679d37544ac54f72167cced324b)). Examples of the output are given below.
### Input
......@@ -87,7 +87,7 @@ w.generate_all_graphs(render_graphs = True, processes_2_remove=[])
### Output
After the workflow has been analysed and the graphs genrated, the outputs are saved in the `results` folder.
After the workflow has been analysed and the graphs generated, the outputs are saved in the `results` folder.
The structure of this folder is organised as such :
......@@ -134,8 +134,8 @@ The structure of this folder is organised as such :
└── ro-crate-metadata-rnaseq-nf.json
```
* The `ro-crate-metadata-rnaseq-nf.json` describes the workflow following an extended Workflow [RO-Crate](https://www.researchobject.org/ro-crate/) profile which can be found [here]() (TODO).
* the `debug` folder contains different intermediary files which are ussefull for debugging
* The `ro-crate-metadata-rnaseq-nf.json` describes the workflow following an extended Workflow [RO-Crate](https://www.researchobject.org/ro-crate/) profile. The description of this extended profile can be found [here]() (TODO)
* the `debug` folder contains different intermediary files which are ussefull for debugging
* the `graphs` folder contains the different graphs which are generated. For each of the 3 graphs described above, **BioFlow-Insight** generates :
* A `json` file which describes the graph using **BioFlow-Insight** specific format
* A `json` file which describes the metadata which are extracted from the graph
......@@ -143,6 +143,12 @@ The structure of this folder is organised as such :
> For each graph **BioFlow-Insight** generates it in the `mermaid` format and the dot `dot` format. If the `render_graphs` option is set to `True`, the `png` image is also generated.
These are the graphs which are generated by **BioFlow-Insight**, they are rendered using Graphviz (png).
| <img align="center" src="img/specification_graph.png" > | <img align="center" src="img/dependency_graph_wo_branch_operations.png"> | <img align="center" src="img/process_dependency_graph.png" > |
|:-:|:-:|---|
| Specification Graph | Dependency Graph without branch operations | Process Dependency Graph |
## License
......
img/dependency_graph_wo_branch_operations.png

67.4 KiB

img/process_dependency_graph.png

46.3 KiB

img/specification_graph.png

72.7 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment