https://github.com/cytoscape/cytoscape-web

A browser-based implementation of Cytoscape for network visualization and analysis. Runs entirely in your browser with data-driven styling, collaborative workflows, and Cytoscape ecosystem integration.

https://github.com/cytoscape/cytoscape-web

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 13 committers (15.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.0%) to scientific vocabulary

Keywords

cytoscape data-visualization network-analysis network-biology systems-biology

Keywords from Contributors

cytoscape-interfaces py2cytoscape workflow-automation
Last synced: 5 months ago · JSON representation

Repository

A browser-based implementation of Cytoscape for network visualization and analysis. Runs entirely in your browser with data-driven styling, collaborative workflows, and Cytoscape ecosystem integration.

Basic Info
  • Host: GitHub
  • Owner: cytoscape
  • License: mit
  • Language: TypeScript
  • Default Branch: development
  • Homepage: https://web.cytoscape.org/
  • Size: 11.6 MB
Statistics
  • Stars: 18
  • Watchers: 20
  • Forks: 10
  • Open Issues: 3
  • Releases: 4
Topics
cytoscape data-visualization network-analysis network-biology systems-biology
Created over 3 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

Cytoscape Web

DOI

A web-based version of Cytoscape built for modern browsers

Cytoscape Web Screenshot 1

Introduction

Cytoscape Web is a web-based version of Cytoscape that runs in modern web browsers. This application enables users to visualize, analyze, and work with network data directly in their web browser just like the Desktop version of Cytoscape without requiring local software installation. It provides network visualization and analysis capabilities similar to the Desktop version.

The production version is available here:

Publication

Please cite the following publication when you use it in your projects:

Keiichiro Ono, Dylan Fong, Chengzhan Gao, Christopher Churas, Rudolf Pillich, Joanna Lenkiewicz, Dexter Pratt, Alexander R Pico, Kristina Hanspers, Yihang Xin, John Morris, Mike Kucera, Max Franz, Christian Lopes, Gary Bader, Trey Ideker, Jing Chen, Cytoscape Web: bringing network biology to the browser, Nucleic Acids Research, 2025;, gkaf365, https://doi.org/10.1093/nar/gkaf365

App Development

Cytoscape Web is designed to expand with two types of Apps. We are actively researching and developing examples. Please visit the following pages for more details:

Developer's Guide

(TBA)

Quick Start

Cytoscape Web is designed to have minimum dependency to the backend services, so you can easily run your own instance locally only with an HTTP server.

To run Cytoscape Web locally with development http server, checkout this repository and run the following:

npm install npm run dev

This will start a local test server and opens a new browser tab.


! The following section is not finished yet.

Build dependencies

Install node and npm. The easiest way is to download both from offical website.

  • Node.js 16.8.0 or later version is required.

After installation, run node -v and npm -v to check.

Build instructions

Run a command using npm <command>. Run npm install before using other commands.

  • dev: run a dev server that watches code changes, open localhost:5500 in your web browser. By default this app points to NDEx dev server, please create an account on the NDEx dev server with a email that links to your Google account before trying to setup your own dev environment for Cytoscape Web.
  • build: build the app for production
  • lint: lint code according to the eslint config
  • format: format source code according to eslint and prettier configs
  • test: run tests

Windows-Specific Setup Instructions

For Windows users, environment variables need to be set differently. Follow these steps to run the development server.

  1. Modify package.json scripts Update the dev and buid scripts in package.json like this

    "build": "set \"REACT_APP_GIT_COMMIT=%COMMIT_HASH%\" && set \"REACT_APP_BUILD_TIMESTAMP=%BUILD_TIMESTAMP%\" && webpack --mode production", "dev": "set \"REACT_APP_GIT_COMMIT=%COMMIT_HASH%\" && set \"REACT_APP_BUILD_TIMESTAMP=%BUILD_TIMESTAMP%\" && webpack serve --open --mode development",

  2. Manually set environment variables in the terminal

    Run the Git commands manually to get your commit hash, these values will be used in .env file:

    bash git rev-parse HEAD

    bash git show -s --format=%cI HEAD

    Copy the output of the commands and update in .env file as follow :

    env REACT_APP_GIT_COMMIT=<your_commit_hash> REACT_APP_BUILD_TIMESTAMP=<your_build_timestamp>

    For example, if your Git commit hash is abc1234 and the timestamp is 2024-10-24T10:00:00, your .env would look like this:

    env REACT_APP_GIT_COMMIT=abc1234 REACT_APP_BUILD_TIMESTAMP=2024-10-24T10:00:00

  3. Start the development server

    After setting the environment variables, run:

    npm dev

Deploy on Netlify

All branches will have deploy previews automatically once changes pushed to github. The url is: branch name--incredible-meringue-aa83b1.netlify.app

For example, if the branch is development, the url is https:development--incredible-meringue-aa83b1.netlify.app

It usually takes few minutes to reflect changes.

Build for production

export NODE_ENV=production

npm run build

Troubleshooting

This section lists solutions to problems you might encounter with Cytoscape web.

