SOLAR is known as the old-school player in the quantitative trait loci (QTLs) mapping field (>2600 citations), which variance components or linear mixed models are implemented especially for the analysis of related individuals in pedigrees.
solarius
is an R package to interface SOLAR and to run its main models: polygenic, association and linkage.
Model | SOLAR cmd | solarius function |
Input data format |
---|---|---|---|
Polygenic | polygenic | solarPolygenic | phen: R data.frame (ID/FA/MO pedigree-fields) |
Linkage | multipoint | solarMultipoint | MIBD: SOLAR |
Association | mga | solarAssoc | SNP: R matrix, SOLAR, PLINK (markers/imputed) |
The solarius
package also enables parallel computation of association / linkage
models to make genome-wide scans more efficient.
- The stable release on CRAN
- The article describing
solarius
in Bioinformatics- The preprint version is available in biorxiv (the content of Section 2 is different)
- Vignettes
- R code vignettes/
- hmlt output:
- Documentation http://ugcd.github.io/solarius/doc/ (out of date)
- Project web http://ugcd.github.io/solarius/ (out of date)
To install the official release from CRAN:
install.packages("solarius")
To install the latest development version from source on GitHub (master branch):
library(devtools)
install_github("ugcd/solarius")
Note 1: Starting from version 3.*, solarius
is not supported for Windows.
DESCRIPTION file has a special line OS_type: unix
.
This is a clear limitation of the solarius
package that comes from the dependency on SOLAR.
See also the SOLAR FAQ
and the question 4 "Can SOLAR-Eclipse only be downloaded in the linux version?".
Note 2: The solarius
user needs to install and register SOLAR, that might be the most annoying part of the installation process.
Please see the Installation section of the tutorial vignette.
Please see the vignette minimal.html.
To cite the solarius
package in publications use:
Ziyatdinov et al., solarius: an R interface to SOLAR for variance
component analysis in pedigrees, Bioinformatics (2016)
A BibTeX entry for LaTeX users is:
@article{ziyatdinov2016solarius,
title = {solarius: an R interface to SOLAR for variance component analysis in pedigrees},
author = {Andrey Ziyatdinov and Helena Brunel and Angel Martinez-Perez and Alfonso Buil and Alexandre Perera and Jose Manuel Soria},
year = {2016},
publisher = {Oxford Univ Press},
journal = {Bioinformatics},
pages = {btw080},
url = {http://bioinformatics.oxfordjournals.org/content/32/12/1901},
}
The rationale behind the solarius
software:
- do not automate things in R, which
SOLAR
has already automated- call
SOLAR
bysystem
R base function passing options/settings to SOLAR as parameters
- call
- make it more R self-content and independent on other programs
- phenotypes format as
data.frame
- make use of R plots like plotting pedigrees
- make use of parallelization insfrastructure available in R
- do not rely on tcl scripts anymore
- phenotypes format as
- get rid of
salamboR
artifacts (ancestor ofsolarius
)- GAIT-specific functions
- interface with other programs than
SOLAR
- lost version-control traces
- dependence on old-school code from previous mantainers
- dependence on (many) tcl scripts
- get rid of
SOLAR
artifacts- store models/phenos in folders/files
- make use of github infrastructure: collaborative coding, issues, gh-pages, etc
On the SOLAR side:
- Designed for the family-based studies (HHID, PROBND, FAMID descriptors of individuals)
- support of extended pedigrees
- Stable routines for optimization of VC models
- Advanced polygenic models
- support of multivariate models
- liability threshold model (probit)
- LRT applied to both covariates and variance components
- Elaborated linkage models
- Multi-pass
- Multivariate
- Adjustment of LOD scores
- Association models
- Speed-up based on residuals
- Advanced VC models (custom scripts)
- Sex-specificity
- Longitudinal
On the R side:
- Interactive environment for data manipulation
- Graphics
- Plot residuals, QQ-plot, Manhattan plot
- Parallel computing
Q1: I use GEMMA for my qtl mapping analysis. Are there any special reasons to switch to SOLAR / solarius
?
A1: That depends on the type of analysis. Some of the features SOLAR has and GEMMA does not:
- GEMMA allows for a single random effect (the additive genetic), while SOLAR is flexible in the number of such effects.
- By default, a SOLAR model has (1) the additive genetic (it is compulsory) (ID/FA/MO fields); and (2) the house-hold grouping (HHID field) effect. The
solarius
package can be easily used to specify such models with the two random effects. - Note that if HHID variable is not measured in a sample under study, SOLAR and GEMMA perform the same modeling.
- If one is interested in a more general model with >2 random effects, then
solarius
can not help here and the only way is to deal with SOLAR tcl scripts, etc.
- By default, a SOLAR model has (1) the additive genetic (it is compulsory) (ID/FA/MO fields); and (2) the house-hold grouping (HHID field) effect. The
- SOLAR has the liability threshold (probit) model for binary traits, while GEMMA seems not. Consequently, a bi- or multi-variate trait model, where some traits are binary, is easy to define in SOLAR (SOLAR computes conditional likelihoods).
- Generally, SOLAR might be more stable and robust to ambiguous models in the case of multi-trait analysis, because of many years of improvement in this direction.
Q2: I was wondering whether there was any support for user-defined omega functions, or any slightly more complicated variance components models (e.g. to allow different variance components for males and females, or to report results as variance components rather than proportions of variance)? If not, are there any plans to incorporate these in future?
A2: The solarius
package supports the three basic models: polygenic
, multipoint
and mga
commands of SOLAR.
In future versions of solarius
, we are not going to include any complex models. In this sence, solarius
is a partial port of SOLAR into R.
Also note that GxE tcl scripts are not publicly available. In our group, we did some specific analyses like GxE with custom tcl scripts (requested from the SOLAR authors).
Q3: When I tried to install the package, this was the message I got:
> install.packages(“solarius”)
Warning message:
package ‘solarius’ is not available (for R version 3.2.2)
Could you please let me know what I have done wrong and correct way to install the package?
A3: I suspect that you might have the Windows system, for which solarius
is not supported. That is because of SOLAR.
Please see the installation notes on http://ugcd.github.io/solarius/vignettes/tutorial.html#installation.
- The new SOLAR web page (SOLAR-Eclipse)
- The old SOLAR web page at txbiomedgenetics.org (depreciated)
- Appendix 1. SOLAR Command Descriptions