ad3a176457ad1d21a0fedc47f349ec3484e751f1 angie Fri Feb 9 16:27:51 2018 -0800 Cleaning up some old ugliness about the size parameter to isAllDna and isAllNt. hgc's printSnpAlignment code that parsed snpNNN.fa was using lineSize as length but lineSize is length+1. Then isAllDna was written with "i<size-1" as the loop test instead of "i < size". I didn't fix that properly when I separated out isAllNt from isAllDna. Later, I (re?)discovered that isAllNt needed length+1 as its size and just added some FIXME comments. Thanks Brian R for prodding me to actually fix it. refs #20895 diff --git src/lib/dnautil.c src/lib/dnautil.c index 6d81ba5..9ee6d78 100644 --- src/lib/dnautil.c +++ src/lib/dnautil.c @@ -1065,46 +1065,38 @@ dnaUtilOpen(); for (i=0; i<size; ++i) { if (ntChars[(int)poly[i]]) dnaCount += 1; } return (dnaCount >= round(0.9 * size)); } boolean isAllNt(char *seq, int size) /* Return TRUE if all letters in seq are ACGTNU-. */ { int i; dnaUtilOpen(); -for (i=0; i<size-1; ++i) +for (i = 0; i < size; ++i) { if (ntChars[(int)seq[i]] == 0) return FALSE; } return TRUE; } -boolean isAllDna(char *poly, int size) -/* Return TRUE if size is great than 1 and letters in poly are 100% ACGTNU- */ -{ -if (size <= 1) - return FALSE; -return isAllNt(poly, size); -} - /* Tables to convert from 0-20 to ascii single letter representation * of proteins. */ int aaVal[256]; AA valToAa[21]; AA aaChars[256]; /* 0 except for value aa characters. Converts to upper case rest. */ struct aminoAcidTable /* A little info about each amino acid. */ { int ix; char letter; char abbreviation[3];