This is a test version of Biostars. For the public version, visit https://www.biostars.org.
meaning of all-versus-all blastp search

Hi all,

I am trying to replicate a study where the authors describe doing a BLASTp search that was "all-versus-all". What exactly does all-vs-all mean and what would a BLASTp search look like that is not all-versus-all?

Thanks!

blast

2 answers

You have an input file with a number of sequences. You create a blast index from this. Then you use the same file as query input for blast, which then searches each sequence in input file against the entire dataset.

A "not all-vs-all" search will include members as query that are not in the blast index (either removed from the set or ones that are totally new).

An "all-versus-all" search means comparing a group of sequences to itself. The query and the database for a BLAST search are the same. It is done to find relationships just between sequences that are members of a given group, and this is usually followed by clustering or tree-building.

I don't think anyone really uses a "not all-versus-all" term, so my guess is that you put it out there to understand a distinction from a "all-versus-all" search. But since you asked, any BLAST where a query and a database are different in any aspect would be a "not all-versus-all" search.

PS Not that it matters much because what GenoMax told you is also accurate, but for smaller "all-versus-all" searches you don't even need to build an index. You can simply do the search like so:

blastp -query my_sequences.fa -subject my_sequences.fa -out my_sequences_vs_self.bla -evalue 1e-20

If your group of sequences is smaller than 10 thousand members, doing the search as indicated above will be fast enough and less disk space is required. Creating a database index will provide speed-up for larger databases, and in that case instead of -subject my_sequences.fa you'd be using -db my_sequences.fa after building an index.

Log in to answer this question.