usenames
option from xcolor has been removed from the algorithms and
equations vignette.SEXP omp_test()
==
was fixed to use inherits()
bruvo.between()
was fixed in a superficial way to avoid an error
on CRAN R-devel (@zkamvar, https://github.com/grunwaldlab/poppr/pull/242).bruvo.between()
will calculate bruvo's distances between a query dataset
and a reference dataset (@davefol, #223)blacklist
has been deprecated in favor of exclude
for the
following functions: bruvo.msn()
, poppr.msn()
, clonecorrect()
, poppr()
,
mlg.table()
, mlg.crosspop()
, and popsub()
. It will be removed in the
poppr version 2.10 (@zkamvar, #218)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)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).{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 use progressr::handlers("void")
. These progress bars have replaced
the utils::txtProgressBar()
and dplyr::progress_estimated()
bars.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 the stringsAsFactors
default in data.frame()
. (See
https://github.com/grunwaldlab/poppr/issue/212 for details).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).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)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).mlg.filter()
no longer assign objects to the global environmentaboot()
documentation was updated to add the citation and make clear its
purpose and limitations.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.win.ia()
may result in slightly different results because of two changes:
NA
if the first variant starts beyond the first window.chromosome_buffer
argument for win.ia()
has been permanently set to
TRUE
and deprecated as it is no longer used.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
and scale_missing
.
When both of these are set to TRUE
, the distance measured will be Euclidean
scaled for the amount of missing data in each comparison. This matches the
output of base R's dist()
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 an overwrite
parameter set to FALSE
to prevent
accidental overwriting of files.
win.ia()
has a new argument name_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)
cutoff_predictor()
was added to the MLG vignettepoppr.amova()
has been added.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.
within = FALSE
or filter = TRUE
without a
user-supplied distance. This will not have affect those with haploid or
diploid data using within = TRUE
. The dissimilarity distance is equivalent
to a squared euclidean distance for haploid genotypes, but not for any higher
ploidy. Those using filter = 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.bitwise.dist()
was fixed.
See https://github.com/grunwaldlab/poppr/issues/169 for details.boot.ia()
is conceptually similar to resample.ia()
,
except it resamples with replacement.resample.ia()
now can resample individuals weighted by their
Psex value.imsn()
where custom MLGs would result in an error was fixed. See
https://github.com/grunwaldlab/poppr/issues/155 for details.plot_poppr_msn()
where setting scale.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.plot_poppr_msn()
so additional legends can
be added if necessary.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.
test_replen()
and fix_replen()
has been fixed. See
https://github.com/grunwaldlab/poppr/issues/136 for details.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.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.win.ia()
will now take into consideration chromosomal
coordinates when constructing windows. It has additionally acquired a new
parameter chromosome_buffer
, which allows the user to specify whether or not
the window should be limited to within chromosomes.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.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 for psex()
has also been improved.
For details of the change, see https://github.com/grunwaldlab/poppr/issues/101poppr()
now correctly
identifies the substitute function as diversity_stats()
and not diversity
table (see https://github.com/grunwaldlab/poppr/issues/123).read.genalex()
will now implicitly check for the correct number of
individuals in the data (see https://github.com/grunwaldlab/poppr/issues/128).poppr()
no longer throws an error if the sample > 0 and the
data has no population (see https://github.com/grunwaldlab/poppr/issues/130).SEXP association_index_haploid
.
This was a ghost from https://github.com/grunwaldlab/poppr/issues/100.bitwise.dist()
clarifies the role of the
differences_only
flag (see https://github.com/grunwaldlab/poppr/issues/119).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)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/111plot
parameter for the genotype curve to enable or suppress
plotting.options(poppr.debug = TRUE)
.ia()
and poppr()
will now show estimated time. This
is from dplyr's progress_estimated()
.hist
argument in the ia()
is deprecated in favor of plot
.genotype_curve()
plot is now numeric, allowing you to
fit a smoothing function over the points without having to use the hack
geom_smooth(aes(group = 1))
. This is thanks to Kara Woo for pointing this
out on twitter (https://twitter.com/kara_woo/status/783336540407685120).poppr.amova
now contains a note about significance testing
with the ade4 function randtest.amova
.mlg.table()
was fixed so that the plots now show the
maximum value.imsn()
imsn()
incomp()
will check your data to see if there are any incomparable samples.filter_stats()
(see https://github.com/grunwaldlab/poppr/issues/94)%>%
) is now exported from magrittr to make chaining
commands easier.mlg.filter()
can now return multiple statistics.private_alleles()
gains a drop argument.recode_polyploids()
can now take haplodiploid data.imsn()
code output was fixed
(see https://github.com/grunwaldlab/poppr/issues/93)mlg.filter()
assignment method was using nei.dist()
instead of diss.dist()
when no distance was specified.bitwise.ia()
with
large sample sizes was fixed. Spotted by @knausb
(see https://github.com/grunwaldlab/poppr/issues/100)plot_filter_stats()
wasn't displaying the full range of
MLGsmll.reset()
did not reset non-MLG class objects in the mlg
slot was fixed.mlg.filter()
was clarified and updated with more examples.*hierarchy()
functions have been removed.imsn()
now has collapsible side panelsnmll()
and mll()
will now handle genind and genlight objectsrraf()
now gives options for minor allele correction encompassed in the
internal function rare_allele_correction()
. This extends also to pgen()
and psex()
, which must correct minor allele frequencies by default. See
https://github.com/grunwaldlab/poppr/issues/81 for details.mlg.filter()
now defaults to using diss.dist()
filter_stats()
is now 1e+6mlg.filter()
now returns a list instead of a pairlistpoppr()
is now deprecated in favor of "plot"missingno()
in filter_stats()
filter_stats()
now returns invisibly when plot = TRUE; see
https://github.com/grunwaldlab/poppr/issues/87 for details.clonecorrect()
will default to
strata = NA
.read.genalex()
will no longer fail if missing data is not coded as zero;
see https://github.com/grunwaldlab/poppr/issues/84 for detailsmissingno()
no longer removes genotypes AT specified threshold;
see https://github.com/grunwaldlab/poppr/issues/90 for detailswin.ia
and samp.ia
gain a significant speedup thanks to Jonah Brooks
implementing the code in C.genotype_curve
has been implemented in C for a 10x
increase in speed.poppr.msn
, bruvo.msn
, and plot_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.aboot
gains the argument strata so that you can automatically convert genind
to genpop.genotype_curve
can now take in loci objects from pegas.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.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.poppr.amova
no longer references the "hierarchy" slot.read.genalex
. This was
brought up in issue #58
(Thanks to Nick Wong for spotting it).informloci
where the MAF argument wasn't being applied to P/A data
has been fixed.imsn
(issue
#41)imsn
read.genealex
can now correctly import missing data for diploids (issue #42)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.Pram
containing SSR genotypes from the Sudden Oak Death
pathogen Phytophthora ramorum (Kamvar et.al., 2015)index = "rbarD"
, default) or the classic index of association (index = "Ia"
). If the user uses the function ia
with the argument valuereturn = TRUE
, then the resulting object can be plotted with the plot function.poppr
will now plot all populations in a single faceted plot
instead of one plot per population.aboot
and bruvo.boot
will now be able to utilize any function to generate
trees (suggested in issue #18).include.ties
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
and plot_poppr_msn
can now take genlight objects.plot_poppr_msn
now gives users the option to exclude the legends.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.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 in
mlg.filter
.cutoff_predictor
will predict the cutoff threshold from mlg.filter
.bitwise.dist
can efficiently calculate absolute genetic distance for
genlight objects.mll
"multilocus lineages" is a new replacement for mlg.vector
which gains
the functionality of selecting the multilocus genotype definition from the mlg
slot.nmll
counts the number of multilocus lineagesmll.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 return TRUE
if poppr was built with OpenMP
parallel library.win.ia
calculates windows of \bar{r}_d along genlight chromosomes.samp.ia
calculates \bar{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 in poppr
, 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 for
get_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.fix_negative_branch
when only one branch had a
negative edge.diss.dist
where a single locus would return an error.poppr.amova
where a single locus would return an error due to
repool_haplotypes
.plot_poppr_msn
to allow for easier manipulation of node
sizes and of labelingaboot
recode_polyploids
mlg.table
, the mlgsub argument will now subset by name instead of index
(fixed in #7).diss.dist
can now be used with aboot
info_table
will print a discrete scale as opposed to colorbar when type =
"ploidy"recode_polyploids
for details.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.genclone
object is a new extension of the genind
object from adegenet.
This object contains slots containing population hierarchies and multilocus
genotype definitions and will work with all analyses in adegenet and poppr.genclone
object utilizing hierarchical formulae as
arguments for simplification.setpop
will set the population of a genclone
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.mlg.matrix
is now calculated faster utilizing R's internal tabulating
capabilities.poppr
will no longer return rounded results, but rather is
printed with three significant digits.ia
, poppr
shufflepop
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.bruvo.boot
or bruvo.dist
fixed.bruvo.boot
allow for ever so slightly faster bootstrapping.bruvo.boot
on UPGMA trees has been fixed.informloci
will remove phylogenetically uninformative loci.read.genalex
will no longer insert an "X" in front of loci with numeric
names.bruvo.dist
.read.genind
.poppr_manual
now has cross-references to different sections.poppr_manual
is quicker loading.getfile
has a new argument, "combine", which will automatically add the path
to the list of files, so they can be read without switching working directory.missingno
and mlg.crosspop
will now be
wrapped to 80 characters.poppr
will now be able to correctly recognize GenAlEx files with both
geographic and regional data.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.read.genalex
will now be able to take in a file that is formatted with both
regional and geographic data.genind2genalex
can now export xy coordinates into the GenAlEx format.poppr_manual
vignette now contains images of example GenAlEx files.rootrot2.csv
is an example of a GenAlEx file formatted with regional data.read.genalex
was removed.read.genalex
will now give a warning whenever the input file is not comma
delimited.poppr.msn
will draw a minimum spanning network for any distance matrix
derived from your data set.poppr.msn
, diss.dist
, greycurve
,
and a section discussing how to export graphics.poppr
and ia
will now display \bar{r}_d instead of
\bar{r}_D.bruvo.boot
now has a dedicated quiet
argument.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.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.