From 8ffd58121132599da67814564fe872ea3c9302cd Mon Sep 17 00:00:00 2001 From: asizemore Date: Fri, 7 Feb 2025 09:26:34 -0500 Subject: [PATCH 1/3] successful response of basic scatter with point IDs --- .../data/plugin/pass/ScatterplotPlugin.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/veupathdb/service/eda/data/plugin/pass/ScatterplotPlugin.java b/src/main/java/org/veupathdb/service/eda/data/plugin/pass/ScatterplotPlugin.java index 461000b3..5540a76b 100644 --- a/src/main/java/org/veupathdb/service/eda/data/plugin/pass/ScatterplotPlugin.java +++ b/src/main/java/org/veupathdb/service/eda/data/plugin/pass/ScatterplotPlugin.java @@ -123,6 +123,7 @@ protected void writeResults(OutputStream out, Map dataStrea String deprecatedShowMissingness = showMissingness.equals("FALSE") ? "noVariables" : showMissingness.equals("TRUE") ? "strataVariables" : showMissingness; String yVarType = util.getVariableType(spec.getYAxisVariable()); String correlationMethod = spec.getCorrelationMethod() != null ? spec.getCorrelationMethod().getValue() : "none"; + String recordIdColumnName = util.toColNameOrEmpty(util.getEntityIdVarSpec(spec.getOutputEntityId())); if (yVarType.equals("DATE") && !valueSpec.equals("raw")) { LOG.error("Cannot calculate trend lines for y-axis date variables. The `valueSpec` property must be set to `raw`."); @@ -139,6 +140,7 @@ protected void writeResults(OutputStream out, Map dataStrea nonStrataVarColNames, (name, conn) -> conn.voidEval(util.getVoidEvalFreadCommand(name, + util.getEntityIdVarSpec(spec.getOutputEntityId()), spec.getXAxisVariable(), spec.getYAxisVariable(), spec.getOverlayVariable(), @@ -148,10 +150,22 @@ protected void writeResults(OutputStream out, Map dataStrea useRConnectionWithProcessedRemoteFiles(Resources.RSERVE_URL, filesProcessor, connection -> { connection.voidEval(getVoidEvalVariableMetadataList(varMap)); + connection.voidEval("print(head(" + DEFAULT_SINGLE_STREAM_NAME + "))"); + connection.voidEval("print("+DEFAULT_SINGLE_STREAM_NAME+ ")"); + connection.voidEval("print('"+recordIdColumnName+"')"); String cmd = - "plot.data::scattergl(" + DEFAULT_SINGLE_STREAM_NAME + ", variables, '" + - valueSpec + "', NULL, correlationMethod = '" + correlationMethod + "', TRUE, TRUE, '" + - deprecatedShowMissingness + "')"; + "plot.data::scattergl(" + + DEFAULT_SINGLE_STREAM_NAME + + ", variables" + + ", value= '" + valueSpec + + "', overlayValues = NULL" + + ", correlationMethod = '" + correlationMethod + + "', sampleSizes=TRUE, completeCases=TRUE" + + ", evilMode='" + deprecatedShowMissingness + + "', idColumn = '" + recordIdColumnName + + "', returnPointIds = TRUE)"; + System.out.println(cmd); + // connection.voidEval("print('"+ cmd + "')"); streamResult(connection, cmd, out); }); } From 68f258059d11688141b1ee40377b5d7307b671a2 Mon Sep 17 00:00:00 2001 From: asizemore Date: Thu, 13 Feb 2025 08:18:57 -0500 Subject: [PATCH 2/3] add returnPointIds to raml --- schema/library.raml | 3 +++ schema/url/data/pass/plugin-scatterplot.raml | 3 +++ .../service/eda/data/plugin/pass/ScatterplotPlugin.java | 9 +++------ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/schema/library.raml b/schema/library.raml index 7b565d45..935b0469 100644 --- a/schema/library.raml +++ b/schema/library.raml @@ -1956,6 +1956,9 @@ types: required: false format: int64 correlationMethod: ScatterCorrelationMethod + returnPointIds: + type: boolean + required: false Scatterplot: type: object additionalProperties: false diff --git a/schema/url/data/pass/plugin-scatterplot.raml b/schema/url/data/pass/plugin-scatterplot.raml index c108b89d..3bb51e1d 100644 --- a/schema/url/data/pass/plugin-scatterplot.raml +++ b/schema/url/data/pass/plugin-scatterplot.raml @@ -40,6 +40,9 @@ types: required: false correlationMethod: type: ScatterCorrelationMethod + returnPointIds: + type: boolean + required: false Scatterplot: additionalProperties: false diff --git a/src/main/java/org/veupathdb/service/eda/data/plugin/pass/ScatterplotPlugin.java b/src/main/java/org/veupathdb/service/eda/data/plugin/pass/ScatterplotPlugin.java index 5540a76b..c9fd8885 100644 --- a/src/main/java/org/veupathdb/service/eda/data/plugin/pass/ScatterplotPlugin.java +++ b/src/main/java/org/veupathdb/service/eda/data/plugin/pass/ScatterplotPlugin.java @@ -124,6 +124,7 @@ protected void writeResults(OutputStream out, Map dataStrea String yVarType = util.getVariableType(spec.getYAxisVariable()); String correlationMethod = spec.getCorrelationMethod() != null ? spec.getCorrelationMethod().getValue() : "none"; String recordIdColumnName = util.toColNameOrEmpty(util.getEntityIdVarSpec(spec.getOutputEntityId())); + String returnPointIds = spec.getReturnPointIds() != null ? String.valueOf(spec.getReturnPointIds()).toUpperCase() : "FALSE"; if (yVarType.equals("DATE") && !valueSpec.equals("raw")) { LOG.error("Cannot calculate trend lines for y-axis date variables. The `valueSpec` property must be set to `raw`."); @@ -150,9 +151,6 @@ protected void writeResults(OutputStream out, Map dataStrea useRConnectionWithProcessedRemoteFiles(Resources.RSERVE_URL, filesProcessor, connection -> { connection.voidEval(getVoidEvalVariableMetadataList(varMap)); - connection.voidEval("print(head(" + DEFAULT_SINGLE_STREAM_NAME + "))"); - connection.voidEval("print("+DEFAULT_SINGLE_STREAM_NAME+ ")"); - connection.voidEval("print('"+recordIdColumnName+"')"); String cmd = "plot.data::scattergl(" + DEFAULT_SINGLE_STREAM_NAME + @@ -163,9 +161,8 @@ protected void writeResults(OutputStream out, Map dataStrea "', sampleSizes=TRUE, completeCases=TRUE" + ", evilMode='" + deprecatedShowMissingness + "', idColumn = '" + recordIdColumnName + - "', returnPointIds = TRUE)"; - System.out.println(cmd); - // connection.voidEval("print('"+ cmd + "')"); + "', returnPointIds = " + returnPointIds + ")"; + streamResult(connection, cmd, out); }); } From 8edb29199206c0c1144f6c5254ff4d21e9c528c1 Mon Sep 17 00:00:00 2001 From: asizemore Date: Wed, 19 Feb 2025 11:06:04 -0500 Subject: [PATCH 3/3] update raml --- schema/library.raml | 3 +++ schema/url/data/plots.raml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/schema/library.raml b/schema/library.raml index 935b0469..490b2ef1 100644 --- a/schema/library.raml +++ b/schema/library.raml @@ -2239,6 +2239,9 @@ types: r2: type: number required: false + pointIds: + type: string[] + required: false DensityplotData: type: object additionalProperties: false diff --git a/schema/url/data/plots.raml b/schema/url/data/plots.raml index da43790a..952c574b 100644 --- a/schema/url/data/plots.raml +++ b/schema/url/data/plots.raml @@ -243,6 +243,9 @@ types: r2: type: number required: false + pointIds: + type: string[] + required: false DensityplotData: additionalProperties: false