Could you help me bioinformatics SE people.

So I have been duckduckgo-ing up a storm and even consulted the AI overlords and haven't come up with a solid way to do this, but it is so fundamental to bioinformatics that it has to already exists and I don't need to be re-inventing the wheel...

So imagine you have a fasta/q file with a "reference" sequence:


And a list of short oligo sequences: TTTT, CCCC, GGGG

How would be the best way to map (if that is the right terminology) the short oligos to the reference seq so that a configurable mismatch amount is allowed:

  TTTT       CCCC           GGGG    CCCC    

Blast, BWA and Bowtie2 from my understanding aren't ideal for this because they aren't built for really short sequences, something about them using seeded reference lookup? Using Smith-Watterman or Needleman-Wunsch technically gets the local aligning right but the mismach allowance is based on score not X total allowed. Plus, iterating over hundreds of oligos and aligning against dozens of large references seems inefficient. The closest thing I have found to what I'm trying to do is Sequence Manipulation Suites' Primer Map. This tool is almost perfect except a) it is a web tool, not a module I could import into python or incorporate into a CLI and b) does not appear to offer any tolerance for mismatches.

Am I just searching with the wrong vocabulary? This has to be an already solved bioinformatics process right?

  • $\begingroup$ A reference FASTQ is not a thing: A reference sequence is curated in some way, and a curated sequence does not come with quality scores. $\endgroup$
    – Ram RS
    Sep 26, 2023 at 16:04
  • 2
    $\begingroup$ Here is the source code of Primer Map You are not restricted to use it as a web tool only. Moreover you can modify it according to your needs. $\endgroup$
    – haci
    Sep 26, 2023 at 17:03
  • $\begingroup$ @RamRS this is why I put reference in quotes lol. Basically the bare sequences are parsed out of a fasta/q file and are used as targets to align all the shorter oligos to. $\endgroup$
    – RPINerd
    Sep 26, 2023 at 17:09
  • $\begingroup$ @M__ I'm trying to determine coverage of a pool of primers against arbitrary target(s) $\endgroup$
    – RPINerd
    Sep 26, 2023 at 17:09
  • 1
    $\begingroup$ @RPINerd I don't quite understand what you mean by "coverage of primers" but you might want to check out primer3. I used this in the past to design/test a large number of primers. You can customize and run via CLI. $\endgroup$
    – haci
    Sep 26, 2023 at 17:55

1 Answer 1


Both of @haci's solutions are very cool:

I wasn't aware that Primer3 was available as a CLI (command line interface).

The solution I had in mind was in silico PCR one example being Kelpie and the associated paper is here, however I am not exactly sure about the application of the "primer mapping", but most "primer" applications concern PCR.


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.