nodes: 0, module; 1, function_definition; 2, function_name:coverageInfo; 3, parameters; 4, block; 5, identifier:self; 6, expression_statement; 7, expression_statement; 8, for_statement; 9, return_statement; 10, comment:"""
          Return information about the bases found at each location in our title
          sequence.
  
          @return: A C{dict} whose keys are C{int} subject offsets and whose
              values are unsorted lists of (score, base) 2-tuples, giving all the
              bases from reads that matched the subject at subject location,
              along with the bit score of the matching read.
          """; 11, assignment; 12, identifier:titleAlignment; 13, identifier:self; 14, block; 15, identifier:result; 16, identifier:result; 17, call; 18, for_statement; 19, identifier:defaultdict; 20, argument_list; 21, identifier:hsp; 22, attribute; 23, block; 24, identifier:list; 25, identifier:titleAlignment; 26, identifier:hsps; 27, expression_statement; 28, for_statement; 29, assignment; 30, tuple_pattern; 31, call; 32, block; 33, identifier:score; 34, attribute; 35, identifier:subjectOffset; 36, identifier:base; 37, identifier:_; 38, attribute; 39, argument_list; 40, expression_statement; 41, attribute; 42, identifier:score; 43, attribute; 44, identifier:walkHSP; 45, identifier:hsp; 46, keyword_argument; 47, call; 48, identifier:hsp; 49, identifier:score; 50, identifier:titleAlignment; 51, identifier:read; 52, identifier:includeWhiskers; 53, False; 54, attribute; 55, argument_list; 56, subscript; 57, identifier:append; 58, tuple; 59, identifier:result; 60, identifier:subjectOffset; 61, identifier:score; 62, identifier:base
code: def coverageInfo(self):
          """
          Return information about the bases found at each location in our title
          sequence.
  
          @return: A C{dict} whose keys are C{int} subject offsets and whose
              values are unsorted lists of (score, base) 2-tuples, giving all the
              bases from reads that matched the subject at subject location,
              along with the bit score of the matching read.
          """
          result = defaultdict(list)
  
          for titleAlignment in self:
              for hsp in titleAlignment.hsps:
                  score = hsp.score.score
                  for (subjectOffset, base, _) in titleAlignment.read.walkHSP(
                          hsp, includeWhiskers=False):
                      result[subjectOffset].append((score, base))
  
          return result