Calculation of % retention time difference using bracketing standards

The method requires calculating % difference of sample retention time (RT) vs. bracketing standard RT.

An example sample set is:

Bracketing std 1 (S0101)
Sample 1 (U0101) each sample is injected twice
Sample 2 (U0102)
Bracketing std 2 (S0201)
Sample 3 (U0201)
Sample 4 (U0202)
Bracketing std 3 (S0301)
Sample 5 (U0301)
Sample 6 (U0302)
Bracketing std 4 (S0401)

For the 1st set (U0101),  % RT difference is calculated by:
|(average of S0101 and S0201) - U0101| x 100 / (average of S0101 and S0201)

For the 2nd set (U0201), % RT difference is calculated by:
|(average of S0201 and S0301) - U0201| x100 / (average of S0201 and S0301)

For the 3rd set (U0302), % RT difference is calculated by:
|(average of S0301 and S0401) - U0302| x100 / (average of S0301 and S0401)

Currently, I created a CF to obtain average of each bracketing set, "(S0101,1,260,(Retention Time)+S0201,1,260(Retention Time)) / 2" for the 1st set (named as "Average_RT_1stSet"), "(S0201,1,260,(Retention Time)+S0301,1,260(Retention Time)) / 2" for the 2nd set (named as "Average_RT_2ndSet)......

and then another CF to calculate % RT difference for each set, "ABS(U01%,%,260(Retention Time)-Average_RT_1stSet)/Average_RT_1stSet*100" for the 1st set, "ABS(U02%,%,260(Retention Time)-Average_RT_2ndSet)/Average_RT_2ndSet*100" for the 2nd set......

It works, but I am wondering if there is a simpler way to calculate so that I do not need to create many lines of CFs. 


  • You could incorporate all these equations in one cf. Be sure you have all the brackets in correctly and i would advise typing the formula in Word then pasting into the cf editor as they are long.
    Create a peak, enum cf with Use as set to Field. The formula is ENUM(EQ(Label,"U0101")IEQ(Label,"U0102"),EQ(Label,"U0201")IEQ(Label,"U0202"),EQ(Label,"U0301")IEQ(Label,"U0302")) the I symbol is "or" so if the label is either U0101 or U0102, the calculation will kick in. The formula for the 3 positions in the translation table is as follows. Its critical you put a space at the end of the formula followed by (fc) which denotes field code, otherwise the calculations wont work. Ill transcribe the formula for position 0 which refers to U0101 and U0102. Substitute the U02 and different bracketing standards for the other 2 formulas, which is easier if you copy and paste.

    ((ABS(U01%.%.(Retention Time)-((0.5*(S0101.%.(Retention Time)+S0201.%.(Retention Time)))))/((0.5*(S0101.%.(Retention Time)+S0201.%.(Retention Time)))))*100 (fc)

    You dont need to specify channel unless performing cross channel calculations so i left it blank, which means all channels will be calculated. Plus i use a period (.) Between label,injection,channel and field you use a comma but that must be down to different regions use of Empower.
    The above cf will increase processing time of sample sets up to 5 or more minutes but its still quicker than making several cfs. Good luck.
  • To calculate an average of bracketing, I had to use "/2" instead of "*0.5" because I received an error message if I use "0.5*". 
    I used following formula for each translation formula, and it worked! 

    ABS(((S0101,%,(Retention Time)+S0201,%,(Retention Time))/2)-U01%,%,(Retention Time))*100/((S0101,%,(Retention Time)+S0201,%,(Retention Time))/2) (fc)

    ABS(((S0201,%,(Retention Time)+S0301,%,(Retention Time))/2)-U02%,%,(Retention Time))*100/((S0201,%,(Retention Time)+S0301,%,(Retention Time))/2) (fc)




    Your advice was very helpful. Thank you so much for your help!