• Stars
    star
    263
  • Rank 155,624 (Top 4 %)
  • Language
    Python
  • License
    BSD 3-Clause "New...
  • Created almost 5 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Cytoscape Jupyter widget

ipycytoscape

Tests Documentation Status StackOverflow Join the chat at https://gitter.im/QuantStack/Lobby

A widget enabling interactive graph visualization with cytoscape.js in JupyterLab and the Jupyter notebook.

Try it out using binder: Binder or install and try out the examples.

cytoscape screencast

Supports:

Installation

With mamba:

mamba install -c conda-forge ipycytoscape

With conda:

conda install -c conda-forge ipycytoscape

With pip:

pip install ipycytoscape

Pandas installation

You can install the Pandas dependencies for ipycytoscape with pip:

pip install pandas

Or conda-forge:

mamba install pandas

Neo4j installation

You can install the neo4j dependencies for ipycytoscape with pip:

pip install -e ".[neo4j]"

Or conda-forge:

mamba install py2neo neotime

For jupyterlab 1.x or 2.x:

If you are using JupyterLab 1.x or 2.x then you will also need to install nodejs and the jupyterlab-manager extension. You can do this like so:

# installing nodejs
conda install -c conda-forge nodejs


# install jupyterlab-manager extension
jupyter labextension install @jupyter-widgets/[email protected] --no-build

# if you have previously installed the manager you still to run jupyter lab build
jupyter lab build

For Jupyter Notebook 5.2 and earlier

You may also need to manually enable the nbextension:

jupyter nbextension enable --py [--sys-prefix|--user|--system] ipycytoscape

For a development installation:

(requires npm)

While not required, we recommend creating a conda environment to work in:

conda create -n ipycytoscape -c conda-forge jupyterlab nodejs
conda activate ipycytoscape

# clone repo
git clone https://github.com/cytoscape/ipycytoscape.git
cd ipycytoscape

Install python package for development

This will run npm install and npm run build. This command will also install the test suite and the docs locally:

pip install jupyter_packaging==0.7.9
pip install -e ".[test, docs]"

jupyter labextension develop . --overwrite

optionally install the pre-commit hooks with:

pre-commit install

Or for classic notebook, you can run:

jupyter nbextension install --sys-prefix --symlink --overwrite --py ipycytoscape
jupyter nbextension enable --sys-prefix --py ipycytoscape

Note that the --symlink flag doesn't work on Windows, so you will here have to run the install command every time that you rebuild your extension. For certain installations you might also need another flag instead of --sys-prefix, but we won't cover the meaning of those flags here.

How to see your changes

Typescript:

To continuously monitor the project for changes and automatically trigger a rebuild, start watching the ipycytoscape code:

npm run watch

And in a separate terminal start JupyterLab normally:

jupyter lab

once the webpack rebuild finishes refresh the JupyterLab page to have your changes take effect.

Python:

If you make a change to the python code then you need to restart the notebook kernel to have it take effect.

How to run tests locally

Install necessary dependencies with pip:

pip install -e ".[test]"

Or with conda/mamba:

mamba -c conda-forge install networkx pandas nbval pytest

And to run it:

pytest

How to build the docs

cd docs

Install dependencies:

conda env update --file doc_environment.yml

And build them:

make html

Acknowledgements

The ipycytoscape project was started by Mariana Meireles at QuantStack. This initial development was funded as part of the PLASMA project, which is led by Claire Vandiedonck, Pierre Poulain, and Sandrine Caburet.

License

We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.

This software is licensed under the BSD-3-Clause license. See the LICENSE file for details.

More Repositories

1

cytoscape.js

Graph theory (network) library for visualisation and analysis
JavaScript
10,035
star
2

cytoscape

Cytoscape: an open source platform for network analysis and visualization
Shell
518
star
3

cytoscape-tutorials

Collection of modular Cytoscape tutorials for online presentation using reveal.js
HTML
309
star
4

cytoscape.js-dagre

The Dagre layout for DAGs and trees for Cytoscape.js
JavaScript
225
star
5

py2cytoscape

Python utilities for Cytoscape and Cytoscape.js
Python
178
star
6

cytoscape.js-edgehandles

Edge creation UI extension for Cytoscape.js
HTML
160
star
7

cytoscape.js-cxtmenu

Context menu for Cytoscape.js
JavaScript
155
star
8

cytoscape.js-cola

The Cola.js physics simulation layout for Cytoscape.js
JavaScript
133
star
9

cytoscape.js-cose-bilkent

