Changelog
Source:NEWS.md
poppr 2.9.6
CRAN release: 2024-03-15
MISC
- Poppr itself will no longer accidentally modify the random seed when it is attached (found by @timtaylor, https://github.com/grunwaldlab/poppr/issues/259)
poppr 2.9.4
CRAN release: 2023-03-23
CRAN MAINTENANCE
- a function declaration was added for
SEXP omp_test()
- failing tests were fixed.
- code where object classes were compared with
==
was fixed to useinherits()
poppr 2.9.3
CRAN release: 2021-09-07
CRAN MAINTENANCE
- C headers were re-arranged to place R-specific headers after OMP headers to avoid problems in clang 13 (@zkamvar, https://github.com/grunwaldlab/poppr/pull/246).
poppr 2.9.2
CRAN release: 2021-05-22
CRAN MAINTENANCE
- A test for
bruvo.between()
was fixed in a superficial way to avoid an error on CRAN R-devel (@zkamvar, https://github.com/grunwaldlab/poppr/pull/242).
poppr 2.9.1
CRAN release: 2021-03-21
DEPENDENCY UPDATE
- The {phangorn} package is no longer imported. We only used one line of code from the package (upgma), so we copied over the implementation with the author’s permission (@KlausVigo, https://github.com/grunwaldlab/poppr/pull/237).
poppr 2.9.0
CRAN release: 2021-02-06
NEW FEATURES
-
bruvo.between()
will calculate bruvo’s distances between a query dataset and a reference dataset (@davefol, #223)
DEPRECATION
- The argument
blacklist
has been deprecated in favor ofexclude
for the following functions:bruvo.msn()
,poppr.msn()
,clonecorrect()
,poppr()
,mlg.table()
,mlg.crosspop()
, andpopsub()
. It will be removed in the poppr version 2.10 (@zkamvar, #218)
BUG FIX
-
genind2genalex()
no longer converts diploid sequence data to zeros on export This fixes #231 (@zkamvar, #233). -
bitwise.ia()
will no longer have integer overflows early on Windows (@zkamvar, #235)
poppr 2.8.6
CRAN release: 2020-06-02
BUG FIX
-
read.genalex()
now can import columns with entirely “T” alleles as “T” instead of “TRUE”. (See https://github.com/grunwaldlab/poppr/issues/214 for details).
NEW IMPORTS
- Progress bars are now implemented via the progressr package, which gives the user control over what should be displayed (or not). For example, to get auditory updates instead of a progress bar, you can use the “beepr” package and set
progressr::handlers("beepr")
. This will play an alert for each step (~50) and a final sound. To suppress all progress bars entirely, you can useprogressr::handlers("void")
. These progress bars have replaced theutils::txtProgressBar()
anddplyr::progress_estimated()
bars.
poppr 2.8.5
CRAN release: 2020-02-25
CRAN MAINTENANCE
- The output from the
poppr()
function will no longer contain factor columns for the population names or the file names. This is due to R 4.0.0 changing behavior with thestringsAsFactors
default indata.frame()
. (See https://github.com/grunwaldlab/poppr/issue/212 for details).
poppr 2.8.3
CRAN release: 2019-06-18
BUG FIX
-
read.genalex()
now correctly parses strata when the user imports data that contains duplicated data AND has some individuals named as integers less than the number of samples in the data (prepended by zeroes) (See https://github.com/grunwaldlab/poppr/pull/202).
NEW FEATURES
- MSN functions: nodes with single populations displayed as circles instead of pies. (@fdchevalier, https://github.com/grunwaldlab/poppr/pull/203)
MISC
-
mlg.vector()
is now safer as it now uses a for loop instead of a function with the out-of-scope operator (<<-
) (see #205) -
shufflepop()
is now safer as it now uses a for loop instead of a function with the out-of-scope operator (<<-
) (see #205) - The MLG class gains a new
distenv
slot, which will store the environment where the distance function or matrix exists. This is accompanied by an accessor of the same name (see #206). -
"mlg.filter<-"()
replacement methods will no longer search the global environment when evaluating the distance function or matrix (see #206). - Tests for
mlg.filter()
no longer assign objects to the global environment - DOIs for the publications have been added to the DESCRIPTION
poppr 2.8.2
CRAN release: 2019-03-11
MISC
- Tests relying on randomization were updated before R 3.6.0, which fixes a biased randomization. This has no visible impact on users. See https://github.com/grunwaldlab/poppr/pull/198 for details.
poppr 2.8.1
CRAN release: 2018-08-22
BUG FIX
- An error that appeared in some AMOVA calls with genind objects with character- based alleles was fixed (see https://github.com/grunwaldlab/poppr/issues/190 for details)
DOCUMENTATION
-
aboot()
documentation was updated to add the citation and make clear its purpose and limitations.
MISC
- DOIs have been hyperlinked to doi.org instead of dx.doi.org (#188, @katrinleinweber)
poppr 2.8.0
CRAN release: 2018-05-19
BUG FIX
-
win.ia()
now has more consistent behavior with chromosome structure and will no longer result in an integer overflow. (see https://github.com/grunwaldlab/poppr/issues/179). Thanks to @MarisaMiller for the detailed bug report. -
plot_filter_stats()
will plot stats if supplied a list of thresholds.
ALGORITHMIC CHANGE
-
win.ia()
may result in slightly different results because of two changes:- The windows will now always start at position one on any given chromosome. This will result in some windows at the beginning of chromosomes having a value of
NA
if the first variant starts beyond the first window. - Windows are now calculated for each chromosome independently. The previous version first concatenated chromosomes with at least a window-sized gap between the chromosomes, but failed to ensure that the window always started at the beginning of the chromosome. This version fixes that issue. (see https://github.com/grunwaldlab/poppr/issues/179).
- The windows will now always start at position one on any given chromosome. This will result in some windows at the beginning of chromosomes having a value of
DEPRECATION
- The
chromosome_buffer
argument forwin.ia()
has been permanently set toTRUE
and deprecated as it is no longer used.
NEW FEATURES
poppr.amova()
will now handle genlight/snpclone objects. See https://github.com/grunwaldlab/poppr/pull/185 for details.bitwise.dist()
now has two new options:euclidean
andscale_missing
. When both of these are set toTRUE
, the distance measured will be Euclidean scaled for the amount of missing data in each comparison. This matches the output of base R’sdist()
function at a fraction of time and memory. See https://github.com/grunwaldlab/poppr/pull/176 for details.make_haplotypes()
is now a generic defined for both genind and genlight.genind2genalex()
will no longer write to “genalex.csv” by default. Instead, it will warn the user and write to a temporary file. See https://github.com/grunwaldlab/poppr/issues/175 for details.genind2genalex()
now has anoverwrite
parameter set toFALSE
to prevent accidental overwriting of files.win.ia()
has a new argumentname_window
, which will give each element in the result the designation of the terminal position of that window. Thanks to @MarisaMiller for the suggestion!pair.ia()
can now calculate p-values via permutations. (See https://github.com/grunwaldlab/poppr/issues/180 for details)
DOCUMENTATION
-
cutoff_predictor()
was added to the MLG vignette
MISC
- The RClone package has been added to suggests (see https://github.com/grunwaldlab/poppr/issues/187)
poppr 2.7.1
CRAN release: 2018-03-16
MISC
- Missing documentation for
poppr.amova()
has been added. - Polysat is now listed in imports.
poppr 2.7.0
CRAN release: 2018-03-16
NEW FUNCTIONS
make_haplotypes()
will split your data into pseudo-haplotypes for use in AMOVA-like analyses. This was a previously internal function, but has been promoted to a user-facing function in this version.as.genambig()
will convert genind/genclone objects to Polysat’s “genambig” class. Note that polysat must be installed for this to work.
ALGORITHMIC CHANGE
- AMOVA will now default to using euclidean distance. This affects all calculations made with
within = FALSE
orfilter = TRUE
without a user-supplied distance. This will not have affect those with haploid or diploid data usingwithin = TRUE
. The dissimilarity distance is equivalent to a squared euclidean distance for haploid genotypes, but not for any higher ploidy. Those usingfilter = TRUE
without specifying a distance should use a euclidean threshold. This should not be an issue for those who simply want to group isolates with missing data, however as a zero distance is the same for euclidean and dissimilarity. Thanks goes to Patrick Meirmans for alerting me to this error.
poppr 2.6.1
CRAN release: 2018-01-15
BUG FIX
- An out-of-bounds memory access error in
bitwise.dist()
was fixed. See https://github.com/grunwaldlab/poppr/issues/169 for details.
poppr 2.6.0
CRAN release: 2018-01-08
NEW FUNCTIONS
- The new function
boot.ia()
is conceptually similar toresample.ia()
, except it resamples with replacement.
NEW FEATURES
- The function
resample.ia()
now can resample individuals weighted by their Psex value. - The minimum spanning networks will now scale nodes by area instead of radius. This gives a more accurate picture of the differences between MLGs. See https://github.com/grunwaldlab/poppr/issues/154 for details.
- A legend for samples/node is now added to all minimum spanning networks. See https://github.com/grunwaldlab/poppr/issues/158 for details.
- The imsn() option for node size scale has been changed to a slider.
BUG FIX
- An issue where data with sample names containing apostrophes could not be imported was fixed (Identified in https://github.com/grunwaldlab/poppr/issues/156).
- a bug in
imsn()
where custom MLGs would result in an error was fixed. See https://github.com/grunwaldlab/poppr/issues/155 for details. - a bug in
plot_poppr_msn()
where settingscale.leg = FALSE
would result in a very small MSN plot was fixed. -
mlg()
now works properly for snpclone and genlight objects. See https://github.com/grunwaldlab/poppr/issues/155 for details.
MISC
- The MSN is now plotted last in
plot_poppr_msn()
so additional legends can be added if necessary.
poppr 2.5.0
CRAN release: 2017-09-11
ALGORITHMIC CHANGE
-
Identified in https://github.com/grunwaldlab/poppr/issues/139, Bruvo’s distance will now consider all possible combinations of ordered alleles in the calculation under the genome addition and loss models for missing data. This will affect those who have polyploid data that contain more than one missing allele at any genotype
To facilitate comparison, the global option old.bruvo.model, has been created. By default it is set to FALSE, indicating that poppr should use the ordered allele combinations. If the user wants to use the method considering unorderd allele combinations, they can set options(old.bruvo.model = TRUE)
It must be repeated that this does not affect haploid or diploid comparisons, those that use the infinite alleles model, or those who do not have more than one missing allele at any genotype.
DEPRECATION
- The warning for a short repeat length vector for Bruvo’s distance is deprecated and will become an error in the future
- jack.ia is deprecated in favor of resample.ia for clarity.
BUG FIX
- A bug in read.genalex() where removed samples would have incorrect strata labels was fixed. Thanks to Hernán Dario Capador-Barreto for identifying it. See https://github.com/grunwaldlab/poppr/issues/147.
MISC
- The internal plotting function for mlg.table now uses tidy evaluation for dplyr versions > 0.5.0
- The package reshape2 was removed from imports and replaced with base functions (see https://github.com/grunwaldlab/poppr/issues/144 for details)
poppr 2.4.1
CRAN release: 2017-04-14
BUG FIX
- A corner case where repeat length vectors out of order would be erroneously subset with
test_replen()
andfix_replen()
has been fixed. See https://github.com/grunwaldlab/poppr/issues/136 for details. - All functions that perform filtering will now run serially due to a bug on Fedora machines with at least two threads. Details can be found at https://github.com/grunwaldlab/poppr/issues/138.
poppr 2.4.0
CRAN release: 2017-04-10
NEW FUNCTIONS
-
jack.ia()
will randomly jackknife your sample to a specified n (default is the number of MLG), and calculate the index of association over multiple iterations, giving a distribution of possible values at a given sample size.
NEW FEATURES
- The function
mlg.table()
gains new parameters, “color” and “background”. The “color” parameter will create a single barplot with colors representing populations while the “background” parameter will create a background plot showing the abundance of MLGs across populations within the facets. - The function
win.ia()
will now take into consideration chromosomal coordinates when constructing windows. It has additionally acquired a new parameterchromosome_buffer
, which allows the user to specify whether or not the window should be limited to within chromosomes.
NOTABLE CHANGES
- calculation of MLGs for snpclone and genlight objects will be performed via distance-based methods by default. This is in contrast to the previous behavior where individuals were assumed to have unique genotypes. see https://github.com/grunwaldlab/poppr/issues/125 for details.
- An error will be thrown when attempting to use
mlg.crosspop()
with an object that has < 2 populations. -
genotype_curve()
will now remove monomorphic loci before calculation by default as these loci misleadingly influence the shape of the curve. This will change the shape of the curve if you have monomorphic loci. This change IS optional via the drop and dropna parameters, but it is not recommended to change these parameters. - The calculation for
psex()
has changed to be more accurate when using method = “multiple”. It also gains the ability to use several values of G, one for each population. Documentation forpsex()
has also been improved. For details of the change, see https://github.com/grunwaldlab/poppr/issues/101
BUG FIX
- The error given when a genlight object is passed to
poppr()
now correctly identifies the substitute function asdiversity_stats()
and not diversity table (see https://github.com/grunwaldlab/poppr/issues/123). - GenAlEx files imported with duplicate loci will generate a warning telling the user that the duplicated loci have been renamed (usually to
_1) (see https://github.com/grunwaldlab/poppr/issues/122). - Haplodiploids imported in genalex files will be properly treated (see https://github.com/grunwaldlab/poppr/issues/124).
-
read.genalex()
will now implicitly check for the correct number of individuals in the data (see https://github.com/grunwaldlab/poppr/issues/128). - The function
poppr()
no longer throws an error if the sample > 0 and the data has no population (see https://github.com/grunwaldlab/poppr/issues/130). - A bug where round-robin allele frequencies calculated with by_pop = TRUE were inaccurate for all but the first population was fixed. For details, see https://github.com/grunwaldlab/poppr/issues/132.
- A potential integer overflow was fixed in
SEXP association_index_haploid
. This was a ghost from https://github.com/grunwaldlab/poppr/issues/100. - PROTECT statements were placed around allocation statements. For details, see https://github.com/grunwaldlab/poppr/issues/133.
MISC
- The documentation for
bitwise.dist()
clarifies the role of thedifferences_only
flag (see https://github.com/grunwaldlab/poppr/issues/119). - Interruptions in C code is now handled gracefully via
R_CheckUserInterrupt()
. The benefit is that long-running calculations are interrupted near instantly, but at the cost of a few more milliseconds of computation time. (see https://github.com/grunwaldlab/poppr/issues/86) - Bruvo’s distance now has complete tests for recursion as of commit 4e4fa40d16
poppr 2.3.0
CRAN release: 2016-11-23
NEW FUNCTIONS
- The function
bootgen2genind()
will help users take advantage of bootstrapping distance functions from other packages that require genind objects. For details, see https://github.com/grunwaldlab/poppr/issues/112 and https://github.com/grunwaldlab/poppr/issues/111
NEW FEATURES
- There is now a
plot
parameter for the genotype curve to enable or suppress plotting. - Progress bars are now automatically suppressed when running non-interactively. to turn them on when running non-interactively, use
options(poppr.debug = TRUE)
. - The progress bar for
ia()
andpoppr()
will now show estimated time. This is from dplyr’sprogress_estimated()
.
MISC
- The
hist
argument in theia()
is deprecated in favor ofplot
. - The x axis for the
genotype_curve()
plot is now numeric, allowing you to fit a smoothing function over the points without having to use the hackgeom_smooth(aes(group = 1))
. This is thanks to Kara Woo for pointing this out on twitter (https://twitter.com/kara_woo/status/783336540407685120). - The “show” method for genclone objects now delimits populations and strata by a comma, avoiding confusion with multi-word population names. Thanks to @knausb for the fix in https://github.com/grunwaldlab/poppr/pull/116.
- Documentation for
poppr.amova
now contains a note about significance testing with the ade4 functionrandtest.amova
.
BUG FIX
- The subsetting methods will now properly handle mlgs when using sample names to subset genclone and snpclone objects. See https://github.com/grunwaldlab/poppr/issues/114 for details.
- A plotting bug for
mlg.table()
was fixed so that the plots now show the maximum value. - Bugs with subsetting bootgen and bruvomat objects with no loci specified were fixed. See https://github.com/grunwaldlab/poppr/issues/118 for details.
poppr 2.2.1
CRAN release: 2016-08-29
BUG FIX
- A problem exporting haploid sequence data to genalex format was fixed (see https://github.com/grunwaldlab/poppr/issues/108)
- Data without population structure no longer throws an error in
imsn()
NEW FEATURES
- You can now specify layout parameters in
imsn()
- The *.msn functions will now take into account whether or not your data is set to collapsed MLGs. (see https://github.com/grunwaldlab/poppr/issues/107)
MISC
- Errors from mlg.filter now make more sense. (see https://github.com/grunwaldlab/poppr/issues/109)
- The vignette poppr_manual has been converted to HTML format. (see https://github.com/grunwaldlab/poppr/issues/113)
poppr 2.2.0
CRAN release: 2016-06-13
NEW FUNCTIONS
-
incomp()
will check your data to see if there are any incomparable samples.
NEW FEATURES
- Threshold argument added to
filter_stats()
(see https://github.com/grunwaldlab/poppr/issues/94) - The pipe operator (
%>%
) is now exported from magrittr to make chaining commands easier. -
mlg.filter()
can now return multiple statistics. - The user can now control the size of the labels in the index of association plots with the labsize and linesize arguments in the plot method.
-
private_alleles()
gains a drop argument. -
recode_polyploids()
can now take haplodiploid data.
BUG FIX
- An issue that caused errors in the
imsn()
code output was fixed (see https://github.com/grunwaldlab/poppr/issues/93) - Caught bug where the
mlg.filter()
assignment method was usingnei.dist()
instead ofdiss.dist()
when no distance was specified. - A bug that resulted in significantly negative values from
bitwise.ia()
with large sample sizes was fixed. Spotted by @knausb (see https://github.com/grunwaldlab/poppr/issues/100) - Fixed issue where
plot_filter_stats()
wasn’t displaying the full range of MLGs - Color vectors are now correctly parsed when passed to msn functions (see https://github.com/grunwaldlab/poppr/issues/55) for details. Long color vectors are now accepted, albiet with warning.
- An issue where
mll.reset()
did not reset non-MLG class objects in the mlg slot was fixed.
MISC
- Documentation for
mlg.filter()
was clarified and updated with more examples. - The vignette “Migration from poppr version 1” has been removed.
- Previously deprecated
*hierarchy()
functions have been removed.
poppr 2.1.1
CRAN release: 2016-03-15
NEW FEATURES
-
imsn()
now has collapsible side panels -
nmll()
andmll()
will now handle genind and genlight objects -
rraf()
now gives options for minor allele correction encompassed in the internal functionrare_allele_correction()
. This extends also topgen()
andpsex()
, which must correct minor allele frequencies by default. See https://github.com/grunwaldlab/poppr/issues/81 for details.
MISC
-
mlg.filter()
now defaults to usingdiss.dist()
- default threshold for
filter_stats()
is now 1e+6 -
mlg.filter()
now returns a list instead of a pairlist - the “hist” argument for
poppr()
is now deprecated in favor of “plot” - documentation improvements
- the show method for snpclone objects now looks distinct from genlight
- genlight objects no longer get passed to
missingno()
infilter_stats()
-
filter_stats()
now returns invisibly when plot = TRUE; see https://github.com/grunwaldlab/poppr/issues/87 for details.
BUG FIX
- When supplied an object with no strata,
clonecorrect()
will default tostrata = NA
. -
read.genalex()
will no longer fail if missing data is not coded as zero; see https://github.com/grunwaldlab/poppr/issues/84 for details -
missingno()
no longer removes genotypes AT specified threshold; see https://github.com/grunwaldlab/poppr/issues/90 for details
poppr 2.1.0
CRAN release: 2015-12-01
IMPROVEMENTS
-
win.ia
andsamp.ia
gain a significant speedup thanks to Jonah Brooks implementing the code in C. - The internal code for the
genotype_curve
has been implemented in C for a 10x increase in speed.
NEW FEATURES
-
poppr.msn
,bruvo.msn
, andplot_poppr_msn
gain the ability to take character vectors for color palettes. See issue #55 (https://github.com/grunwaldlab/poppr/issues/55) for details. -
plot_poppr_msn
returns the modified graph. - All functions related to Bruvo’s distance can now take a named vector of repeat lengths in any order. See issue #61 (https://github.com/grunwaldlab/poppr/issues/61) for details.
-
aboot
gains the argument strata so that you can automatically convert genind to genpop. -
genotype_curve
can now take in loci objects from pegas. - You can now specify the maximum number of loci to analyze in
genotype_curve
. -
filter_stats
can now optionally plot a histogram in the background. -
bruvo.dist
can now optionally return distance matrices by locus. This is addresed in issue #60 (https://github.com/grunwaldlab/poppr/issues/60) -
aboot
can now handle matrices as previously specified in the documentation. -
aboot
can now take custom functions to calculate distance for genlight objects. -
poppr.amova
can now perform amova using the pegas implementation.
NEW FUNCTIONS
-
rrmlg
will calculate round-robin multilocus genotypes for each locus. -
rraf
will calculate round-robin allele frequencies for each locus. -
pgen
will calculate the probabilities of observed genotypes. -
psex
will calculate the probability that an observed genotype will be observed more than once by chance.
MISC
- Documentation for genclone and snpclone classes are more coherent.
- Accessors added for internal MLG objects (for developers).
- The genotype accumulation curve displays the iteration and locus number instead of a progress bar.
- The genotype accumulation plot is now scaled from 0 to the number of observed mlgs.
- Documentation for
poppr.amova
no longer references the “hierarchy” slot.
BUG FIX
- Single locus data sets can now be read in with
read.genalex
. This was brought up in issue #58 (Thanks to Nick Wong for spotting it). - A bug in
informloci
where the MAF argument wasn’t being applied to P/A data has been fixed. - Printing of genclone objects with mixed ploidies previously reported erroneously due to a sorting error. This has been fixed.
- Edge case where a missing cell in the genalex matrix was interpreted as a literal “NA” was fixed.
- msn functions now return nodes that are correctly named. See Issue #66 (https://github.com/grunwaldlab/poppr/issues/66) for details.
poppr 2.0.2
CRAN release: 2015-07-18
BUG FIX
- Definition of Hexp was fixed. It originally was mis-calculated, inflating the metric. It is now correctly calculated and documented. More information at issue #47
poppr 2.0.1
CRAN release: 2015-07-14
BUG FIX
- Memory leak with Bruvo’s distance was fixed by @JonahBrooks in 90facb4 (issue #40)
- Cutoff field now works for distances other than dissimilarity in
imsn
(issue #41) - Switching between data sets no longer shows an error in
imsn
-
read.genealex
can now correctly import missing data for diploids (issue #42)
poppr 2.0.0
CRAN release: 2015-07-08
COMPATIBILITY UPDATE
- poppr has moved to version 2.0 due to adegenet’s recent update. The hierarchy slot introduced in version 1.1 is now being moved to adegenet and renamed
strata
. For maximum backwards compatibility, all of the hierarchy methods still exist, but they are deprecated and will print a warning with the proper function to use. If you were accessing the hierarchy slot without using the*hierarchy()
methods, your code will fail as the hierarchy slot now should only contain a formula object.
NEW DEPENDENCIES
- poppr now imports elements from dplyr and shiny
- As required as of 2015-06-29, poppr now explicitly imports: stats, graphics, grDevices, and utils
NEW DATA
- A data set called
Pram
containing SSR genotypes from the Sudden Oak Death pathogen Phytophthora ramorum (Kamvar et.al., 2015)
NEW FEATURES
- The default plot for the index of association will now be a single histogram. The user has the option to visualize the standardized index of association (
index = "rbarD"
, default) or the classic index of association (index = "Ia"
). If the user uses the functionia
with the argumentvaluereturn = TRUE
, then the resulting object can be plotted with the plot function. - The function
poppr
will now plot all populations in a single faceted plot instead of one plot per population. -
aboot
andbruvo.boot
will now be able to utilize any function to generate trees (suggested in issue #18). - The mlg slot in the genclone object can now optionally hold an MLG class object. This object will contain different definitions of multilocus genotypes, allowing the user to switch between observed, custom, and mlgs defined given a genetic distance threshold.
- minimum spanning network functions gain the ability to include reticulations using the option
include.ties
- minimum spanning network functions gain the ability to collapse multilocus genotypes by genetic distance with the option
threshold
. -
poppr.amova
gains the ability to filter multilocus genotypes before calculation. -
informloci
gains the argument “MAF”, which allows the specification of a minor allele frequency cutoff in addition to the cutoff argument. Examples have been updated. -
aboot
can now take genlight objects. -
poppr.msn
andplot_poppr_msn
can now take genlight objects. -
plot_poppr_msn
now gives users the option to exclude the legends. - Default plotting for
mlg.table
will no longer produce one plot per population. It will now produce a single ggplot object for all populations. Note that the bars are no longer colored by count. -
poppr
will no longer calculate “Hexp”. Instead, Simpson’s index will be calumniated, but the old index can be retrieved by using (N/(N - 1))*lambda. -
poppr
can now take any statistic that can be calculated from a table of multilocus genotype counts. -
genind2genalex
gains the ability to selectively write different strata.
NEW FUNCTIONS
-
mlg.filter
will contract multilocus genotypes given a genetic distance and threshold using one of three algorithms. It can report statistics such as the multilocus genotypes returned, the number of samples within each multilocus genotype, the thresholds at which multilocus genotypes were collapsed, and the genetic distance matrix that represents the new multilocus genotypes. -
filter_stats
will show you graphical output of all the algorithms inmlg.filter
. -
cutoff_predictor
will predict the cutoff threshold frommlg.filter
. -
bitwise.dist
can efficiently calculate absolute genetic distance for genlight objects. -
mll
“multilocus lineages” is a new replacement formlg.vector
which gains the functionality of selecting the multilocus genotype definition from the mlg slot. -
nmll
counts the number of multilocus lineages -
mll.custom
allows the user to define custom multilocus genotypes. -
mll.levels
allows the user to edit the names of custom multilocus genotypes. -
poppr_has_parallel
will returnTRUE
if poppr was built with OpenMP parallel library. -
win.ia
calculates windows of {r}_d along genlight chromosomes. -
samp.ia
calculates {r}_d for genlight object by randomly sampling a user-defined number of SNPs. -
test_replen
will test repeat lengths of microsatellite markers for consistency. -
fix_replen
will fix inconsistent repeat lengths for microsatellite markers. -
diversity_stats
returns a matrix containing diversity statistics. Defaults to 4 found inpoppr
, but can be extended to any statistic that can be calculated on a vector of MLG counts. -
diversity_boot
will bootstrap a MLG matrix over the statistics specified forget_stats
. Can also perform rarefaction bootstrap. -
diversity_ci
will calculate and plot confidence intervals for bootstrap resampling of an MLG matrix. This includes rarefaction to the smallest sample size. -
imsn
provides an interactive shiny interface for construction of minimum spanning networks. -
pair.ia
will calculate the index of association for pairs of loci and plot heatmaps.
poppr 1.1.5
CRAN release: 2015-05-13
BUG FIX
- Fixed internal bug for
fix_negative_branch
when only one branch had a negative edge. - Fixed bug in
diss.dist
where a single locus would return an error. - Fixed bug in
poppr.amova
where a single locus would return an error due torepool_haplotypes
. - Fixed bug from the future! mlg.table will now return a matrix all the time (Fix #25).
poppr 1.1.3
CRAN release: 2015-02-03
NEW FEATURES
- new arguments to
plot_poppr_msn
to allow for easier manipulation of node sizes and of labeling - read.genalex can now take read text connections as input. Addresses issue #8
- users can now specify cutoff for missing values in
aboot
BUG FIX
- Fixed issue where monomorphic loci would cause an error in
recode_polyploids
- Fixed logical error that would cause The infinite alleles model of Bruvo’s distance to inflate the distance. (Found by Michael Metzger. Addresses issue #5).
- AMOVA can now take subset genclone objects (Addresses issue #7).
- in
mlg.table
, the mlgsub argument will now subset by name instead of index (fixed in #7). - Fixed issue for neighbor-joining trees where the internal function to fix negative branch lengths was accidentally shuffling the corrected branches. Addresses issue #11.
-
diss.dist
can now be used withaboot
poppr 1.1.2
CRAN release: 2014-07-29
BUG FIX
- Fixed memory allocation bug (Further addresses issue #2).
- Memory allocated in C function bruvo_dist is now properly freed.
poppr 1.1.0
CRAN release: 2014-07-24
NEW FEATURES
- Polyploids with ambiguous genotypes are now supported in poppr. See documentation for
recode_polyploids
for details. - Calculations of Bruvo’s distance now features correction for partial missing data utilizing genome addition and genome loss models as presented in Bruvo et al. 2004.
-
diss.dist
now has options to return raw distances and a matrix instead of a dist object. -
read.genalex
now has the option to import as a genclone object. This is the default action. -
poppr.all
will be able to analyze lists of genind or genclone objects. -
ia
now has the argument valuereturn which will return the sampled data. -
[bruvo,poppr].msn
functions now give the user the choice to show the graph. -
bruvo.boot
has a cleaner plot style.
NEW DATA CLASSES
- The
genclone
object is a new extension of thegenind
object from adegenet. This object contains slots containing population hierarchies and multilocus genotype definitions and will work with all analyses in adegenet and poppr.
NEW FUNCTIONS
- [get,set,name,split,add]hierarchy - functions that will manipulate the hierarchy slot in a
genclone
object utilizing hierarchical formulae as arguments for simplification. -
setpop
will set the population of agenclone
object utilizing model formulae regarding the hierarchy slot. -
as.genclone
will automatically convert genind objects to genclone objects. -
is.genclone
checks the validity of genclone objects. -
poppr.amova
will run amova on any hierarchical level. This also includes the feature to run amova on clone censored data sets. It utilizes the ade4 version of amova. -
info_table
will calculate missing data per population per locus or ploidy per individual per locus and gives the user the option to visualize this as a heatmap. -
locus_table
will calculate diversity and evenness statistics over all loci in a genind or genclone object. -
*.dist
functions will calculate Nei’s distance, Rogers’ Distance, Edwards’ Distance, Reynolds’ Distance, and Provestis’ Distance. -
aboot
will allow the user to create bootstrapped dendrograms for ANY distance that can be calculated on genind or genpop objects. -
plot_poppr_msn
will plot minimum spanning networks produced with poppr. -
private_alleles
will give information about the presence of private alleles within a genind or genclone object. -
recode_polyploids
will take in a polyploid genind/genclone object (with missing alleles coded as extra zero-value allele) and recode them to have frequencies relative to the observed number of alleles. -
genotype_curve
will create a genotype accumulation curve for increasing number of loci. -
mlg.id
will return a list indicating the samples belonging to a specific multilocus genotype.
NEW DATA SETS
- Pinf - a data set of 86 isolates from different populations of the late blight pathogen, Phytophthora infestans. Provided by Erica Goss
- monpop - a large data set of 694 Monilinia fructicola isolates from a single orchard over three years. Provided by Sydney E. Everhart
IMPROVEMENTS
- default shuffling algorithm has been implemented in C to increase speed.
- output of the mlg functions are now represented as integers to decrease their size in memory.
-
mlg.matrix
is now calculated faster utilizing R’s internal tabulating capabilities. - The function
poppr
will no longer return rounded results, but rather is printed with three significant digits.
poppr 1.0.6
CRAN release: 2014-03-05
poppr 1.0.5
CRAN release: 2013-12-13
NOTABLE CHANGE
- The default shuffling algorithm for calculating the index of association has changed from multilocus-style sampling to permutation of alleles. All of the 4 methods are available, but new assignments are as follows: Method 1: permute alleles, Method 2: parametric bootstrap, Method 3: non-parametric bootstrap, Method 4: Multilocus-style sampling. Previously, Multilocus was 1 and the rest followed in the same order. There should be no compatibility issues with this change. Functions affected:
ia
,poppr
shufflepop
BUG FIX
- Bootstrapping algorithm for
bruvo.boot
function was not shuffling the repeat lengths for each locus resulting in potentially erroneous bootstrap support values. This has been fixed by implementing an internal S4 class that will allow direct bootstrapping of the data and repeat lengths together. - An occasional error, “INTEGER() can only be applied to a ‘integer’, not a ‘NULL’” in
bruvo.boot
orbruvo.dist
fixed.
poppr 1.0.4
CRAN release: 2013-12-04
poppr 1.0.3
CRAN release: 2013-08-21
IMPROVEMENTS
- Optimized internal sampling function to run up to 2x faster.
- Utilized rmultinom function to increase speed of bootstrap sampling methods for shufflepop and ia.
poppr 1.0.2
poppr 1.0.1
CRAN release: 2013-07-03
poppr 1.0.0
CRAN release: 2013-04-26
poppr 0.4.1
poppr 0.4
BUG FIXES
- mistake in Bruvo’s distance where it did not correctly check for ploidy level was fixed.
-
read.genalex
will be able to correctly distinguish between SNP and AFLP data. -
read.genalex
can now correctly recognize regional formatting without an extra column.
poppr 0.3
NEW FUNCTIONS
-
poppr.msn
will draw a minimum spanning network for any distance matrix derived from your data set.
poppr 0.2.1
NEW FUNCTIONS
-
diss.dist
will produce a distance matrix based on discreet distances. -
greycurve
will produce a grey scale adjusted to user-supplied parameters. This will be useful for future minimum spanning network functions.
NEW FEATURES
-
bruvo.msn
can now adjust the edge grey level to be weighted toward either closely or distantly weighted individuals. -
bruvo.msn
will now return a list giving the user the graph with all of the color, label, and weight properties so that they can plot it themselves. The legend arguments are also returned.