Matrix eQTL is designed for fast eQTL analysis on large datasets.
Matrix eQTL can test for association between genotype and gene expression using linear regression
with either additive or ANOVA genotype effects.
The models can include covariates to account for factors
as population stratification, gender, and clinical variables.
It also supports models with heteroscedastic and/or correlated errors,
false discovery rate estimation and separate treatment of local (cis) and distant (trans) eQTLs.

MatrixEQTL: Ultra fast eQTL analysis via large matrix operations

Matrix eQTL: Ultra Fast eQTL Analysis via Large Matrix
Operations
person(  "Andrey A", "Shabalin",
role = c("aut", "cre"),
email = "andrey.shabalin@gmail.com",
comment = c(ORCID = "0000-0003-0309-6821"))
Matrix eQTL is designed for fast eQTL analysis on large datasets.
Matrix eQTL can test for association between genotype
and gene expression using linear regression
with either additive or ANOVA genotype effects.
The models can include covariates to account for factors
as population stratification, gender, and clinical variables.
It also supports models with heteroscedastic and/or correlated errors,
false discovery rate estimation and
separate treatment of local (cis) and distant (trans) eQTLs.
R (>= 2.12.0), methods, utils, graphics, stats

Matrix eQTL is designed for fast eQTL analysis on large datasets.
Matrix eQTL can test for association between genotype
and gene expression using linear regression
with either additive or ANOVA genotype effects.
The models can include covariates to account for factors
as population stratification, gender, and clinical variables.
It also supports models with heteroscedastic and/or correlated errors,
false discovery rate estimation and
separate treatment of local (cis) and distant (trans) eQTLs.
For more details see Shabalin (2012) <doi:10.1093/bioinformatics/bts163>.
Andrey A Shabalin [aut, cre] (<https://orcid.org/0000-0003-0309-6821>)

c(
person(given="David", family="Cortes", role=c("aut", "cre", "cph"),
email="david.cortes.rivera@gmail.com"),
person(given="Dmitry", family="Selivanov", role="cph"),
person(given="Thibaut", family="Goetghebuer-Planchon", role="cph",
comment="Copyright holder of included robinmap library"),
person(given="Martin", family="Maechler", role="cph",
comment="Copyright holder of 'Matrix' package from which some code was taken"),
person(given="Robert", family="Gentleman", role="cph",
comment="Copyright holder of mathematical functions used by base R which were copied"),
person(given="Ross", family="Ihaka", role="cph",
comment="Copyright holder of mathematical functions used by base R which were copied")
)
Extends sparse matrix and vector classes from the 'Matrix' package by providing:
(a) Methods and operators that work natively on CSR formats (compressed sparse row,
a.k.a. 'RsparseMatrix') such as slicing/sub-setting, assignment, rbind(),
mathematical operators for CSR and COO such as addition ("+") or sqrt(), and methods such as diag();
(b) Multi-threaded matrix multiplication and cross-product for many <sparse, dense> types,
including the 'float32' type from 'float';
(c) Coercion methods between pairs of classes which are not present in 'Matrix',
such as 'dgCMatrix' -> 'ngRMatrix', as well as convenience conversion functions;
(d) Utility functions for sparse matrices such as sorting the indices or removing
zero-valued entries;
(e) Fast transposes that work by outputting in the opposite storage format;
(f) Faster replacements for many 'Matrix' methods for all sparse types, such as
slicing and elementwise multiplication.
(g) Convenience functions for sparse objects, such as 'mapSparse' or a shorter 'show' method.
David Cortes [aut, cre, cph],
Dmitry Selivanov [cph],
Thibaut Goetghebuer-Planchon [cph] (Copyright holder of included
robinmap library),
Martin Maechler [cph] (Copyright holder of 'Matrix' package from which
some code was taken),
Robert Gentleman [cph] (Copyright holder of mathematical functions used
by base R which were copied),
Ross Ihaka [cph] (Copyright holder of mathematical functions used by
base R which were copied)