Differences between revisions 25 and 38 (spanning 13 versions)
Revision 25 as of 2007-07-28 22:58:28
Size: 4650
Editor: adsl-75-31-58-219
Comment:
Revision 38 as of 2007-08-30 16:06:16
Size: 7084
Editor: KeiichiroOno
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
(Under construction)  * Focus on improving existing features rather than adding new features.
 * Fix as many outstanding bugs as possible.
 * Fix as many ''micro-barriers'' as possible.
 * Make sure that the workflow described in the Nature Protocols paper is fully supported. While the protocol works as described, it can be brittle in places. The goal is to make this as robust as possible. Of course, supporting this workflow should NOT preclude the use of Cytoscape in other ways. We should NOT remove capabilities or flexibility. The protocol looks roughly like this:
  1. Load networks.
   * Agilent LitSearch
   * cPath
   * Pathway Commons?
   * IntAct and/or DIP?
  1. Load attribute, synonym, and annotation information about the networks.
   * GO annotations
   * attribute files
   * synonyms?
   * Gene expression data (ArrayExpress?)
  1. Analyze the networks.
   * MCODE
   * jActiveModules
   * BiNGO
   * Cytoscape's built in tools like filters, selection, etc..
  1. Make joural quality images and publication materials.
   * Export graphics
   * Export session to web
= Timeline =
Release Date:
Line 6: Line 29:
 * Relatively smaller set of new features.
 * Cleaning up backlogs (from 2.5)
= Timeline =
Release Date: TBD
 * The first beta release should be available before the Cytoscape retreat: Nov 6th-9th, 2007.
 * The final release should go out before Christmas 2007.
Line 13: Line 33:
 * '''Support for ["Molecular Interaction Maps"] and/or SBGN.''' [''Agilent, NCI?''] To correctly render Molecular interaction maps or Systems Biology Graphical Notation would require the development of several new node shapes and other graphical capabilities.  We will want to incorporate this support incrementally over two or more versions of Cytoscape. Some possible features (in order of difficulty, only a subset to be implemented):  * '''Support for ["Molecular Interaction Maps"] and/or SBGN.''' Lead: Allan [''Agilent, MSKCC, NCI?''] - To correctly render Molecular interaction maps or Systems Biology Graphical Notation would require the development of several new node shapes and other graphical capabilities. We will want to incorporate this support incrementally over two or more versions of Cytoscape. Some possible features (in order of difficulty, only a subset to be implemented):
