Day 5 of daily blogging. Yesterday I worked on the XLSIrradiationLoader
and the associated tests. All tests are
passing and the process appears to work correctly. My main concern is the automatic labnumber generation. There are
some boundary cases that may cause unexpected results. These can be avoided by careful configuration but it is not
wise to leave this to users. They will only be confused and incapable of using this feature correctly. First, duplicate
labnumbers are only skipped and not properly handled, i.e. if a duplicate is encountered a sophisticated mechanism for
1) jumping ahead to the first available labnumber or 2) canceling is required. Second, if the
base_irradiation_offset
is less than the total number of positions for a given irradiation, the autogenerated
labnumber for the next irradiation/level will be a duplicate. Third, using different starting points for Monitors and
Unknowns is not currently available.
There is the option to explicitly set the labnumbers in the Excel file. Perhaps the best solution to labnumber numbering is to do a four step process. 1) Add all the irradiations, levels and positions in the import file 2) generate labnumbers for all positions but don’t save 3) display the table of generated labnumbers, identifying conflicts and allow the user to make fixes 4) save the labnumbers.
I also started work on the a class to export irradiation information from Pychron to MassSpec. Unittests have been developed and the first few steps of the process are tested and passing, but more work is required for exporting the production ratios and irradiation positions.
Today I will continue to work on the XLSIrradiationLoader
, addressing mainly the auto labnumber generation. I will
also start to work on the manual entry process. The current model is to use something similar to the Experiment editing
process, where there is a separate editor pane for interacting with the level table. Using the editor pane allows for
bulk editing and selecting existing projects, samples, and materials from the database.