87f551dfb14925f9e7e1d6f23d798fef313fd73c
hiram
  Mon Sep 1 23:25:33 2025 -0700
new chain net construction and update genePred names

diff --git src/hg/utils/automation/asmHubChainNetTrackDb.sh src/hg/utils/automation/asmHubChainNetTrackDb.sh
index 28f0dbc9de3..db3913da0c3 100755
--- src/hg/utils/automation/asmHubChainNetTrackDb.sh
+++ src/hg/utils/automation/asmHubChainNetTrackDb.sh
@@ -14,30 +14,31 @@
 export buildDir=$2
 export hubLinks="/hive/data/genomes/asmHubs/hubLinks"
 
 export accessionId="${asmId}"
 case ${asmId} in
    GC*)
      accessionId=`echo "$asmId" | awk -F"_" '{printf "%s_%s", $1, $2}'`
      ;;
 esac
 
 
 export scriptDir="$HOME/kent/src/hg/utils/automation"
 
 mkdir -p $buildDir/bbi
 mkdir -p $buildDir/liftOver
+mkdir -p $buildDir/quickLift
 
 export chainNetPriority=1
 
 printf "# asmHubChainNetTrackDb.pl $asmId $buildDir\n" 1>&2
 
 for D in ${buildDir}/trackData/lastz.*
 do
   targetDb=$accessionId
   lastzDir=`basename "${D}"`
   otherDb=`echo $lastzDir | sed -e 's/lastz.//;'`
   OtherDb="${otherDb^}"
   asmReport=`ls -d $buildDir/download/*assembly_report.txt 2> /dev/null`
   overChain="${targetDb}.${otherDb}.over.chain.gz"
   overToChain="${targetDb}To${OtherDb}.over.chain.gz"
 printf "asmReport: %s\n" "${asmReport}" 1>&2
@@ -54,69 +55,80 @@
   rm -f $buildDir/bbi/${asmId}.chainSyn$OtherDb.bb
   rm -f $buildDir/bbi/${asmId}.chainSyn${OtherDb}Link.bb
   rm -f $buildDir/bbi/${asmId}.chainRBest$OtherDb.bb
   rm -f $buildDir/bbi/${asmId}.chainRBest${OtherDb}Link.bb
   rm -f $buildDir/bbi/${asmId}.chainLiftOver$OtherDb.bb
   rm -f $buildDir/bbi/${asmId}.chainLiftOver${OtherDb}Link.bb
   rm -f $buildDir/bbi/${asmId}.$otherDb.net.bb
   rm -f $buildDir/bbi/${asmId}.$otherDb.net.summary.bb
   rm -f $buildDir/bbi/${asmId}.$otherDb.synNet.bb
   rm -f $buildDir/bbi/${asmId}.$otherDb.synNet.summary.bb
   rm -f $buildDir/bbi/${asmId}.$otherDb.rbestNet.bb
   rm -f $buildDir/bbi/${asmId}.$otherDb.rbestNet.summary.bb
   rm -f $buildDir/bbi/${asmId}.$otherDb.liftOverNet.bb
   rm -f $buildDir/bbi/${asmId}.$otherDb.liftOverNet.summary.bb
   rm -f $buildDir/liftOver/${overToChain}
+  rm -f $buildDir/quickLift/${otherDb}.bb
+  rm -f $buildDir/quickLift/${otherDb}.link.bb
   if [ -s "$buildDir/trackData/$lastzDir/axtChain/${overChain}" ]; then
      ln -s ../trackData/$lastzDir/axtChain/${overChain} $buildDir/liftOver/${overToChain}
   fi
   if [ -s "$buildDir/trackData/$lastzDir/axtChain/chain${OtherDb}.bb" ]; then
     ln -s ../trackData/$lastzDir/axtChain/chain${OtherDb}.bb $buildDir/bbi/${asmId}.chain$OtherDb.bb
     ln -s ../trackData/$lastzDir/axtChain/chain${OtherDb}Link.bb $buildDir/bbi/${asmId}.chain${OtherDb}Link.bb
   fi
   if [ -s "$buildDir/trackData/$lastzDir/bigMaf/$accessionId.$otherDb.net.bb" ]; then
     ln -s ../trackData/$lastzDir/bigMaf/$accessionId.$otherDb.net.bb $buildDir/bbi/${asmId}.$otherDb.net.bb
     ln -s ../trackData/$lastzDir/bigMaf/$accessionId.$otherDb.net.summary.bb $buildDir/bbi/${asmId}.$otherDb.net.summary.bb
   fi
   if [ -s "$buildDir/trackData/$lastzDir/axtChain/chainSyn${OtherDb}.bb" ]; then
     ln -s ../trackData/$lastzDir/axtChain/chainSyn${OtherDb}.bb $buildDir/bbi/${asmId}.chainSyn$OtherDb.bb
     ln -s ../trackData/$lastzDir/axtChain/chainSyn${OtherDb}Link.bb $buildDir/bbi/${asmId}.chainSyn${OtherDb}Link.bb
   fi
   if [ -s "$buildDir/trackData/$lastzDir/bigMaf/$accessionId.$otherDb.synNet.bb" ]; then
     ln -s ../trackData/$lastzDir/bigMaf/$accessionId.$otherDb.synNet.bb $buildDir/bbi/${asmId}.$otherDb.synNet.bb
     ln -s ../trackData/$lastzDir/bigMaf/$accessionId.$otherDb.synNet.summary.bb $buildDir/bbi/${asmId}.$otherDb.synNet.summary.bb
   fi
   if [ -s "$buildDir/trackData/$lastzDir/axtChain/chainRBest${OtherDb}.bb" ]; then
     ln -s ../trackData/$lastzDir/axtChain/chainRBest${OtherDb}.bb $buildDir/bbi/${asmId}.chainRBest$OtherDb.bb
     ln -s ../trackData/$lastzDir/axtChain/chainRBest${OtherDb}Link.bb $buildDir/bbi/${asmId}.chainRBest${OtherDb}Link.bb
   fi
   if [ -s "$buildDir/trackData/$lastzDir/bigMaf/$accessionId.$otherDb.rbestNet.bb" ]; then
     ln -s ../trackData/$lastzDir/bigMaf/$accessionId.$otherDb.rbestNet.bb $buildDir/bbi/${asmId}.$otherDb.rbestNet.bb
     ln -s ../trackData/$lastzDir/bigMaf/$accessionId.$otherDb.rbestNet.summary.bb $buildDir/bbi/${asmId}.$otherDb.rbestNet.summary.bb
   fi
