Docstoc

SNiPer System Requirement Specification

Document Sample
SNiPer System Requirement Specification Powered By Docstoc
					                                                    SNiPer
                                                  Phase 0,1,2

     Document - ID              Specification Owner         Last Change                 Status
                                Chris Beck                  15. May. 2006               Draft
     Conforms to
     Applies to                 importer.cgi, resetthreshold.cgi, plateview.cgi, selectplates.cgi,
                                platedetails.cgi, login.cgi, adminHome.cgi,resetplatelayout.cgi
     Task ID(s)                 1
     Category                   Feature



     Abstract
     In these 2 phases of the SNiPer data flow, the user chooses one or more plates of genotyping results
5    from the Orchid database to be imported into the SNiPer database. After the importation statistical
     summary data is displayed on a plate by plate basis, and within each plate summary information is also
     provided for samples and markers.


     Development

                                Name                                          E-mail Address
      User Experience           Chris Beck                                    pharmacogenomics@gmail.com
      Development               Chris Beck                                    pharmacogenomics@gmail.com
      Quality Assurance         Tibor van Rooij                               tibor.vanrooij@mail.mcgill.ca
      Documentation             Chris Beck                                    pharmacogenomics@gmail.com

     Approved for Implementation

                                Approved by                                   Date
      User Experience           n/a
      Development
      Quality Assurance
      Documentation

      String Review

10   Document Change History

      Rev. Level    Change                                                                Initials Date
      1.0                                                                                            29. Apr. 2005
      1.1          Modifications to retrofit the actual program.                          csb        06.Sep.2005
      1.2          Add Known Samples                                                      csb        12.Oct.2005




     SNiPer SRS.odt
Contents
1       Glossary......................................................................................................................................... 1

2       Motivation...................................................................................................................................... 1

3       Technology Overview.................................................................................................................... 1

4       Typical Usage................................................................................................................................. 1

5       Goals............................................................................................................................................... 2
5.1     Iteration 1......................................................................................................................................... 2
5.2     Iteration 2......................................................................................................................................... 2

6       Requirements and Dependencies................................................................................................ 2
6.1     Requirements.................................................................................................................................. 2
6.2     Technical Dependencies................................................................................................................. 4

7       Competitive Analyses.................................................................................................................... 4

8       Detailed Specification................................................................................................................... 5
8.1     Phase 0........................................................................................................................................... 5
8.1.1   Import Plates................................................................................................................................... 5
8.1.2   Reset Thresholds............................................................................................................................. 6
8.1.3   Reset Plate Layouts......................................................................................................................... 6
8.1.4   Genotypes & Phenotypes................................................................................................................ 7
8.1.5   Known Samples............................................................................................................................... 7
8.2     Phase 1........................................................................................................................................... 7
8.2.1   Plate View........................................................................................................................................ 7
8.2.2   Sample Details............................................................................................................................... 10
8.2.3   Marker Details................................................................................................................................ 11
8.2.4   Select Plates.................................................................................................................................. 12
8.3     Phase 2......................................................................................................................................... 12
8.4     G11n.............................................................................................................................................. 12
8.5     Error Conditions............................................................................................................................. 12
8.6     Migration........................................................................................................................................ 12

9       Future Tasks................................................................................................................................ 12




SNiPer SRS.odt
                                  SNiPer System Requirements Specification

     1       Glossary
         Term                                                      Description
         Plate                                                     A 384 well plate used to obtain genotyping
                                                                   results on the Orchid SNPStream platform.
         Well                                                      A physical location on a plate that contains
                                                                   sample DNA and test markers.
         Marker                                                    A test for a specific SNP. Up to 12 markers
                                                                   can be tested for in each well on a plate.
         Sample                                                    A portion of DNA in a liquid suspension that is
                                                                   put into a well.




     2       Motivation
     The SNiPer tool will be used as a prototype to provide feedback-enhanced semi-automated quality control for
     a GLP pharmacogenomics lab. This is the first of several phases of data analysis, each of which is intended
15   to be refined and revisited as the process becomes clearer and historical data analysis becomes available.




     3       Technology Overview
     The Pharmacogenomics Centre uses several different high throughput genotyping technologies to detect a
     wide range of Single Nucleotide Polymorphisms (SNPs). Normally the machines test the addition of a base to
     the end of two strands of sample DNA. Normal human cells contain a pair of each different chromosome and