Line 21: Line 41:
  * sub-molecular entities, e.g. binding sites, domains, splice variants. Introduce the construct of a 'site' on a node.
 * '''Support for layered graphics.''' [''MSKCC, Agilent, Gladstone?''] The goal is to allow users to add images or other graphical objects to the background and foreground of networks to further enhance network visualizations.
 * '''Dynamic Filters.''' The intent for the changes to the filters UI is to allow dynamic selection of nodes and edges based sliders and other widgets in the filter. This isn't possible for 2.5 so we've pushed it to 2.6.
 * '''["Consolidated graph analysis plugin"] - ''' Several graph analysis algorithms (e.g. shortest-path and graph statistics) are available as plugins, but they are not collected in a common location. We can borrow some code from [http://jung.sourceforge.net/ JUNG] project for this part. See ["Future Cytoscape Features/Simple graph statistics"] page.
 * '''Cytoscape Themes.''' We think it would be useful to provide customized versions of Cytoscape for specific users. An example would be a biologist themed release that would include all plugins to support import/export of biological file formats.
 * '''Spreadsheet capability for attribute browser.''' The ability to manipulate attributes within Cytoscape would provide users flexibility that Cytoscape currently doesn't have.
 * '''["Scripting"]''' - Both general scripting language support and Cytoscape original simple scripting language.
 * '''Attribute namespaces.''' Extend attributes to include the concept of a "namespace". This could be used to bind node attributes to specific networks, to specific groups, or to simply provide some assurance of uniqueness for plugin authors by binding an attribute to a plugin.
 * '''Properties''' We need global properties that are saved in the .cytoscape directory automatically, in addition to the cytoscape.props. Some use cases are: saving the last directory used, saving bookmarks stored by users.
== Refactoring ==
 * '''Refactor Graphics Export''' Freehep is OK, but there are many bugs and few options. We should write our own graphics export that allows users to set the resolution desired for bitmaped images (gif,png,jpg) and also properly support PDF, PS, and SVG (including transparency).
 * '''Refactor the Network Manager to support selection and operations on multiple networks.''' It is often the case that users have hundreds of networks loaded at any given time. It would be useful to be able to perform operations (such as applying a layout) on more than one network at once. Also, we need to separate Network Panel's tree data model from GUI.
 * '''Refactor event handling, GINY, and others.''' As always, there is much refactoring to be done. Cleaning up event handling is particularly important because the current disorder is causing problems for plugin writers.
 * '''Undirected Edges''' Add proper support for undirected edges.
 * '''In memory session saving''' Explore writing a session file without first writing tmp files. We ''should'' be able to do everything in memory. This will prevent many permission error bugs.
 * Better headless mode (communicating to scripting feature?)
  * sub-molecular entities, e.g. binding sites, domains, splice variants. Introduce the construct of a 'site' on a node.
 * '''Support for layered graphics.''' Lead: ? [''MSKCC, Agilent, Gladstone?''] - The goal is to allow users to add images or other graphical objects to the background and foreground of networks to further enhance network visualizations.
 * '''Cytoscape Themes.''' Leads: Sarah and Alex - We think it would be useful to provide customized versions of Cytoscape for specific users. An example would be a biologist themed release that would include all plugins to support import/export of biological file formats.
 * '''Filter UI redesign.''' Lead: Peng - To construct complex filter with the combination of AND, OR, and NOT.
 * '''Dynamic Filters.''' Lead: Peng - develop an algorithm to apply filter with time complexity ~ lnN. N is the total number of nodes and edges.The intent for the changes to the filters UI is to allow dynamic selection of nodes and edges based sliders and other widgets in the filter. This isn't possible for 2.5 so we've pushed it to 2.6.
 * '''Attribute namespaces.''' Lead: Mike - Extend attributes to include the concept of a "namespace". This could be used to bind node attributes to specific networks, to specific groups, or to simply provide some assurance of uniqueness for plugin authors by binding an attribute to a plugin.
 * '''Refactor the Network Manager to support selection and operations on multiple networks.''' Lead Mike and Kei - It is often the case that users have hundreds of networks loaded at any given time. It would be useful to be able to perform operations (such as applying a layout) on more than one network at once. Also, we need to separate Network Panel's tree data model from GUI.
 * '''Web Service Client Manager and User Interface for Bio Web Services (Biomart/NCBI/KEGG)''' Lead: Kei - Provide a simple interface to bio-database web services that will facilitate id mapping and attribute import in Cytoscape. This will address use cases 3 and 4 listed [http://baderlab.org/IdentifierMapping here].
 * '''Modal Label Positioning''' Lead: Mike - Provide an edit mode to Cytoscape that allows node labels to be moved simply by clicking on them and dragging.
 * '''Clean up old bugs''' Lead: Everyone - Ongoing.
 * '''In memory session saving''' Lead: Mike - Explore writing a session file without first writing tmp files. We ''should'' be able to do everything in memory. This will prevent many permission error bugs.
 * '''Properties''' Lead: Mike and Sarah - We need global properties that are saved in the .cytoscape directory automatically, in addition to the cytoscape.props. Some use cases are: saving the last directory used, saving bookmarks stored by users.
 * '''Load Networks''' Lead: Ben - Update the existing Pathway Commons Plugin (which provides connectivity between pathwaycommons.org and Cytoscape) to provide similar functionality as the cPath Plugin.
 * '''XGMML improvements''' Lead: Scooter - Rewrite the XGMML reader and writer to significantly reduce the transient memory use and improve performance.
== Enlist non-core developers ==
 * '''Undirected Edges''' Lead: Mike - Add proper support for undirected edges.
 * '''["Consolidated graph analysis plugin"]''' Lead: Kei - Several graph analysis algorithms (e.g. shortest-path and graph statistics) are available as plugins, but they are not collected in a common location. We can borrow some code from [http://jung.sourceforge.net/ JUNG] project for this part. See ["Future Cytoscape Features/Simple graph statistics"] page.
Line 38: Line 59:
 * Linkout from Attribute Browser
 * Cytoscape Class Cleanup
 * !CyAttributes Name Clashes
 * Clean up old bugs
 * '''Linkout from Attribute Browser''' Lead: ??? - Get Linkout and Linkout from Attribute Browser using the same code. Make sure that linkout works for any attribute, not just ID.
 * '''Cytoscape Class Cleanup''' Lead: ??? - Ongoing.
 * '''!CyAttributes Name Clashes''' Lead: ??? - Related to attribute namespaces?
== Move to 3.0 ==
 * '''Headless mode/Layering.''' See the [:CodeLayering:Layering RFC] and the [:HeadlessModeRFC:Headless Mode RFC].
 * '''Refactor event handling, GINY, and others.''' As always, there is much refactoring to be done. Cleaning up event handling is particularly important because the current disorder is causing problems for plugin writers.
 * '''Spreadsheet capability for attribute browser.''' Lead: ??? - The ability to manipulate attributes within Cytoscape would provide users flexibility that Cytoscape currently doesn't have.
 * '''["Scripting"]''' Lead: Kei and Scooter - Both general scripting language support and Cytoscape original simple scripting language.

TableOfContents

Release 2.6 Use Cases / Overall Themes

  • Focus on improving existing features rather than adding new features.
  • Fix as many outstanding bugs as possible.
  • Fix as many micro-barriers as possible.

  • Make sure that the workflow described in the Nature Protocols paper is fully supported. While the protocol works as described, it can be brittle in places. The goal is to make this as robust as possible. Of course, supporting this workflow should NOT preclude the use of Cytoscape in other ways. We should NOT remove capabilities or flexibility. The protocol looks roughly like this:
    1. Load networks.
    2. Load attribute, synonym, and annotation information about the networks.
      • GO annotations
      • attribute files
      • synonyms?
      • Gene expression data (ArrayExpress?)

    3. Analyze the networks.
      • MCODE
      • jActiveModules
      • BiNGO
      • Cytoscape's built in tools like filters, selection, etc..
    4. Make joural quality images and publication materials.
      • Export graphics
      • Export session to web

Timeline

Release Date:

  • The first beta release should be available before the Cytoscape retreat: Nov 6th-9th, 2007.
  • The final release should go out before Christmas 2007.

Release 2.6 Feature Ideas (VERY tentative)

New Features

  • Support for ["Molecular Interaction Maps"] and/or SBGN. Lead: Allan [Agilent, MSKCC, NCI?] - To correctly render Molecular interaction maps or Systems Biology Graphical Notation would require the development of several new node shapes and other graphical capabilities. We will want to incorporate this support incrementally over two or more versions of Cytoscape. Some possible features (in order of difficulty, only a subset to be implemented):

    • links on Nodes for Processes, i.e. double-click on a Process Node and jump to a new Network View.

    • editor, renderer, and graph layout support for 90-degree geometry, e.g. snap-to-grid.
    • Coordinate System (like a legend except that it accommodates pans/zooms/viewport changes).
    • support for adding graphical annotations on an annotation plane (see layered graphics below).
    • editor, renderer, and graph layout support for new edge types, new node shapes.
    • add, drag/drop structured evidence onto a Node or Edge
    • editor 'templates' for composites
    • sub-molecular entities, e.g. binding sites, domains, splice variants. Introduce the construct of a 'site' on a node.
  • Support for layered graphics. Lead: ? [MSKCC, Agilent, Gladstone?] - The goal is to allow users to add images or other graphical objects to the background and foreground of networks to further enhance network visualizations.

  • Cytoscape Themes. Leads: Sarah and Alex - We think it would be useful to provide customized versions of Cytoscape for specific users. An example would be a biologist themed release that would include all plugins to support import/export of biological file formats.

  • Filter UI redesign. Lead: Peng - To construct complex filter with the combination of AND, OR, and NOT.

  • Dynamic Filters. Lead: Peng - develop an algorithm to apply filter with time complexity ~ lnN. N is the total number of nodes and edges.The intent for the changes to the filters UI is to allow dynamic selection of nodes and edges based sliders and other widgets in the filter. This isn't possible for 2.5 so we've pushed it to 2.6.

  • Attribute namespaces. Lead: Mike - Extend attributes to include the concept of a "namespace". This could be used to bind node attributes to specific networks, to specific groups, or to simply provide some assurance of uniqueness for plugin authors by binding an attribute to a plugin.

  • Refactor the Network Manager to support selection and operations on multiple networks. Lead Mike and Kei - It is often the case that users have hundreds of networks loaded at any given time. It would be useful to be able to perform operations (such as applying a layout) on more than one network at once. Also, we need to separate Network Panel's tree data model from GUI.

  • Web Service Client Manager and User Interface for Bio Web Services (Biomart/NCBI/KEGG) Lead: Kei - Provide a simple interface to bio-database web services that will facilitate id mapping and attribute import in Cytoscape. This will address use cases 3 and 4 listed [http://baderlab.org/IdentifierMapping here].

  • Modal Label Positioning Lead: Mike - Provide an edit mode to Cytoscape that allows node labels to be moved simply by clicking on them and dragging.

  • Clean up old bugs Lead: Everyone - Ongoing.

  • In memory session saving Lead: Mike - Explore writing a session file without first writing tmp files. We should be able to do everything in memory. This will prevent many permission error bugs.

  • Properties Lead: Mike and Sarah - We need global properties that are saved in the .cytoscape directory automatically, in addition to the cytoscape.props. Some use cases are: saving the last directory used, saving bookmarks stored by users.

  • Load Networks Lead: Ben - Update the existing Pathway Commons Plugin (which provides connectivity between pathwaycommons.org and Cytoscape) to provide similar functionality as the cPath Plugin.

  • XGMML improvements Lead: Scooter - Rewrite the XGMML reader and writer to significantly reduce the transient memory use and improve performance.

Enlist non-core developers

  • Undirected Edges Lead: Mike - Add proper support for undirected edges.

  • ["Consolidated graph analysis plugin"] Lead: Kei - Several graph analysis algorithms (e.g. shortest-path and graph statistics) are available as plugins, but they are not collected in a common location. We can borrow some code from [http://jung.sourceforge.net/ JUNG] project for this part. See ["Future Cytoscape Features/Simple graph statistics"] page.

Backlogs from 2.5

  • Linkout from Attribute Browser Lead: ??? - Get Linkout and Linkout from Attribute Browser using the same code. Make sure that linkout works for any attribute, not just ID.

  • Cytoscape Class Cleanup Lead: ??? - Ongoing.

  • CyAttributes Name Clashes Lead: ??? - Related to attribute namespaces?

Move to 3.0

  • Headless mode/Layering. See the [:CodeLayering:Layering RFC] and the [:HeadlessModeRFC:Headless Mode RFC].

  • Refactor event handling, GINY, and others. As always, there is much refactoring to be done. Cleaning up event handling is particularly important because the current disorder is causing problems for plugin writers.

  • Spreadsheet capability for attribute browser. Lead: ??? - The ability to manipulate attributes within Cytoscape would provide users flexibility that Cytoscape currently doesn't have.

  • ["Scripting"] Lead: Kei and Scooter - Both general scripting language support and Cytoscape original simple scripting language.

Cytoscape_2.6 (last edited 2009-06-02 19:10:02 by 142)

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