2593dae2a2f67c1a98c81a35a92a47cadaed33d7
hiram
  Mon Aug 3 16:17:12 2026 -0700
getting the ncbiGene/archive out refs #37958

diff --git src/hg/makeDb/doc/asmHubs/mkSymLinks.pl src/hg/makeDb/doc/asmHubs/mkSymLinks.pl
index a2f92103742..e8e9e080f28 100755
--- src/hg/makeDb/doc/asmHubs/mkSymLinks.pl
+++ src/hg/makeDb/doc/asmHubs/mkSymLinks.pl
@@ -232,30 +232,40 @@
    }
    if (-s "${buildDir}/${asmId}.chromAlias.bb") {
      `ln -s "${buildDir}/${asmId}.chromAlias.bb" "${destDir}/${accessionId}.chromAlias.bb"`;
      `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"`;
+      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/"`;
+      }
+   }
   # 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"`;
     `ln -s "${buildDir}/${asmId}.download.hub.txt" "${destDir}/download.hub.txt"` if (-s "${buildDir}/${asmId}.download.hub.txt");