inchi-identity 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. inchi_identity-0.1.0/- +1 -0
  2. inchi_identity-0.1.0/.gitignore +29 -0
  3. inchi_identity-0.1.0/LICENSE +0 -0
  4. inchi_identity-0.1.0/Naming_Example.xlsx +0 -0
  5. inchi_identity-0.1.0/PKG-INFO +138 -0
  6. inchi_identity-0.1.0/README.md +124 -0
  7. inchi_identity-0.1.0/conda_env.yml +16 -0
  8. inchi_identity-0.1.0/files_examples/file1.txt +5 -0
  9. inchi_identity-0.1.0/files_examples/file1_smiles.txt +3 -0
  10. inchi_identity-0.1.0/files_examples/file2.txt +5 -0
  11. inchi_identity-0.1.0/files_examples/file2_smiles.txt +3 -0
  12. inchi_identity-0.1.0/files_examples/result1.json +0 -0
  13. inchi_identity-0.1.0/files_examples/result2.json +0 -0
  14. inchi_identity-0.1.0/files_examples/test_file1.mgf +120 -0
  15. inchi_identity-0.1.0/files_examples/test_file2.mgf +144 -0
  16. inchi_identity-0.1.0/files_examples/test_protonation_file1.mgf +21 -0
  17. inchi_identity-0.1.0/files_examples/test_protonation_file2.mgf +22 -0
  18. inchi_identity-0.1.0/files_examples/test_salts_file1.mgf +20 -0
  19. inchi_identity-0.1.0/files_examples/test_salts_file2.mgf +20 -0
  20. inchi_identity-0.1.0/files_examples/test_simple1.mgf +22 -0
  21. inchi_identity-0.1.0/files_examples/test_simple2.mgf +13 -0
  22. inchi_identity-0.1.0/files_examples/test_smiles_file1.mgf +22 -0
  23. inchi_identity-0.1.0/files_examples/test_smiles_file2.mgf +29 -0
  24. inchi_identity-0.1.0/files_examples/unified.mgf +45 -0
  25. inchi_identity-0.1.0/files_examples/unified_log.json +18 -0
  26. inchi_identity-0.1.0/files_examples/unified_log_smiles.json +5 -0
  27. inchi_identity-0.1.0/files_examples/unified_log_smiles_charges.json +18 -0
  28. inchi_identity-0.1.0/files_examples/unified_salts.mgf +42 -0
  29. inchi_identity-0.1.0/files_examples/unified_salts_log.json +34 -0
  30. inchi_identity-0.1.0/files_examples/unified_smiles.mgf +53 -0
  31. inchi_identity-0.1.0/files_examples/unified_smiles_charges.mgf +53 -0
  32. inchi_identity-0.1.0/pyproject.toml +27 -0
  33. inchi_identity-0.1.0/requirements.txt +0 -0
  34. inchi_identity-0.1.0/setup.py +0 -0
  35. inchi_identity-0.1.0/src/backend/__init__.py +0 -0
  36. inchi_identity-0.1.0/src/backend/cli/__init__.py +0 -0
  37. inchi_identity-0.1.0/src/backend/cli/cli.py +144 -0
  38. inchi_identity-0.1.0/src/backend/configs/__init__.py +0 -0
  39. inchi_identity-0.1.0/src/backend/configs/default_config.json +30 -0
  40. inchi_identity-0.1.0/src/backend/inchi/__init__.py +0 -0
  41. inchi_identity-0.1.0/src/backend/inchi/compare.py +126 -0
  42. inchi_identity-0.1.0/src/backend/inchi/config_loader.py +64 -0
  43. inchi_identity-0.1.0/src/backend/inchi/determine_levels_id.py +531 -0
  44. inchi_identity-0.1.0/src/backend/inchi/inchi_layers_enum.py +10 -0
  45. inchi_identity-0.1.0/src/backend/inchi/inchi_parser.py +183 -0
  46. inchi_identity-0.1.0/src/backend/inchi/main.py +10 -0
  47. inchi_identity-0.1.0/src/backend/inchi/smiles_pattern.py +159 -0
  48. inchi_identity-0.1.0/src/backend/input/__init__.py +0 -0
  49. inchi_identity-0.1.0/src/backend/input/input_inchi.py +16 -0
  50. inchi_identity-0.1.0/src/backend/lipid/__init__.py +0 -0
  51. inchi_identity-0.1.0/src/backend/lipid/lipid_analysis.py +631 -0
  52. inchi_identity-0.1.0/src/backend/lipid/lipid_pattern_generator.py +134 -0
  53. inchi_identity-0.1.0/src/backend/lipid/lipid_tail_extraction.py +174 -0
  54. inchi_identity-0.1.0/src/backend/output/__init__.py +0 -0
  55. inchi_identity-0.1.0/src/backend/output/result1.json +0 -0
  56. inchi_identity-0.1.0/src/backend/output/result2.json +0 -0
  57. inchi_identity-0.1.0/src/backend/output/result_cross.json +0 -0
  58. inchi_identity-0.1.0/src/backend/output/result_cross_true.json +0 -0
  59. inchi_identity-0.1.0/src/backend/output/result_pairwise.json +0 -0
  60. inchi_identity-0.1.0/src/backend/output/result_pairwise_true.json +0 -0
  61. inchi_identity-0.1.0/src/backend/output/results.json +329 -0
  62. inchi_identity-0.1.0/src/backend/parsers/__init__.py +0 -0
  63. inchi_identity-0.1.0/src/backend/parsers/mgf_parser.py +460 -0
  64. inchi_identity-0.1.0/tests/__init__.py +0 -0
  65. inchi_identity-0.1.0/tests/test_extract_methods.py +78 -0
  66. inchi_identity-0.1.0/tests/test_identity.py +103 -0
  67. inchi_identity-0.1.0/tests/test_identity_smiles.py +164 -0
  68. inchi_identity-0.1.0/tests/test_smarts.py +1983 -0
