def METHOD_NAME(s):
    """
    Convert names in camel case into underscore (_) separated names
    :param s: string in CamelCase notation
    :returns: string in under_score notation
    Example:
    >>> from_camel_case("TableName") # yields "table_name"
    """
    def convert(match):
        return ("_" if match.groups()[0] else "") + match.group(0).lower()
    if not re.match(r"[A-Z][a-zA-Z0-9]*", s):
        raise DataJointError(
            "ClassName must be alphanumeric in CamelCase, begin with a capital letter"
        )
    return re.sub(r"(\B[A-Z])|(\b[A-Z])", convert, s)