# Targeted Analysis 流程

注意

此文档已过时,推荐阅读 最新版本

示例来源:下述所有示例说明的数据来源为《重点检测毒物检测盒》CPT-7900,在分析流程执行后 以待测物100305百草枯为例。

参数来源:Database (DB)、targeted.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 :竖线 “|”,表示 “或”
Targeted流程图-总

# 一、基础数据整合

# 1 读取编码并执行分析流程

​ 环节概述:将试剂盒插入进样口后,设备自动读取当前试剂盒绑定的编码 (Cartridge Code)。点击一键检测后,在数据库中查询所对应的分析类型,并执行相应分析流程。

​ 参数来源:试剂盒RFID绑定的编号、DB.cartridge.analysis_type_id、DB.analysis_type

示例说明

内容 对应值
试剂盒RFID绑定的编码 CPT-7900
cartridge.analysis_type_id 3
analysis_type Targeted

# 2 获取待测物谱图信息

Targeted流程图-总

# 2.1 获取试剂盒信息 (Cartridge_Info)

​ 环节概述:通过试剂盒绑定编码 (Cartridge Code),在数据库中查询对应的试剂盒信息 (Cartridge Info)

​ 参数来源:试剂盒绑定编码、DB.cartridge、DB.analysis_type.name

​ 参数说明:参见MOS Doc / Guide / 方法参数配置指南

示例说明:

内容 对应值
id 26
code CPT-7900
children {}
pre_spray_time 500
spray_voltage_pos 4500
spray_voltage_neg 3500
binding_params {"tags": [], "compounds": ["100305", "100308", "100309", "100260", "100348", "100349", "100350"], "compounds_intstd": [], "compound_black_list": []}
acquisition_params []
evaluation_params {}
extra_params {}
description 重点毒物PCS检测盒
name (analysis_type) Targeted

# 2.2 获取待测物编号 (Compound code)

​ 获取流程:

​ 1) 通过试剂盒信息 (Cartridge Info) 中的绑定参数 (binding_params) ,获取其中 compounds 包含的所有 compound code,如果compounds_intstd不为空,获取其包含的内容。

​ 2) 如果绑定参数 (binding_params) 绑定了一类待测物的 tags,需要在数据库中查询 tags 包含的所有 compound code

​ 3) 将绑定参数中黑名单 (compound_black_list) 包含的 compound code 进行剔除

​ 4) 对剩余所有 compound code 进行去重复,获得最终的 Compound Code

示例说明

​ [100305, 100308, 100309, 100260, 100348, 100349, 100350]

# 2.3 获取谱图信息 (Spectra Info)

​ 环节概述:根据 Compound Code、当前设备类型 (device type) 和分析类型 (analysis type) ,在数据库中查询当前试剂盒对应的待测物信息 (Spectra Info)

​ 参数来源:DB.spectrum、DB.compound、DB.experiment、DB.device_type

​ 参数说明:参见MOS Doc / Guide / 方法参数配置指南

示例说明

