Sq Pk Programming Completed

From Jimenez Group Wiki
Jump to: navigation, search


Done in 1.05+

  • Fold the whole thing into Pika?
  • Delphine wanted to spit out the elemental mass spectra without normalizing them all to average total mass.
  • Add the ability to apply the AB correction factor, if it exists.
  • Allow users to select HR spectra from non-root data folders (available for stand-alone, PMF-type spectra).
  • The default APES panel is too long on Macs (new interface for HROrg species or stand-alone, PMF-type spectra).
  • Ken had an issue when he chose the tag wave instead of the text wave as the chemical mass formula wave. Perhaps there should be a warning that appears when x number of mass fragments are flagged as having issues instead of simply printing them to history. (done in 1.02)
  • Add a new table on the web page for downloading ipf (done in 1.01)
  • Add ability to not require the fit of CO and/or CO2 (done in 1.01)
  • Add the ability to do the analysis on user selected HR spectra, such ans PMF results (done in 1.01)


Done in 1.07/1.08

There was an annoying bug that resulted in not being able to choose > 1 mass fragment each for the left and right-side peak shape candidate. The code was fine in 1.05 and using Igor version < 6.10. But in Igor 6.10 there was a compilation error, and the quick fix for Igor 6.10 caused this behavior. You can download PK_peakShape_1_06A.ipf at [1]. It is also downloadable form the main ToF_AMS sofware download site.

Done in 1.05/1.06

  • Rami found a small bug in HR_peakHeights_gr that has to do with the display of the very first HR fragment. It is a display issue only and does not effect sticks generation or calculation. Done in 1.06
  • Need to redo PW fitting function so it weighs the inverse of the errors. Done in 1.06
  • In PeakShape panel, make confirm todo wave choice a gold button. Done in 1.06
  • In the peakHeights graph, show squirrel baseline region. Done in 1.06
  • Allow identification of peak width parameters/peak shape for certain runs. Done in 1.04P
  • Doug wants the green sticks in the HR_PeakHeights_gr to be colored by family. Done in 1.04P
  • Currently some CS species get lumped into the CH species. make a new family? Done 1.04P
  • Changed default behavior so that all pika operations are done on the raw spectra with the squirrel-calculated baselines removed. (1.04M)
  • Overhauled Peak Width/Shape panel. Too many changes to mention! (1.04M)
  • In final peak shape graph add ability to:
    • truncate at 3.5 sigma
    • trim wings to ensure monotonicity
  • In final peak shape algorithm remove/modify final peak shape smoothing and/or make it user editable
  • In Peak shape panel the first run number of index should be put into “run number” field (it defaults to 0)
  • In the peak shape panel, include a string that indicates what species are used but not displayed.(done in 1.04J)
  • Make the pop button work for examining one spectra.(done in 1.04J)
  • In HR One Spectra plot, when different open/closed m/z fitting parameters are used, use these parameters in displaying raw data in HR_peakHeights graph (done in 1.04J)
  • In HR One Spectra plot, when different open/closed m/z fitting parameters are used, calculate and display sensible 'blue lines, or fits' for the difference spectra in HR_PeakHeights graph (done in 1.04J)
  • Deal with CO tag (Cobalt in usage in tags) and (C2HN?) (done in 1.04J)
  • Change the error that says "no can do!" to something more specific (done in 1.04H at least)
  • In the tables that indicate pthalate279 use the formula C16H23O4 (done in 1.04H at least)
  • In Peak shape panel and "live update" button similar to the one in the m/z calibration panel. Similarly, don't clear all previous fits when one presses the 'begin peak width' button. (done in 1.04H at least)
  • In Peak Heights graph, the x axis should be centered on the gray area. (done in 1.04H at least)
  • In peak shape panel, add the ability to plot real data onto final peak shape graph (show scatter of real points on 'wings') (done in 1.04H at least)
  • In peak width/shape panel, if todo wave is v mode and user selects a w mode peak shape, an error message should pop up right away. (done in 1.04H at least)
  • Add the ability to plot residuals on the raw spectra axes in the HR_peakHeights graph (not only on the top axis). (done in 1.04H at least)
  • In final peak width/shape add ability to subtract sq baseline from peak shape algorithm (instead of baselines being constant) done in 1.04H at least)
  • In Samara test case the redo fit button on the peak heights graph wasn't working. (it went to get the raw spectra) (done in 1.04J at least)

