暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Docker实战之CFM-ID注释代谢物

想去海边的半岛铁盒 2022-04-21
5074

    在上期我们已经介绍了docker的安装和基本使用命令,这期为大家介绍下如何在实战中使用docker,我们以CFM-ID为demo。

一、什么是CFM-ID

    CFM-ID 提供了一种准确有效地识别由电喷雾串联质谱 (ESI-MS/MS) 生成的光谱中的代谢物的方法。该工具通过使用机器学习方法预先训练好的模型,来估计特定化合物结构MS/MS碎裂事件的概率(峰强度)并预测在给定化学结构中最可能生成的碎片,从而生成化合物分子的预测质谱图。除了软件,也提供了便捷的web服务,网址为 http://cfmid4.wishartlab.com/。

二、CFM-ID 能做什么

1.谱图预测
, 给定化学结构,生成以 SMILES 或 InChI 格式提供的输入结构的低/10V、中/20V 和高/40V 能量 ESI-MS/MS 光谱。

2.碎片峰注释
, 在给定已知化学结构的情况下对一组光谱中的峰进行注释

3.化合物鉴定
, 利用给定的候选化合物,生成预测质谱图并与待鉴定的光谱进行相似性打分,返回候选结构的预测排名。

三、CFM-ID 安装

$ docker pull wishartlab/cfmid 

