From
GDScenarioReqs --
AnilWipat - 24 Apr 2003
Initial bulleted comments by --
ChrisGreenhalgh - 25 Apr 2003
See also
GDScenarioNetBeansReqs
See also data
ClassificationWizardNotes --
ChrisWroe - 28 Apr 2003
Visualisation and interaction requirements for the GD scenario.
...
1st section of the scenario:
1) User needs to
interact with labbook to create a new project.
- The NetBeans MIR filesystem/view shows a hierarchical view of existing projects as folders (WorkContexts? in the MIR).
- The user selects one, and right clicks, from the context menu selects New->Project. This opens the NetBeans New Wizard with the appropriate Project template; the user enter the project's name, and perhaps a descriptive comment.
- In the combined filesystem/view implementation (current) the Project is a filesystem folder; the filesystem creates the corresponding MIR WorkContext?.
- In the version with separate filesystem and view the Project is a filesystem file (of type WorkContext?), which again creates the corresponding MIR WorkContext?. A new view node shows this new WorkContext? file as a virtual folder.
- The description creates a StringAnnotation? in the MIR with predicate 'comment' or 'description'. This metadata may be visible
- (a) as properties in the standard property pane (exposed as properties of the MIR filesystem file/folder) or
- (b) in a possible new annotation/metadata TopComponent?, tailored to this purpose.
2) User needs to
interact with labbook to upload a collection of
AffyIds? to the new project
- Option 1: the user mounts the local filesystem in NetBeans. They copy the file, and paste it into the project folder in the MIR filesystem.
- This creates a new file in the MIR filesystem and a corresponding DataThing? in the MIR.
- It may be that this file is initially editable (but cannot be used in workflows etc.), and only becomes immutable (and usable in workflows etc.) following an explicit commit action. This would be required to allow the user to edit things in or on the way into the MIR.
- cont.: either as a result of this, or by an explicit context action on the new MIR file the user opens a Classify data wizard. They use this to select the concept(s) (mygrid:Affymetrix_HG_U95_probe_id) and (perhaps implied from this) MIME-type (text/x-record-ids) (and/or other types) for the new file from (say) a drop down list (say) configured from a new NetBeans Option.
- This adds additional 'isA' Annotations to the DataThing? in the MIR, which are visible in the standard file's properties as 'concepts'.
- Option 2: the user right clicks the Project folder and selects action myGrid->New->Imported Data. This opens the New Wizard for Imported Data, which allows the user to select the file to be imported, and then classify it (as above).
- Other than not requiring support for pasting into the MIR filesystem the other internal requirements are as for option 1.
3) The user will be required to
visualise the uploaded collection of
AffyIds?
- The user double clicks on the file (or selects Open from the context menu). A textual or tabular (e.g. DB name, DB field, entry) view of the file opens on in the editor area of the screen.
- There is a DataLoader associated with the mime type text/x-record-ids.
- This creates a new custom DataObject? for record id files that parses the file to an internal representation of a list of record ids.
- This data object (or its default custom node for record id files) supports the Open cookie, allowing it to be opened.
- The Open support creates a new record id list Panel which takes the internal representation and maintains the table view.
- The record id file node also exposes the parsed record ids as its child *record id node*s. This allows individual record id(s) to be selected in the explorer view.
- Hopefully, the record id list panel also monitors the current selection, and can allow the user to set the currect selection by selecting entries within it.
4) User
interacts with labbook to create a new experiment - involves a subset of interactions, to specify starting dataset and the appropriate workflow definition. In the first case the workflow used in the GD scenario is workflow 1, the annotation pipeline.
- First a New->Experiment is made exactly as for a new project. Or perhaps its is just a new (sub) project?
- The user selects the record id list file or multiply selects one or more record id nodes, and from the context menu chooses myGrid->Find Workflow Definition.
- This opens the Find and Run Workflow wizard. This checks the current selection(s), and in particular their concept type(s). It uses this, plus further choices made by the user (e.g. function) to query the SemanticFindService? (which had previously indexed the WorkflowDefinitions in the MIR) for suitable WorkflowDefinitions. [Phil]
- In the case of a multiple selection the user may also need to distinguish (a) repeating the workflow for each item or (b) running the workflow on the set as a whole. I'll assume that we will repeat the workflow for each item.
- (cont.) The user sees a list of matching WorkflowDefinitions. [responsible: Phil] The wizard may allow the user to visualise them (as per Tom's visualisation). [responsible: ??] The user chooses one of the available WorkflowDefinitions. [responsible: Phil]
5) The user
interacts with the labbook to run the defined experiment.
- (cont.) The wizard now shows them the default parameters, and allows these to be changed (simply) if desired. If they haven't already, in the case of a multiple selection the user chooses between (a) repeating the workflow for each item or (b) running the workflow on the set as a whole. They choose Run, and the workflow is started. [responsible: Kevin]
- The WorkflowInstance? can be created in the MIR at this point, with its 'hasInput' Associations. This now becomes browsable.
- A new workflow monitor window (comparable to the Java output/compiler windows) shows the status of running workflows at the bottom of the screen.
- When the workflow completes the outputs are added to the MIR with the corresponding 'hasOutput' Associations. The WorkflowInstance? provenance is set/updated in the MIR.
- The user may receive (a) a notification that the enactment has finished and/or (b) a notification that new (output) data has been placed in their current project (WorkContext?) on the MIR. This notification may be visible (a) briefly in the NetBeans status bar (b) in a possible new notification ticker tape window in the NetBeans interface and/or (c) in the NetBeans notification client filesystem/view.
- Not sure about notifications from the enactment engine.
6) The user requires a method of
visualising the results of experiment 1. In the case of the annotation pipeline these results will be as a minimum, for each
AffyId? in the input collection,:
The original
AffyId?, a single line annotation, EMBL id,
SwissProt? id, Omim id,
PubMed? id, and the GO term.
A Tabular view is one suggested method for viewing the results of this experiment.
(These ‘results’ are derived from the output of intermediate services in the workflow. The GO term is the final output of the workflow. The workflow will store the intermediate results of each service in the IR)
- There is now one WorkflowInstance? for each input ID (see assumption above). Each has one input (the Affymetrix probe set ID) and 6 individual outputs.
- Not sure what the 'single line annotation' is; presumably a text file.
- EMBL id, i.e. record id file with a single EMBL record id in it.
- SwissProt? id, i.e. record id file with zero or one SwissProt? record ids in it.
- OMIM id, i.e. record-id file with zero or one OMIM record ids in it.
- PubMed? id, i.e. record-id file with zero or more PubMed? record ids in it.
- GO term, i.e. record-id file with zero or more GO term URIs in it.
- Option 0: The user browses the individual inputs and outputs in the explorer
- Option 1: The user selects the resulting WorkflowInstances? in the explorer. A workflow summary top component displays a tabular summary of the above.
- Option 2: The user selects the resulting WorkflowInstances? in the explorer and chooses the action Generate Workflow Summary, which produces a window or report (DataThing?) containing the above tabulated information.
- Presumably the user also wants to view the corresponding records?!
- The record id node supports a context operation myGrid->Fetch Record.
- This fetches the corresponding record and (say) copies it into the MIR with the record id, and some MIR Association to link the two.
- Perhaps NetBeans Options configure (say) URL patterns for the record id node to use to fetch the record from SRS at the EBI, or from an equivalent WebService?.
- The fetch operation may allocate some plausible MIME type (text/x-record or text/x-sequence) and concept ids (maybe).
- The user might need/want to do additional classification??
- The user opens the retrieved record, seeing a textual view in some cases, or a simple graphical sequence view with features and annotations in the case of sequence files.
- The MIME type causes a sequence DataLoader? to be used.
- This creates a sequence DataObject? which parses the sequence file, generating an internal sequence representation, possibly BioJava?'s Sequence/SymbolSet/Annotation/Feature interfaces.
- The sequence file node includes *sequence node*s as its children.
- The open support on the sequence node opens a sequence view panel which renders the internal sequence representation from the underlying sequence DataObject? using (say) the BioJava? sequence rendering facilities.
- The sequence node may expose the internal model as *symbol list node*s, *annotation node*s and *feature node*s. Selection of these may be synchronized with selection of their visual representations in the sequence view panel.
- The user can also Open the WorkflowInstance? to see:
- Option 1: the raw XML of the provenance XML file.
- Option 1b: the (standard?) XML hierarchical explorer view linked to the XML editor view.
- Option 2: the current XSL prettification of the provenance XML file.
- Option 3: (probably longer term) a specialised view with explorer support based on a provenance DataLoader?, provenance DataObject?, provenace node and various provenace sub-nodes (e.g. actions, inputs, outputs, intermediate values).
2nd section of the scenario
1) The user needs to interact with the client to select which gene (
AffyID? or EMBL id) they want to take through the second experiment. Ideally this will be selected from the results of experiment 1.
- The user selects the original input record id, or corresponding output EMBL, either in the explorer or in the tabular view (but probably not in the geneated summary, option 2 above, which is unlikely to have a live link to the data/selection).
- Second Workflow comparable to the above.
2) The labbook will need to visualise the features associated with a particular gene. As a minimum this should be the positions of exons, introns and snp’s on the sequence. (it has been suggested that this could be performed using Artemis. This would require the SNP information to be added to an embl entry which is the desired input file for Artemis. Artemis could then display the SNP entries as variation features.)
- Sequence and feature viewing and slection as above.
3) The user will need to interact with the client in order to select a given SNP.
(I don't think it would be very easy to do this in Artemis, but may be wrong, features are clickable but how does this feed back to the client?).
4) The labbook will need to visualise the sequence of the suggested primers.
- Any additional requirements to the above??
5) The labbook will need to visualise the name of the suggested enzyme and its recognition sequence in the context of the SNP containing sequence.
- Any additional requirements to the above??
3rd section of the scenario
Requirements for the third section of the scenario are similar to the first.
1) The user needs to interact with the client to select which gene (
AffyID? or EMBL id) they want to use as input to the third experiment. Ideally this will be selected from the results of experiment 1. The third experiment produces more annotation about the proteins encoded by the ‘interesting genes’
2) The user requires a method of visualising the results of experiment 3. In the case of the annotation pipeline these results will be as a minimum, for each
AffyId? in the input collection,:
The original
AffyId?, the
SwissProt? id, a link to Interpro, a link to some PESTO output and a PDB id (if present).
A Tabular view would be ideal for viewing the results of this experiment. However, a PDB entry should be viewable in Rasmol or as text.
- May need PDB as an external viewer, with appropriate NetBeans configuration (e.g. options).
Original scenario --
AnilWipat - 24 Apr 2003
WP6 comments --
ChrisGreenhalgh - 25 Apr 2003