Attention: The EBRAINS IDM/IAM will be down tomorrow, Wednesday 17nd December, from 17:00 CET for up to 30 minutes for maintenance. Please be aware that this will affect all services that require login or authentication.


Last modified by teodoramisan on 2025/12/15 16:59

From version 59.1
edited by teodoramisan
on 2025/12/15 16:54
Change comment: There is no comment for this version
To version 54.1
edited by paulapopa
on 2023/03/08 17:06
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.teodoramisan
1 +XWiki.paulapopa
Content
... ... @@ -2,8 +2,6 @@
2 2  
3 3  Release on Pypi: [[https:~~/~~/pypi.org/project/tvb-ext-xircuits/>>https://pypi.org/project/tvb-ext-xircuits/]]
4 4  
5 -This extension is also installed already in EBRAINS lab, where it can be tested directly.
6 -
7 7  == Jupyter Lab Extension for building and executing TVB Workflows on EBRAINS ==
8 8  
9 9  == Purpose ==
... ... @@ -10,10 +10,6 @@
10 10  
11 11  This is a Jupyter Lab extension that offers graphical support for TVB workflows. It is already available in the EBRAINS Lab and it allows users to configure and execute TVB simulations directly from a GUI, while drastically reducing the complexity of configuring them inside a Jupyter Lab notebook.
12 12  
13 -{{html}}
14 -<iframe width="1200" height="450" src="https://www.youtube.com/embed/-cjZOsU6PBg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
15 -{{/html}}
16 -
17 17  == Acknowledgements ==
18 18  
19 19  This extension is build on top of the [[Xircuits Jupyter extension>>https://xircuits.io/]], but it also comes with custom functionalities, specifically designed for TVB and EBRAINS. These functionalities are detailed in a section below.
... ... @@ -37,11 +37,11 @@
37 37  
38 38  From the Jupyter Lab launcher, click on the **Xircuits File** icon, as in the screenshot below.
39 39  
40 -[[image:xircuits-file-icon.png||alt="newxircs.png"]]
34 +[[image:newxircs.png]]
41 41  
42 42  A new file with the .xircuits extension will be generated under your current working directory. This is where you can start building the workflow diagram interactively.
43 43  
44 -[[image:xircuits-generated-file.png||alt="newfile.png"]]
38 +[[image:newfile.png]]
45 45  
46 46  You will notice that 2 components are already placed inside the workflow: the __Start__ and the __Finish__ components. They cannot be modified or deleted, and they represent the starting and finishing point of the workflow.
47 47  
... ... @@ -49,11 +49,11 @@
49 49  
50 50  Open the components tray, from the left-side bar icon highlighted below.
51 51  
52 -[[image:xircuits-extension-icon.png||alt="tray.png"]]
46 +[[image:tray.png]]
53 53  
54 54  Now, you can browse through the components, select the one you wish to use, then drag and drop it into the workflow area.
55 55  
56 -[[image:xircuits-component-browser.png||alt="components.png"]]
50 +[[image:components.png]]
57 57  
58 58  === **Step 3. Configure the components** ===
59 59  
... ... @@ -63,7 +63,7 @@
63 63  
64 64  The parameters need to be linked to the inputs of the component by dragging and dropping a connection from the output port of a literal/component towards the corresponding input port of the other component (e.g. the gray connections in the screenshot below).
65 65  
66 -[[image:configure-components.png||alt="diagr.png"]]
60 +[[image:diagr.png]]
67 67  
68 68  === **Step 4. Make connections** ===
69 69  
... ... @@ -71,7 +71,7 @@
71 71  
72 72  First, link the __Start__ node to the first component of your workflow. Then make the connections between all your components. The last component should be linked to the __Finish__ node, to indicate the end of your workflow (e.g. the blue connections in the screenshot below). These connections will dictate the order of execution of the components in your workflow.
73 73  
74 -[[image:components-connection.png||alt="diagram.png"]]
68 +[[image:diagram.png]]
75 75  
76 76  === **Step 5. Run the workflow** ===
77 77  
... ... @@ -83,7 +83,7 @@
83 83  
84 84  * For this you can click on the Run button (▶), which will also implicitly compile the workflow. Make sure that __Local Run__ is selected near the Run button.
85 85  
86 -[[image:local-run-button.png||alt="run.png"]]
80 +[[image:run.png]]
87 87  
88 88  
89 89  2. Remotely on HPC (only if you have access to HPC resources)
... ... @@ -90,7 +90,7 @@
90 90  
91 91  * First choose the __Remote Run__ in the select box and then click the Run button (▶), which will also implicitly compile the workflow.
92 92  
93 -[[image:remote-run-button.png||alt="remote.png"]]
87 +[[image:remote.png]]
94 94  
95 95  * A dialog will open to request the HPC connection details:
96 96  ** which __HPC Site__ to use
... ... @@ -98,21 +98,22 @@
98 98  ** one checkbox to choose whether you want the __HPC Monitoring__ to be opened up automatically (via tvb-ext-unicore GUI). This can also be opened up manually using the __Monitor HPC__ button or the __U__ icon from the left side-bar.
99 99  ** one checkbox to choose whether you want the results to be __staged out__ automatically or not. If checked, the workflow waits for the HPC jobs to finish and then performs the stage out. If unchecked, the results can be manually downloaded later on by using the GUI of the tvb-ext-unicore.
100 100  
101 -[[image:remote-run-configuration.png||alt="rem.png"]]
95 +[[image:rem.png]]
102 102  
103 103  * The HPC monitoring is done via the GUI of tvb-ext-unicore which is a separate package we have documented under this Wiki. But it can be nicely used together with tvb-ext-xircuits:
104 104  
105 -[[image:hpc-monitoring.png||alt="uni.png"]]
99 +[[image:uni.png]]
106 106  
107 107  
108 108  After clicking on Run, a new Jupyter Output window should appear in the bottom of your Jupyter Lab environment. Here you will see the output of your workflow, such as logs, static plots, etc.
109 109  
110 -[[image:jupyter-output-window.png||alt="out.png"]]
104 +[[image:out.png]]
111 111  
112 112  === **Step 6. Share your work*** ===
113 113  
114 114  This step is, of course, optional, but it is worth mentioning that sharing your workflows with others is extremely easy. By just saving and sharing your workflow (*.xircuits) file, anyone can access the entire workflow, see the exact connections that you made and receive the same configuration for the components.
115 115  
110 +
116 116  == Custom functionalities ==
117 117  
118 118  As mentioned before, besides all the core functionalities provided by Xircuits, some other functionalities were added to better suit the needs of the EBRAINS users.
... ... @@ -141,19 +141,20 @@
141 141  
142 142  === 2. Visualize time series resulted from simulations ===
143 143  
144 -This functionality is available for the **StoreResultsToDrive** component. Right click on the **StoreResultsToDrive** and select the **Open Viewer** option:
145 145  
146 146  [[image:view.png]]
147 147  
148 -A new Jupyter tab should open, which contains a read-only Jupyter notebook. After running the cell, you should be able to see the **TimeSeriesBrowser **widget with the //**Collab**// and //**folder**// you have chosen for the **StoreResultsToDrive **component already loaded.
142 +(% class="wikigeneratedid" %)
143 +=== ===
149 149  
150 150  [[image:view2.png]]
151 151  
152 -Next, you should choose which time series file to display and click the **View time series button**.
153 153  
148 +
154 154  [[image:view3.png]]
155 155  
156 -== ==
151 +(% class="wikigeneratedid" %)
152 +== ==
157 157  
158 158  == Workflow examples ==
159 159  
... ... @@ -164,7 +164,7 @@
164 164  Contains all TVB components necessary for running a TVB simulation (i.e. connectivity, coupling, model, integrator, monitor, simulator).
165 165  
166 166  {{html}}
167 -<iframe width="1280" height="720" src="https://www.youtube.com/embed/bmqPlIJsWLk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
163 +<iframe src="https://drive.google.com/file/d/14sVjWXmtfZB-Zt7i3MA26-MiNWwv3jZI/preview" width="1280" height="720" allow="autoplay"></iframe>
168 168  {{/html}}
169 169  
170 170  
... ... @@ -173,7 +173,7 @@
173 173  Same workflow as before, but the parameter for the model used in simulation are set using the PhasePlaneWidget.
174 174  
175 175  {{html}}
176 -<iframe width="1280" height="720" src="https://www.youtube.com/embed/jhGfYul1z9k" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
172 +<iframe src="https://drive.google.com/file/d/1Puoi4-Ej4BhVwtdRzciPD_qNKMF0HvGT/preview" width="1280" height="720" allow="autoplay"></iframe>
177 177  {{/html}}
178 178  
179 179  
... ... @@ -182,13 +182,13 @@
182 182  A simulation workflow where **siibra **is used to retrieve a connectivity from the EBRAINS KG. That connectivity is fed into a TVB Simulator, where the rest of the parameters (coupling, model, etc.) are set to default values.
183 183  
184 184  {{html}}
185 -<iframe width="1280" height="720" src="https://www.youtube.com/embed/hnqTpFGCYMg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
181 +<iframe src="https://drive.google.com/file/d/1bakH6ZD96eMHnYSw1aasF_gNXt8sBS7D/preview" width="1280" height="720" allow="autoplay"></iframe>
186 186  {{/html}}
187 187  
188 188  
189 -=== 4. Run a workflow as an HPB job ===
185 +=== 4. Run a workflow inside an HPB job ===
190 190  
191 191  A workflow simulation which is run remotely, by submitting a job to an HPC site and getting back the results (TimeSeries object).
192 192  
193 -{{html}}<iframe width="1280" height="720" src="https://www.youtube.com/embed/M6rZClFgRrM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>{{/html}}
189 +{{html}}<iframe src="https://drive.google.com/file/d/1rvcj_9lGtR069iXlL3Rm1czMNdA3qmGM/preview" width="1280" height="720" allow="autoplay"></iframe>{{/html}}
194 194  
components-connection.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -261.7 KB
Content
configure-components.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -260.5 KB
Content
hpc-monitoring.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -220.1 KB
Content
jupyter-output-window.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -270.1 KB
Content
local-run-button.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -262.3 KB
Content
remote-run-button.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -215.3 KB
Content
remote-run-configuration.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -229.1 KB
Content
xircuits-component-browser.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -133.8 KB
Content
xircuits-extension-icon.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -106.9 KB
Content
xircuits-file-icon.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -122.8 KB
Content
xircuits-generated-file.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.teodoramisan
Size
... ... @@ -1,1 +1,0 @@
1 -106.4 KB
Content
Public

TVB Widgets