Debug

Use developer tools in browser to check the error message. Then we recommend using Visual Studio Code debugger to debug.

Blank Workspace or Fail to Load Any Networks

Possible solutions:

  • Use a new incognito window to open Cytoscape web
  • Clear browsing data include cookies
  • In developer tools, go to Application page,find IndexedDB in session storage. Click Delete database.

Release Management

When you need to create a new release, please follow these steps:

  1. Merge development branch into master.
  2. Tag the master branch
  3. Create a new release in GitHub
  4. Once released, check Zenodo account and make sure it is linked to the new release.
  5. Check the doi badge and make sure the link is correct.
  6. Update the version number in the development branch for the next release.

Owner

  • Name: Cytoscape Consortium
  • Login: cytoscape
  • Kind: organization

GitHub Events

Total
  • Create event: 185
  • Commit comment event: 1
  • Release event: 4
  • Delete event: 189
  • Member event: 1
  • Pull request event: 348
  • Fork event: 6
  • Issues event: 2
  • Watch event: 17
  • Issue comment event: 244
  • Push event: 487
  • Pull request review comment event: 141
  • Pull request review event: 320
  • Gollum event: 214
Last Year
  • Create event: 185
  • Commit comment event: 1
  • Release event: 4
  • Delete event: 189
  • Member event: 1
  • Pull request event: 348
  • Fork event: 6
  • Issues event: 2
  • Watch event: 17
  • Issue comment event: 244
  • Push event: 487
  • Pull request review comment event: 141
  • Pull request review event: 320
  • Gollum event: 214

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 1,726
  • Total Committers: 13
  • Avg Commits per committer: 132.769
  • Development Distribution Score (DDS): 0.663
Past Year
  • Commits: 610
  • Committers: 10
  • Avg Commits per committer: 61.0
  • Development Distribution Score (DDS): 0.703
Top Committers
Name Email Commits
Dylan Fong d****t@g****m 582
Keiichiro Ono k****o@g****m 571
Chengzhan Gao 1****5@q****m 354
yihangx y****n@g****u 166
jingjingbic j****c@g****m 22
Yihang Xin 4****x 16
Chris Churas c****a@g****m 4
rpillich r****h@u****u 4
Max Franz m****z@g****m 2
chengzhangao g****n@g****m 2
Zheng Wu Bang 9****c 1
Christian Lopes c****s@g****m 1
Keiichiro Ono k****o@M****l 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 97
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 days
  • Total issue authors: 0
  • Total pull request authors: 8
  • Average comments per issue: 0
  • Average comments per pull request: 1.1
  • Merged pull requests: 65
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 97
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 days
  • Issue authors: 0
  • Pull request authors: 8
  • Average comments per issue: 0
  • Average comments per pull request: 1.1
  • Merged pull requests: 65
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • GAOChengzhan (2)
  • jingjingbic (1)
  • ooker777 (1)
  • yihangx (1)
  • keiono (1)
  • ayushkoli772 (1)
Pull Request Authors
  • GAOChengzhan (104)
  • d2fong (95)
  • keiono (68)
  • yihangx (35)
  • jingjingbic (11)
  • rpillich (6)
  • coleslaw481 (4)
  • 26Jon (3)
  • CopperCleric (3)
  • eren1106 (2)
  • maxkfranz (1)
  • chrtannus (1)
  • jinrentan (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

package.json npm
  • @testing-library/jest-dom ^5.16.5 development
  • @testing-library/react ^13.4.0 development
  • @types/jest ^29.0.3 development
  • @typescript-eslint/eslint-plugin ^5.0.0 development
  • css-loader ^6.7.1 development
  • eslint ^8.0.1 development
  • eslint-config-prettier ^8.5.0 development
  • eslint-config-standard-with-typescript ^23.0.0 development
  • eslint-plugin-import ^2.25.2 development
  • eslint-plugin-n ^15.0.0 development
  • eslint-plugin-promise ^6.0.0 development
  • eslint-plugin-react ^7.31.8 development
  • eslint-webpack-plugin ^3.2.0 development
  • html-webpack-plugin ^5.5.0 development
  • jest ^29.0.3 development
  • jest-environment-jsdom ^29.0.3 development
  • mini-css-extract-plugin ^2.6.1 development
  • prettier ^2.7.1 development
  • ts-jest ^29.0.1 development
  • ts-loader ^9.3.1 development
  • typescript ^4.8.3 development
  • webpack ^5.74.0 development
  • webpack-cli ^4.10.0 development
  • webpack-dev-server ^4.11.0 development
  • @emotion/react ^11.10.4
  • @emotion/styled ^11.10.4
  • @mui/icons-material ^5.10.6
  • @mui/material ^5.10.6
  • @mui/types ^7.2.0
  • @types/react ^18.0.20
  • @types/react-dom ^18.0.6
  • allotment ^1.17.0
  • cytoscape ^3.23.0
  • react ^18.2.0
  • react-dom ^18.2.0
yarn.lock npm
  • 802 dependencies