Done in 1.04

  • Step 4 of pika: maybe rather than two options (one run or Todo wave) and one button, we could just have two buttons? Something like “Calculate HR Sticks for averaged Todo wave” and “Calculate HR Sticks for one run”? (Done in 1.04)
  • Change in step 4 options, test for peak height to be less than 0 to be less than user defined value (done in 1.03D)
  • Warn clearly that changing selected masses is done globally (done in 1.03D)
  • Add a button in PeakHeights graph to redo pika fits (Keep all user settings from step 4) (done in 1.03D)
  • Partition Avg ability for todo waves (especially v only, for Qi Chen - done in 1.03A)
  • In Param graph add radio buttons for raw and percent (done in 1.03D)
  • In Param graph add print all cursors (done in 1.03D)
  • Add button for web link in credits panel. (done in 1.03E)
  • In the graph for one spectra HR fit, move the redo fits button so it is farther away than the arrows. (done in 1.03E)
  • Double check m/z parameters (so they are not nan) before trying to fit (done in 1.03E)
  • Alex had an issue with the show inset button being clicked on, but the insets weren't showing up. Make sure that this toggle value keeps up with the display. (done in 1.03E)


Done in latest version 1.47

  • Mike Q's issue with m/z calibration with fast mode data
  • Review existing code that deals with fast mode data.
  • Deal with Fast runs not finishing a fast mode cycle. Mike C's tools now implemented.
  • The "new only" checkbox near the pre-process button flagged things incorrectly. (Tim O and Achim's PToF example)
  • In average mass spec plots, review how negative values can be 'hidden' by other traces. (Doug thought that it wasn't working right.) Note from Donna: this entire plotting routine was redone in 1.47
  • Make clear the errors units (They are in Hz, and if a time series and m/z matrix is found (in the MS tab), the units will follow the units of the matrix.
  • It needs to be made more clear that the m/z base section in MS tab deals only with raw spectra.
  • Leah W found a bug having to do with appending average mass spec data in units of Hz to an existing graph
  • Change the default resolution values R0 dm, m0 in the baseline panel for W modes? R0 often gets changed from 500 to ~ 350.
  • In average mass spec plots, a better system for expanding/shrinking is needed.Doug suggests a 'magnification' drop down menu - x 2, x 10, x 25, etc. Also, when checking linear scale have the default go to 0.
  • Amewu gets (1) strange wave stats error in baseline panel (2) strange interpolate2 error after pre-processing. Donna wasn't able to duplicate this, but a more rigorous baseline method was added in 1.46
  • In the MS tab, make more clear the idea that the m/z section only deals with raw spectra
  • Heikki had out-of-memory issues with the organic matrices.
  • Disable PToF Errors because there needs to be a bigger discussion on what it means.
  • Incorporate errors into time series and average mass spectra plots!
  • Fixed a bug found in Julian's data, when pre-processing raw spectra with fast mode there is an error - The temporary fix is just comment out the lines: squirrel_fetch(fillblank_todo_temp,sq_fillblanks,"dest:MSSClosedBaseL_p;fill_id:fillblank_blanks_temp","MSSClosedBaseL_p") squirrel_fetch(fillblank_blanks,sq_diffcalc,"raw:0;dest:MSSDiffBaseL_p","MSSDiffOpenL_p;MSSDiffClosedL_p")

These data sets are intended to be used for diagnosing baseline issues, but no graphs using these data sets are generated yet.

  • Fixed a bug found by Paul Reitz that had to do with finding an airbeam correction using non-autoset and not multiple tof types or ionization schemes. (Fixed in SQ_AMSPanel_1_46A.ipf, download SQ_AMSPanel_1_46A.ipf)
  • Fixed a bug that had to do with displaying raw mass spectra with the squirrel baselines removed (Fixed in SQ_MzCalBkgnd_1_46.ipf, download SQ_MzCalBkgd_1_46A.ipf)

Done in version 1.45

  • Puneet discovered a small error in the m/z calibration panel. If he adds a new species but doesn't use it to fit the section of code that deals with the updating of individual graphs throws an error. (fixed in 1.44B)
  • Bug found with Sanna: when using a user defined time base but minutes = 0, we get an out of memory error. (fixed in 1.44B)
  • Write intermediate files as compressed HDF files? Check to see if/how this is best done for updating experiments. (Jose's suggestion only NEW files are compressed) (done in 1.44B - only new files are gzip compressed)
  • Tim O et al made the suggestion for using the daq values as input for the m/z calibration fit (done in 1.44B - this seems to make the m/z calibration routine 10 - 20% faster)
  • Error that Samara found when trying to get error matricies... The dimensions of the stick matrices were different for open and closed (done in .144B)
  • In mz_reSizeMzCalWaves() recode it so that it does not nan the Accuracy_XX_yy waves when one fits only one run. (fixed in 1.44B)
  • There are still some instances where if the user presses a button when not in the root folder, squirrel is ungraceful (Niall). (fixed many in 1.44B)
  • When doing an m/z cal fitting, put runs with bad fits into a separate todo wave. (done in 1.44B)
  • Deal with Helsinki/Doug's unique PToF data (grouping last 3 of 4 choppers). Done but only distributed for use in Mikael's data
  • Incorporate speccorr_list (Batch table) functionality to make species specific time series corrections via batch table. (Done in earlier versions. Ken entered this item but was not clear on its usage)
  • The 'resolution' parameters for determining peak integration area need to be printed to the history window whenever we recalc sticks. (Done in 1.44B)
  • Pre-process: when recalculating sticks with new m/z parameters, the error related to some m/z parameters being NaNs often shows up. A few times at the beginning, and then halfway through. Is there any way to deal with this more effectively? (done in 1.44B - only tested for fast mode situations but other situations should equally apply)
  • When overwriting a todo wave the message that gets printed to history can be incorrect - it says that the current todo wave was overwritten. (Done in 1.44B)
  • From James: If you get it to do a batch of diurnal plots, it calculates all of the time series afresh before plotting each graph. It's just a function call on the wrong side of a for statement, so it should be pretty trivial to fix. It also plots a graph of the time series each time around as well, which is really annoying because it ends up creating loads of excess graphs. (Done in 1.44B)
  • In the baseline subpanel, make the mass defect default values more clear. (Done in 1.44B)
  • In the modify SI table, also include ionization and tof type waves so users can more easily see how to change SI values. (Done in 1.44B)
  • Add the LS diagnostics to the set of waves that get loaded. (finished in 1.43I, checked in 1.44B)
  • Load in menu information from DAQ hdfs and make menu info more readily available to user. (kinda finished in 1.44B) - we have loaded in the tofType and ionizationType since ~ 5 versions ago. This is all that most will ever need. I have added DAQsamplingType for users like Doug who may have set up funky menus. We have chosen to avoid having menu numbers as indicators/mask waves because they really don't provide the details we need - the toftype and ionizationtype.
  • Make squirrel handle situations whereby the sEI is not really sEI but a different menu. (done via use of samplingType - see note above, done in 1.44B)
  • Add 2 new ionization types to code (see Joel's email of March 2008). (done in 1.44B)
  • In m/z calibration panel we need a readout that tells ionization type (sEI, EI) as well as ToF type (v/w) (done in 1.44B)
  • In baseline panel we need a readout that tells ionization type (sEI, EI) as well as ToF type (v/w)(done in 1.44B)
  • Add code that somehow simply tells the user whether the sticks were recalced or not, and if recalced, the parameters used. (done in 1.44B)
  • When a user enters runs and the first is > than the last, 45-40, a better error message should be generated. (Now it generates a todowave with 0 points, done in 1.44B)
  • From Ken: In the baseline fitting panel make the main plot in the popped window automatically scale the x axis to that in the main window. (done in pre-144B? If the user uses the marquee instead of the panel settings for setting the axis range, the x,y scales won't be the same. But if they use the panel variables for x and y scales, it works.)
  • In Dva popped table we should also see run numbers and whether or not a run has PToF data. (done in 1.44B)
  • Ask user to save experiment before blacklisting (done in 1.44B)
  • Added the possible creation of an allMS todo wave so that users can be clear when there is no MS data (only PToF).
  • James would like the ability to enlarge the stick integration region for one m/z. Currently the code only allows you to make the stick integration region smaller. (done in 1.44B)
  • In the baseline panel allow uses to go higher than m/z 500.(done in 1.44B)
  • We need to be able to select some ions to be used in m/z cal and peak shape for V or W only (this was always available and now users can save m/z data sets in 1.44B).
  • Tim O made the suggestion that there be a little button for saving the m/z calibration table with a todo suffix. (done in 1.44B)
  • Allow users to go > 500m/z in baseline panel. (done in 1.44B)
  • Review the use of custom time series - are sanity checks in place? (checks added in 1.44B)
  • In frag (Alice's) diagnostic plots, change legends that give integer m/z values to molecular species.
  • We have problems with averaging PToF runs when the PToF settings change between runs. Have squirrel automatically create different todo waves for each PToF setting. (done in 1.44D)
  • When a user has applied an AB correction and a new ion_eff has been calculated, then adds new hdf files (and indexes, etc) the ion_eff wave may not grow to the needed size. This adding more hdf files scenario could also cause problems when new ionization types (sEI) may appear. (Donna: email from Alberto Presto July 2008 - he used sEI 'mode' when it wasn't soft EI, he just wanted to clearly delineate modes, and we now have sample types to address this). (done mostly in 1.44D - more warnings pop up when the number of points in corr_fact wave is not the same as t_series)
  • sq_verifyTodoForPToF function aborts in case where every run in ToDo wave has PTOF. Currently commentize the abort call to get SQ to pre-process. MJC 1/14/09 (done, I believe, in 1.44A)
  • Manjula thought that when the user puts more hdf files in the data folder, and presses the Get Index button, that the code does not handle new v/w switching and mode changes well. (For example, at first the DAQ is set up to do all v then does v/w switching.) Donna's comment: Right now I cannot reproduce this problem but there was a problem with the diagnostic plot not updating correctly, and this was fixed in 1.43F. (refixed in 1.44D)
  • In frag check tab we need a button to update plots instead of replotting every time. (fixed in 1.44D)
  • In frag diagnostic plots we need to change the 'display gaps' setting.(fixed in 1.44D)

Done in version 1.44

  • Check the labels for graphs generated using x vs tof and dxdlogdp (Done in 1.43I).
  • Possibly rename the checks to be done before preprocessing as 'stick adjustments'. (Done in 1.43I)
  • Change defaults in Frag checks tab to be 'all' and colored by timewave.
  • Fix bug that pops up in Frag checks plots. (Done in 1.43I)
  • Make sure that when doing DC marker corrections squirrel changes todo wave to be todo wave AND allPToF (Donna note: This was done primarily to avoid creation of blanks in the prepocess step but was also added in the corrections tab, done in 1.43I).
  • Add checkbox in Misc - graphs section that sets the default displays to not show gaps. (Done in 1.43I)
  • When preprocessing PToF sticks generate a todo wave that has only PToF runs in it instead of generating dire warning. (Done in 1.43I)
  • Change the preprocess checkbox settings so that the default is to apply dc markers. (Done in 1.43I)
  • An error pops up when trying to creat normalization factors for user defined species (As in Pb for Leah). (The normalization routine was overhauled in 1.43G and this error should no longer appear.)
  • A general warning should pop up when users try to create todo wave names with > x characters. (Done in 1.43E)
  • Add button to generate diagnostic plot if user killed it. (Done in 1.43I)
  • Change default for average mass spec so that only sticks (not sticks + raw) are calculated. (Done in 1.43I)
  • Bug found by Mike Q about checking modifications of all frag waves, not just species selected in average mass spec (fixed in 1.43C-ish)
  • In the m/z calibration panel, make the live option checked automatically when viewing one run. (Done in 1.43I)
  • Bug found by Carly whereby the MS time series for the species all can replace the 'all' todo wave (Done in 1.32I)
  • For PToF size distributions, the total loading for each species should be displayed (somewhat similar to the legends that get displayed with average mass spec). (Total MS and normalization factors are now printed to history - Done in 1.43I)
  • When an intermediate file was not accessed successfully change the code from the existing error message that gets printed to history, to an abort command (Manjula). Done in 1.43I