The CoSE layout for Cytoscape.js by Bilkent with enhanced compound node placement.
HTML
116
star
10

cytoscape.js-popper

A wrapper for Popper.js that lets you position divs relative to Cytoscape elements
JavaScript
95
star
11

cyjShiny

An R/shiny widget for cytoscape.js
JavaScript
92
star
12

cytoscape-automation

Collection of scripts that include programmatic io and control of Cytoscape
HTML
81
star
13

cytoscape.js-klay

The Klay layout algorithm for Cytoscape.js
JavaScript
76
star
14

wineandcheesemap

JavaScript
70
star
15

cytoscape.js-panzoom

Panzoom extension for Cytoscape.js
CSS
64
star
16

cytoscape.js-navigator

Bird's eye view pan and zoom control for Cytoscape.js.
JavaScript
63
star
17

py4cytoscape

Python library for calling Cytoscape Automation via CyREST
Python
56
star
18

cytosnap

A Node.js package that renders images of Cytoscape.js graphs on the server using Puppeteer
JavaScript
54
star
19

RCy3

New version of RCy3, redesigned and collaboratively maintained by Cytoscape developer community
R
49
star
20

cytoscape.js-elk

The ELK layout algorithm adapter for Cytoscape.js
JavaScript
43
star
21

cytoscape.js-qtip

A Cytoscape.js extension that wraps the QTip jQuery library
JavaScript
40
star
22

cytoscape.js-tutorial-demo

Out of date. Refer to https://blog.js.cytoscape.org/tutorials/
JavaScript
39
star
23

cytoscape-jupyter-widget

Cytoscape.js based network visualizer for Jupyter Notebook
JavaScript
38
star
24

cytoscape-impl

Cytoscape 3 implementation bundles.
Java
33
star
25

cytoscape.js-automove

An extension for Cytoscape.js that automatically updates node positions based on specified rules
JavaScript
32
star
26

cytoscape.js-euler

Euler is a fast, high-quality force-directed (physics simulation) layout for Cytoscape.js
JavaScript
31
star
27

cyREST

Core App: REST API module for Cytoscape
JavaScript
30
star
28

cytoscape.js-compound-drag-and-drop

Compound node drag-and-drop UI for adding and removing children
JavaScript
28
star
29

cytoscape.js-spread

The speedy Spread physics simulation layout for Cytoscape.js
JavaScript
24
star
30

cy-jupyterlab

Jupyter lab widget for rendering graphs (networks)
Jupyter Notebook
24
star
31

cytoscape.github.com

Cytoscape org web site.
HTML
22
star
32

cytoscape-api

Cytoscape 3 API bundles.
Java
21
star
33

cytoscape-app-samples

Cytoscape 3 sample code for App developers.
Java
18
star
34

cytoscape.js-blog

The Cytoscape.js blog, using Github pages and Jekyll
JavaScript
18
star
35

cytoscape-gui-distribution

Cytoscape 3 desktop version.
Java
16
star
36

appstore

Cytoscape App Store web application code
Python
16
star
37

cytoscape.js-tutorials

Cytoscape.js tutorials project for GSOC 2016
JavaScript
14
star
38

cytoscape-explore

Network visualization webapp.
JavaScript
12
star
39

cyjs-sample

JavaScript
12
star
40

cytoscape-manual

Markdown version of Cytoscape manual
11
star
41

js-graph-lib-comparison

A comparison of JS graph libs
JavaScript
11
star
42

jupyter-cytoscape

Cytoscape.js API support in JS, Python, and R Jupyter kernels
JavaScript
10
star
43

cytoscape.js-hierarchical

A Cytoscape.js extension for the hierarchical clustering algorithm
HTML
10
star
44

slush-cytoscape-extension

A Cytoscape.js extension generator
JavaScript
10
star
45

cytoscape.js-k-means

A Cytoscape.js extension for the k-means, k-medoids, & fuzzy c-means family of algorithms
JavaScript
7
star
46

enrichment-table-app

Creates a new table for performing, storing and viewing functional enrichment analysis
Java
6
star
47

enrichment-map-webapp

JavaScript
6
star
48

cytoscapeweb

