-
Added
scan1snps()
to do single-QTL scan at SNPs imputed from founder genotypes; can be used to scan the full genome or a defined region. -
Added arguments
lodcolumn
andchr
totop_snps()
so that it can deal with multiple LOD score columns and/or multiple chromosomes.
- Improve handling of missing names in interp_map(), and ensure that when markers are on top of each other in the oldmap, their positions in the newmap don't get changed.
- Turn off debug C++ code
- Fix bug in
est_herit()
regarding dependent covariate columns when missing values in the phenotypes. Need to calldrop_depcols()
again after having omitted individuals with missing phenotypes.
- Removed the
preserve_intercept
argument fromscan1blup()
. The default (FALSE
), adding the intercept to the BLUPs, no longer makes sense to me. (Better to have an option inscan1coef()
to get estimated genetic effects that sum to 0; which we'll add in the future.)
-
Check for linearly dependent columns in covariate matrices after omitting individuals.
-
Check for +/- Inf in the phenotypes and covariates, rather than just NAs.
-
In linear regression routines, and checks that inputs are appropriately sized.
-
Fix bug that prevented scan1() from being used with a decomposed kinship matrix.
-
For the example contrasts in
scan1coef
,scan1blup
, andfit1
, the contrasts for the additive effect in an intercross should be(-1,0,1)
not(-0.5,0,0.5)
. Also fixed in the user guide. -
In
subset_kinship
, if subsetting a decomposed kinship matrix by individual, check whether perhaps it's not actually being changed in which case just ignore theind
argument.
-
Revised installation instructions.
-
Small changes to user guide regarding use of
library(qtl2)
.
- Fixed linreg_eigen.cpp and matrix.cpp to work with RcppEigen 0.3.3.3.0.
- Implemented model="binary" (for phenotypes with values 0/1) in scan1, scan1coef, scan1perm, and fit1. (Not available with kinship correction.)
- Give a better error message if phenotypes (or covariates) are missing rownames (or, with a vector, names)
- Reduce repeated code dealing with kinship matrices.
-
Fix bug regarding treatment of pre-decomposed kinship matrix in
scan1
. -
decomp_kinship
crashes R if input has dimension 0x0; halt with an error in this case.
- Revised
subset_scan1
(and the internal functionsubset_kinship
) to use the same options for subsetting by chromosome as the functions in R/qtl2geno, most importantly use of "negative" chromosome indexes, like"-X"
.
-
Added
fit1()
to fit a single-QTL model at a single fixed position and return the LOD score, estimated coefficients, individual contributions to the LOD score, and (ifse=TRUE
) standard errors. -
In
scan1coef()
andscan1blup()
, added an argumentnullcovar
for covariates to include only under the null hypothesis (of no QTL). This is only used in the case thatkinship
is provided buthsq
is not, as these may be needed for the X chromosome to get the estimated residual heritability.
-
Added
dim.calc_genoprob
anddimnames.calcgenoprob
, from Brian Yandell, for use with qtl2feather, which uses feather to store genotype probabilities in a file (to save memory). -
In precess of revising various functions to use qtl2feather, particularly in grabbing dimnames (with the above functions), but also to avoid
seq(along=genoprobs)
and instead useseq_len(length(genoprobs))
.
-
Added
scan1perm
to perform a permutation test to establish genome-wide significance in a single-QTL genome scan byscan1
. -
Also added functions
rbind.scan1perm
andcbind.scan1perm
for combiningscan1perm
results, andsummary.scan1perm
to obtain significance thresholds.
- Fixed a bug in
scan1
. This would only show up if you were using a kinship matrix and scanning the X chromosome on its own with special X chr covariates (Xcovar
). (Accidentally was acting as if it were an autosome and so ignoringXcovar
.)
-
Refactored to simplify the main data structures for
scan1
,scan1coef
, andscan1blup
output, and to deal with the refactoring of data structures in qtl2geno. Functions likemax_scan1
,find_peaks
,lod_int
, andbayes_int
now need you to provide a map. Similarly, to subsetscan1
results by chromosome, you need to provide a map to the subsetting function. -
Pulled the
"snpinfo"
attribute out of thescan1
object. Now you need to useindex_snps
to identify groups of equivalent SNPs prior to runninggenoprob_to_snpprob
.index_snps
adds some new columns to thesnpinfo
data frame, which are then needed bytop_snps
.