← Revision 33 as of 2006-07-18 15:10:51
Size: 6469
Comment:
|
← Revision 34 as of 2006-07-18 15:11:52 →
Size: 6500
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 80: | Line 80: |
Time to index various networks: | ===Time to index various networks=== |
Line 82: | Line 82: |
BINDhuman.sif: 19,462 nodes, 30,779 edges. Time to index by CANONICAL_NAME: Conducted three trials: 408 ms, 300 ms, 307 ms. |
BINDhuman.sif: 19,462 nodes, 30,779 edges. Time to index by CANONICAL_NAME: Conducted three trials: * 408 ms * 300 ms * 307 ms. |
Line 84: | Line 87: |
BINDyeast.sif: 23,505 nodes, 60,457 edges. Time to index by CANONICAL_NAME: Conducted three trials: 305 ms, 304 ms, 379 ms. |
BINDyeast.sif: 23,505 nodes, 60,457 edges. Time to index by CANONICAL_NAME: Conducted three trials: * 305 ms * 304 ms * 379 ms. |
About this document
This is an official Request for Comment (RFC) for a Cytoscape Quick Find Feature.
For details on RFCs in general, check out the [http://www.answers.com/main/ntquery?method=4&dsid=2222&dekey=Request+for+Comments&gwp=8&curtab=2222_1&linktext=Request%20for%20Comments Wikipedia Entry: Request for Comments (RFCs)]
Status
Open for public comment.
How to Comment
To view/add comments, please scroll down to the bottom of the page. By adding your ideas to the Wiki directly, we can more easily organize everyone's ideas, and keep clear records. Be sure to include today's date and your name for each comment.
Try to keep your comments as concrete and constructive as possible. For example, if you find a part of the RFC makes no sense, please say so, but don't stop there. Take the extra step and propose alternatives.
Proposal
This RFC proposes a new Cytoscape Quick Find feature for Cytoscape 2.4. The goal of the feature is to enable Cytoscape users to quickly find nodes, and select them in the network view.
The feature will be based loosely on [http://www.google.com/webhp?complete=1&hl=en Google Suggest]. In Google Suggest, a user types a few characters, and Google automatically provides matching search terms which begin with these characters. Along the same lines, a Cytoscape users will type a few characters into a text box, and Cytoscape will automatically provide matching nodes which begin with these characters. The user can then select one of these matching terms, and the nodes will be automatically selected in the network view.
Here is a screenshot of my current prototype in action:
attachment:quick_find.png
By default, Quick Find will automatically index nodes based on Semantics.CANONICAL_NAME, and matching nodes will automatically be selected in the network view.
For more advanced users, the Quick Find feature will also support the following:
- Users can configure Quick Find to index nodes based on any attribute. Attributes of type COMPLEX will not be supported.
Quick Find will work with all Cytoscape plugins, so long as those plugins use CyAttributes to store attribute values.
Working Prototype / Implementation
A prototype, available as a Cytoscape Plugin is available at: http://cbio.mskcc.org/~cerami/quick_find/
The working prototype supports the following features:
- By default, users search by CANONICAL_NAME.
- Users can configure the Quick Find index to work with any attribute. Attributes of type COMPLEX are not supported.
Items to be added soon:
- Test on very large networks.
- Add support for network selected event.
- Add support for network destroyed event.
- Modify the default Cytoscape icons, so that the Quick Find search box fits in the default size window.
- Integrate changes to Task framework, e.g. add delay to pop up box.
Add support for text description of CyAttributes.
Add support for hidden CyAttributes.
Biological Questions / Use Cases
Quick Find addresses numerous biological use cases:
- Quickly find a single node, even if you do not know its exact name. For example, a user may wish to find the node named: "TGF-Beta". Using the current Cytoscape find feature, you must know the exact name of the node or enter a regular expression. With Quick Find, you simply start typing: "TGF", and Cytoscape will present all possible matches.
- Quickly find all nodes which match a specific attribute value. For example, a user may load a BioPAX network, and wish to view only those nodes which are located in the nucleus.
Deferred Items
None defined yet.
Required Changes to the Core
In order for the Quick Find feature to always fit within the main Cytoscape tool bar, we will need to shrink the tool bar icons.
The following changes are not required, but would be very nice to have:
Support for human readable descriptions of attributes in the CyAttributes API.
Support for hidden attributes in the CyAttributes API. Hidden attributes would be not displayed to the user via the regular attribute browser, nor would they be accessible for quick find indexing.
Open Issues
None defined yet.
Backward Compatibility
As this is a new feature, there are no backward compatibility issues.
Peformance Stats
The following section will contain details regarding the performance of Quick Find.
All experiments below were conducted on a Dual 1.42 GHz Power PC G4, with 2GB of RAM and Mac OS X 10.4.6.
===Time to index various networks===
BINDhuman.sif: 19,462 nodes, 30,779 edges. Time to index by CANONICAL_NAME: Conducted three trials:
- 408 ms
- 300 ms
- 307 ms.
BINDyeast.sif: 23,505 nodes, 60,457 edges. Time to index by CANONICAL_NAME: Conducted three trials:
- 305 ms
- 304 ms
- 379 ms.
Comments
EthanCerami, 07/05/2006 - This is a sample comment to get things started. Blah, blah, blah...
MikeSmoot, 7/5/06 - This is a very cool idea. Some thoughts:
- Why not index everything instead of just nodes? What about edges, attributes, etc. ? I can imagine a dropdown menu appearing with sections for nodes that match, edges that match, etc., in a manner similar to Spotlight on a mac.
A lot of this functionality already exists in a very similar form in the Select menu, we should make sure that the code doesn't duplicate any functionality.
Likewise, Cytopanel 3 has a lot of search functionality and we should make sure we're not duplicating anything.
- Would it make sense to put the search box in a tab in the browser pane or even replace cytopanel 3?
- I think a single search box will be a significant interface improvement over the various menus and dialogs that exist now.
GaryBader 7/5/6 - Also agree on the coolness of this plugin - do we need the find button? It seems that you could do without it to save some space. I guess it would be required if new users can't figure out what it does. In that case, maybe the background of the text input box (or default text) could say "Find...". Also, if we decide we need the button, a finesse feature would be to have the choice to hide the find button for advanced users - most web browsers and office apps have a feature similar to that to help manage the space taken up by toolbar buttons.