Kozo Nishida - Automating biological network visualization with Jupyter Notebook | JupyterCon 2020

JupyterCon · Intermediate ·📄 Research Papers Explained ·5y ago

Key Takeaways

The video demonstrates how to automate biological network visualization using Jupyter Notebook and Cytoscape, with tools like Pi4SCE and RSI3, and introduces Jupyter Bridge for remote control of local Cytoscape instances.

Full Transcript

hi i'm kozo these slides and speaker notes were created by me but amazon poly matthew will automatically read it in this talk i will show that automation of biological network visualization can be achieved by leveraging jupiter notebook this is the outline of this talk first i give you an overview of biological network visualization next i will explain why it would be nice to automate the visualization with jupiter notebook next i will show you a demo of automation using jupiter notebook finally i will explain what is lacking in this jupyter notebook application and tell you the future prospects of it this table is an example data for a network nodes a row represents a biomolecule node and a column represents some attribute information of a biomolecule in addition to the node data there is also edge data that represents their relationships biological network visualization is to create a network diagram like the figure on the right from the data on the left in the network figure visual effects are given according to the cell values in the table and some biological knowledge can be obtained from the network visualization site escape is the most commonly used software for biological network visualization site escape is a desktop application that imports and visualizes the data described in the previous slide site escape is written in java and runs on windows mac os and linux site escape is a popular software but site escape itself is not enough for the real world workflow in order to create site escape input data it is necessary to acquire data from multiple data sources and perform pre-processing outside site escape since site escape is a desktop application we need to perform some manual operation with a graphical user interface we may also do some analysis after loading the data into site escape site escape has some analytic capabilities but that may not be enough after manually manipulating the functions that site escape does not have we can finally obtain publishing quality images in fact site escape has a mechanism like a google chrome extension to supplement the features that cite escape does not have it's called the site escape app the scope of its functionality is not necessarily in this red frame but the app makes it easy to perform some workflow with features that cite escape does not have the site escape app like side escape must be implemented in java however there are still issues with the site escape app first of all it's difficult to implement the site escape app must be implemented in java but java is not the primary language for bio researchers the primary language for bio researchers is python or r second there are a few cytoscape apps that will run the entire workflow for this reason some manual work is required after all this is a problem in terms of research reproducibility so i use jupiter notebook and python or r to promote site escape workflow automation site escape is a desktop application but it also becomes a rest server as soon as it starts by sending rest requests we can programmatically perform site escape operations that would normally be done in the graphical user interface by utilizing this mechanism the workflow can be executed automatically in python or r python and r wrappers for the rest requests are released as packages called pi 4 side escape and rsi 3 respectively i'm running pi 4 side escape or rsi 3 on jupiter notebook to improve the workflow reproducibility here i show you a basic data visualization notebook as a demo of automation you can reproduce this demo with this notebook and side escape first launch site escape and then open the notebook in jupyter this notebook imports a protein protein interaction network and gives visual effects according to the quantitative value in addition the notebook experiments with different network layouts and select protein nodes with quantitative values above a certain value and finally expand the selection with the select first neighbors function you might think that this automation is too easy to use however the site escape app and complex workflows are actually a collection of these basic operations getting in the habit of automating usual workflows with ease jupiter notebook not only improves the reproducibility of your research but also gives you ideas for packaging new feature modules i showed an example in good points of automation with jupiter notebook and side escape in fact the combination of jupiter and side escape is not always a good thing there are some side escape features that are not yet provided by the rest api and the environmental setup is a bit difficult for beginners there are several ways to set up a combination of jupiter and side escape one is to install everything in a local environment this is a bit difficult for users as i mentioned before the next one is to install everything in a remote environment this is also a bit problematic this is because site escape does not have a headless mode and requires the setup of a virtual desktop service in a remote environment so a moderate type has been developed by barry demchik the figure on the right shows the combination of remote jupiter and local side escape this is called jupiter bridge it is difficult to open the rest server of a desktop application to the public and allow access to it from the outside so the jupiter bridge replaced the instructions of the pi 4 side escape rest request from remote environment to a request from a local web browser by using the jupiter bridge we can control the local side escape from google collab or binder as follows this is the remote google collab on the right is the local side escape jupiter bridge runs in this cell after running jupiter bridge we can communicate with the local side escape from the remote google collab in this way so far i've been working with side escape outside of jupiter but ideally we should work with side escape not only outside of jupiter notebook but inside of it because there are some side escape features that are not yet provided by the rest api to achieve this i would like to refer to a project called slicer jupiter slicer jupiter is a collection of jupiter kernel and widgets for 3d slicer 3d slicer is a software for visualization and medical image computing 3d slicer is a cross-platform desktop application written in c plus with slicer jupiter we can not only automate the operation of slicer and jupiter but also we can operate slicer interactively in jupiter i think that side escape can use the same approach as 3d slicer to strengthen its collaboration with jupiter here's a summary of what i want to convey jupiter can be used to complement desktop application for biological network visualization it's important for the research reproducibility and jupiter can be used to replace what was previously done in java with python or r this is important for rapid research and development there are multiple local and remote software combinations for working with jupiter notebook and desktop application there is precedent to follow slicer 3d project is developing kernel and widgets for their desktop application to improve the jupiter notebook environment i would like to thank these people this automation project is supported by google season of docs last year in fact at first sight escape automation was more advanced than r than python alex and christina helped with the season of duck's work guitar berry has developed the pi 4 side escape jupiter bridge and the early site escape rest api pi 4 side escape is a port of rsi3's api to python so that it can be used with exactly same usability so i ported what i did first in r to python jorge developed by two side escape it's the predecessor of pi4 side escape k also developed the cytoskay pressed api and pi 2 side escape i would like to thank jupiter and those who provide the notebook service collab and binder i would also like to thank pi data i organized bi data in osaka japan and i got slicers information from the pi data network please refer these papers for more information on site escape automation i would like to thank you all for your attention today

