解決策 1

同じサンプル名(Pair_N)を付けてペアを同定しました。

各ペアについて、最初の注入データは常にスパイクしないサンプルで、次の注入データがスパイクしたサンプルです。

スパイク添加した濃度は常に 10 となります。

カスタム計算

  • スコープ:ピーク / グループ

  • データ型:実数型

  • 式:

    IF(Sample_Name like "Pair*", (AllMatchingPeaksAndGroups(MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName(Sample_Name)).Last().Compound_Amount - AllMatchingPeaksAndGroups(MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName(Sample_Name)).First().Compound_Amount)/10*100, "")

式の説明:

式の部分(ハイライト)

説明

IF(Sample_Name like "Pair*", (AllMatchingPeaksAndGroups( MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).Last().Compound_Amount - AllMatchingPeaksAndGroups(MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).First().Compound_Amount)/10*100, "")

Sample_Name が「Pair」で始まらない場合、値は返されません。

IF(Sample_Name like "Pair*", (AllMatchingPeaksAndGroups( MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).Last().Compound_Amount - AllMatchingPeaksAndGroups(MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).First().Compound_Amount)/10*100, "")

任意のリストの「一致する」ピークのリストを返します。

IF(Sample_Name like "Pair*", (AllMatchingPeaksAndGroups( MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).Last().Compound_Amount - AllMatchingPeaksAndGroups(MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).First().Compound_Amount)/10*100, "")

MatchOption.Compound とは、一致するピークやグループが、化合物名で選択されることを意味します。したがって、現在のものと同じ化合物名のピークやグループのリストを返します。

IF(Sample_Name like "Pair*", (AllMatchingPeaksAndGroups( MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).Last().Compound_Amount - AllMatchingPeaksAndGroups(MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).First().Compound_Amount)/10*100, "")

MatchingPeaks は、現在のものと同名の注入データのリストを検索します。ここでは、注入データの「ペア」を同定します。

注入データの「ペア」にある 2 つのピークやグループに対応する 2 つのピークやグループのリストがあります。

IF(Sample_Name like "Pair*", (AllMatchingPeaksAndGroups( MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).Last().Compound_Amount - AllMatchingPeaksAndGroups(MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).First().Compound_Amount)/10*100, "")

リストの最後のアイテムが選択されています。ここでは、スパイクした注入データのピークやグループです

IF(Sample_Name like "Pair*", (AllMatchingPeaksAndGroups( MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).Last().Compound_Amount - AllMatchingPeaksAndGroups(MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).First().Compound_Amount)/10*100, "")

スパイクした注入データの Compound_Amount を返します

IF(Sample_Name like "Pair*", (AllMatchingPeaksAndGroups( MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).Last().Compound_Amount - AllMatchingPeaksAndGroups(MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).First().Compound_Amount)/10*100, "")

スパイクしなかった注入データの Compound_Amount を返します

IF(Sample_Name like "Pair*", (AllMatchingPeaksAndGroups( MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).Last().Compound_Amount - AllMatchingPeaksAndGroups(MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).First().Compound_Amount)/10*100, "")

10 はスパイク添加した濃度です

IF(Sample_Name like "Pair*", (AllMatchingPeaksAndGroups( MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).Last().Compound_Amount - AllMatchingPeaksAndGroups(MatchOption.Compound, CurrentSequence.AllInjectionsBySampleName( Sample_Name)).First().Compound_Amount)/10*100, "")

*100 はパーセントの結果を得るためです