nodes: 0, module; 1, function_definition; 2, function_name:tabSeparatedSummary; 3, parameters; 4, block; 5, identifier:self; 6, default_parameter; 7, expression_statement; 8, comment:# The order of the fields returned here is somewhat arbitrary. The; 9, comment:# subject titles are last because they are so variable in length.; 10, comment:# Putting them last makes it more likely that the initial columns in; 11, comment:# printed output will be easier to read down.; 12, comment:#; 13, comment:# Note that post-processing scripts will be relying on the field; 14, comment:# ordering here.  So you can't just add fields. It's probably safe; 15, comment:# to add them at the end, but be careful / think.; 16, comment:#; 17, comment:# A TAB-separated file can easily be read by awk using e.g.,; 18, comment:# awk 'BEGIN {FS = "\t"} ...'; 19, expression_statement; 20, for_statement; 21, return_statement; 22, identifier:sortOn; 23, None; 24, comment:"""
          Summarize all the alignments for this title as multi-line string with
          TAB-separated values on each line.
  
          @param sortOn: A C{str} attribute to sort titles on. One of 'length',
              'maxScore', 'medianScore', 'readCount', or 'title'.
          @raise ValueError: If an unknown C{sortOn} value is given.
          @return: A newline-separated C{str}, each line with a summary of a
              title. Each summary line is TAB-separated.
          """; 25, assignment; 26, identifier:titleSummary; 27, call; 28, block; 29, call; 30, identifier:result; 31, list; 32, attribute; 33, argument_list; 34, expression_statement; 35, attribute; 36, argument_list; 37, identifier:self; 38, identifier:summary; 39, identifier:sortOn; 40, call; 41, string; 42, identifier:join; 43, identifier:result; 44, attribute; 45, argument_list; 46, string_content; 47, identifier:result; 48, identifier:append; 49, binary_operator:'\t'.join([
                  '%(coverage)f',
                  '%(medianScore)f',
                  '%(bestScore)f',
                  '%(readCount)d',
                  '%(hspCount)d',
                  '%(subjectLength)d',
                  '%(subjectTitle)s',
              ]) % titleSummary; 50, escape_sequence:\n; 51, call; 52, identifier:titleSummary; 53, attribute; 54, argument_list; 55, string; 56, identifier:join; 57, list; 58, string_content; 59, string; 60, string; 61, string; 62, string; 63, string; 64, string; 65, string; 66, escape_sequence:\t; 67, string_content:%(coverage)f; 68, string_content:%(medianScore)f; 69, string_content:%(bestScore)f; 70, string_content:%(readCount)d; 71, string_content:%(hspCount)d; 72, string_content:%(subjectLength)d; 73, string_content:%(subjectTitle)s
code: def tabSeparatedSummary(self, sortOn=None):
          """
          Summarize all the alignments for this title as multi-line string with
          TAB-separated values on each line.
  
          @param sortOn: A C{str} attribute to sort titles on. One of 'length',
              'maxScore', 'medianScore', 'readCount', or 'title'.
          @raise ValueError: If an unknown C{sortOn} value is given.
          @return: A newline-separated C{str}, each line with a summary of a
              title. Each summary line is TAB-separated.
          """
          # The order of the fields returned here is somewhat arbitrary. The
          # subject titles are last because they are so variable in length.
          # Putting them last makes it more likely that the initial columns in
          # printed output will be easier to read down.
          #
          # Note that post-processing scripts will be relying on the field
          # ordering here.  So you can't just add fields. It's probably safe
          # to add them at the end, but be careful / think.
          #
          # A TAB-separated file can easily be read by awk using e.g.,
          # awk 'BEGIN {FS = "\t"} ...'
  
          result = []
          for titleSummary in self.summary(sortOn):
              result.append('\t'.join([
                  '%(coverage)f',
                  '%(medianScore)f',
                  '%(bestScore)f',
                  '%(readCount)d',
                  '%(hspCount)d',
                  '%(subjectLength)d',
                  '%(subjectTitle)s',
              ]) % titleSummary)
          return '\n'.join(result)