20   each strand comes from a different member of the pair. The relative intensity of the results allow us to
     determine if the sample represents an individual whose genotype is homozygous in either of the two test
     cases or if they are heterozygous. Although different technologies measure the DNA extension reaction
     differently, they all provide us with at least 2 different values that we can use cluster analysis on or use
     Cartesian plots or raw or transformed data to make the genotype call. 1 or more genotypes can be grouped
25   together to tentatively predict a phenotype and thus assist in medical diagnoses.




     4       Typical Usage
     SNiPer usage is divided into multiple phases. This represents the ideal data flow through the system.
     Obviously there will have to be allowances for results to move backwards from a more advanced phase to an
     earlier phase if analysis indicates that an error might have been made or if new evidence requires a re-
30   examination.
         •    Phase 0 – Importation & Definition. The user will chose plates to import from the Orchid database
              (and in the future from all supported platforms such as Illumina, Parallele, and Autogenomics) from a
              list of plates that have not yet been imported. The user will be allowed to define plate layouts or
              request that a plate have its layout detected automatically. Users will be able to specify samples as
35            having known genotypes and phenotypes. Users will also be able to group genotypes together into
              phenotypes. Genotypes will be able to belong to more than one phenotype and a phenotype should
              be able to have more than 1 set of genotypes. Both genotypes and phenotypes should support
              aliasing.


     SNiPer SRS.odt                                                                                                  1
                                   SNiPer System Requirements Specification

         •    Phase 1 – After importation, the user will be presented with a graphical representation of the plate
40            and statistical summary information about the pass/fail ratios of various sets of wells and markers on
              the plate (see Section 6 [Detailed Specifications] below for further information about the specific sets).
              Plate segments will be represented and statistical information will be calculated on a per-segment
              basis where appropriate. This information will allow the user to assign a temporary pass/fail status to
              results grouped by plate, segment, sample and marker.
45       •    Phase 2 – After the initial review of the plate, the user is presented with a view that allows them to
              display the results for different markers in an x/y graph. Users will be allowed to overlay multiple
              datasets, historical thresholds and known samples. They will be able to highlight and analyse the
              datasets using different cluster algorithms. Using draggable threshold lines and individual result
              selection, users will be able to assign a genotype call to each result or fail a result. Samples,
50            markers, segments and plates will be binned into pass, fail, or review categories based on the quality
              of the observed results. Users will be able to provide reasons for any call that is made. Drill-down
              information such as the original well image from the machine will be available through the user
              interface.




     5       Goals

55   5.1 Iteration 1.
     The goal of this phase of version 1.0 of SNiPer development is to complete a clean and usable web interface
     to allow import of Orchid results into the SNiPer database and present preliminary statistical analyses via the
     Phase 1 screens described above.

     5.2 Iteration 2.
60   This phase adds the user interface and data schema to define known samples, genotypes, and phenotypes
     described for Phase 0 and modifies the Phase 1 display to include this information. It also includes the Phase
     2 data analysis screens as described above.




     6       Requirements and Dependencies

     6.1 Requirements
65   There must be genotyping test results for at least one plate in the Orchid SNPStream database that has not
     yet been transferred to the SNiPer database and both database must be accessible or at least one plate must
     have been transferred and the SNiPer database must be available. Known samples must be defined using
     the UI provided before they can be shown in the analysis screens – a sample must already have been
     imported on at least one plate before it can be defined as a known sample. The plate layout must conform to
70   one of the 6 standard layouts:




     SNiPer SRS.odt                                                                                                   2
                                                                  SNiPer System Requirements Specification

Plate Format #1                                                                                       Plate Format #2


     1   2   3    4   5   6   7   8   9   10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                     1   2   3    4   5   6   7   8   9   10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
 A   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1    A   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
B    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   B    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
C    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   C    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
D    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   D    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
 E   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1    E   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
 F   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1    F   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
G    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   G    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
H    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   H    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
 I   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1    I   2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
 J   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1    J   2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
K    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   K    2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
 L   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1    L   2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
M    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   M    2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
N    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   N    2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
O    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   O    2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
 P   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1    P   2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2



Plate Format #3                                                                                       Plate Format #4


     1   2   3    4   5   6   7   8   9   10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                     1   2   3    4   5   6   7   8   9   10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
 A   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1    A   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
