I have a set of nucleotide sequences that contain some special characters with multiple meanings:

  • H -> C, A or T
  • K -> G or T
  • M -> C or A
  • R -> G or A
  • S -> C or G
  • W -> A or T
  • Y -> c or T

I would like to create a BLAST database with that sequences.

The "place holders" seem to be a known vocabulary (at least for the query sequence).

It is also possible to create a database (using makeblastdb), with sequences containing the "place holder" characters. However, the characters are always recognized as mismatch.

Is there a way to tell BLAST recognizing the characters above as match if the query sequence fits?

If not, I could imagine to "expand" all combinations for each sequences by replacing the "place holder" with it's concrete nucleotide, but that may grow up the database... Or is there another solution to face that problem?

  • $\begingroup$ There is no such option. You would have to edit BLAST source code. $\endgroup$
    Jan 17 '17 at 9:24
  • $\begingroup$ I had thought so, thanks for confirming! Modifying the sources would be an option of course, but to much effort for me. Just for interest, is there a public repository for the BLAST sources? I didn't find one (only the downloadable zip package). $\endgroup$
    – JanDotNet
    Jan 17 '17 at 10:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.