2cf4774648ff468f2c26ddab4a2b1c24294f40ee hiram Mon Aug 3 16:27:49 2026 -0700 and symLink out the archive/ncbiGene to the hgdownload staging refs #37958 diff --git src/hg/makeDb/doc/asmHubs/mkSymLinks.pl src/hg/makeDb/doc/asmHubs/mkSymLinks.pl index e8e9e080f28..604760b05ea 100755 --- src/hg/makeDb/doc/asmHubs/mkSymLinks.pl +++ src/hg/makeDb/doc/asmHubs/mkSymLinks.pl @@ -137,30 +137,31 @@ `rm -f "${destDir}/${accessionId}_assembly_report.txt"`; `rm -f "${destDir}/${accessionId}.rmsk.customLib.fa.gz"`; `rm -f "${destDir}/${accessionId}.repeatMasker.out.gz"`; `rm -f "${destDir}/${accessionId}.repeatMasker.version.txt"`; `rm -f "${destDir}/${accessionId}.repeatModeler.version.txt"`; `rm -f "${destDir}/${accessionId}.repeatModeler.families.fa.gz"`; `rm -f "${destDir}/${accessionId}.repeatModeler.families.stk.gz"`; `rm -f "${destDir}/${accessionId}.repeatModeler.out.gz"`; `rm -f "${destDir}/${accessionId}.repeatModeler.2bit"`; `rm -f "${destDir}/${accessionId}.rmod.log.txt"`; `rm -f "${destDir}/${accessionId}.userTrackDb.txt"`; `rm -f "${gbdbDir}/${accessionId}.userTrackDb.txt"`; `rm -f "${destDir}/trackDb.txt"`; `rm -f "${destDir}/genomes.txt"`; `rm -f "${destDir}/download.genomes.txt"`; + `rm -f "${destDir}/archive/ncbiGene"`; `rm -f "${destDir}/hub.txt"`; `rm -f "${gbdbDir}/hub.txt"`; foreach my $hubTxt (@stageHub) { `rm -f "${destDir}/$hubTxt.hub.txt"`; `rm -f "${gbdbDir}/$hubTxt.hub.txt"`; } # it used to be standard practice to have a different hub.txt on genome-test # vs. the hub.txt on hgdownload. They evolved into being identical, but # there may be a case in the future where this function may be required. # Also, the sendDownload script expects to use this download.hub.txt file. `rm -f "${destDir}/download.hub.txt"`; `rm -f "${destDir}/groups.txt"`; `rm -f "${gbdbDir}/groups.txt"`; if (-d "${buildDir}/bbi") { `ln -s "${buildDir}/bbi" "${destDir}/bbi"`; @@ -235,36 +236,38 @@ `ln -s "${buildDir}/${asmId}.chromAlias.bb" "${gbdbDir}/${accessionId}.chromAlias.bb"`; } `ln -s "${buildDir}/${asmId}.rmsk.customLib.fa.gz" "${destDir}/${accessionId}.rmsk.customLib.fa.gz"` if (-s "${buildDir}/${asmId}.rmsk.customLib.fa.gz"); `ln -s "${buildDir}/${asmId}.repeatMasker.out.gz" "${destDir}/${accessionId}.repeatMasker.out.gz"` if (-s "${buildDir}/${asmId}.repeatMasker.out.gz"); `ln -s "${buildDir}/${asmId}.repeatModeler.out.gz" "${destDir}/${accessionId}.repeatModeler.out.gz"` if (-s "${buildDir}/${asmId}.repeatModeler.out.gz"); `ln -s "${buildDir}/${asmId}.repeatMasker.version.txt" "${destDir}/${accessionId}.repeatMasker.version.txt"` if (-s "${buildDir}/${asmId}.repeatMasker.version.txt"); `ln -s "${buildDir}/${asmId}.repeatModeler.version.txt" "${destDir}/${accessionId}.repeatModeler.version.txt"` if (-s "${buildDir}/${asmId}.repeatModeler.version.txt"); `ln -s "${buildDir}/${asmId}.repeatModeler.families.fa.gz" "${destDir}/${accessionId}.repeatModeler.families.fa.gz"` if (-s "${buildDir}/${asmId}.repeatModeler.families.fa.gz"); `ln -s "${buildDir}/${asmId}.repeatModeler.families.stk.gz" "${destDir}/${accessionId}.repeatModeler.families.stk.gz"` if (-s "${buildDir}/${asmId}.repeatModeler.families.stk.gz"); `ln -s "${buildDir}/${asmId}.repeatModeler.2bit" "${destDir}/${accessionId}.repeatModeler.2bit"` if (-s "${buildDir}/${asmId}.repeatModeler.2bit"); `ln -s "${buildDir}/${asmId}.rmod.log.txt" "${destDir}/${accessionId}.rmod.log.txt"` if (-s "${buildDir}/${asmId}.rmod.log.txt"); `ln -s "${buildDir}/download/${asmId}_assembly_report.txt" "${destDir}/${accessionId}_assembly_report.txt"` if (-s "${buildDir}/download/${asmId}_assembly_report.txt"); if (-d "${buildDir}/trackData/ncbiGene/archive") { `mkdir -p "${buildDir}/archive"`; `mkdir -p "${buildDir}/archive/ncbiGene"`; + `mkdir -p "${destDir}/archive"`; foreach my $subDir (grep { -d } glob("${buildDir}/trackData/ncbiGene/archive/20*")) { $subDir =~ s#${buildDir}/##; my $archiveDate = basename(${subDir}); `rm -f "${buildDir}/archive/ncbiGene/${archiveDate}"`; `ln -s "../../${subDir}" "${buildDir}/archive/ncbiGene/"`; } + `ln -s "${buildDir}/archive/ncbiGene" "${destDir}/archive/ncbiGene"`; } # trackDb.txt still needed for use by top-level genomes.txt file `ln -s "${buildDir}/${asmId}.trackDb.txt" "${destDir}/trackDb.txt"` if (-s "${buildDir}/${asmId}.trackDb.txt"); # genomes.txt obsolete now with single file # `ln -s "${buildDir}/${asmId}.genomes.txt" "${destDir}/genomes.txt"` if (-s "${buildDir}/${asmId}.genomes.txt"); `ln -s "${buildDir}/${asmId}.download.genomes.txt" "${destDir}/download.genomes.txt"` if (-s "${buildDir}/${asmId}.download.genomes.txt"); foreach my $hubTxt (@stageHub) { if (-s "${buildDir}/${hubTxt}.hub.txt") { `ln -s "${buildDir}/${hubTxt}.hub.txt" "${destDir}/${hubTxt}.hub.txt"`; `ln -s "${buildDir}/${hubTxt}.hub.txt" "${gbdbDir}/${hubTxt}.hub.txt"`; } } if (-s "${buildDir}/${asmId}.singleFile.hub.txt") { `ln -s "${buildDir}/${asmId}.singleFile.hub.txt" "${destDir}/hub.txt"`; `ln -s "${buildDir}/${asmId}.singleFile.hub.txt" "${gbdbDir}/hub.txt"`;