Generates loop designs e.g. for time-course microarray experiments (R.W. Payne).
|Controls whether or not to print a plan of the design (
||Number of treatments|
||Increment or increments to be used to form the loops|
||Seed for randomization; a negative value implies no randomization|
||Identifier for the treatment factor|
||Identifier for the block (plate) factor|
||Identifier for the factor for the units within each block (or colours in a microarray experiment)|
||Saves a command to recreate the design (useful if the design information has been specified in response to questions from
Loop designs are often used in two-colour microarray experiments. Here, each slide compares a pair of treatments, one of which is stained with a red dye and the other with a green dye. Suppose that the treatments are t1, t2 … tn. Then, before randomization in the basic form of the design, the first slide would compare t1 (using red) with t2 (using green), the second slide would compare t2 (red) with t3 (green), and the nth slide would compare tn (red) with t1 (green). The design has the advantage that treatments are balanced with colours. This basic form is also very effective for making comparisons between treatments that are adjacent in the sequence t1 … tn, as might be the main point of interest when the treatments correspond to time.
Comparisons between more widely spaced treatments are less well estimated So an alternative possibility is to choose more than one increment, and construct additional cycles through the treatments using modulo arithmetic. The design is then known as an interwoven loop design. None of the increments, other than 1, must be a divisor of the number of treatments as its cycle would then fail to include all the treatments. For example, with 8 treatments an increment of 3 would be satisfactory (1, 4, 7, 2, 5, 8, 3, 6, 1) but 2 would not (1, 3, 5, 7, 1). Note also, that 5 (which is 8 – 3) would be equivalent to 3 (1, 6, 3, 8, 5, 2, 7, 4, 1); the treatments appear in the reverse order, so the adjacent pairs are the same.
AGLOOP is easiest to use interactively. It then asks questions to determine the necessary information to form the design: for example, the number of treatments and the increments to use. The parameters allow you to anticipate questions, or to define all the necessary information if you want to use
AGLOOP in batch. If, however, you wish to recreate the same design later, the
STATEMENT parameter allows you to save a Genstat text structure containing a command specifying the same information.
The number of treatments can be defined using the
LEVELS parameter. Similarly, the
INCREMENTS parameter can supply a scalar defining a single increment, or a variate, or a pointer containing several scalars, to define several. The
SEED parameter allows you to specify a seed to be used to randomize the design. In batch the default seed is -1, to suppress randomization. If you do not set
SEED when running interactively
AGLOOP will ask for a seed, and again a negative value suppresses any randomization. Note that, the randomization is constrained to ensure that the treatments remain balanced with colour.
The remaining parameters,
UNITS, allow you to specify identifiers for the factors representing treatments, blocks (or plates in a microarray experiment) and units within blocks (or colours in a microarray experiment). If these are not specified in a batch run,
AGLOOP will use identifiers that are local within the procedure and thus lost at the end of the procedure. If you are running interactively,
AGLOOP will ask you to provide identifiers, and these will remain available after
AGLOOP has finished running.
AGLOOP has a
design to print the plan of the design. By default, if you are running Genstat in batch, neither are printed. If you do not set
AGLOOP will ask whether or not you wish to print the design.
QUESTION procedure is used to obtain the necessary details of the design. The design is then using the standard Genstat directives for calculation and manipulation.
CAPTION 'AGLOOP example'; STYLE=meta AGLOOP [PRINT=design] LEVELS=3; INCREMENT=1; SEED=-1;\ TREATMENTS=time; BLOCKS=plate; UNITS=color AGLOOP [PRINT=design] LEVELS=5; INCREMENT=!(1,2); SEED=781375;\ TREATMENTS=time; BLOCKS=plate; UNITS=color