afee0fcf2a7b7de2eb37e1420dc126607373453e hiram Wed May 27 17:31:45 2020 -0700 rework scripts to allow subset hubs to be created from a list of assemblies refs #23734 diff --git src/hg/makeDb/doc/asmHubs/asmHubs.mk src/hg/makeDb/doc/asmHubs/asmHubs.mk index d1f6fc1..ad54947 100644 --- src/hg/makeDb/doc/asmHubs/asmHubs.mk +++ src/hg/makeDb/doc/asmHubs/asmHubs.mk @@ -1,59 +1,61 @@ # generic makefile to construct the index pages and symlinks -# for any of the assembly hubs: -# primates, mammals, birds, fish, vertebrate +# for any assembly hub # # will be included by those individual build directories with the -# Name and name defined to use here +# following variables defined to customize the resulting files: +# +# destDir, srcDir, orderList, indexName, testIndexName, +# statsName, testStatsName, dataName, testDataName, genomesTxt, hubFile +# testHubFile, Name and name -destDir=/hive/data/genomes/asmHubs/${name} -srcDir=${HOME}/kent/src/hg/makeDb/doc/${name}AsmHub toolsDir=${HOME}/kent/src/hg/makeDb/doc/asmHubs -all:: makeDirs mkGenomes symLinks ${destDir}/hub.txt ${destDir}/groups.txt \ - hubIndex asmStats trackData +all:: makeDirs mkGenomes symLinks hubIndex asmStats trackData hubTxt groupsTxt makeDirs: mkdir -p ${destDir} +mkGenomes:: + ${toolsDir}/mkGenomes.pl ${orderList} > ${destDir}/${genomesTxt}.txt + symLinks:: - ${toolsDir}/mkSymLinks.pl ${Name} ${name} + ${toolsDir}/mkSymLinks.pl ${orderList} hubIndex:: - ${toolsDir}/mkHubIndex.pl ${Name} ${name} ${defaultAssembly} > ${destDir}/index.html - sed -e "s#genome.ucsc.edu/h/#genome-test.gi.ucsc.edu/h/#g; s/hgdownload.soe/hgdownload-test.gi/g; s#/index.html#/testIndex.html#; s#${name}/hub.txt#${name}/testHub.txt#; s/asmStats/testAsmStats/; s#trackData.html#testTrackData.html#;" ${destDir}/index.html > ${destDir}/testIndex.html - chmod +x ${destDir}/index.html ${destDir}/testIndex.html + ${toolsDir}/mkHubIndex.pl ${Name} ${name} ${defaultAssembly} ${orderList} | sed -e 's#asmStats.html#${statsName}.html#; s#trackData.html#${dataName}.html#; s#${name}/hub.txt#${name}/${hubFile}.txt#;' > ${destDir}/${indexName}.html + sed -e "s#genome.ucsc.edu/h/#genome-test.gi.ucsc.edu/h/#g; s/hgdownload.soe/hgdownload-test.gi/g; s#/${indexName}.html#/${testIndexName}.html#; s#${name}/${hubFile}.txt#${name}/${testHubFile}.txt#; s/${statsName}/${testStatsName}/; s#${dataName}.html#${testDataName}.html#;" ${destDir}/${indexName}.html > ${destDir}/${testIndexName}.html + chmod +x ${destDir}/${indexName}.html ${destDir}/${testIndexName}.html asmStats:: - rm -f ${destDir}/asmStats${Name}.html ${destDir}/testAsmStats${Name}.html - ${toolsDir}/mkAsmStats.pl ${Name} ${name} > ${destDir}/asmStats.html - sed -e "s/hgdownload.soe/hgdownload-test.gi/g; s/index.html/testIndex.html/; s#/asmStats#/testAsmStats#; s#trackData.html#testTrackData.html#;" ${destDir}/asmStats.html > ${destDir}/testAsmStats.html - chmod +x ${destDir}/asmStats.html ${destDir}/testAsmStats.html + rm -f ${destDir}/${statsName}.html ${destDir}/${testStatsName}.html + ${toolsDir}/mkAsmStats.pl ${Name} ${name} ${orderList} | sed -e 's#index.html#${indexName}.html#; s#trackData.html#${dataName}.html#;' > ${destDir}/${statsName}.html + sed -e "s/hgdownload.soe/hgdownload-test.gi/g; s/index.html/${testIndexName}.html/; s#/${statsName}#/${testStatsName}#; s#${dataName}.html#${testDataName}.html#;" ${destDir}/${statsName}.html > ${destDir}/${testStatsName}.html + chmod +x ${destDir}/${statsName}.html ${destDir}/${testStatsName}.html # trackData makes different tables for the test vs. production version +# mkHubIndex.pl and mkAsmStats.pl should do this too . . . TBD trackData:: - ${toolsDir}/trackData.pl ${Name} ${name} > ${destDir}/trackData.html - ${toolsDir}/trackData.pl -test ${Name} ${name} > ${destDir}/testTrackData.html - chmod +x ${destDir}/trackData.html - chmod +x ${destDir}/testTrackData.html - -mkGenomes:: - ${toolsDir}/mkGenomes.pl ${Name} ${name} > ${destDir}/genomes.txt - -${destDir}/hub.txt: ${srcDir}/hub.txt - rm -f ${destDir}/hub.txt - cp -p ${srcDir}/hub.txt ${destDir}/hub.txt - sed -e 's/index.html/testIndex.html/;' ${srcDir}/hub.txt > ${destDir}/testHub.txt - -${destDir}/groups.txt: ${toolsDir}/groups.txt + ${toolsDir}/trackData.pl ${Name} ${name} ${orderList} | sed -e 's#index.html#${indexName}.html#; s#asmStats.html#${statsName}.html#;' > ${destDir}/${dataName}.html + ${toolsDir}/trackData.pl -test ${Name} ${name} ${orderList} | sed -e "s#testIndex.html#${testIndexName}.html#; s#testAsmStats.html#${testStatsName}.html#;" > ${destDir}/${testDataName}.html + chmod +x ${destDir}/${dataName}.html + chmod +x ${destDir}/${testDataName}.html + +hubTxt: + rm -f ${destDir}/${hubFile}.txt + sed -e "s#index.html#${indexName}.html#; s#genomes.txt#${genomesTxt}.txt#;" ${srcDir}/hub.txt > ${destDir}/${hubFile}.txt + sed -e 's/index.html/${testIndexName}.html/; s#genomes.txt#${genomesTxt}.txt#;' ${srcDir}/hub.txt > ${destDir}/${testHubFile}.txt + +# all hubs have the same set of groups, no need for any name customization +groupsTxt: rm -f ${destDir}/groups.txt cp -p ${toolsDir}/groups.txt ${destDir}/groups.txt clean:: - rm -f ${destDir}/hub.txt - rm -f ${destDir}/testHub.txt + rm -f ${destDir}/${hubFile}.txt + rm -f ${destDir}/${testHubFile}.txt rm -f ${destDir}/groups.txt - rm -f ${destDir}/genomes.txt - rm -f ${destDir}/index.html - rm -f ${destDir}/testIndex.html - rm -f ${destDir}/asmStats.html - rm -f ${destDir}/testAsmStats.html + rm -f ${destDir}/${genomesTxt}.txt + rm -f ${destDir}/${indexName}.html + rm -f ${destDir}/${testIndexName}.html + rm -f ${destDir}/${statsName}.html + rm -f ${destDir}/${testStatsName}.html