diff --git a/GeneticsCore/resources/etls/MHC_Typing.xml b/GeneticsCore/resources/etls/MHC_Typing.xml index 1b8134db3..9e93c1e25 100644 --- a/GeneticsCore/resources/etls/MHC_Typing.xml +++ b/GeneticsCore/resources/etls/MHC_Typing.xml @@ -11,6 +11,7 @@ marker result assaytype + librarytype score totalTests objectid diff --git a/GeneticsCore/resources/queries/geneticscore/mhc_data_source.sql b/GeneticsCore/resources/queries/geneticscore/mhc_data_source.sql index d66017d3f..5eb5501e1 100644 --- a/GeneticsCore/resources/queries/geneticscore/mhc_data_source.sql +++ b/GeneticsCore/resources/queries/geneticscore/mhc_data_source.sql @@ -13,6 +13,7 @@ SELECT s.totalRecords as totalTests, s.status as result, cast('SSP' as varchar) as assaytype, + 'N/A' as librarytype, NULL as score FROM assay.SSP_assay.SSP.SSP_Summary s @@ -27,6 +28,7 @@ SELECT count(*) as totalTests, cast('POS' as varchar) as result, cast('SBT' as varchar) as assaytype, + a.analysisId.readset.libraryType as librarytype, sum(a.result) / (SELECT count(DISTINCT a2.analysisId) as total FROM assay.GenotypeAssay.Genotype.Data a2 WHERE a2.subjectId = a.subjectId AND a2.run.assayType = 'SBT' ) AS score, FROM assay.GenotypeAssay.Genotype.Data a @@ -42,6 +44,7 @@ DISTINCT s.subjectId, 1 as totalTests, cast('NEG' as varchar) as result, cast('SBT' as varchar) as assaytype, + null as librarytype, NULL as score, --we want any IDs with SBT data, but lacking data for these special-cased markers diff --git a/GeneticsCore/resources/schemas/dbscripts/postgresql/geneticscore-17.14-17.15.sql b/GeneticsCore/resources/schemas/dbscripts/postgresql/geneticscore-17.14-17.15.sql new file mode 100644 index 000000000..9bbbd6300 --- /dev/null +++ b/GeneticsCore/resources/schemas/dbscripts/postgresql/geneticscore-17.14-17.15.sql @@ -0,0 +1 @@ +ALTER TABLE geneticscore.mhc_data ADD librarytype varchar(1000); \ No newline at end of file diff --git a/GeneticsCore/resources/schemas/dbscripts/sqlserver/geneticscore-17.14-17.15.sql b/GeneticsCore/resources/schemas/dbscripts/sqlserver/geneticscore-17.14-17.15.sql new file mode 100644 index 000000000..44938f852 --- /dev/null +++ b/GeneticsCore/resources/schemas/dbscripts/sqlserver/geneticscore-17.14-17.15.sql @@ -0,0 +1 @@ +ALTER TABLE geneticscore.mhc_data ADD libraryType varchar(1000); \ No newline at end of file diff --git a/GeneticsCore/resources/schemas/geneticscore.xml b/GeneticsCore/resources/schemas/geneticscore.xml index edd583b0f..b6e75f073 100644 --- a/GeneticsCore/resources/schemas/geneticscore.xml +++ b/GeneticsCore/resources/schemas/geneticscore.xml @@ -44,6 +44,9 @@ Assay Type + + Library Type + Key true diff --git a/GeneticsCore/resources/views/mhcDataDashboard.html b/GeneticsCore/resources/views/mhcDataDashboard.html index 8ca2fcdb5..baabebe4e 100644 --- a/GeneticsCore/resources/views/mhcDataDashboard.html +++ b/GeneticsCore/resources/views/mhcDataDashboard.html @@ -86,6 +86,12 @@ schemaName: 'geneticscore', queryName: 'mhc_data' }) + },{ + name: 'Manage Library Types', + url: LABKEY.ActionURL.buildURL('query', 'executeQuery.view', null, { + schemaName: 'sequenceanalysis', + queryName: 'library_types' + }) }] },{ header: 'Data Archival', diff --git a/GeneticsCore/src/org/labkey/GeneticsCore/GeneticsCoreModule.java b/GeneticsCore/src/org/labkey/GeneticsCore/GeneticsCoreModule.java index 4bc8cdea1..dd534e5e1 100644 --- a/GeneticsCore/src/org/labkey/GeneticsCore/GeneticsCoreModule.java +++ b/GeneticsCore/src/org/labkey/GeneticsCore/GeneticsCoreModule.java @@ -40,7 +40,7 @@ public String getName() @Override public @Nullable Double getSchemaVersion() { - return 17.14; + return 17.15; } @Override diff --git a/GeneticsCore/src/org/labkey/GeneticsCore/mhc/MhcTaskRef.java b/GeneticsCore/src/org/labkey/GeneticsCore/mhc/MhcTaskRef.java index 91aeaee97..67c77dae4 100644 --- a/GeneticsCore/src/org/labkey/GeneticsCore/mhc/MhcTaskRef.java +++ b/GeneticsCore/src/org/labkey/GeneticsCore/mhc/MhcTaskRef.java @@ -159,7 +159,7 @@ private void processSubject(PipelineJob job, String subject) throws PipelineJobE } List> toInsert = new ArrayList<>(); - Set fields = PageFlowUtil.set("subjectid", "marker", "result", "assaytype", "totalTests", "score"); + Set fields = PageFlowUtil.set("subjectid", "marker", "result", "assaytype", "totalTests", "score", "librarytype"); new TableSelector(us.getTable("mhc_data_source"), fields, new SimpleFilter(FieldKey.fromString("subjectId"), subject), null).forEachResults(rs -> { CaseInsensitiveHashMap map = new CaseInsensitiveHashMap<>(); for (String f : fields) diff --git a/onprc_reports/resources/queries/sequenceanalysis/MHC_Data_Unified.sql b/onprc_reports/resources/queries/sequenceanalysis/MHC_Data_Unified.sql index 5e9794932..4b350de19 100644 --- a/onprc_reports/resources/queries/sequenceanalysis/MHC_Data_Unified.sql +++ b/onprc_reports/resources/queries/sequenceanalysis/MHC_Data_Unified.sql @@ -10,7 +10,8 @@ SELECT null as shortName, sum(t.totalTests) as totalTests, t.result, - GROUP_CONCAT(distinct t.assaytype) as type + GROUP_CONCAT(distinct t.assaytype) as type, + GROUP_CONCAT(distinct t.libraryType) as libraryTypes FROM geneticscore.mhc_data t GROUP BY t.subjectid, t.marker, t.result