only_ever_generator 4.0.2 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/bootstrap/app.js +7 -7
  2. package/dist/bootstrap/app.js.map +1 -1
  3. package/dist/helper/mongo_helper.d.ts +5 -0
  4. package/dist/helper/mongo_helper.d.ts.map +1 -0
  5. package/dist/helper/mongo_helper.js +12 -0
  6. package/dist/helper/mongo_helper.js.map +1 -0
  7. package/dist/helper/schema_helper/build_classify_summarize_schema.d.ts +1 -76
  8. package/dist/helper/schema_helper/build_classify_summarize_schema.d.ts.map +1 -1
  9. package/dist/helper/schema_helper/build_classify_summarize_schema.js +43 -93
  10. package/dist/helper/schema_helper/build_classify_summarize_schema.js.map +1 -1
  11. package/dist/helper/schema_helper/build_concept_facts_schema.d.ts +1 -42
  12. package/dist/helper/schema_helper/build_concept_facts_schema.d.ts.map +1 -1
  13. package/dist/helper/schema_helper/build_concept_facts_schema.js +40 -40
  14. package/dist/helper/schema_helper/build_concept_facts_schema.js.map +1 -1
  15. package/dist/index.d.ts +1 -2
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1133 -1140
  18. package/dist/index.js.map +1 -1
  19. package/dist/typology_gen/generate_concept_facts.js +3 -3
  20. package/dist/typology_gen/generate_concept_facts.js.map +1 -1
  21. package/dist/typology_gen/generate_typology.d.ts +12 -2
  22. package/dist/typology_gen/generate_typology.d.ts.map +1 -1
  23. package/dist/typology_gen/generate_typology.js +9 -4
  24. package/dist/typology_gen/generate_typology.js.map +1 -1
  25. package/package.json +3 -2
  26. package/src/bootstrap/app.ts +7 -7
  27. package/src/helper/mongo_helper.ts +9 -0
  28. package/src/helper/schema_helper/build_classify_summarize_schema.ts +38 -98
  29. package/src/helper/schema_helper/build_concept_facts_schema.ts +35 -83
  30. package/src/index.ts +1150 -1147
  31. package/src/typology_gen/generate_concept_facts.ts +4 -4
  32. package/src/typology_gen/generate_typology.ts +23 -4
package/dist/index.js CHANGED
@@ -1,729 +1,747 @@
1
1
  "use strict";
2
+ // import { OnlyEverGenerator } from "./bootstrap/app";
3
+ // import { LocalConsolidation } from "./embedding_generation/consolidation/local_consolidation";
4
+ // import { embeddingsResp } from "./typology-parsed-response";
5
+ // import { GlobalConsolidation } from "./embedding_generation/consolidation/global_consolidation";
6
+ // import { ParseEmbeddingResponse } from "./embedding_generation/parse_embedding_response";
7
+ // import { OpenAIHelper } from "./helper/openai_helper";
8
+ // import { GenerateTypology } from "./typology_gen/generate_typology";
9
+ // import { OpenAiService } from "./services/open_ai_service";
10
+ // import { GenerateConceptFacts } from "./typology_gen/generate_concept_facts";
11
+ // import { BaseParamType } from "./types/base_param_type";
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OnlyEverGenerator = void 0;
4
22
  const app_1 = require("./bootstrap/app");
