95030f73f067d8e8f9221a09c1811784607e4e72
markd
  Fri Jul 10 17:51:29 2020 -0700
split  dynamic server genomeDataPrefix into genome and genomeDataDir.  More verbose, but clearer

diff --git src/gfServer/tests/dynTester src/gfServer/tests/dynTester
index bd76cb5..5862686 100755
--- src/gfServer/tests/dynTester
+++ src/gfServer/tests/dynTester
@@ -5,39 +5,41 @@
 
 import sys
 import argparse
 import subprocess
 
 debug = False
 valGrind = False
 
 def parseArgs():
     usage = """Run a test of qfServer dynserver"""
     parser = argparse.ArgumentParser(description=usage)
     parser.add_argument('--debug', action="store_true", default=False,
                         help="enable debug tracing")
     parser.add_argument('--valgrind', action="store_true", default=False,
                         help="run valgrind on gfServer without to valgrind.out")
-    parser.add_argument('rootDir', type=str,
+    parser.add_argument('rootDir',
                         help="data root directory")
-    parser.add_argument('queryType', type=str, choices=("query", "protQuery", "transQuery"),
+    parser.add_argument('queryType', choices=("query", "protQuery", "transQuery"),
                         help="query request: query, protQuery, or transQuery")
-    parser.add_argument('genome', type=str,
-                        help="genome name, can include containing dirs")
-    parser.add_argument('queryFa', type=str,
+    parser.add_argument('genome',
+                        help="genome name")
+    parser.add_argument('genomeDataDir',
+                        help="directory for genome files")
+    parser.add_argument('queryFa',
                         help="query fasta")
-    parser.add_argument('resultsOut', type=str,
+    parser.add_argument('resultsOut',
                         help="out is saved here for checking ")
     args = parser.parse_args()
     global debug, valgrind
     debug = args.debug
     valgrind = args.valgrind
     return args
 
 gfSignature = "0ddf270562684f29"
 
 def readFastaSeqsFh(faFh):
     """read from one sequence from fasta"""
     seqs = []
     seq = ""
     for line in faFh:
         line = line.strip()
@@ -104,63 +106,63 @@
 def serverWait(gfServer):
     "wait for server process to exit"
     gfServer.wait()
     if gfServer.returncode != 0:
         raise Exception("gfServer process exited with {}".format(gfServer.returncode))
 
 def readResults(gfServer, resultsFh):
     "read the results, which come back using the net string stuff"
     while True:
         resp = netRecieveString(gfServer.stdout)
         if len(resp) > 0:
             print(str(resp, encoding="latin-1"), file=resultsFh)
         if resp == b'end':
             break
 
-def makeQuery(gfServer, queryType, genome, seq, resultsFh):
+def makeQuery(gfServer, queryType, genome, genomeDataDir, seq, resultsFh):
     "make a query to the server"
-    query = "{}{} {} {}\n".format(gfSignature, queryType, len(seq), genome)
+    query = "{}{} {} {} {}\n".format(gfSignature, queryType, len(seq), genome, genomeDataDir)
     print(query, file=resultsFh)
     writeBytes(gfServer.stdin, query)
 
     resp = readBytes(gfServer.stdout, 1)
     if resp != b"Y":
         resp += gfServer.stdout.read()
         raise Exception("expected 'Y' from gfServer, got '{}'".format(resp))
     writeBytes(gfServer.stdin, seq)
     readResults(gfServer, resultsFh)
 
-def serverQuery(rootDir, queryType, genome, seq, resultsFh):
+def serverQuery(rootDir, queryType, genome, genomeDataDir, seq, resultsFh):
     """on round of starting server, making a query, and stopping"""
     gfServer = serverStart(rootDir)
-    makeQuery(gfServer, queryType, genome, seq, resultsFh)
+    makeQuery(gfServer, queryType, genome, genomeDataDir, seq, resultsFh)
     serverWait(gfServer)
 
-def makeInfo(gfServer, infoType, genome, resultsFh):
+def makeInfo(gfServer, infoType, genome, genomeDataDir, resultsFh):
     "info request to the server"
-    query = "{}{} {}\n".format(gfSignature, infoType, genome)
+    query = "{}{} {} {}\n".format(gfSignature, infoType, genome, genomeDataDir)
     print(query, file=resultsFh)
     writeBytes(gfServer.stdin, query)
     readResults(gfServer, resultsFh)
 
-def serverInfo(rootDir, infoType, genome, resultsFh):
+def serverInfo(rootDir, infoType, genome, genomeDataDir, resultsFh):
     """make an info request to the server"""
     gfServer = serverStart(rootDir)
-    makeInfo(gfServer, infoType, genome, resultsFh)
+    makeInfo(gfServer, infoType, genome, genomeDataDir, resultsFh)
     serverWait(gfServer)
 
-def dynTester(rootDir, queryType, genome, queryFa, resultsFh):
+def dynTester(rootDir, queryType, genome, genomeDataDir, queryFa, resultsFh):
     "run tests"
     seqs = readFastaSeqs(queryFa)
     if len(seqs) == 0:
         raise Exception("no sequences found in {}".format(queryFa))
     for seq in seqs:
-        serverQuery(rootDir, queryType, genome, seq, resultsFh)
+        serverQuery(rootDir, queryType, genome, genomeDataDir, seq, resultsFh)
     infoType = "untransInfo" if queryType == "query" else "transInfo"
-    serverInfo(rootDir, infoType, genome, resultsFh)
+    serverInfo(rootDir, infoType, genome, genomeDataDir, resultsFh)
 
 def main():
     args = parseArgs()
     with open(args.resultsOut, "w") as resultsFh:
-        dynTester(args.rootDir, args.queryType, args.genome, args.queryFa, resultsFh)
+        dynTester(args.rootDir, args.queryType, args.genome, args.genomeDataDir, args.queryFa, resultsFh)
 
 main()