Equation Attributes : …

Editor(s): Johannes Ruscheinski

Date: …

Open for comment: …

Proposal

Add the ability to Cytoscape to describe attributes as being derived or computed based on expression which may involve references to other attributes.

Background

This capability would seem to be a natural extension in the attribute browser. Especially for numerical-valued attributes it seems obvious that Cytoscape users might want to derive new quantities based on the values of other attributes. A similar argument holds for boolean attributes.

Use Cases

Allows users to easily colour a node based on a threshold value. Example: Given a Double attribute "someValue" and a threshold called "someThreshold" we could create a new boolean attribute called "exceedsThreshold" which would be defined by an equation attribute that is "$(someValue) > someThreshold". Many more complex examples can be easily construed.

Implementation Plan

  1. Define a syntax for the expressions (Cull this as a subset from some programming language's grammar?)
  2. Write a parser (LR1 grammar, recursive descent) implementing the syntax and error handling (Pay special attention to easy extension with more built-in functions.)
  3. Test and debug the stand-alone parser
  4. Identify the location in the Cytoscape code base for integration and integrate the parser
  5. Test and debug the new capability within Cytoscape

Project Management

Project Timeline

  1. Define Syntax (est. 1/2 day to 1 day)
  2. Implement and test stand-alone parser (3 to 4 days)
  3. Integrate the parser into the Cytoscape code base (3 to 4 days)

Total time: 6 1/2 to 9 days.

Tasks and Milestones

Outline the major milestones and tasks involved in implementation.

  1. Milestone 1: …

    1. Task 1: ...
    2. Task 2: ...
  2. Milestone 2: …

Project Dependencies

Outline and projects that depend on this project, link to relevant RFC's and note at what point dependent projects could be started.

Issues

List any issues, conflict, or dependencies raised by this proposal

Comments

How to Comment

Edit the page and add your comments under the provided header. By adding your ideas to the Wiki directly, we can more easily organize everyone's ideas, and keep clear records. Be sure to include today's date and your name for each comment. Try to keep your comments as concrete and constructive as possible. For example, if you find a part of the RFC makes no sense, please say so, but don't stop there. Take the extra step and propose alternatives.

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux