6359c2dd09c8520e2a03b14d916f1f23deac63ed
hiram
  Fri Sep 11 09:55:28 2026 -0700
correct reference to the mergeTrf script refs #38321

diff --git src/hg/utils/automation/doSimpleRepeat.pl src/hg/utils/automation/doSimpleRepeat.pl
index 1cf4ef1790f..ac6dba532b5 100755
--- src/hg/utils/automation/doSimpleRepeat.pl
+++ src/hg/utils/automation/doSimpleRepeat.pl
@@ -8,30 +8,31 @@
 use Getopt::Long;
 use warnings;
 use strict;
 use Carp;
 use FindBin qw($Bin);
 use lib "$Bin";
 use HgAutomate;
 use HgRemoteScript;
 use HgStepManager;
 
 # Hardcoded (for now):
 my $chunkSize = 50000000;	# will be readjusted if seqCount > 100000
 my $trfChunkSize = 500000;	# new argument to trfBig Sept 2026
 my $singleRunSize = 200000000;
 my $clusterBin = qw(/cluster/bin/$MACHTYPE);
+my $clusterScripts = qw(/cluster/bin/scripts);
 
 # Option variable names, both common and peculiar to this script:
 use vars @HgAutomate::commonOptionVars;
 use vars @HgStepManager::optionVars;
 use vars qw/
     $opt_buildDir
     $opt_unmaskedSeq
     $opt_trf409
     /;
 
 # Specify the steps supported with -continue / -stop:
 my $stepper = new HgStepManager(
     [ { name => 'trf',     func => \&doTrf },
       { name => 'filter',  func => \&doFilter },
       { name => 'load',    func => \&doLoad },
@@ -328,31 +329,31 @@
 else
   set tmpSz = `df --output=avail -k /tmp | tail -1`
   set shmSz = `df --output=avail -k /dev/shm | tail -1`
   if ( "\${shmSz}" > "\${tmpSz}" ) then
      mkdir -p /dev/shm/tmp
      chmod 777 /dev/shm/tmp
      setenv TMPDIR "/dev/shm/tmp"
   else
      setenv TMPDIR "/tmp"
   endif
 endif
 twoBitToFa $unmaskedSeq stdout \\
 | $clusterBin/trfBig -chunkMaxSize=$trfChunkSize $trf409Option -trf=$clusterBin/$trfCmd \\
       stdin /dev/null -bedAt=simpleRepeat.bed -tempDir=\$TMPDIR
 if ( -s simpleRepeat.bed ) then
-  $clusterBin/mergeTrf simpleRepeat.bed > simpleRepeat.merge.bed
+  $clusterScripts/mergeTrf.py simpleRepeat.bed > simpleRepeat.merge.bed
 else
   touch -r simpleRepeat.bed simpleRepeat.merge.bed
 endif
 _EOF_
   );
   $bossScript->execute();
 } # doSingle
 
 sub doTrf {
   if ($useCluster) {
     &doCluster();
   } else {
     &doSingle();
   }
 } # doTrf
@@ -379,31 +380,31 @@
   my $fileServer = &HgAutomate::chooseFileServer($runDir);
   my $bossScript = new HgRemoteScript("$runDir/doFilter.csh", $fileServer,
 				      $runDir, $whatItDoes);
 
   # Use symbolic link created in cluster step:
   my $partDir = "$buildDir/TrfPart";
   if ($useCluster) {
     $bossScript->add(<<_EOF_
 find $partDir/??? -type f | grep lst.bed | xargs cat > simpleRepeat.bed
 endsInLf simpleRepeat.bed
 if (\$status) then
   echo Uh-oh -- simpleRepeat.bed fails endsInLf.  Look at $partDir/ bed files.
   exit 1
 endif
 if ( -s simpleRepeat.bed ) then
-  $clusterBin/mergeTrf simpleRepeat.bed > simpleRepeat.merge.bed
+  $clusterScripts/mergeTrf.py simpleRepeat.bed > simpleRepeat.merge.bed
 else
   touch -r simpleRepeat.bed simpleRepeat.merge.bed
 endif
 _EOF_
     );
   }
   $bossScript->add(<<_EOF_
 if ( -s simpleRepeat.merge.bed ) then
   awk '{if (\$5 <= 12) print;}' simpleRepeat.merge.bed > trfMask.bed
   awk 'BEGIN{OFS="\\t"}{name=substr(\$16,0,16);\$4=name;printf "%s\\n", \$0}' \\
     simpleRepeat.merge.bed | sort -k1,1 -k2,2n > simpleRepeat.bed16.bed
   twoBitInfo $unmaskedSeq stdout | sort -k2nr > tmp.chrom.sizes
   bedToBigBed -tab -type=bed4+12 -as=\$HOME/kent/src/hg/lib/simpleRepeat.as \\
     simpleRepeat.bed16.bed tmp.chrom.sizes simpleRepeat.bb
   rm -f tmp.chrom.sizes simpleRepeat.bed16.bed