4898794edd81be5285ea6e544acbedeaeb31bf78
max
  Tue Nov 23 08:10:57 2021 -0800
Fixing pointers to README file for license in all source code files. refs #27614

diff --git src/hg/snp/snpLoad/snpMultiple.c src/hg/snp/snpLoad/snpMultiple.c
index 7d5bdcf..8fc59e7 100644
--- src/hg/snp/snpLoad/snpMultiple.c
+++ src/hg/snp/snpLoad/snpMultiple.c
@@ -1,133 +1,133 @@
 /* snpMultiple - post-processing.
  * Read snp126.
  * Report coords for all SNPs that align more than once.
  * Also report counts. */
 
 /* Copyright (C) 2013 The Regents of the University of California 
- * See README in this or parent directory for licensing information. */
+ * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */
 
 #include "common.h"
 
 #include "hash.h"
 #include "hdb.h"
 
 
 static char *snpDb = NULL;
 
 static struct hash *coordHash = NULL;
 static struct hash *nameHash = NULL;
 
 FILE *outputFileHandle = NULL;
 FILE *logFileHandle = NULL;
 
 struct coords 
     {
     char *chrom;
     int start;
     int end;
     };
 
 
 void usage()
 /* Explain usage and exit. */
 {
 errAbort(
     "snpMultiple - read snp126 for rsIds that appear more than once\n"
     "usage:\n"
     "    snpMultiple snpDb \n");
 }
 
 
 void readSnps()
 /* put all coords in coordHash */
 /* put names of SNPs that appear 2x or more in nameHash */
 {
 char query[512];
 struct sqlConnection *conn = hAllocConn();
 struct sqlResult *sr;
 char **row;
 struct hashEl *helCoord, *helName = NULL;
 struct coords *cel = NULL;
 
 coordHash = newHash(18);
 nameHash = newHash(0);
 verbose(1, "creating hashes...\n");
 sqlSafef(query, sizeof(query), "select name, chrom, chromStart, chromEnd from snp126");
 sr = sqlGetResult(conn, query);
 while ((row = sqlNextRow(sr)) != NULL)
     {
     /* have we already seen this snp name? */
     /* if so, save it in nameList */
     helCoord = hashLookup(coordHash, row[0]);
     if (helCoord != NULL) 
         {
 	helName = hashLookup(nameHash, row[0]);
 	if (helName == NULL)
 	    {
 	    hashAdd(nameHash, cloneString(row[0]), NULL);
 	    }
 	}
     /* store all coords */
     AllocVar(cel);
     cel->chrom = cloneString(row[1]);
     cel->start = sqlUnsigned(row[2]);
     cel->end = sqlUnsigned(row[3]);
     hashAdd(coordHash, cloneString(row[0]), cel);
     }
 sqlFreeResult(&sr);
 hFreeConn(&conn);
 }
 
 
 void writeResults()
 /* loop through nameHash */
 /* print all coords from coordHash to outputFileHandle */
 /* also print count per SNP to logFileHandle */
 {
 struct hashCookie cookie;
 struct hashEl *hel= NULL;
 struct coords *cel = NULL;
 int count = 0;
 char *name;
 
 verbose(1, "writing results...\n");
 cookie = hashFirst(nameHash);
 while ((name = hashNextName(&cookie)) != NULL)
     {
     count = 0;
     for (hel = hashLookup(coordHash, name); hel != NULL; hel= hashLookupNext(hel))
         {
 	cel = (struct coords *)hel->val;
 	fprintf(outputFileHandle, "%s\t%d\t%d\t%s\tMultipleAlignments\n", cel->chrom, cel->start, cel->end, name);
 	count++;
 	}
     fprintf(logFileHandle, "%s\t%d\n", name, count);
     }
 }
 
 
 int main(int argc, char *argv[])
 /* Read snp126. */
 /* Write coords of multiple alignments to .tab file. */
 /* Write counts to .log file. */
 {
 
 if (argc != 2)
     usage();
 
 snpDb = argv[1];
 hSetDb(snpDb);
 
 outputFileHandle = mustOpen("snpMultiple.tab", "w");
 logFileHandle = mustOpen("snpMultiple.log", "w");
 
 readSnps();
 writeResults();
 
 // free hashes
 
 carefulClose(&outputFileHandle);
 carefulClose(&logFileHandle);
 
 return 0;
 }