CHANGES IN ADEGENET VERSION 2.1.10 CRAN MAINTENANCE - one final lingering short bool definition was purged CHANGES IN ADEGENET VERSION 2.1.9 CRAN MAINTENANCE - failures on C23 were fixed. The reserved word `bool` definition was replaced with including stdbool CHANGES IN ADEGENET VERSION 2.1.8 CRAN MAINTENANCE - Some testing code in C that was triggering warnings in clang was removed CHANGES IN ADEGENET VERSION 2.1.7 BUG FIX - as.matrix and as.data.frame methods for genind/genpop objects will now use `tab()` internally to avoid https://github.com/thibautjombart/adegenet/issues/331 DEPENDENCIES - Suggested packages tripack and akima have been removed and replaced with interp, which is used in the tutorials. (see https://github.com/thibautjombart/adegenet/issues/332) CHANGES IN ADEGENET VERSION 2.1.6 MISC - in `xvalDapc()`, if `n.pca.max` is a vector greter than length 1, the maximum value will be used (@pdimens, #323) BUG FIX - `summary.spca()` now works when matricies and data frames are used as the input for `spca` (@lvclark, #329) CHANGES IN ADEGENET VERSION 2.1.5 PARALLEL COMPUTATION - parallel computation defaults to `FALSE` from now on to avoid frustrating errors on windows machines (@courtiol, #313). DEPENDENCIS - spdep and adespatial have been moved to Suggests to make installation easier for people who do not need spatial functions. BUG FIX - tab() method for genpop objects no longer return NaN for freq = TRUE when a locus is missing from a population (this affects hybridize; @Sergi-Taboada, @eachambers, #262) MISC - Mis-matched documentation in glPca() has been fixed (@plantarum, #298) CHANGES IN ADEGENET VERSION 2.1.4 DOCUMENTATION - `snapclust()` documentation has been updated to be not so scary (@thibautjombart, #287) CHANGES IN ADEGENET VERSION 2.1.3 BUG FIX - `seppop()` correctly subsets genlight objects now. (@rdinnager, #270) MISC - A bug in the `scaleGen()` example has been fixed and a minor spelling mistake was corrected (@courtiol, #273) - `find.clusters()` gains a missing parenthesis in the user prompt (@knausb, #283) - Warning messages for missing loci and individuals have been made clearer (@zkamvar, #276) - DESCRIPTION file now uses Authors@R syntax CRAN MAINTENANCE - `DNAbin2genind()` now checks for matrices by using `inherits()` instead of `class(x) == "matrix"` (@zkamvar, #275) CHANGES IN ADEGENET VERSION 2.1.2 NEW MANAGEMENT - Zhian N. Kamvar is now the acting maintainer of the package. NEW FEATURES - While creating genind from dataframe, it is now possible to skip the test of the ploidy that was added in 2.1.1 by passing the option check.ploidy = FALSE to the function df2genind. Thanks to Frederic Michaud for the fix. See https://github.com/thibautjombart/adegenet/issues/231 and https://github.com/thibautjombart/adegenet/pull/232 for details - `showmekittens()` has gained several new kittens thanks to @rdecamp - A new data set called `swallowtails` has been added to demonstrate the export to MVmapper functionality. BUG FIXES - A bug where the number of alleles per locus was unaffected after subsetting a population with `drop = FALSE` has been fixed. Now, by default, the `@loc.n.all` slot (accessor: `nAll()`) will store the number of observed alleles in the current data set, regardless of whether or not these were dropped from the data matrix. See https://github.com/thibautjombart/adegenet/issues/234 for details. - `seppop()` will now take into account `NA` population assignments with the new `keepNA` argument. See https://github.com/thibautjombart/adegenet/pull/236 for details. - `snapclust()` likelihood calculation was incorrect for haploids. This has been fixed in commits 3a5f820db388c9821c3095cd29ad3cd3843237a5 and e41d2d598369bb5921465a60adffac9ecb61f86d. MISC - `snapclust()` will give a better warning message when the number of samples in the dataset exceeds computer precision. See https://github.com/thibautjombart/adegenet/issues/221 for details. - `df2genind()` now imports data >100x faster (@KlausVigo, https://github.com/thibautjombart/adegenet/pulls/260) CHANGES IN ADEGENET VERSION 2.1.1 BUG FIXES - A warning will be issued if the user specifies a ploidy range that is less than the observed allele dosage when data is imported by df2genind. See https://github.com/thibautjombart/adegenet/issues/216 for details. CHANGES IN ADEGENET VERSION 2.1.0 NEW FEATURES - new set of functions implementing 'snapclust' for genetic clustering using fast maximum-likelihood estimation; new functions include: `snapclust`, `snapclust.choose.k`, and methods for `AIC`, `AICc`, `BIC`, `KIC` - compoplot is now a generic with methods for different objects, including dapc and snapclust - spca is now a generic with methods for genind, data.frame and genlight objects - a new generic wrapper `export_to_mvmapper` has been added, which exports multivariate analyses (e.g. DAPC, sPCA, or standard dudi objects) with geo-referenced units to serve as input to mvmapper (https://popphylotools.github.io/mvMapper/) - the new function `spca_randtest` implements a Monte Carlo test for spatial structure in the sPCA framework. BUG FIXES - fixed registration of C routines which could cause problems with SNPbin and genlight objects. - fixed issues relating to `read.PLINK` and the reading of `.map` files (issues 94 and 188) - fixed issues relating xvalDapc with non-table objects by registering methods for genind and genlight object (issue 193) - find.clusters with clust parameter will no longer throw an error when attempting to find clusters of populations with fewer than n/10 individuals (issue 184) CHANGES IN ADEGENET VERSION 2.0.2 BUG FIXES o df2genind will now replace "." in alleles with "_" (or "p" if sep = "_") see https://github.com/thibautjombart/adegenet/issues/132 for details o if several locus names would partially match through grep, df2genind would output an incorrect genind object NA-wise. Reported by Elizabeth, see https://github.com/thibautjombart/adegenet/issues/160 CHANGES IN ADEGENET VERSION 2.0.1 NEW FEATURES o Hs is now much faster and will scale better for large number of loci o Hs.test allows for testing differences in expected heterozygosity between two groups of individuals o strata tutorial is now available via adegenetTutorial(which="strata") o repool can now handle objects with no population information, and can return a list of repooled genind (argument 'list' defauling to FALSE) o read.fstat can now handle missing data coded by any number of "0" o `scatter.dapc` function can now label individuals using `orditorp` function from `vegan` package, which takes care of overlapping (See issue #100) o df2genind is now faster at handling missing data (See issue #114) o the summary method has better formatting BUG FIXES o Hs no longer returns NaN if one locus has not been typed; instead, computations are done using all available loci o adegenetTutorial now opens up-to-date tutorials o subsetting genlight objects now treats missing data appropriately when given logical, character, or negative subscripts. (See issue #83 (https://github.com/thibautjombart/adegenet/issues/83)) o fixed occasional spurious warning about duplicated individual labels in df2genind o fixed issues with mis-placed missing data in df2genind when samples were labeled with numbers (See issue #96) o frequencies can now be obtained from P/A genpop objects (See issue #105) o Windows no longer throws an error with as.genlight (See issue #109) o read.genpop now returns individual names (See issue #117) CHANGES IN ADEGENET VERSION 2.0.0 CHANGES IN GENIND/GENPOP/GENLIGHT OBJECTS o generic labels are no longer used; therefore, 'truenames' is now deprecated o @tab now stores integers representing counts of alleles, as opposed to the former numeric for allele frequencies o @ploidy is now a vector with one value per individual; ploidy can differ across individuals o @loc.names, @ind.names, @pop.names have been removed o accessors locNames, indNames and popNames can be used to replace calls to the removed slots o hierarchical structure is implemented in genind and genlight objects, by the addition of two new slots @strata and @hierarchy. o subsetting genlight objects is now up to 10x faster. NEW FEATURES o ploidy can now vary across individuals o printing is now consistent across objects classes o summary methods now get a verbose argument o df2genind is more flexible and faster o genind objects size is roughly divided by 2 o adegenet is now better integrated alongside other packages including pegas and hierfstat; functions for HW test and F statistics have been migrated into these packages and removed from adegenet or deprecated o new accessor tab(...) replaces 'truenames' and should be used to get tables of allele counts, frequencies, and optionally replace missing data o new accessor locNames<- can be used to rename loci in genind/genpop o new accessors 'strata' and 'hier' can be used to get/set hierarchical clustering information! o genind2genpop can now take a formula argument for pop to specify strata. o subsetting of genind/genpop is more powerful, allowing: x[loc=a , pop=b] where a and b are any subset of loci and populations (characters, integers, logicals) o dapc can now store loadings of original variables (argument var.loadings=TRUE) o hybridize is now more tolerant towards heterogeneous parent populations and repools data systematically o xvalDapc can now run in parallel! o roxygen2 is now used for part of the documentation, and mandatory for new contributions o new tutorials (distributed on github and on the adegenet website) are now available, including one on strata o adegenetIssues() will take you to the issues page of the project on github o new welcoming message upon loading the package! o a hidden function for listening to music CHANGES IN ADEGENET VERSION 1.4-3 NEW FEATURES o the generic function pairDist has been added; it plots pairwise distance distributions for different group combinations. Method for objects of class: dist, matrix, genind, DNAbin. o 'inbreeding' can now return the maximum likelihood estimate via the stats function 'optimize'. CHANGES IN ADEGENET VERSION 1.4-2 FIXES o fixed adegenetServer; this should now work on any platform. CHANGES IN ADEGENET VERSION 1.4-1 NEW FEATURES o the adegenet website is now indicated in CRAN FIXES o fix to adegenetTutorial: the basics tutorial would not be opened by the function CHANGES IN ADEGENET VERSION 1.4-0 NEW FEATURES o adegenet now incorporates a web interface for DAPC, started by the command adegenetServer("DAPC") o 'xvalDapc' has been modified to incorporate heterogeneous sample sizes o the new function 'snpzip' implements feature selection using DAPC o 'snpposi.plot' plots SNP density across a DNA sequence o 'snpposi.test' tests for randomness in the distribution of SNPs across a DNA sequence o the package is no longer distributed with vignettes; instead, tutorials are available from the adegenet website, and can be accessed from R directly by the function 'adegenetTutorial'. CHANGES IN ADEGENET VERSION 1.3-9.2 FIXES o fixed NAMESPACE to get rid of a warning due to conflicting imports in ape and igraph o fixed seploc and seppop, which were loosing some of the attributes of the objects (ploidy, type) CHANGES IN ADEGENET VERSION 1.3-8 NEW FEATURES o new palettes: azur, wasp o new function any2col translates (numeric, factor, character) vectors into colors, also providing information for a legend o new function xvalDapc which performs cross-validation for a dapc analysis. CHANGES IN ADEGENET VERSION 1.3-7 NEW FEATURES o entirely new version of DNAbin2genind, much faster than before and suitable for large alignments CHANGES IN ADEGENET VERSION 1.3-6 NEW FEATURES o findMutations: a new procedure to identify the location and nature of mutations between pairs of DNA sequences o graphMutations: a graphical representation for findMutations o improved graphics for gengraph CHANGES IN ADEGENET VERSION 1.3-5 NEW FEATURES o seqTrack and haploGen now have export functions to igraph class. o seqTrack and haploGen now have default plot methods relying on igraph conversion. o fstat and gstat.randtest have been restored. o gengraph implements graph-based approaches for representing genetic diversity (e-burst type of approaches for any time of genetic data). BUG FIXES o mutation rates have been fixed in haploGen o calls to printf replaced by Rprintf in C procedures o seqTrack example fixed (conversion to graphNEL removed, now using igraph) o DLL is now loaded within the NAMESPACE, .First.lib is no longer used. CHANGES IN ADEGENET VERSION 1.3-3 BUG FIXES o fixed a bug of propShared, which gave wrong results under weird circumstances. The new implementation is entirely different, uses C code, and is now applicable to data with any level of ploidy. o tried making the package smaller by removing unnecessary files. CHANGES IN ADEGENET VERSION 1.3-2 BUG FIXES o replaced calls to multicore:::detectCores with parallel:::detectCores (the former gives unexpected results on some platforms). o documentation update: fstat function is no longer available due to removal of hierfstat package from CRAN. An example shows how to use Fst function from the pegas package instead. o documentation update: doc now specifies that read.genepop and read.fstat are meant for diploid data only, with guidelines for haploid data. CHANGES IN ADEGENET VERSION 1.3-1 BUG FIXES o removed all dependency with graph package, which was still causing errors on some systems - whenever Bioconductor was not by default one of the accessible repositories (used to be FAQ #4). NEW FEATURES o legend in scatter.dapc now matches to the type and size of symbols used in the plot. o the package has been made smaller (from 20MB to 8.5MB). o a warning has been added to read.structure: the function is made for diploid data only. CHANGES IN ADEGENET VERSION 1.3-0 BUG FIXES o fixed broken dependencies with hierfstat and graph packages (used to be FAQ #4). o fixed a minor bug in loadingplot regarding possible label errors. NEW FEATURES o genome-wide SNP data support using the new class genlight, supported by compiled C routines and parallelized computations on multicore architectures. o dedicated find.clusters and dapc methods for genlight objects. o read.PLINK to read SNP data with PLINK format into genlight objects. o read.snp to read SNP data with adegenet's own format into genlight objects. o fasta2genlight to extract SNP from FASTA files into genlight objects. o new method 'predict' for DAPC objects, allowing for using supplementary individuals. o many new options of DAPC scatterplots (scatter.dapc). o new plotting method 'compoplot' for DAPC objects, displaying group memberships in a STRUCTURE-like way... only prettier. o many new accessors for the classes genind and genpop. o 4 new tutorial vignettes: adegenet-basics, adegenet-dapc, adegenet-spca, adegenet-genomics. o last but not least: Ismail Ahmed has joined the project as a developper. CHANGES IN ADEGENET VERSION 1.2-8 BUG FIXES o fixed a major issue in the conversion of genind objects to hierfstat data format. In some cases, this issue biased the results of the wrapper function "fstat". CHANGES IN ADEGENET VERSION 1.2-7 NEW FEATURES o dapc and find.clusters are now stable versions for the published methods. o a.score and optim.a.score are released in their beta versions. o scatter.dapc is now adapted to representation 1-dimensional DAPC results. BUG FIXES o fixed a major issue in the ape package causing haploGen to bug. This is a temporary replacement, waiting for ape to implement the changes (currently, adegenet replaces ape's as.list.DNAbin function with a corrected version). CHANGES IN ADEGENET VERSION 1.2-6 NEW FEATURES o pairwise.fst: computes Nei's pairwise Fst between populations o alignment2genind: extract polymorphism from nucleic and proteic aligned sequences with the 'alignment' format, returning a genind object. BUG FIXES o fixed a minor issue in Hs, occuring in fixed loci for a given population. CHANGES IN ADEGENET VERSION 1.2-5 NEW FEATURES o SeqTrack, an algorithm for the reconstruction of genealogies, is now fully implemented and documented. o haploGen, a system for simulating genealogies, is now fully implemented and documented. BUG FIXES o summary methods for genind and genpop are fixed (again) for the new R version 2.11.1. CHANGES IN ADEGENET VERSION 1.2-4 NEW FEATURES o Hs computes the theoretical heterozygosity by populations for genpop object o propShared is now available for haploid data o Discriminant Analysis of Principal Component (DAPC) is implemented by the function DAPC, although the method itself is still under review. o The SeqTrack algorithm for reconstructing genealogies is implemented by the function seqTrack, although the method itself is still under review. o Pre-release of new simulation tools, still undocumented (haploPop and haploGen). o New datasets eHGDP and H3N2 BUG FIXES o minor bug fixes in df2genind, propShared, and seploc o summary issue arised in certain conditions, depending on which package was loaded before adegenet; in some cases, the summary procedure was not found for genind/genpop objects. Fixed now. CHANGES IN ADEGENET VERSION 1.2-3 NEW FEATURES o implement handling of presence/absence markers. genind and genpop object now have a 'type' attribute to differentiate between codominant markers (e.g. microsatellite), which is the default type, and presence/absence data (e.g. AFLP). Functions in adegenet now behave according to the type of markers being used. o SNP can now be obtained from sequence data, stored as DNAbin (see E. Paradis's package 'ape'). They can be selected to verify any given degree of polymorphism. o 'hybridize' can now be used for genotypes having any even degree of ploidy (e.g. tetraploid genotypes). o the new function 'isPoly' checks which loci are polymorphic, or which alleles contribute to polymorphism. o the new function 'pop' can be used to retrieve and set the pop slot of genind object. o the new function 'selPopSize' allows one to select a subset of genotypes belonging to well-sampled populations, as defined by a threshold sample size. o the new accessor 'locNames' can be used to retrieve real labels of markers and/or alleles. o the loadingplot has been modified to allow specifying x axis, so that scoring SNPs along their sequence is now possible. BUG FIXES o no bug to fix this version! CHANGES IN ADEGENET VERSION 1.2-2 NEW FEATURES o implement different levels of ploidy in genind / genpop objects (new slot @ploidy). Now, any level of ploidy can be handled by input function df2genind, which has been recoded almost entierely. Different levels of ploidy are now handled by different functions. o a "sep" argument is now handled by df2genind: this allows reading many data formats. o implemented a method "scaleGen" for genind / genpop objects, which scales allelic data using different methods. o colorplot: a generic function, with a method for spca objects. Represents up to three principal components based on RGB representation of Cavalli-Sforza. o loadingplot for plotting loadings of one axis o adegenetTutorial function which opens the online tutorials o allow for the use of na.replace and scaleGen in spca function o added rupica dataset o enable reading data from URL (import2genind, read.[...]) o permit specification of a matrix of spatial weights in spca BUG FIXES o fixed bug 1.2-2.01 (read.structure issue): was due to the default of "onerowperind" argument. o fixed bug 1.2-2.02 (read.genetix issue): was due to an error in the data file (wrong nloc); now read.genetix corrects that automatically and issues a warning. o fixed bug 1.2-2.03 (monmonier issue): was a non-detected code 2 due to intersection check with previously drawn segment (was not always removed). o fixed bug 1.2-2.05 (a few fixes/improvement for monmonier) CHANGES IN ADEGENET VERSION 1.2-1 NEW FEATURES o documentation of scaleGen provides an example of usefulness of an appropriate scaling in PCA BUG FIXES o fixed the recognition of NAs in df2genind o fixed the call to inherits in spca (returned value changes in R-devel) CHANGES IN ADEGENET VERSION 1.2-0 NEW FEATURES o implement different levels of ploidy in genind / genpop objects. Make necessary adaptations throughout the package. o put some stop where needed when ploidy!=2 is not handled. o implement a "sep" argument in df2genind. o implement accessor for genind/genpop: nLoc. o implement "scaleGen" for genind/genpop, which allows for different types of scaling. o added several coercion methods, from genind/genpop to data.frame, matrix and ktab objects. o implemented propTyped, a function giving the proportion of non-missing data in different ways. BUG FIXES o missing data indicated in summary corrected (loci with more alleles had more weight in the computations). CHANGES IN ADEGENET VERSION 1.1-3 NEW FEATURES o 'as' methods for genind/genpop objects to matrix, data.frame, and ktab objects. Now, ordination implemented as dudi functions in ade4 (like dudi.pca) can be performed directly using genind/genpop as inputs. CHANGES IN ADEGENET VERSION 1.1-2 NEW FEATURES o significant improvement in the speed of genind2df (more than twice as fast as before). o function propShared added: computes the proportion of shared alleles among a set of genotypes (core computations in C). o A warning is issued when NAs exist in the input of sPCA. o improvement of the validity checking for genind/genpop: validObject now detects duplicates in any kind of names (ind.names, pop.names, etc.) and prints the corresponding items. BUG FIXES o genind2df does now handles the pop argument correctly. o df2genind does no longer bug when there is an entirely non-typed locus. CHANGES IN ADEGENET VERSION 1.1-1 NEW FEATURES o I/O: df2genind no longer fails when entirely non-type individuals exist. o Monmonier: optimize.monmonier now computes the 'best' boundary only once instead of twice. The whole code was re-thought and optimized for speed. Monmonier's boundaries can now form loops. Instead of stoping at a given threshold, it is also possible to ask for a given length of boundary (argument bd.length). o The function chooseCN has a new option to return a list of spatial weights defined as the inverse of spatial distances, at a given exponent. o A wrapper for glob.varcomp has been implemented for genind objects, through the new function fstat. o The elements of the @other slot are now proceeded wisely when objects are subsetted using the '[' operator. BUG FIXES o I/O: df2genind no longer fails when entirely non-type individuals exist. o monmonier no longer fails when coordinates are drawn from a regular grid. The matched call of the returned object has been fixed. CHANGES IN ADEGENET VERSION 1.1-0 NEW FEATURES o Data representation: S4 classes in replacement of old S3 classes. o Spatial genetics: the spatial Principal Component Analysis (Jombart et al, 2008, Heredity), two multivariate spatial tests, and new functionalities for Monmonier's algorithm. o I/O: functions to import data are now 'read' functions; available for formats of GENETIX, Fstat, Genepop, STRUCTURE and from data.frames of genotypes. Export from genind to data.frame of genotypes. o Data: five new simulated geo-referenced datasets o Simulations: a hybridize function, which creates hybrids from two parent datasets. Can output to STRUCTURE format. o Data manipulation: new function to separate data by population. Accessors to genind and genpop object like with matrices using 'foo[ chosenGenotypes, chosenAlleles]'. CHANGES IN ADEGENET VERSION 1.0-2 NEW FEATURES o adegenetWeb is a simple function opening the adegenet website in the default web browser. o sim2pop is a dataset obtained by simulation using the software Easypop. It contains 130 georeferenced genotypes sampled from two distinct populations. o monmonier documentation was improved by adding a genetic example, using sim2pop data. BUG FIXES o some bugs corrected in optimize.monmonier CHANGES IN ADEGENET VERSION 1.0-1 NEW FEATURES o chooseCN is a simple interactive tool for choosing and building a connection network from spatial coordinates. This tool is called by monmonier function. o monmonier, optimize.monmonier, plot.monmonier and print.monmonier implement the Monmonier algorithm. While not restrained to genetic data analysis, this method can be used to find genetic boundaries among individuals or populations based on their allelic frequencies and spatial coordinates. BUG FIXES o several bugs fixed in I/O functions