def generate_filename(self, delimiter="<STR_LIT:_>"):
base = self.name if type(self) is Sample else"<STR_LIT>".format(self.name, delimiter, self.__class__.__name__)<EOL>return "<STR_LIT>".format(base)<EOL>
Create a name for file in which to represent this Sample.

This uses knowledge of the instance's subtype, sandwiching a delimiter
between the name of this Sample and the name of the subtype before the
extension. If the instance is a base Sample type, then the filename
is simply the sample name with an extension.

:param str delimiter: what to place between sample name and name of
    subtype; this is only relevant if the instance is of a subclass
:return str: name for file with which to represent this Sample on disk