@datagrok/sequence-translator 0.0.4 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,540 @@
1
+ export const SYNTHESIZERS = {
2
+ RAW_NUCLEOTIDES: 'Raw Nucleotides',
3
+ BIOSPRING: 'BioSpring Codes',
4
+ GCRS: 'Janssen GCRS Codes',
5
+ AXOLABS: 'Axolabs Codes',
6
+ MERMADE_12: 'Mermade 12',
7
+ };
8
+ export const TECHNOLOGIES = {
9
+ DNA: 'DNA',
10
+ RNA: 'RNA',
11
+ ASO_GAPMERS: 'For ASO Gapmers',
12
+ SI_RNA: 'For 2\'-OMe and 2\'-F modified siRNA',
13
+ };
14
+ // interface CODES {
15
+ // }
16
+ export const MODIFICATIONS: {[index: string]: {left: string, right: string}} = {
17
+ '(invabasic)': {
18
+ left: 'O[C@@H]1C[C@@H]O[C@H]1CO',
19
+ right: 'O[C@@H]1C[C@@H]O[C@H]1CO',
20
+ },
21
+ '(GalNAc-2-JNJ)': {
22
+ left: 'C(COCCC(=O)NCCCNC(=O)CCCCOC2OC(CO)C(O)C(O)C2NC(=O)C)' +
23
+ '(COCCC(=O)NCCCNC(=O)CCCCOC2OC(CO)C(O)C(O)C2NC(=O)C)' +
24
+ '(COCCC(=O)NCCCNC(=O)CCCCOC2OC(CO)C(O)C(O)C2NC(=O)C)NC(=O)CCCC(=O)NCC(O)CO',
25
+ right: 'OCC(O)CNC(=O)CCCC(=O)NC(COCCC(=O)NCCCNC(=O)CCCCOC2OC(CO)C(O)C(O)C2NC(=O)C)' +
26
+ '(COCCC(=O)NCCCNC(=O)CCCCOC2OC(CO)C(O)C(O)C2NC(=O)C)'+
27
+ '(COCCC(=O)NCCCNC(=O)CCCCOC2OC(CO)C(O)C(O)C2NC(=O)C)',
28
+ },
29
+ };
30
+ export const stadardPhosphateLinkSmiles = 'OP(=O)(O)O';
31
+ export const map: {[synthesizer: string]:
32
+ {[technology: string]: {[code: string]:
33
+ {'name': string, 'weight': number, 'normalized': string, 'SMILES': string}}}} = {
34
+ 'Raw Nucleotides': {
35
+ 'DNA': {
36
+ 'A': {
37
+ 'name': 'Adenine',
38
+ 'weight': 313.21,
39
+ 'normalized': 'dA',
40
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)C[C@@H]1O',
41
+ },
42
+ 'T': {
43
+ 'name': 'Tyrosine',
44
+ 'weight': 304.2,
45
+ 'normalized': 'dT',
46
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=C(C)C(=O)NC2(=O))C[C@@H]1O',
47
+ },
48
+ 'G': {
49
+ 'name': 'Guanine',
50
+ 'weight': 329.21,
51
+ 'normalized': 'dG',
52
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)C)[C@@H]1O',
53
+ },
54
+ 'C': {
55
+ 'name': 'Cytosine',
56
+ 'weight': 289.18,
57
+ 'normalized': 'dC',
58
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))C[C@@H]1O',
59
+ },
60
+ },
61
+ 'RNA': {
62
+ 'A': {
63
+ 'name': 'Adenine',
64
+ 'weight': 313.21,
65
+ 'normalized': 'dA',
66
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)C[C@@H]1O',
67
+ },
68
+ 'U': {
69
+ 'name': 'Uracil',
70
+ 'weight': 306.17,
71
+ 'normalized': 'rU',
72
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(=O)NC2(=O))[C@H](O)[C@@H]1O',
73
+ },
74
+ 'G': {
75
+ 'name': 'Guanine',
76
+ 'weight': 329.21,
77
+ 'normalized': 'dG',
78
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)C)[C@@H]1O',
79
+ },
80
+ 'C': {
81
+ 'name': 'Cytosine',
82
+ 'weight': 289.18,
83
+ 'normalized': 'dC',
84
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))C[C@@H]1O',
85
+ },
86
+ },
87
+ },
88
+ 'BioSpring Codes': {
89
+ 'For ASO Gapmers': {
90
+ '5': {
91
+ 'name': '2\'MOE-5Me-rU',
92
+ 'weight': 378.27,
93
+ 'normalized': 'rU',
94
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=C(C)C(=O)NC2(=O))[C@H](OCCOC)[C@@H]1O',
95
+ },
96
+ '6': {
97
+ 'name': '2\'MOE-rA',
98
+ 'weight': 387.29,
99
+ 'normalized': 'rA',
100
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](OCCOC)[C@@H]1O',
101
+ },
102
+ '7': {
103
+ 'name': '2\'MOE-5Me-rC',
104
+ 'weight': 377.29,
105
+ 'normalized': 'rC',
106
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=C(C)C(N)=NC2(=O))[C@H](OCCOC)[C@@H]1O',
107
+ },
108
+ '8': {
109
+ 'name': '2\'MOE-rG',
110
+ 'weight': 403.28,
111
+ 'normalized': 'rG',
112
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](OCCOC)[C@@H]1O',
113
+ },
114
+ '9': {
115
+ 'name': '5-Methyl-dC',
116
+ 'weight': 303.21,
117
+ 'normalized': 'dC',
118
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=C(C)C(N)=NC2(=O))C[C@@H]1O',
119
+ },
120
+ '*': {
121
+ 'name': 'ps linkage',
122
+ 'weight': 16.07,
123
+ 'normalized': '',
124
+ 'SMILES': 'OP(=O)(S)O',
125
+ },
126
+ 'A': {
127
+ 'name': 'Adenine',
128
+ 'weight': 313.21,
129
+ 'normalized': 'dA',
130
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)C[C@@H]1O',
131
+ },
132
+ 'C': {
133
+ 'name': 'Cytosine',
134
+ 'weight': 289.18,
135
+ 'normalized': 'dC',
136
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))C[C@@H]1O',
137
+ },
138
+ 'G': {
139
+ 'name': 'Guanine',
140
+ 'weight': 329.21,
141
+ 'normalized': 'dG',
142
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)C)[C@@H]1O',
143
+ },
144
+ 'T': {
145
+ 'name': 'Tyrosine',
146
+ 'weight': 304.2,
147
+ 'normalized': 'dT',
148
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=C(C)C(=O)NC2(=O))C[C@@H]1O',
149
+ },
150
+ },
151
+ 'For 2\'-OMe and 2\'-F modified siRNA': {
152
+ '1': {
153
+ 'name': '2\'-fluoro-U',
154
+ 'weight': 308.16,
155
+ 'normalized': 'rU',
156
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(=O)NC2(=O))[C@H](F)[C@@H]1O',
157
+ },
158
+ '2': {
159
+ 'name': '2\'-fluoro-A',
160
+ 'weight': 331.2,
161
+ 'normalized': 'rA',
162
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](F)[C@@H]1O',
163
+ },
164
+ '3': {
165
+ 'name': '2\'-fluoro-C',
166
+ 'weight': 307.18,
167
+ 'normalized': 'rC',
168
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))[C@H](F)[C@@H]1O',
169
+ },
170
+ '4': {
171
+ 'name': '2\'-fluoro-G',
172
+ 'weight': 347.19,
173
+ 'normalized': 'rG',
174
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](F)[C@@H]1O',
175
+ },
176
+ '5': {
177
+ 'name': '2\'OMe-rU',
178
+ 'weight': 320.2,
179
+ 'normalized': 'rU',
180
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(=O)NC2(=O))[C@H](OC)[C@@H]1O',
181
+ },
182
+ '6': {
183
+ 'name': '2\'OMe-rA',
184
+ 'weight': 343.24,
185
+ 'normalized': 'rA',
186
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](OC)[C@@H]1O',
187
+ },
188
+ '7': {
189
+ 'name': '2\'OMe-rC',
190
+ 'weight': 319.21,
191
+ 'normalized': 'rC',
192
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))[C@H](OC)[C@@H]1O',
193
+ },
194
+ '8': {
195
+ 'name': '2\'OMe-rG',
196
+ 'weight': 359.24,
197
+ 'normalized': 'rG',
198
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](OC)[C@@H]1O',
199
+ },
200
+ '*': {
201
+ 'name': 'ps linkage',
202
+ 'weight': 16.07,
203
+ 'normalized': '',
204
+ 'SMILES': 'OP(=O)(S)O',
205
+ },
206
+ },
207
+ },
208
+ 'Axolabs Codes': {
209
+ 'For 2\'-OMe and 2\'-F modified siRNA': {
210
+ 'Uf': {
211
+ 'name': '2\'-fluoro-U',
212
+ 'weight': 308.16,
213
+ 'normalized': 'rU',
214
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(=O)NC2(=O))[C@H](F)[C@@H]1O',
215
+ },
216
+ 'Af': {
217
+ 'name': '2\'-fluoro-A',
218
+ 'weight': 331.2,
219
+ 'normalized': 'rA',
220
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](F)[C@@H]1O',
221
+ },
222
+ 'Cf': {
223
+ 'name': '2\'-fluoro-C',
224
+ 'weight': 307.18,
225
+ 'normalized': 'rC',
226
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))[C@H](F)[C@@H]1O',
227
+ },
228
+ 'Gf': {
229
+ 'name': '2\'-fluoro-G',
230
+ 'weight': 347.19,
231
+ 'normalized': 'rG',
232
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](F)[C@@H]1O',
233
+ },
234
+ 'u': {
235
+ 'name': '2\'OMe-rU',
236
+ 'weight': 320.2,
237
+ 'normalized': 'rU',
238
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(=O)NC2(=O))[C@H](OC)[C@@H]1O',
239
+ },
240
+ 'a': {
241
+ 'name': '2\'OMe-rA',
242
+ 'weight': 343.24,
243
+ 'normalized': 'rA',
244
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](OC)[C@@H]1O',
245
+ },
246
+ 'c': {
247
+ 'name': '2\'OMe-rC',
248
+ 'weight': 319.21,
249
+ 'normalized': 'rC',
250
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))[C@H](OC)[C@@H]1O',
251
+ },
252
+ 'g': {
253
+ 'name': '2\'OMe-rG',
254
+ 'weight': 359.,
255
+ 'normalized': 'rG',
256
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](OC)[C@@H]1O',
257
+ },
258
+ 's': {
259
+ 'name': 'ps linkage',
260
+ 'weight': 16.07,
261
+ 'normalized': '',
262
+ 'SMILES': 'OP(=O)(S)O',
263
+ },
264
+ },
265
+ },
266
+ 'Janssen GCRS Codes': {
267
+ 'For ASO Gapmers': {
268
+ 'moeT': {
269
+ 'name': '2\'MOE-5Me-rU',
270
+ 'weight': 378.27,
271
+ 'normalized': 'rU',
272
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=C(C)C(=O)NC2(=O))[C@H](OCCOC)[C@@H]1O',
273
+ },
274
+ 'moeA': {
275
+ 'name': '2\'MOE-rA',
276
+ 'weight': 387.29,
277
+ 'normalized': 'rA',
278
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](OCCOC)[C@@H]1O',
279
+ },
280
+ 'moe5mC': {
281
+ 'name': '2\'MOE-5Me-rC',
282
+ 'weight': 377.29,
283
+ 'normalized': 'rC',
284
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=C(C)C(N)=NC2(=O))[C@H](OCCOC)[C@@H]1O',
285
+ },
286
+ '(5m)moeC': {
287
+ 'name': '2\'MOE-5Me-rC',
288
+ 'weight': 377.29,
289
+ 'normalized': 'rC',
290
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=C(C)C(N)=NC2(=O))[C@H](OCCOC)[C@@H]1O',
291
+ },
292
+ 'moeG': {
293
+ 'name': '2\'MOE-rG',
294
+ 'weight': 403.28,
295
+ 'normalized': 'rG',
296
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](OCCOC)[C@@H]1O',
297
+ },
298
+ '5mC': {
299
+ 'name': '5-Methyl-dC',
300
+ 'weight': 303.28,
301
+ 'normalized': 'dC',
302
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=C(C)C(N)=NC2(=O))C[C@@H]1O',
303
+ },
304
+ '(5m)C': {
305
+ 'name': '5-Methyl-dC',
306
+ 'weight': 303.28,
307
+ 'normalized': 'dC',
308
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=C(C)C(N)=NC2(=O))C[C@@H]1O',
309
+ },
310
+ 'ps': {
311
+ 'name': 'ps linkage',
312
+ 'weight': 16.07,
313
+ 'normalized': '',
314
+ 'SMILES': 'OP(=O)(S)O',
315
+ },
316
+ 'A': {
317
+ 'name': 'Adenine',
318
+ 'weight': 313.21,
319
+ 'normalized': 'dA',
320
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)C[C@@H]1O',
321
+ },
322
+ 'dA': {
323
+ 'name': 'Adenine',
324
+ 'weight': 313.21,
325
+ 'normalized': 'dA',
326
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)C[C@@H]1O',
327
+ },
328
+ 'C': {
329
+ 'name': 'Cytosine',
330
+ 'weight': 289.18,
331
+ 'normalized': 'dC',
332
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))C[C@@H]1O',
333
+ },
334
+ 'dC': {
335
+ 'name': 'Cytosine',
336
+ 'weight': 289.18,
337
+ 'normalized': 'dC',
338
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))C[C@@H]1O',
339
+ },
340
+ 'G': {
341
+ 'name': 'Guanine',
342
+ 'weight': 329.21,
343
+ 'normalized': 'dG',
344
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)C)[C@@H]1O',
345
+ },
346
+ 'dG': {
347
+ 'name': 'Guanine',
348
+ 'weight': 329.21,
349
+ 'normalized': 'dG',
350
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)C)[C@@H]1O',
351
+ },
352
+ 'T': {
353
+ 'name': 'Tyrosine',
354
+ 'weight': 304.2,
355
+ 'normalized': 'dT',
356
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=C(C)C(=O)NC2(=O))C[C@@H]1O',
357
+ },
358
+ 'dT': {
359
+ 'name': 'Tyrosine',
360
+ 'weight': 304.2,
361
+ 'normalized': 'dT',
362
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=C(C)C(=O)NC2(=O))C[C@@H]1O',
363
+ },
364
+ 'rA': {
365
+ 'name': 'Adenine',
366
+ 'weight': 329.21,
367
+ 'normalized': 'rA',
368
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](O)[C@@H]1O',
369
+ },
370
+ 'rC': {
371
+ 'name': 'Cytosine',
372
+ 'weight': 305.18,
373
+ 'normalized': 'rC',
374
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))[C@H](O)[C@@H]1O',
375
+ },
376
+ 'rG': {
377
+ 'name': 'Guanine',
378
+ 'weight': 345.21,
379
+ 'normalized': 'rG',
380
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](O)[C@@H]1O',
381
+ },
382
+ 'rU': {
383
+ 'name': 'Uracil',
384
+ 'weight': 306.17,
385
+ 'normalized': 'rU',
386
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(=O)NC2(=O))[C@H](O)[C@@H]1O',
387
+ },
388
+ },
389
+ 'For 2\'-OMe and 2\'-F modified siRNA': {
390
+ 'fU': {
391
+ 'name': '2\'-fluoro-U',
392
+ 'weight': 308.16,
393
+ 'normalized': 'rU',
394
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(=O)NC2(=O))[C@H](F)[C@@H]1O',
395
+ },
396
+ 'fA': {
397
+ 'name': '2\'-fluoro-A',
398
+ 'weight': 331.2,
399
+ 'normalized': 'rA',
400
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](F)[C@@H]1O',
401
+ },
402
+ 'fC': {
403
+ 'name': '2\'-fluoro-C',
404
+ 'weight': 307.18,
405
+ 'normalized': 'rC',
406
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))[C@H](F)[C@@H]1O',
407
+ },
408
+ 'fG': {
409
+ 'name': '2\'-fluoro-G',
410
+ 'weight': 347.19,
411
+ 'normalized': 'rG',
412
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](F)[C@@H]1O',
413
+ },
414
+ 'mU': {
415
+ 'name': '2\'OMe-rU',
416
+ 'weight': 320.2,
417
+ 'normalized': 'rU',
418
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(=O)NC2(=O))[C@H](OC)[C@@H]1O',
419
+ },
420
+ 'mA': {
421
+ 'name': '2\'OMe-rA',
422
+ 'weight': 343.24,
423
+ 'normalized': 'rA',
424
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](OC)[C@@H]1O',
425
+ },
426
+ 'mC': {
427
+ 'name': '2\'OMe-rC',
428
+ 'weight': 319.21,
429
+ 'normalized': 'rC',
430
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))[C@H](OC)[C@@H]1O',
431
+ },
432
+ 'mG': {
433
+ 'name': '2\'OMe-rG',
434
+ 'weight': 359.24,
435
+ 'normalized': 'rG',
436
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](OC)[C@@H]1O',
437
+ },
438
+ },
439
+ },
440
+ 'Mermade 12': {
441
+ 'For 2\'-OMe and 2\'-F modified siRNA': {
442
+ 'e': {
443
+ 'name': '2\'OMe-rA-ps',
444
+ 'weight': 359.31,
445
+ 'normalized': 'rA',
446
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](OC)[C@@H]1OP(=O)(S)O',
447
+ },
448
+ 'h': {
449
+ 'name': '2\'OMe-rU-ps',
450
+ 'weight': 336.27,
451
+ 'normalized': 'rU',
452
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(=O)NC2(=O))[C@H](OC)[C@@H]1OP(=O)(S)O',
453
+ },
454
+ 'g': {
455
+ 'name': '2\'OMe-rG-ps',
456
+ 'weight': 375.31,
457
+ 'normalized': 'rG',
458
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](OC)[C@@H]1OP(=O)(S)O',
459
+ },
460
+ 'f': {
461
+ 'name': '2\'OMe-rC-ps',
462
+ 'weight': 335.28,
463
+ 'normalized': 'rC',
464
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))[C@H](OC)[C@@H]1OP(=O)(S)O',
465
+ },
466
+ 'i': {
467
+ 'name': '2\'-fluoro-A-ps',
468
+ 'weight': 347.27,
469
+ 'normalized': 'rA',
470
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](F)[C@@H]1OP(=O)(S)O',
471
+ },
472
+ 'l': {
473
+ 'name': '2\'-fluoro-U-ps',
474
+ 'weight': 324.23,
475
+ 'normalized': 'rU',
476
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(=O)NC2(=O))[C@H](F)[C@@H]1OP(=O)(S)O',
477
+ },
478
+ 'k': {
479
+ 'name': '2\'-fluoro-G-ps',
480
+ 'weight': 363.26,
481
+ 'normalized': 'rG',
482
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](F)[C@@H]1OP(=O)(S)O',
483
+ },
484
+ 'j': {
485
+ 'name': '2\'-fluoro-C-ps',
486
+ 'weight': 323.25,
487
+ 'normalized': 'rC',
488
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))[C@H](F)[C@@H]1OP(=O)(S)O',
489
+ },
490
+ 'L': {
491
+ 'name': '2\'-fluoro-U',
492
+ 'weight': 308.16,
493
+ 'normalized': 'rU',
494
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(=O)NC2(=O))[C@H](F)[C@@H]1O',
495
+ },
496
+ 'I': {
497
+ 'name': '2\'-fluoro-A',
498
+ 'weight': 331.2,
499
+ 'normalized': 'rA',
500
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](F)[C@@H]1O',
501
+ },
502
+ 'J': {
503
+ 'name': '2\'-fluoro-C',
504
+ 'weight': 307.18,
505
+ 'normalized': 'rC',
506
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))[C@H](F)[C@@H]1O',
507
+ },
508
+ 'K': {
509
+ 'name': '2\'-fluoro-G',
510
+ 'weight': 347.19,
511
+ 'normalized': 'rG',
512
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](F)[C@@H]1O',
513
+ },
514
+ 'H': {
515
+ 'name': '2\'OMe-rU',
516
+ 'weight': 320.2,
517
+ 'normalized': 'rU',
518
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(=O)NC2(=O))[C@H](OC)[C@@H]1O',
519
+ },
520
+ 'E': {
521
+ 'name': '2\'OMe-rA',
522
+ 'weight': 343.24,
523
+ 'normalized': 'rA',
524
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=CN=C(N)C=3N=C2)[C@H](OC)[C@@H]1O',
525
+ },
526
+ 'F': {
527
+ 'name': '2\'OMe-rC',
528
+ 'weight': 319.21,
529
+ 'normalized': 'rC',
530
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C=CC(N)=NC2(=O))[C@H](OC)[C@@H]1O',
531
+ },
532
+ 'G': {
533
+ 'name': '2\'OMe-rG',
534
+ 'weight': 359.24,
535
+ 'normalized': 'rG',
536
+ 'SMILES': 'OC[C@H]1O[C@@H](N2C3N=C(N)NC(=O)C=3N=C2)[C@H](OC)[C@@H]1O',
537
+ },
538
+ },
539
+ },
540
+ };
@@ -0,0 +1,44 @@
1
+ import * as ui from 'datagrok-api/ui';
2
+ import {sequenceToSmiles} from '../structures-works/from-monomers';
3
+ import * as OCL from 'openchemlib/full.js';
4
+
5
+ export function saveSenseAntiSense() {
6
+ const ssInput = ui.textInput('Sense Strand 5\' ->3\'', '');
7
+ const asInput = ui.textInput('Anti Sense 3\' ->5\'', '');
8
+ const saveOption = ui.switchInput('save as one entity', true);
9
+ const saveBtn = ui.button('Save SDF', () => {
10
+ const smiSS = sequenceToSmiles(ssInput.value);
11
+ const smiAS = sequenceToSmiles(asInput.value, true);
12
+ let result: string;
13
+ if (saveOption.value)
14
+ result = `${OCL.Molecule.fromSmiles(smiSS + '.' + smiAS).toMolfileV3()}\n\n$$$$\n`;
15
+ else {
16
+ result =
17
+ `${OCL.Molecule.fromSmiles(smiSS).toMolfileV3()}\n` +
18
+ `> <Sequence>\nSense Strand\n\n$$$$\n` +
19
+ `${OCL.Molecule.fromSmiles(smiAS).toMolfileV3()}\n` +
20
+ `> <Sequence>\nAnti Sense\n\n$$$$\n`;
21
+ }
22
+
23
+ const element = document.createElement('a');
24
+ element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(result));
25
+ element.setAttribute('download', ssInput.value.replace(/\s/g, '') + '.sdf');
26
+ element.click();
27
+ });
28
+
29
+ const saveSection = ui.panel([
30
+ ui.div([
31
+ ui.div([
32
+ ui.divH([ui.h1('Inputs')]),
33
+ ui.divV([
34
+ ui.div([ssInput.root]),
35
+ ui.div([asInput.root]),
36
+ saveOption,
37
+ ui.buttonsInput([saveBtn]),
38
+ ], 'ui-form'),
39
+ ], 'ui-form'),
40
+ ], 'ui-form'),
41
+ ]);
42
+
43
+ return saveSection;
44
+ }