id group code name_cn name_en cas mass extra_data formula avg. method_params peaks ms_level
1900 3 100305 百草枯 Paraquat dichloride 1910-42-5 256.053 {"basis": ""} C12H14Cl2N2 1 {"cid_q": 0.25, "polarity": "POS", "msn_params": [{"cid_amp": 2.0, "precursor_mz": 185.107}], "method_type": "MS2"} [{"mz": 170.084, "intensity": 1.0}, {"mz": 144.081, "intensity": 0.4}, {"mz": 158.096, "intensity": 0.54}, {"mz": 118.065, "intensity": 0.28}, {"mz": 168, "intensity": 0.36}] 2
1695 3 100308 溴鼠灵(大隆) Brodifacoum 56073-10-0 522.083 {"basis": ""} C31H23BrO3 1 {"cid_q": 0.25, "polarity": "NEG", "msn_params": [{"cid_amp": 2.5, "precursor_mz": 521.076}], "method_type": "MS2"} [{"mz": 477.086, "intensity": 1.0}, {"mz": 371.144, "intensity": 0.63}] 2
1910 2 100309 溴敌隆 Bromadiolone 28772-56-7 526.078 {"basis": ""} C30H23BrO4 1 {"cid_q": 0.25, "polarity": "NEG", "msn_params": [{"cid_amp": 2.5, "precursor_mz": 525.071}], "method_type": "MS2"} [{"mz": 250.064, "intensity": 1.0}, {"mz": 462.8, "intensity": 0.69}, {"mz": 386.9, "intensity": 0.3}, {"mz": 506.8, "intensity": 0.61}] 2
520 1 100260 氯化琥珀胆碱 Succinylcholine Chloride 71-27-2 360.158 {"basis": "临床药物"} C14H30Cl2N2O4 1 {"cid_q": 0.25, "polarity": "POS", "msn_params": [{"cid_amp": 1.5, "precursor_mz": 145.11}], "method_type": "MS2"} [{"mz": 115.573, "intensity": 1}, {"mz": 230.139, "intensity": 0.12}, {"mz": 274.2, "intensity": 1}, {"mz": 86.036, "intensity": 1}, {"mz": 171.1, "intensity": 1}] 2
1523 2 100348 敌草快 Diquat dibromide monohydrate 6385-62-2 359.947 {} C12H14Br2N2O 1 {"cid_q": 0.25, "polarity": "POS", "msn_params": [{"cid_amp": 2.0, "precursor_mz": 183.092}], "method_type": "MS2"} [{"mz": 157.076, "intensity": 1.0}, {"mz": 130, "intensity": 0.19}, {"mz": 168.068, "intensity": 0.0}] 2
1563 2 100349 草甘膦 Glyphosate 1071-83-6 169.014 {} C3H8NO5P 1 {"cid_q": 0.25, "polarity": "NEG", "msn_params": [{"cid_amp": 1.5, "precursor_mz": 168.007}], "method_type": "MS2"} [{"mz": 149.996, "intensity": 1.0}, {"mz": 124.017, "intensity": 0.12}] 2
660 1 100350 草铵膦 Glufosinate-ammonium 77182-82-2 215.103 {} C5H18N3O4P 1 {"cid_q": 0.25, "polarity": "NEG", "msn_params": [{"cid_amp": 1.7, "precursor_mz": 180.043}], "method_type": "MS2"} [{"mz": 136.053, "intensity": 1}, {"mz": 134.038, "intensity": 0.9}, {"mz": 163.017, "intensity": 0.5}, {"mz": 119.027, "intensity": 0.5}, {"mz": 95.027, "intensity": 0.5}] 2

# 2.4 获取待测物谱图信息 (Compds. Spectra Info)

参数来源:Spectra Info

示例说明

内容 对应值
compound_code 100305 100308 100309 100260 100348 100349 100350
ms2 Spectra_Info表中对应行
ms3 目前为空。当Spectra_Info中有MS3谱图时,此处保存对应的ms3信息

# 二、分析流程执行

Targeted流程图-2 当前待测物列表

# 1 获取分析参数analysis_params_

环节概述:遍历待测物谱图信息,获取当前待测物的极性。根据当前极性,获取对应的分析参数。分析参数包括谱图采集参数(acquisition)和谱图评价参数(evaluation)。

参数来源:targeted.json、common.json

参数说明:参见MOS Doc / Guide / 方法参数配置指南

示例说明

分类 内容 对应值
cycle 1
cycle_interval 0
acquisition repeat 1
acquisition repeat_interval 0
acquisition spec_repeat 1
acquisition spec_repeat_interval 0
acquisition dre dre_mode:Tic,enable:1,inj_size_init:60,inj_size_max:60,inj_size_max_retry:3,inj_size_min:20,max_times:10,method:{ average:1,inj_lmso_mz:-1,method_type:MS2_ISO,msn_paranms:[{},{cid_amp:0,iso_amp:0}]},notch_enable:0,notch_mz_list:[],target_tic:2000,target_tic_max:4000,target_tic_min:400
acquisition method average:1,inj_size:60,msn_paranms:[{cid_amp:0,iso_amp:-1,iso_mz_width:-1,pre_iso_mz_width:-1},{cid_amp:0,iso_amp:-1,iso_mz_width:-1,pre_iso_mz_width:-1}],scan_mass_end:1000,scan_mass_start:50,scan_speed:1
acquisition exit_when_dre_failed 0
acquisition ms1_iso_enable 0
acquisition ms2_inherited_from_dre 1
acquisition ms3_enable 1
evaluation qual_model cost,distance,fragment_dominance,isotope_probability,spec_availability,verbose
evaluation qual_rule neg_threshold:50、pos_threshold:70、description

