fa235a119005a8986d0b6e761f47bbf198bd9b49
galt
  Mon Nov 4 16:06:38 2013 -0800
adding IUPAC support to the oligoMatch utility (which was cloned from hgTracks originally and then forgotten)
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index b0692b9..89389f7 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -991,31 +991,36 @@
 /* This returns the DNA in the window, all in lower case. */
 {
 static struct dnaSeq *seq = NULL;
 if (seq == NULL)
     seq = hDnaFromSeq(database, chromName, winStart, winEnd, dnaLower);
 return seq->dna;
 }
 
 char *stringInWrapper(char *needle, char *haystack)
 /* Wrapper around string in to make it so it's a function rather than a macro. */
 {
 return stringIn(needle, haystack);
 }
 
 void oligoMatchLoad(struct track *tg)
-/* Create track of perfect matches to oligo on either strand. */
+/* Create track of perfect matches to oligo on either strand. 
+ *
+ * Note that if you are extending this code, there is also a parallel copy 
+ * in src/hg/utils/oligoMatch/ that should be kept up to date! 
+ *
+ */
 {
 char *dna = dnaInWindow();
 char *fOligo = oligoMatchSeq();
 char *(*finder)(char *needle, char *haystack) = (anyIupac(fOligo) ? iupacIn : stringInWrapper);
 int oligoSize = strlen(fOligo);
 char *rOligo = cloneString(fOligo);
 char *rMatch = NULL, *fMatch = NULL;
 struct bed *bedList = NULL, *bed;
 char strand;
 int count = 0, maxCount = 1000000;
 
 if (oligoSize >= 2)
     {
     fMatch = finder(fOligo, dna);
     iupacReverseComplement(rOligo, oligoSize);