def _try_parse_gene_association(self, reaction_id, s):
s = s.strip()<EOL>if s == '<STR_LIT>':<EOL><INDENT>return None<EOL><DEDENT>try:<EOL><INDENT>return boolean.Expression(s)<EOL><DEDENT>except boolean.ParseError as e:<EOL><INDENT>msg = '<STR_LIT>'.format(<EOL>reaction_id, text_type(e))<EOL>if e.indicator is not None:<EOL><INDENT>msg += '<STR_LIT>'.format(s, e.indicator)<EOL><DEDENT>logger.warning(msg)<EOL><DEDENT>return s<EOL>
Try to parse the given gene association rule.

        Logs a warning if the association rule could not be parsed and returns
        the original string. Otherwise, returns the boolean.Expression object.