This document defines a procedure for testing that the predefined roles can perform their work as intended. The main purpose is to weed out permission problems resulting from:
The test procedure also tests that the basic functionality is working:
Here is a summary of the test procedure:
These tests can also be run in automated mode by test programs. This will of course not test the web client, but are useful if one quickly needs to do parts of the test and then continue with, for example, the user or analysis tests on the web.
The data files needed by the tests are NOT included in the subversion repository.
The main reason is that they are too large, and that we don't have permission to
make them publicly available for download. To get the test file you need to be a
core developer. Read the instructions on the
DeveloperInformation
page, Test data
section on the Base 2 web site. The automated
test programs require that file are placed (checked out) in the 'testdata'
directory located in the BASE root directory. NOTE! Some test data files are
bzip-compressed. These need to be uncompressed before they are uploaded to BASE.
To run the tests do the following:
ant main test
.build/test/
directory../test.sh roles <cmds>
where
<cmds>
is one or more of the following:
all
: run all testsroot
: run the root user testsadmin
: run the administrator testspower
: run the power user testsuser
: run the regular user testsguest
: run the guest user testsThe root user creates an administrator which is a server-wide admin.
Name | Login/Password | Quota | Quota group | Membership |
---|---|---|---|---|
Admin | admin/admin | Unlimited | - | Roles: Administrator |
The administrator creates users for a project and gives them permissions that are suitable for their role in the project. The administrator also sets up quota and group membership.
Name | Quota |
---|---|
Group A | 1GB |
Name | Login/Password | Quota | Quota group | Membership | Other |
---|---|---|---|---|---|
Power user | power/power | 1GB | Group A | Roles: Power user | - |
User | user/user | 1GB | Group A | Roles: User | - |
Guest | guest/guest | 10MB | Group A | Roles: Guest | Multi-user account checked |
User | Plugins |
---|---|
Power user |
|
Name | Plugin | Configuration values | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Reporters for project A | Reporter importer |
Test with file: plates_and_reporters.mouse.v4.37k.txt
|
||||||||||||||||
GenePix reporter importer (optional) |
Reporter importer |
Test with file: genepix.mouse.v4.37k.00h.gpr
|
||||||||||||||||
Reporters from Affymetrix annotations file | Reporter importer |
Test with file: MG_U74Av2_annot.csv.bz2
|
View -> Reporters
page.Import
button.auto-detect
and then upload
the file plates_and_reporters.mouse.v4.37k.txt
.Reporters for project A
format should be
found.skip
option for the "Missing a required" value
since the file contains rows with empty reporter ID:s.
MG_U74Av2_annot.csv
file. This time
also select crop
for the "String too long" setting since
the file contains data that is too large for the datbase.
12,488 new reporters should be created.
The power user is the typical owner/administrator of a project. The power user sets up common resources used in the project, such as hardware, software, protocols, file formats and annotation types. In this case the power user is also responsible for managing the LIMS.
Name | Members |
---|---|
Project A | Groups: Group A (Use permission) |
Name | Type |
---|---|
Sampling A | Sampling |
Extraction A | Extraction |
Labeling A | Labeling |
Hybridization A | Hybridization |
Scanning A | Scanning |
Feature extraction A | Feature extraction |
Printing A | Printing |
Name | Type |
---|---|
Hybridization station A | Hybridization station |
Scanner A | Scanner |
Print robot A | Print robot |
Name | Type |
---|---|
Software A | Feature extraction |
Name | Type | Interface | Values | Item types |
---|---|---|---|---|
Drug resistance | String | radiobuttons | high, medium, low | Biosource |
Time (hours) | Integer | text box | - | Sample |
Dye swap | Boolean | - | - | Raw bioassay |
Name | Plugin | Configuration values | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Plates for project A | Plate importer |
Test with file: plates_and_reporters.mouse.v4.37k.txt
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GenePix feature importer (optional) |
Reporter map importer |
Test with file: genepix.mouse.v4.37k.00h.gpr
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Raw data for project A | Raw data importer |
Test with file: genepix.mouse.v4.37k.00h.gpr
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Raw data for project A (dye-swap) | Raw data importer |
Test with file: genepix.mouse.v4.37k.00h.dyeswap.gpr
|
File format | Annotation | Value |
---|---|---|
Raw data for project A | Dye swap | false |
Raw data for project A (dye swap) | Dye swap | true |
Name | Geometry |
---|---|
Plate type A | 384-well (16 x 24) |
Array LIMS -> Plates
page.Import
button.auto-detect
and select
the file plates_and_reporters.mouse.v4.37k.txt
.Plates for project A
format should be
found.Plate type | Plate type A |
Plate name prefix | Plate A |
Plate name padding | 4 |
Name | Platform | File(s) |
---|---|---|
Array design A | Generic | Print map: printmap.mouse.v4.37k.tam |
Affymetrix A | Affymetrix | CDF file: MG_U74Av2.cdf.bz2 |
Array design A
with plates. Select the imported plates (plate names starting
with Plate A
) and sort them in the correct order (as indicated by their names).
Import
button when viewing properties for the array design.auto-detect
and upload the file
printmap.mouse.v4.37k.tam
.Print map importer
plug-in should be
found.
Project A
project. On the Defaults
tab, set the following defaults:
Setting | Value |
---|---|
Platform / raw data type | Generic / Genepix |
Software | Software A |
Array design | Array design A |
Hybridization station | Hybridization station A |
Scanner | Scanner A |
Print robot | Print robot A |
Scanning protocol | Scanning A |
Sampling protocol | Sampling A |
Extraction protocol | Extraction A |
Labeling protocol | Labeling A |
Hybridization protocol | Hybridization A |
Feat. extraction protocol | Feature extraction A |
Printing protocol | Printing A |
Name | Array design | Print robot | Protocol |
---|---|---|---|
Array batch A | Array design A | Robot A | Printing A |
Affymetrix batch A | Affymetrix A |
Create slides
wizard.
Name | Array batch | Quantity |
---|---|---|
Array slide A. | Array batch A | 4 |
Affymetrix slide A. | Affymetrix batch A | 3 |
The user is a typical worker in the project. The user does the actual experimentation in the lab, which includes collecting samples, doing extraction, labeling and hybridizations. The user also scans and analyses the raw data resulting from the images.
Project A
projectName | Annotations | ||
---|---|---|---|
Biosource A |
|
Name | Protocol | Biosource | Annotations | ||
---|---|---|---|---|---|
Sample A.00h | Sampling A | Biosource A |
|
||
Sample A.24h | Sampling A | Biosource A |
|
||
Sample A.ref | Sampling A | - | - |
Name | Protocol | Sample |
---|---|---|
Extract A.00h | Extraction A | Sample A.00h |
Extract A.24h | Extraction A | Sample A.24h |
Extract A.ref | Extraction A | Sample A.ref |
Name | Label | Protocol | Extract |
---|---|---|---|
Labeled extract A.00h | cy3 | Labeling A | Extract A.00h |
Labeled extract A.24h | cy3 | Labeling A | Extract A.24h |
Labeled extract A.ref | cy5 | Labeling A | Extract A.ref |
Labeled extract A.00h (dye-swap) | cy5 | Labeling A | Extract A.00h |
Labeled extract A.24h (dye-swap) | cy5 | Labeling A | Extract A.24h |
Labeled extract A.ref (dye-swap) | cy3 | Labeling A | Extract A.ref |
Name | Protocol | Hardware | Array slide | Labeled extracts |
---|---|---|---|---|
Hybridization A.00h | Hybridization A | Hybridization station A | Array slide A.1 | Labeled extract A.00h, Labeled extract A.ref |
Hybridization A.24h | Hybridization A | Hybridization station A | Array slide A.2 | Labeled extract A.24h, Labeled extract A.ref |
Hybridization A.00h (dye-swap) | Hybridization A | Hybridization station A | Array slide A.3 | Labeled extract A.00h (dye-swap), Labeled extract A.ref (dye-swap) |
Hybridization A.24h (dye-swap) | Hybridization A | Hybridization station A | Array slide A.4 | Labeled extract A.24h (dye-swap), Labeled extract A.ref (dye-swap) |
Affymetrix hyb A.1 | Hybridization A | Hybridization station A | Affymetrix slide A.1 | Labeled extract A.00h |
Affymetrix hyb A.2 | Hybridization A | Hybridization station A | Affymetrix slide A.2 | Labeled extract A.24h |
Affymetrix hyb A.3 | Hybridization A | Hybridization station A | Affymetrix slide A.3 | Labeled extract A.ref |
Name | Hybridization | Scanner | Protocol |
---|---|---|---|
Scan A.00h | Hybridization A.00h | Scanner A | Scanning A |
Scan A.24h | Hybridization A.24h | Scanner A | Scanning A |
Scan A.00h (dye-swap) | Hybridization A.00h (dye-swap) | Scanner A | Scanning A |
Scan A.24h (dye-swap) | Hybridization A.24h (dye-swap) | Scanner A | Scanning A |
Affymetrix scan A.1 | Affymetrix hyb A.1 | Scanner A | Scanning A |
Affymetrix scan A.2 | Affymetrix hyb A.2 | Scanner A | Scanning A |
Affymetrix scan A.3 | Affymetrix hyb A.3 | Scanner A | Scanning A |
Scan | Image files |
---|---|
Scan A.00h | - |
Scan A.24h | - |
Scan A.00h (dye-swap) | - |
Scan A.24h (dye-swap) | - |
Name | Platform/Raw data type | Array design | Protocol | Scan | Software | File(s) |
---|---|---|---|---|---|---|
Raw bioassay A.00h | Generic/GenePix | Array design A | Feature extraction A | Scan A.00h | Software A | Raw data: genepix.mouse.v4.37k.00h.gpr |
Raw bioassay A.24h | Generic/GenePix | Array design A | Feature extraction A | Scan A.24h | Software A | Raw data: genepix.mouse.v4.37k.24h.gpr |
Raw bioassay A.00h (dye-swap) | Generic/GenePix | Array design A | Feature extraction A | Scan A.00h (dye-swap) | Software A | Raw data: genepix.mouse.v4.37k.00h.dyeswap.gpr |
Raw bioassay A.24h (dye-swap) | Generic/GenePix | Array design A | Feature extraction A | Scan A.24h (dye-swap) | Software A | Raw data: genepix.mouse.v4.37k.24h.dyeswap.gpr |
Affymetrix raw A.1 | Affymetrix | Affymetrix A | Feature extraction A | Affymetrix scan A.1 | Software A | CEL file: jos1761.cel.bz2 |
Affymetrix raw A.2 | Affymetrix | Affymetrix A | Feature extraction A | Affymetrix scan A.2 | Software A | CEL file: jos1762.cel.bz2 |
Affymetrix raw A.3 | Affymetrix | Affymetrix A | Feature extraction A | Affymetrix scan A.3 | Software A | CEL file: jos1763.cel.bz2 |
smart
option for the "Feature mismatch"
parameter and null
for "Invalid numeric value".
Raw bioassay | Raw data file | Spots inserted/with null reporter/skipped) | Annotations created |
---|---|---|---|
Raw bioassay A.00h | genepix.mouse.v4.37k.00h.gpr | 36,864/632/768 | Dye swap: false |
Raw bioassay A.24h | genepix.mouse.v4.37k.24h.gpr | 36,864/632/768 | Dye swap: false |
Raw bioassay A.00h (dye-swap) | genepix.mouse.v4.37k.00h.dyeswap.gpr | 36,864/632/768 | Dye swap: true |
Raw bioassay A.24h (dye-swap) | genepix.mouse.v4.37k.24h.dyeswap.gpr | 36,864/632/768 | Dye swap: true |
Name | Raw data type | Raw bioassays | Experimental factors |
---|---|---|---|
Experiment A | GenePix | Raw bioassay A.00h, Raw bioassay A.24h, Raw bioassay A.00h (dye-swap), Raw bioassay A.24h (dye-swap) |
Drug resistance, Time (hours), Dye swap |
Affymetrix A | Affymetrix | Affymetrix raw A.1, Affymetrix raw A.2, Affymetrix raw A.3 |
Drug resistance, Time (hours) |
The Affymetrix experiment gives some more warnings. Most of them are
related to not using the project default items, missing protocols
and missing hardware. There should also be an error about missing
experimental factor values for the Affymetrix.3
raw bioassay. It is expected since this comes from the reference sample
which doesn't have values for those annotations.
Change validation options to reduce the number of warnings:
Validation option | Setting |
---|---|
Project defaults | Set all to Ignore |
Missing items | Set all to Ignore |
Annotations - Missing factor value | Warning |
Now it is time to analyse the data. The analysis test should be done by both a regular user and a guest.
Project A
project
Experiment A
experiment and select
the Bioassay sets
tab.
Bioassay set name | Raw bioassays | Formula |
---|---|---|
Root bioassay set | all | Mean FG - Mean BG |
Child name | Filter preset | Expression |
---|---|---|
Filtered bioassay set | - | ch(1) > 0 && ch(2) > 0 && rep('id') != null |
Plugin | Parameters |
---|---|
Normalization: Lowess | Accept the most of default parameters, but change the "Block group size" to 12. Otherwise it will take too long time. |
Overview plots | Correction factor plots |
---|---|
![]() ![]() |
![]() ![]() |
Save
function
to save one them as a file in the BASE file system, and the Download
function to download a plot to your computer.
Plot type | Y-axis preset | X-axis preset | Other options | ||||||
---|---|---|---|---|---|---|---|---|---|
Scatter plot | M, log2(ch1 / ch2) | A, log10(ch1 * ch2) / 2 | - | ||||||
Histogram plot | Count | Ratio, ch1 / ch2 |
|
Here are two examples:
Scatter plot |
---|
![]() |
Histogram plot |
---|
![]() |