fa70926eb39b233849ef2a1f0e36f4ed264dc832 angie Fri Aug 26 11:55:24 2022 -0700 Bump up maxMissing, sometimes there are just a ton. diff --git src/hg/utils/otto/sarscov2phylo/gbMetadataAddBioSample.pl src/hg/utils/otto/sarscov2phylo/gbMetadataAddBioSample.pl index 4e0fc6a..88dca79 100755 --- src/hg/utils/otto/sarscov2phylo/gbMetadataAddBioSample.pl +++ src/hg/utils/otto/sarscov2phylo/gbMetadataAddBioSample.pl @@ -42,54 +42,55 @@ open(my $BIOSAMPLE, "<$biosampleFile") || die "Can't open $biosampleFile: %!\n"; my %b2Name = (); my %b2Date = (); my %b2Country = (); while (<$BIOSAMPLE>) { my (undef, $bAcc, $name, $date, undef, undef, $country) = split("\t"); $b2Name{$bAcc} = $name; $b2Date{$bAcc} = $date; $b2Country{$bAcc} = $country; } close($BIOSAMPLE); my $missingCount = 0; +my $maxMissing = 1000000; while (<>) { my ($gbAcc, $bAcc, $gbDate, $gbGeo, $host, $gbName, $completeness, $len) = split("\t"); if ($bAcc) { if (exists $b2Name{$bAcc}) { my ($bName, $bDate, $bCountry) = ($b2Name{$bAcc}, normalizeDate($b2Date{$bAcc}), $b2Country{$bAcc}); if (! $gbDate || length($bDate) > length($gbDate)) { $gbDate = $bDate; } elsif ($bDate && $gbDate ne $bDate) { print STDERR join("\t", "dateMismatch", $gbAcc, $gbName, $gbDate, $bAcc, $bName, $bDate) . "\n"; } if (! $gbName) { $gbName = $bName; } elsif (($gbName eq '1' || $gbName eq 'NA') && length($bName) > length($gbName)) { $gbName = $bName; } elsif ($gbName eq 'nasopharyngeal' && $bName =~ m/\d/) { $gbName = $bName; } if (! $gbGeo) { $gbGeo = $bCountry; } print join("\t", $gbAcc, $bAcc, $gbDate, $gbGeo, $host, $gbName, $completeness, $len); } else { # BioSample file doesn't have info for this BioSample accession print STDERR "Missing BioSample info for $bAcc\n"; $missingCount++; - if ($missingCount >= 100000) { - die "Too many missing BioSamples, quitting.\n"; + if ($missingCount > $maxMissing) { + die "Too many missing BioSamples (> $maxMissing), quitting.\n"; } # Pass through as-is print; } } else { # No associated BioSample, just pass through as-is print; } }