# 2 判断是否进入DRE流程

环节概述
判断Targeted分析流程中是否需要运行DRE分析流程
判断依据
dre.enable = 0 (未开启) | 1 (开启)
参数来源
targeted.json/parameters/acquisition/dre
判断结果
当开启DRE时(dre.enable = 1),执行DRE流程 (2.1);当未开启DRE时(dre.enable = 0),执行MS2扫描流程 (2.2)。

# 2.1 执行DRE流程

  1. DRE参数整合

环节概述:将当前物质的采集方法和DRE参数整合,用于后续执行DRE扫描流程。

参数来源:DB.cartridge、targeted.json

参数说明:参见MOS Doc / Guide / 方法参数配置指南

示例说明

内容 对应值 来源
polarity POS DB.cartridge.method_params
spray_voltage 4500 DB.cartridge.method_params
msn_params [{"cid_amp":2.0,"precursor_mz":185.107}] DB.cartridge.method_params
precursor_mz_list 170.084, 144.081, 158.096, 118.065, 168 DB.spectrum.peaks
method_type MS2_ISO targeted.json/parameters/dre/method
average 1 targeted.json/parameters/dre/method
dre_mode TIC targeted.json/parameters/dre
enable 1 targeted.json/parameters/dre
inj_size_init 60 targeted.json/parameters/dre
inj_size_max 60 targeted.json/parameters/dre
inj_size_max_retry 3 targeted.json/parameters/dre
inj_size_min 20 targeted.json/parameters/dre
max_times 10 targeted.json/parameters/dre
notch_enable 0 targeted.json/parameters/dre
notch_mz_list [] targeted.json/parameters/dre
notch_mz_tol 0.5 targeted.json/parameters/dre
targeted_tic 9000 targeted.json/parameters/dre
targeted_tic_max 15000 targeted.json/parameters/dre
targeted_tic_min 3000 targeted.json/parameters/dre
  1. 执行DRE扫描流程

  2. 判断DRE返回的结果状态

环节概述:判断DRE流程的结果状态

判断依据

  • 条件1:analysis_params_.acquisition.exit_when_dre_failed = 0 (未开启) | 1 (开启),默认为未开启 (Targeted流程的业务逻辑决定的)
  • 条件2:DreExitWhenExceededMaxAttempts (max_times,超过最大尝试次数) 或返回的结果状态为Success

参数来源

  • exit_when_dre_failed:targeted.json/parameters/acquisition
  • max_times:targeted.json/parameters/acquisition/dre

判断结果

  • 当"未开启DRE失败后退出流程(exit_when_dre_failed = 0)"并且返回结果为Success时,将最佳谱图的进样量作为当前物质的MS2进样量;
  • 当"未开启DRE失败后退出流程(exit_when_dre_failed = 0)"并且DRE流程超过最大尝试次数,将最后一次DRE扫描谱图的进样量作为当前物质的MS2进样量;
  • 其他情况均会停止分析流程,并提示"进样失败,请重试"。
  1. 判断DRE的谱图是否用于数据库匹配
    环节概述:判断是否将DRE采集的谱图用于后续数据库匹配流程
    判断依据:ms2_inherited_from_dre = 0 (未开启) | 1 (开启) ,默认为开启。
    参数来源:targeted.json/parameters/acquisition
    判断结果
  • 当开启时,最佳谱图用于后续的数据库匹配流程;
  • 当未开启时,则进入MS2扫描流程。

# 2.2 执行MS2扫描流程

