Changes for page Extension tvb-ext-xircuits
Last modified by paulapopa on 2023/03/24 08:17
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 11 removed)
Details
- Page properties
-
- Content
-
... ... @@ -2,12 +2,15 @@ 2 2 3 3 Release on Pypi: [[https:~~/~~/pypi.org/project/tvb-ext-xircuits/>>https://pypi.org/project/tvb-ext-xircuits/]] 4 4 5 -== Jupyter Lab Extension for building and executing TVB Workflowson EBRAINS==5 +== Jupyter Lab Extension for building and executing EBRAINS Workflows == 6 6 7 7 == Purpose == 8 8 9 -This is a Jupyter Lab extension th at offersgraphical support forTVB workflows. Itisalready available in the EBRAINS Lab and it allows users toconfigure andexecute TVBsimulationsdirectlyfromaGUI, while drastically reducing the complexity of configuring them inside a Jupyter Lab notebook.9 +This is a Jupyter Lab extension with the role of offering graphical support for EBRAINS workflows. It allows users to utilize all the TVB and EBRAINS capabilities, while drastically reducing the complexity of configuring them inside a Jupyter Lab environment. 10 10 11 +**Note: **This extension is still a WIP (Work In Progress). 12 + 13 + 11 11 == Acknowledgements == 12 12 13 13 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. ... ... @@ -14,7 +14,7 @@ 14 14 15 15 == Installation == 16 16 17 -The extension can beinstalled using the official PyPi distribution ([[https:~~/~~/pypi.org/project/tvb-ext-xircuits/>>https://pypi.org/project/tvb-ext-xircuits/]]):20 +The extension can installed using the official PyPi distribution ([[https:~~/~~/pypi.org/project/tvb-ext-xircuits/>>https://pypi.org/project/tvb-ext-xircuits/]]): 18 18 19 19 (% class="box" %) 20 20 ((( ... ... @@ -25,94 +25,44 @@ 25 25 26 26 [[image:side.png]] 27 27 31 + 28 28 == **Usage** == 29 29 30 30 === **Step 1. Create a new Xircuits workflow** === 31 31 32 - Fromthe Jupyter Lab launcher,clickonhe**XircuitsFile**icon,asin thescreenshotbelow.36 +Using the Jupyter Lab launcher. 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. 33 33 34 -[[image:newxircs.png]] 35 - 36 -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. 37 - 38 -[[image:newfile.png]] 39 - 40 -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. 41 - 42 42 === **Step 2. Drag components into the workflow area** === 43 43 44 -Open the components tray, fromtheleft-sidebariconhighlightedbelow.40 +Open the components tray, browse through the components, select the one you wish to use and drag it into the workflow area. 45 45 46 -[[image:tray.png]] 47 - 48 -Now, you can browse through the components, select the one you wish to use, then drag and drop it into the workflow area. 49 - 50 -[[image:components.png]] 51 - 52 52 === **Step 3. Configure the components** === 53 53 54 -The components that are provided in this extensions are configurable, meaning you can set some parameters on almost every component. Someofthe parametersareliterals,whilesomeparametersareresultsofher components.44 +The components that are provided in this extensions are configurable, meaning you can set some parameters on almost every component. For this you need to open the //General// tab from the components tray and drag the appropriate //literal//: float, int, string, dict, etc. 55 55 56 -In case of primitives you need to open the //General// tab from the components tray and drag the appropriate //literal//: float, int, string, dict, etc. 57 - 58 -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). 59 - 60 -[[image:diagr.png]] 61 - 62 62 === **Step 4. Make connections** === 63 63 64 -After dragging all your desired components /literalsin the workflow area, it's time to connect the components.48 +After dragging all your desired components in the workflow area, it's time to connect the components. 65 65 66 -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.50 +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. 67 67 68 -[[image:diagram.png]] 69 - 70 70 === **Step 5. Run the workflow** === 71 71 72 -After connecting everything, you need to run the workflow to actually see its results. 54 +After connecting everything, you need to run the workflow to actually see its result. For this you can click on the Run button (▶), which will also implicitly compile the workflow. 73 73 74 -There are 2 ways to run the workflow in EBRAINS Lab: 75 - 76 -~1. Locally: 77 - 78 -* 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. 79 - 80 -[[image:run.png]] 81 - 82 - 83 -2. Remotely on HPC (only if you have access to HPC resources) 84 - 85 -* First choose the __Remote Run__ in the select box and then click the Run button (▶), which will also implicitly compile the workflow. 86 - 87 -[[image:remote.png]] 88 - 89 -* A dialog will open to request the HPC connection details: 90 -** which __HPC Site__ to use 91 -** the name of the __HPC Project/Account__ you have access to 92 -** 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. 93 -** 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. 94 - 95 -[[image:rem.png]] 96 - 97 -* 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: 98 - 99 -[[image:uni.png]] 100 - 101 - 102 102 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. 103 103 104 -[[image:out.png]] 105 - 106 106 === **Step 6. Share your work*** === 107 107 108 108 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. 109 109 110 110 63 + 111 111 == Custom functionalities == 112 112 113 113 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. 114 114 115 -=== 1. Configure TVB models using the Phase Plane widget === 68 +=== 1. Configure TVB models using the Phase Plane widget. === 116 116 117 117 This functionality was added to make it easier for users to provide the correct parameters to TVB models, using the Phase Plane widget. 118 118 ... ... @@ -134,23 +134,6 @@ 134 134 [[image:image-20221116130425-1.png||height="900" width="1069"]] 135 135 136 136 137 -=== 2. Visualize time series resulted from simulations === 138 - 139 - 140 -[[image:view.png]] 141 - 142 -(% class="wikigeneratedid" %) 143 -=== === 144 - 145 -[[image:view2.png]] 146 - 147 - 148 - 149 -[[image:view3.png]] 150 - 151 -(% class="wikigeneratedid" %) 152 -== == 153 - 154 154 == Workflow examples == 155 155 156 156 (((
- diag.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.paulapopa - Size
-
... ... @@ -1,1 +1,0 @@ 1 -551.3 KB - Content
- diagr.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.paulapopa - Size
-
... ... @@ -1,1 +1,0 @@ 1 -590.0 KB - Content
- diagram.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.paulapopa - Size
-
... ... @@ -1,1 +1,0 @@ 1 -585.9 KB - Content
- out.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.paulapopa - Size
-
... ... @@ -1,1 +1,0 @@ 1 -662.7 KB - Content
- rem.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.paulapopa - Size
-
... ... @@ -1,1 +1,0 @@ 1 -588.9 KB - Content
- remote.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.paulapopa - Size
-
... ... @@ -1,1 +1,0 @@ 1 -456.4 KB - Content
- run.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.paulapopa - Size
-
... ... @@ -1,1 +1,0 @@ 1 -591.0 KB - Content
- uni.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.paulapopa - Size
-
... ... @@ -1,1 +1,0 @@ 1 -608.5 KB - Content
- view.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.paulapopa - Size
-
... ... @@ -1,1 +1,0 @@ 1 -624.7 KB - Content
- view2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.paulapopa - Size
-
... ... @@ -1,1 +1,0 @@ 1 -736.7 KB - Content
- view3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.paulapopa - Size
-
... ... @@ -1,1 +1,0 @@ 1 -761.1 KB - Content