Top  Previous  Next

Created by, date: Yi-Ju Li, August 4, 2003

Last updated by, date: Melanie Garrett 3/24/09


Keyword Categories:

       Clinical: N/A

       Genetics: Quantitative Traits > SOLAR


       Software: SOLAR (UNIX)

       Related: linkage, quantitative traits, variance components, SOLAR




Version 4.2.0


SOLAR (Sequential Oligogenic Linkage Analysis Routines) is a software package that performs several kinds of statistical genetic analyses for family-based data using variance components:

       - linkage analysis

       - quantitative trait analysis

       - heritability calculation

       - covariate screening

SOLAR can handle multiple quantitative traits and/or discrete traits which may involve multiple loci and interactions.


Main reference:

Almasy L, Blangero J (1998) Multipoint quantitative trait linkage analysis in general pedigrees. Am J Hum Genet 62:1198-1211.


For additional references and full documentation, please visit



Accessing SOLAR

Each user must register to use all the features of SOLAR.  To obtain your access key, please email asking for solar key(s) and provide the following information for each person who will be using SOLAR:

       1.  login name

       2.  email address

       3.  if research is funded by NIH, specify grant number(s)


Once you obtain a key by email, you can then use the SOLAR register command.  To run SOLAR, type solar at your UNIX shell prompt.  For example, if your key is aaabbb:

       solar> register aaabbb



Data input

SOLAR requires 4 input files: pedigree file, phenotype file, marker file, map file.  These must be either PEDSYS data files or Comma Delimited (*.csv) data files, with the exception of the map and freq (optional) files which are space delimited.  In most cases, missing data is specified by blanks.  Comma Delimited files must contain a header line listing the field names.


1.  Pedigree file: consists of one record per individual and includes the following fields:

       <family id> <individual id> <father id> <mother id> <sex>


       Ex: example.ped

               FAMID, ID, FA, MO, SEX

               1, 1, 1000, 1001, M

               1, 2, 1000, 1001, F

               1, 1000, 0, 0, M

               1, 1001, 0, 0, F


       Zero (0) is also acceptable for missing values in the pedigree file.  Sex may also be coded as 1/2.


2.  Phenotype file: consists of one record per individual and includes the following fields:

       <family id> <individual id> <phenotype1> <phenotype2> <...>


       Ex: example.phen

               FAMID, ID, Q1, AGE

               1, 1, 45, 20

               1, 2, 40, 17

               1, 1000, , 45

               1, 1001, , 42


3.  Marker file: contains genotype data for one or more marker loci

       <family id> <individual id> <genotype1> <genotype2> <...>


       Ex: example.mrk

               1, 1, 10/10, 20/20

               1, 2, 10/30, 20/40

               1, 1000, 10/10, 0/0

               1, 1001, 0/0, 20/40


       0/0 or -/- are acceptable missing values for genotypes.  SOLAR assumes all markers are autosomal.  If the markers are X-linked, then the -xlinked option must be given in the load marker command.  See documentation regarding coding for X-linked markers in the marker file.


4.  Map file: contains chromosomal locations in cM for a set of marker loci on a single chromosome.  The header contains the chromosome and mapping function.

       <marker name> <marker location in cM>



               20 Haldane

               SNP1 112.85

               SNP2 114.43



Running SOLAR

Type solar at the UNIX prompt:



       SOLAR version 4.2.0 (Official), last updated on November 03, 2008

       Copyright (c) 1995-2008 Southwest Foundation for Biomedical Research

       Enter help for help, exit to exit, doc to browse documentation.




Load pedigree file

       solar> load ped example.ped

       Loading pedigree data from the file example.ped...


       Only the pedigree file is required for simple quantitative analysis.  To perform linkage analysis, you must create the IBD (for twopoint linkage analysis) and MIBD (for multipoint linkage analysis) files.


Create IBD and MIBD files

       solar> load marker example.mrk

       solar> freq mle                        /*may also load frequencies instead using load freq*/

       solar> freq save freq.dat        /*save calculated frequencies*/

       solar> freq load freq.dat        /*load mle allele frequency file*/

       solar> mkdir q1ibd                /*create directory to store IBD files*/

       solar> ibddir q1ibd                /*point to IBD directory*/

       solar> ibd                                /*run IBD*/


       solar> mkdir q1mibd                /*create directory to store MIBD files*/

       solar> mibddir q1mibd                /*point to MIBD directory*/

       solar> load map        /*map file required for MIBD*/

       solar> mibd [from to] incr        /*computes MIBDs at incr cM intervals from location from through location to*/



Modeling commands

1.  Quantitative Genetic or Polygenic Analysis with Covariate Screening

       solar> load pedigree example.ped

       solar> load phenotype example.phen

       solar> model new                                /*should use this command if other models have already been run*/

       solar> trait q1                                /*creates q1 directory to save results*/

       solar> covariate age

       solar> polygenic -screen                /*covariate screening procedure*/


       Covariate screening with determine the statistical significance of each covariate, and remove it from the final model if it falls below a specified threshold (default level is 0.1).  The threshold can be changed using the -prob argument.

       solar> polygenic -screen -prob 0.05


       If you want to determine the significance of each covariate, but don't want any removed, use the -all argument.

       solar> polygenic -screen -all


       If you want to selectively force certain covariates into the final model, use the -fix argument followed by the covariate name you want to force include.

       solar> polygenic -screen -fix age


       Linkage analysis should be built on top of a good polygenic analysis.  This will improve the ability to find marker effects.


2.  Twopoint linkage analysis

       Make sure you have already pointed to the ibd directory.


       solar> twopoint


       The output file is located in the trait directory and contains LOD scores and H2q1 (proportion of variance associated with a linkage element) for each marker.  Use the -overwrite option if you want to delete previous results.


3.  Multipoint linkage analysis

       Make sure you have already pointed to the mibd directory.


       solar> chromosome 20                /*must specify chromosome*/

       solar> interval 5                        /*select scan interval and range*/

       solar> finemap 0.5                /*optional: establishes LOD threshold for finemapping*/

       solar> multipoint 3 1.9


       In this example, if the best QTL is greater than 3, multipoint will make another pass.  After that pass, it will continue until the LOD for the best QTL is lower than 1.9.


Many advanced modeling procedures are also available in SOLAR.  Please refer to the website for documentation.



Power Calculations

Assumptions for power calculations:

       - trait is quantitative

       - trait is influenced by a single biallelic QTL with, optionally, a residual additive genetic effect due to polygenes

       - fully informative marker genotype data available to all study subjects

       - all study subjects will be phenotyped for the trait studied


Simulation is used to estimate the LOD score one would expect to obtain for a QTL having a certain effect size (ie. QTL heritability).  The expected LOD is calculated for a range of effect size.  The ELODs, in turn, are used to compute the power to detect a QTL having these various effect sizes with, for example, a LOD of 3.  The power command gives control over some aspects of the power calculation procedure.  See manual for options:


       solar> help power



Empirical p-values

To compute empirical p-values, first use the lodadj command to build up a distribution of LOD scores on can expect under the null hypothesis of no linkage.  The lodadj command regresses the observed LOD scores on the LOD scores expected for a multivariate normal trait.  The inverse of the slope of the regression line is the LOD adjustment.


The empp command used the observed LODs to determine the p-values associated with unadjusted LOD scores.


       solar> trait q1

       solar> lodadj -calc

       solar> empp 3


lodadj may also be helpful with you have high residual kurtosis for your quantitative trait. Note: this can take a very long time!