1. Home
  2. AGLOOP procedure

AGLOOP procedure

Generates loop designs e.g. for time-course microarray experiments (R.W. Payne).


PRINT = string token Controls whether or not to print a plan of the design (design); if unset in an interactive run AGLOOP will ask whether the design is to be printed, in a batch run the default is not to print the design


LEVELS = scalars Number of treatments
INCREMENTS = scalars, variates or pointers Increment or increments to be used to form the loops
SEED = scalars Seed for randomization; a negative value implies no randomization
TREATMENTS = factors Identifier for the treatment factor
BLOCKS = factors Identifier for the block (plate) factor
UNITS = factors Identifier for the factor for the units within each block (or colours in a microarray experiment)
STATEMENT = texts Saves a command to recreate the design (useful if the design information has been specified in response to questions from AGLOOP)


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, t2tn. 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 t1tn, 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, TREATMENTS, BLOCKS and 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 PRINT option which can be set to 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 PRINT when running interactively, AGLOOP will ask whether or not you wish to print the design.

Option: PRINT.



The 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.

See also


Commands for: Design of experiments, Microarray data.


CAPTION  'AGLOOP example'; STYLE=meta
         TREATMENTS=time; BLOCKS=plate; UNITS=color
AGLOOP   [PRINT=design] LEVELS=5; INCREMENT=!(1,2); SEED=781375;\
         TREATMENTS=time; BLOCKS=plate; UNITS=color
Updated on June 20, 2019

Was this article helpful?