Flash-based graph visualization tool which can be integrated in HTML via its Javascript API (http://cytoscapeweb.cytoscape.org).
ActionScript
6
star
49

cytoscape.js-leaflet

A Cytoscape.js extension to overlay a graph (network) on top of a Leaflet map
JavaScript
6
star
50

wiki-plugin-cytodemo

CoffeeScript
5
star
51

cytoscape-web

TypeScript
5
star
52

cy-community-detection

Community Detection App for Cytoscape
Java
4
star
53

jupyter-bridge

Bridge enables Jupyter code on remote server to execute HTTP calls on local PC
Python
4
star
54

web-export-templates

Parent project for all Cytoscape.js export options.
JavaScript
3
star
55

cytoscape.js-arbor

The Arbor physics simulation layout for Cytoscape.js
JavaScript
3
star
56

js4cytoscape

JavaScript library for calling Cytoscape Automation via CyREST
JavaScript
3
star
57

biopax

Core App: BioPAX support
Java
3
star
58

cx2js

A CX to Cytoscape JS library
JavaScript
3
star
59

zugzwang

Zugzwang (German: forced to make a move) is a new OpenGL-accelerated renderer for Cytoscape that prioritizes rapid visual feedback above all else – thus the name.
Java
3
star
60

cytoscape.js-springy

The Springy physics simulation layout for Cytoscape.js
JavaScript
3
star
61

mozfest2015-session

A starting point for building graphs with Cytoscape.js during the MozFest 2015 open science session
JavaScript
3
star
62

fgsea-service

R
3
star
63

r2cytoscape

R functions for Cytoscape automation
R
3
star
64

cytoscape.js-reveal-slides

Reveal.js for presentation "Displaying interactive networks on the web"
JavaScript
3
star
65

cytoscape.js-markov-cluster

A Cytoscape.js extension for the Markov cluster algorithm
JavaScript
3
star
66

diffusion

A Cytoscape app to interface with the heat diffusion service
Java
3
star
67

copycat-layout

Map the locations of nodes (and the network view) from one network to another. Easily compare networks side by side by positioning the views similarly.
Jupyter Notebook
3
star
68

idmapper

Identifier mapping
Java
2
star
69

cytoscape-app

DEPRECATED!! (Was used for for Core Apps)
2
star
70

cxio

CX serialization and de-serialization
Java
2
star
71

mcode-service

2
star
72

cytosnap-demo

A demo Cytosnap server
2
star
73

cyChart

interactive histogram and scatter charts to select nodes or create filters
Java
2
star
74

cytoscape-admin-scripts

Build and maintenance scripts for Cytoscape core developers.
Jupyter Notebook
2
star
75

cytoscape.js-demos

User-submitted demos of Cytoscape.js
JavaScript
2
star
76

cx

CX serialization and de-serialization in Cytoscape
Java
2
star
77

cx-viz-converter

JavaScript
2
star
78

cytoscape-platform-tests-js

Reveal.js testing webapp for running platform tests on Cytoscape via CyREST calls
JavaScript
2
star
79

legend-creator

Cytoscape3 app to create legends as annotations
Java
2
star
80

file-transfer-app

Java
2
star
81

sbml

Core App: SBML Reader
Java
1
star
82

cytoscape.js-matter

JavaScript
1
star
83

cyBrowser

Java
1
star
84

cytoscape-home-mock

TypeScript
1
star
85

generator-cytoscape-extension

A Cytoscape.js extension generator
JavaScript
1
star
86

foograph

Automatically exported from code.google.com/p/foograph
JavaScript
1
star
87

idmap

Client for Id Mapping Service
Java
1
star
88

LargestSubnetwork

Select Largest Subnetwork App
Java
1
star
89

cytoscape-app-template

Cytoscape 3 project files for App developers.
1
star
90

cytoscape2

Cytoscape 2.x series code.
Java
1
star
91

enrichmentmap-service

EnrichmentMap microservice
Java
1
star
92

app-collections

repo for src and poms defining collections of apps
Java
1
star
93

cyjs-export-simple

Template code for simple export from Cytoscape 3.2.
ApacheConf
1
star
94

js-perf

Rendering and layout performance test page for Cytoscape.js
HTML
1
star
95

cytoscape.js-rpc

Use JSON-RPC to drive a remote instance of Cytoscape.js
JavaScript
1
star
96

script-app-demo

Demonstration of a script-app
Java
1
star
97

cytoscape-ismb-2020

Jupyter Notebook
1
star
98

javascript-notebooks

A Jekyll site for publishing JS notebooks for Cytoscape automation via js4cytoscape
JavaScript
1
star
99

cytoscape.js-affinity-propagation

A Cytoscape.js extension for the affinity propagation algorithm
JavaScript
1
star
100

cytoscape-home

JavaScript
1
star