def split_reaction_at_arrow(input_str):
    """ Split reaction string at an arrow to get individual sites of the equation """
    arrows = ' <-> ', ' -> ', ' <- ', ' <=> ', ' => ', ' <= ', ' <> ', ' = '
    for x in arrows:
        if x in input_str:
            return input_str.split(x)
    raise ValueError('There is no valid arrow {0} in the reaction {1}'.
        format(arrows, input_str))
