Changelog
sequoia 3.0.3
- numerous updates to Fortran code to improve assignment accuracy, including several bug fixes related to monogamous mating systems
- fix inconsistency in ageprior matrix and its use for grandparents and avuncular pairs
-
PedCompare: When dummy parent mismatched 1 or more dummy offspring than it had correct genotyped offspring, all genotyped + dummy offspring were set to ‘nomatch’. Now match is kept, and only actual mismatched flagged as such. -
ComparePairs: New argument ‘Pairs_suffix’, passed togetRelM. -
getRelM: when onlyPairsis provided, default (for unlisted pairs) changed from ‘U’ to ‘X’ - fix bug in
SimGeno, throwing an error when ParMis=c(0, not-zero) -
CalcPairLL: force to (almost) always calculate LL even when highly unlikely, by fixing MaxMismatch to the total number of SNPs and T_filter to -999.0. -
CalcParentProbs: new function to calculate assignment probabilities for any pedigree -
getAssignCatnow also considers parents with only dummifiable offspring as dummifiable; option ‘1sib’ is dropped. -
PedCompare: when an incorrect half-sibling is added to a true singleton-sibship-with-grandparent, this now counts as 1 mismatch; this erroneously was 3 mismatches (entire sibship wrong). - in
sequoia, the default value forCalcParentLLRis changed from TRUE to FALSE. - fix bug which caused no parents to be assigned to individuals produced by selfing
- add function
Err_Allele2Locus
sequoia 2.11.5
- fix bug in Fortran code which causes some parents to not be assigned during
Module='ped' - fix ‘Error in par(oldpar): invalid value specified for graphical parameter “plt”’ when very small plotting window in newer versions of Rstudio.
sequoia 2.11.4
-
GenoConvertfake .map output file: change chrom 0 (unmapped) to chrom 1, as SNPs on chromosome 0 get excluded by default by e.g. PLINK & GCTA -
CalcRped: drop dummy parents of ‘half founders’ from output (1 known + 1 unknown parent not supported by pkg kinship2) - fix errors when using data.tables
sequoia 2.11
- improved assignment rate when some birth years are unknown
- improved messages, with {cli} markup
- new format of runtime messages, using C script
- a few minor bugfixes in the Fortran code
sequoia 2.9.1
- upgrade of
GenoConvert: new vcf and genlight input, various bugs fixed, behaviour made more consistent and clearer through additional messages. - retain SNP names in
GenoConvertandSnpStats
sequoia 2.9.0
CRAN release: 2024-03-01
- fix bug in
MkGenoErrors(used bySimGeno) causing about 3x too many hom|hom errors whenSnpErroris a single value: first beta-distributed per-SNP genotyping error rates were generated, and then calculated. Now the single value is by default first morphed into a length 3 vector (hom|hom, het|hom, hom|het), and three beta distributions are generated. - adds log to
MkGenoErrors -
SimGenoParMis default changed from 0.4 to 0 - default genotyping pattern slightly changed to ensure the probability a homozyogote does not have a genotyping error is identical to a heterozygote (see
ErrToM). - Beta-version of
EstEr(estimation of genotyping errors) removed due to inaccurate estimations and misuse. Will (probably) be re-implemented in a future version.
sequoia 2.8.3
CRAN release: 2023-12-19
- fixes bugs introduced since version 2.5, plus various other edits in source code to improve assignment rate
- fix bug in
CalcMaxMismatch: OH with both parents counts as 2 mismatches (was 1)
sequoia 2.7.3
- fix bug causing some negative parental LLRs, and possibly some non-assignments
- speed increase for lower call rates
- add OutFormat ‘ped’ to
GenoConvert, and fix bug with OutFormat ‘col’
sequoia 2.7.2
CRAN release: 2023-09-06
- change
EstConfexample to nSim=1 to ensure runtime < 5 sec to pass CRAN check
sequoia 2.7.1
- add
mtSame: specify if individuals have the same or different mitochondrial haplotype - improved parentage assignment performance when there are many genetically similar candidate parents
- fixes CRAN issue ‘cannot use Fortran’s random number generator’
sequoia 2.6.0
- add specification of assumed genotyping error rate via length 3 vector: hom|hom, het|hom, hom|het
- expand
CalcPairLLhelpfile
sequoia 2.5.4
- add updated vignettes (main + age); accidentally included old versions in 2.5.3
- fixed bug in
CalcBYprobs, which caused Year.last to be ignored
sequoia 2.5.0
New features & major changes
- improved performance when a large proportion of birth years is not exactly known
- optional column
Year.lastadded toLifeHistData(last possible offspring birth year) - New functions
GetAncestorsandGetDescendants
Bug fixes & minor changes
- New parameter
MinAgeParentforMakeAgePrior() - New parameter
StrictGenoCheck,StrictforCheckGeno(); update msgs - update
CheckLH, now flexible column order in LifeHistData. - changed maxmismatch from
qntl = 0.999^(1/nrow(GenoM))to0.9999^(1/nrow(GenoM))in all functions callingCalcMaxMismatch
sequoia 2.4.2
Bug fixes & minor changes
- checks up to 6 generations back when making assignment to avoid individual being its own ancestor (was 5)
- fix bug in
SnpStats()when AF=0 or SNP is missing for all individuals.
sequoia 2.4.1
CRAN release: 2023-01-08
New features & major changes
- R markdown file to create (or serve as a first draft of) a summary report of input and output, called via
sequoia_report() -
PedCompare()parameterminSibSize(minimum sibship size for which the non-genotyped parent is considered ‘dummyfiable’) changed default value from2sib(2 genotyped siblings) to1sib1GP. This reflects the increased success of reconstructing grandoffspring-grandparent pairs in newest version, which make the output ofPedCompare(,minSibSize='2sib')confusing. This also affectsEstConf(). -
GetRelM()now allows input of Pedigree AND Pairs. This a.o. allowsPlotRelPairs()with both inferred pedigree plusGetMaybeRel()output.
Minor changes
- switch from library xlsx to openxlsx in
writeSeq()(easier to install) - adds purl=FALSE to vignette chunks & include
SeqOUT_HSg5for quicker vignette compilation - include additional griffin example data:
Geno_griffin,Conf_griffin(output fromEstConf()) andMaybeRel_griffin(output fromGetMaybeRel()), as well as the script used to create these (mk_griffin_data.R) - many examples are rewritten, for clarification & to speed up package check
- the plotting function of
SummarySeq()was internal and is now exported (PlotSeqSum()) - output from
sequoia()now includesargs.AP. - in
SummarySeq(), ifPedigreeis provided rather thanSeqListandSNPd=NULL, all individuals are categorised asObserved(was:Genotyped). -
PedPolish()now has arguments to specify whether to drop extra columns (besides id-dam-sire) and whether to keep rows with non-unique or NA ids. -
SnpStats()now includes HWE tests
Bug fixes
- fixes several memory issues identified by CRAN
- fixes various bugs in
SimGeno()for non-autosomal inheritance; this option is still experimental and non-autosomal SNPs are not supported by the pedigree reconstruction. - fixes
cannot allocate vector of size ...issue inGetRelM()with very large pedigrees, which affectedMakeAgePrior()and therebysequoia(). -
EstConf()$ConfProbused the wrong denominator, namely the number of parents in the reference pedigree rather than in the inferred pedigree. - fixes bug resulting in LL(FA)=777 (‘impossible’) for pairs with all 4 parents unknown. Likely only affected
CalcPairLL(), as LL(HS)=LL(GP)=LL(FA) for these pairs. Origin time unknown. - fixes bug in
GenoConvert()whenInformat='single'.
sequoia 2.3.5
CRAN release: 2021-05-22
- fixes bug: OH count was always zero when there was no co-parent
sequoia 2.3.4
CRAN release: 2021-05-15
- fixes bug in
CalcPairLL()HS likelihood when conditioning on pedigree was incorrect. No/minimal effect on pedigree reconstruction. - fixes bug in
DuplicateCheck()(always automatically called bysequoia()) that on very rare occasions caused R to crash
sequoia 2.3.1
New features & major changes
- Hermaphrodites: dummy individuals with offspring as both dam and as sire now have prefix ‘H’; closer links between the two ‘clonal’ sibship parts during pedigree reconstruction for improved performance
- Assignment of sibship grandparents moved to before check & assignment of additional parents; this proved to increase correct assignments without increasing incorrect assignments.
- new function
CalcBYprobs()to estimate the probability that individual i is born in year y.
Bug fixes
- fixed inconsistent rounding in
EstConf()output - bug in
GenoConvert()regarding InData vs InFile
sequoia 2.3.0
sequoia 2.2.2
New features & major changes
- hermaphrodites: re-implemented and greatly improved sibship clustering. Specification of hermaphrodite vs diocious is now separate input parameter
Herminstead of specified viaComplex. New output list elementDummyClones - improved performance when a large proportion of birth years are missing
- new function
CalcRped()to calculate pedigree relatedness. Uses packagekinship2.
sequoia 2.1.0
New features & major changes
- parameter ‘maxSibIter’ (-9/-1/0/>0) deprecated and replaced by ‘Module’ (pre/dup/par/ped).
-
sequoia(): OptionFindMaybeRelhas been deprecated; callGetMaybeRel()directly instead. - new function
CalcPairLL(), returns likelihoods for each of the 7 considered relationships (PO, FS, HS, GP, FA, HA, U) for each specified pair of individuals - new function
RelPlot()for Colony-like visualisation of pairwise relationships (automatically called byComparePairs())
Bug fixes
-
sequoia(): fixed errorobject 'ErrM' not foundwhen re-using output from a previous sequoia run. Circumvent this bug in version 2.0.7 by fooling the program to think it’s output from an older version:names(ParOUT$Specs)[match("MaxMismatchOH", names(ParOUT$Specs))] <- "foo". -
sequoia(): fixed bug causing genotyped parents to not always be monogamous whenComplx='mono'. - various functions: fixed error when dummy prefixes have different number of characters (
Error in data.frame(id = c(dID[s(nd[1]), 1], dID[s(nd[2]), 2]), VtoM(TMP$dumparrf, : arguments imply differing number of rows)) -
GetMaybeRel(): fixed error(subscript) logical subscript too longwhen input pedigree contains dummies -
GetMaybeRel(): fixed error causing likely GP pairs not to be included output -
PedCompare(): fixed id.dam.cat and id.sire.cat being ‘NANA’ instead of XD, XG or XX when Symmetrical=TRUE -
PlotAgePrior(): Avoid usinggrDevices::hcl.colors()in R versions <3.6, where this function is not yet available -
ComparePairs(): fixed bug whenPairs2but notPed2is specified -
MakeAgePrior(): fixed bug when there are no FS pairs in the input pedigree -
MakeAgePrior():MaxAgeParentwas ignored when a pedigree with overlapping generations was supplied
Minor changes
- most examples are now set to
\donttestinstead of\dontrun, so that they can be run usingexample(). Note that some can be quite time consuming, especiallyEstConf(). - new function
PlotPedComp()to visualisePedCompare()output -
SimGeno(): deprecated input parameters (since v 1.3.1) are dropped completely -
getAssignCat()no longer drops additional columns from input pedigree - Speed increase for
CalcOHLLR(, CalcLLR = FALSE) - More thorough input checks, which are more consistent across different functions
-
PedCompare()output elementDummyMatchnow also include output class of matched individual’s parents & offspring - Duplicate check in
sequoia()now only returns pairs for which LL_duplicate - max(LL_{not duplicate}) > T_filter; when call rates are low this may be a substantially shorter list than in previous versions, where all pairs with fewer than MaxMismatchDUP differences were listed. -
ComparePairs()can now be called for a single pedigree, as well as to compare two pedigrees - If the plotting window in Rstudio is too small and
Plot=TRUE, all functions will print a message and return results as usual, instead of throwing an error and not returning results. -
MakeAgePrior(): more consistent implementation; is now called bysequoia()with only lifehistory data of genotyped individuals. -
EstConf()now also returns the fullCountstable fromPedCompare();$RunParamsnow holds the evaluated input paramters, instead of e.g.V[i]when called from inside a loop.
sequoia 2.0.7
CRAN release: 2020-05-18
New features
- The genotyping error matrix (probability of observed genotype conditional on actual) is now fully customisable in all relevant functions, see help file of new function
ErrToM. The default has changed very slightly from version 1.3. - new function
CalcOHLLR()to calculate Mendelian errors and parental log-likelihood ratios for any pedigree - new function
getAssignable()to flag genotyped and ‘dummifiable’ individuals in any pedigree - new function
ComparePairs()to compare pairwise relationships between 2 pedigrees; replaces now-deprecatedDyadCompare. - function
PedPolish()is now user available.
Major changes
- Deprecated option
MaxMismatchof functionsequoia, now calculated internally by new functionCalcMaxMismatchbased on number of SNPs, presumed genotyping error rate, and minor allele frequencies - function
EstConf()now also estimates confidence for parent-pairs; output has changed considerably. - rewrote function
PedCompare()to increase clarity of code for easier maintenance; changed output format somewhat. - Added a vignette about the ageprior, and rewrote sections of the main vignette to incorporate new functions
- In the Fortran part, re-implemented how (candidate) (grand)parent-pairs are filtered and assigned
Bug fixes
-
GenoConvert()skipped first individual when reading .raw file. Circumvent this bug in earlier versions by using optionheader=FALSE(then header row is removed only once…) -
ConfProb()expected input parameternSimto be strictly integer, now relaxed to any value convertible to a whole number - fixed
ERROR! ***Invalid ParProb!***triggered when some SNPs are monomorphic - fixed
SEGFAULTtriggered when some SNPs have very high missingness (>80%); possibly sibship size out of bounds - fixed
Error arguments imply differing number of rowswhen there are dummy parents of 1 sex only - fixed various mostly minor bugs in the Fortran code
- fixed bugs regarding ‘link time optimisation’
Minor changes
-
LifeHistDatamay have 2 additional columns, with minimum and maximum possible birth year - second example pedigree (
Ped_griffin) to illustrate overlapping generations, used in age vignette -
SummarySeq(): added a pedigree summary table identical to a subset of the table returned by R packagepedantics’pedStatSummary; that package has been archived on CRAN. Added optionPanelsto only plot (a) specific panel(s).
Sequoia 1.3.1
CRAN release: 2019-06-14
New features
- several functions have become user-visible:
CheckGeno(),MkGenoErrors(),GetMaybeRel(),GetRelCat() - plotting functions added:
PlotAgePrior()andSummarySeq() - function
SimGeno()input parameters have changed, old ones will be deprecated