# Targeted Quant Analysis 流程v3.8.0.1/v3.10.1.3Latest
说明:
示例来源:下述所有示例说明的数据来源为《胶质瘤检测试剂盒》CDT-2301为例。
参数来源:Database (DB)、targeted_quant.json、static.json、instrument.json、common.json
参数来源格式说明:
1. 数据库.表.列名:例如 DB.cartridge.analysis_type_id,表示该参数是获取自数据库Database中Cartridge表对应的 analysis_type_id 列。
2. 数据库.表:例如 DB. analysis_type,表示该参数是获取自数据库 Database 中 Analysis_type 表。
3. Cartridge Info.spray_voltag_pos|neg :竖线 “|”,表示 “或”
# 一、基础数据整合
# 1 读取编码并执行分析流程
环节概述:将试剂盒插入进样口后,设备自动读取当前试剂盒绑定的编码 (Cartridge Code)。点击一键检测后,在数据库中查询所对应的分析类型,并执行相应分析流程。
参数来源:试剂盒RFID绑定的编号、DB.cartridge.analysis_type_id、DB.analysis_type
示例说明
| 内容 | 对应值 |
|---|---|
| 试剂盒RFID绑定的编码 | CDT-2301 |
| cartridge.analysis_type_id | 8 |
| analysis_type | Targeted_quant_IS_C |
# 2 获取定量方法列表
# 2.1 获取试剂盒信息 (Cartridge Info)
环节概述:通过试剂盒绑定编码 (Cartridge Code),在数据库中查询对应的试剂盒信息 (Cartridge Info)
参数来源:试剂盒绑定编码、DB.cartridge、DB.analysis_type.name
参数说明:参见MOS Doc / Guide / 方法参数配置指南
示例说明
{
"cartridge_code": "CDT-2301",
"name_cn": "胶质瘤DCS检测盒",
"name_en": "IDH Gene Mutation Testing Cartridge for Glioma",
"description_cn": "重点毒物PCS检测盒",
"description_en": "IDH Gene Mutation Testing Cartridge for Glioma",
"pre_spray_time": 15000,
"spray_voltage_pos": 4500,
"spray_voltage_neg": 4500,
"binding_params": {
"tags": [],
"compounds": [
"100229"
],
"compounds_intstd": [
"100230"
],
"compound_black_list": []
},
"children": {},
"evaluation_params": {
"quant_model": {
"quant_ratio_calc_mode": "intensity",
"quant_result_average_mode": "spectrum_average"
},
"quant_rules": [
{
"lod": 0.001,
"lloq": 0.001,
"uloq": 10000000,
"unit": "",
"_group_": "default",
"dilution": 1,
"range_ref": [
0.3
],
"curve_coefs": {
"c0": 0,
"c1": 1,
"c2": 0
},
"range_exception": {
"range": [
0.25,
0.35
]
}
}
]
},
"acquisition_params": [
{
"dre": {
"method": {
"average": 1,
"inj_lmco_mz": -1,
"method_type": "MS2",
"scan_mass_end": 300,
"scan_mass_start": 50
},
"enabled": 1,
"dre_mode": "TIC",
"max_times": 20,
"target_tic": 1200,
"inj_size_max": 60,
"inj_size_min": 20,
"notch_mz_tol": 0.5,
"inj_size_init": 45,
"notch_enabled": 1,
"notch_mz_list": [],
"retry_enabled": 1,
"target_tic_max": 2000,
"target_tic_min": 100,
"window_size_min": 0.1,
"spray_validation": {
"valid_tic_min": 0,
"invalid_times_max": 2
},
"window_lifespan_max": 2,
"window_size_extension": 10
},
"cycle": 20,
"method": {
"average": 1,
"inj_size": 60,
"msn_params": [
{
"cid_amp": 0,
"iso_mz_width": 4,
"pre_iso_mz_width": 20
}
],
"scan_speed": 1,
"inj_lmco_mz": -1,
"method_type": "MS2",
"scan_mass_end": 300,
"scan_mass_start": 50
},
"_group_": "100229",
"replicate": 1,
"spectrum_validation": {
"enabled": 1,
"retry_enabled": 1,
"spray_validation": {
"valid_tic_min": 0,
"invalid_times_max": 2
},
"valid_spectrum_max": 5,
"valid_spectrum_min": 5,
"tic_validation_range": [
100,
5000
]
},
"ms2_inherited_from_dre": 1
}
],
"extra_params": {
"spectrum_info": {
"100229": [
{
"mz": 129.019,
"isotopes": []
}
],
"100230": [
{
"mz": 128.035,
"isotopes": [
{
"mz": 129.019,
"intensity": 0.06
}
]
}
]
},
"report_template": "2-hg_default",
"dre_ms1_acquisition": {
"method": {
"average": 1,
"inj_lmco_mz": 50,
"method_type": "MS1",
"scan_mass_end": 300,
"scan_mass_start": 50
},
"enabled": 1,
"dre_mode": "TIC",
"max_times": 10,
"target_tic": 9000,
"inj_size_max": 60,
"inj_size_min": 20,
"inj_size_init": 45,
"target_tic_max": 15000,
"target_tic_min": 150
}
},
"scan_mode_list": [
"normal"
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# 2.2 绑定参数校验
环节概述:
对当前试剂盒的绑定参数进行"不为空"校验
参数来源:
试剂盒绑定编码、DB.cartridge、DB.analysis_type.name
校验过程:
当试剂盒绑定的定量方法类型为IS、IS_C、IS_CD时,需要校验目标物和内标物是否均已绑定;
当试剂盒绑定的定量方法类型为ES,需要校验目标物是否已绑定;
当试剂盒绑定的定量方法类型为Targeted_quant时(一个试剂盒支持绑定多个定量方法),需要校验当前试剂盒是否绑定了定量方法。
# 2.3 获取定量方法列表 (quant_method_list)
# 2.3.1 Targeted_quant定量方法
环节概述:
试剂盒绑定的定量方法为Targeted_quant时,获取binding_params中绑定的定量方法编号(quant_method_codes)和extra_params中绑定的定量方法参数。再将编号和对应方法添加至定量方法列表中。
参数来源:
DB/cartridge/binding_params和extra_params
# 2.3.2 联合内标法(IS_C)定量方法
获取流程:
通过试剂盒信息 (Cartridge Info) 中的绑定参数 (binding_params) ,将compounds_intstd中的首个化合物作为内标物 (IS_C仅支持一个内标物,即使绑定多个,也仅第一个生效);
获取compounds中包含的所有 compound code;
通过试剂盒信息 (Cartridge Info) 中的acquisition_params,获取对应的采集方法参数(联合内标法是多个物质在一张谱图上,所以采集方法参数只有一套);
设置使用内标物和目标物共同进行DRE (spec_tic),设置出谱方式为同谱 (same_spec);
将整合后的参数添加到定量方法列表中。
示例说明:
//以下参数来源:DB/Cartridge/acquisition_params
"quant_method_params_list": [
"quant_method_params": {
"method_type": "IS",
"compound_intstd": "100230",
"compound_target_list": "100229",
"dre": {
"method": {
"average": 1,
"inj_lmco_mz": -1,
"method_type": "MS2",
"scan_mass_end": 300,
"scan_mass_start": 50
},
"enabled": 1,
"dre_mode": "TIC",
"max_times": 20,
"target_tic": 1200,
"inj_size_max": 60,
"inj_size_min": 20,
"notch_mz_tol": 0.5,
"inj_size_init": 45,
"notch_enabled": 1,
"notch_mz_list": [],
"retry_enabled": 1,
"target_tic_max": 2000,
"target_tic_min": 100,
"window_size_min": 0.1,
"spray_validation": {
"valid_tic_min": 0,
"invalid_times_max": 2
},
"window_lifespan_max": 2,
"window_size_extension": 10
},
"cycle": 20,
"method": {
"average": 1,
"inj_size": 60,
"msn_params": [
{
"cid_amp": 0,
"iso_mz_width": 4,
"pre_iso_mz_width": 20
}
],
"scan_speed": 1,
"inj_lmco_mz": -1,
"method_type": "MS2",
"scan_mass_end": 300,
"scan_mass_start": 50
},
"_group_": "100229",
"replicate": 1,
"spectrum_validation": {
"enabled": 1,
"retry_enabled": 1,
"spray_validation": {
"valid_tic_min": 0,
"invalid_times_max": 2
},
"valid_spectrum_max": 5,
"valid_spectrum_min": 5,
"tic_validation_range": [
100,
5000
]
},
"ms2_inherited_from_dre": 1,
"dre_compound_type": "spec_tic",
"scan_spec_type": "same_spec",
"scan_method_type": "MS2"
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# 2.3.3 其他定量方法
获取流程:
通过试剂盒信息 (Cartridge Info) 中的绑定参数 (binding_params) ,获取compounds中包含的所有 compound code;
遍历上述所有code,分别对每个目标物,设置其对应的内标物和采集方法;
外标法(ES)默认不开启DRE,内标法(IS)设置使用内标物进行DRE (intstd_tic),联合DRE内标法(IS_CD) 使用内标物和目标物共同进行DRE (spec_tic),设置出谱方式为异谱 (diff_spec);
将整合后的参数添加到定量方法列表中。
# 二、分析流程执行
# 1 获取当前定量方法的谱图信息 (Quant Spectra Info)
# 1.1 获取化合物编号 (Compound code)
获取流程:遍历定量方法列表,获取当前定量方法中的目标物列表(compound_target_list)和内标物(compound_intstd)
示例说明:[100229, 100230]
# 1.2. 获取谱图信息 (Spectra Info)
环节概述:
根据 Compound Code、当前设备类型 (device type) 和分析类型 (analysis type) ,在数据库中查询当前试剂盒对应的待测物信息 (Spectra Info)
参数来源:
DB.spectrum、DB.compound、DB.experiment、DB.device_type
参数说明:
参见MOS Doc / Guide / 方法参数配置指南
示例说明
//以下参数来源:DB/Cartridge & Spectrum & Compound
[{
"spectrum_id": 1609,
"group": 1,
"compound_code": "100229",
"ms_level": 2,
"peaks": [{"mz": 129.019, "intensity": 1.0}, {"mz": 101, "intensity": 0.0}, {"mz": 85, "intensity": 0.0}],
"extra_param": {},
"method_parameters": {"cid_q": 0.25, "polarity": "NEG", "msn_params": [{"cid_amp": 1.0, "precursor_mz": 147.03}], "method_type": "MS2"},
"compound": {
"code": "100229",
"name_cn": "2-羟基戊二酸(2-HG)",
"name_en": "α-Hydroxyglutaric acid",
"cas": "2889-31-8",
"mass": "148.037",
"formula": "C5H8O5",
"extra_data": {}
}
},
{
"spectrum_id": 1613,
"group": 1,
"compound_code": "100230",
"ms_level": 2,
"peaks": [{"mz": 128.035, "intensity": 1.0}, {"mz": 102.056, "intensity": 0.41}],
"extra_param": {},
"method_parameters": {"cid_q": 0.25, "polarity": "NEG", "msn_params": [{"cid_amp": 1.5, "precursor_mz": 146.046}], "method_type": "MS2"},
"compound": {
"code": "100230",
"name_cn": "L-谷氨酸",
"name_en": "L-Glutamic acid",
"cas": "56-86-0",
"mass": "147.053",
"formula": "C5H9NO4",
"extra_data": {}
}
}]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 1.3. 获取谱图信息 (Spectra Info)
参数来源:
Spectra Info
示例说明
[{
"target_spectrum_id":1609,
"intstd_spectrum_id":1613,
"target_spectrum":{
"spectrum_id": 1609,
"group": 1,
"compound_code": "100229",
"ms_level": 2,
"peaks": [{"mz": 129.019, "intensity": 1.0}, {"mz": 101, "intensity": 0.0}, {"mz": 85, "intensity": 0.0}],
"extra_param": {},
"method_parameters": {"cid_q": 0.25, "polarity": "NEG", "msn_params": [{"cid_amp": 1.0, "precursor_mz": 147.03}], "method_type": "MS2"},
"compound": {
"code": "100229",
"name_cn": "2-羟基戊二酸(2-HG)",
"name_en": "α-Hydroxyglutaric acid",
"cas": "2889-31-8",
"mass": "148.037",
"formula": "C5H8O5",
"extra_data": {}
}
},
"intstd_spectrum":{
"spectrum_id": 1613,
"group": 1,
"compound_code": "100230",
"ms_level": 2,
"peaks": [{"mz": 128.035, "intensity": 1.0}, {"mz": 102.056, "intensity": 0.41}],
"extra_param": {},
"method_parameters": {"cid_q": 0.25, "polarity": "NEG", "msn_params": [{"cid_amp": 1.5, "precursor_mz": 146.046}], "method_type": "MS2"},
"compound": {
"code": "100230",
"name_cn": "L-谷氨酸",
"name_en": "L-Glutamic acid",
"cas": "56-86-0",
"mass": "147.053",
"formula": "C5H9NO4",
"extra_data": {}
}
},
"polarity":"Neg"
}]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 2 获取分析参数analysis_params_
环节概述:
遍历定量谱图信息 (Quant Spectra Info),获取当前待测物的极性。根据当前极性,获取对应的分析参数。分析参数包括谱图采集参数 (acquisition)和谱图评价参数 (evaluation)。
参数来源:
targeted_quant.json、common.json
参数说明:
参见MOS Doc / Guide / 方法参数配置指南
示例说明
//以下参数来源:targeted_quant.json
{
"acquisition": {
"algorithms": {
"peak_picking": {
"distance_th": 0.5,
"max_count": 2000,
"min_intensity_abs": 5000,
"min_intensity_rel": 0,
"top_count": 20
}
},
"cycle": 1,
"dre": {
"enabled": 0,
"inj_size_init": 45,
"inj_size_max": 60,
"inj_size_min": 20,
"max_times": 10,
"method": {
"average": 1,
"inj_lmco_mz": -1,
"method_type": "MS2",
"scan_mass_end": 1000,
"scan_mass_start": 50
},
"notch_enabled": 0,
"notch_mz_list": [],
"retry_enabled": 0,
"spray_validation": {
"invalid_times_max": 2,
"valid_tic_min": 25
},
"target_tic": 2000,
"target_tic_max": 4000,
"target_tic_min": 400
},
"exit_when_dre_failed": 1,
"exit_when_IS_not_found": 1,
"repeat_interval": 0,
"method": {
"average": 1,
"inj_lmco_mz": -1,
"inj_size": 60,
"method_type": "MS2",
"scan_mass_end": 1000,
"scan_mass_start": 50,
"scan_speed": 1
},
"ms2_inherited_from_dre": 0,
"replicate": 1,
"spectrum_validation": {
"desc": "check TIC and IS, tic_range is the same as dre",
"enabled": 0,
"error_code": 90002,
"retry_enabled": 0,
"spray_validation": {
"invalid_times_max": 2,
"valid_tic_min": 0
},
"tic_validation_range": [],
"valid_spectrum_max": 15,
"valid_spectrum_min": 0,
"space_charge_checking": {
"checking_mode": "HeightOrTic",
"checking_mode_desc": "0: None; 1: Height; 2: Tic; 3: HeightOrTic; 4: HeightAndTic;",
"enabled": 0,
"height_threshold": 200000,
"tic_threshold": 30000,
"window_width": 3000
}
}
},
"algorithms": {
"peak_picking": {
"distance_th": 0.5,
"max_count": 2000,
"min_intensity_abs": 5000,
"min_intensity_rel": 0,
"top_count": 30
}
},
"dre_ms1_acquisition": {
"method": {
"average": 1,
"inj_lmco_mz": 50,
"method_type": "MS1",
"scan_mass_end": 300,
"scan_mass_start": 50
},
"enabled": 1,
"dre_mode": "TIC",
"max_times": 10,
"target_tic": 9000,
"inj_size_max": 60,
"inj_size_min": 20,
"inj_size_init": 45,
"target_tic_max": 15000,
"target_tic_min": 150
},
"evaluation": {
"quant_model": {
"demo_result_random_rel_offset": 0.1,
"quant_ratio_calc_mode": "area",
"quant_result_average_mode": "spectrum_average"
},
"quant_rule": {
"curve_coefs": {
"c0": 0,
"c1": 1,
"c2": 0
},
"dilution": 1,
"lloq": 0,
"lod": 0,
"lob": -1,
"range_exception": {
"error_code": 90001,
"range": []
},
"range_ref": [],
"uloq": 10000000,
"unit": ""
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# 3 更新采集参数acquisition_params
环节概述:
将试剂盒信息 (Cartridge Info)中acquisition_params、extra_params等字段包含的参数更新到对应的采集参数中。
参数来源:
Cartridge Info. acquisition_params、Cartridge Info. extra_params
参数说明:
参见MOS Doc / Guide / 方法参数配置指南
示例说明
//以下参数来源:DB/Cartridge/acquisition_params
{
"_group_": "100229",
"algorithms": {
"peak_picking": {
"distance_th": 0.5,
"max_count": 2000,
"min_intensity_abs": 5000,
"min_intensity_rel": 0,
"top_count": 20
}
},
"cycle": 20,
"dre": {
"method": {
"average": 1,
"inj_lmco_mz": -1,
"method_type": "MS2",
"scan_mass_end": 300,
"scan_mass_start": 50
},
"enabled": 1,
"dre_mode": "TIC",
"max_times": 20,
"target_tic": 1200,
"inj_size_max": 60,
"inj_size_min": 20,
"notch_mz_tol": 0.5,
"inj_size_init": 45,
"notch_enabled": 1,
"notch_mz_list": [],
"retry_enabled": 1,
"target_tic_max": 2000,
"target_tic_min": 100,
"window_size_min": 0.1,
"spray_validation": {
"valid_tic_min": 0,
"invalid_times_max": 2
},
"window_lifespan_max": 2,
"window_size_extension": 10
},
"exit_when_dre_failed": 1,
"exit_when_IS_not_found": 1,
"repeat_interval": 0,
"method": {
"average": 1,
"inj_size": 60,
"msn_params": [
{
"cid_amp": 0,
"iso_mz_width": 4,
"pre_iso_mz_width": 20
}
],
"scan_speed": 1,
"inj_lmco_mz": -1,
"method_type": "MS2",
"scan_mass_end": 300,
"scan_mass_start": 50
},
"ms2_inherited_from_dre": 1,
"replicate": 1,
"spectrum_validation": {
"enabled": 1,
"retry_enabled": 1,
"spray_validation": {
"valid_tic_min": 0,
"invalid_times_max": 2
},
"valid_spectrum_max": 5,
"valid_spectrum_min": 5,
"tic_validation_range": [
100,
5000
]
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# 4 执行数据采集
# 4.1 判断是否进入DRE流程
环节概述:判断Targeted分析流程中是否需要运行DRE分析流程
判断依据:dre.enable = 0 (未开启) | 1 (开启)
参数来源:DB.cartridge.acquisition_params.dre.enable
判断结果:当开启DRE时(dre.enable = 1),执行DRE流程 (6.2);当未开启DRE时(dre.enable = 0),执行MS2扫描流程 (6.3)。
# 4.2 执行DRE流程
1) DRE参数整合
环节概述:获取扫描序列的首行,将当前物质的采集方法参数和DRE参数整合,用于后续执行DRE扫描流程。当为外标法(ES),则采用待测物的采集方法参数;当为内标法(IS)或联合内标法(IS_C),则采用内标法的采集方法参数;当为内标法联合DRE(IS_CD),则采用整合后的联合方法参数(combine_method_paremeters)。
参数来源:DB.cartridge、targeted_quant.json
参数说明:参见MOS Doc / Guide / 方法参数配置指南
示例说明
//以下参数来源:DB.cartridge.method_params
"polarity": "NEG",
"spray_voltage": 4500,
// cid_amp 目标物和内标物的cid_amp 二者取最大值,precursor_mz为目标物和内标物二者的precursor均值
"msn_params": [{"cid_amp":1.5,"precursor_mz":146.538}],
//以下参数来源:DB/cartridge/acquisition_params/dre
"average": 1,
"inj_lmco_mz": -1,
"method_type": "MS2",
"scan_mass_end": 300,
"scan_mass_start": 50,
"enabled": 1,
"dre_mode": "TIC",
"max_times": 20,
"target_tic": 1200,
"inj_size_max": 60,
"inj_size_min": 20,
"notch_mz_tol": 0.5,
"inj_size_init": 45,
"notch_enabled": 1,
"notch_mz_list": [],
"retry_enabled": 1,
"target_tic_max": 2000,
"target_tic_min": 100,
"window_size_min": 0.1,
"spray_validation": {"valid_tic_min": 0,"invalid_times_max": 2},
"window_lifespan_max": 2,
"window_size_extension": 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2) 更新notch_mz_list
- 环节概述:判断是否需要更新notch_mz_list
- 判断依据:notch_enable = 0 (未开启) | 1 (开启)
- 参数来源:DB.cartridge.acquisition_params.dre
- 判断结果:当开启时(notch_enable = 1),执行更新操作;当未开启时(notch_enable = 0),则不执行。
- 更新逻辑:
- 方法类型为MS1时,清空notch_mz_list;
- 方法类型为MS1_ISO时,当notch_mz_list不为空时,创建target_peaks,并将notch_mz_list中的m/z值添加到target_peaks;如果notch_mz_list为空时,获取precursor_mz并添加到notch_mz_list和target_peaks中。
- 方法类型为MS2或MS2_ISO时,当notch_mz_list不为空时,创建target_peaks,并将notch_mz_list中的m/z值添加到target_peaks;如果notch_mz_list为空时,获取peaks,并按强度从大到小排序,选择强度最高的peak 并添加到notch_mz_list和target_peaks中。
3) 执行DRE扫描流程
- 环节概述:
根据采集方法参数生成扫描方程并执行数据采集,并根据每次采集谱图的tic值动态计算下次采集的进样量,最终获得最佳进样量。 - 特殊处理:
当dre谱图数据采集循环 (max_times) 结束,并且最后一次采集的谱图仍不满足DRE要求时,当开启了重试功能后,进入重试流程。 - 流程描述:
- 当开启重试功能(analysis_params_.acquisition.dre.retry_enable = 1) 时,首先检查当前试剂盒喷雾是否正常:
- 倒序遍历历史谱图,计算当前谱图的TIC值,并与valid_tic_min (DB.cartridge.acquisition_params.dre. spray_validation = 0) 比较。若所有谱图的的TIC值 均大于 valid_tic_min,则说明该试剂盒喷雾正常。若不满足条件 的谱图数量多于3张,则当前试剂盒喷雾存在问题。
- 若试剂盒喷雾正常,则将最大尝试次数设置为原参数的2倍(原max_times = 20,新max_times = 40),继续执行谱图数据采集;若喷雾存在问题,则退出DRE流程,并返回DRE结果状态。
4) 判断DRE返回的结果状态
- 环节概述:判断DRE流程的结果状态
- 判断依据:
- 条件1:analysis_params_.acquisition.exit_when_dre_failed = 0 (未开启) | 1 (开启),默认为未开启 (Targeted流程的业务逻辑决定的)
- 条件2:DreExitWhenExceededMaxAttempts (max_times,超过最大尝试次数) 或返回的结果状态为Success
- 参数来源:
- exit_when_dre_failed:DB.cartridge.acquisition_params
- 判断结果:
- 其他情况均会停止分析流程,并提示"进样失败,请重试"。
5) 判断DRE的谱图是否用于数据库匹配
- 环节概述:判断是否将DRE采集的谱图用于后续数据库匹配流程
- 判断依据:ms2_inherited_from_dre = 0 (未开启) | 1 (开启) ,默认为开启。
- 参数来源:DB.cartridge.acquisition_params
- 判断结果:
- 当开启时,最佳谱图用于后续的数据库匹配流程 (4);
- 当未开启时,则进入MS2扫描流程 (3.3)。
# 4.3 执行MS2扫描流程
- 环节概述:当未开启DRE流程 或 开启DRE但放弃DRE最佳谱图的使用 或 当有多圈循环(cycles),从第二圈循环开始时,执行 MS2扫描流程。
- 判断依据:
- dre.enable = 0 (未开启)
- ms2_inherited_from_dre = 0 (未开启)
- current_cycle > 0 (0为第一圈循环)
- 遍历扫描序列
1) 获取对应的MS2采集方法参数
- 环节概述:分别整合待测物和内标物的MS2采集方法(整合到对应的Compounds_Spectra_Info.ms2.method_parameters),且优先整合内标物。
- 参数来源:Cartridge Info. acquisition_params、static.json、targeted_quant.json
- 参数说明:参见MOS Doc / Guide / 方法参数配置指南
- 示例说明:(以待测物为例)
//以下参数来源:DB.cartridge.method_params
"method_type": "MS2"
"polarity": "NEG",
"spray_voltage": 4500,
// cid_amp
"msn_params": [{"cid_amp":1.0,"precursor_mz":147.03 "iso_mz_width": 4, "pre_iso_mz_width": 20}],
"cid_q": 0.25,
//以下参数来源:tDB/cartridge/acquisition_params/dre 或者DRE的结果
"inj_size": "60 (默认,未开启DRE) 或DRE结果(未开启继承DRE谱图)"
//以下参数来源:DB/cartridge/acquisition_params/dre
"repeat": 1,
"repeat_interval": 0,
"spec_repeat": 20, //spec_repeat和cycle取最大值
"spec_repeat_interval": 0,
"average": 1,
"scan_mass_end": 300,
"scan_mass_start": 50,
"scan_speed": 1,
"average":1,
//以下参数来源:common.json/method_parameters_default
"iso_q": 0.75,
"pre_iso_q": 0.75,
"pt_per_th": 100,
"scan_q": 0.75,
"trap_q": 0.3
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
外标法 (ES)
- 环节概述:因无内标物,所以整合待测物MS2采集方法即可。
内标法 (IS)
- 环节概述:分别整合内标物和待测物的MS2采集方法。
联合内标法 (IS_C)
- 环节概述:分别整合内标物和待测物的MS2采集方法,再根据内标物和待测物的采集方法,在待测物的MS2采集方法基础上整合为一个新的采集方法(combine_method_paremeters)。
- 整合过程:
- 获取内标物和待测物的precursor,取均值作为新方法的precursor。
- 获取内标物和待测物的cid_amp,取二者之间的最大值作为新方法的cid_amp
- 获取内标物和待测物的cid_q,取二者之间的最小值作为新方法的cid_q
- 其他参数均采用待测物的采集参数
- 整合完成后,将该方法更新至内标物和待测物对应的Compounds_Spectra_Info.ms2.method_parameters中
联合DRE内标法 (IS_CD)
- 环节概述:整合内标物和待测物的采集方法后,先将分析参数中DRE的方法参数(analysis_params_.DRE.method) 分别整合到内标物和待测物的采集方法中,再在待测物的MS2采集方法基础上整合为一个新的采集方法(combine_method_paremeters)。
- 整合过程:
- 获取分析参数中DRE的方法参数(analysis_params_.DRE.method),再分别整合到内标物和待测物的采集方法中。
- 获取内标物和待测物的precursor,取均值作为新方法的precursor。
- 获取内标物和待测物的cid_amp,取二者之间的最大值作为新方法的cid_amp
- 获取内标物和待测物的cid_q,取二者之间的最小值作为新方法的cid_q
- 其他参数均采用待测物的采集参数
- 获取更新后内标物的采集参数,作为combine_method_paremeters参与执行数据采集中的DRE流程
2) 创建扫描序列(scan_list)
环节概述:若定量方法为内标法(IS)或内标法联合DRE (IS_CD),则扫描序列为先内标物,再待测物。若为外标法(ES)或联合内标法 (IS_C),则按照化合物谱图信息 (Compound Spectra Info)中的顺序进行扫描。
3) 创建MS2扫描方程
4) 生成动态SWIFT
5) 判断预喷模式并执行预喷
- 假设前提:仪器经过正模式和负模式下各一次预喷雾后,仪器趋于稳定。
- 设计思路:
- 当流程开始后,首次进样前,判断是否为首次预喷。如果是,则直接执行预喷操作 (PRE_SPRAY_FORCE),如果不是,则判断是否为首次切换极性;
- 判断是否为首次切换极性。如果是,则执行预喷操作 (PRE_SPRAY_BY_POLARITY );
- 当首次预喷和首次切换极性均完成后,直到本次分析流程结束前,再无需进行预喷操作,直接切换极性即可 (SWITCH_POLARITY_ONLY)。
6) 执行扫描
7) 谱图TIC有效性验证
- 环节概述:扫描的谱图必须满足TIC值在固定范围内,方可认为是有效谱图,否则将跳出当前循环,重新执行MS2扫描。
- 判断依据:spectrum_validation_enabled = 1 并且验证的是扫描序列首行的扫描结果(当为IS时,谱图为待测物谱图;当为IS_C时,谱图为内标+待测物谱图;其他方法,谱图为内标物谱图。)
- 判断逻辑:
- 计算当前谱图的TIC值(若开启DRE且开启notch功能,则计算Notch TIC值)
- 获取谱图TIC有效性的范围(DB.cartridge.acquisition_params.spectrum_validation)
- 将计算值与范围进行比较,若满足范围,则继续进行后续的数据库匹配流程 (7);若不在范围内,则跳出当前循环,重新执行MS2扫描流程。
# 5 执行数据库匹配
# 5.1 MS2谱图处理
1) 获取MS2谱图寻峰参数 (peak_picking)
参数内容:
//以下参数来源:targeted_quant.json/parameters/acquisition/algorithms/peak_picking
"distance_th": 0.5,
"max_count": 2000,
"min_intensity_abs": 5000,
"min_intensity_rel": 0,
"top_count": 20
2
3
4
5
6
7
2) 对当前谱图进行寻峰
3) 获取质量数计算所需参数
参数内容:
//以下参数来源:DB/Cartridge/acquisition_params/method
"scan_mass_end": 300,
"scan_mass_start": 50,
//以下参数来源:common.json/method_parameters_default
"pt_per_th": 100,
//以下参数来源:common.json/scan_mode_list/method/normal|high_quality|high_mass
"scan_q": 0.75,
//以下参数来源:instrument.json/parameters/scan_profiles/"scan_mode": "normal"/spec_params/mass_calib
{
"mode": "piecewise_linear_keep_slope",
"mode_desc": "linear, poly_2, piecewise_linear, piecewise_linear_keep_slope, staircase",
"r2": 1,
"x": [2597.031538,4591.257077,8585.040308,12574.20234,16559.45412,20542.57305,24513.96123],
"x_desc": "dac",
"y": [55.57275,97.61925,181.71375,265.8075,349.90125,433.995,518.0895],
"y_desc": "mz*q"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
4) 计算质量数
# 5.2 MS2谱图匹配
- 获取MS2谱图匹配 (peak_matching)
参数内容:
//以下参数来源:common.json/base_analysis_params/acquisition/algorithms/peak_matching
"ms1_mz_tol": 0.5,
"ms2_mz_tol": 0.5,
"ms3_mz_tol": 0.5,
//以下参数来源:common.json/base_analysis_params/acquisition/algorithms/peak_matching
"min_intensity_abs": 8000
//以下参数来源:代码默认(acquisition.cpp)
peak_match_any = 1;
peak_matched_cnt_min = 1;
2
3
4
5
6
7
8
9
10
11
12
- 获取待测物MS2谱图标准峰
- 将当前待测物的实际峰与标准峰进行匹配,并标记匹配结果 (True / False)
# 6 有效TIC谱图数量统计
- 环节概述:通过了TIC有效性验证的谱图,在谱图数量上也有要求。
- 判断依据:谱图数量必须满足在valid_spectrum_max和valid_spectrum_min范围内。
- 判断逻辑:
- 当谱图数量达到valid_spectrum_max后,不再执行MS2扫描流程。
- 当重复了既定目标次数(spec_repeat)后,有效谱图数量始终未达到valid_spectrum_max,若此时谱图数量未达到valid_spectrum_min时,当开启重试功能 (spectrum_validation.retry_enable = 1),首先判断试剂盒喷雾是否正 常,若试剂盒正常,则将谱图重复次数(spec_repeat)设置为原参数的2倍(原spec_repeat = 20,新spec_repeat = 40),继续执行谱图数据采集。若未开启重试功能或试剂盒不再喷雾,流程停止,界面报错。
# 7 执行谱图评估
# 7.1 执行MS1 DRE
环节概述:
客户需求,若未开启,则直接进行定量结果计算流程。判断依据:
DB.cartridge.extra_params.dre_ms1_acquisition.enable = 0 (未开启) | 1 (开启)流程概述:
- 1) MS1 DRE参数整合
//以下参数来源:DB/Cartridge/extra_params
"dre_ms1_acquisition": {
"method": {
"average": 1,
"inj_lmco_mz": 50,
"method_type": "MS1",
"scan_mass_end": 300,
"scan_mass_start": 50
},
"enabled": 1,
"dre_mode": "TIC",
"max_times": 10,
"target_tic": 9000,
"inj_size_max": 60,
"inj_size_min": 20,
"inj_size_init": 45,
"target_tic_max": 15000,
"target_tic_min": 150,
"cid_q": 0.25,
"msn_params": [
{
"cid_amp": 1.0,"precursor_mz": 147.03 "iso_mz_width": 4,
"pre_iso_mz_width": 20
}
],
"polarity": "NEG",
"spray_voltage": 4500
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
- **2) 执行MS1 DRE**
- **3) 获取最佳谱图;当没有最佳谱图时,选择最后一张谱图作为最佳谱图**
- **4) 对上述谱图进行寻峰操作**
# 7.2 谱图采集有效性验证
- 环节概述:主要针对有内标物质参与的定量方法。需要匹配到内标物的谱图,方可认为谱图是有效的,才可以用于定量结果的计算。
- 判断逻辑:
- 当定量方法为外标法(ES)时,只需要有待测物的谱图即可。
- 当有内标物质参与定量(IS、IS_C、IS_CD)时,若未匹配到内标物,则该组数据无效,并且界面报错"内标物缺失"。
- 当定量方法为联合内标法(IS_C)时,在判断是否匹配到内标物的同时,还需计算实际峰强度并判断是否达到寻峰的最小强度阈值,若未达到则该组数据无效。
- 实际峰强度 = 内标物的峰强度总和 — 待测物的同位素强度总和
# 7.3 定量结果计算
- 环节概述:首先根据谱图计算方法,分别计算待测物和内标物(如存在内标)的峰强度或封面积;再根据比值计算方法,计算比值(ratio)。
- 参数来源:
- 谱图计算方法 DB.cartridge.evaluation_params.quant_model.quant_result_average_mode
- 谱图平均法 (Spectra Average,目前常用):遍历有效谱图列表,将待测物和标准物的raw data分别累加求和,并根据有效谱图数量求取平均值。再进行滤波处理,对滤波后的谱图进行寻峰、质量数计算以及数据库匹配的操作。完成后,再执行结果平均法。
- 结果平均法 (Result Average)
- 计算峰强度:分别对所有有效谱图的目标峰总强度(total_peaks_intensity_sum)和同位素峰总强度(total_isotopes_intensity_sum)累加求和,再计算均值(peaks_intensity和isotopes_intensity)
- 计算峰面积:分别对所有有效谱图的目标峰总面积(total_peaks_area_sum)和同位素峰总面积(total_isotopes_area_sum)累加求和,再计算均值(peaks_ area和isotopes_ area)
- 比值计算方法 DB.cartridge.evaluation_params.quant_model.quant_ratio_calc_mode
- 强度比值 (intensity_ratio) = (peaks_intensity_target - isotopes_intensity_intstd) / (peaks_intensity_intstd - isotopes_intensity_ target)
- 面积比值 (area_ratio) = (peaks_area_target - isotopes_ area_intstd) / (peaks_area_intstd - isotopes_area _ target)
- 谱图计算方法 DB.cartridge.evaluation_params.quant_model.quant_result_average_mode
# 8 判断是否需要换试剂盒
环节概述:
判断当前分析流程的重复次数 (replicate) 是否完成。
判断结果:
未完成,STD提示更换试剂盒,继续检测;已完成,计算盒间均值。
# 9 计算盒间均值
- 计算盒间峰强度比值的均值(average_intensity_ratio):将盒间的峰强度比值累加求和,再计算均值
- 计算盒间峰面积比值的均值(average_area_ratio):将盒间的峰面积比值累加求和,再计算均值
# 10 计算定量结果
- 峰强度计算定量浓度:Concentration = (C2 × average_intensity_ratio^2 + C1 × average_intensity_ratio + C0) × dilution_factor
- 峰面积计算定量浓度:Concentration = (C2 × average_area_ratio^2 + C1 × average_area_ratio + C0) × dilution_factor
# 三、结果文件输出
- 调用报告模板,展示结果列表在 STD 界面
- 补充样本信息 (前台界面)
- 保存报告 (前台界面)
- 生成report.json (用于提升 STD 查询报告效率的索引,reports.json -> report.json)、MRZ 文件 (核心文件)、PDF 文件 (用于打印) 和 PNG 文件 (用于 STD 点击报告的展示)
- 分析流程结束,进行下一个检测