Differences between revisions 26 and 27
Revision 26 as of 2006-10-09 09:28:53
Size: 4288
Editor: GaryBader
Comment:
Revision 27 as of 2006-10-09 18:29:25
Size: 4379
Editor: AlexPico
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Line 5: Line 4:
== Lessons learned in Cytoscape usability analysis == == 1 - Lessons learned in Cytoscape usability analysis - Melissa ==
Line 8: Line 7:

== GINY Refactoring ==
== 2 - Foundation Architecture (GINY Refactoring) - Mike Smot ==
Line 17: Line 15:
== 2a - Network specific (local) node and edge attributes ==
 * Use case from GenMAPP group
== 2b - Memory management ==
 * When networks are destroyed, nodes, egdes and their attributes are not actually deleted, but maybe there should be some garbage collection if users want. Also, this allows attributes to pop back up for new nodes that are identically named to previously deleted nodes
== 2c - Plugin Architecture ==
 * How can plugins know which attributes are relevant to which network?
== 3 - Event handling - Mike Creech ==
 * right now components that do mouse event and mouse motion event handling can clobber each other. Do we need an overall event architecture that components can plug into?
 * right now event declaration and listener store implementation is still spread out over a wide swath of the Cytoscape code. Should we consolidate into one event package?
 * Check out the [http://www.cytoscape.org/cgi-bin/moin.cgi/CyEvent_Handling Cytoscape Event Handling Request For Discussion] for more information.
== 4 - Integration of Hyperedges and Metanodes APIs into the core ==
 * Hyperedges
 * Metanodes
Line 20: Line 30:

== Technology sharing with InfoVis Toolkit ==
 * see ["InfoVis Toolkit"]

== Integration of Hyperedges and Metanodes APIs into the core ==
 * Hyperedges
 * Metanodes
Line 32: Line 34:

== Event handling ==
 * right now components that do mouse event and mouse motion event handling can clobber each other. Do we need an overall event architecture that components can plug into?
 * right now event declaration and listener store implementation is still spread out over a wide swath of the Cytoscape code. Should we consolidate into one event package?
 * Check out the [http://www.cytoscape.org/cgi-bin/moin.cgi/CyEvent_Handling Cytoscape Event Handling Request For Discussion] for more information.
Line 39: Line 35:
 * how to accommodate arbitrary graphical annotations, such as text, legends, simple sketches, etc.    * how to accommodate arbitrary graphical annotations, such as text, legends, simple sketches, etc.
Line 45: Line 41:

== Network specific (local) node and edge attributes ==
 * Use case from GenMAPP group

== Memory management ==
 * When networks are destroyed, nodes, egdes and their attributes are not actually deleted, but maybe there should be some garbage collection if users want. Also, this allows attributes to pop back up for new nodes that are identically named to previously deleted nodes
Line 54: Line 43:
 * How can plugins know which attributes are relevant to which network?  *
Line 57: Line 46:
== Technology sharing with InfoVis Toolkit ==
 * see ["InfoVis Toolkit"]
Line 60: Line 50:
 * Wrap-up issues     * Wrap-up issues

Hackathon discussion issues

/!\ Could we please assign chairs to these topics to manage discussion? Also, do we have an order yet? Thanks -Gary

1 - Lessons learned in Cytoscape usability analysis - Melissa

  • This is a summary of some lessons learned in studying biologists of varying levels of Cytoscape expertise, and analyzing their use of Cytoscape. See the summary document attached to this page.
  • Suggestion: make this the first topic of the hackathon, as some of the points may be useful in the subsequent discussions.

2 - Foundation Architecture (GINY Refactoring) - Mike Smot

  • Edge IDs should be addressable, just like node IDs
  • We should ensure that all of Cytoscape currently assumes directed edges - how/when do we deal with undirected edges?
  • GINY metanode refactoring: remove meta methods - all functionality will be present in the metanode/group API. This will significantly simplify the GINY API and data structure allowing developers to be more confident that their algorithms will work on CyNetwork in general.

  • Refactor the GINY interface/inheritance architecture: e.g. should we encapsulate GINY in CyNetwork? See ["CyNode Identification"]

  • Clean up depracated methods
  • More Unit tests for giny to help us make these changes
  • Clean up Cytoscape class – duplicated methods in CyNetwork vs. Cytoscape class and the general bloat of the Cytoscape class.

2a - Network specific (local) node and edge attributes

  • Use case from GenMAPP group

2b - Memory management

  • When networks are destroyed, nodes, egdes and their attributes are not actually deleted, but maybe there should be some garbage collection if users want. Also, this allows attributes to pop back up for new nodes that are identically named to previously deleted nodes

2c - Plugin Architecture

  • How can plugins know which attributes are relevant to which network?

3 - Event handling - Mike Creech

  • right now components that do mouse event and mouse motion event handling can clobber each other. Do we need an overall event architecture that components can plug into?
  • right now event declaration and listener store implementation is still spread out over a wide swath of the Cytoscape code. Should we consolidate into one event package?
  • Check out the [http://www.cytoscape.org/cgi-bin/moin.cgi/CyEvent_Handling Cytoscape Event Handling Request For Discussion] for more information.

4 - Integration of Hyperedges and Metanodes APIs into the core

  • Hyperedges
  • Metanodes

VizMapper/Filtering redesign

  • see ["VizMapUI"]

Graph Layout Architecture and Features

  • breaking out common controls from algorithms
  • can all algorithms be made to operate on a subset of network?
  • controlling bounds of layout

Graphical Annotations

  • how to accommodate arbitrary graphical annotations, such as text, legends, simple sketches, etc.
  • how to distinguish between annotations that are attached to and move with nodes and edges, which can be handled by labels and custom graphics, from graphical annotations that are free standing
  • how to incorporate graphical annotations into CyNetworks. What are the underlying data structures?

  • Ben's work on enhancing the InnerCanvas class to handle multiple layers, i.e. a NetworkCanvas, ForegroundCanvas, and BackgroundCanvas.

  • how to save and load graphical annotations.
  • NOTE: the use of the term 'annotation' here is completely unrelated to the use of the the term 'annotation' to describe gene/protein annotations such as GO categories. Do we need a different term? "Decorations"? "Markup"?

Uncategorized

  • What features should be in 3.0? There has been some brief discussion that the addition of metanode (group) and hyperedge concepts to the core (including some support for these in the UI) would qualify for 3.0 status.
  • How should we deal with name clashes for cyattributes? Can we somehow detect name clashes and automate fixing these? Is this mainly a plugin issue?
  • Plan for reducing the number of libraries Cytoscape depends on e.g. refactoring to remove dependence on Piccolo

Technology sharing with InfoVis Toolkit

Extension - WED night

  • Ben and Ethan topics (accumulated from Mon and Tue)
  • Wrap-up issues

CytoscapeRetreat2006/Hackathon (last edited 2009-02-12 01:03:27 by localhost)

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