- Fixed minor native routine registration issue.
- Drop defunct CI services.
- Update link to paper.
- Add
FWD()
function for performing forward regressions.
- Add
segments()
function for finding non-overlapping segments based on a summary statistic. preprocess()
: AddnCores
parameter.findRelated()
: Map indices to sample names for matrix inputs.getG()
: Addimpute
parameter.getG()
: Impute by mean instead of 0 ifcenter = FALSE
.getG()
: Usepreprocess()
internally for better performance.as.BGData()
: Read genetic distances in .bim file as double instead of integer.
- Follow Bioconductor S4 practices.
- If you have used
new()
to createBGData
instances, please use theBGData()
constructor function instead. - If you have used
@
to access the slots ofBGData
instances, please use thegeno()
,pheno()
, andmap()
accessors instead.
- If you have used
BGData()
:- Do not create dimnames for
geno
as this object is likely shared. - Check if
geno
has row names before creatingpheno
stub. - Check if
geno
has column names before creatingmap
stub. - Rename
IID
inpheno
stub tosample_id
. - Rename
mrk
inmap
stub tovariant_id
. - Change format of rownames for
pheno
stub to a sequence starting withsample_
and rownames formap
stub to a sequence starting withvariant_
ifgeno
does not have dimnames.
- Do not create dimnames for
as.BGData()
:- Force column classes when loading .fam and .bim files.
- Force
FID
andIID
columns to be of typecharacter
when loading alternate phenotype files. - Do not make assumptions about the structure of dimnames of a BEDMatrix
object if it is passed without .fam and .bim file unless they are
NULL
.
- Add validity tests for
BGData
objects:- Check if number of rows of
geno
matches number of rows ofpheno
. - Check if number of columns of
geno
matches number of rows ofmap
. - Warn if the row names of
pheno
do not match the row names ofgeno
. - Warn if the row names of
map
do not match the column names ofgeno
.
- Check if number of rows of
- Add
preprocess()
function for fast centering, scaling, and imputation. GWAS()
: Return number of records used for each variant and allele frequencies inrayOLS
.- Update citation instructions.
- Use
inherits(., *)
instead ofclass(.) == *
(R4 compat).
- Add
chunkedMap()
function. - Improve error handling in
chunkedMap()
andchunkedApply()
. summarize()
: Improve performance.GWAS()
: Improve performance ofrayOLS
method.GWAS()
: Fix bug when computing p-values for methods other than rayOLS, lsfit, or SKAT wheni
is used to subset samples.GWAS()
: Fix wrong results inlsfit
method when covariates with missing values are used.as.BGData()
: Fix bug loading .fam and .bim files when path contains the wordbed
.
- Rename
bufferSize
tochunkSize
. - Remove
nTasks
parameter fromchunkedApply()
and methods based on it. - Remove
crossprods
function.
- Change chunking strategy to improve parallelism: instead of loading a subset
of
chunkSize
in the main process, load a subset ofchunkSize
in the each fork. That waynTasks
is not necessary anymore and the same code can be used for one core and multiple cores. - Add
findRelated()
function for use with matrices and symDMatrix objects. - Add
orderedMerge()
function that allows for phenotypes to be easily merged into a BGData object. - Performance improvements in
getG()
function: use single shared memory matrix to collect results. - Performance improvements in
rayOLS
method inGWAS()
function. getG_symDMatrix()
: Support version 2 of symDMatrix package.getG_symDMatrix()
: AddchunkSize
parameter.getG_symDMatrix()
: AddminVar
parameter.as.BGData()
: Use rownames of BEDMatrix object as rownames for pheno, and colnames of BEDMatrix object as rownames for map.- Include process ID in verbose output if
nCores
> 1.
getG_symDMatrix()
: Fix scaling error whenscale = FALSE
.getG_symDMatrix()
: Compute block indices correctly for out-of-order, non-sequential indices.getG_symDMatrix()
: Do not include centers and scales in attributes anymore because the influence ofj
andminVar
is difficult to retain.
Initial release.