Chemstation tuning macros and display

Discussions about GC-MS, LC-MS, LC-FTIR, and other "coupled" analytical techniques.

5 posts Page 1 of 1
Hi,

Has anybody ever seen detailed documentation on the internals of the Chemstation tuning macros?

As part of my completely off-the-wall project for resurrecting a 5890/5971 I have developed a working program in python that can control 5971 MSDs for basic functionality - single scans, and acquisition of runs in scan mode. Modification to support 5972s and 5970s with SCII should be trivial. Adding SIM mode is a matter of finding the time to develop a SIM method and verify it.

However, any software to run an MSD is of no use if you can't tune the instrument. My software can use existing .U files to load tuning parameters but can't (yet) tune the MSD.

I am trying to reimplement the functionality of the 5970/71/72 tuning commands, and running into the following issues:

Both autotune and quicktune use built in commands 'simramp', 'axis' and 'abundance' which appear to be predefined internal functions in G1701AA and BA.

I have at least a suspicion of how 'axis' works based on the actual mass spec commands it issues. The same goes for 'simramp'. I have implemented neither functionality yet.

'abundance' is giving me major headaches:

Performing partial scans of m/z +-5 at 69, 219 and 502 and step 0.1amu with the calibration valve open results in a peak at 502 which looks very similar to what I see in Chemstation. For the other 2 ions, the resultant peaks look wildly different.
Basically, they seem to split 2 or 3 ways with very narrow peaks with a Pw50 of around 0.1 on the highest peak.

I'm pretty sure my initial tuning and scan parameters are the same as in Chemstation. The 5971 tunes fine in Chemstation and does not report any errors.

Adding a Savitzky-Golay filter to the output does reduce the splitting but adds other artifacts that aren't present in the Chemstation graphs.

Any ideas on what's going on here? Is Chemstation applying a particular filter to partial scans?
A little update- my split peaks and weird abundances were caused by incorrect decoding of the returned scan data from the MS. I now have comparable peaks to what Chemstation is reporting.

I'd still love to know if anybody has documentation on the 'abundance' and 'axis' builtin functions. For unknown reasons, the 5973 doesn't use the builtin 'axis' function but has its own 'adj_axis' macro that i can probably use as a model. That doesn't help with 'abundance' though.

I have a good idea of what abundance does to arrive at adjusted abundance values but I can't work out how it decides on trial AMU gain and offset values for peak width. Basically it ramps the AMU gain up and the AMU offset down but it doesn't use fixed ramp steps and seems to back off the gain at one point.
dirkn wrote:
A little update- my split peaks and weird abundances were caused by incorrect decoding of the returned scan data from the MS. I now have comparable peaks to what Chemstation is reporting.

I'd still love to know if anybody has documentation on the 'abundance' and 'axis' builtin functions. For unknown reasons, the 5973 doesn't use the builtin 'axis' function but has its own 'adj_axis' macro that i can probably use as a model. That doesn't help with 'abundance' though.

I have a good idea of what abundance does to arrive at adjusted abundance values but I can't work out how it decides on trial AMU gain and offset values for peak width. Basically it ramps the AMU gain up and the AMU offset down but it doesn't use fixed ramp steps and seems to back off the gain at one point.


For the AMU gain and offset, just remember that gain will effect the higher masses to a greater value than the lower, so it would appear that adjustments to gain cause an logarithmic or exponential change versus mass number, while offset changes values in a linear fashion. So the logic of the function will be that if the peak widths are all off by the same amount ( say 0.8 and you need 0.5) then offset is used for the adjustment, if they are off in a varying manor (say 69 is 0.7 and 502 is 0.9) then gain is used to bring them to similar values, then offset will adjust them to the required value.
The past is there to guide us into the future, not to dwell in.
Thanks for that- going back to basics helped me understand what the 'width' command was likely doing internally. As did performing some manual tunes and looking at the help files, which are surprisingly complete in documenting built-in Chemstation commands, if not their exact internal operation.

In fact, in spite of their age, the Chemstation help files are almost a model for what good documentation in detail should be like. I'm actually more shocked that HP/Agilent appears never to have issued reference manuals with the same level of detail. Or are those just lost in the mists of the pre-PDF era?

As a result, i now have a working quicktune implementation.

How do you choose repeller voltage values? The ramp shows better convergence of abundances at the extremes than in the middle, but the system seems to default to a value in the middle of the range. I do realise low repeller voltages mean low abundances and too high repeller voltages can reduce selectivity.
dirkn wrote:
Thanks for that- going back to basics helped me understand what the 'width' command was likely doing internally. As did performing some manual tunes and looking at the help files, which are surprisingly complete in documenting built-in Chemstation commands, if not their exact internal operation.

In fact, in spite of their age, the Chemstation help files are almost a model for what good documentation in detail should be like. I'm actually more shocked that HP/Agilent appears never to have issued reference manuals with the same level of detail. Or are those just lost in the mists of the pre-PDF era?

As a result, i now have a working quicktune implementation.

How do you choose repeller voltage values? The ramp shows better convergence of abundances at the extremes than in the middle, but the system seems to default to a value in the middle of the range. I do realise low repeller voltages mean low abundances and too high repeller voltages can reduce selectivity.


When tuning manually I use repeller to optimize my low end sensitivity when doing volatiles and tuning to meet BFB criteria, I will bias a little more towards 219 when tuning for semivolatiles and tuning to meet DFTPP criteria. For standard autotune it normally maximizes the 219. The target tuning for specific tune criteria does a lot of iterations on the lenses to try to optimize high versus low mass, I know those tunes take a lot longer to run than just standard autotune. Manually tuning a 5971 I usually always maxed out the repeller since the range maxed out lower than the 5972 and newer units, also with the 5972 they introduced variable emission current settings which also helps with optimizing the repeller.

I still normally run an autotune when first setting up a new instrument then manually tune after that. Of course I began using the 5970 and 5995 mass specs running RTE Chemstation so I had a ton of practice doing it manually :)
The past is there to guide us into the future, not to dwell in.
5 posts Page 1 of 1

Who is online

In total there is 1 user online :: 0 registered, 0 hidden and 1 guest (based on users active over the past 5 minutes)
Most users ever online was 1117 on Mon Jan 31, 2022 2:50 pm

Users browsing this forum: No registered users and 1 guest

Latest Blog Posts from Separation Science

Separation Science offers free learning from the experts covering methods, applications, webinars, eSeminars, videos, tutorials for users of liquid chromatography, gas chromatography, mass spectrometry, sample preparation and related analytical techniques.

Subscribe to our eNewsletter with daily, weekly or monthly updates: Food & Beverage, Environmental, (Bio)Pharmaceutical, Bioclinical, Liquid Chromatography, Gas Chromatography and Mass Spectrometry.

Liquid Chromatography

Gas Chromatography

Mass Spectrometry