Spaces:
Running
Running
Commit
·
c1ae600
1
Parent(s):
f98e92f
feat: enhance field and unique indices descriptions handling in app and agents
Browse files- Updated app.py to replace YAML text area with a table format for field descriptions, allowing users to input detailed information for each field.
- Enhanced FieldMapperAgent to incorporate field descriptions into extraction prompts, improving context for data extraction.
- Modified UniqueIndicesCombinator to format unique indices descriptions with additional details such as format, examples, and possible values.
- Updated Planner and Executor to include field descriptions in execution plans, ensuring comprehensive context during processing.
- logs/di_content/di_content_20250617_105150_tables.html +675 -0
- logs/di_content/di_content_20250617_110508_tables.html +1441 -0
- src/agents/__pycache__/field_mapper_agent.cpython-312.pyc +0 -0
- src/agents/__pycache__/table_agent.cpython-312.pyc +0 -0
- src/agents/field_mapper_agent.py +103 -3
- src/agents/unique_indices_combinator.py +23 -2
- src/app.py +210 -34
- src/orchestrator/__pycache__/executor.cpython-312.pyc +0 -0
- src/orchestrator/__pycache__/planner.cpython-312.pyc +0 -0
- src/orchestrator/executor.py +2 -1
- src/orchestrator/planner.py +9 -3
- src/services/__pycache__/azure_di_service.cpython-312.pyc +0 -0
logs/di_content/di_content_20250617_105150_tables.html
ADDED
@@ -0,0 +1,675 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html>
|
3 |
+
<head>
|
4 |
+
<title>Azure DI Tables</title>
|
5 |
+
<style>
|
6 |
+
body { font-family: Arial, sans-serif; margin: 20px; }
|
7 |
+
.table-container { margin-bottom: 40px; }
|
8 |
+
h2 { color: #333; }
|
9 |
+
table { border-collapse: collapse; width: 100%; margin-bottom: 10px; }
|
10 |
+
th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
|
11 |
+
th { background-color: #f5f5f5; }
|
12 |
+
hr { border: none; border-top: 2px solid #ccc; margin: 20px 0; }
|
13 |
+
</style>
|
14 |
+
</head>
|
15 |
+
<body>
|
16 |
+
<h1>Azure Document Intelligence Tables</h1>
|
17 |
+
|
18 |
+
<div class="table-container">
|
19 |
+
<h2>Table 1</h2>
|
20 |
+
<table border="1">
|
21 |
+
<tr>
|
22 |
+
<td>Sales quote:</td>
|
23 |
+
<td>SQ20202722</td>
|
24 |
+
</tr>
|
25 |
+
<tr>
|
26 |
+
<td>Project code:</td>
|
27 |
+
<td>P3016</td>
|
28 |
+
</tr>
|
29 |
+
<tr>
|
30 |
+
<td>LNB number:</td>
|
31 |
+
<td>2023.040</td>
|
32 |
+
</tr>
|
33 |
+
<tr>
|
34 |
+
<td>Project responsible:</td>
|
35 |
+
<td>Nathan Cardon</td>
|
36 |
+
</tr>
|
37 |
+
<tr>
|
38 |
+
<td>Report name:</td>
|
39 |
+
<td>P3016_R010_v01</td>
|
40 |
+
</tr>
|
41 |
+
</table>
|
42 |
+
<hr>
|
43 |
+
</div>
|
44 |
+
|
45 |
+
<div class="table-container">
|
46 |
+
<h2>Table 2</h2>
|
47 |
+
<table border="1">
|
48 |
+
<tr>
|
49 |
+
<td>Construct</td>
|
50 |
+
<td>Stress condition</td>
|
51 |
+
<td>Concentration (mg/mL)</td>
|
52 |
+
</tr>
|
53 |
+
<tr>
|
54 |
+
<td>P018_3D6 VHO VL6 _hIgG1_LALAPG_F405L- FJB_2024-04-18_002</td>
|
55 |
+
<td>T0W</td>
|
56 |
+
<td>1.00</td>
|
57 |
+
</tr>
|
58 |
+
<tr>
|
59 |
+
<td>P018_3D6 VHO VL6 _hIgG1_LALAPG_F405L- FJB_2024-04-18_002</td>
|
60 |
+
<td>T2W_37℃</td>
|
61 |
+
<td>1.00</td>
|
62 |
+
</tr>
|
63 |
+
<tr>
|
64 |
+
<td>P018_3D6 VHO VL6 _hIgG1_LALAPG_F405L- FJB_2024-04-18_002</td>
|
65 |
+
<td>T4W_37℃</td>
|
66 |
+
<td>1.00</td>
|
67 |
+
</tr>
|
68 |
+
</table>
|
69 |
+
<hr>
|
70 |
+
</div>
|
71 |
+
|
72 |
+
<div class="table-container">
|
73 |
+
<h2>Table 3</h2>
|
74 |
+
<table border="1">
|
75 |
+
<tr>
|
76 |
+
<td>Blue:</td>
|
77 |
+
<td>VH and VL</td>
|
78 |
+
</tr>
|
79 |
+
<tr>
|
80 |
+
<td>Blue:</td>
|
81 |
+
<td>CDR</td>
|
82 |
+
</tr>
|
83 |
+
<tr>
|
84 |
+
<td>Green:</td>
|
85 |
+
<td>N-glycosylation site</td>
|
86 |
+
</tr>
|
87 |
+
</table>
|
88 |
+
<hr>
|
89 |
+
</div>
|
90 |
+
|
91 |
+
<div class="table-container">
|
92 |
+
<h2>Table 4</h2>
|
93 |
+
<table border="1">
|
94 |
+
<tr>
|
95 |
+
<td>Relative quantification by EIC (%)</td>
|
96 |
+
<td>Relative quantification by EIC (%)</td>
|
97 |
+
<td>Relative quantification by EIC (%)</td>
|
98 |
+
<td>Relative quantification by EIC (%)</td>
|
99 |
+
<td>Relative quantification by EIC (%)</td>
|
100 |
+
<td>Relative quantification by EIC (%)</td>
|
101 |
+
</tr>
|
102 |
+
<tr>
|
103 |
+
<td>AA Sequence</td>
|
104 |
+
<td>Seq Loc</td>
|
105 |
+
<td>Modification</td>
|
106 |
+
<td>T0</td>
|
107 |
+
<td>T2W_37℃</td>
|
108 |
+
<td>T4W_37℃</td>
|
109 |
+
</tr>
|
110 |
+
<tr>
|
111 |
+
<td>EVQLLESGGGLVQPGGSLR</td>
|
112 |
+
<td>HC(1-19)</td>
|
113 |
+
<td></td>
|
114 |
+
<td>99.0</td>
|
115 |
+
<td>96.1</td>
|
116 |
+
<td>93.0</td>
|
117 |
+
</tr>
|
118 |
+
<tr>
|
119 |
+
<td>EVQLLESGGGLVQPGGSLR</td>
|
120 |
+
<td>HC(1-19)</td>
|
121 |
+
<td>PyroE</td>
|
122 |
+
<td>1.0</td>
|
123 |
+
<td>3.9</td>
|
124 |
+
<td>7.0</td>
|
125 |
+
</tr>
|
126 |
+
</table>
|
127 |
+
<hr>
|
128 |
+
</div>
|
129 |
+
|
130 |
+
<div class="table-container">
|
131 |
+
<h2>Table 5</h2>
|
132 |
+
<table border="1">
|
133 |
+
<tr>
|
134 |
+
<td>Relative quantification by EIC (%)</td>
|
135 |
+
<td>Relative quantification by EIC (%)</td>
|
136 |
+
<td>Relative quantification by EIC (%)</td>
|
137 |
+
<td>Relative quantification by EIC (%)</td>
|
138 |
+
<td>Relative quantification by EIC (%)</td>
|
139 |
+
<td>Relative quantification by EIC (%)</td>
|
140 |
+
</tr>
|
141 |
+
<tr>
|
142 |
+
<td>AA Sequence</td>
|
143 |
+
<td>Seq Loc</td>
|
144 |
+
<td>Modification</td>
|
145 |
+
<td>T0</td>
|
146 |
+
<td>T2W_37℃</td>
|
147 |
+
<td>T4W_37℃</td>
|
148 |
+
</tr>
|
149 |
+
<tr>
|
150 |
+
<td>AEDTAVYYCAKPLYSNLAGDFGS WGQGTTVTVSSASTK</td>
|
151 |
+
<td>HC(88-125)</td>
|
152 |
+
<td></td>
|
153 |
+
<td>99.9</td>
|
154 |
+
<td>99.7</td>
|
155 |
+
<td>99.5</td>
|
156 |
+
</tr>
|
157 |
+
<tr>
|
158 |
+
<td>AEDTAVYYCAKPLYSNLAGDFGS WGQGTTVTVSSASTK</td>
|
159 |
+
<td>HC(88-125)</td>
|
160 |
+
<td>Isomerization</td>
|
161 |
+
<td>0.1</td>
|
162 |
+
<td>0.3</td>
|
163 |
+
<td>0.5</td>
|
164 |
+
</tr>
|
165 |
+
</table>
|
166 |
+
<hr>
|
167 |
+
</div>
|
168 |
+
|
169 |
+
<div class="table-container">
|
170 |
+
<h2>Table 6</h2>
|
171 |
+
<table border="1">
|
172 |
+
<tr>
|
173 |
+
<td>Relative quantification by EIC (%)</td>
|
174 |
+
<td>Relative quantification by EIC (%)</td>
|
175 |
+
<td>Relative quantification by EIC (%)</td>
|
176 |
+
<td>Relative quantification by EIC (%)</td>
|
177 |
+
<td>Relative quantification by EIC (%)</td>
|
178 |
+
<td>Relative quantification by EIC (%)</td>
|
179 |
+
</tr>
|
180 |
+
<tr>
|
181 |
+
<td>AA Sequence</td>
|
182 |
+
<td>Seq Loc</td>
|
183 |
+
<td>Modification</td>
|
184 |
+
<td>T0</td>
|
185 |
+
<td>T2W_37℃</td>
|
186 |
+
<td>T4W_37℃</td>
|
187 |
+
</tr>
|
188 |
+
<tr>
|
189 |
+
<td>NTLYLQMNSLR</td>
|
190 |
+
<td>HC(77-87)</td>
|
191 |
+
<td></td>
|
192 |
+
<td>99.5</td>
|
193 |
+
<td>99.5</td>
|
194 |
+
<td>99.5</td>
|
195 |
+
</tr>
|
196 |
+
<tr>
|
197 |
+
<td>NTLYLQMNSLR</td>
|
198 |
+
<td>HC(77-87)</td>
|
199 |
+
<td>Oxidation</td>
|
200 |
+
<td>0.5</td>
|
201 |
+
<td>0.5</td>
|
202 |
+
<td>0.5</td>
|
203 |
+
</tr>
|
204 |
+
<tr>
|
205 |
+
<td>DIQMTQSPSSLSASVGDR</td>
|
206 |
+
<td>LC(1-18)</td>
|
207 |
+
<td></td>
|
208 |
+
<td>99.5</td>
|
209 |
+
<td>99.5</td>
|
210 |
+
<td>99.5</td>
|
211 |
+
</tr>
|
212 |
+
<tr>
|
213 |
+
<td>DIQMTQSPSSLSASVGDR</td>
|
214 |
+
<td>LC(1-18)</td>
|
215 |
+
<td>Oxidation</td>
|
216 |
+
<td>0.5</td>
|
217 |
+
<td>0.5</td>
|
218 |
+
<td>0.5</td>
|
219 |
+
</tr>
|
220 |
+
</table>
|
221 |
+
<hr>
|
222 |
+
</div>
|
223 |
+
|
224 |
+
<div class="table-container">
|
225 |
+
<h2>Table 7</h2>
|
226 |
+
<table border="1">
|
227 |
+
<tr>
|
228 |
+
<td>Relative quantification by EIC (%)</td>
|
229 |
+
<td>Relative quantification by EIC (%)</td>
|
230 |
+
<td>Relative quantification by EIC (%)</td>
|
231 |
+
<td>Relative quantification by EIC (%)</td>
|
232 |
+
<td>Relative quantification by EIC (%)</td>
|
233 |
+
<td>Relative quantification by EIC (%)</td>
|
234 |
+
</tr>
|
235 |
+
<tr>
|
236 |
+
<td>AA Sequence</td>
|
237 |
+
<td>Seq Loc</td>
|
238 |
+
<td>Modification</td>
|
239 |
+
<td>T0</td>
|
240 |
+
<td>T2W_37℃</td>
|
241 |
+
<td>T4W_37℃</td>
|
242 |
+
</tr>
|
243 |
+
<tr>
|
244 |
+
<td>EVQLLESGGGLVQPGGSLR</td>
|
245 |
+
<td>HC(1-19)</td>
|
246 |
+
<td></td>
|
247 |
+
<td>99.6</td>
|
248 |
+
<td>99.6</td>
|
249 |
+
<td>99.5</td>
|
250 |
+
</tr>
|
251 |
+
<tr>
|
252 |
+
<td>EVQLLESGGGLVQPGGSLR</td>
|
253 |
+
<td>HC(1-19)</td>
|
254 |
+
<td>Deamidation</td>
|
255 |
+
<td>0.4</td>
|
256 |
+
<td>0.4</td>
|
257 |
+
<td>0.5</td>
|
258 |
+
</tr>
|
259 |
+
<tr>
|
260 |
+
<td>NTLYLQMNSLR*</td>
|
261 |
+
<td>HC(77-87)</td>
|
262 |
+
<td></td>
|
263 |
+
<td>99.0</td>
|
264 |
+
<td>98.8</td>
|
265 |
+
<td>98.6</td>
|
266 |
+
</tr>
|
267 |
+
<tr>
|
268 |
+
<td>NTLYLQMNSLR*</td>
|
269 |
+
<td>HC(77-87)</td>
|
270 |
+
<td>Deamidation</td>
|
271 |
+
<td>1.0</td>
|
272 |
+
<td>1.2</td>
|
273 |
+
<td>1.4</td>
|
274 |
+
</tr>
|
275 |
+
<tr>
|
276 |
+
<td>AEDTAVYYCAKPLYSNLAGDFGS WGQGTTVTVSSASTK</td>
|
277 |
+
<td>HC(88-125)</td>
|
278 |
+
<td></td>
|
279 |
+
<td>98.7</td>
|
280 |
+
<td>96.1</td>
|
281 |
+
<td>93.4</td>
|
282 |
+
</tr>
|
283 |
+
<tr>
|
284 |
+
<td>AEDTAVYYCAKPLYSNLAGDFGS WGQGTTVTVSSASTK</td>
|
285 |
+
<td>HC(88-125)</td>
|
286 |
+
<td>Deamidation</td>
|
287 |
+
<td>1.3</td>
|
288 |
+
<td>3.9</td>
|
289 |
+
<td>6.6</td>
|
290 |
+
</tr>
|
291 |
+
<tr>
|
292 |
+
<td>VTITCQASQSISSYLAWYQQKPGK</td>
|
293 |
+
<td>LC(19-42)</td>
|
294 |
+
<td></td>
|
295 |
+
<td>99.9</td>
|
296 |
+
<td>99.8</td>
|
297 |
+
<td>99.5</td>
|
298 |
+
</tr>
|
299 |
+
<tr>
|
300 |
+
<td>VTITCQASQSISSYLAWYQQKPGK</td>
|
301 |
+
<td>LC(19-42)</td>
|
302 |
+
<td>Deamidation</td>
|
303 |
+
<td>0.1</td>
|
304 |
+
<td>0.2</td>
|
305 |
+
<td>0.5</td>
|
306 |
+
</tr>
|
307 |
+
</table>
|
308 |
+
<hr>
|
309 |
+
</div>
|
310 |
+
|
311 |
+
<div class="table-container">
|
312 |
+
<h2>Table 8</h2>
|
313 |
+
<table border="1">
|
314 |
+
<tr>
|
315 |
+
<td>b --- 1</td>
|
316 |
+
<td></td>
|
317 |
+
<td></td>
|
318 |
+
<td>y</td>
|
319 |
+
</tr>
|
320 |
+
<tr>
|
321 |
+
<td>b --- 1</td>
|
322 |
+
<td>N(+0.984016)</td>
|
323 |
+
<td>11</td>
|
324 |
+
<td>---</td>
|
325 |
+
</tr>
|
326 |
+
<tr>
|
327 |
+
<td>217.0819 2</td>
|
328 |
+
<td>T</td>
|
329 |
+
<td>10</td>
|
330 |
+
<td>1238.6562</td>
|
331 |
+
</tr>
|
332 |
+
<tr>
|
333 |
+
<td>330.1660 3</td>
|
334 |
+
<td>L</td>
|
335 |
+
<td>9</td>
|
336 |
+
<td>1137.6085</td>
|
337 |
+
</tr>
|
338 |
+
<tr>
|
339 |
+
<td>493.2293 4</td>
|
340 |
+
<td>Y</td>
|
341 |
+
<td>8</td>
|
342 |
+
<td>1024.5244</td>
|
343 |
+
</tr>
|
344 |
+
<tr>
|
345 |
+
<td>606.3134 5</td>
|
346 |
+
<td>L</td>
|
347 |
+
<td>7</td>
|
348 |
+
<td>861.4611</td>
|
349 |
+
</tr>
|
350 |
+
<tr>
|
351 |
+
<td>734.3719 6</td>
|
352 |
+
<td>Q</td>
|
353 |
+
<td>6</td>
|
354 |
+
<td>748.3770</td>
|
355 |
+
</tr>
|
356 |
+
<tr>
|
357 |
+
<td>865.4124 7</td>
|
358 |
+
<td>M</td>
|
359 |
+
<td>5</td>
|
360 |
+
<td>620.3185</td>
|
361 |
+
</tr>
|
362 |
+
<tr>
|
363 |
+
<td>979.4553 8</td>
|
364 |
+
<td>N</td>
|
365 |
+
<td>4</td>
|
366 |
+
<td>489.2780</td>
|
367 |
+
</tr>
|
368 |
+
<tr>
|
369 |
+
<td>066.4874 9</td>
|
370 |
+
<td>S</td>
|
371 |
+
<td>3</td>
|
372 |
+
<td>375.2350</td>
|
373 |
+
</tr>
|
374 |
+
<tr>
|
375 |
+
<td>179.5714 10</td>
|
376 |
+
<td>L</td>
|
377 |
+
<td>2</td>
|
378 |
+
<td>288.2030</td>
|
379 |
+
</tr>
|
380 |
+
<tr>
|
381 |
+
<td>--- 11</td>
|
382 |
+
<td>R</td>
|
383 |
+
<td>1</td>
|
384 |
+
<td>175.1190</td>
|
385 |
+
</tr>
|
386 |
+
</table>
|
387 |
+
<hr>
|
388 |
+
</div>
|
389 |
+
|
390 |
+
<div class="table-container">
|
391 |
+
<h2>Table 9</h2>
|
392 |
+
<table border="1">
|
393 |
+
<tr>
|
394 |
+
<td>b</td>
|
395 |
+
<td>y</td>
|
396 |
+
<td>y</td>
|
397 |
+
<td>y</td>
|
398 |
+
</tr>
|
399 |
+
<tr>
|
400 |
+
<td>--- 1</td>
|
401 |
+
<td>N</td>
|
402 |
+
<td>11</td>
|
403 |
+
<td>---</td>
|
404 |
+
</tr>
|
405 |
+
<tr>
|
406 |
+
<td>216.0979 2</td>
|
407 |
+
<td>T</td>
|
408 |
+
<td>10</td>
|
409 |
+
<td>1239.6402</td>
|
410 |
+
</tr>
|
411 |
+
<tr>
|
412 |
+
<td>329.1819 3</td>
|
413 |
+
<td>L</td>
|
414 |
+
<td>9</td>
|
415 |
+
<td>1138.5925</td>
|
416 |
+
</tr>
|
417 |
+
<tr>
|
418 |
+
<td>492.2453 4</td>
|
419 |
+
<td>Y</td>
|
420 |
+
<td>8</td>
|
421 |
+
<td>1025.5084</td>
|
422 |
+
</tr>
|
423 |
+
<tr>
|
424 |
+
<td>605.3293 5</td>
|
425 |
+
<td>L</td>
|
426 |
+
<td>7</td>
|
427 |
+
<td>862.4451</td>
|
428 |
+
</tr>
|
429 |
+
<tr>
|
430 |
+
<td>733.3879 6</td>
|
431 |
+
<td>Q</td>
|
432 |
+
<td>6</td>
|
433 |
+
<td>749.3611</td>
|
434 |
+
</tr>
|
435 |
+
<tr>
|
436 |
+
<td>864.4284 7</td>
|
437 |
+
<td>M</td>
|
438 |
+
<td>5</td>
|
439 |
+
<td>621.3025</td>
|
440 |
+
</tr>
|
441 |
+
<tr>
|
442 |
+
<td>979.4553 8</td>
|
443 |
+
<td>N(+0.984016)</td>
|
444 |
+
<td>4</td>
|
445 |
+
<td>490.2620</td>
|
446 |
+
</tr>
|
447 |
+
<tr>
|
448 |
+
<td>1066.4874 9</td>
|
449 |
+
<td>S</td>
|
450 |
+
<td>3</td>
|
451 |
+
<td>375.2350</td>
|
452 |
+
</tr>
|
453 |
+
<tr>
|
454 |
+
<td>1179.5714 10</td>
|
455 |
+
<td>L</td>
|
456 |
+
<td>2</td>
|
457 |
+
<td>288.2030</td>
|
458 |
+
</tr>
|
459 |
+
<tr>
|
460 |
+
<td>--- 11</td>
|
461 |
+
<td>R</td>
|
462 |
+
<td>1</td>
|
463 |
+
<td>175.1190</td>
|
464 |
+
</tr>
|
465 |
+
</table>
|
466 |
+
<hr>
|
467 |
+
</div>
|
468 |
+
|
469 |
+
<div class="table-container">
|
470 |
+
<h2>Table 10</h2>
|
471 |
+
<table border="1">
|
472 |
+
<tr>
|
473 |
+
<td>Relative quantification by EIC (%)</td>
|
474 |
+
<td>Relative quantification by EIC (%)</td>
|
475 |
+
<td>Relative quantification by EIC (%)</td>
|
476 |
+
<td>Relative quantification by EIC (%)</td>
|
477 |
+
<td>Relative quantification by EIC (%)</td>
|
478 |
+
<td>Relative quantification by EIC (%)</td>
|
479 |
+
</tr>
|
480 |
+
<tr>
|
481 |
+
<td>AA Sequence</td>
|
482 |
+
<td>Seq Loc</td>
|
483 |
+
<td>Modification</td>
|
484 |
+
<td>T0</td>
|
485 |
+
<td>T2W_37℃</td>
|
486 |
+
<td>T4W_37℃</td>
|
487 |
+
</tr>
|
488 |
+
<tr>
|
489 |
+
<td>SCDK</td>
|
490 |
+
<td>HC(223-226)</td>
|
491 |
+
<td></td>
|
492 |
+
<td>99.8</td>
|
493 |
+
<td>99.5</td>
|
494 |
+
<td>98.8</td>
|
495 |
+
</tr>
|
496 |
+
<tr>
|
497 |
+
<td>SFNRGEC</td>
|
498 |
+
<td>LC(208-214)</td>
|
499 |
+
<td></td>
|
500 |
+
<td>99.8</td>
|
501 |
+
<td>99.5</td>
|
502 |
+
<td>98.8</td>
|
503 |
+
</tr>
|
504 |
+
<tr>
|
505 |
+
<td>SFNRGEC - SCDK</td>
|
506 |
+
<td>HC(223-226) + LC(208-214)</td>
|
507 |
+
<td>Thioether</td>
|
508 |
+
<td>0.2</td>
|
509 |
+
<td>0.5</td>
|
510 |
+
<td>1.2</td>
|
511 |
+
</tr>
|
512 |
+
</table>
|
513 |
+
<hr>
|
514 |
+
</div>
|
515 |
+
|
516 |
+
<div class="table-container">
|
517 |
+
<h2>Table 11</h2>
|
518 |
+
<table border="1">
|
519 |
+
<tr>
|
520 |
+
<td>Relative quantification by EIC (%)*</td>
|
521 |
+
<td>Relative quantification by EIC (%)*</td>
|
522 |
+
<td>Relative quantification by EIC (%)*</td>
|
523 |
+
<td>Relative quantification by EIC (%)*</td>
|
524 |
+
<td>Relative quantification by EIC (%)*</td>
|
525 |
+
<td>Relative quantification by EIC (%)*</td>
|
526 |
+
</tr>
|
527 |
+
<tr>
|
528 |
+
<td>AA Sequence</td>
|
529 |
+
<td>Seq Loc</td>
|
530 |
+
<td>Modification</td>
|
531 |
+
<td>T0</td>
|
532 |
+
<td>T2W_37℃</td>
|
533 |
+
<td>T4W_37℃</td>
|
534 |
+
</tr>
|
535 |
+
<tr>
|
536 |
+
<td>AEDTAVYYCAKPLYSNLAGDFGS WGQGTTVTVSSASTK</td>
|
537 |
+
<td>HC(88-125)</td>
|
538 |
+
<td></td>
|
539 |
+
<td>98.6</td>
|
540 |
+
<td>98.1</td>
|
541 |
+
<td>96.8</td>
|
542 |
+
</tr>
|
543 |
+
<tr>
|
544 |
+
<td>AEDTAVYYCAKPLYSN</td>
|
545 |
+
<td>HC(88-125)</td>
|
546 |
+
<td>Clipping</td>
|
547 |
+
<td>0.3</td>
|
548 |
+
<td>0.4</td>
|
549 |
+
<td>0.6</td>
|
550 |
+
</tr>
|
551 |
+
<tr>
|
552 |
+
<td>LAGDFGSWGQGTTVTVSSASTK</td>
|
553 |
+
<td>HC(88-125)</td>
|
554 |
+
<td>Clipping</td>
|
555 |
+
<td>1.1</td>
|
556 |
+
<td>1.5</td>
|
557 |
+
<td>2.6</td>
|
558 |
+
</tr>
|
559 |
+
<tr>
|
560 |
+
<td>STSGGTAALGCLVK</td>
|
561 |
+
<td>HC(138-151)</td>
|
562 |
+
<td></td>
|
563 |
+
<td>99.9</td>
|
564 |
+
<td>99.3</td>
|
565 |
+
<td>98.7</td>
|
566 |
+
</tr>
|
567 |
+
<tr>
|
568 |
+
<td>GGTAALGCLVK</td>
|
569 |
+
<td>HC(138-151)</td>
|
570 |
+
<td>Clipping</td>
|
571 |
+
<td>0.0</td>
|
572 |
+
<td>0.2</td>
|
573 |
+
<td>0.3</td>
|
574 |
+
</tr>
|
575 |
+
<tr>
|
576 |
+
<td>GTAALGCLVK</td>
|
577 |
+
<td>HC(138-151)</td>
|
578 |
+
<td>Clipping_2</td>
|
579 |
+
<td>0.1</td>
|
580 |
+
<td>0.5</td>
|
581 |
+
<td>0.9</td>
|
582 |
+
</tr>
|
583 |
+
<tr>
|
584 |
+
<td>SCDKTHTCPPCPAPEAAGGPSVFL FPPKPK</td>
|
585 |
+
<td>HC(223-252)</td>
|
586 |
+
<td></td>
|
587 |
+
<td>99.6</td>
|
588 |
+
<td>99.4</td>
|
589 |
+
<td>99.0</td>
|
590 |
+
</tr>
|
591 |
+
<tr>
|
592 |
+
<td>DKTHTCPPCPAPEAAGGPSVFLFP PKPK</td>
|
593 |
+
<td>HC(223-252)</td>
|
594 |
+
<td>Clipping</td>
|
595 |
+
<td>0.4</td>
|
596 |
+
<td>0.6</td>
|
597 |
+
<td>1.0</td>
|
598 |
+
</tr>
|
599 |
+
</table>
|
600 |
+
<hr>
|
601 |
+
</div>
|
602 |
+
|
603 |
+
<div class="table-container">
|
604 |
+
<h2>Table 12</h2>
|
605 |
+
<table border="1">
|
606 |
+
<tr>
|
607 |
+
<td>Blue:</td>
|
608 |
+
<td>VH and VL</td>
|
609 |
+
</tr>
|
610 |
+
<tr>
|
611 |
+
<td>Blue:</td>
|
612 |
+
<td>CDR</td>
|
613 |
+
</tr>
|
614 |
+
<tr>
|
615 |
+
<td>Green:</td>
|
616 |
+
<td>N-glycosylation site</td>
|
617 |
+
</tr>
|
618 |
+
</table>
|
619 |
+
<hr>
|
620 |
+
</div>
|
621 |
+
|
622 |
+
<div class="table-container">
|
623 |
+
<h2>Table 13</h2>
|
624 |
+
<table border="1">
|
625 |
+
<tr>
|
626 |
+
<td>Mabelle Meersseman</td>
|
627 |
+
<td>Date:</td>
|
628 |
+
</tr>
|
629 |
+
<tr>
|
630 |
+
<td>Group Leader</td>
|
631 |
+
<td>Signature:</td>
|
632 |
+
</tr>
|
633 |
+
<tr>
|
634 |
+
<td>Approver</td>
|
635 |
+
<td></td>
|
636 |
+
</tr>
|
637 |
+
<tr>
|
638 |
+
<td>Koen Sandra Ph.D.</td>
|
639 |
+
<td>Date:</td>
|
640 |
+
</tr>
|
641 |
+
<tr>
|
642 |
+
<td>CEO</td>
|
643 |
+
<td>Signature:</td>
|
644 |
+
</tr>
|
645 |
+
</table>
|
646 |
+
<hr>
|
647 |
+
</div>
|
648 |
+
|
649 |
+
<div class="table-container">
|
650 |
+
<h2>Table 14</h2>
|
651 |
+
<table border="1">
|
652 |
+
<tr>
|
653 |
+
<td>Version</td>
|
654 |
+
<td>Date of issue</td>
|
655 |
+
<td>Reason for version update</td>
|
656 |
+
</tr>
|
657 |
+
<tr>
|
658 |
+
<td>00</td>
|
659 |
+
<td>20 November 2024</td>
|
660 |
+
<td>Draft</td>
|
661 |
+
</tr>
|
662 |
+
<tr>
|
663 |
+
<td></td>
|
664 |
+
<td></td>
|
665 |
+
<td></td>
|
666 |
+
</tr>
|
667 |
+
<tr>
|
668 |
+
<td></td>
|
669 |
+
<td></td>
|
670 |
+
<td></td>
|
671 |
+
</tr>
|
672 |
+
</table>
|
673 |
+
<hr>
|
674 |
+
</div>
|
675 |
+
</body></html>
|
logs/di_content/di_content_20250617_110508_tables.html
ADDED
@@ -0,0 +1,1441 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html>
|
3 |
+
<head>
|
4 |
+
<title>Azure DI Tables</title>
|
5 |
+
<style>
|
6 |
+
body { font-family: Arial, sans-serif; margin: 20px; }
|
7 |
+
.table-container { margin-bottom: 40px; }
|
8 |
+
h2 { color: #333; }
|
9 |
+
table { border-collapse: collapse; width: 100%; margin-bottom: 10px; }
|
10 |
+
th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
|
11 |
+
th { background-color: #f5f5f5; }
|
12 |
+
hr { border: none; border-top: 2px solid #ccc; margin: 20px 0; }
|
13 |
+
</style>
|
14 |
+
</head>
|
15 |
+
<body>
|
16 |
+
<h1>Azure Document Intelligence Tables</h1>
|
17 |
+
|
18 |
+
<div class="table-container">
|
19 |
+
<h2>Table 1</h2>
|
20 |
+
<table border="1">
|
21 |
+
<tr>
|
22 |
+
<td>l Sales quote:</td>
|
23 |
+
<td>SQ20202722</td>
|
24 |
+
</tr>
|
25 |
+
<tr>
|
26 |
+
<td>l Project code:</td>
|
27 |
+
<td>P3016</td>
|
28 |
+
</tr>
|
29 |
+
<tr>
|
30 |
+
<td>l LNB number:</td>
|
31 |
+
<td>2023.050</td>
|
32 |
+
</tr>
|
33 |
+
<tr>
|
34 |
+
<td>l Project responsible:</td>
|
35 |
+
<td>Nathan Cardon</td>
|
36 |
+
</tr>
|
37 |
+
<tr>
|
38 |
+
<td>l Report name:</td>
|
39 |
+
<td>P3016_R11_v00</td>
|
40 |
+
</tr>
|
41 |
+
</table>
|
42 |
+
<hr>
|
43 |
+
</div>
|
44 |
+
|
45 |
+
<div class="table-container">
|
46 |
+
<h2>Table 2</h2>
|
47 |
+
<table border="1">
|
48 |
+
<tr>
|
49 |
+
<td>Test sample ID client</td>
|
50 |
+
<td>Test sample ID RIC</td>
|
51 |
+
<td>Protein concentration (mg/ML)</td>
|
52 |
+
</tr>
|
53 |
+
<tr>
|
54 |
+
<td>P066_FH0.7-0-hulgG-LALAPG-FJB</td>
|
55 |
+
<td>aFH0.7_T0</td>
|
56 |
+
<td>1.0</td>
|
57 |
+
</tr>
|
58 |
+
<tr>
|
59 |
+
<td>P066_FH0.7-0-hulgG-LALAPG-FJB</td>
|
60 |
+
<td>aFH.07_T4W</td>
|
61 |
+
<td>1.0</td>
|
62 |
+
</tr>
|
63 |
+
<tr>
|
64 |
+
<td>P066_FHR-1.3B4_0-hulgG-LALAPG-FJB</td>
|
65 |
+
<td>FHR-1.3B4_T0</td>
|
66 |
+
<td>1.0</td>
|
67 |
+
</tr>
|
68 |
+
<tr>
|
69 |
+
<td>P066_FHR-1.3B4_0-hulgG-LALAPG-FJB</td>
|
70 |
+
<td>FHR-1.3B4_T4W</td>
|
71 |
+
<td>1.0</td>
|
72 |
+
</tr>
|
73 |
+
<tr>
|
74 |
+
<td>P066_L5_H12_0-hulgG-LALAPG-FJB</td>
|
75 |
+
<td>L5_H12_T0</td>
|
76 |
+
<td>1.0</td>
|
77 |
+
</tr>
|
78 |
+
<tr>
|
79 |
+
<td>P066_L5_H12_0-hulgG-LALAPG-FJB</td>
|
80 |
+
<td>L5_H12_T4W</td>
|
81 |
+
<td>1.0</td>
|
82 |
+
</tr>
|
83 |
+
<tr>
|
84 |
+
<td>P066_L5_H31-0-hulgG-LALAPG-FJB</td>
|
85 |
+
<td>L5_H31_T0</td>
|
86 |
+
<td>1.0</td>
|
87 |
+
</tr>
|
88 |
+
<tr>
|
89 |
+
<td>P066_L5_H31-0-hulgG-LALAPG-FJB</td>
|
90 |
+
<td>L5_H31_T4W</td>
|
91 |
+
<td>1.0</td>
|
92 |
+
</tr>
|
93 |
+
<tr>
|
94 |
+
<td>P066_L14_H12_0-hulgG-LALAPG-FJB</td>
|
95 |
+
<td>L14_H12_T0</td>
|
96 |
+
<td>1.0</td>
|
97 |
+
</tr>
|
98 |
+
<tr>
|
99 |
+
<td>P066_L14_H12_0-hulgG-LALAPG-FJB</td>
|
100 |
+
<td>L14_H12_T4W</td>
|
101 |
+
<td>1.0</td>
|
102 |
+
</tr>
|
103 |
+
<tr>
|
104 |
+
<td>P066_L14_H31_0-hulgG-LALAPG-FJB</td>
|
105 |
+
<td>L14_H31_T0</td>
|
106 |
+
<td>1.0</td>
|
107 |
+
</tr>
|
108 |
+
<tr>
|
109 |
+
<td>P066_L14_H31_0-hulgG-LALAPG-FJB</td>
|
110 |
+
<td>L14-H31_T4W</td>
|
111 |
+
<td>1.0</td>
|
112 |
+
</tr>
|
113 |
+
</table>
|
114 |
+
<hr>
|
115 |
+
</div>
|
116 |
+
|
117 |
+
<div class="table-container">
|
118 |
+
<h2>Table 3</h2>
|
119 |
+
<table border="1">
|
120 |
+
<tr>
|
121 |
+
<td></td>
|
122 |
+
<td>aFH.07_T0</td>
|
123 |
+
<td>aFH.07_T4W</td>
|
124 |
+
</tr>
|
125 |
+
<tr>
|
126 |
+
<td>G0-GlcNAc</td>
|
127 |
+
<td>5.0%</td>
|
128 |
+
<td>4.5%</td>
|
129 |
+
</tr>
|
130 |
+
<tr>
|
131 |
+
<td>Man5</td>
|
132 |
+
<td>56.1%</td>
|
133 |
+
<td>56.3%</td>
|
134 |
+
</tr>
|
135 |
+
<tr>
|
136 |
+
<td>Man6</td>
|
137 |
+
<td>17.6%</td>
|
138 |
+
<td>17.4%</td>
|
139 |
+
</tr>
|
140 |
+
<tr>
|
141 |
+
<td>Man7</td>
|
142 |
+
<td>20.7%</td>
|
143 |
+
<td>21.6%</td>
|
144 |
+
</tr>
|
145 |
+
<tr>
|
146 |
+
<td>Man8</td>
|
147 |
+
<td>0.6%</td>
|
148 |
+
<td>0.2%</td>
|
149 |
+
</tr>
|
150 |
+
</table>
|
151 |
+
<hr>
|
152 |
+
</div>
|
153 |
+
|
154 |
+
<div class="table-container">
|
155 |
+
<h2>Table 4</h2>
|
156 |
+
<table border="1">
|
157 |
+
<tr>
|
158 |
+
<td></td>
|
159 |
+
<td>aFH.07_T0</td>
|
160 |
+
<td>aFH.07_T4W</td>
|
161 |
+
</tr>
|
162 |
+
<tr>
|
163 |
+
<td>Unknown peak</td>
|
164 |
+
<td>0.6%</td>
|
165 |
+
<td>1.3%</td>
|
166 |
+
</tr>
|
167 |
+
<tr>
|
168 |
+
<td>HC [G0F/G0] - 2*GlcNAc</td>
|
169 |
+
<td>1.5%</td>
|
170 |
+
<td>2.0%</td>
|
171 |
+
</tr>
|
172 |
+
<tr>
|
173 |
+
<td>HC [Man5-Man5]</td>
|
174 |
+
<td>16.7%</td>
|
175 |
+
<td>16.5%</td>
|
176 |
+
</tr>
|
177 |
+
<tr>
|
178 |
+
<td>HC [G0F-Man5]</td>
|
179 |
+
<td>10.9%</td>
|
180 |
+
<td>11.9%</td>
|
181 |
+
</tr>
|
182 |
+
<tr>
|
183 |
+
<td>HC [G0F/G0] - GlcNAc</td>
|
184 |
+
<td>16.5%</td>
|
185 |
+
<td>17.2%</td>
|
186 |
+
</tr>
|
187 |
+
<tr>
|
188 |
+
<td>HC [G0F/G0]</td>
|
189 |
+
<td>6.5%</td>
|
190 |
+
<td>6.0%</td>
|
191 |
+
</tr>
|
192 |
+
<tr>
|
193 |
+
<td>HC [G0F/G0F]</td>
|
194 |
+
<td>35.5%</td>
|
195 |
+
<td>33.8%</td>
|
196 |
+
</tr>
|
197 |
+
<tr>
|
198 |
+
<td>HC [G0F/G1F]</td>
|
199 |
+
<td>6.5%</td>
|
200 |
+
<td>5.9%</td>
|
201 |
+
</tr>
|
202 |
+
<tr>
|
203 |
+
<td>HC [G1F/G1F] or HC [G0F/G2F]</td>
|
204 |
+
<td>5.0%</td>
|
205 |
+
<td>4.8%</td>
|
206 |
+
</tr>
|
207 |
+
<tr>
|
208 |
+
<td>HC [G1F/G2F]</td>
|
209 |
+
<td>0.3%</td>
|
210 |
+
<td>0.6%</td>
|
211 |
+
</tr>
|
212 |
+
</table>
|
213 |
+
<hr>
|
214 |
+
</div>
|
215 |
+
|
216 |
+
<div class="table-container">
|
217 |
+
<h2>Table 5</h2>
|
218 |
+
<table border="1">
|
219 |
+
<tr>
|
220 |
+
<td>Sequence</td>
|
221 |
+
<td>Sequence location</td>
|
222 |
+
<td>Modification</td>
|
223 |
+
<td>Relative abundance</td>
|
224 |
+
<td>Relative abundance</td>
|
225 |
+
</tr>
|
226 |
+
<tr>
|
227 |
+
<td>Sequence</td>
|
228 |
+
<td>Sequence location</td>
|
229 |
+
<td>Modification</td>
|
230 |
+
<td>aFH.07_T0</td>
|
231 |
+
<td>aFH.07_T4W</td>
|
232 |
+
</tr>
|
233 |
+
<tr>
|
234 |
+
<td>QIVLSQSPTFLSASPGEK</td>
|
235 |
+
<td>LC (001-018)</td>
|
236 |
+
<td>pyroQ</td>
|
237 |
+
<td>86.8%</td>
|
238 |
+
<td>99.7%</td>
|
239 |
+
</tr>
|
240 |
+
<tr>
|
241 |
+
<td>QIVLSQSPTFLSASPGEK</td>
|
242 |
+
<td>LC (001-018)</td>
|
243 |
+
<td></td>
|
244 |
+
<td>13.2%</td>
|
245 |
+
<td>0.3%</td>
|
246 |
+
</tr>
|
247 |
+
<tr>
|
248 |
+
<td>QVQLQQSGPGLVQPSQSLSITCTVSDFSLAR</td>
|
249 |
+
<td>HC (001-031)</td>
|
250 |
+
<td>pyroQ</td>
|
251 |
+
<td>90.0%</td>
|
252 |
+
<td>100.0%</td>
|
253 |
+
</tr>
|
254 |
+
<tr>
|
255 |
+
<td>QVQLQQSGPGLVQPSQSLSITCTVSDFSLAR</td>
|
256 |
+
<td>HC (001-031)</td>
|
257 |
+
<td></td>
|
258 |
+
<td>10.0%</td>
|
259 |
+
<td>n.d</td>
|
260 |
+
</tr>
|
261 |
+
</table>
|
262 |
+
<hr>
|
263 |
+
</div>
|
264 |
+
|
265 |
+
<div class="table-container">
|
266 |
+
<h2>Table 6</h2>
|
267 |
+
<table border="1">
|
268 |
+
<tr>
|
269 |
+
<td>Sequence</td>
|
270 |
+
<td>Sequence location</td>
|
271 |
+
<td>Modification</td>
|
272 |
+
<td>Relative abundance</td>
|
273 |
+
<td>Relative abundance</td>
|
274 |
+
</tr>
|
275 |
+
<tr>
|
276 |
+
<td>Sequence</td>
|
277 |
+
<td>Sequence location</td>
|
278 |
+
<td>Modification</td>
|
279 |
+
<td>aFH.07_T0</td>
|
280 |
+
<td>aFH.07_T4W</td>
|
281 |
+
</tr>
|
282 |
+
<tr>
|
283 |
+
<td>YMHWYQQKPGASPKPWIFATSNLASGVPAR</td>
|
284 |
+
<td>LC (31-60)</td>
|
285 |
+
<td>Oxidation [+16 Da]</td>
|
286 |
+
<td>0.9%</td>
|
287 |
+
<td>1.0%</td>
|
288 |
+
</tr>
|
289 |
+
<tr>
|
290 |
+
<td>YMHWYQQKPGASPKPWIFATSNLASGVPAR</td>
|
291 |
+
<td>LC (31-60)</td>
|
292 |
+
<td></td>
|
293 |
+
<td>99.1%</td>
|
294 |
+
<td>99.0%</td>
|
295 |
+
</tr>
|
296 |
+
</table>
|
297 |
+
<hr>
|
298 |
+
</div>
|
299 |
+
|
300 |
+
<div class="table-container">
|
301 |
+
<h2>Table 7</h2>
|
302 |
+
<table border="1">
|
303 |
+
<tr>
|
304 |
+
<td>Sequence</td>
|
305 |
+
<td>Sequence location</td>
|
306 |
+
<td>Modification</td>
|
307 |
+
<td>Relative abundance</td>
|
308 |
+
<td>Relative abundance</td>
|
309 |
+
</tr>
|
310 |
+
<tr>
|
311 |
+
<td>Sequence</td>
|
312 |
+
<td>Sequence location</td>
|
313 |
+
<td>Modification</td>
|
314 |
+
<td>aFH.07_T0</td>
|
315 |
+
<td>aFH.07_T4W</td>
|
316 |
+
</tr>
|
317 |
+
<tr>
|
318 |
+
<td>LNINKDNSK</td>
|
319 |
+
<td>HC (72-75)</td>
|
320 |
+
<td></td>
|
321 |
+
<td>99.5%</td>
|
322 |
+
<td>98.9%</td>
|
323 |
+
</tr>
|
324 |
+
<tr>
|
325 |
+
<td>LNINKDNSK</td>
|
326 |
+
<td>HC (72-75)</td>
|
327 |
+
<td>Deamidation</td>
|
328 |
+
<td>0.5%</td>
|
329 |
+
<td>1.1%</td>
|
330 |
+
</tr>
|
331 |
+
</table>
|
332 |
+
<hr>
|
333 |
+
</div>
|
334 |
+
|
335 |
+
<div class="table-container">
|
336 |
+
<h2>Table 8</h2>
|
337 |
+
<table border="1">
|
338 |
+
<tr>
|
339 |
+
<td>Sequence</td>
|
340 |
+
<td>Sequence location</td>
|
341 |
+
<td>Modification</td>
|
342 |
+
<td>Relative abundance</td>
|
343 |
+
<td>Relative abundance</td>
|
344 |
+
</tr>
|
345 |
+
<tr>
|
346 |
+
<td>Sequence</td>
|
347 |
+
<td>Sequence location</td>
|
348 |
+
<td>Modification</td>
|
349 |
+
<td>aFH.07_T0</td>
|
350 |
+
<td>aFH.07_T4W</td>
|
351 |
+
</tr>
|
352 |
+
<tr>
|
353 |
+
<td>VEAEDAATYYCQQWSIIPPTFGNGTK</td>
|
354 |
+
<td>LC (77-102)</td>
|
355 |
+
<td>GO-GICNAc</td>
|
356 |
+
<td>2.6%</td>
|
357 |
+
<td>4.0%</td>
|
358 |
+
</tr>
|
359 |
+
<tr>
|
360 |
+
<td>VEAEDAATYYCQQWSIIPPTFGNGTK</td>
|
361 |
+
<td>LC (77-102)</td>
|
362 |
+
<td>Man5</td>
|
363 |
+
<td>54.9%</td>
|
364 |
+
<td>57.3%</td>
|
365 |
+
</tr>
|
366 |
+
<tr>
|
367 |
+
<td>VEAEDAATYYCQQWSIIPPTFGNGTK</td>
|
368 |
+
<td>LC (77-102)</td>
|
369 |
+
<td>Man6</td>
|
370 |
+
<td>21.1%</td>
|
371 |
+
<td>18.8%</td>
|
372 |
+
</tr>
|
373 |
+
<tr>
|
374 |
+
<td>VEAEDAATYYCQQWSIIPPTFGNGTK</td>
|
375 |
+
<td>LC (77-102)</td>
|
376 |
+
<td>Man7</td>
|
377 |
+
<td>21.4%</td>
|
378 |
+
<td>20.0%</td>
|
379 |
+
</tr>
|
380 |
+
</table>
|
381 |
+
<hr>
|
382 |
+
</div>
|
383 |
+
|
384 |
+
<div class="table-container">
|
385 |
+
<h2>Table 9</h2>
|
386 |
+
<table border="1">
|
387 |
+
<tr>
|
388 |
+
<td>Sequence</td>
|
389 |
+
<td>Sequence location</td>
|
390 |
+
<td>Modification</td>
|
391 |
+
<td>Relative abundance</td>
|
392 |
+
<td>Relative abundance</td>
|
393 |
+
</tr>
|
394 |
+
<tr>
|
395 |
+
<td>Sequence</td>
|
396 |
+
<td>Sequence location</td>
|
397 |
+
<td>Modification</td>
|
398 |
+
<td>aFH.07_T0</td>
|
399 |
+
<td>aFH.07_T4W</td>
|
400 |
+
</tr>
|
401 |
+
<tr>
|
402 |
+
<td>MNSLQANDTAIYYCAR</td>
|
403 |
+
<td>HC (82-97)</td>
|
404 |
+
<td>Non glycosylated</td>
|
405 |
+
<td>n.d</td>
|
406 |
+
<td>n.d</td>
|
407 |
+
</tr>
|
408 |
+
<tr>
|
409 |
+
<td>MNSLQANDTAIYYCAR</td>
|
410 |
+
<td>HC (82-97)</td>
|
411 |
+
<td>G0F-GlcNAc</td>
|
412 |
+
<td>16.3%</td>
|
413 |
+
<td>20.8%</td>
|
414 |
+
</tr>
|
415 |
+
<tr>
|
416 |
+
<td>MNSLQANDTAIYYCAR</td>
|
417 |
+
<td>HC (82-97)</td>
|
418 |
+
<td>G0</td>
|
419 |
+
<td>4.2%</td>
|
420 |
+
<td>3.7%</td>
|
421 |
+
</tr>
|
422 |
+
<tr>
|
423 |
+
<td>MNSLQANDTAIYYCAR</td>
|
424 |
+
<td>HC (82-97)</td>
|
425 |
+
<td>G0F</td>
|
426 |
+
<td>36.5%</td>
|
427 |
+
<td>34.0%</td>
|
428 |
+
</tr>
|
429 |
+
<tr>
|
430 |
+
<td>MNSLQANDTAIYYCAR</td>
|
431 |
+
<td>HC (82-97)</td>
|
432 |
+
<td>G1F</td>
|
433 |
+
<td>4.9%</td>
|
434 |
+
<td>5.1%</td>
|
435 |
+
</tr>
|
436 |
+
<tr>
|
437 |
+
<td>MNSLQANDTAIYYCAR</td>
|
438 |
+
<td>HC (82-97)</td>
|
439 |
+
<td>G2F</td>
|
440 |
+
<td>5.7%</td>
|
441 |
+
<td>4.8%</td>
|
442 |
+
</tr>
|
443 |
+
<tr>
|
444 |
+
<td>MNSLQANDTAIYYCAR</td>
|
445 |
+
<td>HC (82-97)</td>
|
446 |
+
<td>Man5</td>
|
447 |
+
<td>32.4%</td>
|
448 |
+
<td>31.5%</td>
|
449 |
+
</tr>
|
450 |
+
</table>
|
451 |
+
<hr>
|
452 |
+
</div>
|
453 |
+
|
454 |
+
<div class="table-container">
|
455 |
+
<h2>Table 10</h2>
|
456 |
+
<table border="1">
|
457 |
+
<tr>
|
458 |
+
<td>Sequence</td>
|
459 |
+
<td>Sequence location</td>
|
460 |
+
<td>Modification</td>
|
461 |
+
<td>Relative abundance</td>
|
462 |
+
<td>Relative abundance</td>
|
463 |
+
</tr>
|
464 |
+
<tr>
|
465 |
+
<td>Sequence</td>
|
466 |
+
<td>Sequence location</td>
|
467 |
+
<td>Modification</td>
|
468 |
+
<td>aFH.07_T0</td>
|
469 |
+
<td>aFH.07_T4W</td>
|
470 |
+
</tr>
|
471 |
+
<tr>
|
472 |
+
<td>EEQYNSTYR</td>
|
473 |
+
<td>HC (293-301)</td>
|
474 |
+
<td>Non glycosylated</td>
|
475 |
+
<td>n.d</td>
|
476 |
+
<td>n.d</td>
|
477 |
+
</tr>
|
478 |
+
<tr>
|
479 |
+
<td>EEQYNSTYR</td>
|
480 |
+
<td>HC (293-301)</td>
|
481 |
+
<td>Man5</td>
|
482 |
+
<td>20.9%</td>
|
483 |
+
<td>22.5%</td>
|
484 |
+
</tr>
|
485 |
+
<tr>
|
486 |
+
<td>EEQYNSTYR</td>
|
487 |
+
<td>HC (293-301)</td>
|
488 |
+
<td>G0</td>
|
489 |
+
<td>n.D</td>
|
490 |
+
<td>n.d</td>
|
491 |
+
</tr>
|
492 |
+
<tr>
|
493 |
+
<td>EEQYNSTYR</td>
|
494 |
+
<td>HC (293-301)</td>
|
495 |
+
<td>G0F</td>
|
496 |
+
<td>79.1%</td>
|
497 |
+
<td>77.5%</td>
|
498 |
+
</tr>
|
499 |
+
<tr>
|
500 |
+
<td>EEQYNSTYR</td>
|
501 |
+
<td>HC (293-301)</td>
|
502 |
+
<td>G1F</td>
|
503 |
+
<td>n.d</td>
|
504 |
+
<td>n.d</td>
|
505 |
+
</tr>
|
506 |
+
<tr>
|
507 |
+
<td>EEQYNSTYR</td>
|
508 |
+
<td>HC (293-301)</td>
|
509 |
+
<td>G2F</td>
|
510 |
+
<td>n.d</td>
|
511 |
+
<td>n.d</td>
|
512 |
+
</tr>
|
513 |
+
</table>
|
514 |
+
<hr>
|
515 |
+
</div>
|
516 |
+
|
517 |
+
<div class="table-container">
|
518 |
+
<h2>Table 11</h2>
|
519 |
+
<table border="1">
|
520 |
+
<tr>
|
521 |
+
<td>Sequence</td>
|
522 |
+
<td>Sequence location</td>
|
523 |
+
<td>Modification</td>
|
524 |
+
<td>Relative abundance*</td>
|
525 |
+
<td>Relative abundance*</td>
|
526 |
+
</tr>
|
527 |
+
<tr>
|
528 |
+
<td>Sequence</td>
|
529 |
+
<td>Sequence location</td>
|
530 |
+
<td>Modification</td>
|
531 |
+
<td>aFH.07_T0</td>
|
532 |
+
<td>aFH.07_T4W</td>
|
533 |
+
</tr>
|
534 |
+
<tr>
|
535 |
+
<td>STSGGTAALGCLVK</td>
|
536 |
+
<td>HC (134-147)</td>
|
537 |
+
<td></td>
|
538 |
+
<td>99.9%</td>
|
539 |
+
<td>98.8%</td>
|
540 |
+
</tr>
|
541 |
+
<tr>
|
542 |
+
<td>GTAALGCLVK</td>
|
543 |
+
<td>HC (134-147)</td>
|
544 |
+
<td>Clipping</td>
|
545 |
+
<td>0.1%</td>
|
546 |
+
<td>1.2%</td>
|
547 |
+
</tr>
|
548 |
+
</table>
|
549 |
+
<hr>
|
550 |
+
</div>
|
551 |
+
|
552 |
+
<div class="table-container">
|
553 |
+
<h2>Table 12</h2>
|
554 |
+
<table border="1">
|
555 |
+
<tr>
|
556 |
+
<td>Blue:</td>
|
557 |
+
<td>VH and VL</td>
|
558 |
+
</tr>
|
559 |
+
<tr>
|
560 |
+
<td>Blue:</td>
|
561 |
+
<td>CDR</td>
|
562 |
+
</tr>
|
563 |
+
<tr>
|
564 |
+
<td>Green:</td>
|
565 |
+
<td>N-glycosylation site</td>
|
566 |
+
</tr>
|
567 |
+
</table>
|
568 |
+
<hr>
|
569 |
+
</div>
|
570 |
+
|
571 |
+
<div class="table-container">
|
572 |
+
<h2>Table 13</h2>
|
573 |
+
<table border="1">
|
574 |
+
<tr>
|
575 |
+
<td>Sequence</td>
|
576 |
+
<td>Sequence location</td>
|
577 |
+
<td>Modification</td>
|
578 |
+
<td>Relative abundance</td>
|
579 |
+
<td>Relative abundance</td>
|
580 |
+
</tr>
|
581 |
+
<tr>
|
582 |
+
<td>Sequence</td>
|
583 |
+
<td>Sequence location</td>
|
584 |
+
<td>Modification</td>
|
585 |
+
<td>FHR-1.3B4_T0</td>
|
586 |
+
<td>FHR-1.3B4_T4W</td>
|
587 |
+
</tr>
|
588 |
+
<tr>
|
589 |
+
<td>QIVLSQSPTILSASPGEK</td>
|
590 |
+
<td>LC (1-18)</td>
|
591 |
+
<td>pyro Q</td>
|
592 |
+
<td>96.1%</td>
|
593 |
+
<td>100.0%</td>
|
594 |
+
</tr>
|
595 |
+
<tr>
|
596 |
+
<td>QIVLSQSPTILSASPGEK</td>
|
597 |
+
<td>LC (1-18)</td>
|
598 |
+
<td></td>
|
599 |
+
<td>3.9%</td>
|
600 |
+
<td>n.d</td>
|
601 |
+
</tr>
|
602 |
+
<tr>
|
603 |
+
<td>QVQLR</td>
|
604 |
+
<td>HC (1-5)</td>
|
605 |
+
<td>pyro Q</td>
|
606 |
+
<td>96.7%</td>
|
607 |
+
<td>100.0%</td>
|
608 |
+
</tr>
|
609 |
+
<tr>
|
610 |
+
<td>QVQLR</td>
|
611 |
+
<td>HC (1-5)</td>
|
612 |
+
<td></td>
|
613 |
+
<td>3.3%</td>
|
614 |
+
<td>n.d</td>
|
615 |
+
</tr>
|
616 |
+
</table>
|
617 |
+
<hr>
|
618 |
+
</div>
|
619 |
+
|
620 |
+
<div class="table-container">
|
621 |
+
<h2>Table 14</h2>
|
622 |
+
<table border="1">
|
623 |
+
<tr>
|
624 |
+
<td>Sequence</td>
|
625 |
+
<td>Sequence location</td>
|
626 |
+
<td>Modification</td>
|
627 |
+
<td>Relative abundance</td>
|
628 |
+
<td>Relative abundance</td>
|
629 |
+
</tr>
|
630 |
+
<tr>
|
631 |
+
<td>Sequence</td>
|
632 |
+
<td>Sequence location</td>
|
633 |
+
<td>Modification</td>
|
634 |
+
<td>FHR-1.3B4_T0</td>
|
635 |
+
<td>FHR-1.3B4_T4W</td>
|
636 |
+
</tr>
|
637 |
+
<tr>
|
638 |
+
<td>MNSLQADDTAIYYCAR</td>
|
639 |
+
<td>HC (82-97)</td>
|
640 |
+
<td></td>
|
641 |
+
<td>99.3%</td>
|
642 |
+
<td>99.0%</td>
|
643 |
+
</tr>
|
644 |
+
<tr>
|
645 |
+
<td>MNSLQADDTAIYYCAR</td>
|
646 |
+
<td>HC (82-97)</td>
|
647 |
+
<td>Ox [+ 16 Da]</td>
|
648 |
+
<td>0.7%</td>
|
649 |
+
<td>1.0%</td>
|
650 |
+
</tr>
|
651 |
+
</table>
|
652 |
+
<hr>
|
653 |
+
</div>
|
654 |
+
|
655 |
+
<div class="table-container">
|
656 |
+
<h2>Table 15</h2>
|
657 |
+
<table border="1">
|
658 |
+
<tr>
|
659 |
+
<td>Sequence</td>
|
660 |
+
<td>Sequence location</td>
|
661 |
+
<td>Modification</td>
|
662 |
+
<td>Relative abundance</td>
|
663 |
+
<td>Relative abundance</td>
|
664 |
+
</tr>
|
665 |
+
<tr>
|
666 |
+
<td>Sequence</td>
|
667 |
+
<td>Sequence location</td>
|
668 |
+
<td>Modification</td>
|
669 |
+
<td>FHR-1.3B4_T0</td>
|
670 |
+
<td>FHR-1.3B4_T4W</td>
|
671 |
+
</tr>
|
672 |
+
<tr>
|
673 |
+
<td>MNSLQADDTAIYYCAR</td>
|
674 |
+
<td>HC (82-97)</td>
|
675 |
+
<td></td>
|
676 |
+
<td>97.6%</td>
|
677 |
+
<td>79.7%</td>
|
678 |
+
</tr>
|
679 |
+
<tr>
|
680 |
+
<td>MNSLQADDTAIYYCAR</td>
|
681 |
+
<td>HC (82-97)</td>
|
682 |
+
<td>Deamidation</td>
|
683 |
+
<td>2.4%</td>
|
684 |
+
<td>20.3%</td>
|
685 |
+
</tr>
|
686 |
+
</table>
|
687 |
+
<hr>
|
688 |
+
</div>
|
689 |
+
|
690 |
+
<div class="table-container">
|
691 |
+
<h2>Table 16</h2>
|
692 |
+
<table border="1">
|
693 |
+
<tr>
|
694 |
+
<td>Sequence</td>
|
695 |
+
<td>Sequence location</td>
|
696 |
+
<td>Modification</td>
|
697 |
+
<td>Relative abundance*</td>
|
698 |
+
<td>Relative abundance*</td>
|
699 |
+
</tr>
|
700 |
+
<tr>
|
701 |
+
<td>Sequence</td>
|
702 |
+
<td>Sequence location</td>
|
703 |
+
<td>Modification</td>
|
704 |
+
<td>FHR-1.3B4_T0</td>
|
705 |
+
<td>FHR-1.3B4_T4W</td>
|
706 |
+
</tr>
|
707 |
+
<tr>
|
708 |
+
<td>STSGGTAALGCLVK</td>
|
709 |
+
<td>HC (134-147)</td>
|
710 |
+
<td></td>
|
711 |
+
<td>99.9%</td>
|
712 |
+
<td>98.7%</td>
|
713 |
+
</tr>
|
714 |
+
<tr>
|
715 |
+
<td>GTAALGCLVK</td>
|
716 |
+
<td>HC (134-147)</td>
|
717 |
+
<td>Clipping</td>
|
718 |
+
<td>0.1%</td>
|
719 |
+
<td>1.3%</td>
|
720 |
+
</tr>
|
721 |
+
<tr>
|
722 |
+
<td>SSSNPLTFGAGTK</td>
|
723 |
+
<td>LC (91-103)</td>
|
724 |
+
<td></td>
|
725 |
+
<td>99.5%</td>
|
726 |
+
<td>97.3%</td>
|
727 |
+
</tr>
|
728 |
+
<tr>
|
729 |
+
<td>PLTFGAGTK</td>
|
730 |
+
<td>LC (91-103)</td>
|
731 |
+
<td>Clipping</td>
|
732 |
+
<td>0.5%</td>
|
733 |
+
<td>2.7%</td>
|
734 |
+
</tr>
|
735 |
+
</table>
|
736 |
+
<hr>
|
737 |
+
</div>
|
738 |
+
|
739 |
+
<div class="table-container">
|
740 |
+
<h2>Table 17</h2>
|
741 |
+
<table border="1">
|
742 |
+
<tr>
|
743 |
+
<td>Blue:</td>
|
744 |
+
<td>VH and VL</td>
|
745 |
+
</tr>
|
746 |
+
<tr>
|
747 |
+
<td>Blue:</td>
|
748 |
+
<td>CDR</td>
|
749 |
+
</tr>
|
750 |
+
<tr>
|
751 |
+
<td>Green:</td>
|
752 |
+
<td>N-glycosylation site</td>
|
753 |
+
</tr>
|
754 |
+
</table>
|
755 |
+
<hr>
|
756 |
+
</div>
|
757 |
+
|
758 |
+
<div class="table-container">
|
759 |
+
<h2>Table 18</h2>
|
760 |
+
<table border="1">
|
761 |
+
<tr>
|
762 |
+
<td>Sequence</td>
|
763 |
+
<td>Sequence location</td>
|
764 |
+
<td>Modification</td>
|
765 |
+
<td>Relative abundance</td>
|
766 |
+
<td>Relative abundance</td>
|
767 |
+
</tr>
|
768 |
+
<tr>
|
769 |
+
<td>Sequence</td>
|
770 |
+
<td>Sequence location</td>
|
771 |
+
<td>Modification</td>
|
772 |
+
<td>L5-H12_T0</td>
|
773 |
+
<td>L5-H12_T4w</td>
|
774 |
+
</tr>
|
775 |
+
<tr>
|
776 |
+
<td>QVQLQESGPGLVKPSQTLSLTCTVSGFSLTNYGVYWIR</td>
|
777 |
+
<td>HC (001-038)</td>
|
778 |
+
<td>pyro Q</td>
|
779 |
+
<td>85.5%</td>
|
780 |
+
<td>99.3%</td>
|
781 |
+
</tr>
|
782 |
+
<tr>
|
783 |
+
<td>QVQLQESGPGLVKPSQTLSLTCTVSGFSLTNYGVYWIR</td>
|
784 |
+
<td>HC (001-038)</td>
|
785 |
+
<td></td>
|
786 |
+
<td>14.5%</td>
|
787 |
+
<td>0.7%</td>
|
788 |
+
</tr>
|
789 |
+
</table>
|
790 |
+
<hr>
|
791 |
+
</div>
|
792 |
+
|
793 |
+
<div class="table-container">
|
794 |
+
<h2>Table 19</h2>
|
795 |
+
<table border="1">
|
796 |
+
<tr>
|
797 |
+
<td>Sequence</td>
|
798 |
+
<td>Sequence location</td>
|
799 |
+
<td>Modification</td>
|
800 |
+
<td>Relative abundance*</td>
|
801 |
+
<td>Relative abundance*</td>
|
802 |
+
</tr>
|
803 |
+
<tr>
|
804 |
+
<td>Sequence</td>
|
805 |
+
<td>Sequence location</td>
|
806 |
+
<td>Modification</td>
|
807 |
+
<td>L5-H12_T0</td>
|
808 |
+
<td>L5-H12_T4w</td>
|
809 |
+
</tr>
|
810 |
+
<tr>
|
811 |
+
<td>STSGGTAALGCLVK</td>
|
812 |
+
<td>HC (134-147)</td>
|
813 |
+
<td></td>
|
814 |
+
<td>99.9%</td>
|
815 |
+
<td>98.7%</td>
|
816 |
+
</tr>
|
817 |
+
<tr>
|
818 |
+
<td>GTAALGCLVK</td>
|
819 |
+
<td>HC (134-147)</td>
|
820 |
+
<td>Clipping</td>
|
821 |
+
<td>0.1%</td>
|
822 |
+
<td>1.3%</td>
|
823 |
+
</tr>
|
824 |
+
<tr>
|
825 |
+
<td>SSSNPLTFGAGTK</td>
|
826 |
+
<td>LC (91-103)</td>
|
827 |
+
<td></td>
|
828 |
+
<td>99.8%</td>
|
829 |
+
<td>98.9%</td>
|
830 |
+
</tr>
|
831 |
+
<tr>
|
832 |
+
<td>PLTFGAGTK</td>
|
833 |
+
<td>LC (91-103)</td>
|
834 |
+
<td>Clipping</td>
|
835 |
+
<td>0.2%</td>
|
836 |
+
<td>1.1%</td>
|
837 |
+
</tr>
|
838 |
+
</table>
|
839 |
+
<hr>
|
840 |
+
</div>
|
841 |
+
|
842 |
+
<div class="table-container">
|
843 |
+
<h2>Table 20</h2>
|
844 |
+
<table border="1">
|
845 |
+
<tr>
|
846 |
+
<td>Blue:</td>
|
847 |
+
<td>VH and VL</td>
|
848 |
+
</tr>
|
849 |
+
<tr>
|
850 |
+
<td>Blue:</td>
|
851 |
+
<td>CDR</td>
|
852 |
+
</tr>
|
853 |
+
<tr>
|
854 |
+
<td>Green:</td>
|
855 |
+
<td>N-glycosylation site</td>
|
856 |
+
</tr>
|
857 |
+
</table>
|
858 |
+
<hr>
|
859 |
+
</div>
|
860 |
+
|
861 |
+
<div class="table-container">
|
862 |
+
<h2>Table 21</h2>
|
863 |
+
<table border="1">
|
864 |
+
<tr>
|
865 |
+
<td>Sequence</td>
|
866 |
+
<td>Sequence location</td>
|
867 |
+
<td>Modification</td>
|
868 |
+
<td>Relative abundance</td>
|
869 |
+
<td>Relative abundance</td>
|
870 |
+
</tr>
|
871 |
+
<tr>
|
872 |
+
<td>Sequence</td>
|
873 |
+
<td>Sequence location</td>
|
874 |
+
<td>Modification</td>
|
875 |
+
<td>L5-H31_T0</td>
|
876 |
+
<td>L5-H31_T4w</td>
|
877 |
+
</tr>
|
878 |
+
<tr>
|
879 |
+
<td>QVQLQESGPGLVKPSQTLSLTCTVSGFSLTNYGVYWIR</td>
|
880 |
+
<td>HC (001-038)</td>
|
881 |
+
<td>pyro Q</td>
|
882 |
+
<td>83.5%</td>
|
883 |
+
<td>99.5%</td>
|
884 |
+
</tr>
|
885 |
+
<tr>
|
886 |
+
<td>QVQLQESGPGLVKPSQTLSLTCTVSGFSLTNYGVYWIR</td>
|
887 |
+
<td>HC (001-038)</td>
|
888 |
+
<td></td>
|
889 |
+
<td>16.5%</td>
|
890 |
+
<td>0.5%</td>
|
891 |
+
</tr>
|
892 |
+
</table>
|
893 |
+
<hr>
|
894 |
+
</div>
|
895 |
+
|
896 |
+
<div class="table-container">
|
897 |
+
<h2>Table 22</h2>
|
898 |
+
<table border="1">
|
899 |
+
<tr>
|
900 |
+
<td>Sequence</td>
|
901 |
+
<td>Sequence location</td>
|
902 |
+
<td>Modification</td>
|
903 |
+
<td>Relative abundance</td>
|
904 |
+
<td>Relative abundance</td>
|
905 |
+
</tr>
|
906 |
+
<tr>
|
907 |
+
<td>Sequence</td>
|
908 |
+
<td>Sequence location</td>
|
909 |
+
<td>Modification</td>
|
910 |
+
<td>L5-H31_T0</td>
|
911 |
+
<td>L5-H31_T4w</td>
|
912 |
+
</tr>
|
913 |
+
<tr>
|
914 |
+
<td>NFGNYAMDFWGQGTSVTVSSASTK</td>
|
915 |
+
<td>HC(98-121)</td>
|
916 |
+
<td>Ox. [+ 16 Da]</td>
|
917 |
+
<td>4.9%</td>
|
918 |
+
<td>1.9%</td>
|
919 |
+
</tr>
|
920 |
+
<tr>
|
921 |
+
<td>NFGNYAMDFWGQGTSVTVSSASTK</td>
|
922 |
+
<td>HC(98-121)</td>
|
923 |
+
<td></td>
|
924 |
+
<td>95.1%</td>
|
925 |
+
<td>98.1%</td>
|
926 |
+
</tr>
|
927 |
+
</table>
|
928 |
+
<hr>
|
929 |
+
</div>
|
930 |
+
|
931 |
+
<div class="table-container">
|
932 |
+
<h2>Table 23</h2>
|
933 |
+
<table border="1">
|
934 |
+
<tr>
|
935 |
+
<td>Sequence</td>
|
936 |
+
<td>Sequence location</td>
|
937 |
+
<td>Modification</td>
|
938 |
+
<td>Relative abundance</td>
|
939 |
+
<td>Relative abundance</td>
|
940 |
+
</tr>
|
941 |
+
<tr>
|
942 |
+
<td>Sequence</td>
|
943 |
+
<td>Sequence location</td>
|
944 |
+
<td>Modification</td>
|
945 |
+
<td>L5-H31_T0</td>
|
946 |
+
<td>L5-H31_T4w</td>
|
947 |
+
</tr>
|
948 |
+
<tr>
|
949 |
+
<td>SSSNPLTFGAGTK</td>
|
950 |
+
<td>LC (91-103)</td>
|
951 |
+
<td></td>
|
952 |
+
<td>99.8%</td>
|
953 |
+
<td>99.5%</td>
|
954 |
+
</tr>
|
955 |
+
<tr>
|
956 |
+
<td>SSSNPLTFGAGTK</td>
|
957 |
+
<td>LC (91-103)</td>
|
958 |
+
<td>deamidation</td>
|
959 |
+
<td>0.2%</td>
|
960 |
+
<td>0.5%</td>
|
961 |
+
</tr>
|
962 |
+
</table>
|
963 |
+
<hr>
|
964 |
+
</div>
|
965 |
+
|
966 |
+
<div class="table-container">
|
967 |
+
<h2>Table 24</h2>
|
968 |
+
<table border="1">
|
969 |
+
<tr>
|
970 |
+
<td>Sequence</td>
|
971 |
+
<td>Sequence location</td>
|
972 |
+
<td>Modification</td>
|
973 |
+
<td>Relative abundance*</td>
|
974 |
+
<td>Relative abundance*</td>
|
975 |
+
</tr>
|
976 |
+
<tr>
|
977 |
+
<td>Sequence</td>
|
978 |
+
<td>Sequence location</td>
|
979 |
+
<td>Modification</td>
|
980 |
+
<td>L5-H31_T0</td>
|
981 |
+
<td>L5-H31_T4w</td>
|
982 |
+
</tr>
|
983 |
+
<tr>
|
984 |
+
<td>STSGGTAALGCLVK</td>
|
985 |
+
<td>HC (134-147)</td>
|
986 |
+
<td></td>
|
987 |
+
<td>99.9%</td>
|
988 |
+
<td>98.8%</td>
|
989 |
+
</tr>
|
990 |
+
<tr>
|
991 |
+
<td>GTAALGCLVK</td>
|
992 |
+
<td>HC (134-147)</td>
|
993 |
+
<td>Clipping</td>
|
994 |
+
<td>0.1%</td>
|
995 |
+
<td>1.2%</td>
|
996 |
+
</tr>
|
997 |
+
<tr>
|
998 |
+
<td>SSSNPLTFGAGTK</td>
|
999 |
+
<td>LC (91-103)</td>
|
1000 |
+
<td></td>
|
1001 |
+
<td>99.9%</td>
|
1002 |
+
<td>98.8%</td>
|
1003 |
+
</tr>
|
1004 |
+
<tr>
|
1005 |
+
<td>PLTFGAGTK</td>
|
1006 |
+
<td>LC (91-103)</td>
|
1007 |
+
<td>Clipping</td>
|
1008 |
+
<td>0.1%</td>
|
1009 |
+
<td>1.2%</td>
|
1010 |
+
</tr>
|
1011 |
+
</table>
|
1012 |
+
<hr>
|
1013 |
+
</div>
|
1014 |
+
|
1015 |
+
<div class="table-container">
|
1016 |
+
<h2>Table 25</h2>
|
1017 |
+
<table border="1">
|
1018 |
+
<tr>
|
1019 |
+
<td>Blue:</td>
|
1020 |
+
<td>VH and VL</td>
|
1021 |
+
</tr>
|
1022 |
+
<tr>
|
1023 |
+
<td>Blue:</td>
|
1024 |
+
<td>CDR</td>
|
1025 |
+
</tr>
|
1026 |
+
<tr>
|
1027 |
+
<td>Green:</td>
|
1028 |
+
<td>N-glycosylation site</td>
|
1029 |
+
</tr>
|
1030 |
+
</table>
|
1031 |
+
<hr>
|
1032 |
+
</div>
|
1033 |
+
|
1034 |
+
<div class="table-container">
|
1035 |
+
<h2>Table 26</h2>
|
1036 |
+
<table border="1">
|
1037 |
+
<tr>
|
1038 |
+
<td>Sequence</td>
|
1039 |
+
<td>Sequence location</td>
|
1040 |
+
<td>Modification</td>
|
1041 |
+
<td>Relative abundance</td>
|
1042 |
+
<td>Relative abundance</td>
|
1043 |
+
</tr>
|
1044 |
+
<tr>
|
1045 |
+
<td>Sequence</td>
|
1046 |
+
<td>Sequence location</td>
|
1047 |
+
<td>Modification</td>
|
1048 |
+
<td>L14-H12_T0</td>
|
1049 |
+
<td>L14-H12_T4w</td>
|
1050 |
+
</tr>
|
1051 |
+
<tr>
|
1052 |
+
<td>QVQLQESGPGLVKPSQTLSLTCTVSGFSLTNYGVYWIR</td>
|
1053 |
+
<td>HC(001-038)</td>
|
1054 |
+
<td>pyroQ</td>
|
1055 |
+
<td>85.9%</td>
|
1056 |
+
<td>99.3%</td>
|
1057 |
+
</tr>
|
1058 |
+
<tr>
|
1059 |
+
<td>QVQLQESGPGLVKPSQTLSLTCTVSGFSLTNYGVYWIR</td>
|
1060 |
+
<td>HC(001-038)</td>
|
1061 |
+
<td></td>
|
1062 |
+
<td>14.1%</td>
|
1063 |
+
<td>0.7%</td>
|
1064 |
+
</tr>
|
1065 |
+
</table>
|
1066 |
+
<hr>
|
1067 |
+
</div>
|
1068 |
+
|
1069 |
+
<div class="table-container">
|
1070 |
+
<h2>Table 27</h2>
|
1071 |
+
<table border="1">
|
1072 |
+
<tr>
|
1073 |
+
<td>Sequence</td>
|
1074 |
+
<td>Sequence location</td>
|
1075 |
+
<td>Modification</td>
|
1076 |
+
<td>Relative abundance</td>
|
1077 |
+
<td>Relative abundance</td>
|
1078 |
+
</tr>
|
1079 |
+
<tr>
|
1080 |
+
<td>Sequence</td>
|
1081 |
+
<td>Sequence location</td>
|
1082 |
+
<td>Modification</td>
|
1083 |
+
<td>L14-H12_T0</td>
|
1084 |
+
<td>L14-H12_T4w</td>
|
1085 |
+
</tr>
|
1086 |
+
<tr>
|
1087 |
+
<td>ASTSVTYMHWYQQKPGK</td>
|
1088 |
+
<td>LC(25-41)</td>
|
1089 |
+
<td>Ox. [+16 Da]</td>
|
1090 |
+
<td>0.3%</td>
|
1091 |
+
<td>0.3%</td>
|
1092 |
+
</tr>
|
1093 |
+
<tr>
|
1094 |
+
<td>ASTSVTYMHWYQQKPGK</td>
|
1095 |
+
<td>LC(25-41)</td>
|
1096 |
+
<td></td>
|
1097 |
+
<td>99.7%</td>
|
1098 |
+
<td>99.7%</td>
|
1099 |
+
</tr>
|
1100 |
+
</table>
|
1101 |
+
<hr>
|
1102 |
+
</div>
|
1103 |
+
|
1104 |
+
<div class="table-container">
|
1105 |
+
<h2>Table 28</h2>
|
1106 |
+
<table border="1">
|
1107 |
+
<tr>
|
1108 |
+
<td>Sequence</td>
|
1109 |
+
<td>Sequence location</td>
|
1110 |
+
<td>Modification</td>
|
1111 |
+
<td>Relative abundance</td>
|
1112 |
+
<td>Relative abundance</td>
|
1113 |
+
</tr>
|
1114 |
+
<tr>
|
1115 |
+
<td>Sequence</td>
|
1116 |
+
<td>Sequence location</td>
|
1117 |
+
<td>Modification</td>
|
1118 |
+
<td>L14-H12_T0</td>
|
1119 |
+
<td>L14-H12_T4w</td>
|
1120 |
+
</tr>
|
1121 |
+
<tr>
|
1122 |
+
<td>SSSNPLTFGAGTK</td>
|
1123 |
+
<td>LC (91-103)</td>
|
1124 |
+
<td></td>
|
1125 |
+
<td>99.9%</td>
|
1126 |
+
<td>99.4%</td>
|
1127 |
+
</tr>
|
1128 |
+
<tr>
|
1129 |
+
<td>SSSNPLTFGAGTK</td>
|
1130 |
+
<td>LC (91-103)</td>
|
1131 |
+
<td>deamidation</td>
|
1132 |
+
<td>0.1%</td>
|
1133 |
+
<td>0.6%</td>
|
1134 |
+
</tr>
|
1135 |
+
</table>
|
1136 |
+
<hr>
|
1137 |
+
</div>
|
1138 |
+
|
1139 |
+
<div class="table-container">
|
1140 |
+
<h2>Table 29</h2>
|
1141 |
+
<table border="1">
|
1142 |
+
<tr>
|
1143 |
+
<td>Sequence</td>
|
1144 |
+
<td>Sequence location</td>
|
1145 |
+
<td>Modification</td>
|
1146 |
+
<td>Relative abundance*</td>
|
1147 |
+
<td>Relative abundance*</td>
|
1148 |
+
</tr>
|
1149 |
+
<tr>
|
1150 |
+
<td>Sequence</td>
|
1151 |
+
<td>Sequence location</td>
|
1152 |
+
<td>Modification</td>
|
1153 |
+
<td>L14-H12_T0</td>
|
1154 |
+
<td>L14-H12_T4w</td>
|
1155 |
+
</tr>
|
1156 |
+
<tr>
|
1157 |
+
<td>STSGGTAALGCLVK</td>
|
1158 |
+
<td>HC (134-147)</td>
|
1159 |
+
<td></td>
|
1160 |
+
<td>99.9%</td>
|
1161 |
+
<td>98.9%</td>
|
1162 |
+
</tr>
|
1163 |
+
<tr>
|
1164 |
+
<td>GTAALGCLVK</td>
|
1165 |
+
<td>HC (134-147)</td>
|
1166 |
+
<td>Clipping</td>
|
1167 |
+
<td>0.1%</td>
|
1168 |
+
<td>1.1%</td>
|
1169 |
+
</tr>
|
1170 |
+
<tr>
|
1171 |
+
<td>SSSNPLTFGAGTK</td>
|
1172 |
+
<td>LC (91-103)</td>
|
1173 |
+
<td></td>
|
1174 |
+
<td>99.7%</td>
|
1175 |
+
<td>98.6%</td>
|
1176 |
+
</tr>
|
1177 |
+
<tr>
|
1178 |
+
<td>PLTFGAGTK</td>
|
1179 |
+
<td>LC (91-103)</td>
|
1180 |
+
<td>Clipping</td>
|
1181 |
+
<td>0.3%</td>
|
1182 |
+
<td>1.4%</td>
|
1183 |
+
</tr>
|
1184 |
+
</table>
|
1185 |
+
<hr>
|
1186 |
+
</div>
|
1187 |
+
|
1188 |
+
<div class="table-container">
|
1189 |
+
<h2>Table 30</h2>
|
1190 |
+
<table border="1">
|
1191 |
+
<tr>
|
1192 |
+
<td>Blue:</td>
|
1193 |
+
<td>VH and VL</td>
|
1194 |
+
</tr>
|
1195 |
+
<tr>
|
1196 |
+
<td>Blue:</td>
|
1197 |
+
<td>CDR</td>
|
1198 |
+
</tr>
|
1199 |
+
<tr>
|
1200 |
+
<td>Green:</td>
|
1201 |
+
<td>N-glycosylation site</td>
|
1202 |
+
</tr>
|
1203 |
+
</table>
|
1204 |
+
<hr>
|
1205 |
+
</div>
|
1206 |
+
|
1207 |
+
<div class="table-container">
|
1208 |
+
<h2>Table 31</h2>
|
1209 |
+
<table border="1">
|
1210 |
+
<tr>
|
1211 |
+
<td>Sequence</td>
|
1212 |
+
<td>Sequence location</td>
|
1213 |
+
<td>Modification</td>
|
1214 |
+
<td>Relative abundance</td>
|
1215 |
+
<td>Relative abundance</td>
|
1216 |
+
</tr>
|
1217 |
+
<tr>
|
1218 |
+
<td>Sequence</td>
|
1219 |
+
<td>Sequence location</td>
|
1220 |
+
<td>Modification</td>
|
1221 |
+
<td>L14-H31_T0</td>
|
1222 |
+
<td>L14-H31_T4w</td>
|
1223 |
+
</tr>
|
1224 |
+
<tr>
|
1225 |
+
<td>QVQLQESGPGLVKPSQTLSLTCTVSGFSLTNYGVYWIR</td>
|
1226 |
+
<td>HC(001-038)</td>
|
1227 |
+
<td>pyroQ</td>
|
1228 |
+
<td>82.6%</td>
|
1229 |
+
<td>100.0%</td>
|
1230 |
+
</tr>
|
1231 |
+
<tr>
|
1232 |
+
<td>QVQLQESGPGLVKPSQTLSLTCTVSGFSLTNYGVYWIR</td>
|
1233 |
+
<td>HC(001-038)</td>
|
1234 |
+
<td></td>
|
1235 |
+
<td>17.4%</td>
|
1236 |
+
<td>n.d</td>
|
1237 |
+
</tr>
|
1238 |
+
</table>
|
1239 |
+
<hr>
|
1240 |
+
</div>
|
1241 |
+
|
1242 |
+
<div class="table-container">
|
1243 |
+
<h2>Table 32</h2>
|
1244 |
+
<table border="1">
|
1245 |
+
<tr>
|
1246 |
+
<td>Sequence</td>
|
1247 |
+
<td>Sequence location</td>
|
1248 |
+
<td>Modification</td>
|
1249 |
+
<td>Relative abundance</td>
|
1250 |
+
<td>Relative abundance</td>
|
1251 |
+
</tr>
|
1252 |
+
<tr>
|
1253 |
+
<td>Sequence</td>
|
1254 |
+
<td>Sequence location</td>
|
1255 |
+
<td>Modification</td>
|
1256 |
+
<td>L14-H31_T0</td>
|
1257 |
+
<td>L14-H31_T4w</td>
|
1258 |
+
</tr>
|
1259 |
+
<tr>
|
1260 |
+
<td>ASTSVTYMHWYQQKPGK</td>
|
1261 |
+
<td>LC(25-41)</td>
|
1262 |
+
<td>Ox. [+16 Da]</td>
|
1263 |
+
<td>0.5%</td>
|
1264 |
+
<td>0.4%</td>
|
1265 |
+
</tr>
|
1266 |
+
<tr>
|
1267 |
+
<td>ASTSVTYMHWYQQKPGK</td>
|
1268 |
+
<td>LC(25-41)</td>
|
1269 |
+
<td></td>
|
1270 |
+
<td>99.5%</td>
|
1271 |
+
<td>99.6%</td>
|
1272 |
+
</tr>
|
1273 |
+
</table>
|
1274 |
+
<hr>
|
1275 |
+
</div>
|
1276 |
+
|
1277 |
+
<div class="table-container">
|
1278 |
+
<h2>Table 33</h2>
|
1279 |
+
<table border="1">
|
1280 |
+
<tr>
|
1281 |
+
<td>Sequence</td>
|
1282 |
+
<td>Sequence location</td>
|
1283 |
+
<td>Modification</td>
|
1284 |
+
<td>Relative abundance</td>
|
1285 |
+
<td>Relative abundance</td>
|
1286 |
+
</tr>
|
1287 |
+
<tr>
|
1288 |
+
<td>Sequence</td>
|
1289 |
+
<td>Sequence location</td>
|
1290 |
+
<td>Modification</td>
|
1291 |
+
<td>L14-H31_T0</td>
|
1292 |
+
<td>L14-H31_T4w</td>
|
1293 |
+
</tr>
|
1294 |
+
<tr>
|
1295 |
+
<td>SSSNPLTFGAGTK</td>
|
1296 |
+
<td>LC (91-103)</td>
|
1297 |
+
<td></td>
|
1298 |
+
<td>99.9%</td>
|
1299 |
+
<td>99.5%</td>
|
1300 |
+
</tr>
|
1301 |
+
<tr>
|
1302 |
+
<td>SSSNPLTFGAGTK</td>
|
1303 |
+
<td>LC (91-103)</td>
|
1304 |
+
<td>deamidation</td>
|
1305 |
+
<td>0.1%</td>
|
1306 |
+
<td>0.5%</td>
|
1307 |
+
</tr>
|
1308 |
+
</table>
|
1309 |
+
<hr>
|
1310 |
+
</div>
|
1311 |
+
|
1312 |
+
<div class="table-container">
|
1313 |
+
<h2>Table 34</h2>
|
1314 |
+
<table border="1">
|
1315 |
+
<tr>
|
1316 |
+
<td>Sequence</td>
|
1317 |
+
<td>Sequence location</td>
|
1318 |
+
<td>Modification</td>
|
1319 |
+
<td>Relative abundance*</td>
|
1320 |
+
<td>Relative abundance*</td>
|
1321 |
+
</tr>
|
1322 |
+
<tr>
|
1323 |
+
<td>Sequence</td>
|
1324 |
+
<td>Sequence location</td>
|
1325 |
+
<td>Modification</td>
|
1326 |
+
<td>L14-H31_T0</td>
|
1327 |
+
<td>L14-H31_T4w</td>
|
1328 |
+
</tr>
|
1329 |
+
<tr>
|
1330 |
+
<td>STSGGTAALGCLVK</td>
|
1331 |
+
<td>HC (134-147)</td>
|
1332 |
+
<td></td>
|
1333 |
+
<td>99.9%</td>
|
1334 |
+
<td>98.9%</td>
|
1335 |
+
</tr>
|
1336 |
+
<tr>
|
1337 |
+
<td>GTAALGCLVK</td>
|
1338 |
+
<td>HC (134-147)</td>
|
1339 |
+
<td>Clipping</td>
|
1340 |
+
<td>0.1%</td>
|
1341 |
+
<td>1.1%</td>
|
1342 |
+
</tr>
|
1343 |
+
<tr>
|
1344 |
+
<td>SSSNPLTFGAGTK</td>
|
1345 |
+
<td>LC (91-103)</td>
|
1346 |
+
<td></td>
|
1347 |
+
<td>99.7%</td>
|
1348 |
+
<td>98.4%</td>
|
1349 |
+
</tr>
|
1350 |
+
<tr>
|
1351 |
+
<td>PLTFGAGTK</td>
|
1352 |
+
<td>LC (91-103)</td>
|
1353 |
+
<td>Clipping</td>
|
1354 |
+
<td>0.3%</td>
|
1355 |
+
<td>1.6%</td>
|
1356 |
+
</tr>
|
1357 |
+
</table>
|
1358 |
+
<hr>
|
1359 |
+
</div>
|
1360 |
+
|
1361 |
+
<div class="table-container">
|
1362 |
+
<h2>Table 35</h2>
|
1363 |
+
<table border="1">
|
1364 |
+
<tr>
|
1365 |
+
<td>Blue:</td>
|
1366 |
+
<td>VH and VL</td>
|
1367 |
+
</tr>
|
1368 |
+
<tr>
|
1369 |
+
<td>Blue:</td>
|
1370 |
+
<td>CDR</td>
|
1371 |
+
</tr>
|
1372 |
+
<tr>
|
1373 |
+
<td>Green:</td>
|
1374 |
+
<td>N-glycosylation site</td>
|
1375 |
+
</tr>
|
1376 |
+
</table>
|
1377 |
+
<hr>
|
1378 |
+
</div>
|
1379 |
+
|
1380 |
+
<div class="table-container">
|
1381 |
+
<h2>Table 36</h2>
|
1382 |
+
<table border="1">
|
1383 |
+
<tr>
|
1384 |
+
<td>Nathan Cardon</td>
|
1385 |
+
<td>Date:</td>
|
1386 |
+
</tr>
|
1387 |
+
<tr>
|
1388 |
+
<td>Sr Research Associate</td>
|
1389 |
+
<td>Signature:</td>
|
1390 |
+
</tr>
|
1391 |
+
<tr>
|
1392 |
+
<td>Mabelle Meersseman</td>
|
1393 |
+
<td>Date:</td>
|
1394 |
+
</tr>
|
1395 |
+
<tr>
|
1396 |
+
<td>Group Leader</td>
|
1397 |
+
<td>Signature:</td>
|
1398 |
+
</tr>
|
1399 |
+
<tr>
|
1400 |
+
<td>Approver</td>
|
1401 |
+
<td></td>
|
1402 |
+
</tr>
|
1403 |
+
<tr>
|
1404 |
+
<td>Koen Sandra Ph.D.</td>
|
1405 |
+
<td>Date:</td>
|
1406 |
+
</tr>
|
1407 |
+
<tr>
|
1408 |
+
<td>CEO</td>
|
1409 |
+
<td>Signature:</td>
|
1410 |
+
</tr>
|
1411 |
+
</table>
|
1412 |
+
<hr>
|
1413 |
+
</div>
|
1414 |
+
|
1415 |
+
<div class="table-container">
|
1416 |
+
<h2>Table 37</h2>
|
1417 |
+
<table border="1">
|
1418 |
+
<tr>
|
1419 |
+
<td>Version</td>
|
1420 |
+
<td>Date of issue</td>
|
1421 |
+
<td>Reason for version update</td>
|
1422 |
+
</tr>
|
1423 |
+
<tr>
|
1424 |
+
<td>00</td>
|
1425 |
+
<td>25NOV24</td>
|
1426 |
+
<td>Draft</td>
|
1427 |
+
</tr>
|
1428 |
+
<tr>
|
1429 |
+
<td></td>
|
1430 |
+
<td></td>
|
1431 |
+
<td></td>
|
1432 |
+
</tr>
|
1433 |
+
<tr>
|
1434 |
+
<td></td>
|
1435 |
+
<td></td>
|
1436 |
+
<td></td>
|
1437 |
+
</tr>
|
1438 |
+
</table>
|
1439 |
+
<hr>
|
1440 |
+
</div>
|
1441 |
+
</body></html>
|
src/agents/__pycache__/field_mapper_agent.cpython-312.pyc
CHANGED
Binary files a/src/agents/__pycache__/field_mapper_agent.cpython-312.pyc and b/src/agents/__pycache__/field_mapper_agent.cpython-312.pyc differ
|
|
src/agents/__pycache__/table_agent.cpython-312.pyc
CHANGED
Binary files a/src/agents/__pycache__/table_agent.cpython-312.pyc and b/src/agents/__pycache__/table_agent.cpython-312.pyc differ
|
|
src/agents/field_mapper_agent.py
CHANGED
@@ -142,9 +142,33 @@ class FieldMapperAgent(BaseAgent):
|
|
142 |
filename = self.ctx.get("pdf_meta", {}).get("filename", "")
|
143 |
filename_context = f"\nDocument filename: {filename}" if filename else ""
|
144 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
145 |
prompt = f"""You are an expert in {context}
|
146 |
|
147 |
-
Your task is to extract the value for the field: {field}{filename_context}
|
148 |
|
149 |
Consider the following context from the document:
|
150 |
{combined_context}
|
@@ -200,9 +224,33 @@ class FieldMapperAgent(BaseAgent):
|
|
200 |
filename = self.ctx.get("pdf_meta", {}).get("filename", "")
|
201 |
filename_context = f"\nDocument filename: {filename}" if filename else ""
|
202 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
prompt = f"""You are an expert in {context}
|
204 |
|
205 |
-
Your task is to extract the value for the field: {field}{filename_context}
|
206 |
|
207 |
Consider the following page from the document:
|
208 |
{page_text}
|
@@ -275,12 +323,64 @@ class FieldMapperAgent(BaseAgent):
|
|
275 |
filename = self.ctx.get("pdf_meta", {}).get("filename", "")
|
276 |
filename_context = f"\nDocument filename: {filename}" if filename else ""
|
277 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
prompt = f"""You are an expert in {context}
|
279 |
|
280 |
Your task is to extract information from the document based on unique combinations of indices and their corresponding fields.
|
281 |
|
282 |
Unique Indices to look for: {', '.join(unique_indices)}
|
283 |
-
Fields to extract for each combination: {', '.join(fields_to_extract)}{filename_context}
|
284 |
|
285 |
Consider the following document:
|
286 |
{text}
|
|
|
142 |
filename = self.ctx.get("pdf_meta", {}).get("filename", "")
|
143 |
filename_context = f"\nDocument filename: {filename}" if filename else ""
|
144 |
|
145 |
+
# Get field descriptions from context if available
|
146 |
+
field_descriptions = self.ctx.get("field_descriptions", {})
|
147 |
+
|
148 |
+
# Format field descriptions for the prompt
|
149 |
+
field_descriptions_text = ""
|
150 |
+
if field_descriptions and field in field_descriptions:
|
151 |
+
desc_info = field_descriptions[field]
|
152 |
+
if isinstance(desc_info, dict):
|
153 |
+
description = desc_info.get('description', '')
|
154 |
+
format_info = desc_info.get('format', '')
|
155 |
+
examples = desc_info.get('examples', '')
|
156 |
+
possible_values = desc_info.get('possible_values', '')
|
157 |
+
|
158 |
+
field_descriptions_text = f"\nField information for '{field}':"
|
159 |
+
if description:
|
160 |
+
field_descriptions_text += f"\nDescription: {description}"
|
161 |
+
if format_info:
|
162 |
+
field_descriptions_text += f"\nFormat: {format_info}"
|
163 |
+
if examples:
|
164 |
+
field_descriptions_text += f"\nExamples: {examples}"
|
165 |
+
if possible_values:
|
166 |
+
field_descriptions_text += f"\nPossible Values: {possible_values}"
|
167 |
+
field_descriptions_text += "\n"
|
168 |
+
|
169 |
prompt = f"""You are an expert in {context}
|
170 |
|
171 |
+
Your task is to extract the value for the field: {field}{filename_context}{field_descriptions_text}
|
172 |
|
173 |
Consider the following context from the document:
|
174 |
{combined_context}
|
|
|
224 |
filename = self.ctx.get("pdf_meta", {}).get("filename", "")
|
225 |
filename_context = f"\nDocument filename: {filename}" if filename else ""
|
226 |
|
227 |
+
# Get field descriptions from context if available
|
228 |
+
field_descriptions = self.ctx.get("field_descriptions", {})
|
229 |
+
|
230 |
+
# Format field descriptions for the prompt
|
231 |
+
field_descriptions_text = ""
|
232 |
+
if field_descriptions and field in field_descriptions:
|
233 |
+
desc_info = field_descriptions[field]
|
234 |
+
if isinstance(desc_info, dict):
|
235 |
+
description = desc_info.get('description', '')
|
236 |
+
format_info = desc_info.get('format', '')
|
237 |
+
examples = desc_info.get('examples', '')
|
238 |
+
possible_values = desc_info.get('possible_values', '')
|
239 |
+
|
240 |
+
field_descriptions_text = f"\nField information for '{field}':"
|
241 |
+
if description:
|
242 |
+
field_descriptions_text += f"\nDescription: {description}"
|
243 |
+
if format_info:
|
244 |
+
field_descriptions_text += f"\nFormat: {format_info}"
|
245 |
+
if examples:
|
246 |
+
field_descriptions_text += f"\nExamples: {examples}"
|
247 |
+
if possible_values:
|
248 |
+
field_descriptions_text += f"\nPossible Values: {possible_values}"
|
249 |
+
field_descriptions_text += "\n"
|
250 |
+
|
251 |
prompt = f"""You are an expert in {context}
|
252 |
|
253 |
+
Your task is to extract the value for the field: {field}{filename_context}{field_descriptions_text}
|
254 |
|
255 |
Consider the following page from the document:
|
256 |
{page_text}
|
|
|
323 |
filename = self.ctx.get("pdf_meta", {}).get("filename", "")
|
324 |
filename_context = f"\nDocument filename: {filename}" if filename else ""
|
325 |
|
326 |
+
# Get field descriptions from context if available
|
327 |
+
field_descriptions = self.ctx.get("field_descriptions", {})
|
328 |
+
unique_indices_descriptions = self.ctx.get("unique_indices_descriptions", {})
|
329 |
+
|
330 |
+
# Format field descriptions for the prompt
|
331 |
+
field_descriptions_text = ""
|
332 |
+
if field_descriptions:
|
333 |
+
field_descriptions_text = "\nField descriptions:\n"
|
334 |
+
for field, desc_info in field_descriptions.items():
|
335 |
+
if isinstance(desc_info, dict):
|
336 |
+
description = desc_info.get('description', '')
|
337 |
+
format_info = desc_info.get('format', '')
|
338 |
+
examples = desc_info.get('examples', '')
|
339 |
+
possible_values = desc_info.get('possible_values', '')
|
340 |
+
|
341 |
+
desc_line = f" {field}:"
|
342 |
+
if description:
|
343 |
+
desc_line += f" {description}"
|
344 |
+
if format_info:
|
345 |
+
desc_line += f" (Format: {format_info})"
|
346 |
+
if examples:
|
347 |
+
desc_line += f" (Examples: {examples})"
|
348 |
+
if possible_values:
|
349 |
+
desc_line += f" (Possible Values: {possible_values})"
|
350 |
+
field_descriptions_text += desc_line + "\n"
|
351 |
+
else:
|
352 |
+
field_descriptions_text += f" {field}: {desc_info}\n"
|
353 |
+
|
354 |
+
# Format unique indices descriptions for the prompt
|
355 |
+
unique_indices_text = ""
|
356 |
+
if unique_indices_descriptions:
|
357 |
+
unique_indices_text = "\nUnique indices descriptions:\n"
|
358 |
+
for index, desc_info in unique_indices_descriptions.items():
|
359 |
+
if isinstance(desc_info, dict):
|
360 |
+
description = desc_info.get('description', '')
|
361 |
+
format_info = desc_info.get('format', '')
|
362 |
+
examples = desc_info.get('examples', '')
|
363 |
+
possible_values = desc_info.get('possible_values', '')
|
364 |
+
|
365 |
+
desc_line = f" {index}:"
|
366 |
+
if description:
|
367 |
+
desc_line += f" {description}"
|
368 |
+
if format_info:
|
369 |
+
desc_line += f" (Format: {format_info})"
|
370 |
+
if examples:
|
371 |
+
desc_line += f" (Examples: {examples})"
|
372 |
+
if possible_values:
|
373 |
+
desc_line += f" (Possible Values: {possible_values})"
|
374 |
+
unique_indices_text += desc_line + "\n"
|
375 |
+
else:
|
376 |
+
unique_indices_text += f" {index}: {desc_info}\n"
|
377 |
+
|
378 |
prompt = f"""You are an expert in {context}
|
379 |
|
380 |
Your task is to extract information from the document based on unique combinations of indices and their corresponding fields.
|
381 |
|
382 |
Unique Indices to look for: {', '.join(unique_indices)}
|
383 |
+
Fields to extract for each combination: {', '.join(fields_to_extract)}{filename_context}{field_descriptions_text}{unique_indices_text}
|
384 |
|
385 |
Consider the following document:
|
386 |
{text}
|
src/agents/unique_indices_combinator.py
CHANGED
@@ -61,8 +61,29 @@ class UniqueIndicesCombinator(BaseAgent):
|
|
61 |
self.logger.info("Starting _extract_unique_combinations")
|
62 |
self.logger.info(f"Processing {len(unique_indices)} unique indices")
|
63 |
|
64 |
-
# Format the descriptions for the prompt
|
65 |
-
descriptions_text = "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
|
67 |
prompt = f"""You are an AI assistant tasked with helping out argenx employees in the context of biotech, drug discovery, and drug development.
|
68 |
Your task is to assist the argenx team in retrieving all the unique combinations of indices from a given PDF.
|
|
|
61 |
self.logger.info("Starting _extract_unique_combinations")
|
62 |
self.logger.info(f"Processing {len(unique_indices)} unique indices")
|
63 |
|
64 |
+
# Format the descriptions for the prompt with enhanced information
|
65 |
+
descriptions_text = ""
|
66 |
+
for index, desc_info in unique_indices_descriptions.items():
|
67 |
+
if isinstance(desc_info, dict):
|
68 |
+
# Enhanced format with description, format, examples, and possible values
|
69 |
+
description = desc_info.get('description', '')
|
70 |
+
format_info = desc_info.get('format', '')
|
71 |
+
examples = desc_info.get('examples', '')
|
72 |
+
possible_values = desc_info.get('possible_values', '')
|
73 |
+
|
74 |
+
desc_line = f" {index}:"
|
75 |
+
if description:
|
76 |
+
desc_line += f" {description}"
|
77 |
+
if format_info:
|
78 |
+
desc_line += f" (Format: {format_info})"
|
79 |
+
if examples:
|
80 |
+
desc_line += f" (Examples: {examples})"
|
81 |
+
if possible_values:
|
82 |
+
desc_line += f" (Possible Values: {possible_values})"
|
83 |
+
descriptions_text += desc_line + "\n"
|
84 |
+
else:
|
85 |
+
# Fallback for simple string descriptions
|
86 |
+
descriptions_text += f" {index}: {desc_info}\n"
|
87 |
|
88 |
prompt = f"""You are an AI assistant tasked with helping out argenx employees in the context of biotech, drug discovery, and drug development.
|
89 |
Your task is to assist the argenx team in retrieving all the unique combinations of indices from a given PDF.
|
src/app.py
CHANGED
@@ -232,8 +232,108 @@ else: # page == "Execution"
|
|
232 |
st.title("Deep‑Research PDF Field Extractor (POC)")
|
233 |
|
234 |
pdf_file = st.file_uploader("Upload PDF", type=["pdf"])
|
235 |
-
fields_str = st.text_input("Fields (comma‑separated)", "
|
236 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
|
238 |
# Add strategy selector
|
239 |
strategy = st.radio(
|
@@ -246,38 +346,114 @@ else: # page == "Execution"
|
|
246 |
unique_indices = None
|
247 |
unique_indices_descriptions = None
|
248 |
if strategy == "Unique Indices Strategy":
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
255 |
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
|
282 |
def flatten_json_response(json_data, fields):
|
283 |
"""Flatten the nested JSON response into a tabular structure with dynamic columns."""
|
@@ -351,7 +527,7 @@ else: # page == "Execution"
|
|
351 |
|
352 |
if st.button("Run extraction") and pdf_file:
|
353 |
field_list = [f.strip() for f in fields_str.split(",") if f.strip()]
|
354 |
-
field_descs =
|
355 |
|
356 |
try:
|
357 |
with st.spinner("Planning …"):
|
|
|
232 |
st.title("Deep‑Research PDF Field Extractor (POC)")
|
233 |
|
234 |
pdf_file = st.file_uploader("Upload PDF", type=["pdf"])
|
235 |
+
fields_str = st.text_input("Fields (comma‑separated)", "Chain, Percentage, Seq Loc")
|
236 |
+
|
237 |
+
# Replace YAML text area with table format for field descriptions
|
238 |
+
st.subheader("Field Descriptions")
|
239 |
+
st.markdown("""
|
240 |
+
Add field descriptions to help the system better understand what to extract.
|
241 |
+
You can add multiple rows to describe different aspects of each field.
|
242 |
+
""")
|
243 |
+
|
244 |
+
# Initialize session state for field descriptions table
|
245 |
+
if 'field_descriptions_table' not in st.session_state:
|
246 |
+
# Prefill with the provided JSON data for regular fields
|
247 |
+
st.session_state.field_descriptions_table = [
|
248 |
+
{
|
249 |
+
'field_name': 'Chain',
|
250 |
+
'field_description': 'Refers to either the heavy chain (HC) or light chain (LC) of an antibody or protein construct, each analyzed separately for structural integrity and chemical modifications.',
|
251 |
+
'format': 'String',
|
252 |
+
'examples': 'Heavy',
|
253 |
+
'possible_values': 'Heavy, Light'
|
254 |
+
},
|
255 |
+
{
|
256 |
+
'field_name': 'Percentage',
|
257 |
+
'field_description': 'The relative abundance of a specific modification or peptide, typically quantified using extracted ion chromatograms (EICs) and expressed as a percentage of the total signal.',
|
258 |
+
'format': 'Float',
|
259 |
+
'examples': '90.0',
|
260 |
+
'possible_values': ''
|
261 |
+
},
|
262 |
+
{
|
263 |
+
'field_name': 'Seq Loc',
|
264 |
+
'field_description': 'The specific amino acid position(s) within the protein sequence where a peptide or modification is located, often denoted by residue numbers and chain type (e.g., HC(88–125)).',
|
265 |
+
'format': 'String',
|
266 |
+
'examples': 'HC(1-31)',
|
267 |
+
'possible_values': ''
|
268 |
+
}
|
269 |
+
]
|
270 |
+
|
271 |
+
# Create the table interface
|
272 |
+
col1, col2, col3, col4, col5, col6 = st.columns([2, 3, 2, 2, 2, 1])
|
273 |
+
|
274 |
+
with col1:
|
275 |
+
st.markdown("**Field Name**")
|
276 |
+
with col2:
|
277 |
+
st.markdown("**Field Description**")
|
278 |
+
with col3:
|
279 |
+
st.markdown("**Format**")
|
280 |
+
with col4:
|
281 |
+
st.markdown("**Examples**")
|
282 |
+
with col5:
|
283 |
+
st.markdown("**Possible Values**")
|
284 |
+
with col6:
|
285 |
+
st.markdown("**Actions**")
|
286 |
+
|
287 |
+
# Display existing rows
|
288 |
+
for i, row in enumerate(st.session_state.field_descriptions_table):
|
289 |
+
col1, col2, col3, col4, col5, col6 = st.columns([2, 3, 2, 2, 2, 1])
|
290 |
+
|
291 |
+
with col1:
|
292 |
+
field_name = st.text_input("", value=row.get('field_name', ''), key=f"field_name_{i}")
|
293 |
+
with col2:
|
294 |
+
field_desc = st.text_input("", value=row.get('field_description', ''), key=f"field_desc_{i}")
|
295 |
+
with col3:
|
296 |
+
field_format = st.text_input("", value=row.get('format', ''), key=f"field_format_{i}")
|
297 |
+
with col4:
|
298 |
+
field_examples = st.text_input("", value=row.get('examples', ''), key=f"field_examples_{i}")
|
299 |
+
with col5:
|
300 |
+
field_possible_values = st.text_input("", value=row.get('possible_values', ''), key=f"field_possible_values_{i}")
|
301 |
+
with col6:
|
302 |
+
if st.button("Delete", key=f"delete_{i}"):
|
303 |
+
st.session_state.field_descriptions_table.pop(i)
|
304 |
+
st.rerun()
|
305 |
+
|
306 |
+
# Update the row in session state
|
307 |
+
st.session_state.field_descriptions_table[i] = {
|
308 |
+
'field_name': field_name,
|
309 |
+
'field_description': field_desc,
|
310 |
+
'format': field_format,
|
311 |
+
'examples': field_examples,
|
312 |
+
'possible_values': field_possible_values
|
313 |
+
}
|
314 |
+
|
315 |
+
# Add new row button
|
316 |
+
if st.button("Add Field Description Row"):
|
317 |
+
st.session_state.field_descriptions_table.append({
|
318 |
+
'field_name': '',
|
319 |
+
'field_description': '',
|
320 |
+
'format': '',
|
321 |
+
'examples': '',
|
322 |
+
'possible_values': ''
|
323 |
+
})
|
324 |
+
st.rerun()
|
325 |
+
|
326 |
+
# Convert table to JSON for processing
|
327 |
+
field_descs = {}
|
328 |
+
if st.session_state.field_descriptions_table:
|
329 |
+
for row in st.session_state.field_descriptions_table:
|
330 |
+
if row['field_name']: # Only include rows with field names
|
331 |
+
field_descs[row['field_name']] = {
|
332 |
+
'description': row['field_description'],
|
333 |
+
'format': row['format'],
|
334 |
+
'examples': row['examples'],
|
335 |
+
'possible_values': row['possible_values']
|
336 |
+
}
|
337 |
|
338 |
# Add strategy selector
|
339 |
strategy = st.radio(
|
|
|
346 |
unique_indices = None
|
347 |
unique_indices_descriptions = None
|
348 |
if strategy == "Unique Indices Strategy":
|
349 |
+
# Add descriptions for each unique index using the same table format
|
350 |
+
st.subheader("Unique Fields Descriptions")
|
351 |
+
st.markdown("""
|
352 |
+
Please provide a description for each unique field. This helps the system better understand what to look for.
|
353 |
+
""")
|
354 |
+
|
355 |
+
# Initialize session state for unique indices descriptions table
|
356 |
+
if 'unique_indices_descriptions_table' not in st.session_state:
|
357 |
+
# Prefill with the provided JSON data for unique indices fields
|
358 |
+
st.session_state.unique_indices_descriptions_table = [
|
359 |
+
{
|
360 |
+
'field_name': 'Protein Lot',
|
361 |
+
'field_description': 'Protein lots are batches of protein constructs analyzed to detect potential liabilities affecting stability, efficacy, and safety. Key liabilities include clipping events, deamidation, cyclization, oxidation, thioether bond formation, and glycation. Analytical methods such as reduced protein analysis by RPLC-UV-MS and peptide map analysis in reducing conditions are used to identify and quantify these modifications.',
|
362 |
+
'format': 'String',
|
363 |
+
'examples': 'P066_FH0.7-0-hulgG-LALAPG-FJB',
|
364 |
+
'possible_values': ''
|
365 |
+
},
|
366 |
+
{
|
367 |
+
'field_name': 'Peptide',
|
368 |
+
'field_description': 'A fragment of the protein sequence, typically derived from enzymatic digestion, used to detect and localize specific modifications or features.',
|
369 |
+
'format': 'String',
|
370 |
+
'examples': 'QVQLQQSGPGLVQPSQSLSITCTVSDFSLAR',
|
371 |
+
'possible_values': ''
|
372 |
+
},
|
373 |
+
{
|
374 |
+
'field_name': 'Timepoint',
|
375 |
+
'field_description': 'A designated sampling moment in a stability or stress study, used to track changes in the protein over time under specific conditions.',
|
376 |
+
'format': 'String',
|
377 |
+
'examples': '0w',
|
378 |
+
'possible_values': '0w, 2w, 4w, 6w'
|
379 |
+
},
|
380 |
+
{
|
381 |
+
'field_name': 'Modification',
|
382 |
+
'field_description': 'Any chemical or structural alteration to the protein or peptide, such as deamidation, oxidation, clipping, or glycation, which may affect function or stability.',
|
383 |
+
'format': 'String',
|
384 |
+
'examples': 'deamidation',
|
385 |
+
'possible_values': 'Deamidation, Oxidation, Truncation, pyroE, Isomerization, N-glycosylation, NonConforming, pyroQ, Thioether, Clipping, O-glycosylation, Double deamidation'
|
386 |
+
}
|
387 |
+
]
|
388 |
+
|
389 |
+
# Create the table interface for unique indices
|
390 |
+
col1, col2, col3, col4, col5, col6 = st.columns([2, 3, 2, 2, 2, 1])
|
391 |
+
|
392 |
+
with col1:
|
393 |
+
st.markdown("**Field Name**")
|
394 |
+
with col2:
|
395 |
+
st.markdown("**Field Description**")
|
396 |
+
with col3:
|
397 |
+
st.markdown("**Format**")
|
398 |
+
with col4:
|
399 |
+
st.markdown("**Examples**")
|
400 |
+
with col5:
|
401 |
+
st.markdown("**Possible Values**")
|
402 |
+
with col6:
|
403 |
+
st.markdown("**Actions**")
|
404 |
+
|
405 |
+
# Display existing rows for unique indices
|
406 |
+
for i, row in enumerate(st.session_state.unique_indices_descriptions_table):
|
407 |
+
col1, col2, col3, col4, col5, col6 = st.columns([2, 3, 2, 2, 2, 1])
|
408 |
|
409 |
+
with col1:
|
410 |
+
idx_field_name = st.text_input("", value=row.get('field_name', ''), key=f"unique_field_name_{i}")
|
411 |
+
with col2:
|
412 |
+
idx_field_desc = st.text_input("", value=row.get('field_description', ''), key=f"unique_field_desc_{i}")
|
413 |
+
with col3:
|
414 |
+
idx_field_format = st.text_input("", value=row.get('format', ''), key=f"unique_field_format_{i}")
|
415 |
+
with col4:
|
416 |
+
idx_field_examples = st.text_input("", value=row.get('examples', ''), key=f"unique_field_examples_{i}")
|
417 |
+
with col5:
|
418 |
+
idx_field_possible_values = st.text_input("", value=row.get('possible_values', ''), key=f"unique_field_possible_values_{i}")
|
419 |
+
with col6:
|
420 |
+
if st.button("Delete", key=f"unique_delete_{i}"):
|
421 |
+
st.session_state.unique_indices_descriptions_table.pop(i)
|
422 |
+
st.rerun()
|
423 |
+
|
424 |
+
# Update the row in session state
|
425 |
+
st.session_state.unique_indices_descriptions_table[i] = {
|
426 |
+
'field_name': idx_field_name,
|
427 |
+
'field_description': idx_field_desc,
|
428 |
+
'format': idx_field_format,
|
429 |
+
'examples': idx_field_examples,
|
430 |
+
'possible_values': idx_field_possible_values
|
431 |
+
}
|
432 |
+
|
433 |
+
# Add new row button for unique indices
|
434 |
+
if st.button("Add Unique Field Description Row"):
|
435 |
+
st.session_state.unique_indices_descriptions_table.append({
|
436 |
+
'field_name': '',
|
437 |
+
'field_description': '',
|
438 |
+
'format': '',
|
439 |
+
'examples': '',
|
440 |
+
'possible_values': ''
|
441 |
+
})
|
442 |
+
st.rerun()
|
443 |
+
|
444 |
+
# Convert unique indices table to JSON for processing and extract field names
|
445 |
+
unique_indices_descriptions = {}
|
446 |
+
unique_indices = []
|
447 |
+
if st.session_state.unique_indices_descriptions_table:
|
448 |
+
for row in st.session_state.unique_indices_descriptions_table:
|
449 |
+
if row['field_name']: # Only include rows with field names
|
450 |
+
unique_indices.append(row['field_name'])
|
451 |
+
unique_indices_descriptions[row['field_name']] = {
|
452 |
+
'description': row['field_description'],
|
453 |
+
'format': row['format'],
|
454 |
+
'examples': row['examples'],
|
455 |
+
'possible_values': row['possible_values']
|
456 |
+
}
|
457 |
|
458 |
def flatten_json_response(json_data, fields):
|
459 |
"""Flatten the nested JSON response into a tabular structure with dynamic columns."""
|
|
|
527 |
|
528 |
if st.button("Run extraction") and pdf_file:
|
529 |
field_list = [f.strip() for f in fields_str.split(",") if f.strip()]
|
530 |
+
field_descs = field_descs
|
531 |
|
532 |
try:
|
533 |
with st.spinner("Planning …"):
|
src/orchestrator/__pycache__/executor.cpython-312.pyc
CHANGED
Binary files a/src/orchestrator/__pycache__/executor.cpython-312.pyc and b/src/orchestrator/__pycache__/executor.cpython-312.pyc differ
|
|
src/orchestrator/__pycache__/planner.cpython-312.pyc
CHANGED
Binary files a/src/orchestrator/__pycache__/planner.cpython-312.pyc and b/src/orchestrator/__pycache__/planner.cpython-312.pyc differ
|
|
src/orchestrator/executor.py
CHANGED
@@ -71,7 +71,8 @@ class Executor:
|
|
71 |
"cost_tracker": self.cost_tracker,
|
72 |
"strategy": plan.get("strategy", "Original Strategy"), # Include the strategy
|
73 |
"unique_indices": plan.get("unique_indices", []), # Include unique indices
|
74 |
-
"unique_indices_descriptions": plan.get("unique_indices_descriptions", {}) # Include descriptions
|
|
|
75 |
}
|
76 |
|
77 |
self.logger.info("Initial context:")
|
|
|
71 |
"cost_tracker": self.cost_tracker,
|
72 |
"strategy": plan.get("strategy", "Original Strategy"), # Include the strategy
|
73 |
"unique_indices": plan.get("unique_indices", []), # Include unique indices
|
74 |
+
"unique_indices_descriptions": plan.get("unique_indices_descriptions", {}), # Include descriptions
|
75 |
+
"field_descriptions": plan.get("field_descriptions", {}) # Include field descriptions
|
76 |
}
|
77 |
|
78 |
self.logger.info("Initial context:")
|
src/orchestrator/planner.py
CHANGED
@@ -46,11 +46,12 @@ class Planner:
|
|
46 |
logger.info(f"Fields: {fields}")
|
47 |
logger.info(f"Unique indices: {unique_indices}")
|
48 |
logger.info(f"Unique indices descriptions: {unique_indices_descriptions}")
|
|
|
49 |
|
50 |
# For Unique Indices Strategy, use static plan directly
|
51 |
if strategy == "Unique Indices Strategy":
|
52 |
logger.info("Using static plan for Unique Indices Strategy")
|
53 |
-
return self._static_plan(fields, strategy, unique_indices, unique_indices_descriptions)
|
54 |
|
55 |
# For Original Strategy, try LLM first
|
56 |
user_context = {
|
@@ -98,6 +99,8 @@ class Planner:
|
|
98 |
plan["unique_indices"] = unique_indices
|
99 |
if unique_indices_descriptions:
|
100 |
plan["unique_indices_descriptions"] = unique_indices_descriptions
|
|
|
|
|
101 |
return plan
|
102 |
else:
|
103 |
missing_keys = []
|
@@ -118,7 +121,7 @@ class Planner:
|
|
118 |
|
119 |
# ---------- fallback static plan ----------
|
120 |
logger.info("Falling back to static plan")
|
121 |
-
return self._static_plan(fields, strategy, unique_indices, unique_indices_descriptions)
|
122 |
|
123 |
# --------------------------------------------------
|
124 |
@staticmethod
|
@@ -169,13 +172,14 @@ class Planner:
|
|
169 |
|
170 |
# --------------------------------------------------
|
171 |
@staticmethod
|
172 |
-
def _static_plan(fields: List[str], strategy: str = "Original Strategy", unique_indices: List[str] | None = None, unique_indices_descriptions: Dict[str, str] | None = None) -> Dict[str, Any]:
|
173 |
"""Return a hard-coded plan to guarantee offline functionality."""
|
174 |
logger.info("Generating static fallback plan")
|
175 |
logger.info(f"Strategy: {strategy}")
|
176 |
logger.info(f"Fields: {fields}")
|
177 |
logger.info(f"Unique indices: {unique_indices}")
|
178 |
logger.info(f"Unique indices descriptions: {unique_indices_descriptions}")
|
|
|
179 |
|
180 |
if strategy == "Unique Indices Strategy":
|
181 |
steps = [
|
@@ -209,6 +213,8 @@ class Planner:
|
|
209 |
plan["unique_indices"] = unique_indices
|
210 |
if unique_indices_descriptions:
|
211 |
plan["unique_indices_descriptions"] = unique_indices_descriptions
|
|
|
|
|
212 |
|
213 |
logger.info(f"Final plan: {json.dumps(plan, indent=2)}")
|
214 |
return plan
|
|
|
46 |
logger.info(f"Fields: {fields}")
|
47 |
logger.info(f"Unique indices: {unique_indices}")
|
48 |
logger.info(f"Unique indices descriptions: {unique_indices_descriptions}")
|
49 |
+
logger.info(f"Field descriptions: {field_descs}")
|
50 |
|
51 |
# For Unique Indices Strategy, use static plan directly
|
52 |
if strategy == "Unique Indices Strategy":
|
53 |
logger.info("Using static plan for Unique Indices Strategy")
|
54 |
+
return self._static_plan(fields, strategy, unique_indices, unique_indices_descriptions, field_descs)
|
55 |
|
56 |
# For Original Strategy, try LLM first
|
57 |
user_context = {
|
|
|
99 |
plan["unique_indices"] = unique_indices
|
100 |
if unique_indices_descriptions:
|
101 |
plan["unique_indices_descriptions"] = unique_indices_descriptions
|
102 |
+
if field_descs:
|
103 |
+
plan["field_descriptions"] = field_descs
|
104 |
return plan
|
105 |
else:
|
106 |
missing_keys = []
|
|
|
121 |
|
122 |
# ---------- fallback static plan ----------
|
123 |
logger.info("Falling back to static plan")
|
124 |
+
return self._static_plan(fields, strategy, unique_indices, unique_indices_descriptions, field_descs)
|
125 |
|
126 |
# --------------------------------------------------
|
127 |
@staticmethod
|
|
|
172 |
|
173 |
# --------------------------------------------------
|
174 |
@staticmethod
|
175 |
+
def _static_plan(fields: List[str], strategy: str = "Original Strategy", unique_indices: List[str] | None = None, unique_indices_descriptions: Dict[str, str] | None = None, field_descs: Dict | None = None) -> Dict[str, Any]:
|
176 |
"""Return a hard-coded plan to guarantee offline functionality."""
|
177 |
logger.info("Generating static fallback plan")
|
178 |
logger.info(f"Strategy: {strategy}")
|
179 |
logger.info(f"Fields: {fields}")
|
180 |
logger.info(f"Unique indices: {unique_indices}")
|
181 |
logger.info(f"Unique indices descriptions: {unique_indices_descriptions}")
|
182 |
+
logger.info(f"Field descriptions: {field_descs}")
|
183 |
|
184 |
if strategy == "Unique Indices Strategy":
|
185 |
steps = [
|
|
|
213 |
plan["unique_indices"] = unique_indices
|
214 |
if unique_indices_descriptions:
|
215 |
plan["unique_indices_descriptions"] = unique_indices_descriptions
|
216 |
+
if field_descs:
|
217 |
+
plan["field_descriptions"] = field_descs
|
218 |
|
219 |
logger.info(f"Final plan: {json.dumps(plan, indent=2)}")
|
220 |
return plan
|
src/services/__pycache__/azure_di_service.cpython-312.pyc
CHANGED
Binary files a/src/services/__pycache__/azure_di_service.cpython-312.pyc and b/src/services/__pycache__/azure_di_service.cpython-312.pyc differ
|
|