1. Home
  2. QLINKAGEGROUPS procedure


Forms linkage groups using marker data from experimental populations (J. Jansen, J.T.N.M. Thissen & M.P. Boer).


PRINT = string token What to print (summary); default summ
POPULATIONTYPE = string token Type of population (BC1, DH1, F2, RIL, CP); must be set
USEPENALTY = string token Whether to increase the number of recombinations by 0.5 recombination per informative meiosis for each missing marker score (yes, no); default no
THRESHOLD = scalar or variate Threshold for the recombination frequency at which markers are said to be linked; default 0.2


MKSCORES = pointers Marker scores for each marker; must be set
CHROMOSOMES = factors or pointers Saves the linkage groups of the markers
MKNAMES = texts Names of the markers; must be set
PARENTS = pointers Marker scores of the parents; must be set
SMKSCORES = pointers Saves the marker scores factors according to the SMKNAMES parameter
SCHROMOSOMES = factors or pointers Saves the sorted linkage groups
SMKNAMES = texts or pointers Saves the names of the markers according to the SCHROMOSOMES parameter
SPARENTS = pointers Saves the parent information according to the SMKNAMES parameter when POPULATIONTYPE=CP


QLINKAGEGROUPS forms linkage groups of markers using marker data from experimental populations. The marker scores of the genotypes are supplied in a pointer by the MKSCORES parameter. This contains a set of factors (with levels all in the same order), each one with the data for one of the markers. The names of the markers must be supplied, in a text, using the MKNAMES parameter. The marker scores of the parents must be supplied using the PARENTS parameter.

First QLINKAGEGROUPS calculates the recombination frequencies from the marker scores. The calculation depends on the population type, which must be specified by the POPULATIONTYPE option. You can set option USEPENALTY=yes to impose a penalty for missing data: the number of recombinations is then increased by 0.5 recombination per informative meiosis for each missing marker score.

Next the recombination frequencies are used to determine whether markers are linked, using a threshold provided by the THRESHOLD option; this can be either a scalar or a variate (default 0.2). If POPULATIONTYPE=CP, parent information must be supplied by the PARENTS parameter. The linkage groups can be saved using the CHROMOSOMES parameter. If THRESHOLD is a scalar, this saves a factor, otherwise it saves a pointer of factors (one for each value in the variate).

The parameters beginning with the prefix S can be used to save information, sorted into ascending order according to the levels of the CHROMOSOMES factor(s). The SCHROMOSOMES parameter saves either a single factor or a pointer of factors, according to whether THRESHOLD is a scalar or a variate. These contain all values of the linkage group designated '1', followed by the linkage group designated '2', and so on. Similarly the SMKNAMES parameter saves either a text or a pointer of texts. These contain the names of the markers, starting with those of the first CHROMOSOMES level, then the second level, and so on. They are sorted alphabetically within each CHROMOSOMES level. The marker scores and parent information are saved by the SMKSCORES and SPARENTS parameters, respectively. These save pointers with either one or two levels of suffixes, according to whether THRESHOLD is a scalar or a variate. The information that they contain is sorted according to the SMKNAMES text.

The PRINT option controls the printed output. The summary setting prints the number of markers in each linkage group.




The recombination frequencies are calculated by the QRECOMBINATIONS procedure, using the two-point method. Linkage groups are formed using depth-first search from a symmetric matrix of links.

Action with RESTRICT

Restrictions are not allowed.


Cormen T.H., Leiserson, C.E., Rivest R.L. & Stein, C. (2001). Introduction to Algorithms, 2nd edition. MIT Press and McGraw-Hill, Cambridge, Massachusetts.

See also


Commands for: Statistical genetics and QTL estimation, Graphics.


CAPTION         'QLINKAGEGROUPS example'; STYLE=meta

QIMPORT         [POPULATION=F2] '%GENDIR%/Examples/F2maize_geno.txt';\ 
                MKSCORES=mkscores; MKNAMES=mknames; PARENTS=parents
                THRESHOLD=!(0.15,0.20,0.25,0.30)] \
                MKSCORES=mkscores; MKNAMES=mknames; PARENTS=parents;\ 
PRINT           mknames,chromosomes[]; DECIMALS=0

QIMPORT         [POPULATION=CP] '%GENDIR%/Examples/CPapple_GENO.txt'; \
                MKSCORES=mkscores ; MKNAMES=mknames; PARENTS=parents
                THRESHOLD=!(0.15,0.20,0.25,0.30)] \
                MKSCORES=mkscores; MKNAMES=mknames; PARENTS=parents;\ 
PRINT           mknames, chr[]; DECIMALS=0
Updated on March 6, 2019

Was this article helpful?