<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def to_dict(self, properties=None):
 """Return a dictionary containing Assay data. If the properties parameter is not specified, everything is included. :param properties: (optional) A list of the desired properties. """

        if not properties:
            properties = [p for p in dir(Assay) if isinstance(getattr(Assay, p), property)]
        return {p: getattr(self, p) for p in properties}