24c443b10b97e5b1e81df9ee5cb393131e7b873a hiram Wed May 5 11:40:43 2021 -0700 better handling of assembly hub chain net tracks refs #26988 diff --git src/hg/utils/automation/asmHubTrackDb.sh src/hg/utils/automation/asmHubTrackDb.sh index 7e81501..a770611 100755 --- src/hg/utils/automation/asmHubTrackDb.sh +++ src/hg/utils/automation/asmHubTrackDb.sh @@ -1,30 +1,35 @@ #!/bin/bash -set -beEux -o pipefail +set -beEu -o pipefail if [ $# -ne 2 ]; then printf "usage: trackDb.sh <asmId> <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 "the ncbi|ucsc selects the naming scheme\n" 1>&2 exit 255 fi export asmId=$1 export buildDir=$2 export hubLinks="/hive/data/genomes/asmHubs/hubLinks" export accessionId=`echo "$asmId" | awk -F"_" '{printf "%s_%s", $1, $2}'` +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" export scriptDir="$HOME/kent/src/hg/utils/automation" mkdir -p $buildDir/bbi mkdir -p $buildDir/ixIxx # may or may not have a searchTrix for assembly, assume none export searchTrix="" # check to see if there is a searchTrix assembly index if [ -s ${buildDir}/trackData/assemblyGap/${asmId}.assembly.ix ]; then rm -f $buildDir/ixIxx/${asmId}.assembly.ix* ln -s ../trackData/assemblyGap/${asmId}.assembly.ix $buildDir/ixIxx ln -s ../trackData/assemblyGap/${asmId}.assembly.ixx $buildDir/ixIxx searchTrix=" searchTrix ixIxx/${asmId}.assembly.ix" @@ -698,16 +703,30 @@ else printf "# no ensGene found\n" 1>&2 fi if [ -s ${hubLinks}/${asmId}/rnaSeqData/$asmId.trackDb.txt ]; then printf "include rnaSeqData/%s.trackDb.txt\n\n" "${asmId}" fi if [ -s "${buildDir}/$asmId.userTrackDb.txt" ]; then printf "include %s.userTrackDb.txt\n\n" "${accessionId}" fi ################################################################### # check for lastz/chain/net available -# export lz=`ls -d ${buildDir}/trackData/lastz.* 2> /dev/null | wc -l` +export lz=`ls -d ${buildDir}/trackData/lastz.* 2> /dev/null | wc -l` + +if [ "${lz}" -gt 0 ]; then + if [ "${lz}" -eq 1 ]; then + 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 + else + # multiple chainNets here, create composite track, does the symLinks too + ~/kent/src/hg/utils/automation/asmHubChainNetTrackDb.pl $buildDir + fi +fi +