If I run BLAST using a protein sequence (e.g. human p53), I get many matches to the same protein, presumably from different research projects. As you can see from the screenshot, all are similarly named and close to exact matches. Is there any way I can filter the results to get unique genes only?
Choose reference protein as a database. Then you can avoid the same sequence from different projects. http://www.ncbi.nlm.nih.gov/refseq/about/
BLAST against a non-redundant database (for e.g.
nr and UniProt).
nr contains all non-redundant sequences collected from different primary databases but nonetheless there is some redundancy. You can also specify (or filter out) the species if you are not interested in all species.
Finally, you can also choose the best hit (post-BLAST, using simple scripts).