B    2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   B    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
C    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   C    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
D    2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   D    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
 E   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1    E   2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
 F   2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2    F   2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
G    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   G    2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
H    2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   H    2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
 I   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1    I   3   3   3    3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3
 J   2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2    J   3   3   3    3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3
K    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   K    3   3   3    3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3
 L   2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2    L   3   3   3    3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3
M    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   M    4   4   4    4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4
N    2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   N    4   4   4    4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4
O    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   O    4   4   4    4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4
 P   2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2    P   4   4   4    4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4



Plate Format #5                                                                                       Plate Format #6


     1   2   3    4   5   6   7   8   9   10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                     1   2   3    4   5   6   7   8   9   10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
 A   1   2   1    2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2    A   1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
B    3   4   3    4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   B    1   1   1    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
C    1   2   1    2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   C    2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
D    3   4   3    4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   D    2   2   2    2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2
 E   1   2   1    2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2    E   3   3   3    3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3
 F   3   4   3    4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4    F   3   3   3    3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3
G    1   2   1    2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   G    4   4   4    4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4
H    3   4   3    4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   H    4   4   4    4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4   4
 I   1   2   1    2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2    I   5   5   5    5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5
 J   3   4   3    4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4    J   5   5   5    5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5
K    1   2   1    2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   K    6   6   6    6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6
 L   3   4   3    4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4    L   6   6   6    6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6
M    1   2   1    2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   M    7   7   7    7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7
N    3   4   3    4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   N    7   7   7    7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7   7
O    1   2   1    2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   1   2   O    8   8   8    8   8   8   8   8   8   8   8   8   8   8   8   8   8   8   8   8   8   8   8   8
 P   3   4   3    4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4   3   4    P   8   8   8    8   8   8   8   8   8   8   8   8   8   8   8   8   8   8   8   8   8   8   8   8




                 SNiPer SRS.odt                                                                                                                                                                     3
                                SNiPer System Requirements Specification

     6.2 Technical Dependencies
     Dependant on Orchid and SNiPer schemas and supporting SNiPer libraries for formatting, session handling,
     database access, and localisation.




     7     Competitive Analyses
75   The QC tools provided by the Orchid SNPStream and other genotyping platforms are inefficient and
     insufficient for a high-throughput GLP lab, nor do they provide a plate view.




     SNiPer SRS.odt                                                                                        4
                                  SNiPer System Requirements Specification

     8     Detailed Specification
     The behaviour of these phases is best understood using a UI mock-up.

     8.1 Phase 0
80   8.1.1 Import Plates




     This page allows the user to choose sample plates that have been genotyped and import the result data from
     the genotyping database into the SNiPer database.
         A. In this list box the user will see a list of all plates still in the Orchid SNPStream database that have not
            yet been transferred to the SNiPer database for processing and analysis.
85       B. In this list box the user will see a list of the plates that they have chosen from (A) that are supposed to


     SNiPer SRS.odt                                                                                                   5
                                     SNiPer System Requirements Specification

              be copied into the SNiPer database.
          C. The button with arrows pointing to the right will take all plates that have been selected in (A) using the
             usual HTML list-box selection methods and move them from (A) to (C). The button with arrows
             pointing to the left will take selected plates from (C) and move them to (A).
 90       D. Plate layouts are now detected automagically [provided they adhere to one of the 6 standard layouts –
             if they do not, they will be assigned the layout 1]. This drop down is no longer necessary and has
             been removed from the UI. This layout will be used to display an icon of the layout in Phase I. This
             area of the UI is now used to present sorting options for the Orchid plate list select box. The user can
             choose to sort either by run date or by plate name, and in either ascending or descending order. A
 95          button is provided for the user to trigger their choice and refresh the list.
          E. Clicking on this button will send the list of selected plates to the server for processing. Validation will
             be performed on the client side to ensure that at least one plate was selected and that (F) (G) and (H)
             hold valid numbers.
      The next three features are used to display and input percentage thresholds. They are simple text boxes that
100   default to 55% or a historical threshold if one is available.
          F. This field will contain a threshold for sample fail-rates. If the initial machine call for all markers for a
             given sample on a plate is higher than this threshold then the user will be alerted to this on the Phase
             I page and will be offered the opportunity to provisionally fail all wells with that sample on that plate.
          G. This field will contain a threshold for marker fail-rates. If the initial machine call for all samples for a
