0969409c52a6e1f50cc34ede97ee87fcd897200e
hiram
  Mon Jun 17 13:18:27 2024 -0700
allow the same trick for getData functions genArk genome name without URL will work no redmine

diff --git src/hg/hubApi/getData.c src/hg/hubApi/getData.c
index 41177f2..078b240 100644
--- src/hg/hubApi/getData.c
+++ src/hg/hubApi/getData.c
@@ -950,30 +950,36 @@
 	apiErrAbort(err400, err400Msg, "can not find sequence for chrom=%s for endpoint '/getData/sequence?genome=%s;chrom=%s' give hubUrl='%s'", chrom, genome, chrom, hubUrl);
     }
 if (revComp)
     {
     reverseComplement(seq->dna, seq->size);
     jsonWriteBoolean(jw, "revComp", revComp);
     }
 jsonWriteString(jw, "dna", seq->dna);
 apiFinishOutput(0, NULL, jw);
 }
 
 void apiGetData(char *words[MAX_PATH_INFO])
 /* 'getData' function, words[1] is the subCommand */
 {
 char *hubUrl = cgiOptionalString("hubUrl");
+char *genome = cgiOptionalString("genome");
+/* allow a GCx genome specified without hubUrl for GenArk genomes */
+if (isEmpty(hubUrl) && isNotEmpty(genome) && isGenArk(genome))
+    {
+    hubUrl = genArkHubTxt(genome);
+    }
 if (sameWord("track", words[1]))
     {
     char *extraArgs = verifyLegalArgs(argGetDataTrack);
     if (extraArgs)
 	apiErrAbort(err400, err400Msg, "extraneous arguments found for function /getData/track '%s'", extraArgs);
 
     if (isNotEmpty(hubUrl))
 	getHubTrackData(hubUrl);
     else
 	getTrackData();
     }
 else if (sameWord("sequence", words[1]))
     {
     char *extraArgs = verifyLegalArgs(argGetDataSequence);
     if (extraArgs)