Improving MSMSFit
I suspect that some edge cases of MSMSFit (first, last fragments, peaks, etc.) may not be performing as desired. I especially suspect that searching for b-ions isn’t working nearly as well as it should. This has gone unnoticed until now because the way MSMSFit is written, close y-ion matches can pick up the slack for bad b-ion performance.
I’ve modified the visualizer to help see results and also, for the future, to better grasp on what a “correct” peak looks like. Here are some low res images from the standard E. coli gamut I have been using:





Red peaks are probable y-ions. I’m guessing there should be more green peaks, which are b-ions, but that’s part of the problem. UPDATE: b-ion problem fixed/improved. Many more b-ions are represented.
Excluding the last image, the largest intensity peak corresponds to a y-ion. The last image will also conform to this rule when peak cleaning takes place (removal of peaks which exceed precursor mass). If this is always true then this could be utilized in a pre-filter to greatly improve speed.
Idea: MSMSFit could be (number of peaks which closely correspond to theoretical ion masses) / (total number of peaks).
Also: the local maxima algorithm I was working on earlier seems like, at least with this data, a very good way to clean peaks.