@staticmethod
def read_gff_attributes(attribute_column):
    """
        Parse attributes for a GFF3 record. Attributes with pre-defined meaning are parsed according to their
        specification (e.g. Dbxref usually has multiple values which are split up: 'GeneID:1234,Genbank:NM_9283').


        :param attribute_column: Attribute column of a GFF3 file.
        :return: Dictionary of attributes.
        :rtype: dict
        """
    attributes = {}
    for a in attribute_column.split(';'):
        a = a.strip()
        key = a.split('=')[0]
        value = a.split('=')[1]
        if key == 'Dbxref':
            dbxref_dict = {}
            for dbxref_entry in value.split(','):
                dbxref_key, dbxref_value = dbxref_entry.split(':', 1)
                dbxref_dict[dbxref_key] = dbxref_value
            value = dbxref_dict
        attributes[key] = value
    return attributes
