<> = 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. * 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: * 2.6 beta 1 was released on Feb 15, 2008. * 2.6 beta 2 was released on March 14, 2008 * Final release is scheduled for March 28, 2008 = Release 2.6 Features = == New Features == ||'''Title''' ||'''Lead''' ||'''Description''' ||'''Status''' || ||'''Cytoscape Themes.''' ||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. ||Ready for testing || ||'''Filter UI redesign.''' ||Peng ||To construct complex filter with the combination of AND, OR, and NOT. ||Ready for testing || ||'''Dynamic Filtering algorithm''' ||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. ||Testing || ||'''Refactor the Network Manager to support selection and operations on multiple networks.''' ||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. || Ready for Testing || ||'''[[BioWebServiceConnectivity|Web Service Client Manager and User Interface for Bio Web Services (Biomart/NCBI/KEGG)]]''' ||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]]. ||[[BioWebServiceConnectivity|RFC]] is ready. IntAct, NCBI and Biomart clients are ready for testing. || ||'''Modal Label Positioning''' ||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''' ||Everyone ||Ongoing. || || ||'''In memory session saving''' ||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. ||Ready for Testing || ||'''Properties''' ||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. ||Will not be part of 2.6, may be part of a maintenance release of 2.6|| ||'''Workflow Panel.''' ||Allan ||A Cyto''''''Panel that presents a list of actions corresponding to the steps of the Nature Protocols workflow above. When the user clicks on an item in the list, the appropriate step in the workflow is initiated. || || ||'''XGMML improvements''' ||Scooter ||Rewrite the XGMML reader and writer to significantly reduce the transient memory use and improve performance. ||Ready for testing || ||'''Load Network from URL improvements''' ||Scooter ||Enhance the Load Network from URL to not use temporary files ||Ready for testing || ||'''Load Networks''' ||Ben ||Update the existing Pathway Commons Plugin (which provides connectivity between pathwaycommons.org and Cytoscape) to provide similar functionality as the cPath Plugin. || || ||'''Linkout from Attribute Browser''' ||Kei || Get Linkout and Linkout from Attribute Browser using the same code. Make sure that linkout works for any attribute, not just ID. || Ready for testing || == 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 == * '''Cytoscape Class Cleanup''' Lead: ??? - Ongoing. * '''!CyAttributes Name Clashes''' Lead: ??? - Related to attribute namespaces? == Move to 3.0 == * '''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. * '''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. * '''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. * '''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. = Testing Cytoscape 2.6 = * [[/Test Plan - 2.6|Test Plan - 2.6]]