I do not set the frameshift penalty costs and output everything in BLAST XML format. Then I go through this file and usually the beginning contains parameters of the scoring scheme etc. But it does not contain any entry about frameshift costs. Does anybody know about this? Are frameshifts allowed at all?
BlastOutput_program blastx BlastOutput_version BLASTX 2.2.25+ BlastOutput_reference Stephen F. Altschul, Thomas L. Madden, Alejandro A. Sch&auml;ffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), "Gapped BLAST and PSI-BLAST: a new generation of protein database search programs", Nucleic Acids Res. 25:3389-3402. BlastOutput_db refseq-prot Parameters_matrix BLOSUM62 Parameters_expect 1 Parameters_gap-open 11 Parameters_gap-extend 1 Parameters_filter L;
Edit: Just found out that, if you run blastx with '-help', you will get detailed options and their default values. There it says:
-frame_shift_penalty <Integer, >=1> Frame shift penalty (for use with out-of-frame gapped alignment in blastx or tblastn, default ignored)
Still, what does ignored mean, a value of 0 or no frameshifts allowed?
Edit2: I had a look into the source code and the best I could find in this short time was:
SetMatrixName(BLAST_DEFAULT_MATRIX); // BLOSUM62 SetGapOpeningCost(BLAST_GAP_OPEN_PROT); SetGapExtensionCost(BLAST_GAP_EXTN_PROT); SetGappedMode(); // set invalid values for options that are not applicable m_Opts->SetOutOfFrameMode(false); m_Opts->SetFrameShiftPenalty(INT2_MAX);
So it seems that they just set the penalty to a very hight value that will practically disallow any shifts.
If anybody wants to confirm this behavior...