@molgenis/vip-report-template 8.2.2 → 8.3.1
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.
- package/package.json +1 -1
- package/scripts/validateConfig/schema.ts +2 -0
- package/src/components/field/composed/FieldComposed.tsx +10 -0
- package/src/components/field/composed/FieldConfidenceInterval.tsx +14 -0
- package/src/components/field/composed/FieldGenotypeStr.tsx +4 -2
- package/src/components/field/composed/FieldSpanningReads.tsx +18 -0
- package/src/mocks/GRCh38/field_metadata.json +11 -13
- package/src/mocks/GRCh38/vcf/str.db.blob +0 -0
- package/src/mocks/GRCh38/vcf/str.vcf +71 -238
- package/src/mocks/config_cram.json +9 -4
- package/src/mocks/config_default_values.json +6 -2
- package/src/mocks/config_vcf.json +4 -4
- package/src/types/config.d.ts +2 -0
- package/src/types/configCellComposed.d.ts +15 -3
- package/src/utils/config/configCellsComposed.ts +94 -19
- package/src/utils/config/configValidator.precompiled.ts +80 -0
- package/tests/utils/config/configCellsComposed.test.ts +70 -35
|
@@ -242,22 +242,20 @@ describe("config cells composed", () => {
|
|
|
242
242
|
};
|
|
243
243
|
|
|
244
244
|
const fieldGt = { id: "FORMAT/GT" };
|
|
245
|
-
const fieldRepCn = { id: "FORMAT/REPCN" };
|
|
246
245
|
const fieldViab = { id: "FORMAT/VIAB" };
|
|
246
|
+
const fieldRuCall = { id: "FORMAT/RU_CALL" };
|
|
247
|
+
const fieldRu = { id: "FORMAT/RU_NR" };
|
|
248
|
+
const fieldRuMatch = { id: "FORMAT/RUMATCH" };
|
|
247
249
|
const fieldSvType = { id: "INFO/SVTYPE" };
|
|
248
|
-
const fieldRu = { id: "INFO/RU" };
|
|
249
|
-
const fieldRuMatch = { id: "INFO/RUMATCH" };
|
|
250
250
|
const fieldDisplayRu = { id: "INFO/DisplayRU" };
|
|
251
|
-
vi.mocked(getSampleFields).mockReturnValue([fieldGt,
|
|
251
|
+
vi.mocked(getSampleFields).mockReturnValue([fieldGt, fieldViab, fieldRu, fieldRuMatch, fieldRuCall] as FieldMetadataWrapper[]);
|
|
252
252
|
vi.mocked(getInfoFields).mockReturnValue([
|
|
253
253
|
fieldSvType,
|
|
254
|
-
fieldRu,
|
|
255
|
-
fieldRuMatch,
|
|
256
254
|
fieldDisplayRu,
|
|
257
255
|
] as FieldMetadataWrapper[]);
|
|
258
256
|
vi.mocked(getInfoValueCount).mockReturnValue(1);
|
|
259
|
-
vi.mocked(getSampleValues).mockReturnValue([0, 1,
|
|
260
|
-
vi.mocked(getInfoValues).mockReturnValue([
|
|
257
|
+
vi.mocked(getSampleValues).mockReturnValue([0, 1, 3, 4, "6"]);
|
|
258
|
+
vi.mocked(getInfoValues).mockReturnValue([2, 5]);
|
|
261
259
|
|
|
262
260
|
const cell = initConfigCellComposed(config, variantType, metadata, sample) as ConfigCellCustom<CellValueCustom>;
|
|
263
261
|
expect(cell.type).toStrictEqual("composed");
|
|
@@ -267,20 +265,29 @@ describe("config cells composed", () => {
|
|
|
267
265
|
expect(cell.valueCount(record)).toStrictEqual(1);
|
|
268
266
|
expect(cell.value(record, 1)).toStrictEqual({
|
|
269
267
|
altAlleles: ["C", "T"],
|
|
270
|
-
displayRepeatUnit:
|
|
268
|
+
displayRepeatUnit: 5,
|
|
271
269
|
genotype: 0,
|
|
272
270
|
refAllele: "A",
|
|
273
|
-
repeatCount:
|
|
274
|
-
repeatUnitMatch:
|
|
275
|
-
repeatUnitValue:
|
|
276
|
-
svType:
|
|
277
|
-
viab:
|
|
271
|
+
repeatCount: "6",
|
|
272
|
+
repeatUnitMatch: 4,
|
|
273
|
+
repeatUnitValue: 3,
|
|
274
|
+
svType: 2,
|
|
275
|
+
viab: 1,
|
|
278
276
|
});
|
|
279
277
|
|
|
280
|
-
expect(getSampleFields).toHaveBeenCalledWith(vcfMetadata, "GT", "
|
|
281
|
-
expect(getInfoFields).toHaveBeenCalledWith(vcfMetadata, "SVTYPE", "
|
|
282
|
-
expect(getSampleValues).toHaveBeenCalledWith(
|
|
283
|
-
|
|
278
|
+
expect(getSampleFields).toHaveBeenCalledWith(vcfMetadata, "GT", "VIAB","RU_CALL", "RU_MATCH", "RU_NR");
|
|
279
|
+
expect(getInfoFields).toHaveBeenCalledWith(vcfMetadata, "SVTYPE", "DisplayRU");
|
|
280
|
+
expect(getSampleValues).toHaveBeenCalledWith(
|
|
281
|
+
sample,
|
|
282
|
+
record,
|
|
283
|
+
1,
|
|
284
|
+
fieldGt,
|
|
285
|
+
fieldViab,
|
|
286
|
+
fieldRu,
|
|
287
|
+
fieldRuMatch,
|
|
288
|
+
fieldRuCall,
|
|
289
|
+
);
|
|
290
|
+
expect(getInfoValues).toHaveBeenCalledWith(record, 1, fieldSvType, fieldDisplayRu);
|
|
284
291
|
});
|
|
285
292
|
|
|
286
293
|
test("genotype with required fields", () => {
|
|
@@ -314,16 +321,27 @@ describe("config cells composed", () => {
|
|
|
314
321
|
viab: undefined,
|
|
315
322
|
});
|
|
316
323
|
|
|
317
|
-
expect(getSampleFields).toHaveBeenCalledWith(vcfMetadata, "GT", "
|
|
318
|
-
expect(getInfoFields).toHaveBeenCalledWith(
|
|
319
|
-
|
|
320
|
-
|
|
324
|
+
expect(getSampleFields).toHaveBeenCalledWith(vcfMetadata, "GT", "VIAB", "RU_CALL", "RU_MATCH", "RU_NR");
|
|
325
|
+
expect(getInfoFields).toHaveBeenCalledWith(
|
|
326
|
+
vcfMetadata, "SVTYPE", "DisplayRU"
|
|
327
|
+
);
|
|
328
|
+
expect(getSampleValues).toHaveBeenCalledWith(
|
|
329
|
+
sample,
|
|
330
|
+
record,
|
|
331
|
+
1,
|
|
332
|
+
fieldGt,
|
|
333
|
+
undefined,
|
|
334
|
+
undefined,
|
|
335
|
+
undefined,
|
|
336
|
+
undefined,
|
|
337
|
+
);
|
|
338
|
+
expect(getInfoValues).toHaveBeenCalledWith(record, 1, undefined, undefined);
|
|
321
339
|
});
|
|
322
340
|
|
|
323
341
|
test("genotype without required fields", () => {
|
|
324
342
|
vi.mocked(getSampleFields).mockReturnValue([undefined, undefined, undefined, undefined]);
|
|
325
343
|
expect(initConfigCellComposed(configBase, variantType, metadata, sample)).toStrictEqual(null);
|
|
326
|
-
expect(getSampleFields).toHaveBeenCalledWith(vcfMetadata, "GT", "
|
|
344
|
+
expect(getSampleFields).toHaveBeenCalledWith(vcfMetadata, "GT", "VIAB", "RU_CALL", "RU_MATCH", "RU_NR");
|
|
327
345
|
});
|
|
328
346
|
|
|
329
347
|
test("genotype without sample", () => {
|
|
@@ -345,11 +363,18 @@ describe("config cells composed", () => {
|
|
|
345
363
|
} as SampleContainer;
|
|
346
364
|
|
|
347
365
|
const fieldGt = { id: "FORMAT/GT" };
|
|
348
|
-
vi.mocked(getSampleFields).mockReturnValue([
|
|
349
|
-
|
|
366
|
+
vi.mocked(getSampleFields).mockReturnValue([
|
|
367
|
+
fieldGt,
|
|
368
|
+
undefined,
|
|
369
|
+
undefined,
|
|
370
|
+
undefined,
|
|
371
|
+
undefined,
|
|
372
|
+
undefined,
|
|
373
|
+
] as FieldMetadataWrapper[]);
|
|
374
|
+
vi.mocked(getInfoFields).mockReturnValue([undefined, undefined]);
|
|
350
375
|
vi.mocked(getInfoValueCount).mockReturnValue(1);
|
|
351
|
-
vi.mocked(getSampleValues).mockReturnValue([0, undefined, undefined]);
|
|
352
|
-
vi.mocked(getInfoValues).mockReturnValue([undefined, undefined
|
|
376
|
+
vi.mocked(getSampleValues).mockReturnValue([0, undefined, undefined, undefined, undefined, undefined]);
|
|
377
|
+
vi.mocked(getInfoValues).mockReturnValue([undefined, undefined]);
|
|
353
378
|
|
|
354
379
|
const cell = initConfigCellComposed(
|
|
355
380
|
configBase,
|
|
@@ -374,8 +399,10 @@ describe("config cells composed", () => {
|
|
|
374
399
|
viab: undefined,
|
|
375
400
|
});
|
|
376
401
|
|
|
377
|
-
expect(getSampleFields).toHaveBeenCalledWith(vcfMetadata, "GT", "
|
|
378
|
-
expect(getInfoFields).toHaveBeenCalledWith(
|
|
402
|
+
expect(getSampleFields).toHaveBeenCalledWith(vcfMetadata, "GT", "VIAB", "RU_CALL", "RU_MATCH", "RU_NR");
|
|
403
|
+
expect(getInfoFields).toHaveBeenCalledWith(
|
|
404
|
+
vcfMetadata, "SVTYPE", "DisplayRU",
|
|
405
|
+
);
|
|
379
406
|
expect(getSampleValues).toHaveBeenCalledWith(
|
|
380
407
|
{
|
|
381
408
|
item: {
|
|
@@ -393,8 +420,10 @@ describe("config cells composed", () => {
|
|
|
393
420
|
fieldGt,
|
|
394
421
|
undefined,
|
|
395
422
|
undefined,
|
|
423
|
+
undefined,
|
|
424
|
+
undefined,
|
|
396
425
|
);
|
|
397
|
-
expect(getInfoValues).toHaveBeenCalledWith(record, 1, undefined, undefined
|
|
426
|
+
expect(getInfoValues).toHaveBeenCalledWith(record, 1, undefined, undefined);
|
|
398
427
|
});
|
|
399
428
|
|
|
400
429
|
test("genotype_maternal no sample", () => {
|
|
@@ -425,10 +454,10 @@ describe("config cells composed", () => {
|
|
|
425
454
|
|
|
426
455
|
const fieldGt = { id: "FORMAT/GT" };
|
|
427
456
|
vi.mocked(getSampleFields).mockReturnValue([fieldGt, undefined, undefined] as FieldMetadataWrapper[]);
|
|
428
|
-
vi.mocked(getInfoFields).mockReturnValue([undefined, undefined, undefined, undefined]);
|
|
457
|
+
vi.mocked(getInfoFields).mockReturnValue([undefined, undefined, undefined, undefined, undefined]);
|
|
429
458
|
vi.mocked(getInfoValueCount).mockReturnValue(1);
|
|
430
459
|
vi.mocked(getSampleValues).mockReturnValue([0, undefined, undefined]);
|
|
431
|
-
vi.mocked(getInfoValues).mockReturnValue([undefined, undefined, undefined, undefined]);
|
|
460
|
+
vi.mocked(getInfoValues).mockReturnValue([undefined, undefined, undefined, undefined, undefined]);
|
|
432
461
|
|
|
433
462
|
const cell = initConfigCellComposed(
|
|
434
463
|
configBase,
|
|
@@ -453,8 +482,12 @@ describe("config cells composed", () => {
|
|
|
453
482
|
viab: undefined,
|
|
454
483
|
});
|
|
455
484
|
|
|
456
|
-
expect(getSampleFields).toHaveBeenCalledWith(vcfMetadata, "GT", "
|
|
457
|
-
expect(getInfoFields).toHaveBeenCalledWith(
|
|
485
|
+
expect(getSampleFields).toHaveBeenCalledWith(vcfMetadata, "GT", "VIAB", "RU_CALL", "RU_MATCH", "RU_NR");
|
|
486
|
+
expect(getInfoFields).toHaveBeenCalledWith(
|
|
487
|
+
vcfMetadata,
|
|
488
|
+
"SVTYPE",
|
|
489
|
+
"DisplayRU",
|
|
490
|
+
);
|
|
458
491
|
expect(getSampleValues).toHaveBeenCalledWith(
|
|
459
492
|
{
|
|
460
493
|
item: {
|
|
@@ -472,8 +505,10 @@ describe("config cells composed", () => {
|
|
|
472
505
|
fieldGt,
|
|
473
506
|
undefined,
|
|
474
507
|
undefined,
|
|
508
|
+
undefined,
|
|
509
|
+
undefined,
|
|
475
510
|
);
|
|
476
|
-
expect(getInfoValues).toHaveBeenCalledWith(record, 1, undefined, undefined
|
|
511
|
+
expect(getInfoValues).toHaveBeenCalledWith(record, 1, undefined, undefined);
|
|
477
512
|
});
|
|
478
513
|
|
|
479
514
|
test("genotype_paternal no sample", () => {
|