89cf9546eeccf2c5d1d519943114bf86bf280306 hiram Mon May 17 12:50:23 2021 -0700 better location for download files for assembly hub results no redmine diff --git src/hg/utils/automation/doBlastzChainNet.pl src/hg/utils/automation/doBlastzChainNet.pl index b48cadd..536ed63 100755 --- src/hg/utils/automation/doBlastzChainNet.pl +++ src/hg/utils/automation/doBlastzChainNet.pl @@ -1638,30 +1638,31 @@ return if ($opt_skipDownload); &installDownloads(); } sub cleanup { # Remove intermediate files. my $runDir = $buildDir; my $outRoot = $opt_blastzOutRoot ? "$opt_blastzOutRoot/psl" : "$buildDir/psl"; my $rootCanal = ($opt_blastzOutRoot ? "rmdir --ignore-fail-on-non-empty $opt_blastzOutRoot" : ''); my $doSymLink = 0; my $baseName = basename($buildDir); my $dirName = dirname($buildDir); $doSymLink = 1 if ($dirName =~ m#.*/$tDb/bed$#); + $doSymLink = 1 if ($dirName =~ m#.*/trackData$#); my $whatItDoes = "It cleans up files after a successful blastz/chain/net/install series. It uses rm -f so failures should be ignored (e.g. if a partial cleanup has already been performed)."; my $bossScript = new HgRemoteScript("$buildDir/cleanUp.csh", $fileServer, $runDir, $whatItDoes, $DEF); $bossScript->add(<<_EOF_ rm -fr $outRoot/ $rootCanal rm -fr $buildDir/axtChain/run/chain/ rm -fr $buildDir/axtChain/run/err/ rm -fr $buildDir/run.blastz/err/ # avoid no-match error exit when *.2bit does not exist /bin/csh -c "rm -fr $buildDir/run.blastz/tParts/*.2bit || true" /bin/csh -c "rm -fr $buildDir/run.blastz/qParts/*.2bit || true" @@ -1701,60 +1702,64 @@ } my $runDir = "$buildDir/axtChain"; # First, make sure we're starting clean. my $successDir = "$buildDir/mafSynNet"; if (-e $successDir) { die "doSyntenicNet: looks like this was run successfully already " . "($successDir). To re-run, " . "move aside/remove $successDir and run again.\n"; } # Make sure previous stage was successful. my $successFile = "$runDir/$tDb.$qDb.net.gz"; if (! -e "$successFile" && ! $opt_debug) { die "doSyntenicNet: looks like previous stage was not successful " . "(can't find $successFile).\n"; } + my $goldenPath = $HgAutomate::goldenPath; + if ($tDb =~ m/^GC/) { + $goldenPath = &HgAutomate::asmHubDownloadDir($tDb); + } my $bossScript = new HgRemoteScript("$runDir/netSynteny.csh", $workhorse, $runDir, $whatItDoes, $DEF); if ($opt_loadChainSplit && $splitRef) { $bossScript->add(<<_EOF_ # filter net for synteny and create syntenic net mafs netFilter -syn $tDb.$qDb.net.gz \\ | netSplit stdin synNet chainSplit chain $tDb.$qDb.all.chain.gz cd .. mkdir -p $successDir foreach f (axtChain/synNet/*.net) netToAxt \$f axtChain/chain/\$f:t:r.chain \\ $defVars{'SEQ1_DIR'} $defVars{'SEQ2_DIR'} stdout \\ | axtSort stdin stdout \\ | axtToMaf -tPrefix=$tDb. -qPrefix=$qDb. stdin \\ $defVars{SEQ1_LEN} $defVars{SEQ2_LEN} \\ stdout \\ | gzip -c > mafSynNet/\$f:t:r:r:r:r:r.maf.gz end rm -fr $runDir/synNet rm -fr $runDir/chain cd mafSynNet md5sum *.maf.gz > md5sum.txt _EOF_ ); if (! $opt_skipDownload) { $bossScript->add(<<_EOF_ -mkdir -p $HgAutomate::goldenPath/$tDb/vs$QDb/mafSynNet -cd $HgAutomate::goldenPath/$tDb/vs$QDb/mafSynNet +mkdir -p $goldenPath/$tDb/vs$QDb/mafSynNet +cd $goldenPath/$tDb/vs$QDb/mafSynNet ln -s $buildDir/mafSynNet/* . _EOF_ ); } } else { # scaffold-based assembly # filter net for synteny and create syntenic net mafs $bossScript->add(<<_EOF_ netFilter -syn $tDb.$qDb.net.gz | gzip -c > $tDb.$qDb.syn.net.gz netChainSubset -verbose=0 $tDb.$qDb.syn.net.gz $tDb.$qDb.all.chain.gz stdout \\ | chainStitchId stdin stdout | gzip -c > $tDb.$qDb.syn.chain.gz _EOF_ ); if (! $opt_trackHub && $dbExists) { @@ -1826,33 +1831,35 @@ ../axtChain/$tDb.$qDb.synNet.maf.gz cut -f2- $tDb.$qDb.synNet.summary.tab | sort -k1,1 -k2,2n \\ > $tDb.$qDb.synNet.summary.bed bedToBigBed -type=bed3+4 -as=mafSummary.as -tab \\ $tDb.$qDb.synNet.summary.bed \\ $defVars{SEQ1_LEN} $tDb.$qDb.synNet.summary.bb rm -f $tDb.$qDb.synNet.txt $tDb.$qDb.synNet.summary.tab \\ $tDb.$qDb.synNet.summary.bed endif _EOF_ ); } if (! $opt_skipDownload) { $bossScript->add(<<_EOF_ -mkdir -p $HgAutomate::goldenPath/$tDb/vs$QDb -cd $HgAutomate::goldenPath/$tDb/vs$QDb +mkdir -p $goldenPath/$tDb/vs$QDb +cd $goldenPath/$tDb/vs$QDb if (-s $runDir/synNet.md5sum.txt ) then + rm -f $tDb.$qDb.syn.net.gz + rm -f $tDb.$qDb.synNet.maf.gz ln -s $runDir/$tDb.$qDb.syn.net.gz . ln -s $runDir/$tDb.$qDb.synNet.maf.gz . cat $runDir/synNet.md5sum.txt >> md5sum.txt sort -u md5sum.txt > tmp.sum cat tmp.sum > md5sum.txt rm -f tmp.sum endif _EOF_ ); } if (! $opt_trackHub && $dbExists) { $bossScript->add(<<_EOF_ cd "$buildDir" if (\$lineCount > 0) then