=== April 2010 Sprint === * Install new servers and move remaining ldap machine to black box * Move MCODE collapsible jpanel into the core so that other plugins can use it. * ModFind UI tweaks. Put scoring parameters in an "advanced options" hideable panel (like MCODE). Align all labels and fields. Update Name. Use hideable panel from MCODE that will have been moved to the core. * ModFind network refactoring. Instead of providing one network with two attributes, request 2 networks. Each network should provide the option of specifying an attribute to use for the calculation or, if left blank, a binary attribute is induced from the presence of the edge. * jActiveModules refactor attribute selection. Treat p-value attribute (float between 0 and 1) the same as before, but for non-p-value numeric attributes list them in a table with the min described as most significant and the max described as least significant and then provide a checkbox which allows you to toggle the significance. These values will then be transformed automatically within jactivemodules to be 0-1 values, possibly using Quantile normalization. If Quantile Normalization is used, consider creating a separate utility object for this. Consider an advanced option that allows users to choose the normalization technique. Hightlight any attributes that will be normalized (like with a red exclamation point with suitable mouseover text). * Find a large network and expression data set to test JActiveModules (make this part of the benchmark plugin?) * Create a common visual style for Module finding algorithm results. The visual style should use pre-defined attribute names for specific visual properties. The module finding algorithm will then simply set the attributes for the overview network. Edge thickness should be a function of the number of shared nodes between nested networks. * Add tooltip text over the search dialog in the plugin manager that describes what is being searched. * Fix the problem where the "back to all plugins" button appears on Macs (doesn't happen on windows). Test on Linux. * Create tabs at the top of the Plugin Manager where one tab contains the search dialog and the other tab contains the download settings. Consider integrating the download settings dialogs that popup into the tab directly. * Dynamic Custom Graphics RFC - Render custom graphics node dynamically using attributes. Consider the idea of adding a new mapping function to integrate this into the VizMapper. Also consider whether the enhanced passthrough mapping described elsewhere would be sufficient for this. Identify the changes to the API that would be necessary for each approach. * Explore the idea of allowing a string attribute that is a URL to be interpreted as a custom graphic, presumably with a passthrough mapper. We should make any API changes flexible enough to allow passthrough mappers to allow strings to be interpreted as any type (colors or NodeColor, number for sizes, shape names for node shapes, etc..). Consider using the string parsing that we already use for serializing visual properties in vizmap.props. * Allow image files (not just URLs) to be dropped on the custom graphics image manager. * Add a Custom Graphics position (like label position) Visual Property. * Create a custom graphic image size dependency. The idea is to either scale images to the size of nodes OR leave images at their native resolution. We should think about whether this requires a Custom Graphic Size visual property in addition to the dependency. Maybe have two different visual properties. Custom Graphic Size is an absolute value for when the graphic is not bound to the node size and Custom Graphic Size Ratio is for when the graphic is bound to the node size. * Add a function button to the attribute panel that will popup a dialog that lists all available functions (like excel) and provides an editor for them. * test equations on a network with 100,000 nodes * add Excel-like "fill-down" for equations * fix cell-content-disappearing problem * write manual for functions * Evaluate Ingenuity, GeneGO, VisANT, Gephi, Vanted resulting in a brief written report of their functionality, pros/cons vs Cytoscape, and primary recommendations for new Cytoscape backlog items. Note features we might want to adopt. Evaluate in terms of performance. === March 2010 Sprint === * Bugs 0002127: When opening more than one network, windows are not refreshed when moving - Same as bug 2199 * Bug: Investigate why Janusz Session is slow at mouse selection and rendering functions. * Bug: UniProt Gene Association file is not readable in ontology import. Also, need to check association file locations are up to date * Measure how long it takes to render networks of various size, measure how long it takes to render a static image snapshot of a network, compare and contrast. * Create a common visual style for Module finding algorithm results. The visual style should use pre-defined attribute names for specific visual properties. The module finding algorithm will then simply set the attributes for the overview network. Edge thickness should be a function of the number of shared nodes between nested networks. * Create a benchmark plugin that can run a specified "action" and then print out time and memory statistics. Basically, this will be a plugin that simply executes a number of pre-specified CytoscapeActions and measures the duration of each. * Create a suite of benchmark tests (for the benchmark plugin) that exercise different variants of the "render 100,000 objects" scenario. For example, render 1 network with 100,000 nodes, 100,000 networks with 1 node each, 10,001 networks with 10 nodes each with one nesting overview network, etc.. * Get the complete human interaction network from IntAct and run MCODE (make this part of the Benchmark plugin?) * Work with grad students to update ModFind to roughly reproduce Sourav's results. * Make module finding UI consistent across JActiveModules, MCODE, ModFind. * A way to search for plugins from within the plugin manager. * Search dialog for plugin website using existing metadata. * Implement equation attributes (http://cytoscape.wodaklab.org/wiki/Cytoscape_2.8/EquationAttributes) RFC 65 * Custom Graphics as a Visual Property (CustomNodeGraphicsVisualProperty). * Write Simplified 3.0 plan. === February 2010 Sprint === * Execute Test Plan for 2.7 * Update Test Plan for 2.7 * Update Cytoscape manual for Nested Networks * Generate release beta release and final release files (this includes generating a new manual) * Create an easy way to allocate memory in Cytoscape (mantis 2070) * Remove "install web services pack" and make all of those web services part of the core. * Optimize nested network rendering. Instead of storing BufferedImages for nested networks, store PNG (or some other compressed image format) images. * Optimize nested network rendering. Allow user to specify resolution of nested network image. * Verify that custom graphics still work sensibly. * Add threshold cytoscape property to create views for modules. Set threshold to 0 by default. Creates the N top most modules where "top most" is algorithm specific. * A new network icon for "add nested network" in the editor. Beautify. Center icons within borders. * Change the name of the NODE_NESTED_NETWORK_VISIBLE visual property. (e.g. NODE_SHOW_NESTED_NETWORK) * In a branch add network icon image to the Network Panel. Add a checkbox to turn this feature on/off. * Configure cytoscape so that it remembers its window size each time it starts. * Bug 1843: Properly handle exceptions during plugin loading * Bug 2126: Cytoscape main window should remember its previous location * Bug 2107: Visual Style Changes Do Not Survive Saving And Loading to/from an .XGMML File * Bug 2132: Menu item "Plugins/Update Plugins" is broken * Set column size width for Attribute Browser isn't 100% consistent. We seem to notice automatic resizing when switching column order and when setting column widths to small sizes. Just play with this a lot to reproduce. * Bug 2066: Popping up a browser on Ubuntu linux doesn't work. Refactor so that we try a list of possible browsers and popup and error dialog if we can't find one we like. * Bug 1735: The install wizard suggest an older directory for the installation * Bugs 2111: Exception during import Vizmap property file * Bug 2026: The error message when incorrectly guessing attribute type fails isn't very helpful. * Bug 2113: Need suggested file name and extension when export network as GML format * Bug 2112: Suggest file type when export network * Bug 2110: File type in the session saving dialog should be restricted to "cys" * Bug: Encode persistence in order and width of columns in CyAttributesBrowser SESSION * Self-referential nested networks cause rendering weirdness when moving nodes around. * Bug 2050: The key bindings for New->Network->From... clash with Mouse Drag Selects -> Nodes Only * Write an RFC describing integrating custom graphics into the VizMapper and CyAttributes. * RFC for updating plugin website. * Update Denovo plugin to force two different attributes to be chosen for the search. Choose sensible defaults. * Denovo plugin should only start if proper attributes exist. Determine what the criteria are and if they don't exist display an error dialog explaining the problem. * Add error checking to Denovo to make sure that start button is enabled only after proper (two different) attributes have been selected, * Organize (unify) menu options for module finding plugins. * Bug 2024: The url regular expression used for loading files matches things other than regular expressions. * Bug 2102: Network Merge Difference Operation is Incorrect for at Least Some Networks * Bug 1936: Strange attribute names get converted into non-existent files * Update the equation RFC by specifically addressing performance. (Questions: Do we evaluate when we get the attr or set the attr - explain problems with each. Will attributes that aren't equations be affected? Do we precompile equations? etc.) * Bug 2084: it's hard to hide the tool panel - it behaves differently than the other cytopanels * Filters: create default filter * Bug 2022: jActiveModules error message isn't helpful * Add progress bars to module finding algorithms. * Tweak module finding GUI code so that components fit nicely and resize nicely (scroll bars pop up, etc) * Create a common visual style for Module finding algorithm results. The visual style should use pre-defined attribute names for specific visual properties. The module finding algorithm will then simply set the attributes for the overview network. Edge thickness should be a function of the number of shared nodes between nested networks. * Unify button names and placement for Module Finding * Unify network selection for Module Finding (combo box at top) * Run network rendering benchmarks on 2.5.x, 2.6.x, and 2.7.x versions of Cytoscape. * Make all menu titles in Cytoscape consistent - like Firefox, Word, Excel, etc., captialize all words except "and", "a", "for", etc. * Bug 1835: The calculation of the default edge handle for multiple edges between nodes is flawed. * Bug 1827: render.stateful.renderGraph() Is Using the Wrong Variables For Custom Graphics * Bug 2169: Error while importing attributes from Biomart * Bug 2175: Programmatically generated Visual Style does not recognized by VizMapper GUI * Bug 1873: VisMapper gets confused * Bug 2181: Make BioMart client query from selected nodes * Bug 2182: Attributes are missing for genes in original query (NCBI Clinet) * Bug 2119: EditorDisplayer for Node Line Style is broken * Bug 1961: import of Annotations is always case sensitive even when you uncheck Case Sensitive box * Bug 2190: table Import does not support xlsx format file * Bug 2019: Table Import order of operations error after clicking "Show all entries" radio button * Bug 2174: Unable to edit network name on 'Edit bookmark' window * Cytoscape plugin website: the admin page should use the text field to display conmpatible Cytoscape versions instead of radio buttons * Bug 2192. When using the Nimbus UI style, the editor pane has size problems. * Bug 2197 When failing to import a file, pop up a confirmation dialog informing the user of the problem. * Bug 2147 Add an entry to the node/edge menu for hiding a node/edge. * Bug 2195: Proxy port number windows is too small. * Bug 2196: When the control panel is not being displayed, the "View/Show Tool Panel" does not show the tool panel. (Hide or grey out the menu entry when it is inapplicable.) === January 2010 Sprint === * Port MCode - Edges in overview graph can be used to indicate that nodes in nested networks exist in both nested networks. * Port JActiveModules - Edges in overview graph can be used to indicate that nodes in nested networks exist in both nested networks. * Implement Rohith/Greg/Sourav/PLoS CompBio 2008 code * Write a demonstration plugin that provides the ability to visualize the edges that exist between nodes that are in nested networks (providing a DualLayout type of visualization). * Apply visual style to multiple networks (selected in NetworkPanel) * Make Network Panel pop-up commands consistent (allow user to apply commands to selected networks) * Allow ArrowHead color to inherit from Edge Color. Provide an option for coupling and decoupling this feature. * RFC for feature to allow functions in AttributeBrowser cells. * A visual property that will determine whether to display the nested network or not and add VizMap GUI support for boolean properties. * Fix looping problems with NNF formats (2123, 2122) * Write a mini-review of Cytoscape in English and translate it into Chinese. * Prepare for BioHackathon 2010. Make RDFScape work with the trunk code (2.7.0). * Encode width of columns persistence in order and in CyAttributesBrowser (code is in coreplugins/browser). * Attribute browser code to allow editing list attributes. * Bug 0002109: Apply Visual style on wrong view when import XGMML file. * Filters Bug: Colons in filter string breaks filter restoration. * Old Filters: save defined filters (properties) to session. * QuickFind bug: Null pointer exception when many subnetworks are created. === December 2009 Sprint === * Allow Nested Network Model by adding getNetwork/setNetwork methods to CyNode * Network Browser - Network attr indicating its parents, node attr indicating its children * File I/O support for nested networks (NNF Reader, XGMML Reader/Writer, and refactoring for session reader/writer) * Network Editing - Add an icon in editor that allows a network to dropped on a node or on the canvas (where a node would be created) * Network Editing - Add a right-click option to the node menu allowing a network to be added/removed * Right click on a node menu option to jump to nested network * Rendering - recursive rendering (a nested network will be rendered within the bounds of a node by a recursively defined renderer.) Assuming rendering only, NO user interaction * Label Wrap - add an option to LabelPosition that allows a node/edge label width to be specified and automatically wraps lines when the text is longer than the width * GenomeSpace analysis task requirements (due in Jan) * Add new edge types to Cytoscape (dotted [circles, not dashes], dot-dash, ////, sine wave, parallel lines, ->->->->, parallel lines with single sided arrows) * Editor - update editor instructions * Editor - add check box that allows node id to be specified when node is dropped (mantis 2087) * BioMart plugin maintenance * A PSIQUIC client release (This works with 2.7) * Maintenance release for Scripting plugins * Select all nodes/edges is very slow * Bug - Fiddling with default visual style and node label position broke all of the control panel. * Add newlines in the attr browser by either adding \n manually or by typing alt-enter, some combination. Do whatever excel does. (mantis 2088) toggling between large networks can be slow (mantis 2068) * Bug: In PluginManager Dialog, "Released by" field is missing for some installed plugins * Bug: In Pluginmanager dialog, some plugins are labeled "out-of-date" incorrectly