source: trunk/doc/test/roles/index.html @ 2769

Last change on this file since 2769 was 2769, checked in by Nicklas Nordborg, 17 years ago

Minor changes to instructions and fixed some example plot images.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Date Id
File size: 33.4 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<!--
3  $Id: index.html 2769 2006-10-23 12:42:39Z nicklas $
4
5  Copyright (C) 2005-2006 Nicklas Nordborg
6
7  This file is part of BASE - BioArray Software Environment.
8  Available at http://base.thep.lu.se/
9
10  BASE is free software; you can redistribute it and/or
11  modify it under the terms of the GNU General Public License
12  as published by the Free Software Foundation; either version 2
13  of the License, or (at your option) any later version.
14
15  BASE is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  GNU General Public License for more details.
19
20  You should have received a copy of the GNU General Public License
21  along with this program; if not, write to the Free Software
22  Foundation, Inc., 59 Temple Place - Suite 330,
23  Boston, MA  02111-1307, USA.
24-->
25<html>
26  <head>
27    <title>BASE - Test procedures for predefined roles</title>
28  <link rel=stylesheet type="text/css" href="../../styles.css">
29  </head>
30<body>
31
32<div class="navigation">
33  <a href="../../index.html">BASE</a>
34  <img src="../../next.gif">
35  <a href="../index.html">Test procedures</a>
36  <img src="../../next.gif">
37  Predefined roles
38</div>
39
40  <h1>Test procedures for predefined roles</h1>
41
42  <div class="abstract">
43    <p>
44      This document defines a procedure for testing that
45      the predefined roles can perform their work as intended. The main
46      purpose is to weed out permission problems resulting from:
47    </p>
48   
49    <ul>
50    <li>Incorrect permissions installed by installation program</li>
51    <li>Bugs in the permission handling in the core</li>
52    <li>Incorrect handling of permissions in the web client</li>
53    </ul>
54   
55    <p>
56      The test procedure also tests that the
57      basic functionality is working:
58    </p>
59   
60    <ul>
61      <li>Creating items and linking them to other items</li>
62      <li>Defining import file formats</li>
63      <li>Importing array LIMS data</li>
64      <li>Importing and validating raw data against array LIMS data</li>
65      <li>Running analysis plug-ins</li>
66    </ul>
67   
68    <b>Contents</b><br>
69    <ol>
70    <li><a href="#summary">Summary of the test procedure</a></li>
71    <li><a href="#root">Root user tests</a></li>
72    <li><a href="#admin">Administrator tests</a></li>
73    <li><a href="#power">Power user tests</a></li>
74    <li><a href="#user">User tests</a></li>
75    <li><a href="#analysis">Analysis tests</a></li>
76    </ol>
77   
78    <p class="authors">
79    <b>Last updated:</b> $Date: 2006-10-23 12:42:39 +0000 (Mon, 23 Oct 2006) $
80    </p>
81  </div>
82
83 
84  <a name="summary"></a>
85  <h2>1. Summary of the test procedure</h2>
86
87  <p>
88    Here is a summary of the test procedure:
89  </p>
90
91  <ol>
92  <li>Always start with a fresh installation.</li>
93 
94  <li>The root user creates an administrator.</li>
95 
96  <li>The administrator creates a group and three other users. One
97    power user, one user and one guest.</li>
98   
99  <li>The power user creates item related to the project management:
100    <ul>
101    <li>A project</li>
102    <li>Protocols, one for each type of action: sampling, extraction, etc.</li>
103    <li>Hardware and software that are used in the project</li>
104    <li>Annotation types for annotations used in the project</li>
105    <li>File formats for importing reporters, plates, print maps and raw data</li>
106    <li>LIMS information - plate type, plates, array design, array batch and array slides</li>
107    </ul>
108  </li>
109 
110  <li>The user creates items related to an actual experiment:
111    <ul>
112    <li>Biomaterials: biosources, samples, extracts, etc.</li>
113    <li>Experiment: hybridizations, scans, images, raw bioassays</li>
114    <li>Import raw data</li>
115    </ul>
116  </li>
117 
118  <li>Both the user and the guest then do some analysis:
119    <ul>
120    <li>Create a root bioassay set</li>
121    <li>Filter the bioassay set</li>
122    <li>Run a normalization plug-in</li>
123    <li>Check the result by listing and plotting the data</li>
124    </ul>
125  </li>
126  </ol>
127
128  <p>
129    These tests can also be run in automated mode by test programs. This will of
130    course not test the web client, but are useful if one quickly needs to do
131    parts of the test and then continue with, for example, the user or analysis tests
132    on the web.
133  </p>
134 
135  <p>
136    The data files needed by the tests are NOT included in the subversion repository.
137    The main reason is that they are too large, and that we don't have permission to
138    make them publicly available for download. To get the test file you need to be a
139    core developer. Read the instructions on the
140    <a href="http://base.thep.lu.se/wiki/DeveloperInformation">DeveloperInformation</a>
141    page, <code>Test data</code> section on the Base 2 web site.
142  </p>
143 
144  <p>
145    To run the test do the following:
146  </p>
147  <ol>
148   
149    <li>Compile the core and the test programs: <code>ant main test</code>.</li>
150
151    <li>Change to the <code>build/test/</code> directory.</li>
152
153    <li>Run test programs: <code>./test.sh roles &lt;cmds&gt;</code> where
154      <code>&lt;cmds&gt;</code> is one or more of the following:
155      <ul>
156      <li><code>all</code>: run all tests</li>
157      <li><code>root</code>: run the root user tests</li>
158      <li><code>admin</code>: run the administrator tests</li>
159      <li><code>power</code>: run the power user tests</li>
160      <li><code>user</code>: run the regular user tests</li>
161      <li><code>guest</code>: run the guest user tests</li>
162      </ul>
163    </li>
164   
165  </ol>
166   
167  <a name="root"></a>
168  <h2>2. Root user tests</h2>
169  <p>
170    The root user creates an administrator which is a server-wide admin.
171  </p>
172 
173  <ol>
174  <li>
175    Create a new user and set the following
176    properties. All other properties may remain unchanged.
177   
178    <table class="listing" cellspacing="0" cellpadding="2" border="0">
179    <tr>
180      <th>Name</th>
181      <th>Login/Password</th>
182      <th>Quota</th>
183      <th>Quota group</th>
184      <th>Membership</th>
185    </tr>
186    <tr>
187      <td>Admin</td>
188      <td>admin/admin</td>
189      <td>Unlimited</td>
190      <td>-</td>
191      <td>Roles: Administrator</td>
192    </tr>
193    </table>
194  </li>
195  </ol>
196
197  <a name="admin"></a>
198  <h2>3. Administrator tests</h2>
199  <p>
200    The administrator creates users for a project and gives them permissions
201    that are suitable for their role in the project. The administrator also
202    sets up quota and group membership.
203  </p>
204
205  <ol>
206  <li>
207    Create a new group and set the following properties:
208 
209    <table class="listing" cellspacing="0" cellpadding="2" border="0">
210    <tr>
211      <th>Name</th>
212      <th>Quota</th>
213    </tr>
214    <tr>
215      <td>Group A</td>
216      <td>1GB</td>
217    </tr>
218    </table>
219    <p>
220  </li>
221 
222  <li>
223    Create the following users:
224
225    <table class="listing" cellspacing="0" cellpadding="2" border="0">
226    <tr>
227      <th>Name</th>
228      <th>Login/Password</th>
229      <th>Quota</th>
230      <th>Quota group</th>
231      <th>Membership</th>
232      <th>Other</th>
233    </tr>
234    <tr>
235      <td>Power user</td>
236      <td>power/power</td>
237      <td>1GB</td>
238      <td>Group A</td>
239      <td>Roles: Power user</td>
240      <td>-</td>
241    </tr>
242    <tr>
243      <td>User</td>
244      <td>user/user</td>
245      <td>1GB</td>
246      <td>Group A</td>
247      <td>Roles: User</td>
248      <td>-</td>
249    </tr>
250    <tr>
251      <td>Guest</td>
252      <td>guest/guest</td>
253      <td>10MB</td>
254      <td>Group A</td>
255      <td>Roles: Guest</td>
256      <td><i>Multi-user account</i> checked</td>
257    </tr>
258    </table>
259  </li>
260  </ol>
261
262
263  <a name="power"></a>
264  <h2>4. Power user tests</h2>
265  <p>
266    The power user is the typical owner/administrator of a project. The power user sets
267    up common resources used in the project, such as hardware, software, protocols,
268    file formats and annotation types. In this case the power user is also responsible for
269    managing the LIMS.
270  </p>
271 
272  <ol>
273  <li>
274    Create a project:
275   
276    <table class="listing" cellspacing="0" cellpadding="2" border="0">
277    <tr>
278      <th>Name</th>
279      <th>Members</th>
280    </tr>
281    <tr>
282      <td>Project A</td>
283      <td>Groups: Group A (Use permission)</td>
284    </tr>
285    </table>
286    <p>
287  </li>
288 
289  <li>Activate the project.<p></li>
290 
291  <li>
292    Create protocols:
293    <table class="listing" cellspacing="0" cellpadding="2" border="0">
294    <tr>
295      <th>Name</th>
296      <th>Type</th>
297    </tr>
298    <tr>
299      <td>Sampling A</td>
300      <td>Sampling</td>
301    </tr>
302    <tr>
303      <td>Extraction A</td>
304      <td>Extraction</td>
305    </tr>
306    <tr>
307      <td>Labeling A</td>
308      <td>Labeling</td>
309    </tr>
310    <tr>
311      <td>Hybridization A</td>
312      <td>Hybridization</td>
313    </tr>
314    <tr>
315      <td>Scanning A</td>
316      <td>Scanning</td>
317    </tr>
318    <tr>
319      <td>Feature extraction A</td>
320      <td>Feature extraction</td>
321    </tr>
322    <tr>
323      <td>Printing A</td>
324      <td>Printing</td>
325    </tr>
326    </table>
327    <p>
328  </li>
329
330  <li>
331    Create hardware:
332    <table class="listing" cellspacing="0" cellpadding="2" border="0">
333    <tr>
334      <th>Name</th>
335      <th>Type</th>
336    </tr>
337    <tr>
338      <td>Hybridization station A</td>
339      <td>Hybridization station</td>
340    </tr>
341    <tr>
342      <td>Scanner A</td>
343      <td>Scanner</td>
344    </tr>
345    <tr>
346      <td>Print robot A</td>
347      <td>Print robot</td>
348    </tr>
349    </table>
350    <p>
351  </li>
352 
353  <li>
354    Create software:
355    <table class="listing" cellspacing="0" cellpadding="2" border="0">
356    <tr>
357      <th>Name</th>
358      <th>Type</th>
359    </tr>
360    <tr>
361      <td>Software A</td>
362      <td>Feature extraction</td>
363    </tr>
364    </table>
365    <p>
366  </li>
367 
368  <li>
369    Create annotation types:
370    <table class="listing" cellspacing="0" cellpadding="2" border="0">
371    <tr>
372      <th>Name</th>
373      <th>Type</th>
374      <th>Interface</th>
375      <th>Values</th>
376      <th>Item types</th>
377    </tr>
378    <tr>
379      <td>Drug resistance</td>
380      <td>String</td>
381      <td>radiobuttons</td>
382      <td>high, medium, low</td>
383      <td>Biosource</td>
384    </tr>
385    <tr>
386      <td>Time (hours)</td>
387      <td>Integer</td>
388      <td>text box</td>
389      <td>-</td>
390      <td>Sample</td>
391    </tr>
392    </table>
393    <p>
394   
395  <li>
396    Create file formats (<i>i.e.</i>, plug-in configurations). The formats marked as
397    optional are not used in the test procedure, but may be useful to weed
398    out import problems, since they allow importing all info from the raw
399    data files. You may either enter the regular expressions as specified or
400    use the "Test with file" feature.
401   
402    <table class="listing" cellspacing="0" cellpadding="2" border="0">
403    <tr>
404      <th>Name</th>
405      <th>Plugin</th>
406      <th>Configuration values</th>
407    </tr>
408    <tr class="oddrow">
409      <td>Reporters for project A</td>
410      <td>Reporter importer</td>
411      <td>
412      <b>Test with file:</b> <code>plates_and_reporters.mouse.v4.37k.txt</code>
413      <table border="0" cellspacing="0" cellpadding="2">
414      <tr>
415        <td><i>Data header</i></td>
416        <td>384_number\t384_column\t384_row\t384_position\toligo_id.*</td>
417      </tr>
418      <tr>
419        <td><i>Data splitter</i></td>
420        <td>\t</td>
421      </tr>
422      <tr>
423        <td><i>Min data columns</i></td>
424        <td>5</td>
425      </tr>
426      <tr>
427        <td><i>Name</i></td>
428        <td>\oligo_id\</td>
429      </tr>
430      <tr>
431        <td><i>Reporter ID</i></td>
432        <td>\oligo_id\</td>
433      </tr>
434      <tr>
435        <td><i>Description</i></td>
436        <td>\description_Ensembl*\</td>
437      </tr>
438      <tr>
439        <td><i>Gene symbol</i></td>
440        <td>\gene_symbol_Ensembl*\</td>
441      </tr>
442      <tr>
443        <td><i>Sequence</i></td>
444        <td>\oligo_sequence\</td>
445      </tr>
446      </table>
447     
448      </td>
449    </tr>
450   
451    <tr class="evenrow">
452      <td>GenePix reporter importer<br>(optional)</td>
453      <td>Reporter importer</td>
454      <td>
455
456      <b>Test with file:</b> <code>genepix.mouse.v4.37k.00h.gpr</code>
457      <table border="0" cellspacing="0" cellpadding="2">
458      <tr>
459        <td><i>Data header</i></td>
460        <td>"Block"\t"Column"\t"Row"\t"Name"\t"ID"\t.*</td>
461      </tr>
462      <tr>
463        <td><i>Data splitter</i></td>
464        <td>\t</td>
465      </tr>
466      <tr>
467        <td><i>Min data columns</i></td>
468        <td>48</td>
469      </tr>
470      <tr>
471        <td><i>Max data columns</i></td>
472        <td>48</td>
473      </tr>
474      <tr>
475        <td><i>Name</i></td>
476        <td>\Name\</td>
477      </tr>
478      <tr>
479        <td><i>Reporter ID</i></td>
480        <td>\ID\</td>
481      </tr>
482      </table>
483
484      </td>
485    </tr>
486   
487    <tr class="oddrow">
488      <td>Plates for project A</td>
489      <td>Plate importer</td>
490      <td>
491     
492      <b>Test with file:</b> <code>plates_and_reporters.mouse.v4.37k.txt</code>
493      <table border="0" cellspacing="0" cellpadding="2">
494      <tr>
495        <td><i>Data header</i></td>
496        <td>384_number\t384_column\t384_row\t384_position\toligo_id.*</td>
497      </tr>
498      <tr>
499        <td><i>Data splitter</i></td>
500        <td>\t</td>
501      </tr>
502      <tr>
503        <td><i>Min data columns</i></td>
504        <td>5</td>
505      </tr>
506      <tr>
507        <td><i>Plate number/name</i></td>
508        <td>\384_number\</td>
509      </tr>
510      <tr>
511        <td><i>Row</i></td>
512        <td>\384_row\</td>
513      </tr>
514      <tr>
515        <td><i>Column</i></td>
516        <td>\384_column\</td>
517      </tr>
518      <tr>
519        <td><i>Reporter ID</i></td>
520        <td>\oligo_id\</td>
521      </tr>
522      </table>
523
524      </td>
525    </tr>
526   
527    <tr class="evenrow">
528      <td>GenePix feature importer<br>(optional)</td>
529      <td>Reporter map importer</td>
530      <td>
531     
532      <b>Test with file:</b> <code>genepix.mouse.v4.37k.00h.gpr</code>
533      <table border="0" cellspacing="0" cellpadding="2">
534      <tr>
535        <td><i>Data header</i></td>
536        <td>"Block"\t"Column"\t"Row"\t"Name"\t"ID"\t.*</td>
537      </tr>
538      <tr>
539        <td><i>Data splitter</i></td>
540        <td>\t</td>
541      </tr>
542      <tr>
543        <td><i>Min data columns</i></td>
544        <td>48</td>
545      </tr>
546      <tr>
547        <td><i>Max data columns</i></td>
548        <td>48</td>
549      </tr>
550      <tr>
551        <td><i>Reporter ID</i></td>
552        <td>\ID\</td>
553      </tr>
554      <tr>
555        <td><i>Block</i></td>
556        <td>\Block\</td>
557      </tr>
558      <tr>
559        <td><i>Column</i></td>
560        <td>\Column\</td>
561      </tr>
562      <tr>
563        <td><i>Row</i></td>
564        <td>\Row\</td>
565      </tr>
566      </table>
567
568      </td>
569    </tr>
570   
571    <tr class="oddrow">
572      <td>Raw data for project A</td>
573      <td>Raw data importer</td>
574      <td>
575     
576      <b>Test with file:</b> <code>genepix.mouse.v4.37k.00h.gpr</code>
577      <table border="0" cellspacing="0" cellpadding="2">
578      <tr>
579        <td><i>Raw data type</i></td>
580        <td>Genepix</td>
581      </tr>
582      <tr>
583        <td><i>Header</i></td>
584        <td>"(.+)=(.*)"</td>
585      </tr>
586      <tr>
587        <td><i>Data header</i></td>
588        <td>"Block"\t"Column"\t"Row"\t"Name"\t"ID"\t.*"Ratio of Medians \(532\/635\)".*</td>
589      </tr>
590      <tr>
591        <td><i>Data splitter</i></td>
592        <td>\t</td>
593      </tr>
594      <tr>
595        <td><i>Min data columns</i></td>
596        <td>48</td>
597      </tr>
598      <tr>
599        <td><i>Max data columns</i></td>
600        <td>48</td>
601      </tr>
602
603      <tr>
604        <td><i>Block</i></td>
605        <td>\Block\</td>
606      </tr>
607      <tr>
608        <td><i>Column</i></td>
609        <td>\Column\</td>
610      </tr>
611      <tr>
612        <td><i>Row</i></td>
613        <td>\Row\</td>
614      </tr>
615      <tr>
616        <td><i>X</i></td>
617        <td>\X\</td>
618      </tr>
619      <tr>
620        <td><i>Y</i></td>
621        <td>\Y\</td>
622      </tr>
623      <tr>
624        <td><i>Reporter ID</i></td>
625        <td>\ID\</td>
626      </tr>
627      <tr>
628        <td><i>Spot diameter</i></td>
629        <td>\Dia.\</td>
630      </tr>
631      <tr>
632        <td><i>Channel 1 foreground median</i></td>
633        <td>\F635 Median\</td>
634      </tr>
635      <tr>
636        <td><i>Channel 1 foreground mean</i></td>
637        <td>\F635 Mean\</td>
638      </tr>
639      <tr>
640        <td><i>Channel 1 foreground standard deviation</i></td>
641        <td>\F635 SD\</td>
642      </tr>
643      <tr>
644        <td><i>Channel 1 background median</i></td>
645        <td>\B635 Median\</td>
646      </tr>
647      <tr>
648        <td><i>Channel 1 background mean</i></td>
649        <td>\B635 Mean\</td>
650      </tr>
651      <tr>
652        <td><i>Channel 1 background standard deviation</i></td>
653        <td>\B635 SD\</td>
654      </tr>
655      <tr>
656        <td><i>Percent pixels within 1 standard deviation</i></td>
657        <td>\% > B635+1SD\</td>
658      </tr>
659      <tr>
660        <td><i>Percent pixels within 2 standard deviations</i></td>
661        <td>\% > B635+2SD\</td>
662      </tr>
663      <tr>
664        <td><i>Percent saturated pixels</i></td>
665        <td>\F635 % Sat.\</td>
666      </tr>
667      <tr>
668        <td><i>Channel 2 foreground median</i></td>
669        <td>\F532 Median\</td>
670      </tr>
671      <tr>
672        <td><i>Channel 2 foreground mean</i></td>
673        <td>\F532 Mean\</td>
674      </tr>
675      <tr>
676        <td><i>Channel 2 foreground standard deviation</i></td>
677        <td>\F532 SD\</td>
678      </tr>
679      <tr>
680        <td><i>Channel 2 background median</i></td>
681        <td>\B532 Median\</td>
682      </tr>
683      <tr>
684        <td><i>Channel 2 background mean</i></td>
685        <td>\B532 Mean\</td>
686      </tr>
687      <tr>
688        <td><i>Channel 2 background standard deviation</i></td>
689        <td>\B532 SD\</td>
690      </tr>
691      <tr>
692        <td><i>Percent pixels within 1 standard deviation</i></td>
693        <td>\% > B532+1SD\</td>
694      </tr>
695      <tr>
696        <td><i>Percent pixels within 2 standard deviations</i></td>
697        <td>\% > B532+2SD\</td>
698      </tr>
699      <tr>
700        <td><i>Percent saturated pixels</i></td>
701        <td>\F532 % Sat.\</td>
702      </tr>
703      <tr>
704        <td><i>Foreground pixels</i></td>
705        <td>\F Pixels\</td>
706      </tr>
707      <tr>
708        <td><i>Background pixels</i></td>
709        <td>\B Pixels\</td>
710      </tr>
711      <tr>
712        <td><i>Flags</i></td>
713        <td>\Flags\</td>
714      </tr>
715      </table>
716
717      </td>
718    </tr>
719   
720    <tr class="evenrow">
721      <td>Raw data for project A (dye-swap)</td>
722      <td>Raw data importer</td>
723      <td>
724
725      <b>Test with file:</b> <code>genepix.mouse.v4.37k.00h.dyeswap.gpr</code>
726      <table border="0" cellspacing="0" cellpadding="2">
727      <tr>
728        <td><i>Raw data type</i></td>
729        <td>Genepix</td>
730      </tr>
731      <tr>
732        <td><i>Header</i></td>
733        <td>"(.+)=(.*)"</td>
734      </tr>
735      <tr>
736        <td><i>Data header</i></td>
737        <td>"Block"\t"Column"\t"Row"\t"Name"\t"ID"\t.*"Ratio of Medians \(635\/532\)".*</td>
738      </tr>
739      <tr>
740        <td><i>Data splitter</i></td>
741        <td>\t</td>
742      </tr>
743      <tr>
744        <td><i>Min data columns</i></td>
745        <td>48</td>
746      </tr>
747      <tr>
748        <td><i>Max data columns</i></td>
749        <td>48</td>
750      </tr>
751
752      <tr>
753        <td><i>Block</i></td>
754        <td>\Block\</td>
755      </tr>
756      <tr>
757        <td><i>Column</i></td>
758        <td>\Column\</td>
759      </tr>
760      <tr>
761        <td><i>Row</i></td>
762        <td>\Row\</td>
763      </tr>
764      <tr>
765        <td><i>X</i></td>
766        <td>\X\</td>
767      </tr>
768      <tr>
769        <td><i>Y</i></td>
770        <td>\Y\</td>
771      </tr>
772      <tr>
773        <td><i>Reporter ID</i></td>
774        <td>\ID\</td>
775      </tr>
776      <tr>
777        <td><i>Spot diameter</i></td>
778        <td>\Dia.\</td>
779      </tr>
780      <tr>
781        <td><i>Channel 1 foreground median</i></td>
782        <td>\F532 Median\</td>
783      </tr>
784      <tr>
785        <td><i>Channel 1 foreground mean</i></td>
786        <td>\F532 Mean\</td>
787      </tr>
788      <tr>
789        <td><i>Channel 1 foreground standard deviation</i></td>
790        <td>\F532 SD\</td>
791      </tr>
792      <tr>
793        <td><i>Channel 1 background median</i></td>
794        <td>\B532 Median\</td>
795      </tr>
796      <tr>
797        <td><i>Channel 1 background mean</i></td>
798        <td>\B532 Mean\</td>
799      </tr>
800      <tr>
801        <td><i>Channel 1 background standard deviation</i></td>
802        <td>\B532 SD\</td>
803      </tr>
804      <tr>
805        <td><i>Percent pixels within 1 standard deviation</i></td>
806        <td>\% > B532+1SD\</td>
807      </tr>
808      <tr>
809        <td><i>Percent pixels within 2 standard deviations</i></td>
810        <td>\% > B532+2SD\</td>
811      </tr>
812      <tr>
813        <td><i>Percent saturated pixels</i></td>
814        <td>\F532 % Sat.\</td>
815      </tr>
816      <tr>
817        <td><i>Channel 2 foreground median</i></td>
818        <td>\F635 Median\</td>
819      </tr>
820      <tr>
821        <td><i>Channel 2 foreground mean</i></td>
822        <td>\F635 Mean\</td>
823      </tr>
824      <tr>
825        <td><i>Channel 2 foreground standard deviation</i></td>
826        <td>\F635 SD\</td>
827      </tr>
828      <tr>
829        <td><i>Channel 2 background median</i></td>
830        <td>\B635 Median\</td>
831      </tr>
832      <tr>
833        <td><i>Channel 2 background mean</i></td>
834        <td>\B635 Mean\</td>
835      </tr>
836      <tr>
837        <td><i>Channel 2 background standard deviation</i></td>
838        <td>\B635 SD\</td>
839      </tr>
840      <tr>
841        <td><i>Percent pixels within 1 standard deviation</i></td>
842        <td>\% > B635+1SD\</td>
843      </tr>
844      <tr>
845        <td><i>Percent pixels within 2 standard deviations</i></td>
846        <td>\% > B635+2SD\</td>
847      </tr>
848      <tr>
849        <td><i>Percent saturated pixels</i></td>
850        <td>\F635 % Sat.\</td>
851      </tr>
852      <tr>
853        <td><i>Foreground pixels</i></td>
854        <td>\F Pixels\</td>
855      </tr>
856      <tr>
857        <td><i>Background pixels</i></td>
858        <td>\B Pixels\</td>
859      </tr>
860      <tr>
861        <td><i>Flags</i></td>
862        <td>\Flags\</td>
863      </tr>
864      </table>
865
866      </td>
867    </tr>
868    </table>
869    <p>
870  </li>
871 
872  <li>
873    Import reporters:
874    <ol>
875    <li>Go to the <code>View -> Reporters</code> page.</li>
876    <li>Click on the <code>Import</code> button.</li>
877    <li>Choose <code>auto-detect</code> and then upload
878      the file <code>plates_and_reporters.mouse.v4.37k.txt</code>.</li>
879    <li>The <code>Reporters for project A</code> format should be
880      found.</li>
881    <li>Select the <code>skip</code> option for the "Missing a required" value
882      since the file contains rows with empty reporter ID:s.
883    <li>Continue and wait for the import to finish. It should create 35,912 new reporters.</li>
884    </ol>
885    <p>
886
887  </li>
888 
889  <li>
890    Create plate type:
891    <table class="listing" cellspacing="0" cellpadding="2" border="0">
892    <tr>
893      <th>Name</th>
894      <th>Geometry</th>
895    </tr>
896    <tr>
897      <td>Plate type A</td>
898      <td>384-well (16 x 24)</td>
899    </tr>
900    </table>
901    <p>
902  </li>
903 
904  <li>
905    Import plates:
906    <ol>
907    <li>Go to the <code>Array LIMS -> Plates</code> page.</li>
908    <li>Click on the <code>Import</code> button.</li>
909    <li>Choose <code>auto-detect</code> and select
910      the file <code>plates_and_reporters.mouse.v4.37k.txt</code>.</li>
911    <li>The <code>Plates for project A</code> format should be
912      found.</li>
913    <li>Specify the following parameters:
914   
915      <table border="0" cellspacing="0" cellpadding="2">
916      <tr>
917        <td><i>Plate type</i></td>
918        <td>Plate type A</td>
919      </tr>
920      <tr>
921        <td><i>Plate name prefix</i></td>
922        <td>Plate A</td>
923      </tr>
924      <tr>
925        <td><i>Plate name padding</i></td>
926        <td>4</td>
927      </tr>
928      </table>
929    </li>
930    <li>Continue and wait for the import to finish. It should create 96 plates.</li>
931    </ol>
932    <p>
933  </li>
934
935  <li>
936    Create array design:
937    <table class="listing" cellspacing="0" cellpadding="2" border="0">
938    <tr>
939      <th>Name</th>
940    </tr>
941    <tr>
942      <td>Array design A</td>
943    </tr>
944    </table>
945    <p>
946  </li>
947 
948  <li>
949    Connect the array design with plates. Select the imported plates (plate names starting
950    with Plate A) and sort them in the correct order (as indicated by their names).
951    <p>
952  </li>
953 
954  <li>
955    Import features:
956    <ol>
957    <li>Click on the <code>Import</code> button when viewing properties for the array design.</li>
958    <li>Choose <code>auto-detect</code> and upload the file
959      <code>printmap.mouse.v4.37k.tam</code>.</li>
960    <li>The <code>Print map importer</code> plug-in should be
961      found.</li>
962    <li>Continue and wait for the import to finish. It should create 36,864 features and 48 blocks.</li>
963    </ol>
964    <p>
965  </li>
966
967  <li>
968    Create array batch:
969    <table class="listing" cellspacing="0" cellpadding="2" border="0">
970    <tr>
971      <th>Name</th>
972      <th>Array design</th>
973      <th>Print robot</th>
974      <th>Protocol</th>
975    </tr>
976    <tr>
977      <td>Array batch A</td>
978      <td>Array design A</td>
979      <td>Robot A</td>
980      <td>Printing A</td>
981    </tr>
982    </table>
983    <p>
984  </li>
985
986  <li>
987    Create array slides with the <code>Create slides</code>
988    wizard.
989   
990    <table class="listing" cellspacing="0" cellpadding="2" border="0">
991    <tr>
992      <th>Name</th>
993      <th>Array batch</th>
994      <th>Quantity</th>
995    </tr>
996    <tr>
997      <td>Array slide A.</td>
998      <td>Array batch A</td>
999      <td>4</td>
1000    </tr>
1001    </table>
1002    <p>
1003  </li>
1004  </ol>
1005
1006  <a name="user"></a>
1007  <h2>5. User tests</h2>
1008  <p>
1009    The user is a typical worker in the project. The user does the actual experimentation in the
1010    lab, which includes collecting samples, doing extraction, labeling and hybridizations.
1011    The user also scans and analyses the raw data resulting from the images.
1012  </p>
1013 
1014  <ol>
1015  <li>
1016    Activate the <code>Project A</code> project<p></li>
1017   
1018  <li>
1019    Create a biosource:
1020    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1021    <tr>
1022      <th>Name</th>
1023      <th>Annotations</th>
1024    </tr>
1025    <tr>
1026      <td>Biosource A</td>
1027      <td>
1028        <table border="0" cellspacing="0" cellpadding="2">
1029        <tr>
1030          <td><i>Drug resistance:</i></td>
1031          <td>medium</td>
1032        </tr>
1033        </table>
1034      </td>
1035    </tr>
1036    </table>
1037    <p>
1038  </li>
1039 
1040  <li>
1041    Create samples:
1042    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1043    <tr>
1044      <th>Name</th>
1045      <th>Protocol</th>
1046      <th>Biosource</th>
1047      <th>Annotations</th>
1048    </tr>
1049    <tr>
1050      <td>Sample A.00h</td>
1051      <td>Sampling A</td>
1052      <td>Biosource A</td>
1053      <td>
1054        <table border="0" cellspacing="0" cellpadding="2">
1055        <tr>
1056          <td><i>Time (hours):</i></td>
1057          <td>0</td>
1058        </tr>
1059        </table>
1060      </td>
1061    </tr>
1062    <tr>
1063      <td>Sample A.24h</td>
1064      <td>Sampling A</td>
1065      <td>Biosource A</td>
1066      <td>
1067        <table border="0" cellspacing="0" cellpadding="2">
1068        <tr>
1069          <td><i>Time (hours):</i></td>
1070          <td>24</td>
1071        </tr>
1072        </table>
1073      </td>
1074    </tr>
1075    <tr>
1076      <td>Sample A.ref</td>
1077      <td>Sampling A</td>
1078      <td>-</td>
1079      <td>-</td>
1080    </tr>
1081    </table>
1082    <p>
1083  </li>
1084
1085  <li>
1086    Create extracts:
1087    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1088    <tr>
1089      <th>Name</th>
1090      <th>Protocol</th>
1091      <th>Sample</th>
1092    </tr>
1093    <tr>
1094      <td>Extract A.00h</td>
1095      <td>Extraction A</td>
1096      <td>Sample A.00h</td>
1097    </tr>
1098    <tr>
1099      <td>Extract A.24h</td>
1100      <td>Extraction A</td>
1101      <td>Sample A.24h</td>
1102    </tr>
1103    <tr>
1104      <td>Extract A.ref</td>
1105      <td>Extraction A</td>
1106      <td>Sample A.ref</td>
1107    </tr>
1108    </table>
1109    <p>
1110  </li>
1111
1112  <li>
1113    Create labeled extracts:
1114    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1115    <tr>
1116      <th>Name</th>
1117      <th>Label</th>
1118      <th>Protocol</th>
1119      <th>Extract</th>
1120    </tr>
1121    <tr>
1122      <td>Labeled extract A.00h</td>
1123      <td>cy3</td>
1124      <td>Labeling A</td>
1125      <td>Extract A.00h</td>
1126    </tr>
1127    <tr>
1128      <td>Labeled extract A.24h</td>
1129      <td>cy3</td>
1130      <td>Labeling A</td>
1131      <td>Extract A.24h</td>
1132    </tr>
1133    <tr>
1134      <td>Labeled extract A.ref</td>
1135      <td>cy5</td>
1136      <td>Labeling A</td>
1137      <td>Extract A.ref</td>
1138    </tr>
1139    <tr class="shaded">
1140      <td>Labeled extract A.00h (dye-swap)</td>
1141      <td>cy5</td>
1142      <td>Labeling A</td>
1143      <td>Extract A.00h</td>
1144    </tr>
1145    <tr class="shaded">
1146      <td>Labeled extract A.24h (dye-swap)</td>
1147      <td>cy5</td>
1148      <td>Labeling A</td>
1149      <td>Extract A.24h</td>
1150    </tr>
1151    <tr class="shaded">
1152      <td>Labeled extract A.ref (dye-swap)</td>
1153      <td>cy3</td>
1154      <td>Labeling A</td>
1155      <td>Extract A.ref</td>
1156    </tr>
1157    </table>
1158    <p>
1159  </li>
1160
1161  <li>
1162    Create hybridizations:
1163    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1164    <tr>
1165      <th>Name</th>
1166      <th>Protocol</th>
1167      <th>Hardware</th>
1168      <th>Array slide</th>
1169      <th>Labeled extracts</th>
1170    </tr>
1171    <tr>
1172      <td>Hybridization A.00h</td>
1173      <td>Hybridization A</td>
1174      <td>Hybridization station A</td>
1175      <td>Array slide A.1</td>
1176      <td>Labeled extract A.00h,<br>Labeled extract A.ref</td>
1177    </tr>
1178    <tr>
1179      <td>Hybridization A.24h</td>
1180      <td>Hybridization A</td>
1181      <td>Hybridization station A</td>
1182      <td>Array slide A.2</td>
1183      <td>Labeled extract A.24h,<br>Labeled extract A.ref</td>
1184    </tr>
1185    <tr class="shaded">
1186      <td>Hybridization A.00h (dye-swap)</td>
1187      <td>Hybridization A</td>
1188      <td>Hybridization station A</td>
1189      <td>Array slide A.3</td>
1190      <td>Labeled extract A.00h (dye-swap),<br>Labeled extract A.ref (dye-swap)</td>
1191    </tr>
1192    <tr class="shaded">
1193      <td>Hybridization A.24h (dye-swap)</td>
1194      <td>Hybridization A</td>
1195      <td>Hybridization station A</td>
1196      <td>Array slide A.4</td>
1197      <td>Labeled extract A.24h (dye-swap),<br>Labeled extract A.ref (dye-swap)</td>
1198    </tr>
1199    </table>
1200    <p>
1201  </li>
1202 
1203  <li>
1204    Create scans:
1205    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1206    <tr>
1207      <th>Name</th>
1208      <th>Hybridization</th>
1209      <th>Scanner</th>
1210      <th>Protocol</th>
1211    </tr>
1212    <tr>
1213      <td>Scan A.00h</td>
1214      <td>Hybridization A.00h</td>
1215      <td>Scanner A</td>
1216      <td>Scanning A</td>
1217    </tr>
1218    <tr>
1219      <td>Scan A.24h</td>
1220      <td>Hybridization A.24h</td>
1221      <td>Scanner A</td>
1222      <td>Scanning A</td>
1223    </tr>
1224    <tr class="shaded">
1225      <td>Scan A.00h (dye-swap)</td>
1226      <td>Hybridization A.00h (dye-swap)</td>
1227      <td>Scanner A</td>
1228      <td>Scanning A</td>
1229    </tr>
1230    <tr class="shaded">
1231      <td>Scan A.24h (dye-swap)</td>
1232      <td>Hybridization A.24h (dye-swap)</td>
1233      <td>Scanner A</td>
1234      <td>Scanning A</td>
1235    </tr>
1236    </table>
1237    <p>
1238  </li>
1239 
1240  <li>
1241    Add images to the scans (TODO - we don't have any images yet):
1242    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1243    <tr>
1244      <th>Scan</th>
1245      <th>Image files</th>
1246    </tr>
1247    <tr>
1248      <td>Scan A.00h</td>
1249      <td>-</td>
1250    </tr>
1251    <tr>
1252      <td>Scan A.24h</td>
1253      <td>-</td>
1254    </tr>
1255    <tr class="shaded">
1256      <td>Scan A.00h (dye-swap)</td>
1257      <td>-</td>
1258    </tr>
1259    <tr class="shaded">
1260      <td>Scan A.24h (dye-swap)</td>
1261      <td>-</td>
1262    </tr>
1263    </table>
1264    <p>
1265  </li>
1266
1267  <li>
1268    Create raw bioassays:
1269    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1270    <tr>
1271      <th>Name</th>
1272      <th>Raw data type</th>
1273      <th>Array design</th>
1274      <th>Protocol</th>
1275      <th>Scan</th>
1276      <th>Software</th>
1277    </tr>
1278    <tr>
1279      <td>Raw bioassay A.00h</td>
1280      <td>GenePix</td>
1281      <td>Array design A</td>
1282      <td>Feature extraction A</td>
1283      <td>Scan A.00h</td>
1284      <td>Software A</td>
1285    </tr>
1286    <tr>
1287      <td>Raw bioassay A.24h</td>
1288      <td>GenePix</td>
1289      <td>Array design A</td>
1290      <td>Feature extraction A</td>
1291      <td>Scan A.24h</td>
1292      <td>Software A</td>
1293    </tr>   
1294    <tr class="shaded">
1295      <td>Raw bioassay A.00h (dye-swap)</td>
1296      <td>GenePix</td>
1297      <td>Array design A</td>
1298      <td>Feature extraction A</td>
1299      <td>Scan A.00h (dye-swap)</td>
1300      <td>Software A</td>
1301    </tr> 
1302    <tr class="shaded">
1303      <td>Raw bioassay A.24h (dye-swap)</td>
1304      <td>GenePix</td>
1305      <td>Array design A</td>
1306      <td>Feature extraction A</td>
1307      <td>Scan A.24h (dye-swap)</td>
1308      <td>Software A</td>
1309    </tr>
1310    </table>
1311    <p>
1312  </li>
1313 
1314  <li>
1315    Inherit the annotations from the samples and biosource for each raw bioassay.
1316    <p>
1317   
1318  </li>
1319 
1320  <li>
1321    Use the auto-detect feature to upload and import raw data for each
1322    raw bioassay. Select the <code>skip</code> option for the "Feature mismatch"
1323    parameter since the file contains rows with bogus reporter ID:s.
1324   
1325    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1326    <tr>
1327      <th>Raw bioassay</th>
1328      <th>Raw data file</th>
1329      <th>Spots inserted</th>
1330    </tr>
1331    <tr>
1332      <td>Raw bioassay A.00h</td>
1333      <td>genepix.mouse.v4.37k.00h.gpr</td>
1334      <td>36,232</td>
1335    </tr>
1336    <tr>
1337      <td>Raw bioassay A.24h</td>
1338      <td>genepix.mouse.v4.37k.24h.gpr</td>
1339      <td>36,232</td>
1340    </tr>   
1341    <tr class="shaded">
1342      <td>Raw bioassay A.00h (dye-swap)</td>
1343      <td>genepix.mouse.v4.37k.00h.dyeswap.gpr</td>
1344      <td>36,232</td>
1345    </tr> 
1346    <tr class="shaded">
1347      <td>Raw bioassay A.24h (dye-swap)</td>
1348      <td>genepix.mouse.v4.37k.24h.dyeswap.gpr</td>
1349      <td>36,232</td>
1350    </tr>
1351    </table>
1352    <p>
1353  </li>
1354 
1355  <li>
1356    Create an experiment:
1357    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1358    <tr>
1359      <th>Name</th>
1360      <th>Raw data type</th>
1361      <th>Raw bioassays</th>
1362      <th>Experimental factors</th>
1363    </tr>
1364    <tr>
1365      <td>Experiment A</td>
1366      <td>GenePix</td>
1367      <td>Raw bioassay A.00h,<br>Raw bioassay A.24h,<br>Raw bioassay A.00h (dye-swap),<br>
1368        Raw bioassay A.24h (dye-swap)</td>
1369      <td>Drug resistance, Time (hours)</td>
1370    </tr>
1371    </table>
1372    <p>
1373  </li>
1374  </ol>
1375
1376  <a name="analysis"></a>
1377  <h2>6. Analysis tests</h2>
1378  <p>
1379    Now it is time to analyse the data. The analysis test should be done
1380    by both a regular user and a guest.
1381  </p>
1382 
1383  <ol>
1384  <li>
1385    Activate the <code>Project A</code> project<p>
1386  </li>
1387   
1388  <li>
1389    Go to the <code>Experiment A</code> experiment and select
1390    the <code>Bioassay sets</code> tab.
1391    <p>
1392  </li>
1393 
1394  <li>
1395    Create a new root bioassay set:
1396    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1397    <tr>
1398      <th>Bioassay set name</th>
1399      <th>Raw bioassays</th>
1400      <th>Formula</th>
1401    </tr>
1402    <tr>
1403      <td>Root bioassay set</td>
1404      <td>all</td>
1405      <td>Mean FG - Mean BG</td>
1406    </tr>
1407    </table>
1408    Wait for the plug-in to finish.
1409    <p>
1410  </li>
1411 
1412  <li>
1413    Select the created bioassay set and create a filtered bioassayset:
1414    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1415    <tr>
1416      <th>Child name</th>
1417      <th>Filter preset</th>
1418      <th>Expression</th>
1419    </tr>
1420    <tr>
1421      <td>Filtered bioassay set</td>
1422      <td>All intensities &gt; 0</td>
1423      <td>ch(1) &gt; 0 &amp;&amp; ch(2) &gt; 0</td>
1424    </tr>
1425    </table>
1426    Wait for the plug-in to finish. It should report that 136,498 spots remain and
1427    that 8,430 spots has been removed.
1428    <p>
1429  </li>
1430
1431  <li>
1432    Select the filtered bioassay set and run a normalization plug-in:
1433    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1434    <tr>
1435      <th>Plugin</th>
1436      <th>Parameters</th>
1437    </tr>
1438    <tr>
1439      <td>Normalization: Lowess</td>
1440      <td>Accept the most of default parameters, but change the
1441      "Block group size" to 12. Otherwise it will take too long time.</td>
1442    </tr>
1443    </table>
1444    Wait for the plug in to finish. It should report that 136,498 spots has been
1445    normalized and 0 spots has been removed.
1446    <p>
1447  </li>
1448   
1449  <li>
1450    Select the normalized bioassay set and check the overview plots and
1451    the correction factor plots. Here are four examples:
1452    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1453    <tr>
1454      <th>Overview plots</th>
1455      <th>Correction factor plots</th>
1456    </tr>
1457    <tr>
1458      <td><img src="overview.png"><br><img src="overview.dyeswap.png"></td>
1459      <td><img src="correction.png"><br><img src="correction.dyeswap.png"></td>
1460    </tr>
1461    </table>
1462    <p>
1463  </li>
1464 
1465  <li>
1466    Try the plot tool with the following plots. Use the <code>Save</code> function
1467    to save one them as a file in the BASE file system, and the <code>Download</code> 
1468    function  to download a plot to your computer.
1469    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1470    <tr>
1471      <th>Plot type</th>
1472      <th>Y-axis preset</th>
1473      <th>X-axis preset</th>
1474      <th>Other options</th>
1475    </tr>
1476    <tr>
1477      <td>Scatter plot</td>
1478      <td>M, log2(ch1 / ch2)</td>
1479      <td>A, log10(ch1 * ch2) / 2</td>
1480      <td>-</td>
1481    </tr>
1482    <tr>
1483      <td>Histogram plot</td>
1484      <td>Count</td>
1485      <td>Ratio, ch1 / ch2</td>
1486      <td>
1487        <table border="0" cellspacing="0" cellpadding="2">
1488        <tr>
1489          <td><i>Log scale</i></td>
1490          <td>checked</td>
1491        </tr>
1492        <tr>
1493          <td><i>Bin size</i></td>
1494          <td>0.1</td>
1495        </tr>
1496        <tr>
1497          <td><i>Annotation</i></td>
1498          <td>Time (hours)</td>
1499        </tr>
1500        </table>
1501      </td>
1502    </tr>
1503    </table>
1504    <p>
1505    Here are two examples:
1506    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1507    <tr>
1508      <th>Scatter plot</th>
1509    </tr>
1510    <tr>
1511      <td><img src="scatter.png"></td>
1512    </tr>
1513    </table>
1514    <p>
1515    <table class="listing" cellspacing="0" cellpadding="2" border="0">
1516    <tr>
1517      <th>Histogram plot</th>
1518    </tr>
1519    <tr>
1520      <td><img src="histogram.png"></td>
1521    </tr>
1522    </table>
1523    <p>
1524  </li>
1525 
1526  </ol>
1527
1528
1529</body>
1530</html>
Note: See TracBrowser for help on using the repository browser.