Targeted流程图-MS2扫描
  • 1) MS2采集方法参数整合

    • a. 根据Cartridge_Info.acquisition_params中的"group",判断当前待测物是采用默认采集参数(default)还是采用特定的采集参数(compound_code)。若为空,则采用默认参数。

    • b. 将static.json、targeted.json和Cartridge_Info中与acquisition.method_parameters相关的参数整合到Compounds_Spectra_Info.ms2.method_parameters。

    • c. 根据precursor计算lmco、iso_amp、pre_iso_amp、iso_mz_width、pre_iso_mz_width等参数。

    内容 对应值 来源
    method_type MS2 DB.cartridge.method_params
    polarity POS DB.cartridge.method_params
    spray_voltage 4500 DB.cartridge.method_params
    msn_params [{"cid_amp":2.0,"precursor_mz":185.107}] DB.cartridge.method_params
    cid_q 0.25 DB.cartridge.method_params
    inj_size 60 (默认,未开启DRE) 或DRE结果(未开启继承DRE谱图) targeted.json (当dre_enable = 0时) 或DRE结果
    scan_mass_start 50 targeted.json/parameters/method
    scan_mass_end 1000 targeted.json/parameters/method
    scan_speed 1 targeted.json/parameters/method
    average 1 targeted.json/parameters/method
    iso_q 0.75 static.json/parameters/method_parameters_default
    pre_iso_q 0.75 static.json/parameters/method_parameters_default
    pt_per_th 100 static.json/parameters/method_parameters_default
    scan_q 0.75 static.json/parameters/method_parameters_default
    trap_q 0.3 static.json/parameters/method_parameters_default
    repeat 1 targeted.json/parameters
    repeat_interval 0 targeted.json/parameters
    spec_repeat 1 (spec_repeat和cycle取最大值) targeted.json/parameters
    spec_repeat_interval 0 targeted.json/parameters
  • 2) 创建MS2扫描方程

  • 3) 生成动态SWIFT

  • 4) 判断预喷模式并执行预喷

    • 假设前提:仪器经过正模式和负模式下各一次预喷雾后,仪器趋于稳定。
    • 设计思路
      • a. 当流程开始后,首次进样前,判断是否为首次预喷。如果是,则直接执行预喷操作 (PRE_SPRAY_FORCE),如果不是,则判断是否为首次切换极性;
      • b. 判断是否为首次切换极性。如果是,则执行预喷操作 (PRE_SPRAY_BY_POLARITY );
      • c. 当首次预喷和首次切换极性均完成后,直到本次分析流程结束前,再无需进行预喷操作,直接切换极性即可 (SWITCH_POLARITY_ONLY)。
  • 5) 执行扫描

# 3 数据库匹配

# 3.1 MS2谱图处理

  • 1) 获取MS2谱图寻峰参数 (peak_picking)

    参数内容

    内容 对应值 来源
    mass_bin_pts 50 common.json/base_analysis_params/acquisitions/algorithms/peak_picking
    max_count 2000 common.json/base_analysis_params/acquisitions/algorithms/peak_picking
    min_intensity_abs 8000 common.json/base_analysis_params/acquisitions/algorithms/peak_picking
    min_intensity_rel 0 common.json/base_analysis_params/acquisitions/algorithms/peak_picking
  • 2) 对当前谱图进行寻峰

  • 3) 获取质量数计算所需参数

    • 参数内容
    内容 对应值 来源
    scan_mass_start 50 targeted.json/parameters/method
    scan_mass_end 2000 targeted.json/parameters/method
    pt_per_th 100 static.json/parameters/method_parameters_default
    scan_q 0.75 static.json/parameters/method_parameters_default
    mass_calib.coef c0 = 0.5645,c1 = 0.0192537,c2 = 0 instrument.json/parameters/spec_params/mass_calib
    mass_compensation.coef c0 = 0,c1 = 0,c2 = 0 instrument.json/parameters/spec_params/mass_compensation
  • 4) 计算质量数

# 3.2 MS2谱图匹配

  • 1) 获取MS2谱图匹配 (peak_matching)
    参数内容

    内容 对应值 来源
    ms1_mz_tol 0.5 common.json/base_analysis_params/acquisitions/algorithms/peak_ matching
    ms2_mz_tol 0.5 common.json/base_analysis_params/acquisitions/algorithms/peak_ matching
    ms3_mz_tol 0.5 common.json/base_analysis_params/acquisitions/algorithms/peak_ matching
    fragment_match_any 1 代码默认
    fragment_match_cnt_min 1 代码默认
    thershold 8000 common.json/base_analysis_params/acquisitions/algorithms/peak_picking/ min_intensity_abs
  • 2) 获取待测物MS2谱图标准峰

  • 3) 将当前待测物的实际峰与标准峰进行匹配,并标记匹配结果 (True / False)

