## These are wiki comments - leave them in so that people can see them when editing the page ## This template may be useful for documenting use cases ## Developed in response to a hackathon request for formalized, detailed use cases ## to help direct implementation proposals || '''Use Case Name''' : Network Clustering || || '''For Feature''' : Groups || || '''Editors''': Gary Bader || ## EXAMPLE: ## Use Case Name: Representation of Protein Complex ## For Feature: Grouping Function ## Editors: Mr. Knowitall <> == Summary == ## Provide a one paragraph description of the use case A user would like to find densely connected regions in a network according to some criteria and view the region as a single node. This usually has the effect of simplifying the network and making higher order network structure more apparent. == Step-by-Step User Action == ## Provide a step-by-step account of how the user would execute the use case. For example: (1) right click on node, (2) choose "expand" from context menu, (3) new view is created, etc... 1. User runs network clustering algorithm, such as MCODE, BioModules or ActiveModules to detect 'modules' in the network. Modules are connected subnetworks satisfying some criteria, such as densely connected or transcriptionally active. 1. User views results and chooses to collapse discovered modules into single nodes. The connections between the modules can be important. == Visual Aides == ## Provide attachments to images to illustrate the use case (screenshots, mock-ups, storyboards, etc) * An example copied from http://galitski.systemsbiology.net/projs/biomodules/index.html * {{attachment:biomodules.jpg}} == Requirements for Cytoscape == ## List the components/functions already in Cytoscape that are relevant to the use case and possible implementations (e.g., "current context menus can be used accomplish step 2 above") ## Also list components/functions that are needed in Cytoscape to execute the use case (e.g., "cytoscape needs to allow for multiple views of the same network for this to work") * Programmatic and user access to functions for grouping and ungrouping nodes. It is likely that all the above tools can use a common UI for allowing users to group/ungroup all modules or individual modules. * Some algorithms may allow nodes to be included in multiple modules, so it would be nice if the grouping API supported that. * Generally, it is fine to view just a simple circular node, not any fancy visualizations of the group. == Importance == ## Describe whether this use case is critical and how frequently users would come across it. Describe common work flows that might involve the use case (e.g., "this use case comes up regularly, on a weekly basis, whenever we want to analyze our protein superfamily networks"). * This is important for all network clustering algorithms, but doesn't preclude their use, so is not as important as some other use cases that are not currently possible. == Other Examples == ## List other applications or relevant examples outside of Cytoscape that provide some or all of the desired functionality (e.g., "You can do this using the group function in PowerPoint"). * No known examples. == Comments ==