105          given marker on a plate is higher than this threshold then the user will be alerted to this on the Phase
             I page and will be offered the opportunity to provisionally fail all results for that marker on that plate.
          H. This field will contain a threshold for a plate fail-rate. If the initial machine call fail rate for all results on
             a plate is higher than this threshold then the user will be alerted to this on the Phase I page and will
             be offered the opportunity to provisionally fail the entire plate.

110   8.1.2 Reset Thresholds
      This page is used to adjust the plate, marker and sample pass rate thresholds for plates that have already
      been imported into SNiPer.
          A. This multi-select list box contains a list of all plates currently in SNiPer [no doubt we will need to
             provide filtering].
115       B. In these three text boxes the user can enter a percentage threshold. Thresholds are provided for
             plate, sample, and marker.
          C. Clicking the “OK” button saves the new threshold information to the database and sends the user to
             the Phase I page for the plates in question.

      8.1.3 Reset Plate Layouts
120   This page is used to select the plates viewed in the Plate View page. It looks almost exactly like the Reset
      Thresholds page.
          A. This multi-select list box contains a list of all plates currently in SNiPer and their current layout [no
             doubt we will need to provide filtering].
          B. The auto-layout check box allow the user to have the system try to automatically detect the plate
125          layout by checking the segments in various specific wells.
          C. The Plate Layout drop-down allows the user to choose a layout to assign to all the selected plates.
          D. Clicking the “OK” button saves the new layout choice to the database or triggers the auto-layout
             routine to detect and save.




      SNiPer SRS.odt                                                                                                          6
                                   SNiPer System Requirements Specification

      8.1.4 Genotypes & Phenotypes
130       This page is used to define genotypes and phenotypes and their aliases. Users can create new
          genotypes, define aliases for them, assign them to phenotypes, create phenotypes, define aliases for
          them, and create new genotype pools for phenotypes. A phenotype is defined as one or more genotype
          pools.

      8.1.5 Known Samples
135       This page allows the user to select one or more genotypes and phenotypes and associate them with a
          sample.

      8.2 Phase 1
      8.2.1 Plate View
      This page displays plate summary information and allows the user to assign a tentative pass/fail status to
140   samples and markers.
          A. This text element will contain the name of the plate that is currently being displayed.
          B. This is a browsing mechanism that allows the user to select one plate at a time from the list selected
             in the Select Plates page. Clicking on the arrows allows the user to browse the next/previous plate in
             the list or the user can click on the number to go directly to a specific plate. The current plate is
145          highlighted.
          C. See (B).
          D. At the top of the page are to lines of text that indicate the save status of any pending changes.
             Changes that have not been committed are indicated in red, changes that have been saved are
             drawn in green. The purpose of this is to warn the user that navigating away from the page could
150          cause changes to be lost. We cannot rely on a page unload event because many browsers have
             disabled this event due to excessive use by unscrupulous web page designers. Separate warnings
             are presented for wells and for samples.
          E. This is an iconic representation of the plate layout. It is used to help the user understand possible
             patterns in well performance as seen in ().
155       F. This is a representation of the plate. Each of the 384 wells in the plate will be drawn. The fill colour
             indicates the distance of the individual well marker fail-rate from the plate mean well marker fail-rate
             as measured in standard deviation units. The actual well fail-rate will be represented as clickable text.
             If the user clicks on the number then the well number (A01-P24) will be added to the Failed Wells list (
             ) and the number will be replaced with an X (F1). Clicking on the X will remove the well number from
160          the list and the X will be replaced with the number. A well that does not contain a sample will be
             coloured in grey (F2) and will not be clickable.
          G. This is a list of the values that relate deviation of a row relative to other rows. It is calculated by
             determining the mean well pass-rate for all rows and then comparing each row to the mean of all rows
             in terms of standard deviation. Rows whose value is 1 or more standard deviations below the mean
165          are flagged. A similar number is drawn under each column (see N).
          H. This is a legend element to indicate the colour scale used on the plate display. The units are in
             Standard Deviations from the plate well failure rate mean.
          I. Clicking the Reset button will reload the page, ignoring any unsaved changes.
          J. These text elements display the mean well pass-rate for all wells on the plate by segment(J1) and the