+
   if [ -s "$buildDir/trackData/$lastzDir/axtChain/chainLiftOver${OtherDb}.bb" ]; then
     printf "# making chainLiftOver${OtherDb}.bb\n" 1>&2
     ln -s ../trackData/$lastzDir/axtChain/chainLiftOver${OtherDb}.bb $buildDir/bbi/${asmId}.chainLiftOver$OtherDb.bb
     ln -s ../trackData/$lastzDir/axtChain/chainLiftOver${OtherDb}Link.bb $buildDir/bbi/${asmId}.chainLiftOver${OtherDb}Link.bb
     if [ -s "$buildDir/trackData/$lastzDir/bigMaf/${accessionId}.${otherDb}.liftOverNet.bb" ]; then
       ln -s ../trackData/$lastzDir/bigMaf/$accessionId.$otherDb.liftOverNet.bb $buildDir/bbi/${asmId}.$otherDb.liftOverNet.bb
       ln -s ../trackData/$lastzDir/bigMaf/$accessionId.$otherDb.liftOverNet.summary.bb $buildDir/bbi/${asmId}.$otherDb.liftOverNet.summary.bb
     fi
   else
     printf "# there is NO chainLiftOver${OtherDb}.bb\n" 1>&2
   fi
 
+  if [ -s "$buildDir/trackData/$lastzDir/axtChain/${accessionId}.${otherDb}.quick.bb" ]; then
+    printf "# making quickLift/${otherDb}.bb\n" 1>&2
+    ln -s ../trackData/$lastzDir/axtChain/${accessionId}.${otherDb}.quick.bb $buildDir/quickLift/${otherDb}.bb
+    ln -s ../trackData/$lastzDir/axtChain/${accessionId}.${otherDb}.quickLink.bb $buildDir/quickLift/${otherDb}.link.bb
+  else
+    printf "# there is NO chainQuickLift${OtherDb}.bb\n" 1>&2
+  fi
+
   otherPrefix=`echo $otherDb | cut -c1-2`
   if [ "${otherPrefix}" = "GC" ]; then
     sciName=`grep -i 'organism name:' ${asmReport} | head -1 | tr -d "\r" | sed -e 's/.*organism name: *//i; s/ *(.*//;'`
     organism=`grep -i 'organism name:' ${asmReport} | head -1 | tr -d "\r" | sed -e 's/.*organism name: *.*(//i; s/).*//;'`
     taxId=`grep -i 'taxid:' ${asmReport} | head -1 | tr -d "\r" | sed -e 's/.*taxid: *//i;'`
     o_date=`grep -i 'date:' ${asmReport} | head -1 | tr -d "\r" | sed -e 's/.*date: *//i;'`
     matrix=""
     linGap=""
     minScore=""
   else
     organism=`hgsql -N -e "select organism from dbDb where name=\"$otherDb\"" hgcentraltest`
     sciName=`hgsql -N -e "select scientificName from dbDb where name=\"$otherDb\"" hgcentraltest`
     taxId=`hgsql -N -e "select taxId from dbDb where name=\"$otherDb\"" hgcentraltest`
     o_date=`hgsql -N -e "select description from dbDb where name=\"$otherDb\"" hgcentraltest`
     matrix=`~/kent/src/hg/utils/phyloTrees/findScores.pl $otherDb $targetDb 2>&1 | grep matrix`