5ba0549a475bafee7d17a3fa9fc3a42d08cb1c11 tdreszer Fri May 3 17:06:11 2013 -0700 Clarified some comments based upon Angie's feedback. Thanks. diff --git src/lib/vcfBits.c src/lib/vcfBits.c index 0ed67b9..d0c5da6 100644 --- src/lib/vcfBits.c +++ src/lib/vcfBits.c @@ -212,49 +212,49 @@ struct vcfRecord *record = records ? records : vcff->records; for (;record != NULL; record = record->next) { struct variantBits *vBits = vcfOneRecordToVariantBits(vcff, record, phasedOnly, homozygousOnly); if (unphasedBits) vBits->unphased = vcfRecordUnphasedBits(vcff, record); slAddHead(&vBitsList,vBits); } slReverse(&vBitsList); return vBitsList; } int vcfVariantBitsDropSparse(struct variantBits **vBitsList, int haploGenomeMin, - boolean dropRefErrors) + boolean dropRefMissing) // Drops vBits found in less than a minimum number of haplotype genomes. Supplying 1 will -// drop variants found in no haplotype genomes. Declaring dropRefErrors will drop variants -// in all haplotype genomes (variants where reference is wrong). -// Returns count of vBits structure that were dropped. +// drop variants found in no haplotype genomes. Declaring dropRefMissing will drop variants +// in all haplotype genomes (variants where reference is not represented in dataset and +// *might* be in error). Returns count of vBits structure that were dropped. { struct variantBits *vBitsKeep = NULL; struct variantBits *vBits = NULL; int dropped = 0; while ((vBits = slPopHead(vBitsList)) != NULL) { if (vBits->bitsOn >= haploGenomeMin) slAddHead(&vBitsKeep,vBits); else dropped++; // if not demoted, drop memory, since this is on lm } *vBitsList = vBitsKeep; -if (dropRefErrors) +if (dropRefMissing) { vBitsKeep = NULL; while ((vBits = slPopHead(vBitsList)) != NULL) { boolean foundRef = FALSE; int genoIx = 0; for (; !foundRef && genoIx < vBits->genotypeSlots; genoIx++) { int haploIx = 0; for (; !foundRef && haploIx < vBits->haplotypeSlots; haploIx++) { if (bitCountRange(vBits->bits, vBitsSlot(vBits,genoIx,haploIx,0), vBits->alleleSlots) == 0) foundRef = TRUE; }