@molgenis/vip-report-template 6.1.1 → 7.0.0

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 (285) hide show
  1. package/.nvmrc +1 -1
  2. package/.travis.yml +9 -11
  3. package/README.md +411 -1
  4. package/eslint.config.mjs +11 -0
  5. package/package.json +40 -35
  6. package/scripts/deploy_npm_registry.sh +5 -0
  7. package/src/App.tsx +35 -29
  8. package/src/assets/sass/main.scss +12 -4
  9. package/src/components/Allele.tsx +95 -0
  10. package/src/components/Anchor.tsx +1 -1
  11. package/src/components/Breadcrumb.tsx +8 -5
  12. package/src/components/DatasetDropdown.tsx +10 -23
  13. package/src/components/ErrorNotification.tsx +9 -0
  14. package/src/components/GenomeBrowser.tsx +40 -23
  15. package/src/components/HpoTerm.tsx +1 -1
  16. package/src/components/{record/Pager.tsx → Pager.tsx} +21 -14
  17. package/src/components/RecordsPerPage.tsx +9 -7
  18. package/src/components/RecordsTable.tsx +130 -0
  19. package/src/components/SampleTable.tsx +70 -98
  20. package/src/components/SearchBox.tsx +8 -2
  21. package/src/components/Sort.tsx +28 -25
  22. package/src/components/Table.tsx +16 -0
  23. package/src/components/Tooltip.tsx +20 -0
  24. package/src/components/VariantBreadcrumb.tsx +54 -0
  25. package/src/components/VariantConsequenceContainer.tsx +100 -0
  26. package/src/components/VariantConsequenceTable.tsx +58 -0
  27. package/src/components/VariantContainer.tsx +71 -0
  28. package/src/components/VariantFilters.tsx +27 -0
  29. package/src/components/VariantGenotypeTable.tsx +44 -0
  30. package/src/components/VariantInfoTable.tsx +24 -33
  31. package/src/components/VariantResults.tsx +103 -0
  32. package/src/components/VariantTable.tsx +62 -66
  33. package/src/components/VariantTypeSelect.tsx +34 -0
  34. package/src/components/VariantsContainer.tsx +150 -0
  35. package/src/components/VariantsContainerHeader.tsx +70 -0
  36. package/src/components/field/Field.tsx +80 -0
  37. package/src/components/field/FieldAlt.tsx +19 -0
  38. package/src/components/field/FieldChrom.tsx +6 -0
  39. package/src/components/{record/Id.tsx → field/FieldFilter.tsx} +2 -1
  40. package/src/components/field/FieldFormat.tsx +10 -0
  41. package/src/components/{record/Filter.tsx → field/FieldId.tsx} +1 -1
  42. package/src/components/field/FieldPos.tsx +6 -0
  43. package/src/components/field/FieldQual.tsx +6 -0
  44. package/src/components/field/FieldRef.tsx +8 -0
  45. package/src/components/field/composed/FieldClinVar.tsx +72 -0
  46. package/src/components/field/composed/FieldComposed.tsx +68 -0
  47. package/src/components/field/composed/FieldGene.tsx +39 -0
  48. package/src/components/field/composed/FieldGenotype.tsx +35 -0
  49. package/src/components/{record/format/GenotypeField.tsx → field/composed/FieldGenotypeSnvSv.tsx} +20 -16
  50. package/src/components/field/composed/FieldGenotypeStr.tsx +31 -0
  51. package/src/components/field/composed/FieldGnomAd.tsx +58 -0
  52. package/src/components/field/composed/FieldHpo.tsx +50 -0
  53. package/src/components/field/composed/FieldInheritanceModes.tsx +32 -0
  54. package/src/components/field/composed/FieldLocus.tsx +18 -0
  55. package/src/components/field/composed/FieldVipC.tsx +25 -0
  56. package/src/components/field/composed/FieldVipCS.tsx +15 -0
  57. package/src/components/field/composed/FieldVkgl.tsx +37 -0
  58. package/src/components/field/genotype/FieldGenotype.tsx +19 -0
  59. package/src/components/field/genotype/FieldGenotypeType.tsx +9 -0
  60. package/src/components/field/info/FieldConsequence.tsx +15 -0
  61. package/src/components/{record/info/Hgvs.tsx → field/info/FieldHgvs.tsx} +4 -6
  62. package/src/components/field/info/FieldInfo.tsx +27 -0
  63. package/src/components/{record/info/PubMed.tsx → field/info/FieldPubMed.tsx} +4 -7
  64. package/src/components/field/typed/FieldCategorical.tsx +17 -0
  65. package/src/components/{record/field/FieldValueCharacter.tsx → field/typed/FieldCharacter.tsx} +3 -2
  66. package/src/components/{record/field/FieldValueFlag.tsx → field/typed/FieldFlag.tsx} +3 -2
  67. package/src/components/{record/field/FieldValueFloat.tsx → field/typed/FieldFloat.tsx} +3 -2
  68. package/src/components/{record/field/FieldValueInteger.tsx → field/typed/FieldInteger.tsx} +3 -2
  69. package/src/components/{record/field/FieldValueString.tsx → field/typed/FieldString.tsx} +3 -2
  70. package/src/components/field/typed/FieldTyped.tsx +20 -0
  71. package/src/components/field/typed/FieldTypedItem.tsx +49 -0
  72. package/src/components/field/typed/FieldTypedMultiple.tsx +21 -0
  73. package/src/components/filter/Filter.tsx +56 -48
  74. package/src/components/filter/FilterWrapper.scss +23 -0
  75. package/src/components/filter/FilterWrapper.tsx +63 -0
  76. package/src/components/filter/composed/FilterAllelicImbalance.tsx +26 -0
  77. package/src/components/filter/composed/FilterComposed.tsx +92 -0
  78. package/src/components/filter/composed/FilterDeNovo.tsx +35 -0
  79. package/src/components/filter/composed/FilterHpo.tsx +16 -0
  80. package/src/components/filter/composed/FilterInheritance.tsx +42 -0
  81. package/src/components/filter/composed/FilterLocus.tsx +75 -0
  82. package/src/components/filter/composed/FilterVipC.tsx +16 -0
  83. package/src/components/filter/composed/FilterVipCS.tsx +16 -0
  84. package/src/components/filter/fixed/FilterAlt.tsx +20 -0
  85. package/src/components/filter/fixed/FilterChrom.tsx +22 -0
  86. package/src/components/filter/fixed/FilterFilter.tsx +20 -0
  87. package/src/components/filter/fixed/FilterFixed.tsx +96 -0
  88. package/src/components/filter/fixed/FilterId.tsx +20 -0
  89. package/src/components/filter/fixed/FilterPos.tsx +22 -0
  90. package/src/components/filter/fixed/FilterQual.tsx +21 -0
  91. package/src/components/filter/fixed/FilterRef.tsx +22 -0
  92. package/src/components/filter/typed/FilterCategorical.tsx +119 -0
  93. package/src/components/filter/typed/FilterFlag.tsx +23 -0
  94. package/src/components/filter/typed/FilterInterval.tsx +72 -0
  95. package/src/components/filter/typed/FilterString.tsx +43 -0
  96. package/src/components/filter/typed/FilterTyped.tsx +56 -0
  97. package/src/components/form/ButtonApply.tsx +11 -0
  98. package/src/components/form/ButtonDownload.tsx +11 -0
  99. package/src/components/form/ButtonReset.tsx +9 -0
  100. package/src/components/{Checkbox.tsx → form/Checkbox.tsx} +4 -9
  101. package/src/components/form/Input.tsx +19 -0
  102. package/src/components/form/Select.scss +7 -0
  103. package/src/components/form/Select.tsx +34 -0
  104. package/src/components/tree/DecisionTreeBoolMultiQuery.tsx +1 -1
  105. package/src/components/tree/DecisionTreeBoolQuery.tsx +1 -1
  106. package/src/components/tree/DecisionTreeNode.tsx +41 -39
  107. package/src/components/tree/DecisionTreeNodeBool.tsx +1 -1
  108. package/src/components/tree/DecisionTreeNodeBoolMulti.tsx +1 -1
  109. package/src/components/tree/DecisionTreeNodeCategorical.tsx +1 -1
  110. package/src/components/tree/DecisionTreeNodeExists.tsx +1 -1
  111. package/src/components/tree/DecisionTreeNodeLeaf.tsx +1 -1
  112. package/src/components/tree/DecisionTreeOutcomeNode.tsx +1 -1
  113. package/src/components/tree/DecisionTreePath.tsx +1 -1
  114. package/src/igv.d.ts +2 -1
  115. package/src/index.tsx +48 -19
  116. package/src/mocks/GRCh37/decisionTree.json +23 -22
  117. package/src/mocks/GRCh37/field_metadata.json +435 -95
  118. package/src/mocks/GRCh37/sampleTree.json +143 -0
  119. package/src/mocks/GRCh37/static.ts +63 -133
  120. package/src/mocks/GRCh37/vcf/family.vcf.blob +37 -31
  121. package/src/mocks/GRCh38/decisionTree.json +52 -33
  122. package/src/mocks/GRCh38/decisionTreeStr.json +572 -0
  123. package/src/mocks/GRCh38/fasta/chr1_149380406-149403321.fasta.gz.blob +0 -0
  124. package/src/mocks/GRCh38/field_metadata.json +435 -95
  125. package/src/mocks/GRCh38/sampleTree.json +175 -0
  126. package/src/mocks/GRCh38/static.ts +101 -42
  127. package/src/mocks/GRCh38/str.cram.blob +0 -0
  128. package/src/mocks/GRCh38/str.cram.crai.blob +0 -0
  129. package/src/mocks/GRCh38/vcf/family.vcf.blob +25 -24
  130. package/src/mocks/GRCh38/vcf/no_vep.vcf.blob +29 -28
  131. package/src/mocks/GRCh38/vcf/samples_0.vcf.blob +28 -27
  132. package/src/mocks/GRCh38/vcf/samples_1.vcf.blob +29 -28
  133. package/src/mocks/GRCh38/vcf/samples_100.vcf.blob +28 -27
  134. package/src/mocks/GRCh38/vcf/str.vcf.blob +321 -0
  135. package/src/mocks/MockApiClient.ts +341 -328
  136. package/src/mocks/config_cram.json +701 -0
  137. package/src/mocks/config_vcf.json +699 -0
  138. package/src/store/app.ts +30 -0
  139. package/src/store/index.tsx +3 -168
  140. package/src/store/variants.ts +182 -0
  141. package/src/types/config.d.ts +190 -0
  142. package/src/types/configCellComposed.d.ts +86 -0
  143. package/src/types/configCells.d.ts +129 -0
  144. package/src/types/configFilter.d.ts +80 -0
  145. package/src/types/configFilterComposed.d.ts +60 -0
  146. package/src/types/configSort.d.ts +13 -0
  147. package/src/types/filter.d.ts +17 -0
  148. package/src/types/store.d.ts +34 -0
  149. package/src/utils/api.ts +281 -0
  150. package/src/utils/config/config.ts +182 -0
  151. package/src/utils/config/configCells.ts +74 -0
  152. package/src/utils/config/configCellsComposed.ts +508 -0
  153. package/src/utils/config/configCellsField.ts +61 -0
  154. package/src/utils/config/configCellsFixed.ts +126 -0
  155. package/src/utils/config/configFilters.ts +46 -0
  156. package/src/utils/config/configFiltersComposed.ts +208 -0
  157. package/src/utils/config/configFiltersField.ts +49 -0
  158. package/src/utils/config/configFiltersFixed.ts +106 -0
  159. package/src/utils/config/configSorts.ts +44 -0
  160. package/src/utils/config/configValidator.ts +380 -0
  161. package/src/utils/config/configVip.ts +25 -0
  162. package/src/utils/csq.ts +115 -0
  163. package/src/utils/decisionTree.ts +45 -0
  164. package/src/utils/download.ts +30 -0
  165. package/src/utils/error.ts +69 -0
  166. package/src/utils/query/query.ts +55 -0
  167. package/src/utils/query/queryFilter.ts +132 -0
  168. package/src/utils/query/queryFilterComposed.ts +247 -0
  169. package/src/utils/query/queryFilterField.ts +75 -0
  170. package/src/utils/query/queryFilterFixed.ts +44 -0
  171. package/src/utils/query/querySample.ts +18 -0
  172. package/src/utils/query/queryVariantType.ts +76 -0
  173. package/src/utils/query/selector.ts +41 -0
  174. package/src/utils/{sortUtils.ts → query/sort.ts} +32 -11
  175. package/src/utils/sample.ts +19 -35
  176. package/src/utils/utils.ts +66 -2
  177. package/src/utils/variantType.ts +43 -0
  178. package/src/utils/vcf.ts +352 -0
  179. package/src/views/Help.tsx +109 -114
  180. package/src/views/Home.tsx +3 -2
  181. package/src/views/Sample.tsx +12 -7
  182. package/src/views/SampleVariant.tsx +23 -112
  183. package/src/views/SampleVariantConsequence.tsx +54 -114
  184. package/src/views/SampleVariants.tsx +33 -445
  185. package/src/views/SampleVariantsRedirect.tsx +20 -0
  186. package/src/views/Samples.tsx +7 -10
  187. package/src/views/Variant.tsx +31 -61
  188. package/src/views/VariantConsequence.tsx +42 -72
  189. package/src/views/Variants.tsx +29 -138
  190. package/src/views/VariantsRedirect.tsx +25 -0
  191. package/src/views/data/data.tsx +32 -6
  192. package/tests/store/variants.test.ts +122 -0
  193. package/tests/utils/config/config.test.ts +167 -0
  194. package/tests/utils/config/configCells.test.ts +86 -0
  195. package/tests/utils/config/configCellsComposed.test.ts +1163 -0
  196. package/tests/utils/config/configCellsField.test.ts +164 -0
  197. package/tests/utils/config/configCellsFixed.test.ts +99 -0
  198. package/tests/utils/config/configFilters.test.ts +80 -0
  199. package/tests/utils/config/configFiltersComposed.test.ts +504 -0
  200. package/tests/utils/config/configFiltersField.test.ts +140 -0
  201. package/tests/utils/config/configFiltersFixed.test.ts +81 -0
  202. package/tests/utils/config/configSorts.test.ts +55 -0
  203. package/tests/utils/config/configValidator.test.ts +56 -0
  204. package/tests/utils/config/configVip.test.ts +53 -0
  205. package/tests/utils/decisionTree.test.ts +71 -0
  206. package/tests/utils/download.test.ts +20 -0
  207. package/tests/utils/query/query.test.ts +84 -0
  208. package/tests/utils/query/queryFilter.test.ts +243 -0
  209. package/tests/utils/query/queryFilterComposed.test.ts +301 -0
  210. package/tests/utils/query/queryFilterField.test.ts +75 -0
  211. package/tests/utils/query/queryFilterFixed.test.ts +86 -0
  212. package/tests/utils/query/querySample.test.ts +45 -0
  213. package/tests/utils/query/queryVariantType.test.ts +56 -0
  214. package/{src/__tests__/sortUtils.test.ts → tests/utils/query/sort.test.ts} +3 -4
  215. package/tests/utils/sample.test.ts +259 -0
  216. package/tests/utils/utils.test.ts +120 -0
  217. package/tests/utils/variantType.test.ts +48 -0
  218. package/tests/utils/vcf.test.ts +649 -0
  219. package/tsconfig.json +6 -2
  220. package/vite.config.mts +20 -3
  221. package/.eslintignore +0 -4
  222. package/.eslintrc.js +0 -23
  223. package/src/Api.ts +0 -12
  224. package/src/__tests__/decisionTreeUtils.test.ts +0 -75
  225. package/src/__tests__/field.test.ts +0 -107
  226. package/src/__tests__/query.test.ts +0 -188
  227. package/src/__tests__/sample.test.ts +0 -184
  228. package/src/__tests__/utils.test.ts +0 -24
  229. package/src/__tests__/viewUtils.test.ts +0 -125
  230. package/src/components/ConsequenceTable.tsx +0 -45
  231. package/src/components/Error.tsx +0 -9
  232. package/src/components/FieldHeader.tsx +0 -26
  233. package/src/components/InfoCollapsablePane.tsx +0 -90
  234. package/src/components/VariantInfoNestedTable.tsx +0 -127
  235. package/src/components/VariantSampleTable.tsx +0 -58
  236. package/src/components/VariantsSampleTable.tsx +0 -183
  237. package/src/components/VariantsTable.tsx +0 -124
  238. package/src/components/filter/FilterAllelicBalance.tsx +0 -81
  239. package/src/components/filter/FilterCategorical.tsx +0 -81
  240. package/src/components/filter/FilterClinVar.tsx +0 -21
  241. package/src/components/filter/FilterGene.tsx +0 -34
  242. package/src/components/filter/FilterHpo.tsx +0 -161
  243. package/src/components/filter/FilterInheritance.tsx +0 -162
  244. package/src/components/filter/FilterIntegerGq.tsx +0 -47
  245. package/src/components/filter/FilterVI.tsx +0 -68
  246. package/src/components/filter/FilterVariantType.tsx +0 -146
  247. package/src/components/filter/Filters.tsx +0 -29
  248. package/src/components/filter/InfoFilter.tsx +0 -39
  249. package/src/components/filter/InfoFilters.tsx +0 -35
  250. package/src/components/filter/SampleFilters.tsx +0 -93
  251. package/src/components/filter/SamplesFilters.tsx +0 -33
  252. package/src/components/record/Allele.tsx +0 -38
  253. package/src/components/record/AlleleBreakend.tsx +0 -5
  254. package/src/components/record/AlleleMissing.tsx +0 -5
  255. package/src/components/record/AlleleNucs.tsx +0 -49
  256. package/src/components/record/AlleleSymbolic.tsx +0 -5
  257. package/src/components/record/Alt.tsx +0 -17
  258. package/src/components/record/Chrom.tsx +0 -5
  259. package/src/components/record/Format.tsx +0 -40
  260. package/src/components/record/Info.tsx +0 -55
  261. package/src/components/record/Pos.tsx +0 -5
  262. package/src/components/record/Qual.tsx +0 -5
  263. package/src/components/record/RecordDownload.tsx +0 -66
  264. package/src/components/record/Ref.tsx +0 -6
  265. package/src/components/record/field/Field.tsx +0 -36
  266. package/src/components/record/field/FieldMultipleValue.tsx +0 -22
  267. package/src/components/record/field/FieldSingleValue.tsx +0 -35
  268. package/src/components/record/info/ClinVar.tsx +0 -81
  269. package/src/components/record/info/Consequence.tsx +0 -18
  270. package/src/components/record/info/Gene.tsx +0 -56
  271. package/src/components/record/info/GnomAD.tsx +0 -54
  272. package/src/components/record/info/Hpo.tsx +0 -52
  273. package/src/components/record/info/InheritanceModes.tsx +0 -22
  274. package/src/components/record/info/VipC.tsx +0 -23
  275. package/src/components/record/info/Vkgl.tsx +0 -42
  276. package/src/mocks/GRCh37/vcf/no_vep.vcf.blob +0 -61
  277. package/src/mocks/GRCh37/vcf/samples_0.vcf.blob +0 -93
  278. package/src/mocks/GRCh37/vcf/samples_1.vcf.blob +0 -93
  279. package/src/mocks/GRCh37/vcf/samples_100.vcf.blob +0 -93
  280. package/src/utils/ApiUtils.ts +0 -259
  281. package/src/utils/csqUtils.ts +0 -27
  282. package/src/utils/decisionTreeUtils.ts +0 -14
  283. package/src/utils/field.ts +0 -49
  284. package/src/utils/query.ts +0 -154
  285. package/src/utils/viewUtils.ts +0 -32
