def get_mackowiak_id(object_id, seqname, start, end, strand):
    """ This function creates a "Mackowiak"-style identifier for, e.g., open
        reading frames. The form of the identifier is:

            <object_id>_<seqname>:<start>-<end>:<strand>

        example: ENSMUST00000033123_7:46175479-46179843:-

        start should always be less than end, regardless of the strand; that 
        is, they are bed-style coordinates.

        The ids are "Mackowiak"-style in that they follow the scheme used in
        this paper:
            Mackowiak, S., et al. Extensive identification and analysis of 
                conserved small ORFs in animals. Genome Biology, 2015, 16, 179.

        Args:
            object_id (string): an identifier for the object from which this
                feature was extracted, such as a transcript identifier

            seqname, start, end, strand: the relevant genomic information

        Returns:
            string: the mackowiak-style identifier

    """
    mackowiak_id = "{}_{}:{}-{}:{}".format(object_id, seqname, start, end, strand)
    return mackowiak_id