5
- Object.defineProperty(exports, "OnlyEverGenerator", { enumerable: true, get: function () { return app_1.OnlyEverGenerator; } });
6
- // (async () => {
7
- // const openAIKey =
8
- // "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";
9
- // const openAIHelper = new OpenAIHelper(
10
- // openAIKey,
11
- // "o4-mini",
12
- // "pmpt_687a8872d1c8819088a9cdc97dcb688b0893663621695594",
13
- // "13"
14
- // );
15
- // const content = `{
16
- // "title":"C19orf47",
17
- // "headings": [
18
- // "Gene",
19
- // "mRNA",
20
- // "Protein",
21
- // "Homology",
22
- // "Clinical Significance",
23
- // "References"
24
- // ],
25
- // "content": "content": [
26
- // {
27
- // "block_type": "paragraph",
28
- // "content": "**[[Chromosome|Chromosome|0|wiki]] 19 open reading frame 47** is a [[Protein|protein|1|wiki]] that in humans is encoded by the C19orf47 [[Gene|gene|2|wiki]]. Aliases include Chromosome 19 Open Reading Frame 47, FLJ36888, DKZp686P05129, and LOCI26526."
29
- // },
30
- // {
31
- // "block_type": "heading",
32
- // "content": "Gene",
33
- // "heading_level": 1,
34
- // "children": [
35
- // {
36
- // "block_type": "paragraph",
37
- // "content": "*Homo sapiens* C19orf47 is located in cytogenetic band 19q13.2. It covers 28.98 kilobases from 40,854,420 to 40,825,543 on the minus strand. The gene has 8 exons in the isoform 1 precursor, the last of which is the longest and comprises over half of the mRNA transcript."
38
- // }
39
- // ]
40
- // },
41
- // {
42
- // "block_type": "heading",
43
- // "content": "mRNA",
44
- // "heading_level": 1,
45
- // "children": [
46
- // {
47
- // "block_type": "image",
48
- // "img_src": "https://wikipedia.org/wiki/Special:Redirect/file/Conceptual_translation_of_C19orf47.png",
49
- // "img_caption": "Conceptual translation of C19orf47 using SIXFRAME. Exon-exon boundaries are in blue, start codon is in green, and stop codon is red. PolyA signal sequence is shown in dark orange, polyA sites are shown in orange. Base pair and amino acid numbering is shown. Conserved amino acids in close orthologs are shown bolded."
50
- // },
51
- // {
52
- // "block_type": "paragraph",
53
- // "content": "Transcription of *Homo sapiens* C19orf47 produces 13 different mRNAs, with 12 alternatively spliced variants and 1 unspliced form. Isoforms and the proteins encoded by them are shown in the table below. *Homo sapiens* C19orf47 has broad expression in heart, testes, and other tissues."
54
- // },
55
- // {
56
- // "block_type": "paragraph",
57
- // "content": "*Isoforms of C19orf47.*"
58
- // },
59
- // {
60
- // "block_type": "table",
61
- // "rows": [
62
- // {
63
- // "block_type": "row",
64
- // "values": [
65
- // "Isoform number",
66
- // "Nucleotide Accession",
67
- // "mRNA length (bp)",
68
- // "Protein Accession",
69
- // "Protein Length (aa)"
70
- // ],
71
- // "is_heading": true
72
- // },
73
- // {
74
- // "block_type": "row",
75
- // "values": [
76
- // "NM1",
77
- // "NM_001256440.1",
78
- // "2104",
79
- // "NP_001243369.1",
80
- // "422"
81
- // ],
82
- // "is_heading": false
83
- // },
84
- // {
85
- // "block_type": "row",
86
- // "values": [
87
- // "NM2",
88
- // "NM_001256441.2",
89
- // "3611",
90
- // "NP_001243370.1",
91
- // "385"
92
- // ],
93
- // "is_heading": false
94
- // },
95
- // {
96
- // "block_type": "row",
97
- // "values": [
98
- // "X1",
99
- // "XM_017026291.2",
100
- // "3608",
101
- // "XP_016881780.1",
102
- // "384"
103
- // ],
104
- // "is_heading": false
105
- // },
106
- // {
107
- // "block_type": "row",
108
- // "values": [
109
- // "X2",
110
- // "XM_005258520.3",
111
- // "3625",
112
- // "XP_005258577.1",
113
- // "421"
114
- // ],
115
- // "is_heading": false
116
- // },
117
- // {
118
- // "block_type": "row",
119
- // "values": [
120
- // "X3",
121
- // "XM_017026292.3",
122
- // "1407",
123
- // "XP_016881781.1",
124
- // "366"
125
- // ],
126
- // "is_heading": false
127
- // },
128
- // {
129
- // "block_type": "row",
130
- // "values": [
131
- // "X4",
132
- // "XM_017026293.3",
133
- // "1404",
134
- // "XP_016881782.1",
135
- // "365"
136
- // ],
137
- // "is_heading": false
138
- // },
139
- // {
140
- // "block_type": "row",
141
- // "values": [
142
- // "X5",
143
- // "XM_047438175.1",
144
- // "1421",
145
- // "XP_047294131.1",
146
- // "402"
147
- // ],
148
- // "is_heading": false
149
- // },
150
- // {
151
- // "block_type": "row",
152
- // "values": [
153
- // "X6",
154
- // "XM_024451364.2",
155
- // "3507",
156
- // "XP_024307132.1",
157
- // "344"
158
- // ],
159
- // "is_heading": false
160
- // },
161
- // {
162
- // "block_type": "row",
163
- // "values": [
164
- // "X7",
165
- // "XM_047438176.1",
166
- // "3504",
167
- // "XP_047294132.1",
168
- // "343"
169
- // ],
170
- // "is_heading": false
171
- // },
172
- // {
173
- // "block_type": "row",
174
- // "values": [
175
- // "X8",
176
- // "XM_024451365.2",
177
- // "4638",
178
- // "XP_024307133.1",
179
- // "385"
180
- // ],
181
- // "is_heading": false
182
- // },
183
- // {
184
- // "block_type": "row",
185
- // "values": [
186
- // "X8",
187
- // "XM_047438177.1",
188
- // "4671",
189
- // "XP_047294133.1",
190
- // "385"
191
- // ],
192
- // "is_heading": false
193
- // },
194
- // {
195
- // "block_type": "row",
196
- // "values": [
197
- // "X9",
198
- // "XM_011526460.3",
199
- // "3524",
200
- // "XP_011524762.1",
201
- // "381"
202
- // ],
203
- // "is_heading": false
204
- // },
205
- // {
206
- // "block_type": "row",
207
- // "values": [
208
- // "X10",
209
- // "XM_047438178.1",
210
- // "3668",
211
- // "XP_047294134.1",
212
- // "355"
213
- // ],
214
- // "is_heading": false
215
- // },
216
- // {
217
- // "block_type": "row",
218
- // "values": [
219
- // "X11",
220
- // "XM_047438179.1",
221
- // "3241",
222
- // "XP_047294135.1",
223
- // "281"
224
- // ],
225
- // "is_heading": false
226
- // }
227
- // ]
228
- // }
229
- // ]
230
- // },
231
- // {
232
- // "block_type": "heading",
233
- // "content": "Protein",
234
- // "heading_level": 1,
235
- // "children": [
236
- // {
237
- // "block_type": "image",
238
- // "img_src": "https://wikipedia.org/wiki/Special:Redirect/file/Protein_cartoon_of_human_C19orf47.png",
239
- // "img_caption": "SAM domain is shown in red and nuclear localization site shown in yellow. Amidation site shown with yellow circle, N-glycosylation site shown with blue circle, cAMP- and cGMP-dependent protein kinase phosphorylation sites shown with purple rhombus, Casein kinase II phosphorylation is shown with light blue triangles, N-myristoylation sites shown with green squares, and protein kinase C phosphorylation sites shown with light purple diamonds."
240
- // },
241
- // {
242
- // "block_type": "image",
243
- // "img_src": "https://wikipedia.org/wiki/Special:Redirect/file/C19orf47_tertiary_structure_from_iCn3D.png",
244
- // "img_caption": "C19orf47 tertiary structure from iCn3D"
245
- // },
246
- // {
247
- // "block_type": "paragraph",
248
- // "content": "The C19orf47 gene isoform 1 precursor encodes for a 422 amino acid protein. The protein is located in the nucleoplasm and nucleus of the cell."
249
- // },
250
- // {
251
- // "block_type": "heading",
252
- // "content": "Interacting Proteins",
253
- // "heading_level": 2,
254
- // "children": [
255
- // {
256
- // "block_type": "paragraph",
257
- // "content": "The following proteins have predicted interactions with C19orf47. ''Interacting proteins with C19orf47 in humans. Notes with important information are shown.''"
258
- // },
259
- // {
260
- // "block_type": "table",
261
- // "rows": [
262
- // {
263
- // "block_type": "row",
264
- // "values": [
265
- // "Abbreviated Name",
266
- // "Full Name",
267
- // "Additional Notes"
268
- // ],
269
- // "is_heading": true
270
- // },
271
- // {
272
- // "block_type": "row",
273
- // "values": [
274
- // "PARK2",
275
- // "Parkin RBR E3 Ubiquitin Protein Ligase",
276
- // "Component of multiprotein E3 ubiquitin ligase complex. Mutations are known to cause Parkinson’s disease."
277
- // ],
278
- // "is_heading": false
279
- // },
280
- // {
281
- // "block_type": "row",
282
- // "values": [
283
- // "NSP3",
284
- // "Non-structural protein 3",
285
- // "SARS-CoV-2 protein"
286
- // ],
287
- // "is_heading": false
288
- // },
289
- // {
290
- // "block_type": "row",
291
- // "values": [
292
- // "ORF14",
293
- // "Open reading frame 14",
294
- // "SARS-CoV-2 protein"
295
- // ],
296
- // "is_heading": false
297
- // },
298
- // {
299
- // "block_type": "row",
300
- // "values": [
301
- // "MYC",
302
- // "V-Myc Avian Myelocytomatosis Viral Oncogene Homolog 2 3",
303
- // "Proto-oncogene, forms a heterodimer with related transcription factor for MAX."
304
- // ],
305
- // "is_heading": false
306
- // },
307
- // {
308
- // "block_type": "row",
309
- // "values": [
310
- // "DDX39B",
311
- // "DExD-Box Helicase 39B",
312
- // "RNA-dependent ATPase that mediates ATP hydrolysis during mRNA splicing."
313
- // ],
314
- // "is_heading": false
315
- // },
316
- // {
317
- // "block_type": "row",
318
- // "values": [
319
- // "C17orf85",
320
- // "Nuclear Cap-Binding Protein Subunit 3",
321
- // "Associates with NCBP1/CBP80 to form an alternative cap-binding complex (CBC) which plays a key role in mRNA export."
322
- // ],
323
- // "is_heading": false
324
- // },
325
- // {
326
- // "block_type": "row",
327
- // "values": [
328
- // "NXF1",
329
- // "Nuclear RNA Export Factor 1",
330
- // "Member of a family of nuclear RNA export factor genes."
331
- // ],
332
- // "is_heading": false
333
- // },
334
- // {
335
- // "block_type": "row",
336
- // "values": [
337
- // "THOC2",
338
- // "THO Complex 2",
339
- // "Multiprotein complex binds specifically to spliced mRNAs to facilitate mRNA export."
340
- // ],
341
- // "is_heading": false
342
- // },
343
- // {
344
- // "block_type": "row",
345
- // "values": [
346
- // "YWHAQ",
347
- // "Tyrosine 3-Monooxygenase/Tryptophan 5-Monooxygenase Activation Protein, Theta Polypeptide",
348
- // "Mediates signal transduction by binding to phosphoserine-containing proteins."
349
- // ],
350
- // "is_heading": false
351
- // }
352
- // ]
353
- // }
354
- // ]
355
- // }
356
- // ]
357
- // },
358
- // {
359
- // "block_type": "heading",
360
- // "content": "Homology",
361
- // "heading_level": 1,
362
- // "children": [
363
- // {
364
- // "block_type": "paragraph",
365
- // "content": "C19orf47 is found in organisms including mammals, reptiles, amphibian, fish, insects, and plant."
366
- // },
367
- // {
368
- // "block_type": "paragraph",
369
- // "content": "''Current orthologs of human C19orf47. Sequence identity and similarity are shown.''"
370
- // },
371
- // {
372
- // "block_type": "table",
373
- // "rows": [
374
- // {
375
- // "block_type": "row",
376
- // "values": [
377
- // "col1",
378
- // "col2",
379
- // "col3",
380
- // "col4",
381
- // "col5",
382
- // "col6",
383
- // "col7",
384
- // "col8",
385
- // "col9"
386
- // ],
387
- // "is_heading": true
388
- // },
389
- // {
390
- // "block_type": "row",
391
- // "values": [
392
- // "C19orf47",
393
- // "Genus, Species",
394
- // "Common Name",
395
- // "Taxonomic Group",
396
- // "Date of Divergence (MYA)",
397
- // "Accession Number",
398
- // "Sequence Length (aa)",
399
- // "Identity",
400
- // "Similarity"
401
- // ],
402
- // "is_heading": false
403
- // },
404
- // {
405
- // "block_type": "row",
406
- // "values": [
407
- // "Mammalia",
408
- // "Homo sapiens",
409
- // "Human",
410
- // "Primates",
411
- // "0",
412
- // "NP_001243369.1",
413
- // "422",
414
- // "100.0%",
415
- // "100.0%"
416
- // ],
417
- // "is_heading": false
418
- // },
419
- // {
420
- // "block_type": "row",
421
- // "values": [
422
- // "Mammalia",
423
- // "Mus musculus",
424
- // "Mouse",
425
- // "Rodentia",
426
- // "87",
427
- // "XP_036009244.1",
428
- // "397",
429
- // "75.5%",
430
- // "80.2%"
431
- // ],
432
- // "is_heading": false
433
- // },
434
- // {
435
- // "block_type": "row",
436
- // "values": [
437
- // "Mammalia",
438
- // "Castor canadensis",
439
- // "American Beaver",
440
- // "Rodentia",
441
- // "87",
442
- // "XP_020022531.1",
443
- // "382",
444
- // "71.3%",
445
- // "74.7%"
446
- // ],
447
- // "is_heading": false
448
- // },
449
- // {
450
- // "block_type": "row",
451
- // "values": [
452
- // "Reptilia",
453
- // "Gopherus flavomarginatus",
454
- // "Bolson Tortoise",
455
- // "Testudines",
456
- // "319",
457
- // "XP_050784538.1",
458
- // "386",
459
- // "63.3%",
460
- // "72.9%"
461
- // ],
462
- // "is_heading": false
463
- // },
464
- // {
465
- // "block_type": "row",
466
- // "values": [
467
- // "Reptilia",
468
- // "Dermochelys coriacea",
469
- // "Leatherback Sea Turtle",
470
- // "Testudines",
471
- // "319",
472
- // "XP_038238045.2",
473
- // "449",
474
- // "62.3%",
475
- // "72.0%"
476
- // ],
477
- // "is_heading": false
478
- // },
479
- // {
480
- // "block_type": "row",
481
- // "values": [
482
- // "Reptilia",
483
- // "Varanus komodoensis",
484
- // "Komodo Dragon",
485
- // "Squamata",
486
- // "319",
487
- // "XP_044281356.1",
488
- // "395",
489
- // "60.2%",
490
- // "69.2%"
491
- // ],
492
- // "is_heading": false
493
- // },
494
- // {
495
- // "block_type": "row",
496
- // "values": [
497
- // "Reptilia",
498
- // "Alligator sinensis",
499
- // "Chinese Alligator",
500
- // "Crocodylia",
501
- // "319",
502
- // "XP_025068843.1",
503
- // "388",
504
- // "54.7%",
505
- // "63.3%"
506
- // ],
507
- // "is_heading": false
508
- // },
509
- // {
510
- // "block_type": "row",
511
- // "values": [
512
- // "Aves",
513
- // "Haliaeetus leucocephalus",
514
- // "Bald Eagle",
515
- // "Falconiformes",
516
- // "319",
517
- // "XP_010564700.1",
518
- // "380",
519
- // "60.2%",
520
- // "69.1%"
521
- // ],
522
- // "is_heading": false
523
- // },
524
- // {
525
- // "block_type": "row",
526
- // "values": [
527
- // "Aves",
528
- // "Phalacrocorax carbo",
529
- // "Great Cormorant",
530
- // "Suliformes",
531
- // "319",
532
- // "XP_009501755.1",
533
- // "381",
534
- // "58.5%",
535
- // "67.3%"
536
- // ],
537
- // "is_heading": false
538
- // },
539
- // {
540
- // "block_type": "row",
541
- // "values": [
542
- // "Aves",
543
- // "Gallus gallus",
544
- // "Chicken",
545
- // "Galliformes",
546
- // "319",
547
- // "XP_015129410.4",
548
- // "374",
549
- // "36.6%",
550
- // "45.5%"
551
- // ],
552
- // "is_heading": false
553
- // },
554
- // {
555
- // "block_type": "row",
556
- // "values": [
557
- // "Amphibia",
558
- // "Xenopus tropicalis",
559
- // "Frog",
560
- // "Anura",
561
- // "352",
562
- // "NP_001005016.1",
563
- // "398",
564
- // "54.2%",
565
- // "64.5%"
566
- // ],
567
- // "is_heading": false
568
- // },
569
- // {
570
- // "block_type": "row",
571
- // "values": [
572
- // "Fish",
573
- // "Protopterus annectens",
574
- // "West African Lungfish",
575
- // "Lepidosireniformes",
576
- // "408",
577
- // "XP_043937251.1",
578
- // "393",
579
- // "46.4%",
580
- // "57.0%"
581
- // ],
582
- // "is_heading": false
583
- // },
584
- // {
585
- // "block_type": "row",
586
- // "values": [
587
- // "Fish",
588
- // "Latimeria chalumnae",
589
- // "West Indian Ocean Coelacanth",
590
- // "Coelacanthiformes",
591
- // "415",
592
- // "XP_014348608.1",
593
- // "381",
594
- // "58.2%",
595
- // "69.7%"
596
- // ],
597
- // "is_heading": false
598
- // },
599
- // {
600
- // "block_type": "row",
601
- // "values": [
602
- // "Fish",
603
- // "Danio rerio",
604
- // "Zebrafish",
605
- // "Cypriniformes",
606
- // "429",
607
- // "NP_001038706.1",
608
- // "392",
609
- // "48.6%",
610
- // "59.5%"
611
- // ],
612
- // "is_heading": false
613
- // },
614
- // {
615
- // "block_type": "row",
616
- // "values": [
617
- // "Fish",
618
- // "Leucoraja erinacea",
619
- // "Little Skate",
620
- // "Rajiformes",
621
- // "462",
622
- // "XP_055519598.1",
623
- // "395",
624
- // "53.0%",
625
- // "64.2%"
626
- // ],
627
- // "is_heading": false
628
- // },
629
- // {
630
- // "block_type": "row",
631
- // "values": [
632
- // "Fish",
633
- // "Petromyzon marinus",
634
- // "Sea Lamprey",
635
- // "Petromyzontiformes",
636
- // "563",
637
- // "XP_032803651.1",
638
- // "452",
639
- // "41.6%",
640
- // "52.4%"
641
- // ],
642
- // "is_heading": false
643
- // },
644
- // {
645
- // "block_type": "row",
646
- // "values": [
647
- // "Arthropods",
648
- // "Rhipicephalus sanguineus",
649
- // "Brown Dog Tick",
650
- // "Ixodida",
651
- // "686",
652
- // "XP_037499932.1",
653
- // "428",
654
- // "29.3%",
655
- // "39.9%"
656
- // ],
657
- // "is_heading": false
658
- // },
659
- // {
660
- // "block_type": "row",
661
- // "values": [
662
- // "Arthropods",
663
- // "Biomphalaria glabrata",
664
- // "Bloodfluke Planorb",
665
- // "Planorbidae",
666
- // "686",
667
- // "XP_055879100.1",
668
- // "370",
669
- // "26.6%",
670
- // "36.0%"
671
- // ],
672
- // "is_heading": false
673
- // },
674
- // {
675
- // "block_type": "row",
676
- // "values": [
677
- // "Arthropods",
678
- // "Polistes fuscatus",
679
- // "Northern Paper Wasp",
680
- // "Hymenoptera",
681
- // "686",
682
- // "XP_043494673.1",
683
- // "409",
684
- // "24.1%",
685
- // "39.3%"
686
- // ],
687
- // "is_heading": false
688
- // },
689
- // {
690
- // "block_type": "row",
691
- // "values": [
692
- // "Plants",
693
- // "Gossypium anomalum",
694
- // "Wild Cotton",
695
- // "Malvales",
696
- // "1530",
697
- // "KAG8495680.1",
698
- // "266",
699
- // "11.5%",
700
- // "20.6%"
701
- // ],
702
- // "is_heading": false
703
- // }
704
- // ]
705
- // }
706
- // ]
707
- // },
708
- // {
709
- // "block_type": "heading",
710
- // "content": "Clinical Significance",
711
- // "heading_level": 1,
712
- // "children": [
713
- // {
714
- // "block_type": "paragraph",
715
- // "content": "One study discusses the identification of four novel mutations in the TUBB4A gene associated with [[Laryngeal_dystonia|laryngeal|3|wiki]] and [[Cervical_dystonia|cervical dystonia|4|wiki]], a rare neurological disorder. These mutations were found in several affected families, and the study highlights the complexity of this genetic condition, with evidence of [[Incomplete_penetrance|incomplete penetrance|5|wiki]] in some cases. [[Laryngeal_dystonia|Laryngeal dystonia|6|wiki]], often the initial symptom, is a prominent feature of the disease. Of note, there was presence of a variant in the C19orf47 gene in one family. It was shown that the variant in the gene TUBB4A was more likely to be the source of the phenotype, as C19orf47 has low expression in the brain."
716
- // }
717
- // ]
718
- // },
719
- // {
720
- // "block_type": "heading",
721
- // "content": "References",
722
- // "heading_level": 1,
723
- // "children": []
724
- // }
725
- // ],
726
- // }`;
23
+ // export { OnlyEverGenerator };
24
+ // // (async () => {
25
+ // // const openAIKey =
26
+ // // "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";
27
+ // // const openAIHelper = new OpenAIHelper(
28
+ // // openAIKey,
29
+ // // "o4-mini",
30
+ // // "pmpt_687a8872d1c8819088a9cdc97dcb688b0893663621695594",
31
+ // // "13"
32
+ // // );
33
+ // // const content = `{
34
+ // // "title":"C19orf47",
35
+ // // "headings": [
36
+ // // "Gene",
37
+ // // "mRNA",
38
+ // // "Protein",
39
+ // // "Homology",
40
+ // // "Clinical Significance",
41
+ // // "References"
42
+ // // ],
43
+ // // "content": "content": [
44
+ // // {
45
+ // // "block_type": "paragraph",
46
+ // // "content": "**[[Chromosome|Chromosome|0|wiki]] 19 open reading frame 47** is a [[Protein|protein|1|wiki]] that in humans is encoded by the C19orf47 [[Gene|gene|2|wiki]]. Aliases include Chromosome 19 Open Reading Frame 47, FLJ36888, DKZp686P05129, and LOCI26526."
47
+ // // },
48
+ // // {
49
+ // // "block_type": "heading",
50
+ // // "content": "Gene",
51
+ // // "heading_level": 1,
52
+ // // "children": [
53
+ // // {
54
+ // // "block_type": "paragraph",
55
+ // // "content": "*Homo sapiens* C19orf47 is located in cytogenetic band 19q13.2. It covers 28.98 kilobases from 40,854,420 to 40,825,543 on the minus strand. The gene has 8 exons in the isoform 1 precursor, the last of which is the longest and comprises over half of the mRNA transcript."
56
+ // // }
57
+ // // ]
58
+ // // },
59
+ // // {
60
+ // // "block_type": "heading",
61
+ // // "content": "mRNA",
62
+ // // "heading_level": 1,
63
+ // // "children": [
64
+ // // {
65
+ // // "block_type": "image",
66
+ // // "img_src": "https://wikipedia.org/wiki/Special:Redirect/file/Conceptual_translation_of_C19orf47.png",
67
+ // // "img_caption": "Conceptual translation of C19orf47 using SIXFRAME. Exon-exon boundaries are in blue, start codon is in green, and stop codon is red. PolyA signal sequence is shown in dark orange, polyA sites are shown in orange. Base pair and amino acid numbering is shown. Conserved amino acids in close orthologs are shown bolded."
68
+ // // },
69
+ // // {
70
+ // // "block_type": "paragraph",
71
+ // // "content": "Transcription of *Homo sapiens* C19orf47 produces 13 different mRNAs, with 12 alternatively spliced variants and 1 unspliced form. Isoforms and the proteins encoded by them are shown in the table below. *Homo sapiens* C19orf47 has broad expression in heart, testes, and other tissues."
72
+ // // },
73
+ // // {
74
+ // // "block_type": "paragraph",
75
+ // // "content": "*Isoforms of C19orf47.*"
76
+ // // },
77
+ // // {
78
+ // // "block_type": "table",
79
+ // // "rows": [
80
+ // // {
81
+ // // "block_type": "row",
82
+ // // "values": [
83
+ // // "Isoform number",
84
+ // // "Nucleotide Accession",
85
+ // // "mRNA length (bp)",
86
+ // // "Protein Accession",
87
+ // // "Protein Length (aa)"
88
+ // // ],
89
+ // // "is_heading": true
90
+ // // },
91
+ // // {
92
+ // // "block_type": "row",
93
+ // // "values": [
94
+ // // "NM1",
95
+ // // "NM_001256440.1",
96
+ // // "2104",
97
+ // // "NP_001243369.1",
98
+ // // "422"
99
+ // // ],
100
+ // // "is_heading": false
101
+ // // },
102
+ // // {
103
+ // // "block_type": "row",
104
+ // // "values": [
105
+ // // "NM2",
106
+ // // "NM_001256441.2",
107
+ // // "3611",
108
+ // // "NP_001243370.1",
109
+ // // "385"
110
+ // // ],
111
+ // // "is_heading": false
112
+ // // },
113
+ // // {
114
+ // // "block_type": "row",
115
+ // // "values": [
116
+ // // "X1",
117
+ // // "XM_017026291.2",
118
+ // // "3608",
119
+ // // "XP_016881780.1",
120
+ // // "384"
121
+ // // ],
122
+ // // "is_heading": false
123
+ // // },
124
+ // // {
125
+ // // "block_type": "row",
126
+ // // "values": [
127
+ // // "X2",
128
+ // // "XM_005258520.3",
129
+ // // "3625",
130
+ // // "XP_005258577.1",
131
+ // // "421"
132
+ // // ],
133
+ // // "is_heading": false
134
+ // // },
135
+ // // {
136
+ // // "block_type": "row",
137
+ // // "values": [
138
+ // // "X3",
139
+ // // "XM_017026292.3",
140
+ // // "1407",
141
+ // // "XP_016881781.1",
142
+ // // "366"
143
+ // // ],
144
+ // // "is_heading": false
145
+ // // },
146
+ // // {
147
+ // // "block_type": "row",
148
+ // // "values": [
149
+ // // "X4",
150
+ // // "XM_017026293.3",
151
+ // // "1404",
152
+ // // "XP_016881782.1",
153
+ // // "365"
154
+ // // ],
155
+ // // "is_heading": false
156
+ // // },
157
+ // // {
158
+ // // "block_type": "row",
159
+ // // "values": [
160
+ // // "X5",
161
+ // // "XM_047438175.1",
162
+ // // "1421",
163
+ // // "XP_047294131.1",
164
+ // // "402"
165
+ // // ],
166
+ // // "is_heading": false
167
+ // // },
168
+ // // {
169
+ // // "block_type": "row",
170
+ // // "values": [
171
+ // // "X6",
172
+ // // "XM_024451364.2",
173
+ // // "3507",
174
+ // // "XP_024307132.1",
175
+ // // "344"
176
+ // // ],
177
+ // // "is_heading": false
178
+ // // },
179
+ // // {
180
+ // // "block_type": "row",
181
+ // // "values": [
182
+ // // "X7",
183
+ // // "XM_047438176.1",
184
+ // // "3504",
185
+ // // "XP_047294132.1",
186
+ // // "343"
187
+ // // ],
188
+ // // "is_heading": false
189
+ // // },
190
+ // // {
191
+ // // "block_type": "row",
192
+ // // "values": [
193
+ // // "X8",
194
+ // // "XM_024451365.2",
195
+ // // "4638",
196
+ // // "XP_024307133.1",
197
+ // // "385"
198
+ // // ],
199
+ // // "is_heading": false
200
+ // // },
201
+ // // {
202
+ // // "block_type": "row",
203
+ // // "values": [
204
+ // // "X8",
205
+ // // "XM_047438177.1",
206
+ // // "4671",
207
+ // // "XP_047294133.1",
208
+ // // "385"
209
+ // // ],
210
+ // // "is_heading": false
211
+ // // },
212
+ // // {
213
+ // // "block_type": "row",
214
+ // // "values": [
215
+ // // "X9",
216
+ // // "XM_011526460.3",
217
+ // // "3524",
218
+ // // "XP_011524762.1",
219
+ // // "381"
220
+ // // ],
221
+ // // "is_heading": false
222
+ // // },
223
+ // // {
224
+ // // "block_type": "row",
225
+ // // "values": [
226
+ // // "X10",
227
+ // // "XM_047438178.1",
228
+ // // "3668",
229
+ // // "XP_047294134.1",
230
+ // // "355"
231
+ // // ],
232
+ // // "is_heading": false
233
+ // // },
234
+ // // {
235
+ // // "block_type": "row",
236
+ // // "values": [
237
+ // // "X11",
238
+ // // "XM_047438179.1",
239
+ // // "3241",
240
+ // // "XP_047294135.1",
241
+ // // "281"
242
+ // // ],
243
+ // // "is_heading": false
244
+ // // }
245
+ // // ]
246
+ // // }
247
+ // // ]
248
+ // // },
249
+ // // {
250
+ // // "block_type": "heading",
251
+ // // "content": "Protein",
252
+ // // "heading_level": 1,
253
+ // // "children": [
254
+ // // {
255
+ // // "block_type": "image",
256
+ // // "img_src": "https://wikipedia.org/wiki/Special:Redirect/file/Protein_cartoon_of_human_C19orf47.png",
257
+ // // "img_caption": "SAM domain is shown in red and nuclear localization site shown in yellow. Amidation site shown with yellow circle, N-glycosylation site shown with blue circle, cAMP- and cGMP-dependent protein kinase phosphorylation sites shown with purple rhombus, Casein kinase II phosphorylation is shown with light blue triangles, N-myristoylation sites shown with green squares, and protein kinase C phosphorylation sites shown with light purple diamonds."
258
+ // // },
259
+ // // {
260
+ // // "block_type": "image",
261
+ // // "img_src": "https://wikipedia.org/wiki/Special:Redirect/file/C19orf47_tertiary_structure_from_iCn3D.png",
262
+ // // "img_caption": "C19orf47 tertiary structure from iCn3D"
263
+ // // },
264
+ // // {
265
+ // // "block_type": "paragraph",
266
+ // // "content": "The C19orf47 gene isoform 1 precursor encodes for a 422 amino acid protein. The protein is located in the nucleoplasm and nucleus of the cell."
267
+ // // },
268
+ // // {
269
+ // // "block_type": "heading",
270
+ // // "content": "Interacting Proteins",
271
+ // // "heading_level": 2,
272
+ // // "children": [
273
+ // // {
274
+ // // "block_type": "paragraph",
275
+ // // "content": "The following proteins have predicted interactions with C19orf47. ''Interacting proteins with C19orf47 in humans. Notes with important information are shown.''"
276
+ // // },
277
+ // // {
278
+ // // "block_type": "table",
279
+ // // "rows": [
280
+ // // {
281
+ // // "block_type": "row",
282
+ // // "values": [
283
+ // // "Abbreviated Name",
284
+ // // "Full Name",
285
+ // // "Additional Notes"
286
+ // // ],
287
+ // // "is_heading": true
288
+ // // },
289
+ // // {
290
+ // // "block_type": "row",
291
+ // // "values": [
292
+ // // "PARK2",
293
+ // // "Parkin RBR E3 Ubiquitin Protein Ligase",
294
+ // // "Component of multiprotein E3 ubiquitin ligase complex. Mutations are known to cause Parkinson’s disease."
295
+ // // ],
296
+ // // "is_heading": false
297
+ // // },
298
+ // // {
299
+ // // "block_type": "row",
300
+ // // "values": [
301
+ // // "NSP3",
302
+ // // "Non-structural protein 3",
303
+ // // "SARS-CoV-2 protein"
304
+ // // ],
305
+ // // "is_heading": false
306
+ // // },
307
+ // // {
308
+ // // "block_type": "row",
309
+ // // "values": [
310
+ // // "ORF14",
311
+ // // "Open reading frame 14",
312
+ // // "SARS-CoV-2 protein"
313
+ // // ],
314
+ // // "is_heading": false
315
+ // // },
316
+ // // {
317
+ // // "block_type": "row",
318
+ // // "values": [
319
+ // // "MYC",
320
+ // // "V-Myc Avian Myelocytomatosis Viral Oncogene Homolog 2 3",
321
+ // // "Proto-oncogene, forms a heterodimer with related transcription factor for MAX."
322
+ // // ],
323
+ // // "is_heading": false
324
+ // // },
325
+ // // {
326
+ // // "block_type": "row",
327
+ // // "values": [
328
+ // // "DDX39B",
329
+ // // "DExD-Box Helicase 39B",
330
+ // // "RNA-dependent ATPase that mediates ATP hydrolysis during mRNA splicing."
331
+ // // ],
332
+ // // "is_heading": false
333
+ // // },
334
+ // // {
335
+ // // "block_type": "row",
336
+ // // "values": [
337
+ // // "C17orf85",
338
+ // // "Nuclear Cap-Binding Protein Subunit 3",
339
+ // // "Associates with NCBP1/CBP80 to form an alternative cap-binding complex (CBC) which plays a key role in mRNA export."
340
+ // // ],
341
+ // // "is_heading": false
342
+ // // },
343
+ // // {
344
+ // // "block_type": "row",
345
+ // // "values": [
346
+ // // "NXF1",
347
+ // // "Nuclear RNA Export Factor 1",
348
+ // // "Member of a family of nuclear RNA export factor genes."
349
+ // // ],
350
+ // // "is_heading": false
351
+ // // },
352
+ // // {
353
+ // // "block_type": "row",
354
+ // // "values": [
355
+ // // "THOC2",
356
+ // // "THO Complex 2",
357
+ // // "Multiprotein complex binds specifically to spliced mRNAs to facilitate mRNA export."
358
+ // // ],
359
+ // // "is_heading": false
360
+ // // },
361
+ // // {
362
+ // // "block_type": "row",
363
+ // // "values": [
364
+ // // "YWHAQ",
365
+ // // "Tyrosine 3-Monooxygenase/Tryptophan 5-Monooxygenase Activation Protein, Theta Polypeptide",
366
+ // // "Mediates signal transduction by binding to phosphoserine-containing proteins."
367
+ // // ],
368
+ // // "is_heading": false
369
+ // // }
370
+ // // ]
371
+ // // }
372
+ // // ]
373
+ // // }
374
+ // // ]
375
+ // // },
376
+ // // {
377
+ // // "block_type": "heading",
378
+ // // "content": "Homology",
379
+ // // "heading_level": 1,
380
+ // // "children": [
381
+ // // {
382
+ // // "block_type": "paragraph",
383
+ // // "content": "C19orf47 is found in organisms including mammals, reptiles, amphibian, fish, insects, and plant."
384
+ // // },
385
+ // // {
386
+ // // "block_type": "paragraph",
387
+ // // "content": "''Current orthologs of human C19orf47. Sequence identity and similarity are shown.''"
388
+ // // },
389
+ // // {
390
+ // // "block_type": "table",
391
+ // // "rows": [
392
+ // // {
393
+ // // "block_type": "row",
394
+ // // "values": [
395
+ // // "col1",
396
+ // // "col2",
397
+ // // "col3",
398
+ // // "col4",
399
+ // // "col5",
400
+ // // "col6",
401
+ // // "col7",
402
+ // // "col8",
403
+ // // "col9"
404
+ // // ],
405
+ // // "is_heading": true
406
+ // // },
407
+ // // {
408
+ // // "block_type": "row",
409
+ // // "values": [
410
+ // // "C19orf47",
411
+ // // "Genus, Species",
412
+ // // "Common Name",
413
+ // // "Taxonomic Group",
414
+ // // "Date of Divergence (MYA)",
415
+ // // "Accession Number",
416
+ // // "Sequence Length (aa)",
417
+ // // "Identity",
418
+ // // "Similarity"
419
+ // // ],
420
+ // // "is_heading": false
421
+ // // },
422
+ // // {
423
+ // // "block_type": "row",
424
+ // // "values": [
425
+ // // "Mammalia",
426
+ // // "Homo sapiens",
427
+ // // "Human",
428
+ // // "Primates",
429
+ // // "0",
430
+ // // "NP_001243369.1",
431
+ // // "422",
432
+ // // "100.0%",
433
+ // // "100.0%"
434
+ // // ],
435
+ // // "is_heading": false
436
+ // // },
437
+ // // {
438
+ // // "block_type": "row",
439
+ // // "values": [
440
+ // // "Mammalia",
441
+ // // "Mus musculus",
442
+ // // "Mouse",
443
+ // // "Rodentia",
444
+ // // "87",
445
+ // // "XP_036009244.1",
446
+ // // "397",
447
+ // // "75.5%",
448
+ // // "80.2%"
449
+ // // ],
450
+ // // "is_heading": false
451
+ // // },
452
+ // // {
453
+ // // "block_type": "row",
454
+ // // "values": [
455
+ // // "Mammalia",
456
+ // // "Castor canadensis",
457
+ // // "American Beaver",
458
+ // // "Rodentia",
459
+ // // "87",
460
+ // // "XP_020022531.1",
461
+ // // "382",
462
+ // // "71.3%",
463
+ // // "74.7%"
464
+ // // ],
465
+ // // "is_heading": false
466
+ // // },
467
+ // // {
468
+ // // "block_type": "row",
469
+ // // "values": [
470
+ // // "Reptilia",
471
+ // // "Gopherus flavomarginatus",
472
+ // // "Bolson Tortoise",
473
+ // // "Testudines",
474
+ // // "319",
475
+ // // "XP_050784538.1",
476
+ // // "386",
477
+ // // "63.3%",
478
+ // // "72.9%"
479
+ // // ],
480
+ // // "is_heading": false
481
+ // // },
482
+ // // {
483
+ // // "block_type": "row",
484
+ // // "values": [
485
+ // // "Reptilia",
486
+ // // "Dermochelys coriacea",
487
+ // // "Leatherback Sea Turtle",
488
+ // // "Testudines",
489
+ // // "319",
490
+ // // "XP_038238045.2",
491
+ // // "449",
492
+ // // "62.3%",
493
+ // // "72.0%"
494
+ // // ],
495
+ // // "is_heading": false
496
+ // // },
497
+ // // {
498
+ // // "block_type": "row",
499
+ // // "values": [
500
+ // // "Reptilia",
501
+ // // "Varanus komodoensis",
502
+ // // "Komodo Dragon",
503
+ // // "Squamata",
504
+ // // "319",
505
+ // // "XP_044281356.1",
506
+ // // "395",
507
+ // // "60.2%",
508
+ // // "69.2%"
509
+ // // ],
510
+ // // "is_heading": false
511
+ // // },
512
+ // // {
513
+ // // "block_type": "row",
514
+ // // "values": [
515
+ // // "Reptilia",
516
+ // // "Alligator sinensis",
517
+ // // "Chinese Alligator",
518
+ // // "Crocodylia",
519
+ // // "319",
520
+ // // "XP_025068843.1",
521
+ // // "388",
522
+ // // "54.7%",
523
+ // // "63.3%"
524
+ // // ],
525
+ // // "is_heading": false
526
+ // // },
527
+ // // {
528
+ // // "block_type": "row",
529
+ // // "values": [
530
+ // // "Aves",
531
+ // // "Haliaeetus leucocephalus",
532
+ // // "Bald Eagle",
533
+ // // "Falconiformes",
534
+ // // "319",
535
+ // // "XP_010564700.1",
536
+ // // "380",
537
+ // // "60.2%",
538
+ // // "69.1%"
539
+ // // ],
540
+ // // "is_heading": false
541
+ // // },
542
+ // // {
543
+ // // "block_type": "row",
544
+ // // "values": [
545
+ // // "Aves",
546
+ // // "Phalacrocorax carbo",
547
+ // // "Great Cormorant",
548
+ // // "Suliformes",
549
+ // // "319",
550
+ // // "XP_009501755.1",
551
+ // // "381",
552
+ // // "58.5%",
553
+ // // "67.3%"
554
+ // // ],
555
+ // // "is_heading": false
556
+ // // },
557
+ // // {
558
+ // // "block_type": "row",
559
+ // // "values": [
560
+ // // "Aves",
561
+ // // "Gallus gallus",
562
+ // // "Chicken",
563
+ // // "Galliformes",
564
+ // // "319",
565
+ // // "XP_015129410.4",
566
+ // // "374",
567
+ // // "36.6%",
568
+ // // "45.5%"
569
+ // // ],
570
+ // // "is_heading": false
571
+ // // },
572
+ // // {
573
+ // // "block_type": "row",
574
+ // // "values": [
575
+ // // "Amphibia",
576
+ // // "Xenopus tropicalis",
577
+ // // "Frog",
578
+ // // "Anura",
579
+ // // "352",
580
+ // // "NP_001005016.1",
581
+ // // "398",
582
+ // // "54.2%",
583
+ // // "64.5%"
584
+ // // ],
585
+ // // "is_heading": false
586
+ // // },
587
+ // // {
588
+ // // "block_type": "row",
589
+ // // "values": [
590
+ // // "Fish",
591
+ // // "Protopterus annectens",
592
+ // // "West African Lungfish",
593
+ // // "Lepidosireniformes",
594
+ // // "408",
595
+ // // "XP_043937251.1",
596
+ // // "393",
597
+ // // "46.4%",
598
+ // // "57.0%"
599
+ // // ],
600
+ // // "is_heading": false
601
+ // // },
602
+ // // {
603
+ // // "block_type": "row",
604
+ // // "values": [
605
+ // // "Fish",
606
+ // // "Latimeria chalumnae",
607
+ // // "West Indian Ocean Coelacanth",
608
+ // // "Coelacanthiformes",
609
+ // // "415",
610
+ // // "XP_014348608.1",
611
+ // // "381",
612
+ // // "58.2%",
613
+ // // "69.7%"
614
+ // // ],
615
+ // // "is_heading": false
616
+ // // },
617
+ // // {
618
+ // // "block_type": "row",
619
+ // // "values": [
620
+ // // "Fish",
621
+ // // "Danio rerio",
622
+ // // "Zebrafish",
623
+ // // "Cypriniformes",
624
+ // // "429",
625
+ // // "NP_001038706.1",
626
+ // // "392",
627
+ // // "48.6%",
628
+ // // "59.5%"
629
+ // // ],
630
+ // // "is_heading": false
631
+ // // },
632
+ // // {
633
+ // // "block_type": "row",
634
+ // // "values": [
635
+ // // "Fish",
636
+ // // "Leucoraja erinacea",
637
+ // // "Little Skate",
638
+ // // "Rajiformes",
639
+ // // "462",
640
+ // // "XP_055519598.1",
641
+ // // "395",
642
+ // // "53.0%",
643
+ // // "64.2%"
644
+ // // ],
645
+ // // "is_heading": false
646
+ // // },
647
+ // // {
648
+ // // "block_type": "row",
649
+ // // "values": [
650
+ // // "Fish",
651
+ // // "Petromyzon marinus",
652
+ // // "Sea Lamprey",
653
+ // // "Petromyzontiformes",
654
+ // // "563",
655
+ // // "XP_032803651.1",
656
+ // // "452",
657
+ // // "41.6%",
658
+ // // "52.4%"
659
+ // // ],
660
+ // // "is_heading": false
661
+ // // },
662
+ // // {
663
+ // // "block_type": "row",
664
+ // // "values": [
665
+ // // "Arthropods",
666
+ // // "Rhipicephalus sanguineus",
667
+ // // "Brown Dog Tick",
668
+ // // "Ixodida",
669
+ // // "686",
670
+ // // "XP_037499932.1",
671
+ // // "428",
672
+ // // "29.3%",
673
+ // // "39.9%"
674
+ // // ],
675
+ // // "is_heading": false
676
+ // // },
677
+ // // {
678
+ // // "block_type": "row",
679
+ // // "values": [
680
+ // // "Arthropods",
681
+ // // "Biomphalaria glabrata",
682
+ // // "Bloodfluke Planorb",
683
+ // // "Planorbidae",
684
+ // // "686",
685
+ // // "XP_055879100.1",
686
+ // // "370",
687
+ // // "26.6%",
688
+ // // "36.0%"
689
+ // // ],
690
+ // // "is_heading": false
691
+ // // },
692
+ // // {
693
+ // // "block_type": "row",
694
+ // // "values": [
695
+ // // "Arthropods",
696
+ // // "Polistes fuscatus",
697
+ // // "Northern Paper Wasp",
698
+ // // "Hymenoptera",
699
+ // // "686",
700
+ // // "XP_043494673.1",
701
+ // // "409",
702
+ // // "24.1%",
703
+ // // "39.3%"
704
+ // // ],
705
+ // // "is_heading": false
706
+ // // },
707
+ // // {
708
+ // // "block_type": "row",
709
+ // // "values": [
710
+ // // "Plants",
711
+ // // "Gossypium anomalum",
712
+ // // "Wild Cotton",
713
+ // // "Malvales",
714
+ // // "1530",
715
+ // // "KAG8495680.1",
716
+ // // "266",
717
+ // // "11.5%",
718
+ // // "20.6%"
719
+ // // ],
720
+ // // "is_heading": false
721
+ // // }
722
+ // // ]
723
+ // // }
724
+ // // ]
725
+ // // },
726
+ // // {
727
+ // // "block_type": "heading",
728
+ // // "content": "Clinical Significance",
729
+ // // "heading_level": 1,
730
+ // // "children": [
731
+ // // {
732
+ // // "block_type": "paragraph",
733
+ // // "content": "One study discusses the identification of four novel mutations in the TUBB4A gene associated with [[Laryngeal_dystonia|laryngeal|3|wiki]] and [[Cervical_dystonia|cervical dystonia|4|wiki]], a rare neurological disorder. These mutations were found in several affected families, and the study highlights the complexity of this genetic condition, with evidence of [[Incomplete_penetrance|incomplete penetrance|5|wiki]] in some cases. [[Laryngeal_dystonia|Laryngeal dystonia|6|wiki]], often the initial symptom, is a prominent feature of the disease. Of note, there was presence of a variant in the C19orf47 gene in one family. It was shown that the variant in the gene TUBB4A was more likely to be the source of the phenotype, as C19orf47 has low expression in the brain."
734
+ // // }
735
+ // // ]
736
+ // // },
737
+ // // {
738
+ // // "block_type": "heading",
739
+ // // "content": "References",
740
+ // // "heading_level": 1,
741
+ // // "children": []
742
+ // // }
743
+ // // ],
744
+ // // }`;
727
745
  // const fields = [
