9b374bee5ec4240f3e95f1cf6167230682fa5940
hiram
  Fri Dec 22 21:34:59 2023 -0800
accomodate previous versions of ensGene track no redmine

diff --git src/hg/utils/automation/asmHubTrackDb.sh src/hg/utils/automation/asmHubTrackDb.sh
index da9206a..62d0cc9 100755
--- src/hg/utils/automation/asmHubTrackDb.sh
+++ src/hg/utils/automation/asmHubTrackDb.sh
@@ -780,80 +780,98 @@
 type bigGenePred
 bigDataUrl bbi/%s.xenoRefGene.bb
 url https://www.ncbi.nlm.nih.gov/nuccore/\$\$
 urlLabel NCBI Nucleotide database:
 labelFields name,geneName,geneName2
 defaultLabelFields geneName
 searchIndex name
 searchTrix ixIxx/%s.xenoRefGene.ix
 html html/%s.xenoRefGene\n\n" "${asmId}" "${asmId}" "${asmId}"
 $scriptDir/asmHubXenoRefGene.pl $asmId $buildDir/html/$asmId.names.tab $buildDir/trackData > $buildDir/html/$asmId.xenoRefGene.html
 fi
 
 ###################################################################
 # Ensembl genes
 if [ -s ${buildDir}/trackData/ensGene/bbi/${asmId}.ensGene.bb ]; then
+export oldStyle=`bigBedInfo ${buildDir}/trackData/ensGene/bbi/${asmId}.ensGene.bb | grep -c "fieldCount: 12"`
 rm -f ${buildDir}/bbi/${asmId}.ensGene.bb
 ln -s ../trackData/ensGene/bbi/${asmId}.ensGene.bb ${buildDir}/bbi/${asmId}.ensGene.bb
 rm -f ${buildDir}/ixIxx/${asmId}.ensGene.ix
 rm -f ${buildDir}/ixIxx/${asmId}.ensGene.ixx
 rm -f ${buildDir}/genes/${asmId}.ensGene.*.gtf.gz
 export gtfGz=`ls ${buildDir}/trackData/ensGene/${asmId}.ensGene.*.gtf.gz`
-if [ -s ${gtfGz} ]; then
+if [ -s "${gtfGz}" ]; then
     mkdir -p ${buildDir}/genes
     bName=`basename "${gtfGz}"`
    ln -s ../trackData/ensGene/${bName} ${buildDir}/genes/${bName}
 fi
 
 ### if we had more than one index, but no, we are using ixIxx files
 # export indexList=`bigBedInfo -extraIndex ${buildDir}/bbi/${asmId}.ensGene.bb | grep -w field | grep -w with | awk '{print $1}' | xargs echo | tr ' ' ','`
 
 export indexList="name"
 
 # optional ix/ixx files, this string used in the trackDb stanza below
 export searchTrix=""
 if [ -s "${buildDir}/trackData/ensGene/${asmId}.ensGene.ix" ]; then
   ln -s ../trackData/ensGene/${asmId}.ensGene.ix $buildDir/ixIxx/${asmId}.ensGene.ix
   ln -s ../trackData/ensGene/${asmId}.ensGene.ixx $buildDir/ixIxx/${asmId}.ensGene.ixx
       searchTrix="
 searchTrix ixIxx/${asmId}.ensGene.ix"
     fi
 
 export ensVersion="v86"
 
 if [ -s ${buildDir}/trackData/ensGene/version.txt ]; then
   ensVersion=`cat "${buildDir}/trackData/ensGene/version.txt"`
 fi
 
 
+if [ ${oldStyle} -eq 1 ]; then
+  printf "track ensGene
+shortLabel Ensembl genes
+longLabel Ensembl genes %s
+group genes
+priority 40
+visibility pack
+color 150,0,0
+itemRgb on
+type bigBed 12 .
+bigDataUrl bbi/%s.ensGene.bb%s
+searchIndex %s
+baseColorUseCds given
+baseColorDefault genomicCodons
+html html/%s.ensGene\n\n" "${ensVersion}" "${asmId}" "${searchTrix}" "${indexList}" "${asmId}"
+else
   printf "track ensGene
 shortLabel Ensembl genes
 longLabel Ensembl genes %s
 group genes
 priority 40
 visibility pack
 color 150,0,0
 itemRgb on
 type bigGenePred
 bigDataUrl bbi/%s.ensGene.bb%s
 searchIndex %s
 labelFields name,name2
 defaultLabelFields name2
 baseColorUseCds given
 baseColorDefault genomicCodons
 labelSeperator \" \"
 html html/%s.ensGene\n\n" "${ensVersion}" "${asmId}" "${searchTrix}" "${indexList}" "${asmId}"
+fi
 
 $scriptDir/asmHubEnsGene.pl $asmId $buildDir/html/$asmId.names.tab $buildDir/bbi/$asmId > $buildDir/html/$asmId.ensGene.html "${ensVersion}"
 
 else
   printf "# no ensGene found\n" 1>&2
 fi
 
 ###################################################################
 # Ensembl/ebiGene for HPRC project
 if [ -d ${buildDir}/trackData/ebiGene ]; then
  export ebiGeneBb=`ls ${buildDir}/trackData/ebiGene/*.bb 2> /dev/null || true | head -1`
  if [ -s "${ebiGeneBb}" ]; then
     export ebiGeneLink=`echo $ebiGeneBb | sed -e 's#.*trackData#../trackData#;'`
     rm -f ${buildDir}/bbi/${asmId}.ebiGene.bb
     ln -s $ebiGeneLink ${buildDir}/bbi/${asmId}.ebiGene.bb