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