I am looking for methods to search a **n x 20 position-specific weight matrix against a FASTA sequence database**. My weight matrix describes a protein of length n. For each position in the protein 1...n, I know the probabilities that each of the 20 possible amino acid (A,C,D-W) exists at that position, with probabilities summing to 1. I want to be able to make use of the probabilities in the matrix for scoring against the database, not just consider the highest-probability residue at each position. And I'd like to allow for gapped alignment of my profile against target sequences.

Tool suggestions, and example code are highly appreciated. Thanks!