92509db0231e9b1ae83aa0c85182883dd8eabc9b
hiram
  Wed Sep 14 13:59:35 2022 -0700
fixup chainNet trackDb and now sending files to dynablat and arranging hub files to place it in use refs #29811

diff --git src/hg/utils/automation/oneAndDoneBrowser.sh src/hg/utils/automation/oneAndDoneBrowser.sh
index 4c6755b..f3810b1 100755
--- src/hg/utils/automation/oneAndDoneBrowser.sh
+++ src/hg/utils/automation/oneAndDoneBrowser.sh
@@ -19,31 +19,32 @@
 
 hgCentralClade is one of:
   ancestor bacteria ciliate deuterostome haplotypes insect mammal other protista
   simulation vertebrate virus worm
 
 trackDbDir is one of the directories under makeDb/trackDb/<trackDbDir>/
   where this genome trackDb/<trackDbDir>/dbName/trackDb.ra will exist
 " 1>&2
   exit 255
 fi
 
 #### default build parameters, will be adjusted below depending upon clade
 export augustusSpecies="-augustusSpecies=human"
 export ncbiRmsk="-ncbiRmsk"
 export noRmsk=""
-export ucscNames="-ucscNames"
+# export ucscNames="-ucscNames"
+export ucscNames=""
 ####
 
 export asmId="${1}"
 export dbName="${2}"
 export clade="${3}"
 export hgCentralClade="${4}"
 export trackDbDir="${5}"
 
 export export gcX=${asmId:0:3}
 export d0=${asmId:4:3}
 export d1=${asmId:7:3}
 export d2=${asmId:10:3}
 export srcDir="/hive/data/outside/ncbi/genomes/${gcX}/${d0}/${d1}/${d2}/$asmId"
 
 if [ ! -d "${srcDir}" ]; then
@@ -120,34 +121,32 @@
 printf "# ucscNames: %s\n" "${ucscNames}" 1>&2
 printf "# rmskSpecies: %s\n" "${rmskSpecies}" 1>&2
 printf "# augustusSpecies: %s\n" "${augustusSpecies}" 1>&2
 printf "# ncbiRmsk: %s\n" "${ncbiRmsk}" 1>&2
 if [ "x${noRmsk}y" != "xy" ]; then
   printf "# noRmsk: '%s'\n" "${noRmsk}" 1>&2
 fi
 printf "\n" 1>&2
 
 # possible steps in order:
 
 # download sequence assemblyGap chromAlias gatewayPage cytoBand gc5Base
 # repeatMasker simpleRepeat allGaps idKeys windowMasker addMask gapOverlap
 # tandemDups cpgIslands ncbiGene ncbiRefSeq xenoRefGene augustus trackDb cleanup
 
-## export stepStart="download"
-## export stepEnd="sequence"
-export stepStart="ncbiGene"
-export stepEnd="augustus"
+export stepStart="download"
+export stepEnd="trackDb"
 
 printf "cd \"${buildDir}\"\n" 1>&2
 cd "${buildDir}"
 
 printf "\$HOME/kent/src/hg/utils/automation/doAssemblyHub.pl \\
   -continue=\"${stepStart}\" -stop=\"${stepEnd}\" -dbName=\"${dbName}\" \\
      -rmskSpecies=\"${rmskSpecies}\" -bigClusterHub=ku -buildDir=\`pwd\` \\
         -fileServer=hgwdev -smallClusterHub=hgwdev \\
            ${noRmsk} ${ncbiRmsk} ${ucscNames} ${augustusSpecies} \\
               -workhorse=hgwdev \"${asmId}\" >> build.log 2>&1\n" 1>&2
 
 $HOME/kent/src/hg/utils/automation/doAssemblyHub.pl \
   -continue="${stepStart}" -stop="${stepEnd}" -dbName="${dbName}" \
      -rmskSpecies="${rmskSpecies}" -bigClusterHub=ku -buildDir=`pwd` \
         -fileServer=hgwdev -smallClusterHub=hgwdev \