@@ -1,21 +1,93 @@
1
1
  {
2
2
  "format": {
3
+ "ADFL": {
4
+ "label": "Flanking reads",
5
+ "description": "Number of flanking reads consistent with the allele",
6
+ "numberType": "NUMBER",
7
+ "numberCount": 1,
8
+ "type": "STRING"
9
+ },
10
+ "ADIR": {
11
+ "label": "In-repeat reads",
12
+ "description": "Number of in-repeat reads consistent with the allele",
13
+ "numberType": "NUMBER",
14
+ "numberCount": 1,
15
+ "type": "STRING"
16
+ },
17
+ "ADSP": {
18
+ "label": "Spanning reads",
19
+ "description": "Number of spanning reads consistent with the allele",
20
+ "numberType": "NUMBER",
21
+ "numberCount": 1,
22
+ "type": "STRING"
23
+ },
24
+ "LC": {
25
+ "label": "Coverage",
26
+ "description": "Locus coverage",
27
+ "numberType": "NUMBER",
28
+ "numberCount": 1,
29
+ "type": "FLOAT"
30
+ },
31
+ "REPCI": {
32
+ "label": "Repeat CI",
33
+ "description": "Confidence interval for the number of repeat units spanned by the allele",
34
+ "numberType": "NUMBER",
35
+ "numberCount": 1,
36
+ "type": "STRING"
37
+ },
38
+ "REPCN": {
39
+ "label": "Repeats",
40
+ "description": "Number of repeat units spanned by the allele",
41
+ "numberType": "NUMBER",
42
+ "numberCount": 1,
43
+ "type": "STRING"
44
+ },
3
45
  "VI": {
4
46
  "label": "Inheritance",
5
47
  "description": "An enumeration of possible inheritance modes based on the pedigree of the sample. Potential values: AD, AD_IP, AR, AR_C, XLR, XLD, YL, MT",
6
48
  "numberType": "OTHER",
7
49
  "separator": ",",
8
50
  "type": "CATEGORICAL",
9
- "categories": [
10
- "AD",
11
- "AD_IP",
12
- "AR",
13
- "AR_C",
14
- "XLD",
15
- "XLR",
16
- "YL",
17
- "MT"
18
- ]
51
+ "categories": {
52
+ "AD": {
53
+ "label": "AD",
54
+ "description": "Autosomal dominant"
55
+ },
56
+ "AD_IP": {
57
+ "label": "AD_IP",
58
+ "description": "Autosomal dominant incomplete penetrance"
59
+ },
60
+ "AR": {
61
+ "label": "AR",
62
+ "description": "Autosomal recessive"
63
+ },
64
+ "AR_C": {
65
+ "label": "AR_C",
66
+ "description": "Autosomal recessive compound hetrozygote"
67
+ },
68
+ "XLD": {
69
+ "label": "XLD",
70
+ "description": "X-linked dominant"
71
+ },
72
+ "XLR": {
73
+ "label": "XLR",
74
+ "description": "X-linked recessive"
75
+ },
76
+ "YL": {
77
+ "label": "YL",
78
+ "description": "Y-linked"
79
+ },
80
+ "MT": {
81
+ "label": "MT",
82
+ "description": "Mitochondrial"
83
+ }
84
+ }
85
+ },
86
+ "VIPC_S": {
87
+ "label": "VIP sample classification",
88
+ "numberType": "OTHER",
89
+ "type": "STRING",
90
+ "separator": ","
19
91
  }
20
92
  },
21
93
  "info": {
@@ -41,13 +113,28 @@
41
113
  "numberType": "NUMBER",
42
114
  "numberCount": 1,
43
115
  "type": "CATEGORICAL",
44
- "categories": [
45
- "B",
46
- "LB",
47
- "VUS",
48
- "LP",
49
- "P"
50
- ]
116
+ "categories": {
117
+ "B": {
118
+ "label": "B",
119
+ "description": "Benign"
120
+ },
121
+ "LB": {
122
+ "label": "LB",
123
+ "description": "Likely benign"
124
+ },
125
+ "VUS": {
126
+ "label": "VUS",
127
+ "description": "Variant of uncertain significance"
128
+ },
129
+ "LP": {
130
+ "label": "LP",
131
+ "description": "Likely pathogenic"
132
+ },
133
+ "P": {
134
+ "label": "P",
135
+ "description": "Pathogenic"
136
+ }
137
+ }
51
138
  },
52
139
  "CAPICE_SC": {
53
140
  "label": "CAPICE",
@@ -90,19 +177,37 @@
90
177
  "type": "INTEGER"
91
178
  },
92
179
  "clinVar_CLNSIG": {
93
- "label": "ClinVar variant",
180
+ "label": "ClinVar",
94
181
  "description": "Clinical significance for this single variant",
95
182
  "numberType": "OTHER",
96
183
  "separator": "/",
97
184
  "type": "CATEGORICAL",
98
- "categories": [
99
- "Benign",
100
- "Likely_benign",
101
- "Uncertain_significance",
102
- "Likely_pathogenic",
103
- "Pathogenic",
104
- "Conflicting_interpretations_of_pathogenicity"
105
- ]
185
+ "categories": {
186
+ "Benign": {
187
+ "label": "B",
188
+ "description": "Benign"
189
+ },
190
+ "Likely_benign": {
191
+ "label": "LB",
192
+ "description": "Likely benign"
193
+ },
194
+ "Uncertain_significance": {
195
+ "label": "VUS",
196
+ "description": "Variant of uncertain significance"
197
+ },
198
+ "Likely_pathogenic": {
199
+ "label": "LP",
200
+ "description": "Likely pathogenic"
201
+ },
202
+ "Pathogenic": {
203
+ "label": "P",
204
+ "description": "Pathogenic"
205
+ },
206
+ "Conflicting_interpretations_of_pathogenicity": {
207
+ "label": "Conflict",
208
+ "description": "Conflicting interpretations of pathogenicity"
209
+ }
210
+ }
106
211
  },
107
212
  "clinVar_CLNSIGINCL": {
108
213
  "label": "ClinVar variant combination",
@@ -110,14 +215,32 @@
110
215
  "numberType": "OTHER",
111
216
  "separator": "&",
112
217
  "type": "CATEGORICAL",
113
- "categories": [
114
- "Benign",
115
- "Likely_benign",
116
- "Uncertain_significance",
117
- "Likely_pathogenic",
118
- "Pathogenic",
119
- "Conflicting_interpretations_of_pathogenicity"
120
- ]
218
+ "categories": {
219
+ "Benign": {
220
+ "label": "B",
221
+ "description": "Benign"
222
+ },
223
+ "Likely_benign": {
224
+ "label": "LB",
225
+ "description": "Likely benign"
226
+ },
227
+ "Uncertain_significance": {
228
+ "label": "VUS",
229
+ "description": "Variant of uncertain significance"
230
+ },
231
+ "Likely_pathogenic": {
232
+ "label": "LP",
233
+ "description": "Likely pathogenic"
234
+ },
235
+ "Pathogenic": {
236
+ "label": "P",
237
+ "description": "Pathogenic"
238
+ },
239
+ "Conflicting_interpretations_of_pathogenicity": {
240
+ "label": "Conflict",
241
+ "description": "Conflicting interpretations of pathogenicity"
242
+ }
243
+ }
121
244
  },
122
245
  "clinVar_CLNREVSTAT": {
123
246
  "label": "ClinVar status",
@@ -125,17 +248,43 @@
125
248
  "numberType": "OTHER",
126
249
  "separator": "&",
127
250
  "type": "CATEGORICAL",
128
- "categories": [
129
- "practice_guideline",
130
- "reviewed_by_expert_panel",
131
- "criteria_provided",
132
- "_multiple_submitters",
133
- "_no_conflicts",
134
- "_single_submitter",
135
- "_conflicting_interpretations",
136
- "no_assertion_criteria_provided",
137
- "no_assertion_provided"
138
- ]
251
+ "categories": {
252
+ "practice_guideline": {
253
+ "label": "Practice guideline",
254
+ "description": "There is a submitted record with a classification from a practice guideline"
255
+ },
256
+ "reviewed_by_expert_panel": {
257
+ "label": "Reviewed by expert panel",
258
+ "description": "There is a submitted record with a classification from an expert panel"
259
+ },
260
+ "criteria_provided": {
261
+ "label": "Criteria provided",
262
+ "description": "Assertion criteria and evidence for the classification (or a public contact) were provided"
263
+ },
264
+ "_multiple_submitters": {
265
+ "label": "Multiple submitters",
266
+ "description": "There are multiple submitted records with a classification"
267
+ },
268
+ "_no_conflicts": {
269
+ "label": "No conflicts",
270
+ "description": "The classifications agree"
271
+ },
272
+ "_single_submitter": {
273
+ "label": "Single submitter",
274
+ "description": "There is a single submitted record with a classification"
275
+ },
276
+ "_conflicting_interpretations": {
277
+ "label": "Conflicting_interpretations",
278
+ "description": "There are conflicting classifications"
279
+ },
280
+ "no_assertion_criteria_provided": {
281
+ "label": "No assertion criteria provided",
282
+ "description": "There are one or more submitted records with a classification but without assertion criteria and evidence for the classification (or a public contact)"
283
+ },
284
+ "no_assertion_provided": {
285
+ "label": "No assertion provided"
286
+ }
287
+ }
139
288
  },
140
289
  "Consequence": {
141
290
  "label": "Effect",
@@ -151,17 +300,68 @@
151
300
  "separator": "&",
152
301
  "type": "STRING"
153
302
  },
303
+ "FATHMM_MKL_NC": {
304
+ "label": "FATHMM-MKL-NC",
305
+ "description": "Predict the Functional Consequences of Non-Coding Single Nucleotide Variants (SNVs)",
306
+ "numberType": "NUMBER",
307
+ "numberCount": 1,
308
+ "type": "FLOAT"
309
+ },
310
+ "GDB_PRO": {
311
+ "label": "GDB_PRO",
312
+ "description": "Highest GREEN-DB constraint score for overlapping promotor regions.",
313
+ "numberType": "NUMBER",
314
+ "numberCount": 1,
315
+ "type": "FLOAT"
316
+ },
317
+ "GDB_ENH": {
318
+ "label": "GDB_ENH",
319
+ "description": "Highest GREEN-DB constraint score for overlapping enhancer regions.",
320
+ "numberType": "NUMBER",
321
+ "numberCount": 1,
322
+ "type": "FLOAT"
323
+ },
324
+ "GDB_BIV": {
325
+ "label": "GDB_BIV",
326
+ "description": "Highest GREEN-DB constraint score for overlapping bivalent regions.",
327
+ "numberType": "NUMBER",
328
+ "numberCount": 1,
329
+ "type": "FLOAT"
330
+ },
331
+ "GDB_SIL": {
332
+ "label": "GDB_SIL",
333
+ "description": "Highest GREEN-DB constraint score for overlapping silencer regions.",
334
+ "numberType": "NUMBER",
335
+ "numberCount": 1,
336
+ "type": "FLOAT"
337
+ },
338
+ "GDB_INS": {
339
+ "label": "GDB_INS",
340
+ "description": "Highest GREEN-DB constraint score for overlapping insulater regions.",
341
+ "numberType": "NUMBER",
342
+ "numberCount": 1,
343
+ "type": "FLOAT"
344
+ },
154
345
  "Feature_type": {
155
346
  "label": "Feature Type.",
156
347
  "description": "The VEP feature type",
157
348
  "numberType": "NUMBER",
158
349
  "numberCount": 1,
159
350
  "type": "CATEGORICAL",
160
- "categories": [
161
- "Transcript",
162
- "RegulatoryFeature",
163
- "MotifFeature"
164
- ],
351
+ "categories": {
352
+ "Transcript": {
353
+ "label": "Transcript",
354
+ "description": "Transcript"
355
+ },
356
+ "RegulatoryFeature": {
357
+ "label": "Regulatory",
358
+ "description": "Regulatory feature"
359
+ },
360
+ "MotifFeature": {
361
+ "label": "Motif",
362
+ "description": "Motif feature"
363
+ }
364
+ },
165
365
  "required": true
166
366
  },
167
367
  "FLAGS": {
@@ -173,14 +373,20 @@
173
373
  },
174
374
  "GADO_PD": {
175
375
  "label": "GADO_PD",
176
- "description": "The GADO prediction for the relation between the HPO terms of the proband(s) and the gene, HC: high confidence, LC: low confidence.",
376
+ "description": "Gene-phenotypes association based on the GeneNetwork Assisted Diagnostic Optimization (GADO) gene prioritization Z-scores, see https://www.genenetwork.nl/gado and https://doi.org/10.1038/s41467-019-10649-4",
177
377
  "numberType": "NUMBER",
178
378
  "numberCount": 1,
179
379
  "type": "CATEGORICAL",
180
- "categories": [
181
- "LC",
182
- "HC"
183
- ]
380
+ "categories": {
381
+ "HC": {
382
+ "label": "High confidence",
383
+ "description": "Z-Score >= 5"
384
+ },
385
+ "LC": {
386
+ "label": "Low confidence",
387
+ "description": "Z-Score >= 3 and < 5"
388
+ }
389
+ }
184
390
  },
185
391
  "GADO_SC": {
186
392
  "label": "GADO_SC",
@@ -226,15 +432,22 @@
226
432
  },
227
433
  "gnomAD_SRC": {
228
434
  "label": "gnomAD SRC",
229
- "description": "gnomAD source (E=exomes, G=genomes, T=total)",
435
+ "description": "gnomAD source",
230
436
  "numberType": "NUMBER",
231
437
  "numberCount": 1,
232
438
  "type": "CATEGORICAL",
233
- "categories": [
234
- "E",
235
- "G",
236
- "T"
237
- ]
439
+ "categories": {
440
+ "E": {
441
+ "label": "Exomes"
442
+ },
443
+ "G": {
444
+ "label": "Genomes"
445
+ },
446
+ "T": {
447
+ "label": "Total",
448
+ "description": "Total: exomes & genomes"
449
+ }
450
+ }
238
451
  },
239
452
  "gnomAD_QC": {
240
453
  "label": "gnomAD QC",
@@ -266,7 +479,7 @@
266
479
  },
267
480
  "HPO": {
268
481
  "label": "HPO",
269
- "description": "Human phenotype ontology matches.",
482
+ "description": "Human Phenotype Ontology (HPO) terms describing phenotypic abnormalities, see https://hpo.jax.org/ and https://doi.org/10.1093/nar/gkad1005",
270
483
  "numberType": "OTHER",
271
484
  "separator": "&",
272
485
  "type": "STRING"
@@ -277,27 +490,82 @@
277
490
  "numberType": "NUMBER",
278
491
  "numberCount": 1,
279
492
  "type": "CATEGORICAL",
280
- "categories": [
281
- "LOW",
282
- "MODERATE",
283
- "HIGH",
284
- "MODIFIER"
285
- ],
493
+ "categories": {
494
+ "LOW": {
495
+ "label": "Low"
496
+ },
497
+ "MODERATE": {
498
+ "label": "Moderate"
499
+ },
500
+ "HIGH": {
501
+ "label": "High"
502
+ },
503
+ "MODIFIER": {
504
+ "label": "Modifier"
505
+ }
506
+ },
286
507
  "required": true
287
508
  },
288
509
  "IncompletePenetrance": {
289
510
  "label": "Gene: Inc.Pen.",
290
- "description": "The gene is associated with Incomplete Penetrance (1:true)",
511
+ "description": "Is gene associated with incomplete penetrance?",
291
512
  "numberType": "NUMBER",
292
513
  "numberCount": 1,
293
- "type": "STRING"
514
+ "type": "CATEGORICAL",
515
+ "categories": {
516
+ "1": {
517
+ "label": "True",
518
+ "description": "Gene is associated with incomplete penetrance"
519
+ }
520
+ },
521
+ "nullValue": {
522
+ "label": "False"
523
+ }
294
524
  },
295
525
  "InheritanceModesGene": {
296
526
  "label": "Inh.Pat.",
297
527
  "description": "Inheritance pattern",
298
528
  "numberType": "OTHER",
299
529
  "separator": "&",
300
- "type": "STRING"
530
+ "type": "CATEGORICAL",
531
+ "categories": {
532
+ "AD": {
533
+ "label": "AD",
534
+ "description": "Autosomal dominant"
535
+ },
536
+ "AD_IP": {
537
+ "label": "AD_IP",
538
+ "description": "Autosomal dominant incomplete penetrance"
539
+ },
540
+ "AR": {
541
+ "label": "AR",
542
+ "description": "Autosomal recessive"
543
+ },
544
+ "AR_C": {
545
+ "label": "AR_C",
546
+ "description": "Autosomal recessive compound hetrozygote"
547
+ },
548
+ "XL": {
549
+ "label": "XL",
550
+ "description": "X-linked"
551
+ },
552
+ "XLD": {
553
+ "label": "XLD",
554
+ "description": "X-linked dominant"
555
+ },
556
+ "XLR": {
557
+ "label": "XLR",
558
+ "description": "X-linked recessive"
559
+ },
560
+ "YL": {
561
+ "label": "YL",
562
+ "description": "Y-linked"
563
+ },
564
+ "MT": {
565
+ "label": "MT",
566
+ "description": "Mitochondrial"
567
+ }
568
+ }
301
569
  },
302
570
  "ncER": {
303
571
  "label": "ncER",
@@ -341,6 +609,13 @@
341
609
  "separator": "&",
342
610
  "type": "INTEGER"
343
611
  },
612
+ "ReMM": {
613
+ "label": "ReMM",
614
+ "description": "The Regulatory Mendelian Mutation (ReMM) score was created for relevance prediction of non-coding variations (SNVs and small InDels) in the human genome (hg19) in terms of Mendelian diseases.",
615
+ "numberType": "NUMBER",
616
+ "numberCount": 1,
617
+ "type": "FLOAT"
618
+ },
344
619
  "SIFT": {
345
620
  "label": "SIFT",
346
621
  "description": "SIFT score.",
@@ -398,20 +673,13 @@
398
673
  "type": "STRING"
399
674
  },
400
675
  "VIPC": {
401
- "label": "VIP",
402
- "description": "VIP classification",
676
+ "label": "VIP classification",
677
+ "description": "Variant consequence classification predicted by the Variant Interpretation Pipeline (VIP), see https://vip.molgeniscloud.org/ and https://doi.org/10.1101/2024.04.11.24305656",
403
678
  "numberType": "NUMBER",
404
679
  "numberCount": 1,
405
680
  "type": "STRING",
406
681
  "required": true
407
682
  },
408
- "VIPL": {
409
- "label": "VIP labels",
410
- "description": "VIP decision tree labels",
411
- "numberType": "NUMBER",
412
- "numberCount": 1,
413
- "type": "STRING"
414
- },
415
683
  "VIPP": {
416
684
  "label": "VIP path",
417
685
  "description": "VIP decision tree path",
@@ -422,17 +690,32 @@
422
690
  },
423
691
  "VKGL_CL": {
424
692
  "label": "VKGL",
425
- "description": "VKGL consensus classification",
693
+ "description": "Variant consensus classification from the Vereniging Klinisch Genetische Laboratoriumdiagnostiek (VKGL) datashare database, see https://vkgl.nl/nl/diagnostiek/vkgl-datashare-database",
426
694
  "numberType": "NUMBER",
427
695
  "numberCount": 1,
428
696
  "type": "CATEGORICAL",
429
- "categories": [
430
- "B",
431
- "LB",
432
- "VUS",
433
- "LP",
434
- "P"
435
- ]
697
+ "categories": {
698
+ "B": {
699
+ "label": "B",
700
+ "description": "Benign"
701
+ },
702
+ "LB": {
703
+ "label": "LB",
704
+ "description": "Likely benign"
705
+ },
706
+ "VUS": {
707
+ "label": "VUS",
708
+ "description": "Variant of uncertain significance"
709
+ },
710
+ "LP": {
711
+ "label": "LP",
712
+ "description": "Likely pathogenic"
713
+ },
714
+ "P": {
715
+ "label": "P",
716
+ "description": "Pathogenic"
717
+ }
718
+ }
436
719
  },
437
720
  "VKGL_UMCG": {
438
721
  "label": "MVL",
@@ -440,15 +723,72 @@
440
723
  "numberType": "NUMBER",
441
724
  "numberCount": 1,
442
725
  "type": "CATEGORICAL",
443
- "categories": [
444
- "B",
445
- "LB",
446
- "VUS",
447
- "LP",
448
- "P"
449
- ]
726
+ "categories": {
727
+ "B": {
728
+ "label": "B",
729
+ "description": "Benign"
730
+ },
731
+ "LB": {
732
+ "label": "LB",
733
+ "description": "Likely benign"
734
+ },
735
+ "VUS": {
736
+ "label": "VUS",
737
+ "description": "Variant of uncertain significance"
738
+ },
739
+ "LP": {
740
+ "label": "LP",
741
+ "description": "Likely pathogenic"
742
+ },
743
+ "P": {
744
+ "label": "P",
745
+ "description": "Pathogenic"
746
+ }
747
+ }
748
+ }
749
+ }
750
+ },
751
+ "STR_NORMAL_MAX": {
752
+ "label": "STR normal max",
753
+ "description": "Maximum number of repeats allowed to call as normal as defined in the Stranger catalogue",
754
+ "numberType": "NUMBER",
755
+ "numberCount": 1,
756
+ "type": "INTEGER"
757
+ },
758
+ "STR_PATHOLOGIC_MIN": {
759
+ "label": "STR pathologic min",
760
+ "description": "Mininum number of repeats required to call as pathologic as defined in the Stranger catalogue",
761
+ "numberType": "NUMBER",
762
+ "numberCount": 1,
763
+ "type": "INTEGER"
764
+ },
765
+ "STR_STATUS": {
766
+ "label": "STR status",
767
+ "description": "Repeat expansion status as decided by Stranger",
768
+ "numberType": "NUMBER",
769
+ "numberCount": 1,
770
+ "type": "CATEGORICAL",
771
+ "categories": {
772
+ "normal": {
773
+ "label": "normal",
774
+ "description": "Repeat count is smaller than or equal to the maximum number of repeats allowed to call as normal"
775
+ },
776
+ "pre_mutation": {
777
+ "label": "pre-mutation",
778
+ "description": "Repeat count is greater than the maximum number of repeats allowed to call as normal and smaller than the minimum number of repeats required to call as pathologic"
779
+ },
780
+ "full_mutation": {
781
+ "label": "full-mutation",
782
+ "description": "Repeat count is greater than or equal to the minimum number of repeats required to call as pathologic"
450
783
  }
451
784
  }
785
+ },
786
+ "SVTYPE": {
787
+ "label": "SV type",
788
+ "description": "Type of structural variant",
789
+ "numberType": "NUMBER",
790
+ "numberCount": 1,
791
+ "type": "STRING"
452
792
  }
453
793
  }
454
794
  }