3
$\begingroup$

As the title states, I've got two sets of unaligned amino acid sequences (~25k sequences in one, ~3k in the other). I want to find the minimum distance between a sequence in the first set and a sequence in the second, expressed in terms of percent identity (so, maximum percent identity). So far I've only been able to find R packages that will compute percent identity for two already aligned sequences, which would then allow me to do a double loop over both sets of sequences to find the shortest distance between them. But this seems woefully inefficient - is there an easier/faster way? I also tried playing around with mmseqs2 but couldn't tell if there was a way to use it for anything other than clustering.

To clarify - there is a large amount of variation between the sequences in question, including in overall length (ranging from 148 residues to 872). They don't all belong to one family of homologs or anything. I'm expecting many of them to have quite low identity with each other. But the constraints of the problem I'm working on require me to put a number on that identity, or at least an upper bound.

I'm not constrained to using R, it's just what I'm most familiar with. Solutions with command line tools or python would also be fine - I'm sure there are better tools out there that I'm not aware of.

$\endgroup$
1
  • $\begingroup$ Wait ... are the 5' ends unequal lengths between target and query, in addition this is a 'no indel' solution sought? If so thats different and 'a few lines of code' is likely not the best solution. $\endgroup$
    – M__
    Aug 18, 2022 at 11:11

2 Answers 2

1
$\begingroup$

When I've been in 'possibly' comparable situations I've just used local Blast and parsed out the top hit using Python. It may not be the most optimal package (actually its not), but its easy and works, whilst NCBI's Blast support desk is efficient. Each query in turn is tested via a loop against the whole local database.

$\endgroup$
2
  • $\begingroup$ I'm not very familiar with blast command line tools. What blast subcommand would I use for this? $\endgroup$ Aug 18, 2022 at 17:32
  • $\begingroup$ I'll post it next week @empiromancer if no-one else does. Its an occasional thing, can't recall it on the spot. From memory easy, its parsing code for the output that's the main issue. I can take >6 months to respond, so one week is pretty quick :-) $\endgroup$
    – M__
    Aug 18, 2022 at 17:41
1
$\begingroup$

Try mmseqs2. It is largely a faster version of blastp. I haven't used mmseqs2 before but its documentation seems simple enough.

$\endgroup$
1
  • $\begingroup$ I actually did play around with mmseqs2 but I couldn't figure out how to make it calculate percent identity. I could only figure out the clustering features. $\endgroup$ Aug 23, 2022 at 16:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.