Skip to contents

nprcgenekeepr 2.0.0.9000 (development version)

  • CRAN’s 2.0.0 submission (2026-07-17, tagged v2.0.0) was accepted and published 2026-07-26. Development continues here on top of it; any future CRAN resubmission ships as 2.0.1, not a second 2.0.0 attempt.
  • The Genetic Value Analysis tab gained a configurable Ranking Scheme control (issue #125): the existing combined kinship/uniqueness score stays the default, unchanged; a new categorical priority-tier scheme is now selectable alongside it, with adjustable high-uniqueness and low-kinship cutoffs and a choice of which axis takes priority when an animal qualifies for both. reportGV() gained matching guCutoff, zScoreCutoff, and axisPriority arguments for scripted use, each defaulting to today’s behavior when omitted.
  • The Breeding Group Formation tab now surfaces up to 5 distinct candidate groupings per run (issue #125), instead of only the single best-scoring one, with a new selector to switch among them (and a comparison table of each candidate’s score) without re-running the group-formation algorithm. Leaving the selector at its default (the best-scoring candidate) is unchanged from today’s behavior. groupAddAssign()’s return value gains a candidates list field for scripted use; the existing top-level group/score/groupKin fields are unchanged (they alias the best candidate).
  • The Breeding Group Formation tab gained an Include animals by control (issue #128): the existing top-N cutoff stays the default, unchanged; a new Genetic-value floor option excludes any candidate whose Genetic Value Analysis result is “Low Value” instead of applying a fixed count, for all three animal-source choices. Animals labeled “Undetermined” still pass (a data gap, not evidence of low value); an animal with no Genetic Value Analysis result at all does not pass. Leaving the control at its default (“Top N ranked”) reproduces today’s exact behavior.
  • The Genetic Value Analysis Summary Statistics tab’s Mean Kinship / Genome Uniqueness distribution table gained Skewness and Kurtosis columns (issue #126), alongside the existing Min/1st Quartile/Mean/Median/3rd Quartile/Max columns; makeGeneticSummaryTable() gained the same two columns for script use. Both are the bias-adjusted Fisher-Pearson estimators (Joanes & Gill 1998), exposed as new exported functions calcSkewness()/calcKurtosis(); either reads “N/A” when the underlying values are too few or have zero variance to compute. modSummaryStatsServer() gained matching mkShape/guShape return-list reactives for scripted use.
  • The Genetic Value Analysis rankings table (and both CSV downloads) gained a flagged column (issue #127): TRUE for a one-unknown-parent animal that reportGV()’s mean-kinship correction left uncorrected for lack of an eligible contemporaneous breeding-age peer cohort, FALSE for every other animal. Previously this information was silently discarded; there was no way to tell such an animal apart from one whose correction succeeded.
  • The Pedigree Browser tab gained a Diagram view (issue #129, Slice 1): alongside the existing sortable table, a new tab renders the same focal-animal-trimmed population as an interactive pedigree diagram – sex-shaped nodes (square/dot/star/triangle), directed sire/dam edges, and a generation-ordered top-down layout – via a new visNetwork dependency. Diagrams above 750 animals show an informative message instead of an unbounded render; narrow the focal-animal selection to view one. Clicking a node (issue #129, Slice 2) now re-centers the population on that animal, re-driving the same focal-animal selection the Table tab and focal-animal text box already share – switch back to the Table tab (or enable “Trim pedigree based on focal animals”) to see the new selection reflected there.
  • The Diagram tab’s layout was rebuilt for a kinship2-style, mating-aware convention (Pedigree Diagram Option 2): a mate’s own mating(s) now render as small connector nodes with a mate-line to each parent and a line down to their shared children, instead of two independent sire/dam edges into each child. An individual who mates more than once (or whose lineage loops back on itself, e.g. a consanguineous mating) appears once per mating as a duplicate node, connected back to their main occurrence by a dashed line – hovering, clicking, or searching any occurrence behaves identically to the individual’s main occurrence. The animal-count display limit above dropped from 1,500 to 750 individuals as a result (a colony pedigree typically renders roughly twice as many total diagram nodes as animals under this convention). A new exported function, makePedigreeMatingLayout(), computes this layout for scripted use; the existing makePedigreeDiagramData() is unchanged and still available for a simpler one-node-per-animal diagram.
  • A new Marker Genetics tab, starting with a Kinship Comparison sub-tab, was added (issue #130, Slice 1) alongside the existing pedigree-based analyses: given an uploaded multi-locus marker genotype file, it computes a KING-robust marker-based kinship estimate (Manichaikul et al. 2010) for each pair of genotyped animals and displays it side by side with the existing pedigree-based kinship, so a curator can spot pedigree/marker mean-kinship disagreements. New exported functions checkMarkerGenotypeFile(), buildMarkerGenotypeMatrix(), and markerKinship() support the same computation for scripted use.
  • The Marker Genetics tab gained a Heterozygosity sub-tab (issue #130, Slice 2): per-animal observed heterozygosity alongside the population’s expected heterozygosity (Nei 1973 gene diversity), computed from the same uploaded genotype file. New exported functions markerObservedHeterozygosity() and markerExpectedHeterozygosity().
  • The Marker Genetics tab gained a Parentage Exclusion sub-tab (issue #130, Slice 3): cross-references each animal’s pedigree-recorded dam/sire against the uploaded genotypes and flags any recorded parent contradicted by 3 or more opposite-homozygote loci, a genotyping-error-tolerant Mendelian-exclusion threshold (Cifuentes et al. 2006). New exported function markerParentageExclusion().
  • New exported function resolveCrossCenterIds(pedA, pedB, mapping) (issue #130, Slice 4) merges two centers’ pedigrees using a curator-confirmed cross-center identity-link table, so a transferred animal becomes one node with its real recorded parents intact instead of an artificial founder at the receiving center. Script-callable only; no Shiny UI change this slice.
  • The Marker Genetics tab gained a Cross-Center sub-tab (issue #130, Slice 5): given a second, independently uploaded Center B genotype file, computes Hudson’s Fst (Bhatia et al. 2013) between the two centers’ populations at each shared locus, plus a pooled estimate across loci. New exported function markerFst().
  • The Pedigree Browser’s Diagram tab gained an in-app shape-to-sex legend (issue #132): a panel next to the diagram now shows what each node shape means (dot = Female, square = Male, star = Hermaphrodite, triangle = Unknown, diamond = Other/Unrecorded), so this no longer has to be looked up outside the app.
  • The Pedigree Browser’s Diagram tab gained hover tooltips and a search/highlight dropdown (issue #135): hovering any animal now shows its ID, sex, generation, sire, and dam; a new “Select by id” dropdown lets you jump straight to an animal by ID, dimming everything except it and its direct connections. makePedigreeDiagramData()’s returned node data gains a title field for scripted use.
  • The Pedigree Browser’s Diagram tab gained a Diagram Edge Style toggle (issue #142): the default “Direct” style is unchanged; a new “Rectilinear (kinship2-style)” option routes mate-line and sibship-bar connections as strict right angles instead of straight diagonal segments, matching the classic pedigree-chart convention. Diagrams above 400 animals under the rectilinear style show the same informative message the existing 750-animal direct-style limit already shows (the rectilinear style renders more total diagram nodes per animal, so its display limit is lower). makePedigreeMatingLayout() gained a matching edgeStyle = c("direct", "rectilinear") argument for scripted use, defaulting to “direct” (unchanged existing behavior for every current caller).

nprcgenekeepr 2.0.0 (20260708)

CRAN release: 2026-07-26

  • Major changes
    • (breaking) qcStudbook() and geneDrop() now reject id, sire, or dam values containing a period (offenders returned in errorLst$invalidIdChars); auto-generated IDs remain period-free.
    • (breaking) Removed the unused exports getLogo(), shouldShowErrorTab(), modMinimalTestUI(), and modMinimalTestServer(). The Shiny application was rewritten internally as a modular architecture; runGeneKeepR() remains the primary entry point (runModularApp() works as a deprecated alias). (#27, #110)
    • New Potential Parents tab listing candidate sires and dams for in-colony animals with at least one unknown parent, screened by estimated conception date (wiring in the exported getPotentialParents()); dam selection uses a gestation-derived exclusion window rather than a fixed +/- 182.5-day window. (#48, #31)
    • Gestation length and minimum breeding ages are now species-aware: the bundled speciesGestation table covers 14 common colony NHP species (previously only rhesus macaque), with numeric rather than integer breeding ages so fractional minima are represented exactly. getPotentialParents() and the Potential Parents tab derive each animal’s gestation window from its species via the new getSpeciesGestation(); the Genetic Value Analysis missing-parent correction uses per-species minimum breeding ages; and an optional configuration-file entry (speciesOverridesPath, plus minBreedingAgeDefault and gestationDefault) overrides these values via the new loadSpeciesOverrides(). Species absent from the table keep the previous defaults (a 210-day gestation and a 2-year minimum breeding age), so existing results are unchanged. Completes issue #73. (#73)
    • New sex-specific minimum breeding ages: qcStudbook(), checkParentAge(), runQcStudbook(), and getPotentialParents() now accept minSireAge and minDamAge in place of a single minParentAge (kept as a deprecated alias that sets both). The Shiny app’s single “Minimum Parent Age” field is replaced by separate “Minimum Sire Age” and “Minimum Dam Age” fields. (#119)
    • New ORIP Reporting tab with ONPRC colony summaries for the NIH Office of Research Infrastructure Programs (site information, a colony table with founder counts, genetic-diversity metrics, and CSV exports); shown only at ONPRC. (#47, #49)
    • The Pedigree Browser “trim based on focal animals” option now includes descendants as well as ancestors, via the new exported getDescendantPedigree(). (#35)
    • Added the exported founder helpers isFounder() and getFounders().
    • Added the exported getAutoIdFormat() and setAutoIdFormat(), making the auto-generated placeholder-ID format configurable (default "U%04d"). (#44, #38)
    • Genetic Value Analysis tab parity: the genome-uniqueness threshold is now a user control (default 4), a subset filter and “Export Subset” download were added, the default gene-drop iterations changed to 1000 (matched at the function level: reportGV() and geneDrop() now also default to 1000, down from 5000), and an inert “Minimum breeding age” slider was removed.
    • Improved visualizations: educational box-plot popovers (getBoxWhiskerDescription()), plot export to PNG, PDF, and SVG (savePlotToFile()), and an enhanced age-sex pyramid (getPyramidPlot()).
    • The Genetic Value Analysis now reports three additional population-genetic summaries: gene diversity (GD = 1 - 1 / (2 * FG)) and – over the current living breeders – a sex-ratio effective population size (4 * Nm * Nf / (Nm + Nf)) and a variance effective population size (the Crow & Kimura (1970) form), via the new exported calcGeneDiversity(), calcNeSexRatio(), and calcNeVariance(); each is defined, with its idealizing assumptions, in the in-app Population Genetics Terms panel. (#118)
    • The Genetic Value Analysis now reports the sampling precision of each animal’s genome uniqueness: a new guSE column (the gene-drop Monte Carlo standard error, via the new calcGUSE()) and a “Genome Uniqueness SE (max)” summary row. The new gvaConvergence() gives evidence-based advice on how many gene-drop iterations a pedigree needs for a stable ranking, by comparing rankings from split halves of one gene drop; it also accepts a kinshipOverrides argument.
    • The Genetic Value Analysis now corrects the mean kinship of animals missing one parent, which previously understated their relatedness and let them rank as more genetically valuable than they should. A new parentage column labels each animal “known”, “one unknown parent”, or “both unknown”; animals with both parents unknown and no recorded origin (“Undetermined”) are now ranked last, with genome uniqueness reported as 0 rather than the inflated gene-drop-founder artifact value. Animals recorded as genuine imports (an origin) are unaffected. (Changes reported rankings and genome-uniqueness numbers for affected animals.)
    • reportGV() and the Genetic Value Analysis tab now accept an optional kinshipOverrides argument (or file upload) of outside-information kinship coefficients (id1, id2, kinship) that replace the pedigree-derived kinship for the named pairs before ranking; applies across the Genetic Value Analysis, breeding-group formation, and summary-statistics tabs, and the summary-statistics relationship table gains an overridden flag column. New exported applyKinshipOverrides(), checkKinshipOverrides(), and readKinshipOverrides(); gvaConvergence() also accepts overrides. The unknown-parent mean-kinship correction is kept even when an override is supplied. Leaving no override reproduces previous results exactly. (#13, #95)
    • getLkDirectRelatives() now returns the full connected pedigree component (ancestors, descendants, and collaterals such as siblings and mates) instead of only the strict ancestor/descendant lineage; the new file-sourced getFileDirectRelatives() provides the same for file pedigrees. The new getFocalAnimalPedFromFile() and setLabKeyDefaults() let the focal-animal workflow run fully offline from files, and the Shiny input module offers an optional pedigree-file input alongside the LabKey/EHR path.
  • Minor changes
    • Fixed a startup crash that occurred when a documented-format site configuration file was present, via the new tolerant loadSiteConfig(). (#50)
    • The About panel now shows the installed package version dynamically (it previously displayed a hard-coded “Version 1.0.8”).
    • geneDrop() now reports duplicate animal IDs with a clear error instead of the base-R duplicate 'row.names' are not allowed message.
    • Reading a file whose final line lacks a trailing newline no longer emits the spurious “incomplete final line” warning. (#4)
    • addGenotype() now coerces its allele columns to character, so the integer allele encoding is consistent whether they are supplied as character or factor.
    • Re-exported the bundled rhesusPedigree and rhesusGenotypes data sets with canonical column types (character id, sire, and dam and Date birth and exit in rhesusPedigree; all-character columns in rhesusGenotypes), preserving every value.
    • summarizeKinshipValues() now reports the secondQuartile column as the lower hinge (fivenum()[2]) instead of duplicating min.
    • New dependencies: bslib, DT, and ggplot2 (Imports); shinytest2 (Suggests).
    • create_wkbk() now writes .xlsx files with openxlsx instead of WriteXLS, removing the package’s Perl requirement (WriteXLS shelled out to a bundled Perl script). Output and behavior are otherwise unchanged.
    • Replaced the magrittr pipe (%>%) with the base R native pipe (|>) in vignettes and examples; magrittr is no longer used.
    • getPedMaxAge() now returns NA instead of -Inf when a pedigree has no non-missing ages, so the age-sex pyramid plot renders cleanly instead of deriving a spurious -Inf axis bound. (#121)
    • makeSimPed() now preserves a known parent instead of overwriting it with a random candidate, correcting createSimKinships() and cumulateSimKinships() for animals with one known and one unknown parent. (Changes simulated-kinship values for affected pedigrees.)
    • The exported makeGrpNum() has been renamed to makeGroupNum() for naming consistency with the sibling export makeGroupMembers(); the old name is kept as a deprecated alias.
    • The Genetic Value Analysis report and both of its CSV exports (the full ranked report and the genetic-value subset) now include sire and dam columns, showing which animals have an unknown parent.
    • File-based pedigree ingestion now treats species as a first-class column: it is recognized and placed immediately after sex in the canonical column order, and typed as character, rather than surviving as an untyped trailing column.
    • In the Pedigree Browser tab, “Clear Focal Animals” now also clears a focal-animals list uploaded via the file browser (and its displayed file name) and any focal Ids typed into the text box, so neither is silently re-read on the next “Update Focal Animals”.
    • getPedDirectRelatives(unrelatedParents = TRUE) now returns a placeholder ego record for a referenced parent with no record of its own, instead of erroring; previously dormant since no caller exercised the TRUE branch. (#114)
    • The offline focal-animal path no longer prints a benign cannot open file ... console warning when the focal-id list file is missing or unreadable; the classed error it already reported is unchanged.
    • Documentation: extensive help-page and dataset-documentation corrections, including the genetic-value @return and parameter descriptions, dataset titles and descriptions, and the @examples for getPedDirectRelatives(), cumulateSimKinships(), and getIdsWithOneParent().
    • Documentation: the example configuration file (inst/extdata/example_nprcgenekeepr_config) now documents that lkPedColumns is center-specific: SNPRC uses the flat dam/sire columns (direct columns) while ONPRC uses the Id/parents/dam lookup-traversal form (curated parentage).
    • Fixed a CRAN Policy violation: the Shiny application no longer writes a debug log file to the user’s home directory unconditionally at startup. The log file is now created only after a user explicitly enables the Input tab’s “Debug on” checkbox, matching the documented behavior.
    • Fixed a data-corruption bug: uploading a pedigree as an Excel workbook via the Input tab silently converted every alphanumeric sire/dam ID to a missing value, collapsing the pedigree to near-all-founders with no error or warning shown to the user. CSV and tab/comma-delimited text uploads were unaffected.
    • Fixed the Breeding Groups tab’s “Custom” sex ratio option: selecting it previously had no numeric input to specify the ratio and silently behaved identically to “None”. A numeric “Custom ratio (F per M)” field now appears when “Custom” is selected, and its value is used when forming groups.
    • Fixed the Breeding Groups tab’s “Number of top animals” field: it never appeared regardless of the selected animal source, including the default “Top ranked” selection where it is supposed to be visible on page load.
    • data(examplePedigree) now includes a fromCenter (colony-origin) column, derived from its existing origin/recordStatus fields, so the Potential Parents tab can show a populated result (1,587 candidates) against the package’s own example data instead of only its graceful-degradation message.

nprcgenekeepr 1.0.8 (20250723)

CRAN release: 2025-07-26

  • Minor changes
    • Added returned value descriptions for all functions within R directory where formerly missing.
    • Changed unit test for get_elapsed_time_str() to use a mocked version of proc.time()

nprcgenekeepr 1.0.7 (20250506)

CRAN release: 2025-04-24

  • Minor changes
    • Added returned value descriptions for all functions where formerly missing.
    • Removed extraneous spaces from DESCRIPTION file.
    • Exposed all examples in roxygen2 comments by removing and and . The example with runGeneKeepR() is protected with if (interactive()) {}.

nprcgenekeepr 1.0.6 (20241215)

  • Minor changes
    • Update version in preparation for CRAN submission
    • Added article demonstrating Simulated Kinships with Partial Parentage
    • Added use of CICD pipeline as GitHub Actions
      • lintr pipeline
      • R CMD check pipeline with multiple R environments and versions
      • pkgdown pipeline
    • Added several unit tests
    • Cleaned up code based on lintr feedback
    • Added example deidentified pedigree data 2022-05-02_Deidentified_Pedigree.xlsx, 2022-05-02_Deidentified_Pedigree_focal_animals.csv, deidentified_jmac_ped.csv (text, except for dates, are in double quotes), deidentified_jmac_ped_edited.csv (edited to remove double quotes).
    • Made getVersion() more robust.
    • Abstracted out removal of auto generated Ids in preparation of allowing the user to define how auto generated Ids will be formed.
    • Added some quality assurance badges to README.
    • Added CRAN status badge to README.
    • Stopped using travis-ci and started using GitHub Actions with Rhub.yaml file for checking on Rhub.

nprcgenekeepr 1.0.5.9004 (20221213)

  • Minor changes
    • Changed method used to test class of object to use inherits().
    • Corrected getPedDirectRelative() so that all direct relatives are found. Supplemented unit tests for more direct relative types.
    • Added unit tests for trimPedigree().
    • Changed call as.character(date_object) to format(date_object) in getDatedFileName.R to prepare for newer code in development version of
    • Technical edits of R code based on lintr::lint_dir("R")

nprcgenekeepr 1.0.5.9003 (20220625)

  • Minor changes
    • Removed dependency on gdata.
    • Removed getMinParentAge() as it was never used.
    • Starting to replace rbind() with rbindlist() from data.table were possible.

nprcgenekeepr 1.0.5.9002 (20220425)

  • Minor changes
    • Added use of data.table in an effort to reduce memory use and CPU use for estimation of kinship values.
    • Functions were refactored and the ability to handle larger simulations resulted.

nprcgenekeepr 1.0.5.9001 (20210830)

  • Major changes
    • Added ability to use simulation to estimate the kinship values of animals with incomplete parental information that are known to have been born within the colony. These animals may have 0 or 1 known parents but have a value in the pedigree file or database for the fromcenter or fromCenter field of “Y”, “YES”, “T”, or “TRUE”.
  • Minor changes
    • Increase unit test coverage primarily to include more rare events and events that should not happen and are trapped and result in errors.
    • Changed to travis-ci.com

nprcgenekeepr 1.0.5 (20210328)

CRAN release: 2021-03-31

  • Major changes – none
  • Minor changes
    • CRAN submission primarily in response to a change in shiny 1.6 that removed an internal shiny function (shiny:::%OR%) and replaced it with rlang::%||%
    • Stale URL in historical documentation that were causing notes to be generated in automated tests have been removed.
    • A URL referring to Terry Therneau’s page was updated from “http” to “https”.
    • I have incremented the version from 1.0.4 (github.com only version) to 1.0.5, updated NEWS to reflect the changes, and updated all documentation to reflect the version change.

nprcgenekeepr 1.0.4.9003 (20210318)

  • Major changes – none
  • Minor changes
    • Testing .travis.yml code change to get textshaping to build on all systems..
    • Cleaned up .travis.yml in response to syntax checking on travis.org.
    • Added markdown to suggest due to new changes in knitr.

nprcgenekeepr 1.0.4 (20210318)

  • Major changes – none
  • Minor changes
    • Added suppression of warnings from DT at beginning of server.R since it is unlikely for anyone to call affected functions in the controlled environment.
    • Changed call to shiny:::%OR% to rlang::%||% in server.R since the update to 1.6 of shiny broke the code. Thanks to Dan Metzger of Wisconsin National Primate Research Center.

nprcgenekeepr 1.0.3 (20200526)

CRAN release: 2020-06-02

  • Major changes – none
  • Minor changes
    • CRAN re-submission: responded to the two requests provided by reviewer
      • I have removed the capitalization from “Genetic Tools for Colony Management” and “Genetic Value Analysis Reports” within DESCRIPTION.
      • I have removed the conditional installation of DT from the ui.R file.
    • I have incremented the version from 1.0.2 to 1.0.3, updated NEWS to reflect the changes, and updated all documentation to reflect the version change.

nprcgenekeepr 1.0.2 (20200517)

  • Major changes – none
  • Minor changes
    • CRAN re-submission: responded to all requests provided by reviewer
      • I have not changed the capitalization of Shiny in the description section of the DESCRIPTION file as it is the name of the type of application and is not being used as the name of the package. The use of the capitalization is consistent with the capitalization used within the documentation for the shiny package (?shiny, See the Details section, first sentence where it is used as the type of tutorial.) and all documentation and tutorials provided by the author and RStudio where it is capitalized everywhere except when referring to the package.
      • I have continued to use dontrun for the following examples:
        • runGeneKeepr(), which starts the Shiny application
        • getFocalAnimalPed(), which is dependent on a valid LabKey instance, a proper configuration file, and a .netrc or _netrc authentication file.
      • I have exchanged dontrun for donttest for the following examples:

nprcgenekeepr 1.0.1 (20200510)

  • Major changes – none
  • Minor changes
    • CRAN re-submission: responded to all requests provided by reviewer
      • Reduced the time required for unit test from over 12 minutes to 21.6 seconds by skipping those test dependent on stochastic creation of simulated pedigrees and breeding groups when not running on my system.
      • Reduced the time to run examples and create vignettes by reducing the number of stochastic modeling iterations by orders of magnitude without reducing the examples provided for user-facing functions.
      • Checking (–as-cran –run-donttest) Duration: 2m 21.8s on my system.
      • The files with the Rd-tag of \arguments missing do not take arguments.
      • Corrected private referencing (:::) for exported functions.
      • Exported all functions used in examples to remove private referencing (:::).
      • Removed all single quotes on names, abbreviations, initialisms, and, acronyms.
      • The phrase Electronic Health Records (EHR) is the name of a module within LabKey, which this software can use as a source of pedigree information so the capitalization is appropriate.
      • Two exported functions used by server.R to call tabpanel() do not have examples.

nprcgenekeepr 1.0 (20200415)

  • Major changes – none
  • Minor changes
    • CRAN submission

nprcgenekeepr 0.5.43 (20200414)

  • Major changes – none
  • Minor changes
    • Final preparation for CRAN submission

nprcgenekeepr 0.5.42.9012 (20200412)

  • Major changes – none
  • Minor changes
    • Updated unit test for dataframe2string to account for change in age of a sire from 8.67 to 8.66 years.
    • Renamed tutorials.

nprcgenekeepr 0.5.42.9011 (20200409)

  • Major changes – none
  • Minor changes
    • Build failed on Travis-ci due to unit test failure but the test has never failed and does not fail on other builds. Removed set_seed() to see if that helps.
    • Fixed GitHub issue 3
    • Added additional explanatory text from Matt Schultz edits for the Colony Manager version of the Shiny tutorial.

nprcgenekeepr 0.5.42.9010 (20200405)

  • Major changes – none
  • Minor changes
    • Added code to address issue 1 (GitHub). See comment 1 for details, but more should be done.
    • Refreshed Shiny_app_use.Rmd to reflect changes since November 2019.

nprcgenekeepr 0.5.42.9009 (20200402)

  • Major changes – none
  • Minor changes
    • Wrapped example for makeExamplePedigreeFile with \dontrun{} because R 4.0.0 alpha was leaving the side effect of the dataframe stored in a CSV file named as the text of the next line.

nprcgenekeepr 0.5.42.9008 (20200321)

  • Major changes – none
  • Minor changes
    • Changed dependency to R >= 3.6 since caTools is not available for R < 3.6.

nprcgenekeepr 0.5.42.9007 (20200319)

  • Major changes – none
  • Minor changes
    • Changed warnings unit test for getLkDirectAncestors to work with Windows.

nprcgenekeepr 0.5.42.9006 (20200319)

  • Major changes – none
  • Minor changes
    • Completed examples in function documentation
    • Corrected spelling of several word throughout found with spelling::spell_check_package(".").

nprcgenekeepr 0.5.42.9005 (20200201)

  • Major changes – none
  • Minor changes
    • Added examples to function documentation
    • Added ColonyManagerTutorial.Rmd initial draft, which is copy of shiny_app_use.Rmd. It is to be converted for use by colony managers.

nprcgenekeepr 0.5.42.9004 (20200201)

  • Major changes – none
  • Minor changes
    • Added examples to function documentation
    • Added obfuscated rhesus pedigree and rhesus haplotypes to use in examples

nprcgenekeepr 0.5.42.9003

  • Major changes – none
  • Minor changes
    • Renamed local and remote repositories from nprcmanager to nprcgenekeepr.

nprcgenekeepr 0.5.42.9002

  • Major changes
    • Changed name of package to nprcgenekeepr. This required changing of many of the supporting files and functions. Having good unit test coverage of the functions (739 test with > 90 percent coverage) made this possible.
    • This is the last version under the nprcmanager repository name.
    • Conversion worked
      • Running the build check had OK: 739; Failed: 0; Warnings: 0; Skipped: 0
  • Minor changes – none