## 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''' : BooleanLogic || ||'''For Feature''' : MIMEditor || ||'''Editors''': DavidKane || ## 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 wants to use the logical expressions AND or OR to describe the participants in a reaction. == 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 specifies an existing contingency relationship (e.g. ../ProcessStimulation or ../ShowInhibition) 1. User specifies another species to be involved in that relationship 1. User specifies a logical operator (i.e. AND or OR) 1. User connects the species to the relationship using the logical operator 1. User optionally specifies the evidence for this reaction == Visual Aides == ## Provide attachments to images to illustrate the use case (screenshots, mock-ups, storyboards, etc) The AND notation uses converging edges to form an accute angle to indicate that all of the elements on the left, are required by the contigency relationship indicated by the arrowhead on the right. {{attachment:booleannotation1_061117_dwk.png}} The OR notation uses parallel edges to to indicate that all of the elements on the left, can independently have contigency relationship indicated by the arrowhead on the right. {{attachment:booleannotation2_061117_dwk.png}} == 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") TBD == 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"). The importance of this feature is uncertain. It is certainly a mechanism that has been used in many maps. On the other hand, most cases can be represented with some combination of contigencies (e.g. ../ShowInhibition, ../ShowNecessity) == Variations == {{attachment:booleannotation3_061117_dwk.png}} Some maps also use the following shorthand notation. This the shorthand notation for AND, it is the equivalent of the example above. {{attachment:booleannotation4_061117_dwk.png}} This the shorthand notation for OR, it is the equivalent of the example above. {{attachment:booleannotation5_061117_dwk.png}} This the shorthand notation that combined AND and OR, it is the equivalent of the example above. {{attachment:booleannotation6_061117_dwk.png}} == 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"). The AND and OR notations can be combined, as in this example. == Comments == Shared ../MimEditorUseCaseComments BioPax representation TBD ---- AllanKuchinsky - 2007-01-19 03:24:53 At the model level, we might represent this as hyperedges whose ConnectorNodes have a specific NODE_TYPE, 'AND', 'OR', 'NOT'? At the view level, this might require something akin to a 'macro' that rendered a set (Group?) of hyperedges and ConnectorNodes as a grid of AND/OR notations. Are we in effect borrowing the construct of a 'gate' from CAD systems? Should we consider introducing this construct into Cytoscape, possibly as a layer of abstraction built from Hyperedges and Groups? ---- MiritAladjem - 2007-02-01 08:15:58 Yes, we are thinking about the Booleans in terms of CAD gates. ---- vicce001 - 2007-02-28 11:19:32 whats the definition of booleanlogic