Find the ID of subjects in a pedigree iteratively, as anyone who is not available and does not have an available descendant by successively removing unavailable terminal nodes. pedigree.trim carries out the remove of the subjects identified by findUnavailable.
findUnavailable(ped, avail)
pedigree.trim(removeID, ped)
A pedigree object with an id, findex, mindex, sex, plus other optional items
Vector of availability status (e.g., genotyped) 0/1 or TRUE/FALSE
vector of subject ids of persons to trim from a pedigree
findUnavailable returns a vector of subject ids for who can be removed. pedigree.trim returns a trimmed pedigree object.
relation matrix from pedigree.trim is trimmed of any special relations that include the subjects to trim.
Originally written as pedTrim by Steve Iturria, modified by Dan Schaid 2007. findUnavailable also calls excludeStrayMarryin to find stray available marry-ins who are isolated after trimming their unavailable offspring, and excludeUnavailFounders. If the subject ids are character, make sure none of the characters in the ids is a colon (":"), which is a special character used to concatenate and split subjects within the utlity.