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.

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 True