inchi_identity-0.1.0/- ADDED
@@ -0,0 +1 @@
1
+ InChI=1S/C5H11NO2/c1-6(2,3)4-5(7)8/h4H2,1-3H3
@@ -0,0 +1,29 @@
1
+ .DS_Store
2
+
3
+ node_modules/
4
+
5
+ .env
6
+
7
+ .venv/
8
+
9
+ venv/
10
+
11
+ .idea/
12
+
13
+ .pytest_cache
14
+
15
+ __pycache__/
16
+
17
+ */__pycache__/
18
+
19
+ *.py[cod]
20
+
21
+ *.pdb
22
+
23
+ .conda/
24
+
25
+ .vscode/
26
+
27
+ *.swp
28
+
29
+ *$py.class
File without changes
Binary file
@@ -0,0 +1,138 @@
1
+ Metadata-Version: 2.4
2
+ Name: inchi-identity
3
+ Version: 0.1.0
4
+ Summary: Hierarchical molecular identity comparison framework for untargeted metabolomics
5
+ Author-email: Alejandra O'Shea <alejandraosheafdez@gmail.com>
6
+ License-File: LICENSE
7
+ Requires-Python: >=3.10
8
+ Requires-Dist: numpy
9
+ Requires-Dist: openpyxl
10
+ Requires-Dist: pandas
11
+ Requires-Dist: python-dotenv
12
+ Requires-Dist: requests
13
+ Description-Content-Type: text/markdown
14
+
15
+ # InChI Identity
16
+
17
+ A hierarchical molecular identity comparison framework for untargeted metabolomics.
18
+
19
+ Instead of binary exact matching, this tool evaluates molecular equivalence across six
20
+ progressive normalization layers, returning a structured equivalence profile that reflects
21
+ the structural resolution actually supported by the experimental evidence. For lipids,
22
+ a dedicated four-level hierarchy (Levels A–D) addresses cis/trans geometry, sn-position,
23
+ intra-chain double bond position, and global sum composition.
24
+ ---
25
+
26
+ ## Comparison Layers
27
+
28
+ | Layer | Name | Description |
29
+ |-------|------|-------------|
30
+ | 1 | Complete Identity | Exact InChI string equality |
31
+ | 2 | Isotopic Independence | Equality after /i layer removal |
32
+ | 3 | Salt Independence | Equality after counterion removal |
33
+ | 4 | Charge Independence | Equality after charge/protonation normalization |
34
+ | 5 | Stereochemical/Isomeric Independence | Levels A–D (all molecules / lipids only) |
35
+ | 6 | Tautomeric Independence | Equality after canonical tautomer generation |
36
+
37
+ ---
38
+
39
+ ## Installation
40
+
41
+ RDKit must be installed via conda:
42
+
43
+ ```bash
44
+ git clone https://github.com/alejandraoshea/identity-levels-inchi.git
45
+ cd identity-levels-inchi
46
+ conda env create -f conda_env.yml
47
+ conda activate inchi-identity
48
+ pip install -e .
49
+ ```
50
+
51
+ Verify:
52
+
53
+ ```bash
54
+ inchi --help
55
+ ```
56
+
57
+ ### InChI Trust (optional, for Layer 6)
58
+
59
+ Download from https://www.inchi-trust.org/downloads/ then set the path:
60
+
61
+ ```bash
62
+ export INCHITRUST_PATH=/path/to/inchi-1
63
+ ```
64
+
65
+ If not available, Layer 6 falls back to RDKit's TautomerEnumerator automatically.
66
+
67
+ ---
68
+
69
+ ## CLI Usage
70
+
71
+ ### Compare two structures across all layers
72
+
73
+ ```bash
74
+ inchi compare-pair "<inchi_1>" "<inchi_2>"
75
+ ```
76
+
77
+ ### Compare with selected layers only
78
+
79
+ ```bash
80
+ inchi compare-pair-layers "<inchi_1>" "<inchi_2>" --layers isotope salt charge
81
+ ```
82
+
83
+ ### File-based comparison
84
+ # Pairwise
85
+ ```bash
86
+ inchi compare file1.txt file2.txt
87
+ ```
88
+ # Cross-comparison (all vs all)
89
+ ```bash
90
+ inchi compare file1.txt file2.txt --mode cross
91
+ ```
92
+
93
+ # Only show equivalent pairs
94
+ ```bash
95
+ inchi compare file1.txt file2.txt --only-equal
96
+ inchi compare file1.txt file2.txt --mode cross --only-equal
97
+ ```
98
+
99
+ ### MGF spectral library unification
100
+ ```bash
101
+ inchi compare-mgf file1.mgf file2.mgf \
102
+ --layer CHARGES_INDEPENDENCE \
103
+ --output-mgf unified.mgf \
104
+ --output-log unified_log.json
105
+ ```
106
+
107
+ Available layers: `COMPLETE_IDENTITY`, `ISOTOPIC_INDEPENDENCE`, `SALTS_INDEPENDENCE`,
108
+ `CHARGES_INDEPENDENCE`, `DOUBLE_BONDS_INDEPENDENCE`,
109
+ `STEREOCHEMICAL_CIS_TRANS_INDEPENDENCE`, `TAUTOMER_INDEPENDENCE`
110
+
111
+ ---
112
+
113
+ ## Example output
114
+
115
+ ```json
116
+ {
117
+ "inchi_1": "InChI=1S/C5H11NO2/c1-6(2,3)4-5(7)8/h4H2,1-3H3/p+1",
118
+ "inchi_2": "InChI=1S/C18H34O2/...",
119
+ "results": {
120
+ "COMPLETE_IDENTITY": false,
121
+ "ISOTOPIC_INDEPENDENCE": false,
122
+ "SALTS_INDEPENDENCE": false,
123
+ "CHARGES_INDEPENDENCE": false,
124
+ "DOUBLE_BONDS_INDEPENDENCE": false,
125
+ "STEREOCHEMICAL_CIS_TRANS_INDEPENDENCE": false,
126
+ "TAUTOMER_INDEPENDENCE": false
127
+ }
128
+ }
129
+ ```
130
+
131
+ ---
132
+
133
+ ## Related repositories
134
+
135
+ - [inchi-identity-api](https://github.com/alejandraoshea/inchi-identity-api) — Flask REST backend
136
+ - [inchi-identity-app](https://github.com/alejandraoshea/inchi-identity-app) — Web frontend
137
+
138
+ ---
@@ -0,0 +1,124 @@
1
+ # InChI Identity
2
+
3
+ A hierarchical molecular identity comparison framework for untargeted metabolomics.
4
+
5
+ Instead of binary exact matching, this tool evaluates molecular equivalence across six
6
+ progressive normalization layers, returning a structured equivalence profile that reflects
7
+ the structural resolution actually supported by the experimental evidence. For lipids,
8
+ a dedicated four-level hierarchy (Levels A–D) addresses cis/trans geometry, sn-position,
9
+ intra-chain double bond position, and global sum composition.
10
+ ---
11
+
12
+ ## Comparison Layers
13
+
14
+ | Layer | Name | Description |
15
+ |-------|------|-------------|
16
+ | 1 | Complete Identity | Exact InChI string equality |
17
+ | 2 | Isotopic Independence | Equality after /i layer removal |
18
+ | 3 | Salt Independence | Equality after counterion removal |
19
+ | 4 | Charge Independence | Equality after charge/protonation normalization |
20
+ | 5 | Stereochemical/Isomeric Independence | Levels A–D (all molecules / lipids only) |
21
+ | 6 | Tautomeric Independence | Equality after canonical tautomer generation |
22
+
23
+ ---
24
+
25
+ ## Installation
26
+
27
+ RDKit must be installed via conda:
28
+
29
+ ```bash
30
+ git clone https://github.com/alejandraoshea/identity-levels-inchi.git
31
+ cd identity-levels-inchi
32
+ conda env create -f conda_env.yml
33
+ conda activate inchi-identity
34
+ pip install -e .
35
+ ```
36
+
37
+ Verify:
38
+
39
+ ```bash
40
+ inchi --help
41
+ ```
42
+
43
+ ### InChI Trust (optional, for Layer 6)
44
+
45
+ Download from https://www.inchi-trust.org/downloads/ then set the path:
46
+
47
+ ```bash
48
+ export INCHITRUST_PATH=/path/to/inchi-1
49
+ ```
50
+
51
+ If not available, Layer 6 falls back to RDKit's TautomerEnumerator automatically.
52
+
53
+ ---
54
+
55
+ ## CLI Usage
56
+
57
+ ### Compare two structures across all layers
58
+
59
+ ```bash
60
+ inchi compare-pair "<inchi_1>" "<inchi_2>"
61
+ ```
62
+
63
+ ### Compare with selected layers only
64
+
65
+ ```bash
66
+ inchi compare-pair-layers "<inchi_1>" "<inchi_2>" --layers isotope salt charge
67
+ ```
68
+
69
+ ### File-based comparison
70
+ # Pairwise
71
+ ```bash
72
+ inchi compare file1.txt file2.txt
73
+ ```
74
+ # Cross-comparison (all vs all)
75
+ ```bash
76
+ inchi compare file1.txt file2.txt --mode cross
77
+ ```
78
+
79
+ # Only show equivalent pairs
80
+ ```bash
81
+ inchi compare file1.txt file2.txt --only-equal
82
+ inchi compare file1.txt file2.txt --mode cross --only-equal
83
+ ```
84
+
85
+ ### MGF spectral library unification
86
+ ```bash
87
+ inchi compare-mgf file1.mgf file2.mgf \
88
+ --layer CHARGES_INDEPENDENCE \
89
+ --output-mgf unified.mgf \
90
+ --output-log unified_log.json
91
+ ```
92
+
93
+ Available layers: `COMPLETE_IDENTITY`, `ISOTOPIC_INDEPENDENCE`, `SALTS_INDEPENDENCE`,
94
+ `CHARGES_INDEPENDENCE`, `DOUBLE_BONDS_INDEPENDENCE`,
95
+ `STEREOCHEMICAL_CIS_TRANS_INDEPENDENCE`, `TAUTOMER_INDEPENDENCE`
96
+
97
+ ---
98
+
99
+ ## Example output
100
+
101
+ ```json
102
+ {
103
+ "inchi_1": "InChI=1S/C5H11NO2/c1-6(2,3)4-5(7)8/h4H2,1-3H3/p+1",
104
+ "inchi_2": "InChI=1S/C18H34O2/...",
105
+ "results": {
106
+ "COMPLETE_IDENTITY": false,
107
+ "ISOTOPIC_INDEPENDENCE": false,
108
+ "SALTS_INDEPENDENCE": false,
109
+ "CHARGES_INDEPENDENCE": false,
110
+ "DOUBLE_BONDS_INDEPENDENCE": false,
111
+ "STEREOCHEMICAL_CIS_TRANS_INDEPENDENCE": false,
112
+ "TAUTOMER_INDEPENDENCE": false
113
+ }
114
+ }
115
+ ```
116
+
117
+ ---
118
+
119
+ ## Related repositories
120
+
121
+ - [inchi-identity-api](https://github.com/alejandraoshea/inchi-identity-api) — Flask REST backend
122
+ - [inchi-identity-app](https://github.com/alejandraoshea/inchi-identity-app) — Web frontend
123
+
124
+ ---
@@ -0,0 +1,16 @@
1
+ name: inchi-identity
2
+
3
+ channels:
4
+ - conda-forge
5
+
6
+ dependencies:
7
+ - python=3.12
8
+ - rdkit
9
+ - numpy
10
+ - pandas
11
+ - requests
12
+ - openpyxl
13
+ - python-dotenv
14
+ - pip
15
+ - pip:
16
+ - pytest
@@ -0,0 +1,5 @@
1
+ InChI=1S/C23H45NO4.ClH/c1-5-6-7-8-9-10-11-12-13-14-15-16-17-18-23(27)28-21(19-22(25)26)20-24(2,3)4;/h21H,5-20H2,1-4H3;1H
2
+ InChI=1S/C10H16N5O13P3/c11-8-5-9(13-2-12-8)15(3-14-5)10-7(17)6(16)4(26-10)1-25-30(21,22)28-31(23,24)27-29(18,19)20/h2-4,6-7,10,16-17H,1H2,(H,21,22)(H,23,24)(H2,11,12,13)(H2,18,19,20)/t4-,6-,7-,10-/m1/s1
3
+ InChI=1S/C10H16N5O13P3/c11-8-5-9(13-2-12-8)15(3-14-5)10-7(17)6(16)4(26-10)1-25-30(21,22)28-31(23,24)27-29(18,19)20/h2-4,6-7,10,16-17H,1H2,(H,21,22)(H,23,24)(H2,11,12,13)(H2,18,19,20)/p-2/t4-,6-,7-,10-/m1/s1
4
+ InChI=1S/C5H11NO2/c1-6(2,3)4-5(7)8/h4H2,1-3H3/p+1
5
+ InChI=1S/C26H46NO8P/c1-5-6-7-8-9-10-11-16-19-26(30)33-22-24(17-14-12-13-15-18-25(28)29)23-35-36(31,32)34-21-20-27(2,3)4/h5-6,12-15,24H,7-11,16-23H2,1-4H3,(H-,28,29,31,32)/b6-5-,14-12+,15-13+/t24-/m1/s1
@@ -0,0 +1,3 @@
1
+ CC(=O)O
2
+ CCO
3
+ CN(C)(C)CC(=O)O
@@ -0,0 +1,5 @@
1
+ InChI=1S/C23H45NO4.ClH/c1-5-6-7-8-9-10-11-12-13-14-15-16-17-18-23(27)28-21(19-22(25)26)20-24(2,3)4;/h21H,5-20H2,1-4H3;1H
2
+ InChI=1S/C18H34O2/c1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18(19)20/h9-10H,2-8,11-17H2,1H3,(H,19,20)/b10-9-
3
+ InChI=1S/C10H16N5O13P3/c11-8-5-9(13-2-12-8)15(3-14-5)10-7(17)6(16)4(26-10)1-25-30(21,22)28-31(23,24)27-29(18,19)20/h2-4,6-7,10,16-17H,1H2,(H,21,22)(H,23,24)(H2,11,12,13)(H2,18,19,20)/p-1/t4-,6-,7-,10-/m1/s1
4
+ InChI=1S/C5H11NO2/c1-6(2,3)4-5(7)8/h4H2,1-3H3
5
+ InChI=1S/C5H10O/c1-3-4-5(2)6/h4,6H,3H2,1-2H3/b5-4-
@@ -0,0 +1,3 @@
1
+ CC(=O)[O-].[Na+]
2
+ CCO
3
+ C[N+](C)(C)CC(=O)[O-]
@@ -0,0 +1,120 @@
1
+ BEGIN IONS
2
+ TITLE=Adenosine triphosphate
3
+ PEPMASS=507.9810
4
+ CHARGE=1-
5
+ RTINSECONDS=120.5
6
+ INCHI=InChI=1S/C10H16N5O13P3/c11-8-5-9(13-3-12-8)15(4-14-5)10-7(17)6(16)4(26-10)2-25-30(21,22)28-31(23,24)27-29(18,19)20/h3-4,6-7,10,16-17H,2H2,(H,21,22)(H,23,24)(H2,11,12,13)(H2,18,19,20)/t4-,6-,7-,10-/m1/s1
7
+ SCANS=1
8
+ 101.5 999.0
9
+ 136.1 5000.0
10
+ 159.0 2500.0
11
+ END IONS
12
+
13
+ BEGIN IONS
14
+ TITLE=ATP (duplicate)
15
+ PEPMASS=507.9815
16
+ CHARGE=1-
17
+ RTINSECONDS=120.8
18
+ INCHI=InChI=1S/C10H16N5O13P3/c11-8-5-9(13-3-12-8)15(4-14-5)10-7(17)6(16)4(26-10)2-25-30(21,22)28-31(23,24)27-29(18,19)20/h3-4,6-7,10,16-17H,2H2,(H,21,22)(H,23,24)(H2,11,12,13)(H2,18,19,20)/t4-,6-,7-,10-/m1/s1
19
+ SCANS=2
20
+ 101.5 850.0
21
+ 136.1 4800.0
22
+ 159.0 2300.0
23
+ END IONS
24
+
25
+ BEGIN IONS
26
+ TITLE=Nicotinamide adenine dinucleotide
27
+ PEPMASS=663.1091
28
+ CHARGE=1-
29
+ RTINSECONDS=145.2
30
+ INCHI=InChI=1S/C21H27N7O14P2/c22-17-12-19(25-7-24-17)28(8-26-12)21-16(32)14(30)11(41-21)6-39-44(36,37)42-43(34,35)38-5-10-13(29)15(31)20(40-10)27-3-1-2-9(4-27)18(23)33/h1-4,7-8,10-11,13-16,20-21,29-32H,5-6H2,(H2,22,24,25)(H2,23,33)(H,34,35)(H,36,37)/t10-,11-,13-,14-,15-,16-,20-,21-/m1/s1
31
+ SCANS=3
32
+ 123.1 1200.0
33
+ 136.0 8000.0
34
+ 428.0 3500.0
35
+ END IONS
36
+
37
+ BEGIN IONS
38
+ TITLE=Glucose 6-phosphate
39
+ PEPMASS=259.0224
40
+ CHARGE=1-
41
+ RTINSECONDS=85.3
42
+ INCHI=InChI=1S/C6H13O9P/c7-3-2(1-14-16(11,12)13)15-6(10)5(9)4(3)8/h2-10H,1H2,(H2,11,12,13)/t2-,3-,4+,5-,6?/m1/s1
43
+ SCANS=4
44
+ 97.0 2000.0
45
+ 139.0 1500.0
46
+ 199.0 4500.0
47
+ END IONS
48
+
49
+ BEGIN IONS
50
+ TITLE=Glucose-6-P (replicate)
51
+ PEPMASS=259.0227
52
+ CHARGE=1-
53
+ RTINSECONDS=85.5
54
+ INCHI=InChI=1S/C6H13O9P/c7-3-2(1-14-16(11,12)13)15-6(10)5(9)4(3)8/h2-10H,1H2,(H2,11,12,13)/t2-,3-,4+,5-,6?/m1/s1
55
+ SCANS=5
56
+ 97.0 2100.0
57
+ 139.0 1450.0
58
+ 199.0 4600.0
59
+ END IONS
60
+
61
+ BEGIN IONS
62
+ TITLE=Citric acid
63
+ PEPMASS=191.0197
64
+ CHARGE=1-
65
+ RTINSECONDS=65.8
66
+ INCHI=InChI=1S/C6H8O7/c7-3(8)1-6(13,5(11)12)2-4(9)10/h13H,1-2H2,(H,7,8)(H,9,10)(H,11,12)
67
+ SCANS=6
68
+ 87.0 1800.0
69
+ 111.0 3200.0
70
+ 173.0 2500.0
71
+ END IONS
72
+
73
+ BEGIN IONS
74
+ TITLE=L-Glutamic acid
75
+ PEPMASS=146.0459
76
+ CHARGE=1-
77
+ RTINSECONDS=55.2
78
+ INCHI=InChI=1S/C5H9NO4/c6-3(5(9)10)1-2-4(7)8/h3H,1-2,6H2,(H,7,8)(H,9,10)/t3-/m0/s1
79
+ SCANS=7
80
+ 84.0 1500.0
81
+ 102.0 2800.0
82
+ 128.0 3500.0
83
+ END IONS
84
+
85
+ BEGIN IONS
86
+ TITLE=Pyruvic acid
87
+ PEPMASS=87.0082
88
+ CHARGE=1-
89
+ RTINSECONDS=45.5
90
+ INCHI=InChI=1S/C3H4O3/c1-2(4)3(5)6/h1H3,(H,5,6)
91
+ SCANS=8
92
+ 43.0 2500.0
93
+ 59.0 1200.0
94
+ 87.0 5000.0
95
+ END IONS
96
+
97
+ BEGIN IONS
98
+ TITLE=Acetyl-CoA
99
+ PEPMASS=808.1145
100
+ CHARGE=1-
101
+ RTINSECONDS=155.8
102
+ INCHI=InChI=1S/C23H38N7O17P3S/c1-12(31)51-7-6-25-14(32)4-5-26-21(35)18(34)23(2,3)9-44-50(41,42)47-49(39,40)43-8-13-17(46-48(36,37)38)16(33)22(45-13)30-11-29-15-19(24)27-10-28-20(15)30/h10-11,13,16-18,22,33-34H,4-9H2,1-3H3,(H,25,32)(H,26,35)(H,39,40)(H,41,42)(H2,24,27,28)(H2,36,37,38)/t13-,16-,17-,18+,22-/m1/s1
103
+ SCANS=9
104
+ 134.0 1800.0
105
+ 428.0 4200.0
106
+ 507.0 2800.0
107
+ END IONS
108
+
109
+ BEGIN IONS
110
+ TITLE=Fructose 1,6-bisphosphate
111
+ PEPMASS=338.9888
112
+ CHARGE=1-
113
+ RTINSECONDS=92.4
114
+ INCHI=InChI=1S/C6H14O12P2/c7-3(1-17-19(11,12)13)5(9)6(10,2-18-20(14,15)16)4(8)3/h3,5,7,9-10H,1-2H2,(H2,11,12,13)(H2,14,15,16)/t3-,5-,6-/m1/s1
115
+ SCANS=10
116
+ 97.0 3500.0
117
+ 139.0 2200.0
118
+ 199.0 4800.0
119
+ END IONS
120
+
@@ -0,0 +1,144 @@
1
+ BEGIN IONS
2
+ TITLE=ATP from database
3
+ PEPMASS=507.9812
4
+ CHARGE=1-
5
+ RTINSECONDS=121.0
6
+ INCHI=InChI=1S/C10H16N5O13P3/c11-8-5-9(13-3-12-8)15(4-14-5)10-7(17)6(16)4(26-10)2-25-30(21,22)28-31(23,24)27-29(18,19)20/h3-4,6-7,10,16-17H,2H2,(H,21,22)(H,23,24)(H2,11,12,13)(H2,18,19,20)/t4-,6-,7-,10-/m1/s1
7
+ SCANS=101
8
+ 101.5 920.0
9
+ 136.1 4900.0
10
+ 159.0 2400.0
11
+ END IONS
12
+
13
+ BEGIN IONS
14
+ TITLE=NAD+ reference
15
+ PEPMASS=663.1095
16
+ CHARGE=1-
17
+ RTINSECONDS=145.5
18
+ INCHI=InChI=1S/C21H27N7O14P2/c22-17-12-19(25-7-24-17)28(8-26-12)21-16(32)14(30)11(41-21)6-39-44(36,37)42-43(34,35)38-5-10-13(29)15(31)20(40-10)27-3-1-2-9(4-27)18(23)33/h1-4,7-8,10-11,13-16,20-21,29-32H,5-6H2,(H2,22,24,25)(H2,23,33)(H,34,35)(H,36,37)/t10-,11-,13-,14-,15-,16-,20-,21-/m1/s1
19
+ SCANS=102
20
+ 123.1 1150.0
21
+ 136.0 8200.0
22
+ 428.0 3600.0
23
+ END IONS
24
+
25
+ BEGIN IONS
26
+ TITLE=Citrate
27
+ PEPMASS=191.0199
28
+ CHARGE=1-
29
+ RTINSECONDS=66.0
30
+ INCHI=InChI=1S/C6H8O7/c7-3(8)1-6(13,5(11)12)2-4(9)10/h13H,1-2H2,(H,7,8)(H,9,10)(H,11,12)
31
+ SCANS=103
32
+ 87.0 1750.0
33
+ 111.0 3150.0
34
+ 173.0 2550.0
35
+ END IONS
36
+
37
+ BEGIN IONS
38
+ TITLE=L-Lactate
39
+ PEPMASS=89.0239
40
+ CHARGE=1-
41
+ RTINSECONDS=38.5
42
+ INCHI=InChI=1S/C3H6O3/c1-2(4)3(5)6/h2,4H,1H3,(H,5,6)/t2-/m1/s1
43
+ SCANS=104
44
+ 43.0 3200.0
45
+ 45.0 1800.0
46
+ 89.0 6500.0
47
+ END IONS
48
+
49
+ BEGIN IONS
50
+ TITLE=Succinate
51
+ PEPMASS=117.0193
52
+ CHARGE=1-
53
+ RTINSECONDS=52.3
54
+ INCHI=InChI=1S/C4H6O4/c5-3(6)1-2-4(7)8/h1-2H2,(H,5,6)(H,7,8)
55
+ SCANS=105
56
+ 73.0 2100.0
57
+ 99.0 1500.0
58
+ 117.0 4200.0
59
+ END IONS
60
+
61
+ BEGIN IONS
62
+ TITLE=Acetyl coenzyme A
63
+ PEPMASS=808.1148
64
+ CHARGE=1-
65
+ RTINSECONDS=156.0
66
+ INCHI=InChI=1S/C23H38N7O17P3S/c1-12(31)51-7-6-25-14(32)4-5-26-21(35)18(34)23(2,3)9-44-50(41,42)47-49(39,40)43-8-13-17(46-48(36,37)38)16(33)22(45-13)30-11-29-15-19(24)27-10-28-20(15)30/h10-11,13,16-18,22,33-34H,4-9H2,1-3H3,(H,25,32)(H,26,35)(H,39,40)(H,41,42)(H2,24,27,28)(H2,36,37,38)/t13-,16-,17-,18+,22-/m1/s1
67
+ SCANS=106
68
+ 134.0 1750.0
69
+ 428.0 4300.0
70
+ 507.0 2750.0
71
+ END IONS
72
+
73
+ BEGIN IONS
74
+ TITLE=Alpha-ketoglutarate
75
+ PEPMASS=145.0142
76
+ CHARGE=1-
77
+ RTINSECONDS=58.8
78
+ INCHI=InChI=1S/C5H6O5/c6-3(5(9)10)1-2-4(7)8/h1-2H2,(H,7,8)(H,9,10)
79
+ SCANS=107
80
+ 57.0 1200.0
81
+ 101.0 3800.0
82
+ 145.0 5200.0
83
+ END IONS
84
+
85
+ BEGIN IONS
86
+ TITLE=Oxaloacetate
87
+ PEPMASS=131.0001
88
+ CHARGE=1-
89
+ RTINSECONDS=48.2
90
+ INCHI=InChI=1S/C4H4O5/c5-2(4(8)9)1-3(6)7/h1H2,(H,6,7)(H,8,9)
91
+ SCANS=108
92
+ 87.0 2800.0
93
+ 113.0 1900.0
94
+ 131.0 4500.0
95
+ END IONS
96
+
97
+ BEGIN IONS
98
+ TITLE=Glucose-6-phosphate reference
99
+ PEPMASS=259.0226
100
+ CHARGE=1-
101
+ RTINSECONDS=85.4
102
+ INCHI=InChI=1S/C6H13O9P/c7-3-2(1-14-16(11,12)13)15-6(10)5(9)4(3)8/h2-10H,1H2,(H2,11,12,13)/t2-,3-,4+,5-,6?/m1/s1
103
+ SCANS=109
104
+ 97.0 2050.0
105
+ 139.0 1480.0
106
+ 199.0 4550.0
107
+ END IONS
108
+
109
+ BEGIN IONS
110
+ TITLE=Coenzyme A
111
+ PEPMASS=766.1041
112
+ CHARGE=1-
113
+ RTINSECONDS=152.5
114
+ INCHI=InChI=1S/C21H36N7O16P3S/c1-21(2,16(31)19(32)24-4-3-12(29)23-5-6-48)8-41-47(38,39)44-46(36,37)40-7-11-15(43-45(33,34)35)14(30)20(42-11)28-10-27-13-17(22)25-9-26-18(13)28/h9-11,14-16,20,30-31,48H,3-8H2,1-2H3,(H,23,29)(H,24,32)(H,36,37)(H,38,39)(H2,22,25,26)(H2,33,34,35)/t11-,14-,15-,16+,20-/m1/s1
115
+ SCANS=110
116
+ 134.0 2200.0
117
+ 261.0 1500.0
118
+ 428.0 3800.0
119
+ END IONS
120
+
121
+ BEGIN IONS
122
+ TITLE=Malate
123
+ PEPMASS=133.0142
124
+ CHARGE=1-
125
+ RTINSECONDS=61.5
126
+ INCHI=InChI=1S/C4H6O5/c5-2(4(8)9)1-3(6)7/h2,5H,1H2,(H,6,7)(H,8,9)/t2-/m0/s1
127
+ SCANS=111
128
+ 71.0 1600.0
129
+ 115.0 2900.0
130
+ 133.0 5100.0
131
+ END IONS
132
+
133
+ BEGIN IONS
134
+ TITLE=Fumarate
135
+ PEPMASS=115.0037
136
+ CHARGE=1-
137
+ RTINSECONDS=55.8
138
+ INCHI=InChI=1S/C4H4O4/c5-3(6)1-2-4(7)8/h1-2H,(H,5,6)(H,7,8)/b2-1+
139
+ SCANS=112
140
+ 71.0 3500.0
141
+ 99.0 2100.0
142
+ 115.0 6200.0
143
+ END IONS
144
+
@@ -0,0 +1,21 @@
1
+ BEGIN IONS
2
+ TITLE=ATP neutral
3
+ PEPMASS=507.0
4
+ INCHI=InChI=1S/C10H16N5O13P3/c11-8-5-9(13-2-12-8)15(3-14-5)10-7(17)6(16)4(26-10)1-25-30(21,22)28-31(23,24)27-29(18,19)20/h2-4,6-7,10,16-17H,1H2,(H,21,22)(H,23,24)(H2,11,12,13)(H2,18,19,20)/t4-,6-,7-,10-/m1/s1
5
+ 101.5 999.0
6
+ 136.1 5000.0
7
+ END IONS
8
+
9
+ BEGIN IONS
10
+ TITLE=Glucose-6-phosphate neutral
11
+ PEPMASS=260.0
12
+ INCHI=InChI=1S/C6H13O9P/c7-3-2(1-14-16(11,12)13)15-6(10)5(9)4(3)8/h2-10H,1H2,(H2,11,12,13)/t2-,3-,4+,5-,6?/m1/s1
13
+ 97.0 1500.0
14
+ END IONS
15
+
16
+ BEGIN IONS
17
+ TITLE=Citric acid
18
+ PEPMASS=192.0
19
+ INCHI=InChI=1S/C6H8O7/c7-3(8)1-6(13,5(11)12)2-4(9)10/h13H,1-2H2,(H,7,8)(H,9,10)(H,11,12)
20
+ 111.0 2000.0
21
+ END IONS
@@ -0,0 +1,22 @@
1
+ BEGIN IONS
2
+ TITLE=ATP deprotonated -1
3
+ PEPMASS=507.0
4
+ INCHI=InChI=1S/C10H16N5O13P3/c11-8-5-9(13-2-12-8)15(3-14-5)10-7(17)6(16)4(26-10)1-25-30(21,22)28-31(23,24)27-29(18,19)20/h2-4,6-7,10,16-17H,1H2,(H,21,22)(H,23,24)(H2,11,12,13)(H2,18,19,20)/p-1/t4-,6-,7-,10-/m1/s1
5
+ 101.5 920.0
6
+ 136.1 4900.0
7
+ END IONS
8
+
9
+ BEGIN IONS
10
+ TITLE=ATP deprotonated -2
11
+ PEPMASS=507.0
12
+ INCHI=InChI=1S/C10H16N5O13P3/c11-8-5-9(13-2-12-8)15(3-14-5)10-7(17)6(16)4(26-10)1-25-30(21,22)28-31(23,24)27-29(18,19)20/h2-4,6-7,10,16-17H,1H2,(H,21,22)(H,23,24)(H2,11,12,13)(H2,18,19,20)/p-2/t4-,6-,7-,10-/m1/s1
13
+ 101.5 880.0
14
+ 136.1 4800.0
15
+ END IONS
16
+
17
+ BEGIN IONS
18
+ TITLE=G6P deprotonated -2
19
+ PEPMASS=260.0
20
+ INCHI=InChI=1S/C6H13O9P/c7-3-2(1-14-16(11,12)13)15-6(10)5(9)4(3)8/h2-10H,1H2,(H2,11,12,13)/p-2/t2-,3-,4+,5-,6?/m1/s1
21
+ 97.0 1450.0
22
+ END IONS
@@ -0,0 +1,20 @@
1
+ BEGIN IONS
2
+ TITLE=Sodium acetate
3
+ PEPMASS=82.0
4
+ INCHI=InChI=1S/C2H4O2.Na/c1-2(3)4;/h1H3,(H,3,4);/q;+1/p-1
5
+ 100.0 1200.0
6
+ END IONS
7
+
8
+ BEGIN IONS
9
+ TITLE=Potassium acetate
10
+ PEPMASS=98.0
11
+ INCHI=InChI=1S/C2H4O2.K/c1-2(3)4;/h1H3,(H,3,4);/q;+1/p-1
12
+ 100.0 1150.0
13
+ END IONS
14
+
15
+ BEGIN IONS
16
+ TITLE=Succinic acid
17
+ PEPMASS=118.0
18
+ INCHI=InChI=1S/C4H6O4/c5-3(6)1-2-4(7)8/h1-2H2,(H,5,6)(H,7,8)
19
+ 117.0 3000.0
20
+ END IONS
@@ -0,0 +1,20 @@
1
+ BEGIN IONS
2
+ TITLE=Calcium acetate
3
+ PEPMASS=158.0
4
+ INCHI=InChI=1S/2C2H4O2.Ca/c2*1-2(3)4;/h2*1H3,(H,3,4);/q;;+2/p-2
5
+ 100.0 1100.0
6
+ END IONS
7
+
8
+ BEGIN IONS
9
+ TITLE=Acetic acid neutral
10
+ PEPMASS=60.0
11
+ INCHI=InChI=1S/C2H4O2/c1-2(3)4/h1H3,(H,3,4)
12
+ 100.0 1050.0
13
+ END IONS
14
+
15
+ BEGIN IONS
16
+ TITLE=Succinic acid sodium salt
17
+ PEPMASS=140.0
18
+ INCHI=InChI=1S/C4H6O4.Na/c5-3(6)1-2-4(7)8;/h1-2H2,(H,5,6)(H,7,8);/q;+1/p-1
19
+ 117.0 2950.0
20
+ END IONS