Original Description

Brief Summary Cytoscape is the de facto standard software for biological network visualization. Cytoscape is mainly used as stand-alone desktop software. On the other hand, it has a REST server function and can be controlled with HTTP requests. In this talk, I will introduce how to use Cytoscape and Jupyter Notebook together as a biological visualization workflow automation system. Outline Introductions to Cytoscape and biological network visualization What is Cytoscape? Cytoscape is a highly customizable network visualization software. The styling feature according to the values assigned to nodes and edges is particularly useful to create figure for research paper. Biological network visualization It is a network in which molecules are represented by nodes and interactions between molecules are represented by edges. The nodes and edges have biological quantitative values. In the visualization workflow, various software and data are used to give the quantitative values to the network. An implementation of such a workflow for Cytoscape is called an “App”. Creating a Cytoscape App App has been written in Java mainly for GUI operation. Motivations for the automation of the biological network visualization workflow Why automation? GUI operation is manual and time consuming. Cytoscape has REST service and can be controlled with HTTP requests. By using REST service, the workflow can be automated with Python or R instead of Java. Automation of the operation improves the research reproducibility. Why Jupyter Notebook? Writing workflows in Jupyter Notebook improves their reproducibility. With Binder or Google Colab, anyone can learn the workflow interactively and check the reproducibility. The workflow system that combines Jupyter Notebook and Cytoscape RCy3 and py4cytoscape: REST service wrapper library for compatibility with Python and R packages Demonstrations Central thesis Biological network visualization workflow can be automated and reproducible with Jupyter Notebook
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from JupyterCon · JupyterCon · 0 of 60