查看镜像:

    $ docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    docker.io/wishartlab/cfmid latest      952f16b4e1ca  3 weeks ago    446 MB

    四、CFM-ID常用功能

    1. cfm-predict

    根据训练好的机器学习模型对化合物在ESI-MS/MS不同能量下产生的二级谱图预测。使用命令如下:

    $ cfm-predict <smiles_or_inchi_or_file> <prob_thresh> <param_file> <config_file> <annotate_fragments> <output_file_or_dir> <apply_postproc> <suppress_exceptions>

    参数:

    • <smiles_or_inchi_or_file>

    • <prob_thresh> (可选)在碎片图生成期间修剪不太可能碎片的概率(默认为 0.001)

    • <param_file> 经过训练的 cfm 模型的参数的文件

    • <config_file> cfm模型的配置参数文件

    • <annotate_fragments> 是否在输出光谱中包含碎片信息(0 = NO (DEFAULT),1 = YES)

    • <output_file_or_dir>

    • <apply_postproc>(可选) 是否对预测光谱进行后处理以获取前 80% 的能量(至少 5 个峰)或最高的 30 个峰(以先到者为准)(0 = 关闭,1 = 开启(默认))。如果关闭,只要将上面的 prob_thresh 参数设置为 0.0,就会为输入分子的每个可能片段输出一个峰值。

    • <suppress_exceptions>(optional) 抑制大多数异常,以便程序即使无法产生结果也能正常返回(0 = OFF(默认),1 = ON)

    使用docker容器预测化合物分子的质谱图:

    化合物分子“CC(C)N1C(=O)C2C(CCN2S(C)(=O)=O)N(Cc2cccc(F)c2)C1=O”

      $ sh -c "cd /cfmid/public/; cfm-predict 'CC(C)N1C(=O)C2C(CCN2S(C)(=O)=O)N(Cc2cccc(F)c2)C1=O' 0.001 /trained_models_cfmid4.0/[M+H]+/param_output.log /trained_models_cfmid4.0/[M+H]+/param_config.txt 0 out_predict"
      # 输出的正离子下的预测光谱
      # In-silico ESI-MS/MS [M+H]+ Spectra
      # PREDICTED BY CFM-ID 4.4.3
      # ID=NullId
      # SMILES=CC(C)NCC(O)COC1=CC=C(CCOCC2CC2)C=C1
      # InChiKey=NWIUTZDMDHAVTP-UHFFFAOYSA-N
      # Formula=C18H29NO3
      # PMass=308.22202
      energy0
      236.16451 15.82 140 48 (10.737 0.17615)
      308.22202 100.00 0 162 164 161 160 156 (62.153 4.9184 1.81 0.04945 0.039056 0.017308)
      energy1
      45.03349 8.92 84 (1.6496)
      55.05423 51.90 97 149 150 (5.6065 2.4275 1.5599)
      71.04914 12.51 137 93 139 (1.7768 0.34754 0.18911)
      72.08078 15.86 32 (2.9323)
      73.06479 19.03 46 136 138 (1.6754 1.6148 0.22815)
      74.06004 13.99 7 (2.5861)
      98.09643 22.96 43 (4.2444)
      99.08044 9.23 27 127 126 (1.5133 0.13078 0.061409)
      116.10699 23.88 82 119 (2.9213 1.4923)
      134.11756 6.11 114 (1.1288)
      151.07536 5.14 57 76 (0.88935 0.060275)
      181.08592 17.19 29 (3.1772)
      205.12231 5.21 5 62 (0.86689 0.09605)
      210.11247 6.46 10 (1.1941)
      219.13796 8.41 26 (1.5542)
      222.14886 6.97 133 (1.2888)
      231.13796 9.75 15 (1.8023)
      235.13287 5.65 30 (1.0436)
      236.16451 15.99 48 140 (2.2299 0.72674)
      237.14852 5.33 25 (0.98514)
      248.16451 14.02 4 (2.5908)
      249.14852 5.21 3 (0.96345)
      254.17507 8.09 152 (1.4946)
      266.17507 18.14 2 154 (2.0104 1.3436)
      290.21146 12.31 41 (2.2762)
      308.22202 100.00 0 162 164 161 160 156 (14.035 2.2678 1.4414 0.42124 0.20547 0.11453)
      energy2
      30.03383 15.29 34 (2.2531)
      41.03858 5.08 35 (0.7488)
      43.05423 21.44 12 (3.1603)
      44.04948 6.51 22 (0.96019)
      45.03349 6.95 84 (1.0237)
      55.05423 27.15 150 97 149 (1.9289 1.5755 0.4975)
      56.04948 79.64 33 37 (10.916 0.82256)
      58.06513 100.00 39 20 (10.007 4.7324)
      60.04439 6.17 65 (0.90955)
      70.06513 9.24 31 (1.3613)
      71.04914 5.56 93 137 139 (0.74785 0.04043 0.030605)
      72.08078 77.69 32 (11.451)
      74.06004 16.33 7 (2.4068)
      90.05495 11.06 111 (1.6298)
      91.05423 7.29 91 (1.0749)
      98.09643 5.80 43 (0.85518)
      100.11208 9.33 44 (1.3749)
      105.06988 9.17 94 (1.3517)
      116.10699 7.30 119 82 (0.97613 0.10008)
      121.06479 18.57 72 98 53 (1.4342 1.0234 0.27908)
      123.08044 7.58 99 73 54 (0.58862 0.48718 0.042096)
      133.06479 4.98 61 106 (0.41864 0.31521)
      135.08044 30.15 55 100 (2.7559 1.6877)
      137.09609 6.91 56 101 (0.81946 0.19854)
      165.12739 9.94 157 (1.4651)
      173.09609 5.48 16 (0.80826)
      231.13796 9.03 15 (1.3307)
      233.15361 4.78 14 (0.70508)
      308.22202 13.85 160 161 162 164 156 0 (1.0368 0.33692 0.25621 0.21837 0.1932 9.2061e-05)


      0 308.2220202401 CC(C)[NH2+]CC(O)COc1ccc(CCOCC2CC2)cc1
      1 292.1907201121 C#C[NH+]=C=C(O)COC1CCC(CCOCC2CC2)CC1
      2 266.1750700481 [NH+]#CC(=O)COC1CCC(CCOCC2CC2)CC1
      3 249.1485209521 C=C([OH2+])COC1=CC=C(C=COCC2CC2)CC1
      4 248.1645053641 [NH+]#CC#COC1CCC(CCOCC2CC2)CC1
      5 205.1223062041 C[OH+]C1=CC=C(C#COCC2CC2)CC1
      6 193.1223062041 [OH+]=C1C=CC(=CCOCC2CC2)CC1
      7 74.0600402961 CC(O)C=[NH2+]
      8 76.0756903601 CC(O)C[NH3+]
      9 175.1117415201 C(#CC1=CC=CCC1)[OH+]CC1CC1
      10 210.1124697921 [NH+]#CC(=O)COC1=CCC(CCO)CC1
      11 264.1594199841 [NH+]#CC(=O)COC1=CCC(CCOCC2CC2)CC1
      12 43.0542266441 CC=[CH3+]
      13 251.1641710161 C=C([OH2+])COC1=CC=C(CCOCC2CC2)CC1
      14 233.1536063321 C#CC[OH+]C1=CC=C(CCOCC2CC2)CC1
      15 231.1379562681 C#CC[OH+]C1=CC=C(C=COCC2CC2)CC1
      16 173.0960914561 C(#CC1=CC=CCC1)[OH+]C=C1CC1
      17 179.1066561401 C=CC1=CC=C(OCC(=C)[OH2+])CC1
      18 195.1015707601 C=C([OH2+])COC1=CC=C(C=CO)CC1
      19 197.1172208241 C=C([OH2+])COC1=CC=C(CCO)CC1
      20 58.0651256761 C=C(C)[NH3+]
      21 60.0807757401 CC(C)[NH3+]
      22 44.0494756121 C=C[NH3+]
      23 241.1798210801 [OH+]=CCOC1CCC(CCOCC2CC2)CC1
      24 239.1641710161 [OH+]=C=COC1CCC(CCOCC2CC2)CC1
      25 237.1485209521 [OH+]=C=COC1=CCC(CCOCC2CC2)CC1
      26 219.1379562681 C#C[OH+]C1=CC=C(CCOCC2CC2)CC1
      27 99.0804413921 C=C[OH+]CC1CC1
      28 165.0910060761 CCC1=CC=C(OC=C=[OH+])CC1
      29 181.0859206961 OCCC1=CC=C(OC=C=[OH+])CC1
      30 235.1328708881 [OH+]=C=COC1=CC=C(CCOCC2CC2)CC1
      31 70.0651256761 C=[NH+]C(=C)C
      32 72.0807757401 C=C(C)[NH2+]C
      33 56.0494756121 C#C[NH2+]C
      34 30.0338255481 C=[NH2+]
      35 41.0385765801 [CH2+]#CC
      36 45.0698767081 CC[CH4+]
      37 56.0494756121 [CH+]=C(C)N
      38 74.0964258041 C[NH2+]C(C)C
      39 58.0651256761 C=C[NH2+]C
      40 32.0494756121 C[NH3+]
      41 290.2114555561 C=C(C)[NH+]=C=C=COC1CCC(CCOCC2CC2)CC1
      42 246.1488553001 [NH+]#CC#COC1=CCC(CCOCC2CC2)CC1
      43 98.0964258041 C=C(C)[NH+]=CCC
      44 100.1120758681 C=C(C)[NH2+]CCC
      45 177.1273915841 C1=CCCC(C=C[OH+]CC2CC2)=C1
      46 73.0647913281 [OH2+]CC1CC1
      47 218.1539406801 C=C(C)[NH+]=C=C=COC1=CCC(CC)CC1
      48 236.1645053641 C=C(C)[NH+]=C=C=COC1CCC(CCO)CC1
      49 213.1849064601 C[OH+]C1CCC(CCOCC2CC2)CC1
      50 211.1692563961 C[OH+]C1=CCC(CCOCC2CC2)CC1
      51 209.1536063321 C[OH+]C1=CC=C(CCOCC2CC2)CC1
      52 207.1379562681 C[OH+]C1=CC=C(C=COCC2CC2)CC1
      53 121.0647913281 C=[O+]C1=CC=C(C)C=C1
      54 123.0804413921 C[OH+]C1=CC=C(C)C=C1
      55 135.0804413921 C#CC1=CC=C([OH+]C)CC1
      56 137.0960914561 C=CC1=CC=C([OH+]C)CC1
      57 151.0753560121 C[OH+]C1=CC=C(C#CO)CC1
      58 153.0910060761 C[OH+]C1=CC=C(C=CO)CC1
      59 165.0910060761 COC#CC1=CC=C([OH+]C)CC1
      60 207.1379562681 C=C=C(C#COCC1CC1)CCC[OH+]C Intermediate Fragment
      61 133.0647913281 C#CC1=CC=C([OH+]C)C=C1
      62 205.1223062041 C=C=C(C#COC=C1CC1)CCC[OH+]C Intermediate Fragment
      63 100.0756903601 C=C(C)[NH+]=CCO
      64 102.0913404241 C=C(C)[NH2+]CCO
      65 60.0443902321 [NH2+]=CCO
      66 84.0807757401 C=C(C)[NH+]=CC
      67 104.1069904881 CC(C)[NH2+]CCO
      68 86.0964258041 C=C(C)[NH2+]CC
      69 197.1536063321 [OH+]=C1CCC(CCOCC2CC2)CC1
      70 195.1379562681 [OH+]=C1C=CC(CCOCC2CC2)CC1
      71 109.0647913281 C=C1C=CC(=[OH+])CC1
      72 121.0647913281 C=C=C1C=CC(=[OH+])CC1
      73 123.0804413921 CC=C1C=CC(=[OH+])CC1
      74 137.0597059481 OC=C=C1C=CC(=[OH+])CC1
      75 139.0753560121 OCC=C1C=CC(=[OH+])CC1
      76 151.0753560121 COC=C=C1C=CC(=[OH+])CC1
      77 191.1066561401 [OH+]=C1C=CC(=C=COCC2CC2)CC1
      78 110.0600402961 [CH+]=C(C)N=C=C(C)O
      79 112.0756903601 C=C(C)[NH+]=C=C(C)O
      80 114.0913404241 C=C(C)[NH+]=CC(C)O
      81 96.0807757401 C=C(C)[NH+]=C=CC
      82 116.1069904881 C=C(C)[NH2+]CC(C)O
      83 72.0443902321 CC(O)C#[NH+]
      84 45.0334912001 CC=[OH+]
      85 118.1226405521 CC(O)C[NH2+]C(C)C
      86 102.0913404241 C=C[NH2+]CC(C)O
      87 183.1743417761 C1CCC(CC[OH+]CC2CC2)CC1
      88 181.1586917121 C1=CCC(CC[OH+]CC2CC2)CC1
      89 179.1430416481 C1=CCCC(CC[OH+]CC2CC2)=C1
      90 79.0542266441 C1=CC=[CH2+]C=C1
      91 91.0542266441 [CH2+]C1=CC=CC=C1
      92 93.0698767081 [CH4+]C1=CC=CC=C1
      93 71.0491412641 [OH+]=CC1CC1
      94 105.0698767081 C#[CH+]C1=CC=CCC1
      95 107.0855267721 C=[CH2+]C1=CC=CCC1
      96 109.1011768361 C[CH3+]C1=CC=CCC1
      97 55.0542266441 [CH3+]=C1CC1
      98 121.0647913281 [OH2+]C#CC1=CC=CCC1
      99 123.0804413921 [OH2+]C=CC1=CC=CCC1
      100 135.0804413921 C[OH+]C#CC1=CC=CCC1
      101 137.0960914561 C[OH+]C=CC1=CC=CCC1
      102 177.1273915841 CCC=C=C=C=CC[OH+]CC1CC1 Intermediate Fragment
      103 175.1117415201 CCC#CC#CC=C[OH+]CC1CC1
      104 103.0542266441 C#[CH+]C1=CC=CC=C1
      105 119.0491412641 [OH2+]C#CC1=CC=CC=C1
      106 133.0647913281 C[OH+]C#CC1=CC=CC=C1
      107 128.0706049801 C=C(C)[NH+]=C=C(O)CO
      108 130.0862550441 C=C(C)[NH+]=CC(O)CO
      109 112.0756903601 C=C(C)[NH+]=C=CCO
      110 132.1019051081 C=C(C)[NH2+]CC(O)CO
      111 90.0549549161 [NH2+]=CC(O)CO
      112 73.0284058201 C=C([OH2+])C=O
      113 114.0913404241 C=C(C)[NH+]=CCCO
      114 134.1175551721 CC(C)[NH2+]CC(O)CO
      115 118.0862550441 C=C[NH2+]CC(O)CO
      116 92.0706049801 [NH3+]CC(O)CO
      117 75.0440558841 C=C([OH2+])CO
      118 61.0284058201 OCC=[OH+]
      119 116.1069904881 C=C(C)[NH2+]CCCO
      120 101.0960914561 CC[OH+]CC1CC1
      121 59.0491412641 C=C[OH+]C
      122 83.0491412641 C[OH+]C=C1C=C1
      123 57.0698767081 [CH4+]C1CC1
      124 53.0385765801 [CH3+]=C1C=C1
      125 57.0334912001 C#C[OH+]C
      126 99.0804413921 C#C[OH+]CC(C)C Intermediate Fragment
      127 99.0804413921 C#C[OH+]CCCC Intermediate Fragment
      128 97.0647913281 C#C[OH+]CC1CC1
      129 208.1332052361 C=C(C)[NH+]=C=C(O)COC1=CCCCC1
      130 210.1488553001 C=C(C)[NH+]=C=C(O)COC1CCCCC1
      131 87.0804413921 C[OH+]CC1CC1
      132 85.0647913281 C[OH+]C=C1CC1
      133 222.1488553001 C=C(C)[NH+]=C=C(O)COC1=CCC(C)CC1
      134 204.1382906161 C=C(C)[NH+]=C=C=COC1=CCC(C)CC1
      135 31.0178411361 C=[OH+]
      136 73.0647913281 CCCC=[OH+] Intermediate Fragment
      137 71.0491412641 CCC=C=[OH+]
      138 73.0647913281 CC(C)C=[OH+] Intermediate Fragment
      139 71.0491412641 CC(C)=C=[OH+]
      140 236.1645053641 C=C(C)[NH+]=C=C(O)COC1=CCC(CC)CC1
      141 194.1175551721 CCC1CC=C(OCC(=O)C#[NH+])CC1
      142 177.0910060761 C#CC1=CC=C(OCC(=C)[OH2+])CC1
      143 119.0491412641 C=C=C1C=CC(=[OH+])C=C1
      144 238.1801554281 C=C(C)[NH+]=C=C(O)COC1CCC(CC)CC1
      145 220.1695907441 C=C(C)[NH+]=C=C=COC1CCC(CC)CC1
      146 240.1958054921 C=C(C)[NH+]=CC(O)COC1CCC(CC)CC1
      147 242.2114555561 C=C(C)[NH2+]CC(O)COC1CCC(CC)CC1
      148 57.0698767081 CC(C)=[CH3+] Intermediate Fragment
      149 55.0542266441 [CH+]=C(C)C
      150 55.0542266441 [CH2+]#CCC Intermediate Fragment
      151 252.1594199841 C=C(C)[NH+]=C=C(O)COC1=CCC(CCO)CC1
      152 254.1750700481 C=C(C)[NH+]=C=C(O)COC1CCC(CCO)CC1
      153 256.1907201121 C=C(C)[NH+]=CC(O)COC1CCC(CCO)CC1
      154 266.1750700481 C=C(C)[NH+]=C=C(O)COC1=CCC(CCOC)CC1
      155 268.1907201121 C=C(C)[NH+]=C=C(O)COC1CCC(CCOC)CC1
      156 308.2220202401 C=C(C)[NH+]=C=C(O)COC=CCC(CC)CCOCC1CC1 Intermediate Fragment
      157 165.1273915841 C#CC(=CC[OH+]CC1CC1)CC
      158 278.1750700481 C=C(C)[NH+]=C=C(O)COC#CCCCCOCC1CC1
      159 280.1907201121 C=C(C)[NH+]=C=C(O)COC=CCCCCOCC1CC1
      160 308.2220202401 C=C(C)[NH+]=C=C(O)COC(C)=CCC(C)CCOCC1CC1 Intermediate Fragment
      161 308.2220202401 C=C(C)[NH+]=C=C(O)COC(=CCCCCOCC1CC1)CC Intermediate Fragment
      162 308.2220202401 C=C(C)[NH+]=C=C(O)COC1=CCC(CCOCCCC)CC1 Intermediate Fragment
      163 278.1750700481 C=C(C)[NH+]=C=C(O)COC1=CC=C(CCOCC)CC1
      164 308.2220202401 C=C(C)[NH+]=C=C(O)COC1=CCC(CCOCC(C)C)CC1 Intermediate Fragment
      165 306.2063701761 C=C(C)[NH+]=C=C(O)COC1=CCC(CCOCC2CC2)CC1


      2.cfm-id

      给定要输入谱图(鉴定的质谱图)和候选smiles (or inchi) 列表,cfm-id 计算每个候选的预测频谱并将其与输入谱图进行比较。

      使用命令如下:

      $ cfm-id <spectrum_file> <id> <candidate_file> <num_highest> <ppm_mass_tol> <abs_mass_tol> <prob_thresh> <param_file> <config_file> <score_type> <apply_postprocessing> <output_file> <output_msp_or_mgf>

      参数:

      • <spectrum_file> 要鉴定的谱图,这可以是一个 .msp 文件,其中所需的光谱列在相应的 id 下(next arg);或者它可以是单个文件,其中包含由换行分隔的峰值“质量 强度”列表,“低”、“中”和“高”线开始不同能级的光谱,或“能量0”、“能量1”,等等。如果只有一个输入光谱,您可以将其输入到与模型中最匹配的能级,或者将其复制到所有三种能量(如果不确定,建议使用后者)

      • <id> 用于从 msp文件 检索输入谱图的id

      • <candidate_file>  候选化合物的输入列表(行分隔的“id smiles_or_inchi”对)

      • <num_highest > (可选)要返回的(排名)候选化合物的数量或返回全部为 -1(如果未给出,则按排名顺序返回全部)。

      • <ppm_mass_tol> 可选)在点积比较中匹配峰时使用的质量容差(以 ppm 为单位) - 将使用更高的 ppm 和 abs 容差(如果未给出默认值,则为 10ppm)

      • <abs_mass_tol> (optional) 在点积比较中匹配峰时使用的 abs Da 质量容差,如果未给出默认值为 0.01Da,将使用更高的 ppm 和 abs 容差

      • <prob_thresh>(可选)修剪不太可能的碎片的概率(默认为 0.001)

      • <param_file> 已训练 cfm 模型的参数所在的文件名,(如果未给出,则假定 param_output.log 在当前目录中)

      • <config_file> cfm 模型的配置参数所在的文件名(如果没有给出,假定当前目录中的 param_config.txt)

      • <score_type> (可选)比较光谱时使用的评分函数类型。选项:Jaccard(默认)、DotProduct

      • <apply_postprocessing>(可选)是否对预测光谱进行后处理以获取前 80% 的能量(至少 5 个峰)或最高 30 个峰(以先到者为准)(0 = 关闭(EI-MS 的默认值),1 = ON(ESI-MS/MS 的默认值))

      • <output_file>(可选)要写入的输出光谱文件的文件名(如果未给出,则打印到标准输出)

      • <output_msp_or_mgf>(可选)用于记录预测候选光谱的输出 msp 或 mgf 文件的文件名(如果未给出,则不保存预测光谱)


      使用案例

      鉴定某个未知代谢物光谱,存放在RSM00686p.txt,候选化合物列表文件candidates.txt:

        $ head /root/cfmid/mail/RSM00686p.txt
        energy0
        51.62073 0.6
        54.81861 0.7
        55.05450 4.8
        56.96492 1.0
        57.03381 0.6
        57.07004 3.4
        61.67873 0.5
        67.05432 6.4
        69.03358 2.2


        $ head root/cfmid/mail/candidates.txt
        SDB078289 CCCCC/C=C/C/C=C/C/C=C/C[C@@]1(OC)C=CC(=O)O1
        SDB037492 O=C1CC[C@]2([C@H](C1)CC[C@@H]1[C@@H]2CC[C@]2([C@H]1CCC(=O)O2)C)C
        SDB040073 O=C1CC[C@]2(C(=C1)CC[C@@H]1[C@@H]2[C@@H](O)C[C@]2([C@H]1CC[C@@H]2O)C)C

        # Run cfm-id in a docker container

        从结果可以看出,第一个化合物得分最高,最有可能是推定的化合物。

          $ docker run --rm=true -v $(pwd):/cfmid/public/ -i wishartlab/cfmid:latest sh -c "cd cfmid/public; cfm-id ./RSM00686p.txt AN_ID ./candidates.txt -1 10 0.001 0.001 ./param_output.log ./param_config.txt DotProduct 1 output"
          # view output
          1 0.42380687 SDB040073 O=C1CC[C@]2(C(=C1)CC[C@@H]1[C@@H]2[C@@H](O)C[C@]2([C@H]1CC[C@@H]2O)C)C
          2 0.38744719 SDB037492 O=C1CC[C@]2([C@H](C1)CC[C@@H]1[C@@H]2CC[C@]2([C@H]1CCC(=O)O2)C)C
          3 0.38244764 SDB078289 CCCCC/C=C/C/C=C/C/C=C/C[C@@]1(OC)C=CC(=O)O

          五、其他功能

          1.cfm-id-precomputed

          给定一个输入光谱和一组候选光谱,cfm-id-precomputed 将候选光谱与输入光谱进行比较。它根据候选人的匹配程度返回候选人的排名。频谱预测是使用预先训练的 CFM 模型完成的。

          2.cfm-annotate

          注释给定已知分子的一组光谱中的峰。它计算所提供分子的完整碎片图,然后在 CFM 模型中执行推理以确定可能发生的简化图。然后为光谱中的每个峰分配该图中具有相应质量的任何片段的 ID,并按从最有可能到最不可能的顺序列出这些片段。

          3.cfm-train

          cfm-train 使用输入分子列表及其相应光谱来训练 CFM 模型的参数

          4.fraggraph-gen

          fraggraph-gen 为输入分子生成完整的碎片图或可行碎片列表。它系统地打破分子内的键并检查有效的结果片段。



          如何使用请读者自行参考https://sourceforge.net/p/cfm-id/wiki/Home/。

          感兴趣的还可以阅读原文,查看研究论文。



          END

          点赞👍关注





          一文了解并入门Docker

          一文看懂环境变量、CPU、核、多线程与并发

          半岛铁盒机器人+Python推导式

          WeRobot+Django配置微信公众号功能

          Python的宝藏函数



          👇👇
          👇点击"阅读原文"
          文章转载自想去海边的半岛铁盒,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论