e69db257480ddc4aae24ca6ae0130c9450abc362 hiram Mon Oct 28 14:07:47 2024 -0700 do not use /dev/shm as a temporary directory refs #34685 diff --git src/hg/utils/automation/doSimpleRepeat.pl src/hg/utils/automation/doSimpleRepeat.pl index 450d001..bc4cdca 100755 --- src/hg/utils/automation/doSimpleRepeat.pl +++ src/hg/utils/automation/doSimpleRepeat.pl @@ -165,40 +165,32 @@ my $fh = &HgAutomate::mustOpen(">$runDir/TrfRun.csh"); print $fh <<_EOF_ #!/bin/csh -ef set finalOut = \$1 set inLst = \$finalOut:r set inLft = \$inLst:r.lft unsetenv TMPDIR if ( -d "/data/tmp" ) then setenv TMPDIR "/data/tmp" else if ( -d "/scratch/tmp" ) then setenv TMPDIR "/scratch/tmp" 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 $HgAutomate::setMachtype # Use local disk for output, and move the final result to \$finalOut # when done, to minimize I/O. set tmpDir = `mktemp -d -p \$TMPDIR doSimpleRepeat.cluster.XXXXXX` pushd \$tmpDir foreach spec (`cat \$inLst`) # Remove path and .2bit filename to get just the seq:start-end spec: set base = `echo \$spec | sed -r -e 's/^[^:]+://'` # If \$spec is the whole sequence, twoBitToFa removes the :start-end part, # which causes liftUp to barf later. So tweak the header back to # seq:start-end for liftUp's sake: twoBitToFa \$spec stdout \\ @@ -309,40 +301,32 @@ my $trf409Option = ""; my $trfCmd = "trf"; if ($trf409 ne 0) { $trf409Option = "-l=$trf409"; $trfCmd = "trf.4.09"; } my $tmpDir = &HgAutomate::tmpDir(); $bossScript->add(<<_EOF_ $HgAutomate::setMachtype unsetenv TMPDIR if ( -d "/data/tmp" ) then setenv TMPDIR "/data/tmp" else if ( -d "/scratch/tmp" ) then setenv TMPDIR "/scratch/tmp" 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 $trf409Option -trf=$clusterBin/$trfCmd \\ stdin /dev/null -bedAt=simpleRepeat.bed -tempDir=\$TMPDIR _EOF_ ); $bossScript->execute(); } # doSingle sub doTrf { if ($useCluster) { &doCluster(); } else { &doSingle(); } } # doTrf