def make_outfile_name(readsfile_basename, processing_action, output_type):
    """
    Create a name for an output file based on action performed.

    :param str readsfile_basename: path-less and extension-less version of name
        of file of reads.
    :param str processing_action: name for the processing action being
        performed by a parallel processor of sequencing reads (i.e., a class
        derived from ParaReadProcessor).
    :param str output_type: type of output file for which name is being created.
    :return str: (Fallback) name for output file, used by the ParaReadProcessor
        constructor if a null or empty output filename is provided at creation.
    """
    return '{}_{}.{}'.format(readsfile_basename, processing_action, output_type
        )
