Releases: grunwaldlab/poppr
poppr version 2.0.0 release candidate
This is a pre-release of poppr 2.0. The release of poppr 2.0 will have the v.2.0.0
tag associated with it. See NEWS for details
poppr version 2.0.0
poppr 2.0.0
Many of the key features for this release are described in Kamvar, Brooks, and Grünwald (2015). This release is also a result of the new adegenet version 2.0 which came from the Popgen Hackathon at NESCent in March of 2015.
The major version change signifies that there are breaking changes in this version. The main breaking changes are:
splitcombine
has been removed- the
@hierarchy
slot has been renamed to@strata
and moved to adegenet - the structure of the genind object has changed drastically (on adegenet's side)
Please read the "how_to_migrate" vignette for details:
vignette("how_to_migrate", "poppr")
NEWS
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 SUGGESTS
- poppr now suggests the cowplot, poweRlaw, and polysat packages.
NEW DATA
- A data set called
Pram
containing SSR genotypes from the Sudden Oak Death pathogen Phytophthora ramorum (Kamvar et.al., 2015)
NEW MINT FLAVOR
- refreshing!
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 calcluated, 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 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 returnTRUE
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 inpoppr
, but can be extended to any statistic that can be calculated on a vector of MLG counts.diviersity_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.
NEW CLASSES
- snpclone is an extension of the genlight object that acts very much like genclone. It contains an mlg slot.
- MLG is an internal class that lives inside the mlg slot of snpclone and genclone objects. It allows the user to easily switch between multilocus genotype definitions.
BUG FIXES
- I was going too fast to count.
v.1.1.5
poppr 1.1.5
This release is a maintenance release. It fixes bugs found by CRAN and @cryptic0
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! The internal function
mlg.table
will now return a matrix all the time (Fix #25).
poppr version 1.1.3
poppr 1.1.3
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
, themlgsub
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
MISC
info_table
will print a discrete scale as opposed to colorbar whentype = "ploidy"
- attempted to make model choices for Bruvo's distance more clear in the documentation (addresses #4)
poppr version 1.1.2
This release fixes bugs present in poppr version 1.1.0 and 1.1.1.
Below are the features added in version 1.1 relative to 1.0
poppr 1.1
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 agenclone
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
NEW CAR
- Not really.
NAMESPACE CHANGES
- poppr no longer depends on pegas.
- ade4 and reshape2 are now explicitly required.
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.
MISC
- Added unit tests.
- The poppr user manual has been shortened to only include instructions on data manipulation.
- A new vignette, "Algorithms and Equations" gives algorithmic details for calculations performed in poppr.
v.1.1.1: Merge branch 'ubsan-fix'
This patch corrects non-UTF-8 characters in code, but has memory leak issues. Do not download this. It is up here for posterity.
poppr version 1.1.0
poppr 1.1.0
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 agenclone
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
NEW CAR
- Not really.
NAMESPACE CHANGES
- poppr no longer depends on pegas.
- ade4 and reshape2 are now explicitly required.
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.
MISC
- Added unit tests.
- The poppr user manual has been shortened to only include instructions on data manipulation.
- A new vignette, "Algorithms and Equations" gives algorithmic details for calculations performed in poppr.