code: def print_summary(self):
          
          # True positives = matched reference samples
          self.tp = len(self.matched_ref_inds)
          # False positives = extra test samples not matched
          self.fp = self.n_test - self.tp
          # False negatives = undetected reference samples
          self.fn = self.n_ref - self.tp
          # No tn attribute
  
          self.specificity = self.tp / self.n_ref
          self.positive_predictivity = self.tp / self.n_test
          self.false_positive_rate = self.fp / self.n_test
  
          print('%d reference annotations, %d test annotations\n'
              % (self.n_ref, self.n_test))
          print('True Positives (matched samples): %d' % self.tp)
          print('False Positives (unmatched test samples: %d' % self.fp)
          print('False Negatives (unmatched reference samples): %d\n' % self.fn)
  
          print('Specificity: %.4f (%d/%d)'
              % (self.specificity, self.tp, self.n_ref))
          print('Positive Predictivity: %.4f (%d/%d)'
              % (self.positive_predictivity, self.tp, self.n_test))
          print('False Positive Rate: %.4f (%d/%d)'
              % (self.false_positive_rate, self.fp, self.n_test))
docs: Print summary metrics of the annotation comparisons.