People are holding signs and marching.
The people are protesting stem cell research.
Just because a group of people are holding signs and marching does not mean they are protesting, and even if they are it does not mean they are protesting stem cell research specifically.
exists e1 x1 x2 x3 x4.(Theme(e1,x2) & Actor(e1,x1) & v_hold(e1) & n_march(x4) & n_sign(x3) & subset_of(x4,x2) & subset_of(x3,x2) & n_people(x1))
exists e1 p1 x1 x2.(n_people(x1) & for(p1,e1) & Theme(e1,x2) & Actor(e1,x1) & v_protest(e1) & n_stem(x2) & exists x3 x4.((x1 = x3) & n_research(x3) & of(x3,x4) & n_cell(x4)))