170          threshold (J2) previously chosen in Phase 0. If the rate is below the threshold then (J1) will be drawn in
             red to prompt the user.
          K. K1 is a display-only text-area that contains a list of wells across all segments that are to be flagged in
             the SNiPer database as failed. Wells are added to this area by clicking on their fail-rate value in the


      SNiPer SRS.odt                                                                                                 7
                                  SNiPer System Requirements Specification

             well display and removed from the area by double-clicking on the cell name text. Changes will be
175          saved to the database by clicking on the Save Failed Wells (K2) button during the next phase of
             development. After a successful commit this button will be disabled and will only be re-enabled if a
             change is made to the contents of the Failed Wells area (K1).
          L. This area provides a text box (L1) for the user to attach a free-form process variance comment to the
             plate in the SNiPer database. It is understood that future versions of SNiPer will require pre-defined
180          variances which will require interactive dialogue UIs (e.g. a Row error due to liquid handling variance
             with a row select UI). Changes are saved to the database by clicking on the Save Variance button
             (L2).
          M. Hovering over the important text in any of the text areas will display a tool-tip providing context
             information about the area.
185       N. This is the variance of a plate column in standard deviation units from the plate column mean.
          O. This area provides information about the behaviour of the plate in terms of samples per segment. O 1
             displays the number of samples that, across all markers, had a pass rate higher than the threshold
             displayed in (O3) as well as the total number of samples on the plate and the percentage of passed
             samples. O2 displays the mean marker pass rate per sample, the total number of markers and the
190          value of the mean pass rate as a percentage. The Details button (O4) allows the user to pop-up the
             Sample Details page described (6.0.3). The Fail Samples button (O5) adds to the Failed Wells (K1)
             text area all wells containing results for all samples whose pass rate fell below the O 3 threshold. The
             image (O6) is a static histogram showing the number of samples as binned by marker pass rate. Bins
             that contain samples whose pass rate was below the threshold are highlighted.
195       P. This area provides information about the behaviour of the plate in terms of markers per segment. P 1
             displays the number of markers that, across all samples, had a pass rate higher than the threshold
             chosen in Phase 0 and displayed in (P3) as well as the total number of markers on the plate and the
             percentage of passed markers. P2 displays the mean sample pass rate per marker, the total number
             of samples and the value of the mean pass rate as a percentage. The Details button (P4) allows the
200          user to pop-up the Marker Details page described (6.0.4). The Fail Markers button (P5) allows the
             user to immediately save a Failed status to the database for all markers whose sample pass rate fell
             below the threshold. The image (P6) is a static histogram showing the number of passed samples for
             each marker. Markers whose sample pass rate falls below the threshold are highlighted.
          Q. The SNiPer logo is an anchor. Clicking it takes the user to their home page.




      SNiPer SRS.odt                                                                                               8
                 SNiPer System Requirements Specification




SNiPer SRS.odt                                              9
                                   SNiPer System Requirements Specification

205   8.2.2 Sample Details
      This pop-up page will contain several tables displaying summary and detail information about the original
      machine calls made for each sample on a specific plate segment. It is accessed by clicking on the Details
      button in the Samples section on the Phase I page (see 6.0.2 section O4 above)
          A. This summary box contains statistical information about all samples on the plate segment. It lists the
210          user chosen threshold for the percentage of markers per sample to be passed. It lists the mean
             pass rates and their respective standard deviations.
          B. Clicking this link will allow the user to download the information on the page in CSV format.
          C. This table displays summary information for the samples whose pass rate fell below the user chosen
             threshold. It lists the sample ID, the number of passed markers as absolute and percentage and also
215          the difference between that value and the mean plate values in percentage and standard deviation
             units.
          D. This table displays summary information for the samples whose pass rate was equal to or greater
             than the user chosen threshold. It lists the sample ID, the number of passed markers as absolute
             and percentage and also the difference between that value and the mean plate values in percentage
220          and standard deviation units.




      SNiPer SRS.odt                                                                                            10
                                   SNiPer System Requirements Specification



      8.2.3 Marker Details
      This pop-up page will contain several tables displaying summary and detail information about the original
      machine calls made for each marker on a specific plate segment. It is accessed by clicking on the Details
      button in the Markers section on the Phase I page (see 6.0.2 section P4 above)
225       A. This summary box contains statistical information about all markers on the plate. It lists the user
             chosen threshold for the percentage of samples per marker to be passed. It lists the mean pass
             rates and their respective standard deviations.
          B. Clicking this link will allow the user to download the information on the page in CSV format.
          C. This table displays summary information for the markers whose pass rate fell below the user chosen
