Class AnalysisResultSetsWebService
AnalysisResultSet-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classConcreteResponseDataObjecttype for the pvalueDistribution endpoint so Swagger has a non-generic schema to reference. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionjakarta.ws.rs.core.ResponsegetPvalueDistribution(ExpressionAnalysisResultSetArg analysisResultSet, int bins, String column) Histogram-binned p-values for a differential-expression result set.getResultSet(ExpressionAnalysisResultSetArg analysisResultSet, Double threshold, OffsetArg offsetArg, LimitArg limitArg, Boolean includeFactorValuesInContrasts, Boolean includeTaxonInGenes, Boolean excludeResults, jakarta.ws.rs.core.HttpHeaders headers) Retrieve aAnalysisResultSetgiven its identifier.getResultSets(DatasetArrayArg datasets, DatabaseEntryArrayArg databaseEntries, FilterArg<ExpressionAnalysisResultSet> filters, OffsetArg offset, LimitArg limit, SortArg<ExpressionAnalysisResultSet> sort, CursorArg cursorArg) Retrieve allAnalysisResultSetmatching a set of criteria.
-
Field Details
-
TEXT_TAB_SEPARATED_VALUES_UTF8_Q9
- See Also:
-
-
Constructor Details
-
AnalysisResultSetsWebService
public AnalysisResultSetsWebService()
-
-
Method Details
-
getResultSets
@GZIP @GET @Produces("application/json") public Object getResultSets(@QueryParam("datasets") DatasetArrayArg datasets, @QueryParam("databaseEntries") DatabaseEntryArrayArg databaseEntries, @QueryParam("filter") @DefaultValue("") FilterArg<ExpressionAnalysisResultSet> filters, @QueryParam("offset") @DefaultValue("0") OffsetArg offset, @QueryParam("limit") @DefaultValue("20") LimitArg limit, @QueryParam("sort") @DefaultValue("+id") SortArg<ExpressionAnalysisResultSet> sort, @QueryParam("cursor") CursorArg cursorArg) Retrieve allAnalysisResultSetmatching a set of criteria.- Parameters:
datasets- filter result sets that belong to any of the provided dataset identifiers, or null to ignoredatabaseEntries- filter by associated datasets with given external identifiers, or null to ignore
-
getNumberOfResultSets
@GET @Path("/count") @Produces("application/json") public ResponseDataObject<Long> getNumberOfResultSets(@QueryParam("filter") @DefaultValue("") FilterArg<ExpressionAnalysisResultSet> filter) -
getResultSet
@GZIP(mediaTypes="application/json") @GZIP(mediaTypes="text/tab-separated-values; charset=UTF-8",alreadyCompressed=true) @GET @Path("/{resultSet}") @Produces({"application/json","text/tab-separated-values; charset=UTF-8; q=0.9"}) public Object getResultSet(@PathParam("resultSet") ExpressionAnalysisResultSetArg analysisResultSet, @QueryParam("threshold") Double threshold, @QueryParam("offset") OffsetArg offsetArg, @QueryParam("limit") LimitArg limitArg, @QueryParam("includeFactorValuesInContrasts") Boolean includeFactorValuesInContrasts, @QueryParam("includeTaxonInGenes") Boolean includeTaxonInGenes, @QueryParam("excludeResults") @DefaultValue("false") Boolean excludeResults, @Context jakarta.ws.rs.core.HttpHeaders headers) Retrieve aAnalysisResultSetgiven its identifier. -
getPvalueDistribution
@GET @Path("/{resultSet}/pvalueDistribution") @Produces("application/json") public jakarta.ws.rs.core.Response getPvalueDistribution(@PathParam("resultSet") ExpressionAnalysisResultSetArg analysisResultSet, @QueryParam("bins") @DefaultValue("20") int bins, @QueryParam("column") @DefaultValue("raw") String column) Histogram-binned p-values for a differential-expression result set.Served straight out of the stored
PVALUE_DISTRIBUTIONrow hanging off the result set (ANALYSIS_RESULT_SET.PVALUE_DISTRIBUTION_FK); nothing is aggregated per request.DifferentialExpressionAnalyzerServiceImpl#addPvalueDistributionwrites it when the analysis is run: 100 fixed-width bins over[0, 1]ofresult.getPvalue(), i.e. the RAW p-values. Measured on production 2026-08-31:PVALUE_DISTRIBUTIONis 0.1 GB and every one of the 56,616 result sets has a row, whereas theDIFFERENTIAL_EXPRESSION_ANALYSIS_RESULTtable the previous implementation grouped over is 120.5 GB / ~1,574,396,269 rows.Because the stored bins are fixed,
binscan only merge whole stored bins — it has to divide the stored bin count exactly. Splitting a stored count across two output bins would be inventing data, so a non-divisor is a 400 rather than an approximation.
-