e00236df7c5e59c822460caa58e662972af379cf hiram Fri Mar 13 10:02:00 2020 -0700 the quotes should be 'single' quotes refs #25090 diff --git src/hg/utils/phyloTrees/binaryTree.pl src/hg/utils/phyloTrees/binaryTree.pl index 004bdbb..8f3bf04 100755 --- src/hg/utils/phyloTrees/binaryTree.pl +++ src/hg/utils/phyloTrees/binaryTree.pl @@ -72,31 +72,31 @@ # 2. no pointers, this is a leaf, print name:length when parent right # pointer got here, else print ,name:length when left pointer got here use strict; use warnings; use Getopt::Long; ############################################################################## sub usage() { printf STDERR "usage: binaryTree.pl [options] file.phy options: -noInternal - do not output internal node names -defaultDistance=0.1 - use this distance when not given in input -allDistances=0.1 - use this distance for everything, default use input -lineOutput - output one line per leaf output, indented per depth - -quoteNames - add \"quotes\" on node names, default not quoted + -quoteNames - add 'quotes' on node names, default not quoted -nameTranslate= - two column file, translate names from input file, first column is name in input file, second column is output name tab separation columns -verbose=N - specify verbose debug printout, 0 nothing, 1 a bit, 2 more, etc reads 'phylip' file format from NCBI taxonomy and outputs binary newick tree format, resolving the polytomys common to NCBI output format. Output is to 'stdout'.\n"; exit 255; } ############################################################################## # globals and options my $noInternal = 0; # option -noInternal - do not output internal node names my $defaultDistance = "0.1"; # to set distances when not given in input @@ -156,37 +156,37 @@ printTree($node->{'right'}); printf "," if (defined($node->{'left'})); if ($lineOutput && defined($node->{'left'})) { printf "\n"; $printNewLine = 1; } } printTree($node->{'left'}) if (defined($node->{'left'})); printf ")" if defined($node->{'left'}); } my $distOut = sprintf("%.9f", $node->{'distance'}); $distOut =~ s/0+$//g; $distOut = "0.000001" if ($distOut eq "0."); if ( $node->{'isLeaf'} ) { if ($quoteNames) { - printf "\"%s\":%s", $node->{'name'}, $distOut; + printf "'%s':%s", $node->{'name'}, $distOut; } else { printf "%s:%s", $node->{'name'}, $distOut; } } elsif ( ! $noInternal) { if ($quoteNames) { - printf "\"%s\":%s", $node->{'name'}, $distOut; + printf "'%s':%s", $node->{'name'}, $distOut; } else { printf "%s:%s", $node->{'name'}, $distOut; } } else { printf ":%s", $distOut; } $printDepth -= 1; } # sub printTree($) ############################################################################## # start a new node element sub newNode($$$$$$) { my ($parent, $right, $left, $name, $distance, $nextLeft) = @_; my %node; $node{'parent'} = $parent;