CHANGES IN VERSION 1.38.1 ------------------------- UTILITIES o update the C codes according to '_R_USE_STRICT_R_HEADERS_=true' & '_R_CXX_USE_NO_REMAP_=true' CHANGES IN VERSION 1.38.0 ------------------------- UTILITIES o faster `snpgdsLDpruning()` and new multi-threading implementation o new option 'autosave' in `snpgdsLDpruning()` o new option `start.pos="random.f500"` in `snpgdsLDpruning()`, allowing faster genotype scanning (it is used by default now). To be compatible with the previous versions, please specify `start.pos="random"` manually o Fix the welcome message when running in a non x86 system CHANGES IN VERSION 1.36.1 ------------------------- UTILITIES o fix the compiler warning: -Wformat-security o set 'maf=0.005' & 'missing.rate=0.05' by default in `snpgdsLDpruning()` (for WGS data) o show a progress bar in `snpgdsLDpruning()` when 'verbose=TRUE' o update the help files of `snpgdsAdmixProp()` and `snpgdsAdmixPlot()` CHANGES IN VERSION 1.34.0 ------------------------- o fix the compiler warning: sprintf is deprecated CHANGES IN VERSION 1.32.0 ------------------------- o update the web links CHANGES IN VERSION 1.30.1 ------------------------- o return a object of S3 class "snpgdsGRMClass" in `snpgdsGRM()` instead of a list when `with.id=TRUE` o fix a portable issue with Fortran character strings via USE_FC_LEN_T & FCONE CHANGES IN VERSION 1.24.0 ------------------------- o definition of IBS in the `snpgdsIBS()` help file CHANGES IN VERSION 1.22.0 ------------------------- o 'allow.fork=TRUE' is the default in `snpgdsOpen()` since v1.21.2 o add `print.snpgdsPCAClass`, `print.snpgdsEigMixClass`, `print.snpgdsPCASNPLoadingClass`, `print, snpgdsEigMixSNPLoadingClass`, `print.snpgdsIBDClass`, `print.snpgdsDissClass`, `print.snpgdsIBSClass` o fix a Win32 compiler issue with gcc-4.9 o update `snpgdsBED2GDS()` with comment.char="" CHANGES IN VERSION 1.20.1 ------------------------- o Bug fix: eigenvalues and TraceXTX are correctly calculated in `snpgdsPCA(, algorithm="randomized")` CHANGES IN VERSION 1.20.0 ------------------------- o a leading tilde in the file path is allowed in `snpgdsGDS2BED()` o change the file name "vignettes/SNPRelateTutorial.Rmd" to "vignettes/SNPRelate.Rmd", so `vignette("SNPRelate")` can work directly CHANGES IN VERSION 1.18.1 ------------------------- o support long vector in `snpgdsIBDSelection()` CHANGES IN VERSION 1.18.0 ------------------------- o `snpgdsBED2GDS()` allows a single file name without the extended file names (.bed, .fam, .bim) CHANGES IN VERSION 1.16.0 ------------------------- o a new option 'useMatrix' for the packed symmetric matrix using the Matrix package in `snpgdsIBDMoM()`, `snpgdsIBDKING()`, `snpgdsIBS()`, `snpgdsIndivBeta()` and `snpgdsGRM()` to reduce memory usages o fix a bug of missing sample and SNP IDs in the output of `snpgdsIndInb()` o new option 'start.pos' in `snpgdsLDpruning()` o new methods in `snpgdsIndInb()`: gcta1, gcta2, gcta3; progress information is shown during running the function o `snpgdsCombineGeno()` supports dosages CHANGES IN VERSION 1.14.0 ------------------------- o the default compression is "LZMA_RA" in `snpgdsBED2GDS()`, `snpgdsVCF2GDS()` and `snpgdsVCF2GDS_R()` for annotations o support Intel C++ compiler with SSE2/AVX2 o allow interrupting requests in the calculation o new method options in `snpgdsPairScore()`: GVH.major, GVH.minor, GVH.major.only, GVH.minor.only o force to use integers for 'snp.position' in `snpgdsCreateGeno()` o unit tests for merging GRMs in `snpgdsMergeGRM()` o the function `snpgdsSNPListStrand()` is merged to `snpgdsSNPListIntersect()`, and it is removed from the package o update `snpgdsSNPListIntersect()` and `snpgdsCombineGeno()` (work correctly) o replace INF/-INF by NaN in the output of `snpgdsIBDKING()` CHANGES IN VERSION 1.12.0-1.12.2 ------------------------- o new arguments 'with.sample.id' and 'with.snp.id' in `snpgdsSNPRateFreq()` o fix an issue in the C code 'LENGTH or similar applied to NULL object' o a new option 'method="Jacquard"' in `snpgdsPairIBD()` o `snpgdsGRM()` can output the GRM matrix to a GDS file o a new function `snpgdsMergeGRM()` to merge multiple GRMs CHANGES IN VERSION 1.10.0-1.10.2 ------------------------- o new functions `snpgdsAdmixPlot()` and `snpgdsAdmixTable()` o `snpgdsPCASNPLoading()` and `snpgdsPCASampLoading()` support the eigen results of `snpgdsEIGMIX()` allowing projecting new samples to the existing coordinate o `snpgdsFst()` provides W&C84 mean Fst together with weighted Fst o a new argument 'outgds' in `snpgdsPCACorr()` allows exporting correlations to a gds file o a friendly warning is given when openning a SeqArray file with `snpgdsOpen()` o a new option "Corr" in `snpgdsGRM()` for scaled GRM o progress information: showing overall running time when completed o An unexpected exception in a thread could result in deadlock: the current implementation shows error information and exits the R session CHANGES IN VERSION 1.8.0 ------------------------- o add a new function `snpgdsIndivBeta()` CHANGES IN VERSION 1.6.0-1.6.6 ------------------------- o fix an issue in `snpgdsVCF2GDS()` if sample.id has white space o bug fix in `snpgdsPCASampLoading()` when the input is SeqArray GDS file o improve `snpgdsGetGeno()` o the version number was bumped for the Bioconductor release version 3.3 o new implement of thread pool o bitwise intrinsics (SSE2/AVX2) to accelerate `snpgdsIBSNum()`, `snpgdsIBS()`, `snpgdsIBDMoM()`, `snpgdsIBDKing()` (+50% to +300%) o v1.6.4: bug fix in v1.6.3 (allele counting error with SSE2 implement) o v1.6.5: `snpgdsGRM()`, renames the option "Visscher" to "GCTA", new option 'dosage' in `snpgdsPairScore()`, new function `plot.snpgdsPCAClass()` CHANGES IN VERSION 1.4.0 ------------------------- o update GENEVA website address o add a new function `snpgdsPairScore()` o improve `snpgdsGRM()` o support the SeqArray data format (requiring SeqArray >= v1.9.2) o modification according to gdsfmt_1.5.7 o bug fix in `snpgdsLDMat()` when genotype data are from SeqArray o bug fix: https://github.com/zhengxwen/SNPRelate/issues/14 o `snpgdsLDMat()` supports multiple threads and covariance o `snpgdsPCA()`: non-computed eigenvalues are NaN to avoid misuse of 'eigenval' when `eigen.method="DSPEVX"` CHANGES IN VERSION 1.2.0 ------------------------- o fix a bug in `snpgdsVCF2GDS()` when 'method="biallelic.only"' o add `snpgdsVCF2GDS_R()` for the R implementation o fix a bug in `snpgdsBED2GDS()` if 'family=TRUE' o `snpgdsGDS2BED()` allows the file name of GDS o improve `snpgdsSlidingWindow()` o add an option 'ignore.chr.prefix' to the function `snpgdsVCF2GDS()` o a new function `snpgdsHWE()` o add "Fst estimation" to the vignette o bug fix if `requireNamespace("SNPRelate")` is called from other packages o `snpgdsPCA()` uses 'DSPEVX' to compute eigenvalues and eigenvectors instead of 'DSPEV' if top eigenvalues are required only (significant improvement on computing speed) o the original Rnw vignette is replaced by a R Markdown vignette o a new function `snpgdsPED2GDS()` CHANGES IN VERSION 1.0.0 ------------------------- o The version number was bumped for the Bioconductor release version CHANGES IN VERSION 0.99.1-0.99.3 ------------------------- o an option to create an integer snp.id when converting from PLINK o a new function `snpgdsFst()` to estimate Fst o minor fixes CHANGES IN VERSION 0.99.0 ------------------------- o be a Bioconductor package o fully support long vectors (>= R v3.0) o >5x speedup in the function `snpgdsVCF2GDS()` o SNP GDS format allows character-type chromosome codes o add a new argument 'ref.allele' in `snpgdsVCF2GDS()` o add new functions `snpgdsOpen()` and `snpgdsClose()` o add a new function `snpgdsTranspose()` to transpose the genotypic matrix o add a new function `snpgdsAlleleSwitch()` to switch alleles if needed o add a new function `snpgdsApartSelection()` o add a new function `snpgdsGEN2GDS()` to import Oxford GEN data o use NA instead of 3 as missing value in `snpgdsGetGeno()` o add a new argument 'snpfirstdim' in the function `snpgdsGDS2BED()` o add a new argument 'with.id' in the functions `snpgdsSNPRateFreq()` and `snpgdsSampMissRate()` o return a numeric vector instead of data.frame in `snpgdsLDpair()` o add estimating nine Jacquard's coefficients in `snpgdsIBDMLE()` o fix the memory issues reported by valgrind CHANGES IN VERSION 0.9.15-0.9.19 ------------------------- o improve `snpgdsIBDKING()` to avoid misleading arguments and examples o improve `snpgdsIBDSelection()` o the names of column 'sample1', 'sample2' and 'kinshipcoeff' are changed to 'ID1', 'ID2' and 'kinship' in the output of `snpgdsIBDSelection()` o avoid compiler issues when the version of R < v3.0 o minor fixes in `snpgdsIBDSelection()`: allow non-character-type sample IDs and missing IBD coefficients CHANGES IN VERSION 0.9.14: ------------------------- o `snpgdsGDS2BED()` gives a warning if the allele information is missing o add `snpgdsIBDKING()` (KING robust relationship inference in genome-wide association studies) o bug fixes in `snpgdsIBS()` and `snpgdsIBSNum()` o some warnings in `snpgdsSummary()` are replaced by hints o bug fix in `snpgdsVCF2GDS()`: duplicate SNP id when importing multiple VCF files o improve hint information in `snpgdsGDS2BED()` CHANGES IN VERSION 0.9.10-0.9.13 ------------------------- o disable parallel functions in the Windows version of SNPRelate, until the internal multi-thread funcitons are replaced by the functions in win-pthreads o fix compiling issues in the Windows version of SNPRelate o add 'GetRNGstate' and 'PutRNGstate' to the C function `gnrDistPerm()` o remove the upper limit of 200 chromosomes in `snpgdsVCF2GDS()` according to scaffolds/contigs from a de novo assembly not chromosomes o improve `snpgdsSummary()` o bug fixes in `snpgdsPairIBD()` o bug fix in `snpgdsVCF2GDS()`: to use "\t" as the field separator character o bug fixes according to gdsfmt v0.9.11 o improve the vignette CHANGES IN VERSION 0.9.8-0.9.9 ------------------------- o adds a new argument 'family' to `snpgdsBED2GDS()` o improves `snpgdsCutTree()` o adds a new function `snpgdsDrawTree()` o adds an argument 'option' to the function `snpgdsBED2GDS()` o outputs chromosome codes according to `snpgdsOption()` in `snpgdsGDS2BED()` o add an alternative method extracting variants from a VCF file in `snpgdsVCF2GDS()` o supports multiple files in `snpgdsVCF2GDS()` o add `snpgdsOption()` o add `snpgdsHCluster()` o add `snpgdsCutTree()` o add `snpgdsDiss()` CHANGES IN VERSION 0.9.1-0.9.7 ------------------------- o bug fix: an important bug of missing genotypes in `snpgdsVCF2GDS()` o bug fix: a bug in `snpgdsGDS2BED()` (output 23, 24, ..., instead of X, Y, XY) o bug fix: a bug in `snpgdsCombineGeno()` (due to duplicate SNPs) o `snpgdsLDpair()` provides haplotype frequency estimates o `snpgdsLDMat()` allows specifying sliding window size o add RUnit tests o add a vignette o bug fixes o add functions to `snpgdsIBDMLE()` and `snpgdsIBDMoM()` o add a new function `snpgdsVCF2GDS()` CHANGES IN VERSION 0.9.0 (03-Aug-2011) ------------------------- o first public release of SNPRelate