61 bool isHalfSib(
Person & sib)
63 return hasBothParents &&
64 ((sib.father == father) ^(sib.mother == mother));
69 return hasBothParents &&
70 (sib.father == father) && (sib.mother == mother);
75 return (zygosity != 0) && (zygosity == twin.zygosity) && isSib(twin);
78 bool isMzTwin(
Person & mzTwin)
80 return (zygosity & 1) && (zygosity == mzTwin.zygosity) && isSib(mzTwin);
93 return !hasBothParents;
99 bool isGenotyped(
int m)
101 return markers[m].isKnown();
103 bool isFullyGenotyped()
105 return ngeno == markerCount;
107 bool isControlled(
int c)
109 return covariates[c] != _NAN_;
111 bool isFullyControlled()
113 return hasAllCovariates;
115 bool isPhenotyped(
int t)
117 return traits[t] != _NAN_;
119 bool isFullyPhenotyped()
123 bool isDiagnosed(
int a)
125 return affections[a] != 0;
127 bool isFullyDiagnosed()
129 return hasAllAffections;
132 bool isAncestor(
Person * descendant);
134 int GenotypedMarkers();
139 void CopyIDs(
Person & rhs);
140 void CopyPhenotypes(
Person & rhs);
141 void WipePhenotypes(
bool remove_genotypes =
true);
145 bool hasAllCovariates, hasAllTraits,
146 hasAllAffections, hasBothParents;