For some complex non-human pedigrees, multiple sires for a female cause errors in autohint. For these cases, we put a try-catch around the call to autohint and supress error messages, allowing the plot to proceed with ped$hints=1:nrow(ped), and thus drawing lots of lines
Add dim.pedigree method, which allows nrow to work as well. It returns the number of subjects in the pedigree
Add pconnect arg for plot.pedigree to give flexibility to plot children directly under their parents, or loosen this restriction
Bug found in pedigree.shrink when character ids used and stringsAsFactors set to TRUE. Fix: when making data.frame()s in findUnavail and findAvalNonInform, add stringsAsFactors=FALSE
Add pconnect option to plot.pedigree. This gives more control over the lines from parent to child.
bug introduced in kinship.pedigree in making other updates in version 1.5.0: if(duplicated(id)) set back to be if(duplicated(id$id))
vignette added to vignettes directory, no more need for inst/doc dir in source version
kinship function allows chrtype="X" for X chromosome kinship matrices, will have NA for any relationships that include a subject with sex code 3 or 4
add test script for X-chromosome kinship matrix, with and without unknown sex codes
plot.pedigree: fixed indexing bug in dog pedigree for sire in multiple generations
pedigree.shrink and pedigree.trim now properly update indices in relation matrix after subjects are removed
When subscripting a pedigreeList object, the relationship matrix was not properly computed.
Add monzygotic twins computation to the kinship matrix
Add a test for the new monozygote kinship code
Add the ibdMatrix function
Add the ibdMatrix routine, a replacement for bdsmatrix.ibd.
The dimnames of a kinship matrix were in the wrong order if a. it was created from a pedigreeList and b. the original data set that created the pedigreeList was not sorted by family blocks (all of one family, then all of the next, ...). Pointed out by Claus Thorn Ekstrom.
The dimnames on kinship matrices had both row and column names some instances, only column names in others. Changed to always return both.
Per a query from Alex Cunningham, checked the return list of x,y values from plot.pedigree. Indeed, they were not in a useful order (to the user). Updated them to be in the same order as the input data, and added more information to the help page.
Took some families out of minnbreast that did not belong
Compress example data files
Added a Minnesota Breast Cancer dataset
Add missid as a code for the parents of founder subjects if the code is not one of the defaults (0 or NA for numeric ids, "" or NA for character)
Fixed some findex/mindex problems in findUnavailable and excludeUnavailFounders, both used within pedigree.shrink.
Updated plot.pedigree.shrink to plot available subjects as red, and included a simple legend to indicate availability coloring. A new parameter, xlegend, can now control the placing of the legend.
Fixed a minor indexing bug in "[.pedigree"
Fixed typing and grammatical problems in error messages in pedigree()
Fixed row/column names in kinship function (Shannon/Terry, please give more details)
Allow pedigree.trim to trim all subjects and return an empty pedigree object
pedigree.legend to show which portions of a subject's plot symbol indicate which affection status
aligning of pedigrees now more robust to handle subjects in multiple marriages
Summary: kinship2 is a branch from the original kinship package with some key updates for the pedigree and kinship functions, with some additional functions that work with the pedigree object.
pedigree and pedigreeList objects implemented with S3 methods print and "[,"
pedigree plotting routine re-written, now more robust
kinship matrices now implemented with Matrix package classes
utilities to trim the pedigree object with various criteria