# 4 根据MS2匹配结果决定下一步流程

  • 判断依据:True (检出) | False (未检出)

  • 判断结果:当匹配结果为检出(True) 时,则判断是否进入MS3扫描流程 (4.1);当匹配结果为未检出(False) 时,则判断是否进入MS1_ISO扫描流程 (4.2)。

# 4.1 MS3扫描流程

  • 1) 判断是否执行MS3扫描流程

    • 环节概述:当MS2谱图的匹配结果为检出时,需要判断是否开启MS3扫描流程以及当前待测物是否存在MS3谱图信息。

    • 判断依据:ms3_enable = 0 (未开启) | 1 (开启) ,默认为开启;Compds. Spectra Info表中当前待测物是否存在MS3谱图信息。

    • 参数来源:targeted.json/parameters/acquisition,Compds. Spectra Info.ms3

    • 判断结果
      ​ 当开启MS3扫描流程,并且当前待测物存在MS3谱图信息时,执行MS3扫描流程 (4.1);
      ​ 当未开启或当前待测物不存在MS3谱图信息时,则判断是否进入MS1_ISO扫描流程 (4.2)。

  • 2) 整合MS3采集参数
    ​待测物MS3谱图的采集参数来自Compds. Spectra Info.ms3,进样量为当前待测物MS2谱图的进样量 (即DRE最佳进样量)。

  • 3) 执行MS3采集流程

  • 4) 执行MS3谱图处理

  • 5) 执行数据库匹配

# 4.2 判断是否MS1_ISO扫描流程

  • 环节概述
    本环节仅在开启时,才执行该扫描流程。

  • 判断依据
    ms1_iso_enable = 0 (未开启) | 1 (开启) ,默认为未开启。

  • 参数来源
    targeted.json/parameters/acquisition

  • 判断结果
    当选择开启时,执行MS1_ISO扫描流程;当未开启时,则进入谱图评分流程。

# 5 谱图评分

# 5.1 获取评价参数

qual_rule (targeted.json/parameters/evalution)、qual_model (targeted.json/parameters/evalution)

# 5.2 计算谱图得分

  • 1) 获取评分权重 (cost)
    ​ 参数来源:evalution/qual_model/cost
    ​ 判断规则:判断是否存在MS3特征谱峰。若存在,则cost为1.0;若不存在,则cost为0.9。

  • 2) 计算谱库特征距离 (Distance)
    ​ 参数来源:evalution/qual_model/distance

  • 3) 计算离子峰主导性 (Fragment dominance)
    ​ 参数来源:evalution/qual_model/fragment_dominance

  • 4) 谱图有效性 (Spectrum Availability)
    ​ 参数来源:evalution/qual_model/spec_availability

  • 5) 同位素可能性 (Isotope Probability)
    ​ 参数来源:evalution/qual_model/isotope_probability

  • 6) 计算最终得分 (score)
    ​ 计算公式=100 × cost × Distance × Fragment dominance × Spectrum Availability × Isotope Probability

  • 7) 根据得分和评判规则来对应最终结果
    规则来源:evaluation/qual_rule
    规则内容:Score <50,待测物为阴性;50≤ Score ≤70,待测物为弱阳性;Score > 70,待测物为阳性。
    检测结果:阴性、弱阳性、阳性

# 6 判断是否遍历完成

  • 环节概述
    判断待测物谱图信息是否遍历完成。
  • 判断结果
    遍历完成,输出匹配结果列表(Result List);未遍历完成,继续下个待测物的检测。

# 三、结果文件输出

  1. 遍历匹配结果列表,按照待测物编号 (compound code)进行去重复,保留评分较高的匹配结果。
  2. 调用报告模板,将去重后的结果列表在 STD 界面展示
  3. 补充样本信息 (前台界面)
  4. 保存报告 (前台界面)
  5. 生成report.json (用于提升 STD 查询报告效率的索引,reports.json -> report.json)、MRZ 文件 (核心文件)、PDF 文件 (用于打印) 和 PNG 文件 (用于 STD 点击报告的展示)
  6. 分析流程结束,进行下一个检测