This is a test version of Biostars. For the public version, visit https://www.biostars.org.
How to choose BLAST identity and coverage thresholds without excluding true homologs?

My BLAST/DIAMOND results show high mean sequence identity (~88–91%) for some functional traits but lower mean identity (~78%) for others, while alignment lengths remain long (>800 bp) and bitscores are high. How should similarity thresholds be chosen in this situation without excluding true functional homologs? Should bit score, alignment coverage, and e-value also be considered alongside percent identity when defining trait presence?

  • A mean_id=88.85 mean_len=1135.7 mean_bits=1400.8
  • B mean_id=88.26 mean_len=974.8 mean_bits=1327.4
  • C mean_id=86.96 mean_len=1271.6 mean_bits=1963.8
  • D mean_id=82.11 mean_len=848.9 mean_bits=799.0
  • E mean_id=84.22 mean_len=1202.3 mean_bits=1279.7
  • F mean_id=78.16 mean_len=1001.2 mean_bits=539.7
  • G mean_id=86.68 mean_len=1076.3 mean_bits=1329.5
  • H mean_id=90.93 mean_len=1084.1 mean_bits=1556.9
  • I mean_id=77.79 mean_len=894.9 mean_bits=567.5
metagenomics

If homology matters for you, you'd be better off using a more advanced approach on how to determine homologs/orthologs/paralogs ...

While many of these approaches are based on alignment statistics , using 'bare' alignment stats is a very crude approach and will likely result in many false positives&negatives.

1 answer

How should similarity thresholds be chosen in this situation without excluding true functional homologs?

It depends on what you mean by true functional homologs. If you mean proteins that evolved from a single ancestor and perform identical functions in different species, those are called orthologs. They are probably most difficult to define between distant organisms. It is a no-brainer that two 99% identical proteins (and identical in length) coming from a chimpanzee and a human are orthologs. But how about a human and a yeast protein that have 70% sequence identity and they differ by 50 residues in size? There is no simple answer to that question, as that 70% identity could be the result of a large evolutionary distance between the two species, or it could mean that a human protein has evolved to perform a slightly different function.

Should bit score, alignment coverage, and e-value also be considered alongside percent identity when defining trait presence?

You should definitely look at more things than just bit scores, or e-values, or percent identity, but staring at all the numbers will never give a complete answer across the range of potential orthologs. So I will repeat what lieven.sterck already told you: a more comprehensive approach is needed if you want to do this properly, especially if you want to include orthologs from distant species. For example, one can make a multiple sequence alignment of many potential orthologs and check whether the functionally relevant residues are preserved in all of them, and whether they have the same domain order and composition.

As you are not the first researcher dealing with this problem, there are already databases and programs that can help with it. Doing some research on orthologs and orthology detection will get you on a right track.

In this step, we are not trying to identify strict orthologs or prove that proteins have identical functions. Instead, we aim to detect putative trait-associated homologs using BLAST results. After running BLAST, we apply post-BLAST filtering to keep only statistically meaningful matches. This filtering considers E-value, alignment coverage rather than relying on percent identity alone. By applying this post-BLAST filtering step, we identify genes that are likely homologs associated with the traits of interest, without claiming strict orthology or identical protein function.

Even with this more detailed description, I don't think this is the best way of doing it. My recommendation is to do a broad search for homologs, followed by clustering of all the hits. That will do the job objectively, plus with MMseqs2 one can specify the minimum coverage threshold needed to put sequences into the same cluster. After the initial clustering, you can inspect what is there and potentially merge clusters if warranted.

https://github.com/soedinglab/MMseqs2

Log in to answer this question.