@molgenis/vip-report-template 2.7.3 → 3.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.
- package/.eslintignore +4 -0
- package/.eslintrc.js +16 -22
- package/.gitattributes +1 -0
- package/.husky/pre-commit +4 -0
- package/.prettierignore +4 -0
- package/.prettierrc.json +3 -0
- package/.travis.yml +14 -11
- package/README.md +7 -29
- package/index.html +12 -0
- package/package.json +42 -55
- package/src/Api.ts +12 -0
- package/src/App.tsx +101 -0
- package/src/__tests__/decisionTreeUtils.test.ts +75 -0
- package/src/__tests__/field.test.ts +107 -0
- package/src/__tests__/query.test.ts +156 -0
- package/src/__tests__/sortUtils.test.ts +83 -0
- package/src/__tests__/utils.test.ts +24 -0
- package/src/__tests__/viewUtils.test.ts +125 -0
- package/src/assets/sass/main.scss +113 -0
- package/src/components/Abbr.tsx +20 -0
- package/src/components/Anchor.tsx +12 -0
- package/src/components/Breadcrumb.tsx +33 -0
- package/src/components/Checkbox.tsx +32 -0
- package/src/components/ConsequenceTable.tsx +38 -0
- package/src/components/DatasetDropdown.tsx +48 -0
- package/src/components/Error.tsx +9 -0
- package/src/components/FieldHeader.tsx +26 -0
- package/src/components/GenomeBrowser.tsx +114 -0
- package/src/components/InfoCollapsablePane.tsx +68 -0
- package/src/components/Loader.tsx +5 -0
- package/src/components/SampleTable.tsx +118 -0
- package/src/components/SearchBox.tsx +44 -0
- package/src/components/Sort.tsx +58 -0
- package/src/components/VariantInfoNestedTable.tsx +117 -0
- package/src/components/VariantInfoTable.tsx +35 -0
- package/src/components/VariantSampleTable.tsx +56 -0
- package/src/components/VariantTable.tsx +71 -0
- package/src/components/VariantsSampleTable.tsx +87 -0
- package/src/components/VariantsTable.tsx +140 -0
- package/src/components/VcfHeaderRow.tsx +15 -0
- package/src/components/filter/Filter.tsx +37 -0
- package/src/components/filter/FilterCategorical.tsx +72 -0
- package/src/components/filter/FilterIntegerDp.tsx +24 -0
- package/src/components/filter/FilterIntegerVid.tsx +28 -0
- package/src/components/filter/FilterIntegerVim.tsx +24 -0
- package/src/components/filter/Filters.tsx +30 -0
- package/src/components/filter/InfoFilter.tsx +36 -0
- package/src/components/filter/InfoFilters.tsx +32 -0
- package/src/components/filter/SampleFilters.tsx +44 -0
- package/src/components/filter/SamplesFilters.tsx +31 -0
- package/src/components/record/Allele.tsx +38 -0
- package/src/components/record/AlleleBreakend.tsx +5 -0
- package/src/components/record/AlleleMissing.tsx +5 -0
- package/src/components/record/AlleleNucs.tsx +49 -0
- package/src/components/record/AlleleSymbolic.tsx +5 -0
- package/src/components/record/Alt.tsx +17 -0
- package/src/components/record/Chrom.tsx +5 -0
- package/src/components/record/Filter.tsx +9 -0
- package/src/components/record/Format.tsx +31 -0
- package/src/components/record/Id.tsx +9 -0
- package/src/components/record/Info.tsx +53 -0
- package/src/components/record/Pager.tsx +64 -0
- package/src/components/record/Pos.tsx +5 -0
- package/src/components/record/Qual.tsx +5 -0
- package/src/components/record/RecordDownload.tsx +36 -0
- package/src/components/record/Ref.tsx +6 -0
- package/src/components/record/field/Field.tsx +20 -0
- package/src/components/record/field/FieldMultipleValue.tsx +22 -0
- package/src/components/record/field/FieldSingleValue.tsx +35 -0
- package/src/components/record/field/FieldValueCharacter.tsx +11 -0
- package/src/components/record/field/FieldValueFlag.tsx +11 -0
- package/src/components/record/field/FieldValueFloat.tsx +17 -0
- package/src/components/record/field/FieldValueInteger.tsx +11 -0
- package/src/components/record/field/FieldValueString.tsx +14 -0
- package/src/components/record/format/GenotypeField.tsx +63 -0
- package/src/components/record/info/ClinVar.tsx +37 -0
- package/src/components/record/info/Consequence.tsx +19 -0
- package/src/components/record/info/Gene.tsx +11 -0
- package/src/components/record/info/GnomAD.tsx +29 -0
- package/src/components/record/info/Hgvs.tsx +18 -0
- package/src/components/record/info/HpoTerm.tsx +12 -0
- package/src/components/record/info/PubMed.tsx +19 -0
- package/src/components/tree/DecisionTreeBoolMultiQuery.tsx +21 -0
- package/src/components/tree/DecisionTreeBoolQuery.tsx +22 -0
- package/src/components/tree/DecisionTreeNode.tsx +64 -0
- package/src/components/tree/DecisionTreeNodeBool.tsx +35 -0
- package/src/components/tree/DecisionTreeNodeBoolMulti.tsx +32 -0
- package/src/components/tree/DecisionTreeNodeCategorical.tsx +32 -0
- package/src/components/tree/DecisionTreeNodeExists.tsx +25 -0
- package/src/components/tree/DecisionTreeNodeLeaf.tsx +6 -0
- package/src/components/tree/DecisionTreeOutcomeNode.tsx +11 -0
- package/src/components/tree/DecisionTreePath.tsx +27 -0
- package/src/igv.d.ts +4 -1
- package/src/index.tsx +40 -0
- package/src/mocks/GRCh37/alignment.bam.blob +0 -0
- package/src/mocks/GRCh37/decisionTree.json +354 -0
- package/src/mocks/GRCh37/fasta/1-10042288-10042788.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/1-152520538-152521038.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/1-16375333-16375833.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/1-16376162-16376662.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/1-17348965-17349469.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/1-17348969-17349469.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/1-17354844-17355344.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/10-126091249-126091749.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/11-134013975-134014475.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/13-77569878-77570378.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/14-105167610-105168110.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/14-89307588-89308088.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/14-89309945-89310445.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/14-89336157-89336657.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/17-29555814-29556314.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/17-29585172-29585672.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/17-29663629-29664129.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/17-29675976-29676476.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/17-29683733-29684233.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/19-11215896-11216396.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/19-11223801-11224301.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/19-17449149-17449649.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/19-17451747-17452247.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/2-47635417-47635917.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/20-62326742-62327242.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/22-50627343-50627843.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/22-50721296-50721796.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/4-106320044-106320544.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/7-42017061-42017561.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/7-42064707-42065207.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/8-145140250-145140750.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/8-61764893-61765393.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/9-107546383-107546883.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/9-107584614-107585114.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/MT-15076-15576.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/X-48932771-48933271.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/fasta/Y-2655391-2655891.fasta.gz.blob +0 -0
- package/src/mocks/GRCh37/genes.txt.gz.blob +0 -0
- package/src/mocks/GRCh37/static.ts +179 -0
- package/src/mocks/GRCh37/vcf/family.vcf.blob +104 -0
- package/src/mocks/GRCh37/vcf/no_vep.vcf.blob +61 -0
- package/src/mocks/GRCh37/vcf/samples_0.vcf.blob +93 -0
- package/src/mocks/GRCh37/vcf/samples_1.vcf.blob +93 -0
- package/src/mocks/GRCh37/vcf/samples_100.vcf.blob +93 -0
- package/src/mocks/GRCh38/alignment.bam.blob +0 -0
- package/src/mocks/GRCh38/decisionTree.json +369 -0
- package/src/mocks/GRCh38/fasta/chr1-152548062-152548562.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr1-16049667-16050167.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr1-17022474-17022974.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr1-9982230-9982730.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr10-124402680-124403180.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr11-134144080-134144580.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr13-76995743-76996243.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr14-104701273-104701773.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr14-88869813-88870313.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr17-31228796-31229296.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr17-31336611-31337111.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr19-11105220-11105720.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr19-17340938-17341438.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr2-47408278-47408778.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr20-63695389-63695889.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr22-50188914-50189414.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr22-50282867-50283367.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr4-105398887-105399387.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr7-41977462-41977962.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr7-42025108-42025608.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr8-144085347-144085847.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr8-60852334-60852834.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chr9-104784102-104784602.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chrM-15075-15575.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chrX-49075112-49075612.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/fasta/chrY-2787350-2787850.fasta.gz.blob +0 -0
- package/src/mocks/GRCh38/genes.txt.gz.blob +0 -0
- package/src/mocks/GRCh38/static.ts +170 -0
- package/src/mocks/GRCh38/vcf/family.vcf.blob +270 -0
- package/src/mocks/GRCh38/vcf/no_vep.vcf.blob +238 -0
- package/src/mocks/GRCh38/vcf/samples_0.vcf.blob +265 -0
- package/src/mocks/GRCh38/vcf/samples_1.vcf.blob +266 -0
- package/src/mocks/GRCh38/vcf/samples_100.vcf.blob +266 -0
- package/src/mocks/MockApiClient.ts +375 -0
- package/src/mocks/static.ts +1636 -0
- package/src/mocks/utils.ts +16 -0
- package/src/store/index.tsx +169 -0
- package/src/utils/ApiUtils.ts +253 -0
- package/src/utils/decisionTreeUtils.ts +14 -0
- package/src/utils/field.ts +49 -0
- package/src/utils/query.ts +130 -0
- package/src/utils/sample.ts +5 -0
- package/src/utils/sortUtils.ts +65 -0
- package/src/utils/utils.ts +3 -0
- package/src/utils/viewUtils.ts +38 -0
- package/src/views/Home.tsx +121 -0
- package/src/views/Sample.tsx +26 -0
- package/src/views/SampleVariant.tsx +118 -0
- package/src/views/SampleVariantConsequence.tsx +105 -0
- package/src/views/SampleVariants.tsx +248 -0
- package/src/views/Samples.tsx +57 -0
- package/src/views/Variant.tsx +63 -0
- package/src/views/VariantConsequence.tsx +69 -0
- package/src/views/Variants.tsx +123 -0
- package/src/views/data/SampleData.tsx +11 -0
- package/src/views/data/SampleVariantConsequenceData.tsx +12 -0
- package/src/views/data/SampleVariantData.tsx +13 -0
- package/src/views/data/VariantConsequenceData.tsx +9 -0
- package/src/views/data/VariantData.tsx +12 -0
- package/tsconfig.json +9 -39
- package/vite.config.ts +18 -0
- package/.browserslistrc +0 -3
- package/.env +0 -2
- package/.prettierrc +0 -5
- package/.scannerwork/.sonar_lock +0 -0
- package/.scannerwork/css-bundle/stylelintconfig.json +0 -1
- package/.scannerwork/report-task.txt +0 -8
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_App_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_Alerts_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_Allele_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_Anchor_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_AnnotationsNav_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_Gene_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_GenomeBrowser_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_Genotype_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_Identifiers_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_InfoButton_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_NavigationBar_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_PubMedAnchor_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_RecordCommonDetails_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_RecordDetails_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_RecordInfoDetailsItemMultiline_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_RecordInfoDetailsItemValue_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_RecordInfoDetailsItem_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_RecordInfoDetails_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_RecordInfoNestedDetails_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_RecordInfoUnnestedDetails_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_RecordSampleDetails_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_RecordTableControls_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_RecordTable_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_SampleDetails_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_SampleInfo_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_SampleNavigation_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_SamplePedigree_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_SamplePheno_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_SampleReport_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_TreeVisualisation_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_annotation_AnnotationControl_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_annotation_ClassificationAnnotation_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_annotation_GeneMatchAnnotation_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_components_annotation_NotesAnnotation_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_globals_filters_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_globals_utils_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_store_actions_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_store_getters_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_store_mutations_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_store_state_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_types_Alert_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_types_Annotations_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_types_Consequence_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_types_Gene_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_types_GenomeBrowserDb_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_types_State_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_types_Variant_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_utils_treeBuilder_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_utils_treeDrawer_ts_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_views_About_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_views_DecisionTreeViewer_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_views_Samples_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/_home_travis_build_molgenis_vip_report_template_src_views_VcfViewer_vue_1_1_P1_ENTRY.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_App_vue_27_16_FE_145_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_Allele_vue_26_9_FE_40_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_Allele_vue_38_18_FE_41_bas.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_AnnotationsNav_vue_29_19_FE_90_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_AnnotationsNav_vue_32_20_FE_91_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_AnnotationsNav_vue_36_24_A_65_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_AnnotationsNav_vue_44_25_A_66_eve.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_AnnotationsNav_vue_55_20_FE_92_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_AnnotationsNav_vue_61_20_FE_93_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_GenomeBrowser_vue_138_19_FE_28_new.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_GenomeBrowser_vue_19_7_FE_22_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_GenomeBrowser_vue_26_21_FE_23_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_GenomeBrowser_vue_29_30_FE_24_con.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_GenomeBrowser_vue_32_30_FE_25_rec.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_GenomeBrowser_vue_47_30_FE_26_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_GenomeBrowser_vue_52_30_FE_27_rec.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_GenomeBrowser_vue_73_26_A_26_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_Genotype_vue_39_17_FE_86_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_Genotype_vue_46_21_FE_87_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_Genotype_vue_49_48_A_33_a_b.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordCommonDetails_vue_80_11_FE_119_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordCommonDetails_vue_86_10_FE_120_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoDetailsItemValue_vue_114_23_FE_34_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoDetailsItemValue_vue_123_13_FE_35_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoDetailsItemValue_vue_151_16_FE_36_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoDetailsItemValue_vue_94_19_FE_32_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoDetailsItemValue_vue_99_22_FE_33_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoDetails_vue_32_23_FE_99_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoDetails_vue_33_68_A_68_inf.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoDetails_vue_37_21_FE_100_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoDetails_vue_38_66_A_69_inf.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoDetails_vue_44_17_FE_101_thi_tha.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoDetails_vue_47_18_FE_102_met.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoNestedDetails_vue_36_11_FE_29_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoNestedDetails_vue_52_10_FE_30_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoNestedDetails_vue_57_12_FE_31_ind.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoUnnestedDetails_vue_39_11_FE_46_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoUnnestedDetails_vue_46_10_FE_47_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordInfoUnnestedDetails_vue_59_18_FE_48_thi_tha.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_257_9_FE_1_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_298_19_FE_2_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_301_11_FE_3_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_346_13_FE_4_ctx.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_354_44_A_11_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_361_9_FE_5_rec_ind_but.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_366_19_FE_6_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_370_16_FE_7_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_403_22_FE_8_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_410_33_FE_9_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_437_28_FE_10_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_444_31_FE_11_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_451_24_FE_12_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_454_32_FE_13_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_456_18_A_12_phe.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_457_14_A_13_phe.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_464_15_FE_14_ctx.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_472_19_A_14_a_b.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_481_19_A_15_a_b.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_505_19_FE_15_rec.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_511_41_A_16_con.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_520_41_A_17_con.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_532_43_A_18_con.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_537_41_A_19_con.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_541_41_A_20_con.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_545_41_A_21_con.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_556_41_A_22_con.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_560_41_A_23_con.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_564_41_A_24_con.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_568_41_A_25_con.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_580_11_FE_16_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_584_33_FE_17_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_587_44_FE_18_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_591_46_FE_19_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_595_41_FE_20_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_RecordTable_vue_599_40_FE_21_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_SampleNavigation_vue_23_19_FE_49_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_SampleNavigation_vue_24_34_A_28_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_SampleNavigation_vue_31_10_FE_50_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_SampleNavigation_vue_34_13_FE_51_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_SampleNavigation_vue_37_13_FE_52_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_SampleNavigation_vue_40_15_FE_53_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_SamplePedigree_vue_30_19_FE_103_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_SamplePedigree_vue_34_19_FE_104_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_SamplePheno_vue_44_15_FE_0_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_101_10_FE_58_cli.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_104_10_FE_59_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_109_10_FE_60_cli.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_112_10_FE_61_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_116_13_FE_62_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_120_9_FE_63_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_124_14_FE_64_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_127_13_FE_65_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_130_10_FE_66_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_133_10_FE_67_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_138_10_FE_68_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_141_10_FE_69_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_144_15_FE_70_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_149_14_FE_71_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_153_14_FE_72_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_162_14_FE_73_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_167_11_FE_74_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_170_11_FE_75_pro.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_176_16_FE_76_nod_g.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_177_21_A_29_nod.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_181_16_FE_77_edg_g.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_182_21_A_30_edg.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_186_18_FE_78_nod_edg.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_199_14_FE_79_g.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_209_15_FE_80_svg_min_max.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_216_21_A_31_eve.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_225_11_FE_81_nod_edg.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_232_12_FE_82_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_69_10_FE_54_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_72_10_FE_55_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_75_12_FE_56_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_TreeVisualisation_vue_78_7_FE_57_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_annotation_AnnotationControl_vue_20_18_FE_88_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_annotation_AnnotationControl_vue_27_13_FE_89_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_annotation_ClassificationAnnotation_vue_12_7_FE_142_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_annotation_ClassificationAnnotation_vue_27_13_FE_143_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_annotation_ClassificationAnnotation_vue_32_10_FE_144_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_annotation_GeneMatchAnnotation_vue_12_7_FE_94_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_annotation_GeneMatchAnnotation_vue_23_13_FE_95_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_annotation_GeneMatchAnnotation_vue_28_10_FE_96_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_annotation_NotesAnnotation_vue_22_7_FE_42_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_annotation_NotesAnnotation_vue_29_13_FE_43_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_annotation_NotesAnnotation_vue_34_10_FE_44_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_components_annotation_NotesAnnotation_vue_40_15_FE_45_el.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_filters_ts_12_29_FE_37_x_Ptr.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_filters_ts_17_23_FE_38_thi_tha.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_133_1_FD_2_getInfoConsequences.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_233_1_FD_3_hasVepConsequences.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_238_1_FD_4_getVepConsequences.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_267_1_FD_5_hasSnpEffConsequences.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_272_1_FD_6_getSnpEffConsequences.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_364_1_FD_7_sortConsequences.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_394_8_FD_8_getConsequences.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_406_1_FD_9_getVepPhenotypesIndex.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_422_8_FD_10_getPhenotypesSelector.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_430_1_FD_11_getVepInheritanceModesGeneIndex.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_446_8_FD_12_getInheritanceModesGeneSelector.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_454_8_FD_13_getVariant.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_59_1_FD_0_createConsequence.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_globals_utils_ts_93_1_FD_1_createConsequences.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_100_27_FE_135_Ptr_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_103_26_FE_136_Ptr_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_106_11_FE_137_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_110_13_FE_138_Ptr_loc.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_113_13_FE_139_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_117_9_FE_140_Ptr_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_120_24_FE_141_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_129_8_FD_14_setTestApi.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_25_21_FE_121_Ptr.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_29_24_FE_122_Ptr.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_40_20_FE_123_Ptr.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_45_21_FE_124_Ptr_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_57_24_FE_125_Ptr.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_67_20_FE_126_Ptr_par.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_71_15_FE_127_Ptr_rec.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_74_14_FE_128_Ptr_ale.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_77_20_FE_129_Ptr.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_80_21_FE_130_Ptr.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_83_20_FE_131_Ptr_ann.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_86_19_FE_132_Ptr_ann.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_94_30_FE_133_Ptr_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_actions_ts_97_32_FE_134_Ptr_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_100_5_A_83_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_101_5_A_84_rec.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_129_24_A_85_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_13_23_FE_118_thi_tha.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_141_46_A_86_ite.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_150_31_A_87_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_162_64_A_88_ite.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_171_32_A_89_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_184_27_A_90_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_197_26_A_91_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_24_5_A_72_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_25_5_A_73_id.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_29_39_A_74_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_31_19_A_75_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_42_37_A_76_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_44_19_A_77_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_55_37_A_78_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_57_20_A_79_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_7_12_A_71_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_87_14_A_80_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_90_20_A_81_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_getters_ts_96_24_A_82_sta.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_10_13_FE_106_sta_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_13_20_FE_107_sta_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_17_30_FE_108_sta_phe.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_20_13_FE_109_sta_rec.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_24_20_FE_110_sta_rec.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_27_11_FE_111_sta_ale.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_32_14_FE_112_sta_ale.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_33_40_A_70_anA.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_35_17_FE_113_sta_ann.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_38_30_FE_114_sta_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_41_32_FE_115_sta_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_44_27_FE_116_sta_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_47_26_FE_117_sta_val.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_store_mutations_ts_7_14_FE_105_sta_met.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeBuilder_ts_111_33_A_10_k.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeBuilder_ts_13_30_A_0_inp.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeBuilder_ts_14_43_A_1_key.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeBuilder_ts_24_29_A_2_lab_typ_que.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeBuilder_ts_34_33_A_3_out_nod_key_edg.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeBuilder_ts_48_27_A_4_nex_lab_key_edg.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeBuilder_ts_62_30_A_5_inp.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeBuilder_ts_64_40_A_6_key.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeBuilder_ts_75_31_A_7_out.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeBuilder_ts_78_18_A_8_que.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeBuilder_ts_90_46_A_9_cat.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_103_29_A_49_lab.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_104_35_A_50_a_b.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_109_32_A_51_svg_pro.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_113_24_A_52_thi_nex_thi_nex_xOf_yOf_bar.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_12_26_A_34_fon.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_133_24_A_53_lab_fon_typ_fon.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_153_18_A_54_svg_x1_y1_x2_y2_str.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_16_41_A_35_fon.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_171_18_A_55_gEl_x_y_wid_hei_isE.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_192_18_A_56_gEl_x_y_lab_fon_nod.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_20_34_A_36_bar.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_210_25_A_57_svg.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_226_29_A_58_ele_can_can.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_234_23_A_59_bar_g_e_fon_val_off_svg.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_24_28_A_37_edg.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_254_18_A_60_coo_bar_svg_nex_ind.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_273_26_A_61_svg_g_fon_gra_gra_hor.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_282_21_A_62_v.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_28_30_A_38_svg_gra.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_301_26_A_63_svg_g_bar_fon_gra_gra_hor.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_312_21_A_64_e.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_32_36_A_39_wid_hei.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_39_26_A_40_y_ind_fon_yOf.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_43_26_A_41_y_ind_fon_lab.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_48_17_A_42_y_bar_off.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_55_17_A_43_x_xOf.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_59_26_A_44_xPo_tex.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_63_21_A_45_xPo_wid.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_71_20_A_46_svg_gra_hor.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_80_20_A_47_svg_gra.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_utils_treeDrawer_ts_85_22_A_48_inn_fon_fon.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_views_About_vue_14_10_FE_97_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_views_DecisionTreeViewer_vue_21_9_A_27_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_views_DecisionTreeViewer_vue_24_16_FE_39_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_views_Samples_vue_29_10_FE_83_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_views_Samples_vue_33_16_FE_84_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_views_Samples_vue_40_40_A_32_sam.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_views_Samples_vue_47_11_FE_85_to_fro.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_views_VcfViewer_vue_16_9_A_67_0.ucfg +0 -0
- package/.scannerwork/ucfg2/js/src_views_VcfViewer_vue_22_16_FE_98_0.ucfg +0 -0
- package/babel.config.js +0 -3
- package/jest.config.js +0 -5
- package/public/index.html +0 -19
- package/sonar-project.properties +0 -6
- package/src/App.vue +0 -149
- package/src/components/Alerts.vue +0 -28
- package/src/components/Allele.vue +0 -48
- package/src/components/Anchor.vue +0 -16
- package/src/components/AnnotationsNav.vue +0 -66
- package/src/components/Gene.vue +0 -32
- package/src/components/GenomeBrowser.vue +0 -143
- package/src/components/Genotype.vue +0 -59
- package/src/components/Identifiers.vue +0 -32
- package/src/components/InfoButton.vue +0 -15
- package/src/components/NavigationBar.vue +0 -27
- package/src/components/PubMedAnchor.vue +0 -25
- package/src/components/RecordCommonDetails.vue +0 -106
- package/src/components/RecordDetails.vue +0 -56
- package/src/components/RecordInfoDetails.vue +0 -58
- package/src/components/RecordInfoDetailsItem.vue +0 -44
- package/src/components/RecordInfoDetailsItemMultiline.vue +0 -26
- package/src/components/RecordInfoDetailsItemValue.vue +0 -166
- package/src/components/RecordInfoNestedDetails.vue +0 -73
- package/src/components/RecordInfoUnnestedDetails.vue +0 -66
- package/src/components/RecordSampleDetails.vue +0 -32
- package/src/components/RecordTable.vue +0 -605
- package/src/components/RecordTableControls.vue +0 -55
- package/src/components/SampleDetails.vue +0 -91
- package/src/components/SampleInfo.vue +0 -36
- package/src/components/SampleNavigation.vue +0 -45
- package/src/components/SamplePedigree.vue +0 -40
- package/src/components/SamplePheno.vue +0 -55
- package/src/components/SampleReport.vue +0 -36
- package/src/components/TreeVisualisation.vue +0 -240
- package/src/components/annotation/AnnotationControl.vue +0 -46
- package/src/components/annotation/ClassificationAnnotation.vue +0 -37
- package/src/components/annotation/GeneMatchAnnotation.vue +0 -33
- package/src/components/annotation/NotesAnnotation.vue +0 -46
- package/src/globals/filters.ts +0 -19
- package/src/globals/utils.ts +0 -467
- package/src/i18n.ts +0 -23
- package/src/locales/en.json +0 -82
- package/src/main.ts +0 -22
- package/src/mocks/apiDataMock.ts +0 -173
- package/src/plugins/bootstrap-vue.ts +0 -68
- package/src/router/index.ts +0 -48
- package/src/shims-tsx.d.ts +0 -13
- package/src/shims-vue.d.ts +0 -4
- package/src/store/actions.ts +0 -131
- package/src/store/getters.ts +0 -207
- package/src/store/mutations.ts +0 -50
- package/src/store/state.ts +0 -18
- package/src/store/store.ts +0 -16
- package/src/types/Alert.ts +0 -5
- package/src/types/Annotations.ts +0 -14
- package/src/types/Consequence.ts +0 -36
- package/src/types/DecisionTree.d.ts +0 -96
- package/src/types/Gene.ts +0 -4
- package/src/types/GenomeBrowserDb.ts +0 -7
- package/src/types/State.ts +0 -18
- package/src/types/Variant.ts +0 -6
- package/src/types/dagreGraphlib.d.ts +0 -596
- package/src/types/graphlib.d.ts +0 -1
- package/src/types/layout.d.ts +0 -1
- package/src/utils/treeBuilder.ts +0 -112
- package/src/utils/treeDrawer.ts +0 -359
- package/src/views/About.vue +0 -18
- package/src/views/DecisionTreeViewer.vue +0 -31
- package/src/views/Samples.vue +0 -55
- package/src/views/VcfViewer.vue +0 -27
- package/tests/unit/globals/filters.spec.ts +0 -25
- package/tests/unit/globals/utils.spec.ts +0 -453
- package/tests/unit/store/actions.spec.ts +0 -191
- package/tests/unit/store/getters.spec.ts +0 -660
- package/tests/unit/store/mutations.spec.ts +0 -80
- package/tests/unit/utils/treeBuilder.spec.ts +0 -320
- package/tests/unit/utils/treeDrawer.spec.ts +0 -104
- package/vue.config.js +0 -36
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, For } from "solid-js";
|
|
2
|
+
import { SampleFilters } from "./SampleFilters";
|
|
3
|
+
import { FilterChangeEvent, FilterClearEvent } from "./Filter";
|
|
4
|
+
import { FieldMetadata } from "@molgenis/vip-report-vcf/src/MetadataParser";
|
|
5
|
+
import { Item, Sample } from "@molgenis/vip-report-api/src/Api";
|
|
6
|
+
import { FilterQueries } from "../../store";
|
|
7
|
+
|
|
8
|
+
export type SampleFields = { sample: Item<Sample>; fields: FieldMetadata[] };
|
|
9
|
+
|
|
10
|
+
export const SamplesFilters: Component<{
|
|
11
|
+
samplesFields: SampleFields[];
|
|
12
|
+
queries?: FilterQueries;
|
|
13
|
+
onChange: (event: FilterChangeEvent) => void;
|
|
14
|
+
onClear: (event: FilterClearEvent) => void;
|
|
15
|
+
}> = (props) => {
|
|
16
|
+
return (
|
|
17
|
+
<>
|
|
18
|
+
<For each={props.samplesFields}>
|
|
19
|
+
{(sampleField) => (
|
|
20
|
+
<SampleFilters
|
|
21
|
+
sample={sampleField.sample}
|
|
22
|
+
fields={sampleField.fields}
|
|
23
|
+
queries={props.queries}
|
|
24
|
+
onChange={props.onChange}
|
|
25
|
+
onClear={props.onClear}
|
|
26
|
+
/>
|
|
27
|
+
)}
|
|
28
|
+
</For>
|
|
29
|
+
</>
|
|
30
|
+
);
|
|
31
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Component, createMemo, Match, Switch } from "solid-js";
|
|
2
|
+
import { AlleleBreakend } from "./AlleleBreakend";
|
|
3
|
+
import { AlleleMissing } from "./AlleleMissing";
|
|
4
|
+
import { AlleleSymbolic } from "./AlleleSymbolic";
|
|
5
|
+
import { AlleleNucs } from "./AlleleNucs";
|
|
6
|
+
|
|
7
|
+
type AlleleType = "breakend" | "missing" | "symbolic" | "nucs";
|
|
8
|
+
|
|
9
|
+
export const Allele: Component<{ value: string | null; isAbbreviate: boolean }> = (props) => {
|
|
10
|
+
const type = createMemo((): AlleleType => {
|
|
11
|
+
const value = props.value;
|
|
12
|
+
let type: AlleleType;
|
|
13
|
+
|
|
14
|
+
if (value === null) type = "missing";
|
|
15
|
+
else if (value.startsWith("<") && value.endsWith(">")) type = "symbolic";
|
|
16
|
+
else if (value.indexOf("[") !== -1 || value.indexOf("]") !== -1 || value.indexOf(".") !== -1) type = "breakend";
|
|
17
|
+
else type = "nucs";
|
|
18
|
+
|
|
19
|
+
return type;
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<Switch>
|
|
24
|
+
<Match when={type() === "breakend"}>
|
|
25
|
+
<AlleleBreakend value={props.value as string} />
|
|
26
|
+
</Match>
|
|
27
|
+
<Match when={type() === "missing"}>
|
|
28
|
+
<AlleleMissing />
|
|
29
|
+
</Match>
|
|
30
|
+
<Match when={type() === "symbolic"}>
|
|
31
|
+
<AlleleSymbolic value={props.value as string} />
|
|
32
|
+
</Match>
|
|
33
|
+
<Match when={type() === "nucs"}>
|
|
34
|
+
<AlleleNucs values={(props.value as string).split("")} isAbbreviate={props.isAbbreviate} />
|
|
35
|
+
</Match>
|
|
36
|
+
</Switch>
|
|
37
|
+
);
|
|
38
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Component, For } from "solid-js";
|
|
2
|
+
|
|
3
|
+
const Nucs: Component<{ bases: string[] }> = (props) => {
|
|
4
|
+
return (
|
|
5
|
+
<For each={props.bases}>
|
|
6
|
+
{(base) => (
|
|
7
|
+
<span
|
|
8
|
+
classList={{
|
|
9
|
+
base: true,
|
|
10
|
+
"base-a": base === "A",
|
|
11
|
+
"base-c": base === "C",
|
|
12
|
+
"base-g": base === "G",
|
|
13
|
+
"base-n": base === "N",
|
|
14
|
+
"base-t": base === "T",
|
|
15
|
+
}}
|
|
16
|
+
>
|
|
17
|
+
{base}
|
|
18
|
+
</span>
|
|
19
|
+
)}
|
|
20
|
+
</For>
|
|
21
|
+
);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const AlleleNucs: Component<{ values: string[]; isAbbreviate: boolean }> = (props) => {
|
|
25
|
+
const abbreviate = (): boolean => props.values.length > 4 && props.isAbbreviate;
|
|
26
|
+
|
|
27
|
+
const nucs = (): string[] => {
|
|
28
|
+
let nucs = props.values;
|
|
29
|
+
if (abbreviate()) {
|
|
30
|
+
const lastNuc = nucs[nucs.length - 1];
|
|
31
|
+
nucs = nucs.slice(0, 2);
|
|
32
|
+
nucs.push("\u2026"); // ellipsis
|
|
33
|
+
nucs.push(lastNuc);
|
|
34
|
+
}
|
|
35
|
+
return nucs;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<>
|
|
40
|
+
{abbreviate() ? (
|
|
41
|
+
<abbr title={props.values.join("")}>
|
|
42
|
+
<Nucs bases={nucs()} />
|
|
43
|
+
</abbr>
|
|
44
|
+
) : (
|
|
45
|
+
<Nucs bases={nucs()} />
|
|
46
|
+
)}
|
|
47
|
+
</>
|
|
48
|
+
);
|
|
49
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Component, For } from "solid-js";
|
|
2
|
+
import { Allele } from "./Allele";
|
|
3
|
+
|
|
4
|
+
export const Alt: Component<{ value: (string | null)[]; isAbbreviate: boolean }> = (props) => {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<For each={props.value}>
|
|
8
|
+
{(alt, i) => (
|
|
9
|
+
<>
|
|
10
|
+
{i() !== 0 && <span>, </span>}
|
|
11
|
+
<Allele value={alt} isAbbreviate={props.isAbbreviate} />
|
|
12
|
+
</>
|
|
13
|
+
)}
|
|
14
|
+
</For>
|
|
15
|
+
</>
|
|
16
|
+
);
|
|
17
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, Match, Switch } from "solid-js";
|
|
2
|
+
import { Genotype, RecordSampleType } from "@molgenis/vip-report-vcf/src/SampleDataParser";
|
|
3
|
+
import { Value } from "@molgenis/vip-report-vcf/src/ValueParser";
|
|
4
|
+
import { FieldMetadata } from "@molgenis/vip-report-vcf/src/MetadataParser";
|
|
5
|
+
import { Field } from "./field/Field";
|
|
6
|
+
import { GenotypeField } from "./format/GenotypeField";
|
|
7
|
+
import { Record } from "@molgenis/vip-report-vcf/src/Vcf";
|
|
8
|
+
|
|
9
|
+
export const Format: Component<{
|
|
10
|
+
format: RecordSampleType;
|
|
11
|
+
formatMetadata: FieldMetadata;
|
|
12
|
+
record: Record;
|
|
13
|
+
isAbbreviate: boolean;
|
|
14
|
+
allelicDepth: number[] | undefined;
|
|
15
|
+
readDepth: number | undefined;
|
|
16
|
+
}> = (props) => {
|
|
17
|
+
return (
|
|
18
|
+
<Switch fallback={<Field info={props.format as Value | Value[]} infoMetadata={props.formatMetadata} />}>
|
|
19
|
+
<Match when={props.formatMetadata.id === "GT"}>
|
|
20
|
+
<GenotypeField
|
|
21
|
+
genotype={props.format as Genotype}
|
|
22
|
+
refAllele={props.record.r}
|
|
23
|
+
altAlleles={props.record.a}
|
|
24
|
+
isAbbreviate={props.isAbbreviate}
|
|
25
|
+
allelicDepth={props.allelicDepth}
|
|
26
|
+
readDepth={props.readDepth}
|
|
27
|
+
/>
|
|
28
|
+
</Match>
|
|
29
|
+
</Switch>
|
|
30
|
+
);
|
|
31
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Component, Match, Switch } from "solid-js";
|
|
2
|
+
import { Value } from "@molgenis/vip-report-vcf/src/ValueParser";
|
|
3
|
+
import { FieldMetadata } from "@molgenis/vip-report-vcf/src/MetadataParser";
|
|
4
|
+
import { Consequence } from "./info/Consequence";
|
|
5
|
+
import { Field } from "./field/Field";
|
|
6
|
+
import { Gene } from "./info/Gene";
|
|
7
|
+
import { PubMed } from "./info/PubMed";
|
|
8
|
+
import { Hgvs } from "./info/Hgvs";
|
|
9
|
+
import { ClinVar } from "./info/ClinVar";
|
|
10
|
+
import { Record } from "@molgenis/vip-report-vcf/src/Vcf";
|
|
11
|
+
import { GnomAD } from "./info/GnomAD";
|
|
12
|
+
|
|
13
|
+
export const Info: Component<{
|
|
14
|
+
info: Value | Value[];
|
|
15
|
+
infoMetadata: FieldMetadata;
|
|
16
|
+
href?: string;
|
|
17
|
+
variant: Record;
|
|
18
|
+
}> = (props) => {
|
|
19
|
+
return (
|
|
20
|
+
<Switch fallback={<Field info={props.info} infoMetadata={props.infoMetadata} />}>
|
|
21
|
+
<Match when={props.infoMetadata.id === "Consequence" && props.infoMetadata.parent?.id === "CSQ"}>
|
|
22
|
+
<Consequence terms={props.info as string[]} href={props.href} />
|
|
23
|
+
</Match>
|
|
24
|
+
<Match when={props.infoMetadata.id === "PUBMED" && props.infoMetadata.parent?.id === "CSQ"}>
|
|
25
|
+
<PubMed ids={props.info as number[]} />
|
|
26
|
+
</Match>
|
|
27
|
+
<Match when={props.infoMetadata.id === "SYMBOL" && props.infoMetadata.parent?.id === "CSQ"}>
|
|
28
|
+
{props.info !== null && <Gene symbol={props.info as string} />}
|
|
29
|
+
</Match>
|
|
30
|
+
<Match
|
|
31
|
+
when={
|
|
32
|
+
(props.infoMetadata.id === "gnomAD_HN" || props.infoMetadata.id === "gnomAD_AF") &&
|
|
33
|
+
props.infoMetadata.parent?.id === "CSQ"
|
|
34
|
+
}
|
|
35
|
+
>
|
|
36
|
+
{props.info !== null && (
|
|
37
|
+
<GnomAD id={props.infoMetadata.id} variant={props.variant} value={props.info as number} />
|
|
38
|
+
)}
|
|
39
|
+
</Match>
|
|
40
|
+
<Match
|
|
41
|
+
when={
|
|
42
|
+
(props.infoMetadata.id === "HGVSc" || props.infoMetadata.id === "HGVSp") &&
|
|
43
|
+
props.infoMetadata.parent?.id === "CSQ"
|
|
44
|
+
}
|
|
45
|
+
>
|
|
46
|
+
{props.info !== null && <Hgvs notation={props.info as string} />}
|
|
47
|
+
</Match>
|
|
48
|
+
<Match when={props.infoMetadata.id === "CLIN_SIG" && props.infoMetadata.parent?.id === "CSQ"}>
|
|
49
|
+
{props.info !== null && <ClinVar value={props.info as string} />}
|
|
50
|
+
</Match>
|
|
51
|
+
</Switch>
|
|
52
|
+
);
|
|
53
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Component, createMemo, For } from "solid-js";
|
|
2
|
+
import { Page } from "@molgenis/vip-report-api/src/Api";
|
|
3
|
+
|
|
4
|
+
const createPages = (page: number, pages: number): (number | null)[] => {
|
|
5
|
+
if (pages <= 5) {
|
|
6
|
+
return [...Array(pages).keys()];
|
|
7
|
+
} else if (page < 3) {
|
|
8
|
+
return [0, 1, 2, null, pages - 1];
|
|
9
|
+
} else if (page > pages - 4) {
|
|
10
|
+
return [0, null, pages - 3, pages - 2, pages - 1];
|
|
11
|
+
} else {
|
|
12
|
+
return [0, null, page, null, pages - 1];
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const Pager: Component<{
|
|
17
|
+
page: Page;
|
|
18
|
+
onPageChange: (page: number) => void;
|
|
19
|
+
}> = (props) => {
|
|
20
|
+
const currentPage = () => props.page.number;
|
|
21
|
+
const nrPages = createMemo(() => Math.ceil(props.page.totalElements / props.page.size));
|
|
22
|
+
const pages = createMemo(() => createPages(currentPage(), nrPages()));
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<>
|
|
26
|
+
{props.page.totalElements > props.page.size && (
|
|
27
|
+
<nav class="pagination is-centered">
|
|
28
|
+
<ul class="pagination-list">
|
|
29
|
+
<li>
|
|
30
|
+
<a
|
|
31
|
+
classList={{ "pagination-previous": true, "is-invisible": currentPage() === 0 }}
|
|
32
|
+
onClick={currentPage() > 0 ? () => props.onPageChange(currentPage() - 1) : undefined}
|
|
33
|
+
>
|
|
34
|
+
Previous
|
|
35
|
+
</a>
|
|
36
|
+
</li>
|
|
37
|
+
<For each={pages()}>
|
|
38
|
+
{(page) =>
|
|
39
|
+
page !== null ? (
|
|
40
|
+
<a
|
|
41
|
+
classList={{ "pagination-link": true, "is-current": page === currentPage() }}
|
|
42
|
+
onClick={page !== currentPage() ? () => props.onPageChange(page) : undefined}
|
|
43
|
+
>
|
|
44
|
+
{page + 1}
|
|
45
|
+
</a>
|
|
46
|
+
) : (
|
|
47
|
+
<span class="pagination-ellipsis">…</span>
|
|
48
|
+
)
|
|
49
|
+
}
|
|
50
|
+
</For>
|
|
51
|
+
<li>
|
|
52
|
+
<a
|
|
53
|
+
classList={{ "pagination-next": true, "is-invisible": currentPage() === nrPages() - 1 }}
|
|
54
|
+
onClick={currentPage() < nrPages() - 1 ? () => props.onPageChange(currentPage() + 1) : undefined}
|
|
55
|
+
>
|
|
56
|
+
Next
|
|
57
|
+
</a>
|
|
58
|
+
</li>
|
|
59
|
+
</ul>
|
|
60
|
+
</nav>
|
|
61
|
+
)}
|
|
62
|
+
</>
|
|
63
|
+
);
|
|
64
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Component } from "solid-js";
|
|
2
|
+
import { Query, Sample } from "@molgenis/vip-report-api/src/Api";
|
|
3
|
+
import { Metadata } from "@molgenis/vip-report-vcf/src/Vcf";
|
|
4
|
+
import api from "../../Api";
|
|
5
|
+
import { Filter, writeVcf } from "@molgenis/vip-report-vcf/src/VcfWriter";
|
|
6
|
+
|
|
7
|
+
export const RecordDownload: Component<{ recordsMetadata: Metadata; query?: Query; samples?: Sample[] }> = (props) => {
|
|
8
|
+
const filter = (): Filter | undefined =>
|
|
9
|
+
props.samples ? { samples: props.samples.map((sample) => sample.person.individualId) } : undefined;
|
|
10
|
+
|
|
11
|
+
function onClick() {
|
|
12
|
+
const handler = async () => {
|
|
13
|
+
const records = await api.getRecords({ query: props.query, size: Number.MAX_SAFE_INTEGER });
|
|
14
|
+
const vcf = writeVcf({ metadata: props.recordsMetadata, data: records.items.map((item) => item.data) }, filter());
|
|
15
|
+
|
|
16
|
+
const url = window.URL.createObjectURL(new Blob([vcf]));
|
|
17
|
+
const link = document.createElement("a");
|
|
18
|
+
link.href = url;
|
|
19
|
+
link.setAttribute("download", "data.vcf");
|
|
20
|
+
document.body.appendChild(link);
|
|
21
|
+
link.click();
|
|
22
|
+
document.body.removeChild(link);
|
|
23
|
+
};
|
|
24
|
+
handler().catch((error) => console.error(error));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<div class="control">
|
|
29
|
+
<button class="button is-info" onClick={onClick}>
|
|
30
|
+
<span class="icon is-small">
|
|
31
|
+
<i class="fas fa-download" />
|
|
32
|
+
</span>
|
|
33
|
+
</button>
|
|
34
|
+
</div>
|
|
35
|
+
);
|
|
36
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Component } from "solid-js";
|
|
2
|
+
import { Value } from "@molgenis/vip-report-vcf/src/ValueParser";
|
|
3
|
+
import { FieldMetadata } from "@molgenis/vip-report-vcf/src/MetadataParser";
|
|
4
|
+
import { FieldSingleValue } from "./FieldSingleValue";
|
|
5
|
+
import { FieldMultipleValue } from "./FieldMultipleValue";
|
|
6
|
+
|
|
7
|
+
export const Field: Component<{
|
|
8
|
+
info: Value | Value[];
|
|
9
|
+
infoMetadata: FieldMetadata;
|
|
10
|
+
}> = (props) => {
|
|
11
|
+
return (
|
|
12
|
+
<>
|
|
13
|
+
{props.infoMetadata.number.count === 1 ? (
|
|
14
|
+
<FieldSingleValue info={props.info as Value} infoMetadata={props.infoMetadata} />
|
|
15
|
+
) : (
|
|
16
|
+
<FieldMultipleValue info={props.info as Value[]} infoMetadata={props.infoMetadata} />
|
|
17
|
+
)}
|
|
18
|
+
</>
|
|
19
|
+
);
|
|
20
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, For } from "solid-js";
|
|
2
|
+
import { Value } from "@molgenis/vip-report-vcf/src/ValueParser";
|
|
3
|
+
import { FieldMetadata } from "@molgenis/vip-report-vcf/src/MetadataParser";
|
|
4
|
+
import { FieldSingleValue } from "./FieldSingleValue";
|
|
5
|
+
|
|
6
|
+
export const FieldMultipleValue: Component<{
|
|
7
|
+
info: Value[];
|
|
8
|
+
infoMetadata: FieldMetadata;
|
|
9
|
+
}> = (props) => {
|
|
10
|
+
return (
|
|
11
|
+
<>
|
|
12
|
+
<For each={props.info}>
|
|
13
|
+
{(value, i) => (
|
|
14
|
+
<>
|
|
15
|
+
{i() !== 0 && <span>, </span>}
|
|
16
|
+
<FieldSingleValue info={value} infoMetadata={props.infoMetadata} />
|
|
17
|
+
</>
|
|
18
|
+
)}
|
|
19
|
+
</For>
|
|
20
|
+
</>
|
|
21
|
+
);
|
|
22
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Component, Match, Switch } from "solid-js";
|
|
2
|
+
import { Value } from "@molgenis/vip-report-vcf/src/ValueParser";
|
|
3
|
+
import { FieldMetadata } from "@molgenis/vip-report-vcf/src/MetadataParser";
|
|
4
|
+
import { FieldValueFloat } from "./FieldValueFloat";
|
|
5
|
+
import { FieldValueString } from "./FieldValueString";
|
|
6
|
+
import { FieldValueCharacter } from "./FieldValueCharacter";
|
|
7
|
+
import { FieldValueInteger } from "./FieldValueInteger";
|
|
8
|
+
import { FieldValueFlag } from "./FieldValueFlag";
|
|
9
|
+
import { Error } from "../../Error";
|
|
10
|
+
|
|
11
|
+
export const FieldSingleValue: Component<{
|
|
12
|
+
info: Value;
|
|
13
|
+
infoMetadata: FieldMetadata;
|
|
14
|
+
}> = (props) => {
|
|
15
|
+
const type = () => props.infoMetadata.type;
|
|
16
|
+
return (
|
|
17
|
+
<Switch fallback={<Error error={`invalid info type ${type()}`} />}>
|
|
18
|
+
<Match when={type() === "CATEGORICAL" || type() === "STRING"}>
|
|
19
|
+
<FieldValueString value={props.info as string} />
|
|
20
|
+
</Match>
|
|
21
|
+
<Match when={type() === "CHARACTER"}>
|
|
22
|
+
<FieldValueCharacter value={props.info as string} />
|
|
23
|
+
</Match>
|
|
24
|
+
<Match when={type() === "FLAG"}>
|
|
25
|
+
<FieldValueFlag value={props.info as boolean} />
|
|
26
|
+
</Match>
|
|
27
|
+
<Match when={type() === "FLOAT"}>
|
|
28
|
+
<FieldValueFloat value={props.info as number} />
|
|
29
|
+
</Match>
|
|
30
|
+
<Match when={type() === "INTEGER"}>
|
|
31
|
+
<FieldValueInteger value={props.info as number} />
|
|
32
|
+
</Match>
|
|
33
|
+
</Switch>
|
|
34
|
+
);
|
|
35
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component, Show } from "solid-js";
|
|
2
|
+
|
|
3
|
+
export const FieldValueCharacter: Component<{
|
|
4
|
+
value: string | null | undefined;
|
|
5
|
+
}> = (props) => {
|
|
6
|
+
return (
|
|
7
|
+
<Show when={props.value !== null && props.value !== undefined}>
|
|
8
|
+
<span>{props.value as string}</span>
|
|
9
|
+
</Show>
|
|
10
|
+
);
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component, Show } from "solid-js";
|
|
2
|
+
|
|
3
|
+
export const FieldValueFlag: Component<{
|
|
4
|
+
value: boolean | null | undefined;
|
|
5
|
+
}> = (props) => {
|
|
6
|
+
return (
|
|
7
|
+
<Show when={props.value !== null && props.value !== undefined}>
|
|
8
|
+
<span>{props.value as boolean}</span>
|
|
9
|
+
</Show>
|
|
10
|
+
);
|
|
11
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Component, Show } from "solid-js";
|
|
2
|
+
import { Abbr } from "../../Abbr";
|
|
3
|
+
|
|
4
|
+
export const FieldValueFloat: Component<{
|
|
5
|
+
value: number | null | undefined;
|
|
6
|
+
}> = (props) => {
|
|
7
|
+
return (
|
|
8
|
+
<Show when={props.value !== null && props.value !== undefined}>
|
|
9
|
+
<Show
|
|
10
|
+
when={(props.value as number).toString().length > 6}
|
|
11
|
+
fallback={<span>{(props.value as number).toString()}</span>}
|
|
12
|
+
>
|
|
13
|
+
<Abbr title={(props.value as number).toString()} value={(props.value as number).toFixed(4)} />
|
|
14
|
+
</Show>
|
|
15
|
+
</Show>
|
|
16
|
+
);
|
|
17
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component, Show } from "solid-js";
|
|
2
|
+
|
|
3
|
+
export const FieldValueInteger: Component<{
|
|
4
|
+
value: number | null | undefined;
|
|
5
|
+
}> = (props) => {
|
|
6
|
+
return (
|
|
7
|
+
<Show when={props.value !== null && props.value !== undefined}>
|
|
8
|
+
<span>{props.value as number}</span>
|
|
9
|
+
</Show>
|
|
10
|
+
);
|
|
11
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component, Show } from "solid-js";
|
|
2
|
+
import { Abbr } from "../../Abbr";
|
|
3
|
+
|
|
4
|
+
export const FieldValueString: Component<{
|
|
5
|
+
value: string | null | undefined;
|
|
6
|
+
}> = (props) => {
|
|
7
|
+
return (
|
|
8
|
+
<Show when={props.value !== null && props.value !== undefined}>
|
|
9
|
+
<Show when={(props.value as string).length > 20} fallback={<span>{props.value as string}</span>}>
|
|
10
|
+
<Abbr title={props.value as string} value={(props.value as string).substring(0, 20)} />
|
|
11
|
+
</Show>
|
|
12
|
+
</Show>
|
|
13
|
+
);
|
|
14
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Component, For, Show } from "solid-js";
|
|
2
|
+
import { Genotype } from "@molgenis/vip-report-vcf/src/SampleDataParser";
|
|
3
|
+
import { Allele } from "../Allele";
|
|
4
|
+
|
|
5
|
+
function isAllelicImbalance(genotype: Genotype, allelicDepth: number[] | undefined) {
|
|
6
|
+
if (genotype.t === "het" && allelicDepth !== undefined) {
|
|
7
|
+
let total = 0;
|
|
8
|
+
allelicDepth?.forEach((value) => {
|
|
9
|
+
total = total + value;
|
|
10
|
+
});
|
|
11
|
+
const balance = allelicDepth[0] / total;
|
|
12
|
+
return balance < 0.2 || balance > 0.8;
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function getTitle(lowReadDepth: boolean, allelicImbalance: boolean) {
|
|
18
|
+
let title = "";
|
|
19
|
+
if (lowReadDepth) {
|
|
20
|
+
title = "Read depth < 20";
|
|
21
|
+
}
|
|
22
|
+
if (allelicImbalance) {
|
|
23
|
+
if (lowReadDepth) {
|
|
24
|
+
title = `${title}, `;
|
|
25
|
+
}
|
|
26
|
+
title = `${title}Allelic imbalance`;
|
|
27
|
+
}
|
|
28
|
+
return title;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export const GenotypeField: Component<{
|
|
32
|
+
genotype: Genotype;
|
|
33
|
+
refAllele: string;
|
|
34
|
+
altAlleles: (string | null)[];
|
|
35
|
+
isAbbreviate: boolean;
|
|
36
|
+
allelicDepth: number[] | undefined;
|
|
37
|
+
readDepth: number | undefined;
|
|
38
|
+
}> = (props) => {
|
|
39
|
+
const allelicImbalance: boolean = isAllelicImbalance(props.genotype, props.allelicDepth);
|
|
40
|
+
const lowReadDepth = props.readDepth !== undefined && props.readDepth < 20;
|
|
41
|
+
return (
|
|
42
|
+
<>
|
|
43
|
+
<For each={props.genotype.a}>
|
|
44
|
+
{(alleleIndex, i) => (
|
|
45
|
+
<>
|
|
46
|
+
{i() !== 0 && <span class="phase">{props.genotype.p ? "|" : "/"}</span>}
|
|
47
|
+
<Allele
|
|
48
|
+
value={
|
|
49
|
+
alleleIndex !== null ? (alleleIndex === 0 ? props.refAllele : props.altAlleles[alleleIndex - 1]) : null
|
|
50
|
+
}
|
|
51
|
+
isAbbreviate={props.isAbbreviate}
|
|
52
|
+
/>
|
|
53
|
+
</>
|
|
54
|
+
)}
|
|
55
|
+
</For>
|
|
56
|
+
<Show when={lowReadDepth || allelicImbalance}>
|
|
57
|
+
<abbr title={getTitle(lowReadDepth, allelicImbalance)} class="ml-1">
|
|
58
|
+
<i class="fas fa-circle-exclamation has-text-danger" />
|
|
59
|
+
</abbr>
|
|
60
|
+
</Show>
|
|
61
|
+
</>
|
|
62
|
+
);
|
|
63
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Component } from "solid-js";
|
|
2
|
+
|
|
3
|
+
export const ClinVar: Component<{
|
|
4
|
+
value: string;
|
|
5
|
+
}> = (props) => {
|
|
6
|
+
function getClass(value: string): string {
|
|
7
|
+
const vClasses = [];
|
|
8
|
+
for (const token of value) {
|
|
9
|
+
for (const subToken of token.split("/")) {
|
|
10
|
+
let vClass;
|
|
11
|
+
switch (subToken) {
|
|
12
|
+
case "benign":
|
|
13
|
+
vClass = "B";
|
|
14
|
+
break;
|
|
15
|
+
case "likely_benign":
|
|
16
|
+
vClass = "LB";
|
|
17
|
+
break;
|
|
18
|
+
case "uncertain_significance":
|
|
19
|
+
vClass = "VUS";
|
|
20
|
+
break;
|
|
21
|
+
case "likely_pathogenic":
|
|
22
|
+
vClass = "LP";
|
|
23
|
+
break;
|
|
24
|
+
case "pathogenic":
|
|
25
|
+
vClass = "P";
|
|
26
|
+
break;
|
|
27
|
+
default:
|
|
28
|
+
vClass = value;
|
|
29
|
+
}
|
|
30
|
+
vClasses.push(vClass);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return [...new Set(vClasses)].sort().join("/");
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return <span>{getClass(props.value)}</span>;
|
|
37
|
+
};
|