haploDraw()
causing an additional empty plot in some situations.This version includes a major update of the shiny app frontend to ibdsim2. Previously developed in a separate repository (accessible at https://github.com/magnusdv/ibdsim2-legacy/), the app is now included as part of the ibdsim2 package, and can be run locally with ibdsim2::launchApp()
. The live version is available at https://magnusdv.shinyapps.io/ibdsim2-shiny/.
The simulations are now much faster than before. As a result, the default number of simulations has been increased from 50 to 500.
X-chromosomal IBD simulations are now supported.
The user can now choose the length unit for IBD segments; either centiMorgan ("cM", default) or megabytes ("Mb").
Fixed buggish unit conversion in the previous version: In some cases the segments were measured in Mb while the plot labels said "cM".
The random number seed can now be selected by the user.
More coherent layout and better pedigree plots.
New function launchApp()
for running the app from within R.
findPattern()
now works as intended also for X-chromosomal simulations.As of version 2.0.0, the main data structure for IBD segments includes both megabase (MB) and centiMorgan (CM) coordinates. This allows the user to choose length unit in all downstream analyses. However, the new format is not compatible with previous versions of the package.
ibdsim()
has a new argument simplify1
, by default TRUE. This means that ibdsim(..., N = 1)
now simply returns a matrix, without the outer list layer. This typically the desired behaviour in interactive use, especially when piping. To enforce a list output, add simplify1 = FALSE
.
All downstream functions depending on segment lengths (e.g. segmentStats()
and plotSegmentDistribution()
) have a new argument unit
, allowing the user to choose between "cm" (centiMorgan) and "mb" (megabases).
haploDraw()
has nicer default colours and automatically produces sensible margins.
New (experimental) function karyoHaploid()
for visualising IBD segments in karyogram plots.
convertPos()
has been rewritten using Rcpp, making it much more efficient.
General overhaul of documentation, examples and README.
X-chromosomal simulations are now implemented.
haploDraw()
now handles and displays X-chromosomal simulations.
Fix labelling bug in haploDraw()
.
profileSimIBD()
has been overhauled, fixing several glitches and with significant speed improvements. Note: Simulations with a given seed
may differ across versions.
The internal dataset decode19
has been recompiled, updating some attributes. This should not affect regular users.
New function segmentStats()
for summarising the segments identified by findPattern()
.
findPattern()
has a new argument cutoff
for excluding short segments.
findPattern()
can detect more patterns: the argument pattern
now accepts entries autozygous
and heterozygous
.
findPattern()
is much faster now, mostly due to a new implementation of the internal mergeSegments()
New function extractIds()
replaces the previous (non-exported) extractIdsFromSegmentSummary()
.
Updated README, including links to Shiny app.
loadMap()
when uniform = F
and sexAverage = T
.ibdsim()
now allows map
to be a list of chromosome maps.
New function findPattern()
for identifying IBD patterns in simulation outputs.
New function convertPos()
for converting between genetic and physical positions.
New functions mapLen()
and physRange()
for retrieving map info.
profileSimIBD()
now sorts the genotypes before returning.
README is updated and expanded.
Fix bug in estimateTwoLocusInbreeding()
Fix issue with negative segment lengths
New function haploDraw()
for visualising IBD patterns
The internal data structure for genetic maps has been rewritten.
New functions loadMap()
and customMap()
for loading built-in and
user-prepared maps.