b2b326b8afc5e8b7acb2cd46bbffab500db91639
max
  Mon Jul 22 14:16:25 2024 -0700
adding version number to hgPcr, refs #34047

diff --git src/hg/hgPcr/hgPcr.c src/hg/hgPcr/hgPcr.c
index 6272169..3ee8c96 100644
--- src/hg/hgPcr/hgPcr.c
+++ src/hg/hgPcr/hgPcr.c
@@ -201,33 +201,33 @@
 	server->targetDb = target;
 	slAddHead(&serverList, server);
 	}
     }
 dyStringFree(&dy);
 sqlFreeResult(&sr);
 hDisconnectCentral(&conn);
 hFreeConn(&conn2);
 slReverse(&serverList);
 return serverList;
 }
 
 void doHelp()
 /* Print up help page */
 {
-puts(
-"In-Silico PCR searches a sequence database with a pair of\n"
-"PCR primers, using an indexing strategy for fast performance.\n"
+printf(
+"In-Silico PCR V%s searches a sequence database with a pair of\n"
+"PCR primers, using the BLAT index for fast performance.\n"
 "See an example\n"
 "<a href='https://youtu.be/U8_QYwmdGYU'"
 "target='_blank'>video</a>\n"
 "on our YouTube channel.<br>\n"
 "This tool is not guaranteed to find absolutely all off-target locations,\n"
 "it is optimized for targets with higher identities. For\n"
 "use in primer design, especially in repetitive regions, consider additional validation with tools such as\n"
 "<a target='_blank' href='https://www.ncbi.nlm.nih.gov/tools/primer-blast/'>"
 "primer blast</a>.<br>\n"
 "If you are looking for matches to RT-PCR primers, where primers often straddle intron-exon boundaries, change the <b>Target</b> option and select "
 "a gene transcript set.<br>\n"
 "<H3>Configuration Options</H3>\n"
 "<B>Genome and Assembly</B> - The sequence database to search.<BR>\n"
 "<B>Target</B> - If available, choose to query transcribed sequences.<BR>\n" 
 "<B>Forward Primer</B> - Must be at least 15 bases in length.<BR>\n"
@@ -246,31 +246,31 @@
 "sequence matches the database sequence and in lower-case elsewhere.  Here\n"
 "is an example from human:<BR>\n"
 "<TT><PRE>\n"
 ">chr22:31000551+31001000  TAACAGATTGATGATGCATGAAATGGG CCCATGAGTGGCTCCTAAAGCAGCTGC\n"
 "TtACAGATTGATGATGCATGAAATGGGgggtggccaggggtggggggtga\n"
 "gactgcagagaaaggcagggctggttcataacaagctttgtgcgtcccaa\n"
 "tatgacagctgaagttttccaggggctgatggtgagccagtgagggtaag\n"
 "tacacagaacatcctagagaaaccctcattccttaaagattaaaaataaa\n"
 "gacttgctgtctgtaagggattggattatcctatttgagaaattctgtta\n"
 "tccagaatggcttaccccacaatgctgaaaagtgtgtaccgtaatctcaa\n"
 "agcaagctcctcctcagacagagaaacaccagccgtcacaggaagcaaag\n"
 "aaattggcttcacttttaaggtgaatccagaacccagatgtcagagctcc\n"
 "aagcactttgctctcagctccacGCAGCTGCTTTAGGAGCCACTCATGaG\n"
 "</PRE></TT>\n"
 "The + between the coordinates in the fasta header indicates \n"
-"this is on the positive strand.  \n"
+"this is on the positive strand.  \n", gfVersion
 );
 }
 
 #define ORGFORM_KEEP_ORG "document.orgForm.org.value = " \
     " document.mainForm.org.options[document.mainForm.org.selectedIndex].value; "
 #define ORGFORM_KEEP_DB " document.orgForm.db.value = " \
     " document.mainForm.db.options[document.mainForm.db.selectedIndex].value; "
 #define ORGFORM_KEEP_PARAMS \
     " document.orgForm.wp_f.value = document.mainForm.wp_f.value; " \
     " document.orgForm.wp_r.value = document.mainForm.wp_r.value; " \
     " document.orgForm.wp_size.value = document.mainForm.wp_size.value; " \
     " document.orgForm.wp_perfect.value = document.mainForm.wp_perfect.value; " \
     " document.orgForm.wp_good.value = document.mainForm.wp_good.value; "
 #define ORGFORM_RESET_DB " document.orgForm.db.value = 0; "
 #define ORGFORM_RESET_TARGET " document.orgForm.wp_target.value = \"\"; "