← Previous Next →
1 Interview   Joshua Patterson NVIDIA
Interview Joshua Patterson NVIDIA
JupyterCon
2 Dave Stuart - Jupyter as an Enterprise “Do It Yourself” (DIY) Analytic Platform | JupyterCon 2020
Dave Stuart - Jupyter as an Enterprise “Do It Yourself” (DIY) Analytic Platform | JupyterCon 2020
JupyterCon
3 Jeffrey Mew - Supercharge your Data Science workflow | JupyterCon 2020
Jeffrey Mew - Supercharge your Data Science workflow | JupyterCon 2020
JupyterCon
4 Michelle Ufford- Supercharging SQL Users with Jupyter Notebooks | JupyterCon 2020
Michelle Ufford- Supercharging SQL Users with Jupyter Notebooks | JupyterCon 2020
JupyterCon
5 Alan Yu - What we learned from introducing Jupyter Notebooks to the SQL community  | JupyterCon 2020
Alan Yu - What we learned from introducing Jupyter Notebooks to the SQL community | JupyterCon 2020
JupyterCon
6 Chris Holdgraf- 2i2c: sustaining open source through hosted Jupyter infrastructure | JupyterCon 2020
Chris Holdgraf- 2i2c: sustaining open source through hosted Jupyter infrastructure | JupyterCon 2020
JupyterCon
7 Yiwen Li - Intro to Elyra - an AI centric extension for JupyterLab | JupyterCon 2020
Yiwen Li - Intro to Elyra - an AI centric extension for JupyterLab | JupyterCon 2020
JupyterCon
8 Luciano Resende - What's new on Elyra - A set of AI centric JupyterLab extensions | JupyterCon 2020
Luciano Resende - What's new on Elyra - A set of AI centric JupyterLab extensions | JupyterCon 2020
JupyterCon
9 Alan Chin - Explore and Extend AI Pipeline Runtimes with Elyra and JupyterLab | JupyterCon 2020
Alan Chin - Explore and Extend AI Pipeline Runtimes with Elyra and JupyterLab | JupyterCon 2020
JupyterCon
10 Eduardo Blancas- Streamline your Data Science projects with Ploomber | JupyterCon 2020
Eduardo Blancas- Streamline your Data Science projects with Ploomber | JupyterCon 2020
JupyterCon
11 Thorin Tabor - Democratizing the accessibility of computational workflows | JupyterCon 2020
Thorin Tabor - Democratizing the accessibility of computational workflows | JupyterCon 2020
JupyterCon
12 Simon Willison- Using Datasette with Jupyter to publish your data | JupyterCon 2020
Simon Willison- Using Datasette with Jupyter to publish your data | JupyterCon 2020
JupyterCon
13 Brendan O'Brien - Using Qri (“query”) to fetch, query, combine and publish datasets.|JupyterCon 2020
Brendan O'Brien - Using Qri (“query”) to fetch, query, combine and publish datasets.|JupyterCon 2020
JupyterCon
14 Georgiana Dolocan - Putting the JupyterHub puzzle pieces together | JupyterCon 2020
Georgiana Dolocan - Putting the JupyterHub puzzle pieces together | JupyterCon 2020
JupyterCon
15 Yuvi Panda- Running nonjupyter applications on JupyterHub with jupyter-server-proxy| JupyterCon 2020
Yuvi Panda- Running nonjupyter applications on JupyterHub with jupyter-server-proxy| JupyterCon 2020
JupyterCon
16 Richard Wagner- The Streetwise Guide to JupyterHub Security | JupyterCon 2020
Richard Wagner- The Streetwise Guide to JupyterHub Security | JupyterCon 2020
JupyterCon
17 TamNguyen- Handling Custom Jupyter Data Sources | JupyterCon 2020
TamNguyen- Handling Custom Jupyter Data Sources | JupyterCon 2020
JupyterCon
18 Immanuel Bayer- ipyannotator - the infinitely hackable annotation framework  | JupyterCon 2020
Immanuel Bayer- ipyannotator - the infinitely hackable annotation framework | JupyterCon 2020
JupyterCon
19 Rebecca Kelly- A shared Python, R and Q  Jupyter Notebook - A Quant Sandbox Dream |JupyterCon 2020
Rebecca Kelly- A shared Python, R and Q Jupyter Notebook - A Quant Sandbox Dream |JupyterCon 2020
JupyterCon
20 Itay Dafna - Leap of faith: Transitioning from Excel to Jupyter-based applications | JupyterCon 2020
Itay Dafna - Leap of faith: Transitioning from Excel to Jupyter-based applications | JupyterCon 2020
JupyterCon
21 Damián Avila - Using the Jupyterverse to power MADS | JupyterCon 2020
Damián Avila - Using the Jupyterverse to power MADS | JupyterCon 2020
JupyterCon
22 Chiin Rui Tan- From Zero to Hero | JupyterCon 2020
Chiin Rui Tan- From Zero to Hero | JupyterCon 2020
JupyterCon
23 Firas Moosvi- Teaching an Active Learning class with Jupyter Book| JupyterCon 2020
Firas Moosvi- Teaching an Active Learning class with Jupyter Book| JupyterCon 2020
JupyterCon
24 Daniel Mietchen- Jupyter in the Wikimedia ecosystem | JupyterCon 2020
Daniel Mietchen- Jupyter in the Wikimedia ecosystem | JupyterCon 2020
JupyterCon
25 Qiusheng Wu- How Jupyter and geemap enable interactive mapping and analysis | JupyterCon 2020
Qiusheng Wu- How Jupyter and geemap enable interactive mapping and analysis | JupyterCon 2020
JupyterCon
26 Stephanie Juneau- Jupyterenabled astrophysical analysis for researchers and students|JupyterCon 2020
Stephanie Juneau- Jupyterenabled astrophysical analysis for researchers and students|JupyterCon 2020
JupyterCon
27 Denton Gentry- The Care and Feeding of JupyterHub for Climate Solution Models| JupyterCon 2020
Denton Gentry- The Care and Feeding of JupyterHub for Climate Solution Models| JupyterCon 2020
JupyterCon
28 Tingkai Liu- FlyBrainLab: Interactive Computing in the Connectomic/Synaptomic Era  | JupyterCon 2020
Tingkai Liu- FlyBrainLab: Interactive Computing in the Connectomic/Synaptomic Era | JupyterCon 2020
JupyterCon
29 Kunal Bhalla- A Notebook Style Guide| JupyterCon 2020
Kunal Bhalla- A Notebook Style Guide| JupyterCon 2020
JupyterCon
30 Julia Wagemann - How to avoid 'Death by Jupyter Notebooks' | JupyterCon 2020
Julia Wagemann - How to avoid 'Death by Jupyter Notebooks' | JupyterCon 2020
JupyterCon
31 David Pugh - Best practices for managing Jupyter-based data science  | JupyterCon 2020
David Pugh - Best practices for managing Jupyter-based data science | JupyterCon 2020
JupyterCon
32 Karla Spuldaro - Debugging notebooks and python scripts in JupyterLab | JupyterCon 2020
Karla Spuldaro - Debugging notebooks and python scripts in JupyterLab | JupyterCon 2020
JupyterCon
33 Shreyas Dalia - assert browserTest == True # Frontend Testing JupyterLab  | JupyterCon 2020
Shreyas Dalia - assert browserTest == True # Frontend Testing JupyterLab | JupyterCon 2020
JupyterCon
34 Chris Holdgraf - The new Jupyter Book stack | JupyterCon 2020
Chris Holdgraf - The new Jupyter Book stack | JupyterCon 2020
JupyterCon
35 Hamel Husain - Fastpages - A new, open source Jupyter notebook blogging system | JupyterCon 2020
Hamel Husain - Fastpages - A new, open source Jupyter notebook blogging system | JupyterCon 2020
JupyterCon
36 Marc Wouts - Jupytext: Jupyter Notebooks as Markdown Documents | JupyterCon 2020
Marc Wouts - Jupytext: Jupyter Notebooks as Markdown Documents | JupyterCon 2020
JupyterCon
37 Sheeba Samuel- ProvBook |JupyterCon 2020
Sheeba Samuel- ProvBook |JupyterCon 2020
JupyterCon
38 Philipp Rudiger - To Jupyter and back again | JupyterCon 2020
Philipp Rudiger - To Jupyter and back again | JupyterCon 2020
JupyterCon
39 Jacob Tomlinson - What is my GPU doing? | JupyterCon 2020
Jacob Tomlinson - What is my GPU doing? | JupyterCon 2020
JupyterCon
40 Afshin Darian - A visual debugger in Jupyter | JupyterCon 2020
Afshin Darian - A visual debugger in Jupyter | JupyterCon 2020
JupyterCon
41 Eric Charles - Jupyter Real Time Collaboration| JupyterCon 2020
Eric Charles - Jupyter Real Time Collaboration| JupyterCon 2020
JupyterCon
42 Devin Robison - Optimizing model performance | JupyterCon 2020
Devin Robison - Optimizing model performance | JupyterCon 2020
JupyterCon
43 Junhua zhao - PayPal Notebooks: ML & Data Science experience | JupyterCon 2020
Junhua zhao - PayPal Notebooks: ML & Data Science experience | JupyterCon 2020
JupyterCon
44 April Wang - Redesigning Notebooks for Better Collaboration | JupyterCon 2020
April Wang - Redesigning Notebooks for Better Collaboration | JupyterCon 2020
JupyterCon
45 Bryan Weber - Distributing and Collecting Jupyter Notebooks for Manual Grading| JupyterCon 2020
Bryan Weber - Distributing and Collecting Jupyter Notebooks for Manual Grading| JupyterCon 2020
JupyterCon
46 Georgiana Dolocan - The Littlest JupyterHub distribution | JupyterCon 2020
Georgiana Dolocan - The Littlest JupyterHub distribution | JupyterCon 2020
JupyterCon
47 Tim Metzler - Electronic Examination using Jupyter Notebook | JupyterCon 2020
Tim Metzler - Electronic Examination using Jupyter Notebook | JupyterCon 2020
JupyterCon
48 Blaine Mooers - Why develop a snippet library for Jupyter in your subject domain? | JupyterCon 2020
Blaine Mooers - Why develop a snippet library for Jupyter in your subject domain? | JupyterCon 2020
JupyterCon
49 Ryan Abernathey - Cloud Native Repositories for Big Scientific Data | JupyterCon 2020
Ryan Abernathey - Cloud Native Repositories for Big Scientific Data | JupyterCon 2020
JupyterCon
50 Tanya Rai - Introducing Bento: Jupyter Notebooks @ Facebook | JupyterCon 2020
Tanya Rai - Introducing Bento: Jupyter Notebooks @ Facebook | JupyterCon 2020
JupyterCon
51 Kenton McHenry - From Papers to Notebooks | JupyterCon 2020
Kenton McHenry - From Papers to Notebooks | JupyterCon 2020
JupyterCon
52 Ryan Herr - After model.fit, before you deploy| JupyterCon 2020
Ryan Herr - After model.fit, before you deploy| JupyterCon 2020
JupyterCon
53 Ana Ruvalcaba - Community building is a sustainability strategy | JupyterCon 2020
Ana Ruvalcaba - Community building is a sustainability strategy | JupyterCon 2020
JupyterCon
54 Martin Renou - Xeus: an ecosystem of Jupyter kernels | JupyterCon 2020
Martin Renou - Xeus: an ecosystem of Jupyter kernels | JupyterCon 2020
JupyterCon
55 Michael Wilson - Teaching teenagers to understand Dark Energy | JupyterCon 2020
Michael Wilson - Teaching teenagers to understand Dark Energy | JupyterCon 2020
JupyterCon
56 Davide De Marchi - Voilà dashboards for policy support | JupyterCon 2020
Davide De Marchi - Voilà dashboards for policy support | JupyterCon 2020
JupyterCon
57 Marcos Lopez Caniego - ESASky's JupyterLab widget| JupyterCon 2020
Marcos Lopez Caniego - ESASky's JupyterLab widget| JupyterCon 2020
JupyterCon
58 Praveen Kanamarlapud - Kernel Life Cycle Management | JupyterCon 2020
Praveen Kanamarlapud - Kernel Life Cycle Management | JupyterCon 2020
JupyterCon
59 Aaron Bray - Pulse Physiology Engine | JupyterCon 2020
Aaron Bray - Pulse Physiology Engine | JupyterCon 2020
JupyterCon
60 Aaron Watters - Using WebGL2 transform/feedback in Jupyter widgets | JupyterCon 2020
Aaron Watters - Using WebGL2 transform/feedback in Jupyter widgets | JupyterCon 2020
JupyterCon

This video teaches how to automate biological network visualization using Jupyter Notebook and Cytoscape, and introduces tools like Pi4SCE and RSI3 for workflow automation. It also covers the development of Jupyter Bridge for remote control of local Cytoscape instances. The video is useful for researchers and scientists who want to automate their workflow and improve research reproducibility.

Key Takeaways
  1. Run Jupyter Notebook
  2. Launch Cytoscape
  3. Open notebook in Jupyter
  4. Import protein-protein interaction network
  5. Give visual effects according to quantitative value
  6. Experiment with different network layouts
  7. Select protein nodes with quantitative values above a certain value
  8. Expand the selection with the select first neighbors function
  9. Develop a combination of Jupyter and Cytoscape called Jupyter Bridge
💡 The video highlights the importance of automating biological network visualization for research reproducibility and introduces tools like Jupyter Bridge for remote control of local Cytoscape instances.

Related Reads

Up next
Welcome to the Next Temperamental Era
Charles Schwab
Watch →