Validation of KeyMixin objects is handled by
validObject
Arguments
Key Validation
Keys must be a one-length character vector; a key must be composed of one
of the following:
An empty string (eg. “''”) where nchar() == 0
An string composed of one or more alphanumeric values
(both lower- and upper-case) that ends with an underscore
(“_”); the first character must be a letter
Keys that are not empty strings are validated with the regex
“SeuratObject:::.KeyPattern()”