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/asmHubTrackDb.sh src/hg/utils/automation/asmHubTrackDb.sh
index 1a54622..670023d 100755
--- src/hg/utils/automation/asmHubTrackDb.sh
+++ src/hg/utils/automation/asmHubTrackDb.sh
@@ -1,27 +1,31 @@
 #!/bin/bash
 
 set -beEu -o pipefail
 
-if [ $# -ne 2 ]; then
-  printf "usage: trackDb.sh <asmId> <pathTo/assembly hub build directory> > trackDb.txt\n" 1>&2
+if [ $# -ne 3 ]; then
+  printf "usage: trackDb.sh <asmId> <ncbiAsmId> <pathTo/assembly hub build directory> > trackDb.txt\n" 1>&2
   printf "expecting to find *.ucsc.2bit and bbi/ files at given path\n" 1>&2
+  printf "asmId may be equal to ncbiAsmId if it is a GenArk build\n" 1>&2
+  printf "or asmId might be a default dbName if it is a UCSC style\n" 1>&2
+  printf "browser build.\n" 1>&2
   exit 255
 fi
 
 export asmId=$1
-export buildDir=$2
+export ncbiAsmId=$2
+export buildDir=$3
 
 export scriptDir="$HOME/kent/src/hg/utils/automation"
 
 # technique to set variables based on the name in another variable:
 
 if [ -s "$buildDir/dropTracks.list" ]; then
   printf "# reading dropTracks.list\n" 1>&2
   for dropTrack in `cat "$buildDir/dropTracks.list"`
   do
      notTrack="not_${dropTrack}"
 #      printf "# %s\n" "${notTrack}" 1>&2
      eval $notTrack="1"
   done
 fi
 
@@ -593,31 +597,31 @@
 longLabel NCBI gene predictions
 shortLabel NCBI Genes
 visibility pack
 color 0,80,150
 altColor 150,80,0
 colorByStrand 0,80,150 150,80,0
 bigDataUrl bbi/%s.ncbiGene.bb
 type bigGenePred
 html html/%s.ncbiGene
 searchIndex name%s
 url https://www.ncbi.nlm.nih.gov/gene/?term=\$\$
 urlLabel Entrez gene
 labelFields geneName,geneName2
 group genes\n\n" "${asmId}" "${asmId}" "${searchTrix}"
 
-  $scriptDir/asmHubNcbiGene.pl $asmId $buildDir/html/$asmId.names.tab $buildDir/trackData > $buildDir/html/$asmId.ncbiGene.html
+  $scriptDir/asmHubNcbiGene.pl $asmId $ncbiAsmId $buildDir/html/$asmId.names.tab $buildDir/trackData > $buildDir/html/$asmId.ncbiGene.html
 
 haveNcbiGene="yes"
 fi	#	if [ -s ${buildDir}/trackData/ncbiGene/$asmId.ncbiGene.bb ]
 fi	#	if [ "${haveNcbiRefSeq}" = "no" ]
 ###################################################################
 
 ###################################################################
 # CpG Islands composite
 export cpgVis="off"
 # if there is no unmasked track, then set cpgVis to pack
 if [ ! -s ${buildDir}/trackData/cpgIslands/unmasked/${asmId}.cpgIslandExtUnmasked.bb ]; then
   cpgVis="on"
 fi
 if [ -s ${buildDir}/trackData/cpgIslands/unmasked/${asmId}.cpgIslandExtUnmasked.bb -o -s ${buildDir}/trackData/cpgIslands/masked/${asmId}.cpgIslandExt.bb ]; then
 rm -f ${buildDir}/bbi/${asmId}.cpgIslandExtUnmasked.bb ${buildDir}/bbi/${asmId}.cpgIslandExt.bb
@@ -798,45 +802,42 @@
 export hubLinks="/hive/data/genomes/asmHubs/hubLinks"
 if [ -s ${hubLinks}/${asmId}/rnaSeqData/$asmId.trackDb.txt ]; then
   printf "include rnaSeqData/%s.trackDb.txt\n\n" "${asmId}"
 fi
 ##  for mouse strain hubs only
 if [ -s "${buildDir}/$asmId.bigMaf.trackDb.txt" ]; then
   printf "include %s.bigMaf.trackDb.txt\n\n" "${asmId}"
 fi
 
 ###################################################################
 # check for lastz/chain/net available
 
 export lz=`ls -d ${buildDir}/trackData/lastz.* 2> /dev/null | wc -l`
 
 if [ "${lz}" -gt 0 ]; then
-  export gcX=`echo $asmId | cut -c1-3`
-  export d0=`echo $asmId | cut -c5-7`
-  export d1=`echo $asmId | cut -c8-10`
-  export d2=`echo $asmId | cut -c11-13`
-  export hubPath="$gcX/$d0/$d1/$d2/$asmId"
   if [ "${lz}" -eq 1 ]; then
+printf "single chainNet\n" 1>&2
     export lastzDir=`ls -d ${buildDir}/trackData/lastz.*`
     export oOrganism=`basename "${lastzDir}" | sed -e 's/lastz.//;'`
     # single chainNet here, no need for a composite track, does the symLinks too
-    ~/kent/src/hg/utils/automation/asmHubChainNetTrackDb.sh $asmId $buildDir
-    $scriptDir/asmHubChainNet.pl $asmId $buildDir/html/$asmId.names.tab $oOrganism $hubPath > $buildDir/html/$asmId.chainNet.html
+    $scriptDir/asmHubChainNetTrackDb.sh $asmId $buildDir
+    $scriptDir/asmHubChainNet.pl $asmId $ncbiAsmId $buildDir/html/$asmId.names.tab $oOrganism > $buildDir/html/$asmId.chainNet.html
   else
+printf "composite chainNet\n" 1>&2
     # multiple chainNets here, create composite track, does the symLinks too
-    ~/kent/src/hg/utils/automation/asmHubChainNetTrackDb.pl $buildDir
-    $scriptDir/asmHubChainNetComposite.pl $asmId $buildDir/html/$asmId.names.tab $hubPath > $buildDir/html/$asmId.chainNet.html
+    $scriptDir/asmHubChainNetTrackDb.pl $buildDir
+    $scriptDir/asmHubChainNetComposite.pl $asmId $ncbiAsmId $buildDir/html/$asmId.names.tab > $buildDir/html/$asmId.chainNet.html
   fi
 fi
 
 ###################################################################
 # crisprAll track
 
 if [ -s ${buildDir}/trackData/crisprAll/crispr.bb ]; then
 
 rm -f $buildDir/bbi/${asmId}.crisprAll.bb
 rm -f $buildDir/bbi/${asmId}.crisprAllDetails.tab
 ln -s ../trackData/crisprAll/crispr.bb ${buildDir}/bbi/${asmId}.crisprAll.bb
 ln -s ../trackData/crisprAll/crisprDetails.tab $buildDir/bbi/${asmId}.crisprAllDetails.tab
 
 printf "track crisprAllTargets
 visibility hide
@@ -859,22 +860,24 @@
 scoreFilterMax 100
 " "${asmId}" "${asmId}" "${asmId}"
 
 $scriptDir/asmHubCrisprAll.pl $asmId $buildDir/html/$asmId.names.tab $buildDir/trackData > $buildDir/html/$asmId.crisprAll.html
 
 fi
 
 # accessionId only used for include statements for other trackDb.txt files
 export accessionId="${asmId}"
 case ${asmId} in
    GC*)
      accessionId=`echo "$asmId" | awk -F"_" '{printf "%s_%s", $1, $2}'`
      ;;
 esac
 
+ls -og "${buildDir}/$asmId.userTrackDb.txt" 1>&2
+
 if [ -s "${buildDir}/$asmId.userTrackDb.txt" ]; then
   printf "\ninclude %s.userTrackDb.txt\n" "${accessionId}"
 fi
 
 if [ -s "${buildDir}/$asmId.trackDbOverrides.txt" ]; then
   printf "\ninclude %s.trackDbOverrides.txt\n" "${accessionId}"
 fi