Use Case Name : Quick Find + Group Nodes integration |
For Feature : GroupAPI |
Editors: JimVlasblom |
<<TableOfContents: execution failed [Argument "maxdepth" must be an integer value, not "[2]"] (see also the log)>>
Summary
Quick find and/or Group nodes should be modified to allow the quick finder to locate nodes that have been grouped into a group node. Group nodes need to expose its members to the quick finder, and quick find should use this to search all subnodes of a group node in addition to the group node. Any highlighting or exploding of the group node should be handled by the group node code. This could be used for our plugin "GenePro", which creates composite pie nodes by grouping together several genes with a common attribute that belong to the same cluster. This creates a three level hierarchy: clusters -> attributes -> genes. Clusters are shown as pie nodes, and attributes as "wedges" within the pie. Genes are hidden within these pie nodes, but there are options to "zoom in" and expand each cluster into its component genes. Currently, GenePro has its own searching tools. If Quick Find and Group Nodes can be modified to allow genes to be found - even if hidden in a group node (pie node) - than we could take advantage of both the Quick Find plugin and group node functionality.
In preliminary discussions with Scott and Ethan, it was decided that Quick Find should also make the item found available to the group node and other plugins, so that those plugins can properly decorate/highlight the node. (In GenePro, for example, we would like to highlight the appropriate wedge of the pie if the item being searched is a gene attribute).
Finally, if the Quick Find text field was available as a Swing component, it would be possible to make custom search dialogs. This would be useful in our case, as we could create different buttons for finding genes, wedges, and clusters. This might be considered redundant - since the user could just specify different attributes to search on. I am concerned about usability, however, if the # of attributes is large. It may not be an issue for us: we don't store that many attributes per node, but it may be a problem for other plugins.
Step-by-Step User Action
When executing a search with Quick Find, the entire hierarchy of grouped nodes should be searched.
Requirements for Cytoscape
Only visible nodes are searched currently.
Importance
As we have another solution in place, it is not of immediate importance. In the future, I believe that it would save us (and other developers) time if we could use an existing search solution. The quick find plugin also contains a number of nice features (auto complete, etc.) that would be time consuming for us to add and maintain.