def cleanup_sequence(seq, valid): """Given a sequence (list or string) and a string describing the valid sequence characters, builds a new sequence containing only valid sequence characters from the original sequence.""" result = [] for val in seq: if val in valid: result.append(val) if is_string(seq): return string.join(result, '') else: return result