230          threshold. It lists the marker ID, the number of passed samples as absolute and percentage and also
             the difference between that value and the mean plate values in percentage and standard deviation
             units.
          D. This table displays summary information for the markers whose pass rate was equal to or greater
             than the user chosen threshold. It lists the marker ID, the number of passed samples as absolute
235          and percentage and also the difference between that value and the mean plate values in percentage
             and standard deviation units.

      8.2.4 Select Plates
      This page is used to select the plates viewed in the Plate View page. It looks almost exactly like the Reset
      Thresholds page.
240       A. This multi-select list box contains a list of all plates currently in SNiPer [no doubt we will need to
             provide filtering].
          B. Clicking the “OK” button launches the Plate View screen with the first plate in the list displayed and
             the other accessible using the plate navigation links in the upper right corner.



      8.3 Phase 2
245   This phase presents the user with the opportunity to display results in the familiar x vs. y or log y vs (x+y)/x
      views.
      [ Insert An Image of the Phase 2 Screen Here ]
          1. Users need to be able to choose plate, segment, marker. They will probably need to search/filter for
             plate or marker. Nathalie wants to be able to ignore segments and instead choose specific
250          rows/columns – perhaps we should present a pop-up of the plate and allow the user to click on row
             headers, column headers, segments, or all – this plate view “mask” would be applies to all selected
             plates for the current session. No doubt users would want to save various default views, this may be
             too complicated for our initial release.
          2. There will be a default clustering algorithm – a drop-down box showing the available choices should
255          be allow the recalculation on change. Users may want to freeze a view and reload the plate again
             with a different algorithm – is this useful?
          3. We need to choose a number of historical thresholds after which we present the average as the
             cluster boundaries and before which we use 1 standard deviation.
          4. Users will want to have their own colour palettes – since we want to be able to layer plates, a palette
260          should be associated with a plate, the user should have a default palette, and if that palette is already
             in use then a different one will need to be used – we will need to populate a palette choice area in the
             plate selection mechanism and allow them to confirm or change before loading. Note that a palette
             consists of the combination of colour, icon, transparency, visibility, and z-axis positioning and applies

      SNiPer SRS.odt                                                                                               11
                                    SNiPer System Requirements Specification

              to result membership in sets (xx, xy, yy, blank, water, known-xx, known-xy, known-yy, other?) and
265           thresholds.
          5. The axis values will need to be based on only one palette – the one with the highest z-value.
          6. We need to allow historical thresholds to be non-zero width to represent their variation.
          7. Clicking on a specific result will create a pop-up. This pop-up will present:
              1. A view of the original well the result came from with the specific marker spot indicated.
270           2. A link to the plate view for this result
              3. A list of historical calls for this result with a short section of any comments associated with that
                 call. Selecting the call from the list will display the full comments
              4. A drop-down of possible calls (F/XX/XY/YY) to be assigned.
              5. A text field to enter a comment if a call is made.
275           6. Other tools?
          8. Users will be able to drag the thresholds, affecting the result call. If any change is made before the
             user clicks on the save button, they will be presented with a text box to optionally enter a comment.
             The save button only works for the top-most palette, only the top-most thresholds are draggable.
             Once the save button is clicked, it will be disabled until a change is made to the top-most palette
280          either by dragging the threshold or by changing an individual result.
          9. A UI element will allow the user to easily change to z-order of a palette.
          10. Users will be able to click a button to duplicate the window – this will allow them to compare different
              views side-by-side.
          11. Users should be able to save a view and return to it later – they should also be able to send a view to
285           another user.



      8.4 G11n
      The initial release will be in English. It is important to note all possible localisation strings for the subsequent
      French release. For HTML it is relatively simple, we can switch to using a template toolkit and simply switch
      the template based on the user's language preference.

290   8.5 Error Conditions
      Graceful handling of database connectivity is necessary.

      8.6 Migration
      No issues, first release, nothing to migrate from.




      9     Future Tasks
295   Refinements to the binning algorithms will be made. Historical look-ups will need to be crafted (and probably
      pre-calculated) for threshold levels. Phases 3 & 4




      SNiPer SRS.odt                                                                                                   12

				
DOCUMENT INFO