728
746
  // "Sciences",
729
747
  // "Technology & Engineering",
@@ -750,421 +768,396 @@ Object.defineProperty(exports, "OnlyEverGenerator", { enumerable: true, get: fun
750
768
  // );
751
769
  // console.log(await generateTypology.generate());
752
770
  // })();
753
- // (async () => {
754
- // const content = {
755
- // source_id: "123",
756
- // title: "C19orf47",
757
- // type: "wiki",
758
- // headings: [
759
- // "Gene",
760
- // "mRNA",
761
- // "Protein",
762
- // "Homology",
763
- // "Clinical Significance",
764
- // "References",
765
- // ],
766
- // content: [
767
- // {
768
- // block_type: "paragraph",
769
- // content:
770
- // "**Siv Gun Elisabeth Andersson** (born 1959) is a Swedish [[Evolutionary_biologist|evolutionary biologist|0|wiki]], professor of [[Molecular_evolution|molecular evolution|1|wiki]] at [[Uppsala_University|Uppsala University|2|wiki]]. She is member of both the [[Royal_Swedish_Academy_of_Sciences|Royal Swedish Academy of Sciences|3|wiki]] and of [[Royal_Swedish_Academy_of_Engineering_Sciences|Engineering|4|wiki]]. She is also Head of basic research at the [[Knut_and_Alice_Wallenberg_Foundation|Knut and Alice Wallenberg Foundation|5|wiki]] and has been co-director of the Swedish national center for large-scale research [[Science_for_Life_Laboratory|Science for Life Laboratory|6|wiki]] between 2017 and 2021. Her research focuses on the evolution of [[Bacteria|bacteria|7|wiki]], mainly on intracellular parasites.",
771
- // },
772
- // {
773
- // block_type: "heading",
774
- // content: "Education and career",
775
- // heading_level: 1,
776
- // children: [
777
- // {
778
- // block_type: "paragraph",
779
- // content:
780
- // "Andersson grew up in [[Horndal|Horndal|8|wiki]], [[Dalarna|Dalarna|9|wiki]]. Her mother was home care assistant and her father was employed in the wood industry. She studied Biology at [[Uppsala_University|Uppsala University|10|wiki]], since the programme was the only one that had a course about [[DNA|DNA|11|wiki]]. She defended her PhD in molecular biology in 1990, under the supervision of [[Charles_Kurland|Charles Kurland|12|wiki]]. She applied for a postdoctoral stipend from [[European_Molecular_Biology_Organization|EMBO|13|wiki]] to continue her research in the United States, but ended up obtaining a research position at the MRC Laboratory of Molecular Biology in [[Cambridge|Cambridge|14|wiki]]. She became professor of molecular evolution in 2000, at the Uppsala University's Evolutionary Biology Center. She was elected at the [[Royal_Swedish_Academy_of_Sciences|Royal Swedish Academy of Sciences|15|wiki]] in 2005.",
781
- // },
782
- // {
783
- // block_type: "paragraph",
784
- // content:
785
- // "Andersson has been very active in developing the Swedish national center for large-scale research [[Science_for_Life_Laboratory|Science for Life Laboratory|16|wiki]], especially its [[DNA_sequencing|DNA sequencing|17|wiki]] and [[Bioinformatics|bioinformatics|18|wiki]] platforms. She served as Co-director for the center between 2017 and 2021.",
786
- // },
787
- // {
788
- // block_type: "paragraph",
789
- // content:
790
- // "During the 2020 [[COVID-19_pandemic|COVID-19 pandemic|19|wiki]], she contributed, together with Lars Engstrand and with the financial support of the [[Knut_and_Alice_Wallenberg_Foundation|Knut and Alice Wallenberg Foundation|20|wiki]], to establish the first large-scale testing facility in Sweden",
791
- // },
792
- // ],
793
- // },
794
- // {
795
- // block_type: "heading",
796
- // content: "Research",
797
- // heading_level: 1,
798
- // children: [
799
- // {
800
- // block_type: "paragraph",
801
- // content:
802
- // "Andersson's research first focused around the role of codon usage in shaping bacterial genomes. After her postdoctoral fellowship, she contributed to sequence one of the first genome of an obligate intracellular parasite, *[[Rickettsia_prowazekii|Rickettsia prowazekii|21|wiki]]*, the causative agent of epidemic typhus.",
803
- // },
804
- // {
805
- // block_type: "paragraph",
806
- // content:
807
- // "In her later career, her research continued to explore bacteria and their relationships with their different hosts. In particular, she is interested in the genomic consequences of long-term associations of intracellular bacteria. She explored the evolution of *[[Bartonella|Bartonella|22|wiki]]*, *[[Wolbachia|Wolbachia|23|wiki]]*, and [[Planctomycetota|Planctomycetota|24|wiki]], among others.",
808
- // },
809
- // {
810
- // block_type: "paragraph",
811
- // content:
812
- // "Andersson has published over 200 peer-reviewed articles, and has an [[H-index|h-index|25|wiki]] of 61, as of 2022.",
813
- // },
814
- // ],
815
- // },
816
- // {
817
- // block_type: "heading",
818
- // content: "Notable awards and honors",
819
- // heading_level: 1,
820
- // children: [
821
- // {
822
- // block_type: "paragraph",
823
- // content: "",
824
- // },
825
- // {
826
- // block_type: "list",
827
- // content: [
828
- // {
829
- // block_type: "list_item",
830
- // list_type: "ordered",
831
- // marker: "1.",
832
- // content:
833
- // "2000 - Member of the [[Royal_Swedish_Academy_of_Engineering_Sciences|Royal Swedish Academy of Engineering Sciences|26|wiki]].",
834
- // },
835
- // {
836
- // block_type: "list_item",
837
- // list_type: "ordered",
838
- // marker: "2.",
839
- // content:
840
- // '2002 - Letterstedtska prize for very significant investigation, among others for "an article in Nature (1998), which reports the whole genome sequence of the intracellular parasite Rickettsia prowazekii".',
841
- // },
842
- // {
843
- // block_type: "list_item",
844
- // list_type: "ordered",
845
- // marker: "3.",
846
- // content:
847
- // "2004 - Member of [[European_Molecular_Biology_Organization|EMBO|27|wiki]].",
848
- // },
849
- // {
850
- // block_type: "list_item",
851
- // list_type: "ordered",
852
- // marker: "4.",
853
- // content:
854
- // "2005 - Member of the [[Royal_Swedish_Academy_of_Sciences|Royal Swedish Academy of Sciences|28|wiki]], number 1514, in the class Biological Sciences.",
855
- // },
856
- // {
857
- // block_type: "list_item",
858
- // list_type: "ordered",
859
- // marker: "5.",
860
- // content:
861
- // "2005 - [[Göran_Gustafsson_Prize|Göran Gustafsson Prize|29|wiki]] in molecular biology.",
862
- // },
863
- // {
864
- // block_type: "list_item",
865
- // list_type: "ordered",
866
- // marker: "6.",
867
- // content:
868
- // '2005 - Grant for "excellent research" from the [[Swedish_Research_Council|Swedish Research Council|30|wiki]] of SEK 44 millions (together with Hans Ellegren).',
869
- // },
870
- // {
871
- // block_type: "list_item",
872
- // list_type: "ordered",
873
- // marker: "7.",
874
- // content:
875
- // "2009 - President of the [[European_Society_for_Evolutionary_Biology|European Society for Evolutionary Biology|31|wiki]] (2009-2011).",
876
- // },
877
- // {
878
- // block_type: "list_item",
879
- // list_type: "ordered",
880
- // marker: "8.",
881
- // content:
882
- // "2011 - [[Knut_and_Alice_Wallenberg_Foundation|Wallenberg Scholar|32|wiki]].",
883
- // },
884
- // {
885
- // block_type: "list_item",
886
- // list_type: "ordered",
887
- // marker: "9.",
888
- // content:
889
- // "2017 - Extension of [[Knut_and_Alice_Wallenberg_Foundation|Knut and Alice Wallenberg Foundation|33|wiki]] of SEK 75 millions (together with [[Gunnar_von_Heijne|Gunnar von Heijne|34|wiki]]).",
890
- // },
891
- // ],
892
- // },
893
- // ],
894
- // },
895
- // {
896
- // block_type: "heading",
897
- // content: "References",
898
- // heading_level: 1,
899
- // children: [],
900
- // },
901
- // ],
902
- // };
903
- // const openAIKey =
904
- // "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";
905
- // const promptForSummary = {
906
- // promptId: "pmpt_687a8872d1c8819088a9cdc97dcb688b0893663621695594",
907
- // version: "13",
908
- // };
909
- // const promptForConceptFacts = {
910
- // promptId: "pmpt_687aa547f99c8193b99467ca53630c2607f5a8caf451e7e8",
911
- // version: "6",
912
- // };
913
- // const generationContent: BaseParamType = {
914
- // prompt: {
915
- // typology: "", // This will be set in the constructor
916
- // card_generation: "", // This will be set in the constructor
917
- // },
918
- // content: {
919
- // source_id: "6753b14f7bb31d8ccf48ba0a",
920
- // title: "Siv G. E. Andersson",
921
- // type: "text",
922
- // headings: [
923
- // "Education and career",
924
- // "Research",
925
- // "Notable awards and honors",
926
- // "References",
927
- // ],
928
- // // taxonomy: {
929
- // // concepts_facts: [
930
- // // {
931
- // // text: "C19orf47 gene encodes Chromosome 19 open reading frame 47 protein",
932
- // // type: "concept",
933
- // // reference: "",
934
- // // },
935
- // // {
936
- // // text: "Gene locus described by cytogenetic band and genomic coordinates",
937
- // // type: "concept",
938
- // // reference: "Gene",
939
- // // },
940
- // // {
941
- // // text: "Alternative splicing generates multiple mRNA isoforms from one gene",
942
- // // type: "concept",
943
- // // reference: "mRNA",
944
- // // },
945
- // // {
946
- // // text: "Protein domains and post-translational modifications regulate function",
947
- // // type: "concept",
948
- // // reference: "Protein",
949
- // // },
950
- // // {
951
- // // text: "Subcellular localization directs protein activity in nucleoplasm and nucleus",
952
- // // type: "concept",
953
- // // reference: "Protein",
954
- // // },
955
- // // {
956
- // // text: "Orthologous genes across diverse taxa indicate evolutionary conservation",
957
- // // type: "concept",
958
- // // reference: "Homology",
959
- // // },
960
- // // {
961
- // // text: "Low tissue-specific expression can influence phenotypic impact of variants",
962
- // // type: "concept",
963
- // // reference: "Clinical Significance",
964
- // // },
965
- // // {
966
- // // text: "Isoform 1 precursor transcript of C19orf47 contains 8 exons",
967
- // // type: "fact",
968
- // // reference: "Gene",
969
- // // },
970
- // // {
971
- // // text: "Orthologs of C19orf47 exist in mammals, reptiles, amphibians, fish, insects, and plants",
972
- // // type: "fact",
973
- // // reference: "Homology",
974
- // // },
975
- // // {
976
- // // text: "A C19orf47 variant was noted in one family with dystonia but TUBB4A mutation was causative",
977
- // // type: "fact",
978
- // // reference: "Clinical Significance",
979
- // // },
980
- // // ],
981
- // // fields: ["Sciences", "Health & Medicine"],
982
- // // generate_cards: {
983
- // // state: true,
984
- // // reason: "",
985
- // // },
986
- // // },
987
- // content: content.content,
988
- // fields: [
989
- // "Sciences",
990
- // "Technology & Engineering",
991
- // "Humanities & Cultural Studies",
992
- // "Social Sciences & Global Studies",
993
- // "Business & Management",
994
- // ],
995
- // },
996
- // };
997
- // // const bloomInstructions = `
998
- // // ## Guidance for creating Bloom Level 1 questions
999
- // // Bloom Level 1 questions focus on recall and recognition of specific facts, terms, definitions, or concepts as they were originally presented. These questions do not ask learners to explain, interpret, or apply ideas—just to retrieve them.
1000
- // // Note that these are **structured test cards**, not open-ended tasks.
1001
- // // ### What to Do
1002
- // // - Write questions that target a single fact or concept (or two closely linked ones).
1003
- // // - Use phrasing that closely mirrors the original presentation.
1004
- // // - Prioritize coverage across the set rather than going deep into any one idea.
1005
- // // - Avoid asking learners to explain, compare, or infer.
1006
- // // ### Common Task Types
1007
- // // - Recall specific terms, dates, names, steps, or definitions
1008
- // // - Match terms to their descriptions
1009
- // // - Identify correct options in multiple-choice format
1010
- // // - Recognize correct labels or locations in a list or image
1011
- // // ## Success Criteria
1012
- // // Create cards **until you have referenced ALL distinct concepts and facts** provided to you.
1013
- // // `;
1014
- // // const cardInstructions = `
1015
- // // # Multiple Choice Questions (MCQ) Cards
1016
- // // Provide multiple choices to pick from. One or more should be correct.
1017
- // // ## Content Guidelines For mcq cards**
1018
- // // **Only plain text is allowed** for mcq cards.
1019
- // // ## Schema
1020
- // // Use the schema below to create new MCQ cards.
1021
- // // json
1022
- // // {
1023
- // // "type": "mcq",
1024
- // // "card_content": {
1025
- // // "prompt": "<question text>",
1026
- // // "choices": [
1027
- // // {"choice": "choice content", "is_correct": true or false},
1028
- // // {"choice": "choice content", "is_correct": true or false},
1029
- // // "... up to 8 choices"
1030
- // // ],
1031
- // // "explanation": "Clarify the concepts and facts in this card to the help the user understand the answer(s). Avoid meta-comments (e.g., “this card checks recall”). Keep it conversational, clear and concise. Don't repeat the answers verbatim. Stay within 320 characters. Include only if it adds real value or context."
1032
- // // },
1033
- // // "concepts": ["concept1", "concept2", "..."],
1034
- // // "facts": ["fact1", "fact2", "..."],
1035
- // // "bloom_alignment": "Explain why this card fits the bloom level you were asked to create (max. 240 chars)"
1036
- // // }
1037
- // // ## Requirements
1038
- // // - When appropriate, include a brief explanation (320 characters max). An explanation is optional and should only be included if it can help the learner understand the concept(s) or fact(s) being tested. It SHOULD NOT be used to explain anything other than the concepts and facts being tested. Feel free to use your personal knowledge where appropriate when crafting it.
1039
- // // - Minimum choices required: 2
1040
- // // - Maximum choices allowed (correct + incorrect): 8
1041
- // // - Minimum correct choices required: 1
1042
- // // - Maximum correct choices: 4
1043
- // // - Maximum character length for the prompt: 320
1044
- // // - Maximum character length for each choice: 42
1045
- // // - DO NOT add numbering to the choice content since these will be randomly sorted when displaying to the user
1046
- // // `;
1047
- // // const cardExamples = `
1048
- // // ## Examples of Level 1 MCQ cards
1049
- // // json
1050
- // // [
1051
- // // {
1052
- // // "type": "mcq",
1053
- // // "card_content": {
1054
- // // "prompt": "Which Paleo-Indian culture succeeded the Clovis culture?",
1055
- // // "choices": [
1056
- // // { "choice": "Folsom", "is_correct": true },
1057
- // // { "choice": "Clovis", "is_correct": false },
1058
- // // { "choice": "Dalton", "is_correct": false },
1059
- // // { "choice": "Plano", "is_correct": false }
1060
- // // ],
1061
- // // "explanation": "Folsom culture comes after Clovis and is identified by refined fluted points distinct from earlier Clovis tools."
1062
- // // },
1063
- // // "concepts": [
1064
- // // "Folsom culture succeeded Clovis and is distinguished by its fluted projectile points"
1065
- // // ],
1066
- // // "facts": [
1067
- // // "Folsom points are smaller and more refined than Clovis points"
1068
- // // ],
1069
- // // "bloom_alignment": "Level 1—learners merely recall the name of the culture; no higher-order thinking is required."
1070
- // // },
1071
- // // {
1072
- // // "type": "mcq",
1073
- // // "card_content": {
1074
- // // "prompt": "Who published an 1831 critique describing the Book of Mormon as an attempt to resolve Protestant debates?",
1075
- // // "choices": [
1076
- // // { "choice": "Alexander Campbell", "is_correct": true },
1077
- // // { "choice": "Joseph Smith", "is_correct": false },
1078
- // // { "choice": "E. D. Howe", "is_correct": false },
1079
- // // { "choice": "Charles Finney", "is_correct": false }
1080
- // // ],
1081
- // // "explanation": "Alexander Campbell’s 1831 pamphlet was one of the earliest printed critiques of the Book of Mormon."
1082
- // // },
1083
- // // "concepts": [
1084
- // // "Alexander Campbell criticized the Book of Mormon as an attempt to resolve Protestant debates"
1085
- // // ],
1086
- // // "facts": [
1087
- // // "Alexander Campbell published his critique of the Book of Mormon in 1831"
1088
- // // ],
1089
- // // "bloom_alignment": "Level 1—asks for straightforward recall of who authored the 1831 critique."
1090
- // // },
1091
- // // {
1092
- // // "type": "mcq",
1093
- // // "card_content": {
1094
- // // "prompt": "Which keyword is required inside a Python generator function to produce values lazily?",
1095
- // // "choices": [
1096
- // // { "choice": "yield", "is_correct": true },
1097
- // // { "choice": "return", "is_correct": false },
1098
- // // { "choice": "await", "is_correct": false },
1099
- // // { "choice": "pass", "is_correct": false }
1100
- // // ],
1101
- // // "explanation": "The yield keyword turns a regular function into a generator, pausing and resuming execution between values."
1102
- // // },
1103
- // // "concepts": [
1104
- // // "In Python, generator functions use the yield keyword to produce sequences lazily"
1105
- // // ],
1106
- // // "facts": [
1107
- // // "Generators in Python are defined using the def keyword and yield statements"
1108
- // // ],
1109
- // // "bloom_alignment": "Level 1—learners only need to recognize the specific keyword, a pure recall task."
1110
- // // },
1111
- // // {
1112
- // // "type": "mcq",
1113
- // // "card_content": {
1114
- // // "prompt": "Adopting what pelvis posture helps prevent spinal curvature imbalances?",
1115
- // // "choices": [
1116
- // // { "choice": "Neutral pelvis posture", "is_correct": true },
1117
- // // { "choice": "Anterior pelvic tilt", "is_correct": false },
1118
- // // { "choice": "Posterior pelvic tilt", "is_correct": false },
1119
- // // { "choice": "Kyphotic posture", "is_correct": false }
1120
- // // ],
1121
- // // "explanation": "Keeping the pelvis neutral supports the spine’s natural S-curve, reducing undue strain."
1122
- // // },
1123
- // // "concepts": [
1124
- // // "Adopting a neutral pelvis posture helps prevent spinal curvature imbalances"
1125
- // // ],
1126
- // // "facts": [
1127
- // // "A neutral pelvis posture can be achieved by aligning the ASIS and PSIS bones"
1128
- // // ],
1129
- // // "bloom_alignment": "Level 1—requires simple recall of the posture term without analysis."
1130
- // // },
1131
- // // {
1132
- // // "type": "mcq",
1133
- // // "card_content": {
1134
- // // "prompt": "Which law of thermodynamics states that if two systems are each in thermal equilibrium with a third, they are in equilibrium with each other?",
1135
- // // "choices": [
1136
- // // { "choice": "Zeroth Law of Thermodynamics", "is_correct": true },
1137
- // // { "choice": "First Law of Thermodynamics", "is_correct": false },
1138
- // // { "choice": "Second Law of Thermodynamics", "is_correct": false },
1139
- // // { "choice": "Third Law of Thermodynamics", "is_correct": false }
1140
- // // ],
1141
- // // "explanation": "This statement defines the Zeroth Law, forming the basis for the temperature concept used by thermometers."
1142
- // // },
1143
- // // "concepts": [
1144
- // // "The Zeroth Law of Thermodynamics defines the concept of thermal equilibrium"
1145
- // // ],
1146
- // // "facts": [
1147
- // // "The Zeroth Law states that if two systems are in thermal equilibrium with a third, they are in equilibrium with each other"
1148
- // // ],
1149
- // // "bloom_alignment": "Level 1—asks learners to recall which law matches a given statement."
1150
- // // }
1151
- // // ]
1152
- // // `;
1153
- // // console.log("Initializing OnlyEverGenerator");
1154
- // // const onlyEverGenerator = new OnlyEverGenerator(
1155
- // // process.env.OPEN_AI_KEY as string,
1156
- // // "o4-mini",
1157
- // // generationContent,
1158
- // // "pmpt_687a8872d1c8819088a9cdc97dcb688b0893663621695594",
1159
- // // "pmpt_687aa547f99c8193b99467ca53630c2607f5a8caf451e7e8",
1160
- // // "pmpt_687aa547f99c8193b99467ca53630c2607f5a8caf451e7e8",
1161
- // // {
1162
- // // bloom_instructions: "",
1163
- // // card_instructions: "",
1164
- // // card_examples: "",
1165
- // // }
1166
- // // );
1167
- // // const response = await onlyEverGenerator.generate(true, false);
1168
- // // console.log(response);
1169
- // // })();
771
+ (() => __awaiter(void 0, void 0, void 0, function* () {
772
+ const content = {
773
+ source_id: "123",
774
+ title: "C19orf47",
775
+ type: "wiki",
776
+ headings: [
777
+ "Gene",
778
+ "mRNA",
779
+ "Protein",
780
+ "Homology",
781
+ "Clinical Significance",
782
+ "References",
783
+ ],
784
+ content: [
785
+ {
786
+ block_type: "paragraph",
787
+ content: "**Siv Gun Elisabeth Andersson** (born 1959) is a Swedish [[Evolutionary_biologist|evolutionary biologist|0|wiki]], professor of [[Molecular_evolution|molecular evolution|1|wiki]] at [[Uppsala_University|Uppsala University|2|wiki]]. She is member of both the [[Royal_Swedish_Academy_of_Sciences|Royal Swedish Academy of Sciences|3|wiki]] and of [[Royal_Swedish_Academy_of_Engineering_Sciences|Engineering|4|wiki]]. She is also Head of basic research at the [[Knut_and_Alice_Wallenberg_Foundation|Knut and Alice Wallenberg Foundation|5|wiki]] and has been co-director of the Swedish national center for large-scale research [[Science_for_Life_Laboratory|Science for Life Laboratory|6|wiki]] between 2017 and 2021. Her research focuses on the evolution of [[Bacteria|bacteria|7|wiki]], mainly on intracellular parasites.",
788
+ },
789
+ {
790
+ block_type: "heading",
791
+ content: "Education and career",
792
+ heading_level: 1,
793
+ children: [
794
+ {
795
+ block_type: "paragraph",
796
+ content: "Andersson grew up in [[Horndal|Horndal|8|wiki]], [[Dalarna|Dalarna|9|wiki]]. Her mother was home care assistant and her father was employed in the wood industry. She studied Biology at [[Uppsala_University|Uppsala University|10|wiki]], since the programme was the only one that had a course about [[DNA|DNA|11|wiki]]. She defended her PhD in molecular biology in 1990, under the supervision of [[Charles_Kurland|Charles Kurland|12|wiki]]. She applied for a postdoctoral stipend from [[European_Molecular_Biology_Organization|EMBO|13|wiki]] to continue her research in the United States, but ended up obtaining a research position at the MRC Laboratory of Molecular Biology in [[Cambridge|Cambridge|14|wiki]]. She became professor of molecular evolution in 2000, at the Uppsala University's Evolutionary Biology Center. She was elected at the [[Royal_Swedish_Academy_of_Sciences|Royal Swedish Academy of Sciences|15|wiki]] in 2005.",
797
+ },
798
+ {
799
+ block_type: "paragraph",
800
+ content: "Andersson has been very active in developing the Swedish national center for large-scale research [[Science_for_Life_Laboratory|Science for Life Laboratory|16|wiki]], especially its [[DNA_sequencing|DNA sequencing|17|wiki]] and [[Bioinformatics|bioinformatics|18|wiki]] platforms. She served as Co-director for the center between 2017 and 2021.",
801
+ },
802
+ {
803
+ block_type: "paragraph",
804
+ content: "During the 2020 [[COVID-19_pandemic|COVID-19 pandemic|19|wiki]], she contributed, together with Lars Engstrand and with the financial support of the [[Knut_and_Alice_Wallenberg_Foundation|Knut and Alice Wallenberg Foundation|20|wiki]], to establish the first large-scale testing facility in Sweden",
805
+ },
806
+ ],
807
+ },
808
+ {
809
+ block_type: "heading",
810
+ content: "Research",
811
+ heading_level: 1,
812
+ children: [
813
+ {
814
+ block_type: "paragraph",
815
+ content: "Andersson's research first focused around the role of codon usage in shaping bacterial genomes. After her postdoctoral fellowship, she contributed to sequence one of the first genome of an obligate intracellular parasite, *[[Rickettsia_prowazekii|Rickettsia prowazekii|21|wiki]]*, the causative agent of epidemic typhus.",
816
+ },
817
+ {
818
+ block_type: "paragraph",
819
+ content: "In her later career, her research continued to explore bacteria and their relationships with their different hosts. In particular, she is interested in the genomic consequences of long-term associations of intracellular bacteria. She explored the evolution of *[[Bartonella|Bartonella|22|wiki]]*, *[[Wolbachia|Wolbachia|23|wiki]]*, and [[Planctomycetota|Planctomycetota|24|wiki]], among others.",
820
+ },
821
+ {
822
+ block_type: "paragraph",
823
+ content: "Andersson has published over 200 peer-reviewed articles, and has an [[H-index|h-index|25|wiki]] of 61, as of 2022.",
824
+ },
825
+ ],
826
+ },
827
+ {
828
+ block_type: "heading",
829
+ content: "Notable awards and honors",
830
+ heading_level: 1,
831
+ children: [
832
+ {
833
+ block_type: "paragraph",
834
+ content: "",
835
+ },
836
+ {
837
+ block_type: "list",
838
+ content: [
839
+ {
840
+ block_type: "list_item",
841
+ list_type: "ordered",
842
+ marker: "1.",
843
+ content: "2000 - Member of the [[Royal_Swedish_Academy_of_Engineering_Sciences|Royal Swedish Academy of Engineering Sciences|26|wiki]].",
844
+ },
845
+ {
846
+ block_type: "list_item",
847
+ list_type: "ordered",
848
+ marker: "2.",
849
+ content: '2002 - Letterstedtska prize for very significant investigation, among others for "an article in Nature (1998), which reports the whole genome sequence of the intracellular parasite Rickettsia prowazekii".',
850
+ },
851
+ {
852
+ block_type: "list_item",
853
+ list_type: "ordered",
854
+ marker: "3.",
855
+ content: "2004 - Member of [[European_Molecular_Biology_Organization|EMBO|27|wiki]].",
856
+ },
857
+ {
858
+ block_type: "list_item",
859
+ list_type: "ordered",
860
+ marker: "4.",
861
+ content: "2005 - Member of the [[Royal_Swedish_Academy_of_Sciences|Royal Swedish Academy of Sciences|28|wiki]], number 1514, in the class Biological Sciences.",
862
+ },
863
+ {
864
+ block_type: "list_item",
865
+ list_type: "ordered",
866
+ marker: "5.",
867
+ content: "2005 - [[Göran_Gustafsson_Prize|Göran Gustafsson Prize|29|wiki]] in molecular biology.",
868
+ },
869
+ {
870
+ block_type: "list_item",
871
+ list_type: "ordered",
872
+ marker: "6.",
873
+ content: '2005 - Grant for "excellent research" from the [[Swedish_Research_Council|Swedish Research Council|30|wiki]] of SEK 44 millions (together with Hans Ellegren).',
874
+ },
875
+ {
876
+ block_type: "list_item",
877
+ list_type: "ordered",
878
+ marker: "7.",
879
+ content: "2009 - President of the [[European_Society_for_Evolutionary_Biology|European Society for Evolutionary Biology|31|wiki]] (2009-2011).",
880
+ },
881
+ {
882
+ block_type: "list_item",
883
+ list_type: "ordered",
884
+ marker: "8.",
885
+ content: "2011 - [[Knut_and_Alice_Wallenberg_Foundation|Wallenberg Scholar|32|wiki]].",
886
+ },
887
+ {
888
+ block_type: "list_item",
889
+ list_type: "ordered",
890
+ marker: "9.",
891
+ content: "2017 - Extension of [[Knut_and_Alice_Wallenberg_Foundation|Knut and Alice Wallenberg Foundation|33|wiki]] of SEK 75 millions (together with [[Gunnar_von_Heijne|Gunnar von Heijne|34|wiki]]).",
892
+ },
893
+ ],
894
+ },
895
+ ],
896
+ },
897
+ {
898
+ block_type: "heading",
899
+ content: "References",
900
+ heading_level: 1,
901
+ children: [],
902
+ },
903
+ ],
904
+ };
905
+ const openAIKey = "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";
906
+ const promptForSummary = {
907
+ promptId: "pmpt_687a8872d1c8819088a9cdc97dcb688b0893663621695594",
908
+ version: "13",
909
+ };
910
+ const promptForConceptFacts = {
911
+ promptId: "pmpt_687aa547f99c8193b99467ca53630c2607f5a8caf451e7e8",
912
+ version: "6",
913
+ };
914
+ const generationContent = {
915
+ prompt: {
916
+ typology: "", // This will be set in the constructor
917
+ card_generation: "", // This will be set in the constructor
918
+ },
919
+ content: {
920
+ source_id: "6753b14f7bb31d8ccf48ba0a",
921
+ title: "Siv G. E. Andersson",
922
+ type: "text",
923
+ headings: [
924
+ "Education and career",
925
+ "Research",
926
+ "Notable awards and honors",
927
+ "References",
928
+ ],
929
+ // taxonomy: {
930
+ // concepts_facts: [
931
+ // {
932
+ // text: "C19orf47 gene encodes Chromosome 19 open reading frame 47 protein",
933
+ // type: "concept",
934
+ // reference: "",
935
+ // },
936
+ // {
937
+ // text: "Gene locus described by cytogenetic band and genomic coordinates",
938
+ // type: "concept",
939
+ // reference: "Gene",
940
+ // },
941
+ // {
942
+ // text: "Alternative splicing generates multiple mRNA isoforms from one gene",
943
+ // type: "concept",
944
+ // reference: "mRNA",
945
+ // },
946
+ // {
947
+ // text: "Protein domains and post-translational modifications regulate function",
948
+ // type: "concept",
949
+ // reference: "Protein",
950
+ // },
951
+ // {
952
+ // text: "Subcellular localization directs protein activity in nucleoplasm and nucleus",
953
+ // type: "concept",
954
+ // reference: "Protein",
955
+ // },
956
+ // {
957
+ // text: "Orthologous genes across diverse taxa indicate evolutionary conservation",
958
+ // type: "concept",
959
+ // reference: "Homology",
960
+ // },
961
+ // {
962
+ // text: "Low tissue-specific expression can influence phenotypic impact of variants",
963
+ // type: "concept",
964
+ // reference: "Clinical Significance",
965
+ // },
966
+ // {
967
+ // text: "Isoform 1 precursor transcript of C19orf47 contains 8 exons",
968
+ // type: "fact",
969
+ // reference: "Gene",
970
+ // },
971
+ // {
972
+ // text: "Orthologs of C19orf47 exist in mammals, reptiles, amphibians, fish, insects, and plants",
973
+ // type: "fact",
974
+ // reference: "Homology",
975
+ // },
976
+ // {
977
+ // text: "A C19orf47 variant was noted in one family with dystonia but TUBB4A mutation was causative",
978
+ // type: "fact",
979
+ // reference: "Clinical Significance",
980
+ // },
981
+ // ],
982
+ // fields: ["Sciences", "Health & Medicine"],
983
+ // generate_cards: {
984
+ // state: true,
985
+ // reason: "",
986
+ // },
987
+ // },
988
+ content: content.content,
989
+ fields: [
990
+ "Sciences",
991
+ "Technology & Engineering",
992
+ "Humanities & Cultural Studies",
993
+ "Social Sciences & Global Studies",
994
+ "Business & Management",
995
+ ],
996
+ },
997
+ };
998
+ // const bloomInstructions = `
999
+ // ## Guidance for creating Bloom Level 1 questions
1000
+ // Bloom Level 1 questions focus on recall and recognition of specific facts, terms, definitions, or concepts as they were originally presented. These questions do not ask learners to explain, interpret, or apply ideas—just to retrieve them.
1001
+ // Note that these are **structured test cards**, not open-ended tasks.
1002
+ // ### What to Do
1003
+ // - Write questions that target a single fact or concept (or two closely linked ones).
1004
+ // - Use phrasing that closely mirrors the original presentation.
1005
+ // - Prioritize coverage across the set rather than going deep into any one idea.
1006
+ // - Avoid asking learners to explain, compare, or infer.
1007
+ // ### Common Task Types
1008
+ // - Recall specific terms, dates, names, steps, or definitions
1009
+ // - Match terms to their descriptions
1010
+ // - Identify correct options in multiple-choice format
1011
+ // - Recognize correct labels or locations in a list or image
1012
+ // ## Success Criteria
1013
+ // Create cards **until you have referenced ALL distinct concepts and facts** provided to you.
1014
+ // `;
1015
+ // const cardInstructions = `
1016
+ // # Multiple Choice Questions (MCQ) Cards
1017
+ // Provide multiple choices to pick from. One or more should be correct.
1018
+ // ## Content Guidelines For mcq cards**
1019
+ // **Only plain text is allowed** for mcq cards.
1020
+ // // ## Schema
1021
+ // Use the schema below to create new MCQ cards.
1022
+ // json
1023
+ // {
1024
+ // "type": "mcq",
1025
+ // "card_content": {
1026
+ // "prompt": "<question text>",
1027
+ // "choices": [
1028
+ // {"choice": "choice content", "is_correct": true or false},
1029
+ // {"choice": "choice content", "is_correct": true or false},
1030
+ // "... up to 8 choices"
1031
+ // ],
1032
+ // "explanation": "Clarify the concepts and facts in this card to the help the user understand the answer(s). Avoid meta-comments (e.g., “this card checks recall”). Keep it conversational, clear and concise. Don't repeat the answers verbatim. Stay within 320 characters. Include only if it adds real value or context."
1033
+ // },
1034
+ // "concepts": ["concept1", "concept2", "..."],
1035
+ // "facts": ["fact1", "fact2", "..."],
1036
+ // "bloom_alignment": "Explain why this card fits the bloom level you were asked to create (max. 240 chars)"
1037
+ // }
1038
+ // ## Requirements
1039
+ // - When appropriate, include a brief explanation (320 characters max). An explanation is optional and should only be included if it can help the learner understand the concept(s) or fact(s) being tested. It SHOULD NOT be used to explain anything other than the concepts and facts being tested. Feel free to use your personal knowledge where appropriate when crafting it.
1040
+ // - Minimum choices required: 2
1041
+ // - Maximum choices allowed (correct + incorrect): 8
1042
+ // - Minimum correct choices required: 1
1043
+ // - Maximum correct choices: 4
1044
+ // - Maximum character length for the prompt: 320
1045
+ // - Maximum character length for each choice: 42
1046
+ // - DO NOT add numbering to the choice content since these will be randomly sorted when displaying to the user
1047
+ // `;
1048
+ // const cardExamples = `
1049
+ // ## Examples of Level 1 MCQ cards
1050
+ // json
1051
+ // [
1052
+ // {
1053
+ // "type": "mcq",
1054
+ // "card_content": {
1055
+ // "prompt": "Which Paleo-Indian culture succeeded the Clovis culture?",
1056
+ // "choices": [
1057
+ // { "choice": "Folsom", "is_correct": true },
1058
+ // { "choice": "Clovis", "is_correct": false },
1059
+ // { "choice": "Dalton", "is_correct": false },
1060
+ // { "choice": "Plano", "is_correct": false }
1061
+ // ],
1062
+ // "explanation": "Folsom culture comes after Clovis and is identified by refined fluted points distinct from earlier Clovis tools."
1063
+ // },
1064
+ // "concepts": [
1065
+ // "Folsom culture succeeded Clovis and is distinguished by its fluted projectile points"
1066
+ // ],
1067
+ // "facts": [
1068
+ // "Folsom points are smaller and more refined than Clovis points"
1069
+ // ],
1070
+ // "bloom_alignment": "Level 1—learners merely recall the name of the culture; no higher-order thinking is required."
1071
+ // },
1072
+ // {
1073
+ // "type": "mcq",
1074
+ // "card_content": {
1075
+ // "prompt": "Who published an 1831 critique describing the Book of Mormon as an attempt to resolve Protestant debates?",
1076
+ // "choices": [
1077
+ // { "choice": "Alexander Campbell", "is_correct": true },
1078
+ // { "choice": "Joseph Smith", "is_correct": false },
1079
+ // { "choice": "E. D. Howe", "is_correct": false },
1080
+ // { "choice": "Charles Finney", "is_correct": false }
1081
+ // ],
1082
+ // "explanation": "Alexander Campbell’s 1831 pamphlet was one of the earliest printed critiques of the Book of Mormon."
1083
+ // },
1084
+ // "concepts": [
1085
+ // "Alexander Campbell criticized the Book of Mormon as an attempt to resolve Protestant debates"
1086
+ // ],
1087
+ // "facts": [
1088
+ // "Alexander Campbell published his critique of the Book of Mormon in 1831"
1089
+ // ],
1090
+ // "bloom_alignment": "Level 1—asks for straightforward recall of who authored the 1831 critique."
1091
+ // },
1092
+ // {
1093
+ // "type": "mcq",
1094
+ // "card_content": {
1095
+ // "prompt": "Which keyword is required inside a Python generator function to produce values lazily?",
1096
+ // "choices": [
1097
+ // { "choice": "yield", "is_correct": true },
1098
+ // { "choice": "return", "is_correct": false },
1099
+ // { "choice": "await", "is_correct": false },
1100
+ // { "choice": "pass", "is_correct": false }
1101
+ // ],
1102
+ // "explanation": "The yield keyword turns a regular function into a generator, pausing and resuming execution between values."
1103
+ // },
1104
+ // "concepts": [
1105
+ // "In Python, generator functions use the yield keyword to produce sequences lazily"
1106
+ // ],
1107
+ // "facts": [
1108
+ // "Generators in Python are defined using the def keyword and yield statements"
1109
+ // ],
1110
+ // "bloom_alignment": "Level 1—learners only need to recognize the specific keyword, a pure recall task."
1111
+ // },
1112
+ // {
1113
+ // "type": "mcq",
1114
+ // "card_content": {
1115
+ // "prompt": "Adopting what pelvis posture helps prevent spinal curvature imbalances?",
1116
+ // "choices": [
1117
+ // { "choice": "Neutral pelvis posture", "is_correct": true },
1118
+ // { "choice": "Anterior pelvic tilt", "is_correct": false },
1119
+ // { "choice": "Posterior pelvic tilt", "is_correct": false },
1120
+ // { "choice": "Kyphotic posture", "is_correct": false }
1121
+ // ],
1122
+ // "explanation": "Keeping the pelvis neutral supports the spine’s natural S-curve, reducing undue strain."
1123
+ // },
1124
+ // "concepts": [
1125
+ // "Adopting a neutral pelvis posture helps prevent spinal curvature imbalances"
1126
+ // ],
1127
+ // "facts": [
1128
+ // "A neutral pelvis posture can be achieved by aligning the ASIS and PSIS bones"
1129
+ // ],
1130
+ // "bloom_alignment": "Level 1—requires simple recall of the posture term without analysis."
1131
+ // },
1132
+ // {
1133
+ // "type": "mcq",
1134
+ // "card_content": {
1135
+ // "prompt": "Which law of thermodynamics states that if two systems are each in thermal equilibrium with a third, they are in equilibrium with each other?",
1136
+ // "choices": [
1137
+ // { "choice": "Zeroth Law of Thermodynamics", "is_correct": true },
1138
+ // { "choice": "First Law of Thermodynamics", "is_correct": false },
1139
+ // { "choice": "Second Law of Thermodynamics", "is_correct": false },
1140
+ // { "choice": "Third Law of Thermodynamics", "is_correct": false }
1141
+ // ],
1142
+ // "explanation": "This statement defines the Zeroth Law, forming the basis for the temperature concept used by thermometers."
1143
+ // },
1144
+ // "concepts": [
1145
+ // "The Zeroth Law of Thermodynamics defines the concept of thermal equilibrium"
1146
+ // ],
1147
+ // "facts": [
1148
+ // "The Zeroth Law states that if two systems are in thermal equilibrium with a third, they are in equilibrium with each other"
1149
+ // ],
1150
+ // "bloom_alignment": "Level 1—asks learners to recall which law matches a given statement."
1151
+ // }
1152
+ // ]
1153
+ // `;
1154
+ console.log("Initializing OnlyEverGenerator");
1155
+ const onlyEverGenerator = new app_1.OnlyEverGenerator(process.env.OPEN_AI_KEY, "o4-mini", generationContent, "pmpt_687a8872d1c8819088a9cdc97dcb688b0893663621695594", "pmpt_687aa547f99c8193b99467ca53630c2607f5a8caf451e7e8", "pmpt_687aa547f99c8193b99467ca53630c2607f5a8caf451e7e8", {
1156
+ bloom_instructions: "",
1157
+ card_instructions: "",
1158
+ card_examples: "",
1159
+ });
1160
+ const response = yield onlyEverGenerator.generate(true, false);
1161
+ console.log(response);
1162
+ }))();
1170
1163
  //# sourceMappingURL=index.js.map