3a103914b717293d5a2723c2306db20a889a31c7 hiram Fri Feb 14 14:47:59 2020 -0800 now with new path names for download access refs #23891 diff --git src/hg/makeDb/doc/asmHubs/mkSymLinks.pl src/hg/makeDb/doc/asmHubs/mkSymLinks.pl index 27b64ec..a20691b 100755 --- src/hg/makeDb/doc/asmHubs/mkSymLinks.pl +++ src/hg/makeDb/doc/asmHubs/mkSymLinks.pl @@ -1,90 +1,102 @@ #!/usr/bin/env perl use strict; use warnings; use File::Basename; my $argc = scalar(@ARGV); if ($argc != 2) { printf STDERR "mkSymLinks Name asmName\n"; printf STDERR "e.g.: mkAsmStats Mammals mammals\n"; exit 255; } my $Name = shift; my $asmHubName = shift; my %betterName; # key is asmId, value is common name my $srcDocDir = "${asmHubName}AsmHub"; my $home = $ENV{'HOME'}; my $toolsDir = "$home/kent/src/hg/makeDb/doc/asmHubs"; my $commonNameList = "$asmHubName.asmId.commonName.tsv"; my $commonNameOrder = "$asmHubName.commonName.asmId.orderList.tsv"; open (FH, "<$toolsDir/${commonNameList}") or die "can not read $toolsDir/${commonNameList}"; while (my $line = ) { + next if ($line =~ m/^#/); chomp $line; my ($asmId, $name) = split('\t', $line); $betterName{$asmId} = $name; } close (FH); my @orderList; # asmId of the assemblies in order from the *.list files # the order to read the different .list files: my $assemblyCount = 0; open (FH, "<$toolsDir/${commonNameOrder}") or die "can not read ${commonNameOrder}"; while (my $line = ) { + next if ($line =~ m/^#/); chomp $line; my ($commonName, $asmId) = split('\t', $line); push @orderList, $asmId; ++$assemblyCount; } close (FH); my $destDir = "/hive/data/genomes/asmHubs"; -my $orderKey = 1; +my $orderIndex = 0; foreach my $asmId (reverse(@orderList)) { + ++$orderIndex; + my ($gcPrefix, $accession, undef) = split('_', $asmId); + my $accessionId = sprintf("%s_%s", $gcPrefix, $accession); + printf STDERR "# %03d symlinks %s\n", $orderIndex, $accessionId; my $accessionDir = substr($asmId, 0 ,3); $accessionDir .= "/" . substr($asmId, 4 ,3); $accessionDir .= "/" . substr($asmId, 7 ,3); $accessionDir .= "/" . substr($asmId, 10 ,3); - $accessionDir .= "/" . $asmId; - $destDir = "/hive/data/genomes/asmHubs/$accessionDir"; - my $buildDir = "/hive/data/genomes/asmHubs/refseqBuild/$accessionDir"; +# $accessionDir .= "/" . $asmId; + my $prevDestDir = "/hive/data/genomes/asmHubs/$accessionDir/$asmId"; + $destDir = "/hive/data/genomes/asmHubs/$accessionDir/$accessionId"; + my $buildDir = "/hive/data/genomes/asmHubs/refseqBuild/$accessionDir/$asmId"; +# printf STDERR "# working '${buildDir}' '${destDir}'\n"; +# printf STDERR "# working '${buildDir}' '${prevDestDir}'\n"; if ( ! -d "${destDir}" ) { `mkdir -p "${destDir}"`; } - printf STDERR "ln -s '${buildDir}' '${destDir}'\n"; + if ( -d "${prevDestDir}" ) { + printf STDERR "# rm -fr '${prevDestDir}'\n"; + `rm -fr "${prevDestDir}"`; + } `rm -f "${destDir}/bbi"`; `rm -f "${destDir}/ixIxx"`; `rm -fr "${destDir}/html"`; `mkdir -p "${destDir}/html"`; - `rm -f "${destDir}/${asmId}.2bit"`; - `rm -f "${destDir}/${asmId}.agp.gz"`; - `rm -f "${destDir}/${asmId}.chrom.sizes"`; - `rm -f "${destDir}/${asmId}_assembly_report.txt"`; - `rm -f "${destDir}/${asmId}.trackDb.txt"`; - `rm -f "${destDir}/${asmId}.genomes.txt"`; - `rm -f "${destDir}/${asmId}.hub.txt"`; - `rm -f "${destDir}/${asmId}.groups.txt"`; - `ln -s "${buildDir}/bbi" "${destDir}/bbi"`; - `ln -s "${buildDir}/ixIxx" "${destDir}/ixIxx"`; - `ln -s ${buildDir}/html/*.html "${destDir}/html/"`; + `rm -f "${destDir}/${accessionId}.2bit"`; + `rm -f "${destDir}/${accessionId}.agp.gz"`; + `rm -f "${destDir}/${accessionId}.chrom.sizes"`; + `rm -f "${destDir}/${accessionId}_assembly_report.txt"`; + `rm -f "${destDir}/trackDb.txt"`; + `rm -f "${destDir}/genomes.txt"`; + `rm -f "${destDir}/hub.txt"`; + `rm -f "${destDir}/groups.txt"`; + `ln -s "${buildDir}/bbi" "${destDir}/bbi"` if (-d "${buildDir}/bbi"); + `ln -s "${buildDir}/ixIxx" "${destDir}/ixIxx"` if (-d "${buildDir}/ixIxx"); + `ln -s ${buildDir}/html/*.html "${destDir}/html/"` if (-d "${buildDir}/html"); my $jpgFiles =`ls ${buildDir}/html/*.jpg 2> /dev/null | wc -l`; chomp $jpgFiles; if ($jpgFiles > 0) { `rm -f ${destDir}/html/*.jpg`; `ln -s ${buildDir}/html/*.jpg "${destDir}/html/"`; } # `ln -s ${buildDir}/html/*.png "${destDir}/genomes/${asmId}/html/"`; - `ln -s "${buildDir}/${asmId}.2bit" "${destDir}/"`; - `ln -s "${buildDir}/${asmId}.agp.gz" "${destDir}/"`; - `ln -s "${buildDir}/${asmId}.chrom.sizes" "${destDir}/"`; - `ln -s "${buildDir}/download/${asmId}_assembly_report.txt" "${destDir}/"`; - `ln -s "${buildDir}/${asmId}.trackDb.txt" "${destDir}/"`; - `ln -s "${buildDir}/${asmId}.genomes.txt" "${destDir}/"`; - `ln -s "${buildDir}/${asmId}.hub.txt" "${destDir}/"`; - `ln -s "${buildDir}/${asmId}.groups.txt" "${destDir}/"`; + `ln -s "${buildDir}/${asmId}.2bit" "${destDir}/${accessionId}.2bit"` if (-s "${buildDir}/${asmId}.2bit"); + `ln -s "${buildDir}/${asmId}.agp.gz" "${destDir}/${accessionId}.agp.gz"` if (-s "${buildDir}/${asmId}.agp.gz"); + `ln -s "${buildDir}/${asmId}.chrom.sizes" "${destDir}/${accessionId}.chrom.sizes"` if (-s "${buildDir}/${asmId}.chrom.sizes"); + `ln -s "${buildDir}/download/${asmId}_assembly_report.txt" "${destDir}/${accessionId}_assembly_report.txt"` if (-s "${buildDir}/${asmId}_assembly_report.txt"); + `ln -s "${buildDir}/${asmId}.trackDb.txt" "${destDir}/trackDb.txt"` if (-s "${buildDir}/${asmId}.trackDb.txt"); + `ln -s "${buildDir}/${asmId}.genomes.txt" "${destDir}/genomes.txt"` if (-s "${buildDir}/${asmId}.genomes.txt"); + `ln -s "${buildDir}/${asmId}.hub.txt" "${destDir}/hub.txt"` if (-s "${buildDir}/${asmId}.hub.txt"); + `ln -s "${buildDir}/${asmId}.groups.txt" "${destDir}/groups.txt"` if (-s "${buildDir}/${asmId}.groups.txt"); }