@@ -165,30 +164,62 @@
 export taxId=`grep "^taxId" ${dbName}.config.ra | awk '{print $NF}'`
 export asmDate=`grep "^assemblyDate" ${dbName}.config.ra | sed -e "s/assemblyDate \+//"`
 export asmName=`grep "^ncbiAssemblyName" ${dbName}.config.ra | sed -e "s/ncbiAssemblyName \+//"`
 export comName=`grep "^commonName" ${dbName}.config.ra | sed -e "s/commonName \+//"`
 export sciName=`grep "^scientificName" ${dbName}.config.ra | sed -e "s/scientificName \+//"`
 export orderKey=`grep "^orderKey" ${dbName}.config.ra | sed -e "s/orderKey \+//"`
 export accessionID=`grep "^genBankAccessionID" ${dbName}.config.ra | sed -e "s/genBankAccessionID \+//"`
 export defaultPos=`head -1 $dbName.chrom.sizes | awk '{end=int($2/2)+9999; if (end > $2){end = $2}; printf "%s:%d-%d", $1, int($2/2), end}'`
 
 printf "DELETE from dbDb where name = \"%s\";\n" "${dbName}" > dbDbInsert.sql
 printf "INSERT INTO dbDb
     (name, description, nibPath, organism,
      defaultPos, active, orderKey, genome, scientificName,
      htmlPath, hgNearOk, hgPbOk, sourceName, taxId)
 VALUES\n" >> dbDbInsert.sql
-printf "(\"%s\", \"%s (%s/%s)\", \"/gbdb/%s\", \"%s\",
+printf "(\"%s\", \"%s (%s/%s)\", \"hub:/gbdb/%s/hubs\", \"%s\",
    \"%s\", 1, %d, \"%s\", \"%s\", \"/gbdb/%s/html/description.html\", 0,
      1, \"%s\", %d);\n" "${dbName}" "${asmDate}" "${asmName}" "${dbName}" "${dbName}" "${comName}" "${defaultPos}" "${orderKey}" "${comName}" "${sciName}" "${dbName}" "${accessionID}" "${taxId}" >> dbDbInsert.sql
 
 fi
 
 printf "# dbDbInsert.sql statement is completed:\n" 1>&2
-cat dbDbInsert.sql 1>&2
+printf "# to add to hgcentraltest: hgsql hgcentraltest < dbDbInsert.sql\n" 1>&2
 
 if [ ! -s "chrom.sizes" ]; then
   ln -s $dbName.chrom.sizes chrom.sizes
 fi
 if [ ! -d "bed" ]; then
   ln -s trackData bed
 fi
+
+# establish symLinks to make this browser appear
+cd "${buildDir}"
+mkdir -p hubs /gbdb/$dbName
+for F in "$dbName.2bit" bbi ixIxx hubs html
+do
+  rm -f /gbdb/$dbName/${F}
+  ln -s `pwd`/${F} /gbdb/$dbName/${F}
+done
+rm -f hubs/chromAlias.bb hubs/chromSizes.txt hubs/groups.txt
+ln -s `pwd`/trackData/chromAlias/mpxv2022.chromAlias.bb hubs/chromAlias.bb
+ln -s `pwd`/mpxv2022.chrom.sizes hubs/chromSizes.txt
+cp -p ~/kent/src/hg/makeDb/doc/asmHubs/groups.txt hubs/groups.txt
+
+if [ -s "$dbName.trans.gfidx" ]; then
+   printf "# sending files for dynamic blat\n#\t$dbName.2bit $dbName.trans.gfidx $dbName.untrans.gfidx\n" 1>&2
+   rsync -a ./$dbName.2bit ./$dbName.trans.gfidx ./$dbName.untrans.gfidx \
+      qateam@dynablat-01:/scratch/hubs/$dbName/
+fi
+
+export blatServerPresent=`hgsql -N -e 'select * from blatServers where db="'$dbName'";' hgcentraltest | wc -l`
+if [ "$blatServerPresent" != 2 ]; then
+  printf "# adding blatServers entry\n" 1>&2
+  hgsql -e 'delete from blatServers where db="'$dbName'";' hgcentraltest
+  hgsql -e 'INSERT INTO blatServers (db, host, port, isTrans, canPcr, dynamic) \
+        VALUES ("'$dbName'", "dynablat-01", "4040", "1", "0", "1"); \
+        INSERT INTO blatServers (db, host, port, isTrans, canPcr, dynamic) \
+        VALUES ("'$dbName'", "dynablat-01", "4040", "0", "1", "1");' \
+            hgcentraltest
+fi
+printf "# blatServers entry:\n" 1>&2
+hgsql -e 'select * from blatServers where db="'$dbName'";' hgcentraltest 1>&2