I'd say you have more than enough in terms of skill and experience to shoot for those top schools. Don't worry about publications, most undergraduate students don't have those upon graduation (though it's a plus if it's in a journal like say, in Nature or something). My only suggestion is that you round out your application pool. Don't apply to all "Top Ten" institutions, because the chances you'll get into each of those separately, are already slim. I'd find the schools that you interested in first, then go by prestige after. I applied to eight programs, and only got accepted at one. Sometimes that's the way it is...some people don't get into any. That's the gamble you make when you apply to grad programs in the US. So ultimately, my suggestion is to apply to a couple "A" schools and "B" schools and "safety" schools where you think you'll get in regardless.