code: def substitution_scores_match(self, other):
          '''Check to make sure that the substitution scores agree. If one map has a null score and the other has a non-null score, we trust the other's score and vice versa.'''
          overlap = set(self.substitution_scores.keys()).intersection(set(other.substitution_scores.keys()))
          for k in overlap:
              if not(self.substitution_scores[k] == None or other.substitution_scores[k] == None):
                  if self.substitution_scores[k] != other.substitution_scores[k]:
                      return False
          return Truf substitution_scores_match(self, other):
          '''Check to make sure that the substitution scores agree. If one map has a null score and the other has a non-null score, we trust the other's score and vice versa.'''
          overlap = set(self.substitution_scores.keys()).intersection(set(other.substitution_scores.keys()))
          for k in overlap:
              if not(self.substitution_scores[k] == None or other.substitution_scores[k] == None):
                  if self.substitution_scores[k] != other.substitution_scores[k]:
                      return False
          return True
docs: Check to make sure that the substitution scores agree. If one map has a null score and the other has a non-null score, we trust the other's score and vice versa.