c6c34d96e660ffad5ca588f14a461c1da30b0e46 hiram Fri Jan 20 10:25:10 2023 -0800 correctly link in lift over chain files to download liftOver directory refs #30517 diff --git src/hg/utils/automation/asmHubChainNetTrackDb.pl src/hg/utils/automation/asmHubChainNetTrackDb.pl index e6e8402..9d9a1f0 100755 --- src/hg/utils/automation/asmHubChainNetTrackDb.pl +++ src/hg/utils/automation/asmHubChainNetTrackDb.pl @@ -11,32 +11,37 @@ printf STDERR "usage: asmHubChainNetTrackDb.pl \n"; printf STDERR "expecting to find directories: buildDir/trackData/lastz.*/\n"; printf STDERR "where each /lastz.*/ directory is one completed lastz/chainNet\n"; printf STDERR "and basename(buildDir) is the 'target' sequence name\n"; exit 255; } my $argc = scalar(@ARGV); if ($argc != 1) { usage; } my $buildDir = shift; my $targetDb = basename($buildDir); +my @tParts = split('_', $targetDb); +my $targetAccession = "$tParts[0]_$tParts[1]"; my @queryList; +`mkdir -p $buildDir/bbi`; +`mkdir -p $buildDir/liftOver`; + open (DL, "ls -d $buildDir/trackData/lastz.*|") or die "can not list $buildDir/trackData/lastz.*"; while (my $lastzDir =
) { chomp $lastzDir; my $queryDb = basename($lastzDir); $queryDb =~ s/lastz.//; push @queryList, $queryDb; } close (DL); # foreach my $queryDb (@queryList) { # printf STDERR "%s vs. %s\n", $queryDb, $targetDb; # } ##### begin trackDb output ###### printf "track %sChainNet\n", $targetDb; @@ -65,32 +70,41 @@ printf "html html/%s.chainNet\n", $targetDb; printf " track %sChainNetViewchain shortLabel Chains view chain visibility pack subTrack %sChainNet spectrum on ", $targetDb, $targetDb; $N = 0; my $chainNetPriority = 1; foreach my $queryDb (@queryList) { my $QueryDb = ucfirst($queryDb); + my $overChain="${targetAccession}.${queryDb}.over.chain.gz"; + my $overToChain="${targetAccession}To${QueryDb}.over.chain.gz"; + my $lastzDir="lastz.$queryDb"; `rm -f $buildDir/bbi/$targetDb.chain${QueryDb}.bb`; `rm -f $buildDir/bbi/$targetDb.chain${QueryDb}Link.bb`; + `rm -f $buildDir/liftOver/${overToChain}`; + if ( -s "$buildDir/trackData/$lastzDir/axtChain/${overChain}" ) { + `ln -s ../trackData/$lastzDir/axtChain/${overChain} $buildDir/liftOver/${overToChain}`; + } else { + printf STDERR "# NOT FOUND: '%s'\n", "$buildDir/trackData/$lastzDir/axtChain/${overChain}"; + } `ln -s ../trackData/lastz.$queryDb/axtChain/chain${QueryDb}.bb $buildDir/bbi/$targetDb.chain${QueryDb}.bb`; `ln -s ../trackData/lastz.$queryDb/axtChain/chain${QueryDb}Link.bb $buildDir/bbi/$targetDb.chain${QueryDb}Link.bb`; my $queryDate = "some date"; my $queryAsmName = ""; if ( $queryDb !~ m/^GC/ ) { $queryDate = `hgsql -N -e 'select description from dbDb where name="$queryDb"' hgcentraltest | sed -e 's/ (.*//;'`; chomp $queryDate; } else { ($queryDate, $queryAsmName) = &HgAutomate::hubDateName($queryDb); } printf " track chain%s subTrack %sChainNetViewchain off subGroups view=chain species=s%03d clade=c00 shortLabel %s Chain