5776ff26d2da71f6cf65909b53a3e9238a522a7e hiram Tue Aug 25 10:30:18 2026 -0700 adding gcOnFly track development refs #35958 diff --git src/hg/utils/automation/doAssemblyHub.pl src/hg/utils/automation/doAssemblyHub.pl index 009da4ce761..785329f0c58 100755 --- src/hg/utils/automation/doAssemblyHub.pl +++ src/hg/utils/automation/doAssemblyHub.pl @@ -139,31 +139,31 @@ 'workhorse' => $workhorse, 'fileServer' => $fileServer, 'bigClusterHub' => $bigClusterHub, 'smallClusterHub' => $smallClusterHub); print STDERR " Automates build of assembly hub. Steps: download: sets up sym link working hierarchy from already mirrored files from NCBI in: $sourceDir/GC[AF]/123/456/789/asmId sequence: establish AGP and 2bit file from NCBI directory assemblyGap: create assembly and gap bigBed files and indexes for assembly track names chromAlias: construct asmId.chromAlias.txt for alias name recognition gatewayPage: create html/asmId.description.html contents cytoBand: create cytoBand track and navigation ideogram - gc5Base: create bigWig file for gc5Base track + gc5Base: create bigWig file for gc5Base track (and gcOnFly 2026-08-25) repeatModeler: optionally, run RepeatModeler to construct custom library for repeatMasker run. Use: -runRepeatModeler to perform this procedure, warning: can take a considerable amount of time (12 to 48 hours or more), and consumes an entire ku cluster node repeatMasker: run repeat masker cluster run and create bigBed files for the composite track categories of repeats simpleRepeat: run trf cluster run and create bigBed file for simple repeats allGaps: calculate all actual real gaps due to N's in sequence, can be more than were specified in the AGP file idKeys: calculate md5sum for each sequence in the assembly to be used to find identical sequences in similar assemblies windowMasker: run windowMasker cluster run, create windowMasker bigBed file and compute intersection with repeatMasker results addMask: combine the higher masking of (windowMasker or repeatMasker) with @@ -1173,40 +1173,48 @@ _EOF_ ); $bossScript->execute(); } # cytoBand ######################################################################### # * step: gc5Base [workhorse] sub doGc5Base { my $runDir = "$buildDir/trackData/gc5Base"; &HgAutomate::mustMkdir($runDir); my $whatItDoes = "construct gc5Base bigWig track data"; my $bossScript = newBash HgRemoteScript("$runDir/doGc5Base.bash", $workhorse, $runDir, $whatItDoes); + # adding gcOnFly 2026-08-25 $bossScript->add(<<_EOF_ export asmId=$defaultName -if [ ../../\$asmId.2bit -nt \$asmId.gc5Base.bw ]; then +if [ ../../\$asmId.2bit -nt \$asmId.gcOnFly.bw ]; then hgGcPercent -wigOut -doGaps -file=stdout -win=5 -verbose=0 test \\ ../../\$asmId.2bit \\ - | gzip -c > \$asmId.wigVarStep.gz + | gzip -c > \$asmId.wigVarStep.gz & + hgGcPercent -wigOut -doGaps -file=stdout -win=50000 -verbose=0 test \\ + ../../\$asmId.2bit \\ + | gzip -c > \$asmId.onFly.wigVarStep.gz + wait wigToBigWig \$asmId.wigVarStep.gz ../../\$asmId.chrom.sizes \$asmId.gc5Base.bw + wigToBigWig \$asmId.onFly.wigVarStep.gz ../../\$asmId.chrom.sizes \$asmId.gcOnFly.bw rm -f \$asmId.wigVarStep.gz + rm -f \$asmId.onFly.wigVarStep.gz touch -r ../../\$asmId.2bit \$asmId.gc5Base.bw + touch -r ../../\$asmId.2bit \$asmId.gcOnFly.bw else printf "# gc5Base step previously completed\\n" 1>&2 exit 0 fi _EOF_ ); $bossScript->execute(); } # gc5Base ######################################################################### # * step: repeatModeler [workhorse, bigClusterHub] sub doRepeatModeler { if (! $runRepeatModeler) { &HgAutomate::verbose(1, "# RepeatModeler not being run, add argument: -runRepeatModeler to run this step before RepeatMasker\n"); return;