<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def hashVariantAnnotation(cls, gaVariant, gaVariantAnnotation):
 """ Produces an MD5 hash of the gaVariant and gaVariantAnnotation objects """

        treffs = [treff.id for treff in gaVariantAnnotation.transcript_effects]
        return hashlib.md5(
            "{}\t{}\t{}\t".format(
                gaVariant.reference_bases, tuple(gaVariant.alternate_bases),
                treffs)
            ).hexdigest()