This is a massive edit of the updog software. Major changes include:
model = "ash". It seemed that model = "norm" was always better and faster, so I just got rid of the "ash" option. This also extremely simplified the code.mupdog(). I think this was a good idea, but the computation was way too slow to be usable.model = "f1pp" and model = "s1pp". These now include interpretable parameterizations that are meant to be identified via another R package. But support is only for tetraploids right now.multidog() now prints some nice ASCII art when it’s run.format_multidog() now allows you to format multiple variables in terms of a multidimensional array.format_multidog() was reordering the SNP dimensions. This was fine as long as folks used dimnames properly, but now it should allow folks to also use dim positions.filter_snp() for filtering the output of multidog() based on predicates in terms of the variables in snpdf.multidog() for genotypying multiple SNPs using parallel computing.plot.multidog() for plotting the output of multidog().format_multidog() for formatting the output of multidog() to be a matrix.plot_geno() based on what genotypes are present.mean_od = 0 and var_od = Inf in flexdog().method = "custom" option to flexdog(). This lets users choose the genotype distribution if it is completely known a priori.Fixes a bug with option model = "s1pp" in flexdog(). I was originally not constraining the levels of preferential pairing to be the same in both segregations of the same parent. This is now fixed. But the downside is that model = "s1pp" is now only supported for ploidy = 4 or ploidy = 6. This is because the optimization becomes more difficult for larger ploidy levels.
I fixed some documentation. Perhaps the biggest error comes from this snippet from the original documentation of flexdog:
The value of
prop_misis a very intuitive measure for the quality of the SNP.prop_misis the posterior proportion of individuals mis-genotyped. So if you want only SNPS that accurately genotype, say, 95% of the individuals, you could discard all SNPs with aprop_misunder 0.95.
This now says
The value of prop_mis is a very intuitive measure for the quality of the SNP. prop_mis is the posterior proportion of individuals mis-genotyped. So if you want only SNPS that accurately genotype, say, 95% of the individuals, you could discard all SNPs with a prop_mis over 0.05.
I’ve now exported some C++ functions that I think are useful. You can call them in the usual way: http://r-pkgs.had.co.nz/src.html#cpp-import.
updog. The old version may be found in the updogAlpha package.flexdog().mupdog() is now live. We provide no guarantees about mupdog()’s performance.oracle_mis().rgeno().rflexdog().