d937f06fd5b42ae4621cd7d6bf0d048ab2863a41 hiram Wed Aug 12 16:14:10 2026 -0700 fixups per code review refs #38005 diff --git src/hg/utils/automation/doNcbiGene.pl src/hg/utils/automation/doNcbiGene.pl index 03884e5e025..f73bae4924a 100755 --- src/hg/utils/automation/doNcbiGene.pl +++ src/hg/utils/automation/doNcbiGene.pl @@ -21,31 +21,30 @@ $opt_buildDir $opt_assemblySource $opt_chromSizes $opt_namesFile $opt_liftFile /; # Specify the steps supported with -continue / -stop: my $stepper = new HgStepManager( [ { name => 'ncbiGene', func => \&doNcbiGene }, { name => 'cleanup', func => \&doCleanup }, ] ); # Option defaults: -my $dbHost = 'hgwdev'; my $workhorse = 'hgwdev'; my $defaultWorkhorse = 'hgwdev'; my $defaultFileServer = 'hgwdev'; my $fileServer = 'hgwdev'; my $base = $0; $base =~ s/^(.*\/)?//; sub usage { my ($status, $detailed) = @_; print STDERR " usage: $base [options] asmId db required arguments: asmId - assembly identifier at NCBI, e.g. GCF_000001405.32_GRCh38.p6 -- used to locate the @@ -60,32 +59,31 @@ print STDERR <<_EOF_ -buildDir dir Use dir instead of default (current directory). This *is* the runDir -- typically the hub's trackData/ncbiGene -- no further nesting is added. -assemblySource dir Directory holding \${asmId}_genomic.gff.gz. -chromSizes path Path to the assembly's chrom.sizes file. -namesFile path Path to the hub's \$db.names.tab (built by the gatewayPage step), e.g. \$buildDir/../../html/\$db.names.tab -- used for the archived-version description page. -liftFile path Optional lift file translating NCBI names to UCSC names, e.g. \$buildDir/../../sequence/\$asmId.ncbiToUcsc.lift _EOF_ ; - print STDERR &HgAutomate::getCommonOptionHelp('dbHost' => $dbHost, - 'workhorse' => $defaultWorkhorse, + print STDERR &HgAutomate::getCommonOptionHelp('workhorse' => $defaultWorkhorse, 'fileServer' => $defaultFileServer); print STDERR " Automates construction of the 'ncbiGene' track from an assembly's own NCBI GFF3 gene predictions, for assembly hub (GenArk) builds. Steps: ncbiGene: if a previous \$db.ncbiGene.bb exists and the source gff is newer, translate the current gff3 into a bigGenePred track, building it entirely under *.new file names so the existing live track is never touched while the build might still fail. Only once that build has fully succeeded is the previous version archived under archive// (keyed by the previous build's own gff-derived mtime) and the new *.new files promoted into place. cleanup: compress intermediate files "; print "\n"; @@ -99,31 +97,30 @@ sub checkOptions { my $ok = GetOptions(@HgStepManager::optionSpec, 'buildDir=s', 'assemblySource=s', 'chromSizes=s', 'namesFile=s', 'liftFile=s', @HgAutomate::commonOptionSpec, ); &usage(1) if (!$ok); &usage(0, 1) if ($opt_help); &HgAutomate::processCommonOptions(); my $err = $stepper->processOptions(); usage(1) if ($err); - $dbHost = $opt_dbHost if ($opt_dbHost); $workhorse = $opt_workhorse if ($opt_workhorse); $fileServer = $opt_fileServer if ($opt_fileServer); } # same mtime-compare doAssemblyHub.pl has used all along sub needsUpdate($$) { my ($source, $result) = @_; if (-s $result) { return (stat($source)->mtime > stat($result)->mtime) ? 1 : 0; } return 1; } ######################################################################### # archive whatever the previous build left behind, keyed by the date