Skip to content

Improving Cytoscape.js layout utilities #247

@ugurdogrusoz

Description

@ugurdogrusoz

Background

Using graphs in the visual analysis of relational data has proven to be very important. Such visualization is only effective when graphs that are created on the fly can be automatically laid out in a nice, understandable fashion. Not only that, changes to such graphs over time should also be nicely integrated into an existing layout without destroying the user's mental map.

Cytoscape.js is a highly popular and widely used graph library for visualizing relational data in various domains including biology. It comes with many layout extensions. In addition, a utility library to support these layout extensions was developed to further improve the layout support of a visual software component. This library for instance can help for compactly bringing components of a disconnected graph.

Goal

The goal of this project is to improve the existing functionality in choosing good initial locations for any new graph elements on evolving/changing graphs.

Difficulty Level: Hard

This project requires CS background to understand description of some new algorithms and choosing the right data structures to implement them.

Size and Length of Project

  • medium: 175 hours
  • 12 weeks

Note that the project length for small projects should be 10-12 weeks.

Skills

Essential skills: JavaScript, understanding of graph algorithms
Nice to have skills: Cytoscape.js

Public Repository

https://github.com/iVis-at-Bilkent/cytoscape.js-layout-utilities

Potential Mentors

Ozgun Babur
Ugur Dogrusoz

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions