## Web GUI 31 October specifications.

$Id: webguispecs.html 190 2005-03-17 15:06:01Z jari$

Bold Underlined items are not implemented.

### Biomaterial functionality (in somewhat chronological implementation order).

NOTE1: When a Biomaterial is created from an existing Biomaterial (i.e. a parent exists in the database), the default name of the child should be the name of the parent followed by suffix ".yX" (where X is a number, 1 for the first child created, 2 for the second and so on, and y is a character denoting the type of the child where s=sample, e=extract, and l=labeled extract). The default name should be editable in the "New Biomaterial" dialogue window before saving.

NOTE2: All measured biomaterials (i.e. not BioSource) should have a protocol (connected to the BiomaterialEvent). For october 31 release this does not need to be implemented BUT the dropdown menu (empty) should preferably be available in the Biomaterial creation dialogue for demonstration purposes.

NOTE3: When the parent of a new Biomaterial (i.e. during creation of the new Biomaterial through the dialogue window) has a measured quantity this value should be displayed (getRemainingQuantity) along with original quantity (getOriginalQuantity), and the user should be able to specify amount used (of parent). For example: "23 ug available (out of original 100 ug)" is displayed and the user can fill in amount used.

1. List items for main menu "Biomaterials"

2. ShareableItem Permissions
All ShareableItems should in their edit-window (or something similar) have sharing settings to give permissions to Users,Groups and Projects.

3. List items for sub menu "Hybridizations"

1. Create new "Hybridization" (using button "" in the table header).

1. Through web interface (W) assign a name, description, Labeled extract(s) through dropdown(s), and so on. Dropdowns for Labeled extracts could default to one. Below the dropdown a button named "Additional Labeled extract" could be placed. If clicked, an additional dropdown appears (sort of like when filter criterions are added one after the other).

2. Add column "Labeled extracts" in the Hybridization table. In this column Labeled extracts associated with the corresponding Hybridization are displayed. Labeled extracts in this column are links to the Labeled extracts. Next to the name of the Labeled extracts the name of the label should be displayed, e.g., for labeled extract "ABC.e1.l1" labeled with label "Cy3" the column should hold "ABC.e1.l1 (Cy3)".

3. Hybridizations/Hybridizations SUMMARY columns:
• Row number
• Check boxes
• Name
• Labeled extracts
• Description
• Owner
• Shared
• Hyb date
• Array slide
• [newSc]
• Scans
• Images
• Results files
4. Biosource (Biomaterial/Biosources):

1. Create new "Biosource" (using button "" in the table header).

1. Through web interface (W) assign a name, description and so on.

2. Create new "Sample" from "Biosource". Add a function column in the Biosource table with a link "[newS]". When clicked, a "sample" is created from the corresponding "Biosource".

3. Add column "Samples" in the Biosource table. In this column child Samples from the corresponding Biosource are displayed. Samples in this column are links to the samples.

5. Sample (Biomaterial/Samples):

1. Create new "Sample" (using button "" in the table header). In this way a "New Sample" dialogue window, without selected parent, is created.

1. Through web interface (W) assign a parent (optional and accessed through a dropdown list of available parents, Q: one dropdown for Biosources and one for Samples?) , name, description, event date (i.e. Sample date), original Quantity and so on.

2. Create new "Sample" from "Sample", and new "Extract" from "Sample". Add 2 function columns in the Sample table with a link "[newS]", and "[newE]" respectively. When clicked, a "Sample" or "Extract" is created from the corresponding "Sample".

NOTE: an update will be required here (at some point when there is time). By selecting multiple "Samples", using the check boxes, and then using button "" in the table header a pooled sample is created.

3. Add column "Extracts" in the Sample table. In this column child Extracts from the corresponding Sample are displayed. Extracts in this column are links to the extracts.

4. Add column "Hybridizations" in the Sample table. In this column child Hybridizations from the corresponding Sample are displayed. Hybridizations in this column are links to the hybridizations.

6. Extracts (Biomaterial/Extracts):

1. Create new "Extract" (using button "" in the table header). In this way a "New Extract" dialogue window, without selected parent, is created.

1. Through web interface (W) assign a parent (optional and accessed through a dropdown list of available parents, Q: one dropdown for Samples and one for Extracts?), name, description, event date (i.e. Extract date) and so on.

2. Create new "Extract" from "Extract", and new "Labeled extract" from "Extract". Add 2 function columns in the Sample table with a link "[newE]", and "[newL]" respectively. When clicked, an "Extract" or "Labeled extract" is created from the corresponding "Extract".

NOTE: an update will be required here (at some point when there is time). By selecting multiple "Extract", using the check boxes, and then using button "" in the table header a pooled Extract is created.

3. Add column "Labeled extracts" in the Extract table. In this column child Labeled extracts from the corresponding Extract are displayed. Labeled extracts in this column are links to the Labeled extracts.

4. Add column "Hybridizations" in the Extract table. In this column child Hybridizations from the corresponding Extract are displayed. Hybridizations in this column are links to the hybridizations.

7. Labeledextracts (Biomaterial/Labeled extracts):

1. Create new "Labeled extract" (using button "" in the table header). In this way a "New Labeled extract" dialogue window, without selected parent, is created.

1. Through web interface (W) assign a parent (optional and accessed through a dropdown list of available parents, Q: one dropdown for Extracts and one for Labeled extracts?, name, description, event date (i.e. Labeled extract date) and so on.

2. Create new "Labeled extract" from "Labeled extract", and new "Hybridization" from "Labeled extract". Add 2 function columns in the Labeled extract table with a link "[newL]", and "[newH]" respectively. When clicked, a "Labeled extract" or "Hybridization" is created from the corresponding "Extract".

NOTE: By selecting multiple "Labeled extract", using the check boxes, and then using the link "[newH]" a Hybridization is created using the selected Labeled extracts.

3. Add column "Hybridizations" in the Labeled extract table. In this column child Hybridizations from the corresponding Labeled extract are displayed. Hybridizations in this column are links to the hybridizations.

NOTE: an update will be required here (at some point when there is time). By selecting multiple "Labeled extract", using the check boxes, and then using button "" in the table header a pooled Labeled extract is created.

8. Protocols (Biomaterial/Protocols)

NOTE: When you select the "Protocols" tab under the Biomaterial main menu you should list protocols in the current context. You should not jump to the "Administrate/Protocol" page. It is perfectly fine to have only 1 protocol page (i.e., in the background) but when accessed through the "Biomaterial" menu it should be shown in the context of the other "Biomaterial" tabs, and when accessed through the "Administrate" menu it should be shown in the context of the "Administrate" tabs.
9. ### Hybridization functionality (in somewhat chronological implementation order)

1. (Same as 3.a. above) Create new "Hybridization" (using button "" in the table header).

1. (Same as 3.a.i. above) Through web interface (W) assign a name, description, Labeled extract(s) through dropdown(s), and so on. Dropdowns for Labeled extracts could default to one. Below the dropdown a button named "Additional Labeled extract" could be placed. If clicked, an additional dropdown appears (sort of like when filter criterions are added one after the other).

2. (Same as 3.b. above) Add column "Labeled extracts" in the Hybridization table. In this column Labeled extracts associated with the corresponding Hybridization are displayed. Labeled extracts in this column are links to the Labeled extracts. Next to the name of the Labeled extracts the name of the label should be displayed, e.g., for labeled extract "ABC.e1.l1" labeled with label "Cy3"the column should hold "ABC.e1.l1 (Cy3)".

3. Add column "Scans", "Images", and "Results files" in the Hybridization table. In this column items associated with the corresponding Hybridization are displayed (when implemented). Add column "Array slide".

4. Create new "Scan" from "Hybridization". Add function column in the Hybridization table with a link "[newSc]". When clicked, a "Scan" is created from the corresponding "Hybridization"(similar to section 8.a., but with a parent-hybridization already selected. Default name for the "Scan" should be the Name of the parent-hybridization and suffix " scan X", where X is a number indicating the number of scans created for the corresponding hybridization. E.g., "HybridizationABC scan 1".).

1. Create new "Scan" (using button "" in the table header). In this way a "New Scan" dialogue window, without selected parent-hybridization, is created.

1. Through web interface assign a hybridization (optional and accessed through a dropdown list of available hybridizations), name, description, event date (i.e. Scan date), Scanner (dropdown), and so on.

2. Add column "Hybridization" in the Scans table. In this column parent-hybridization for the corresponding Scan is displayed. Hybridizations in this column are links to the hybridization.

3. Add column "Raw data sets" in the Scans table. In this column child-raw data sets for the corresponding Scan is displayed. Raw data sets in this column are links to the raw data sets.

4. Add column "Scanner" in the Scans table. In this column Scanner for the corresponding Scan is displayed.

1. By using button "" in the table header a "New Scanner" dialogue window is opened. Through the web interface, assign a name, description, and so on.

NOTE1: Scanner is a Hardware type (analogue to Protocol and Protocol type). Under main menu "Administrate", add sub-menu options "Hardware", and "Software". Implement it as done for protocols. As stated, in the current BASE2 we only support one Hardware type and one Software type, i.e., Scanner, and Feature extraction software respectively. In the future this could possibly be changed.

NOTE2: When you select the "Scanners" tab under the Hybridization main menu you should list protocols in the current context. You should not jump to the "Administrate/Hardware" page. It is perfectly fine to have only 1 hardware page but when accessed through the "Hybridization" menu it should be shown in the context of the other "Hybridization" tabs. This is analogue to the description of "Biomaterial/Protocols" (section 7 above).

1. By using button "" in the table header a "New Image processor" dialogue window is opened. Through the web interface, assign a name, description, and so on.

NOTE: Image processor is a Software type (analogue to Protocol and Protocol type). See the two NOTEs under Sub menu "Hybridizations/Scanners" (section 10 above).

14. Sub menu "Hybridizations/Result file formats"

NOTE: This does only list items of the PluginConfiguration class. As of yet there is no way of telling whether a PluginConfiguration item is a result file format or not.

NOTE: We will have to wait and see how importing raw data is implemented. I imagine that, if import is implemented through a plugin, this page will list various configurations of the import plugin. However, if import is implemented as a www client thingy something else will reside here (hopefully we"ll go for the plugin approach).

1. Start by implementing listing of "Raw data types"

2. Add columns; Name, Description, Nmbr of Channels, and Nmbr of fields (i.e., the number of RawDataPropertys (NOTE: we should discuss this)).

3. Wait with this until we discussed it \rightarrow [View Raw data type. I.e., when a Raw data type is selected (clicked) a window displaying information about the Raw data type is opened. This should include; Name, Description, Nmbr of Channels, and Nmbr of fields. In addition, it should list all RawDataPropertys in a table including; Name, Description, Length, and Type.]

17. ### Array LIMS lists (in somewhat chronological implementation order)

1. Only basic listing.
2. Needs edit/save/delete functionality.

1. Only basic listing.
2. Needs edit/save/delete functionality.

1. Only basic listing.
2. Needs edit/save/delete functionality.

25. ### Analyze data functionality (in somewhat chronological implementation order)

1. List table and edit dialogue. Simple and incomplete.
2. Should be possible to utilize Analyze/Plugin pages to do new RawDataSets

1. Only basic listing.
2. Needs edit/save/delete functionality.

1. List PluginDefinitions.
2. No edit functionality. PluginDefinitions defined externally.

1. List PluginConfigurations.
2. Configuration iteration loop.
3. Column with buttons to run plugins.
4. Plugins executable.

1. GUI

### Project functionality (in somewhat chronological implementation order)

dialogue for setting permissions for each user in the project.

Project feeling. Display current project clearly. Different stylesheets for projects? Different project colors?