8149f2d63d04238813b626ab194b45eeaa91e32f hiram Tue Sep 29 15:20:22 2026 -0700 fixup swap directory recognition refs #34360 diff --git src/hg/utils/automation/asmHubMiniMap2ChainNetComposite.pl src/hg/utils/automation/asmHubMiniMap2ChainNetComposite.pl index 92fbce829e5..9ab906bc525 100755 --- src/hg/utils/automation/asmHubMiniMap2ChainNetComposite.pl +++ src/hg/utils/automation/asmHubMiniMap2ChainNetComposite.pl @@ -46,30 +46,35 @@ sub queryDbFromQDb($) { my ($qDb) = @_; return $qDb if ($qDb =~ m/^GC/); return lcfirst($qDb); } my %queryDates; # key is asmId, value is assembly date my %queryCommonName; # key is asmId, value is assembly common name my %querySubmitter; # key is asmId, value is assembly submitter my %fbStats; # key is asmId, value is featureBits measure for chains my %loStats; # key is asmId, value is featureBits measure for lift over open (TD, "ls -d ${targetBuildDir}/trackData/miniMap2.*|") or die "can not ls -d ${targetBuildDir}/trackData/miniMap2.*"; while (my $mm2Dir = ) { chomp $mm2Dir; + # a -swap run's default swapDir is itself named 'miniMap2..swap', + # which also matches this glob alongside its own dateless symlink + # 'miniMap2.' -- skip that real *.swap work directory so this + # query genome is only processed once, via its dateless symlink. + next if ($mm2Dir =~ m/\.swap$/); my $Qdb = basename($mm2Dir); # the hubDateName will translate the accessionId into an asmId # side effect it also returns the date my $accession = &queryDbFromQDb($Qdb); my ($qDate, $qAsmName) = &HgAutomate::hubDateName($accession); my $qAsmId = "${accession}"; if ($accession =~ m/^GC/) { $qAsmId = "${accession}${qAsmName}"; } $queryDates{$qAsmId} = $qDate; my ($qCommonName, undef, $qSubmitter) = &HgAutomate::getAssemblyInfo($dbHost, $qAsmId); $queryCommonName{$qAsmId} = $qCommonName; $querySubmitter{$qAsmId} = $qSubmitter; my $fbTxt = `ls ${targetBuildDir}/trackData/miniMap2.${Qdb}/fb.*chain${Qdb}Link.txt 2> /dev/null`; chomp $fbTxt;