scitex 2.11.0__py3-none-any.whl → 2.13.0__py3-none-any.whl
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.
- scitex/__main__.py +24 -5
- scitex/__version__.py +1 -1
- scitex/_optional_deps.py +33 -0
- scitex/ai/classification/reporters/_ClassificationReporter.py +1 -1
- scitex/ai/classification/timeseries/_TimeSeriesBlockingSplit.py +2 -2
- scitex/ai/classification/timeseries/_TimeSeriesCalendarSplit.py +2 -2
- scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit.py +2 -2
- scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit_v01-not-using-n_splits.py +2 -2
- scitex/ai/classification/timeseries/_TimeSeriesStratifiedSplit.py +2 -2
- scitex/ai/classification/timeseries/_normalize_timestamp.py +1 -1
- scitex/ai/metrics/_calc_seizure_prediction_metrics.py +1 -1
- scitex/ai/plt/_plot_feature_importance.py +1 -1
- scitex/ai/plt/_plot_learning_curve.py +1 -1
- scitex/ai/plt/_plot_optuna_study.py +1 -1
- scitex/ai/plt/_plot_pre_rec_curve.py +1 -1
- scitex/ai/plt/_plot_roc_curve.py +1 -1
- scitex/ai/plt/_stx_conf_mat.py +1 -1
- scitex/ai/training/_LearningCurveLogger.py +1 -1
- scitex/audio/mcp_server.py +38 -8
- scitex/browser/automation/CookieHandler.py +1 -1
- scitex/browser/core/BrowserMixin.py +1 -1
- scitex/browser/core/ChromeProfileManager.py +1 -1
- scitex/browser/debugging/_browser_logger.py +1 -1
- scitex/browser/debugging/_highlight_element.py +1 -1
- scitex/browser/debugging/_show_grid.py +1 -1
- scitex/browser/interaction/click_center.py +1 -1
- scitex/browser/interaction/click_with_fallbacks.py +1 -1
- scitex/browser/interaction/close_popups.py +1 -1
- scitex/browser/interaction/fill_with_fallbacks.py +1 -1
- scitex/browser/pdf/click_download_for_chrome_pdf_viewer.py +1 -1
- scitex/browser/pdf/detect_chrome_pdf_viewer.py +1 -1
- scitex/browser/stealth/HumanBehavior.py +1 -1
- scitex/browser/stealth/StealthManager.py +1 -1
- scitex/canvas/_mcp_handlers.py +372 -0
- scitex/canvas/_mcp_tool_schemas.py +219 -0
- scitex/canvas/mcp_server.py +151 -0
- scitex/capture/mcp_server.py +41 -12
- scitex/cli/audio.py +233 -0
- scitex/cli/capture.py +307 -0
- scitex/cli/main.py +27 -4
- scitex/cli/repro.py +233 -0
- scitex/cli/resource.py +240 -0
- scitex/cli/stats.py +325 -0
- scitex/cli/template.py +236 -0
- scitex/cli/tex.py +286 -0
- scitex/cli/web.py +11 -12
- scitex/dev/__init__.py +3 -0
- scitex/dev/_pyproject.py +405 -0
- scitex/dev/plt/__init__.py +2 -2
- scitex/dev/plt/mpl/get_dir_ax.py +1 -1
- scitex/dev/plt/mpl/get_signatures.py +1 -1
- scitex/dev/plt/mpl/get_signatures_details.py +1 -1
- scitex/diagram/_mcp_handlers.py +400 -0
- scitex/diagram/_mcp_tool_schemas.py +157 -0
- scitex/diagram/mcp_server.py +151 -0
- scitex/dsp/_demo_sig.py +51 -5
- scitex/dsp/_mne.py +13 -2
- scitex/dsp/_modulation_index.py +15 -3
- scitex/dsp/_pac.py +23 -5
- scitex/dsp/_psd.py +16 -4
- scitex/dsp/_resample.py +24 -4
- scitex/dsp/_transform.py +16 -3
- scitex/dsp/add_noise.py +15 -1
- scitex/dsp/norm.py +17 -2
- scitex/dsp/reference.py +17 -1
- scitex/dsp/utils/_differential_bandpass_filters.py +20 -2
- scitex/dsp/utils/_zero_pad.py +18 -4
- scitex/dt/_normalize_timestamp.py +1 -1
- scitex/git/_session.py +1 -1
- scitex/io/_load_modules/_con.py +12 -1
- scitex/io/_load_modules/_eeg.py +12 -1
- scitex/io/_load_modules/_optuna.py +21 -63
- scitex/io/_load_modules/_torch.py +11 -3
- scitex/io/_save_modules/_optuna_study_as_csv_and_pngs.py +13 -2
- scitex/io/_save_modules/_torch.py +11 -3
- scitex/mcp_server.py +159 -0
- scitex/plt/_mcp_handlers.py +361 -0
- scitex/plt/_mcp_tool_schemas.py +169 -0
- scitex/plt/mcp_server.py +205 -0
- scitex/repro/README_RandomStateManager.md +3 -3
- scitex/repro/_RandomStateManager.py +14 -14
- scitex/repro/_gen_ID.py +1 -1
- scitex/repro/_gen_timestamp.py +1 -1
- scitex/repro/_hash_array.py +4 -4
- scitex/scholar/__main__.py +24 -2
- scitex/scholar/_mcp_handlers.py +685 -0
- scitex/scholar/_mcp_tool_schemas.py +339 -0
- scitex/scholar/docs/template.py +1 -1
- scitex/scholar/examples/07_storage_integration.py +1 -1
- scitex/scholar/impact_factor/jcr/ImpactFactorJCREngine.py +1 -1
- scitex/scholar/impact_factor/jcr/build_database.py +1 -1
- scitex/scholar/mcp_server.py +315 -0
- scitex/scholar/pdf_download/ScholarPDFDownloader.py +1 -1
- scitex/scholar/pipelines/ScholarPipelineBibTeX.py +1 -1
- scitex/scholar/pipelines/ScholarPipelineParallel.py +1 -1
- scitex/scholar/pipelines/ScholarPipelineSingle.py +1 -1
- scitex/scholar/storage/PaperIO.py +1 -1
- scitex/session/README.md +4 -4
- scitex/session/__init__.py +1 -1
- scitex/session/_decorator.py +9 -9
- scitex/session/_lifecycle.py +5 -5
- scitex/session/template.py +1 -1
- scitex/stats/__main__.py +281 -0
- scitex/stats/_mcp_handlers.py +1191 -0
- scitex/stats/_mcp_tool_schemas.py +384 -0
- scitex/stats/correct/_correct_bonferroni.py +1 -1
- scitex/stats/correct/_correct_fdr.py +1 -1
- scitex/stats/correct/_correct_fdr_.py +1 -1
- scitex/stats/correct/_correct_holm.py +1 -1
- scitex/stats/correct/_correct_sidak.py +1 -1
- scitex/stats/effect_sizes/_cliffs_delta.py +1 -1
- scitex/stats/effect_sizes/_cohens_d.py +1 -1
- scitex/stats/effect_sizes/_epsilon_squared.py +1 -1
- scitex/stats/effect_sizes/_eta_squared.py +1 -1
- scitex/stats/effect_sizes/_prob_superiority.py +1 -1
- scitex/stats/mcp_server.py +405 -0
- scitex/stats/posthoc/_dunnett.py +1 -1
- scitex/stats/posthoc/_games_howell.py +1 -1
- scitex/stats/posthoc/_tukey_hsd.py +1 -1
- scitex/stats/power/_power.py +1 -1
- scitex/stats/utils/_effect_size.py +1 -1
- scitex/stats/utils/_formatters.py +1 -1
- scitex/stats/utils/_power.py +1 -1
- scitex/template/_mcp_handlers.py +259 -0
- scitex/template/_mcp_tool_schemas.py +112 -0
- scitex/template/mcp_server.py +186 -0
- scitex/utils/_verify_scitex_format.py +2 -2
- scitex/utils/template.py +1 -1
- scitex/web/__init__.py +12 -11
- scitex/web/_scraping.py +26 -265
- scitex/web/download_images.py +316 -0
- scitex/writer/Writer.py +1 -1
- scitex/writer/_clone_writer_project.py +1 -1
- scitex/writer/_validate_tree_structures.py +1 -1
- scitex/writer/dataclasses/config/_WriterConfig.py +1 -1
- scitex/writer/dataclasses/contents/_ManuscriptContents.py +1 -1
- scitex/writer/dataclasses/core/_Document.py +1 -1
- scitex/writer/dataclasses/core/_DocumentSection.py +1 -1
- scitex/writer/dataclasses/results/_CompilationResult.py +1 -1
- scitex/writer/dataclasses/results/_LaTeXIssue.py +1 -1
- scitex/writer/utils/.legacy_git_retry.py +7 -5
- scitex/writer/utils/_parse_latex_logs.py +1 -1
- {scitex-2.11.0.dist-info → scitex-2.13.0.dist-info}/METADATA +431 -269
- {scitex-2.11.0.dist-info → scitex-2.13.0.dist-info}/RECORD +147 -118
- scitex-2.13.0.dist-info/entry_points.txt +11 -0
- scitex-2.11.0.dist-info/entry_points.txt +0 -2
- {scitex-2.11.0.dist-info → scitex-2.13.0.dist-info}/WHEEL +0 -0
- {scitex-2.11.0.dist-info → scitex-2.13.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# Timestamp: 2026-01-08
|
|
3
|
+
# File: src/scitex/stats/_mcp_tool_schemas.py
|
|
4
|
+
# ----------------------------------------
|
|
5
|
+
|
|
6
|
+
"""Tool schemas for the scitex-stats MCP server."""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
import mcp.types as types
|
|
11
|
+
|
|
12
|
+
__all__ = ["get_tool_schemas"]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def get_tool_schemas() -> list[types.Tool]:
|
|
16
|
+
"""Return all tool schemas for the Stats MCP server."""
|
|
17
|
+
return [
|
|
18
|
+
# Test Recommendation
|
|
19
|
+
types.Tool(
|
|
20
|
+
name="recommend_tests",
|
|
21
|
+
description=(
|
|
22
|
+
"Recommend appropriate statistical tests based on data characteristics. "
|
|
23
|
+
"Returns ranked list of tests with rationale."
|
|
24
|
+
),
|
|
25
|
+
inputSchema={
|
|
26
|
+
"type": "object",
|
|
27
|
+
"properties": {
|
|
28
|
+
"n_groups": {
|
|
29
|
+
"type": "integer",
|
|
30
|
+
"description": "Number of groups to compare",
|
|
31
|
+
"default": 2,
|
|
32
|
+
},
|
|
33
|
+
"sample_sizes": {
|
|
34
|
+
"type": "array",
|
|
35
|
+
"items": {"type": "integer"},
|
|
36
|
+
"description": "Sample sizes for each group",
|
|
37
|
+
},
|
|
38
|
+
"outcome_type": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "Type of outcome variable",
|
|
41
|
+
"enum": ["continuous", "ordinal", "categorical", "binary"],
|
|
42
|
+
"default": "continuous",
|
|
43
|
+
},
|
|
44
|
+
"design": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"description": "Study design",
|
|
47
|
+
"enum": ["between", "within", "mixed"],
|
|
48
|
+
"default": "between",
|
|
49
|
+
},
|
|
50
|
+
"paired": {
|
|
51
|
+
"type": "boolean",
|
|
52
|
+
"description": "Whether data is paired/matched",
|
|
53
|
+
"default": False,
|
|
54
|
+
},
|
|
55
|
+
"has_control_group": {
|
|
56
|
+
"type": "boolean",
|
|
57
|
+
"description": "Whether there is a control group",
|
|
58
|
+
"default": False,
|
|
59
|
+
},
|
|
60
|
+
"top_k": {
|
|
61
|
+
"type": "integer",
|
|
62
|
+
"description": "Number of recommendations to return",
|
|
63
|
+
"default": 3,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
),
|
|
68
|
+
# Run Statistical Test
|
|
69
|
+
types.Tool(
|
|
70
|
+
name="run_test",
|
|
71
|
+
description=(
|
|
72
|
+
"Execute a statistical test on provided data. "
|
|
73
|
+
"Returns test statistic, p-value, effect size, and confidence intervals."
|
|
74
|
+
),
|
|
75
|
+
inputSchema={
|
|
76
|
+
"type": "object",
|
|
77
|
+
"properties": {
|
|
78
|
+
"test_name": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"description": "Name of test to run",
|
|
81
|
+
"enum": [
|
|
82
|
+
"ttest_ind",
|
|
83
|
+
"ttest_paired",
|
|
84
|
+
"ttest_1samp",
|
|
85
|
+
"brunner_munzel",
|
|
86
|
+
"mannwhitneyu",
|
|
87
|
+
"wilcoxon",
|
|
88
|
+
"anova",
|
|
89
|
+
"kruskal",
|
|
90
|
+
"chi2",
|
|
91
|
+
"fisher_exact",
|
|
92
|
+
"pearson",
|
|
93
|
+
"spearman",
|
|
94
|
+
"kendall",
|
|
95
|
+
],
|
|
96
|
+
},
|
|
97
|
+
"data": {
|
|
98
|
+
"type": "array",
|
|
99
|
+
"items": {"type": "array", "items": {"type": "number"}},
|
|
100
|
+
"description": "Data arrays for each group",
|
|
101
|
+
},
|
|
102
|
+
"alternative": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"description": "Alternative hypothesis",
|
|
105
|
+
"enum": ["two-sided", "less", "greater"],
|
|
106
|
+
"default": "two-sided",
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
"required": ["test_name", "data"],
|
|
110
|
+
},
|
|
111
|
+
),
|
|
112
|
+
# Format Results
|
|
113
|
+
types.Tool(
|
|
114
|
+
name="format_results",
|
|
115
|
+
description=(
|
|
116
|
+
"Format statistical results in journal style (APA, Nature, etc.)"
|
|
117
|
+
),
|
|
118
|
+
inputSchema={
|
|
119
|
+
"type": "object",
|
|
120
|
+
"properties": {
|
|
121
|
+
"test_name": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"description": "Name of the statistical test",
|
|
124
|
+
},
|
|
125
|
+
"statistic": {
|
|
126
|
+
"type": "number",
|
|
127
|
+
"description": "Test statistic value",
|
|
128
|
+
},
|
|
129
|
+
"p_value": {
|
|
130
|
+
"type": "number",
|
|
131
|
+
"description": "P-value",
|
|
132
|
+
},
|
|
133
|
+
"df": {
|
|
134
|
+
"type": "number",
|
|
135
|
+
"description": "Degrees of freedom (if applicable)",
|
|
136
|
+
},
|
|
137
|
+
"effect_size": {
|
|
138
|
+
"type": "number",
|
|
139
|
+
"description": "Effect size value",
|
|
140
|
+
},
|
|
141
|
+
"effect_size_name": {
|
|
142
|
+
"type": "string",
|
|
143
|
+
"description": "Name of effect size measure (d, r, eta2, etc.)",
|
|
144
|
+
},
|
|
145
|
+
"style": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"description": "Journal formatting style",
|
|
148
|
+
"enum": ["apa", "nature", "science", "brief"],
|
|
149
|
+
"default": "apa",
|
|
150
|
+
},
|
|
151
|
+
"ci_lower": {
|
|
152
|
+
"type": "number",
|
|
153
|
+
"description": "Lower bound of confidence interval",
|
|
154
|
+
},
|
|
155
|
+
"ci_upper": {
|
|
156
|
+
"type": "number",
|
|
157
|
+
"description": "Upper bound of confidence interval",
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
"required": ["test_name", "statistic", "p_value"],
|
|
161
|
+
},
|
|
162
|
+
),
|
|
163
|
+
# Power Analysis
|
|
164
|
+
types.Tool(
|
|
165
|
+
name="power_analysis",
|
|
166
|
+
description=(
|
|
167
|
+
"Calculate statistical power or required sample size. "
|
|
168
|
+
"Supports various test types."
|
|
169
|
+
),
|
|
170
|
+
inputSchema={
|
|
171
|
+
"type": "object",
|
|
172
|
+
"properties": {
|
|
173
|
+
"test_type": {
|
|
174
|
+
"type": "string",
|
|
175
|
+
"description": "Type of statistical test",
|
|
176
|
+
"enum": ["ttest", "anova", "correlation", "chi2"],
|
|
177
|
+
"default": "ttest",
|
|
178
|
+
},
|
|
179
|
+
"effect_size": {
|
|
180
|
+
"type": "number",
|
|
181
|
+
"description": "Expected effect size (Cohen's d, f, r, w)",
|
|
182
|
+
},
|
|
183
|
+
"alpha": {
|
|
184
|
+
"type": "number",
|
|
185
|
+
"description": "Significance level",
|
|
186
|
+
"default": 0.05,
|
|
187
|
+
},
|
|
188
|
+
"power": {
|
|
189
|
+
"type": "number",
|
|
190
|
+
"description": "Desired statistical power (for sample size calculation)",
|
|
191
|
+
"default": 0.8,
|
|
192
|
+
},
|
|
193
|
+
"n": {
|
|
194
|
+
"type": "integer",
|
|
195
|
+
"description": "Sample size (for power calculation)",
|
|
196
|
+
},
|
|
197
|
+
"n_groups": {
|
|
198
|
+
"type": "integer",
|
|
199
|
+
"description": "Number of groups (for ANOVA)",
|
|
200
|
+
"default": 2,
|
|
201
|
+
},
|
|
202
|
+
"ratio": {
|
|
203
|
+
"type": "number",
|
|
204
|
+
"description": "Ratio of group sizes (n2/n1)",
|
|
205
|
+
"default": 1.0,
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
),
|
|
210
|
+
# Correct P-values
|
|
211
|
+
types.Tool(
|
|
212
|
+
name="correct_pvalues",
|
|
213
|
+
description=(
|
|
214
|
+
"Apply multiple comparison correction to p-values. "
|
|
215
|
+
"Supports Bonferroni, FDR (Benjamini-Hochberg), Holm, and Sidak methods."
|
|
216
|
+
),
|
|
217
|
+
inputSchema={
|
|
218
|
+
"type": "object",
|
|
219
|
+
"properties": {
|
|
220
|
+
"pvalues": {
|
|
221
|
+
"type": "array",
|
|
222
|
+
"items": {"type": "number"},
|
|
223
|
+
"description": "Array of p-values to correct",
|
|
224
|
+
},
|
|
225
|
+
"method": {
|
|
226
|
+
"type": "string",
|
|
227
|
+
"description": "Correction method",
|
|
228
|
+
"enum": ["bonferroni", "fdr_bh", "fdr_by", "holm", "sidak"],
|
|
229
|
+
"default": "fdr_bh",
|
|
230
|
+
},
|
|
231
|
+
"alpha": {
|
|
232
|
+
"type": "number",
|
|
233
|
+
"description": "Family-wise error rate",
|
|
234
|
+
"default": 0.05,
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
"required": ["pvalues"],
|
|
238
|
+
},
|
|
239
|
+
),
|
|
240
|
+
# Descriptive Statistics
|
|
241
|
+
types.Tool(
|
|
242
|
+
name="describe",
|
|
243
|
+
description=(
|
|
244
|
+
"Calculate descriptive statistics for data. "
|
|
245
|
+
"Returns mean, std, median, quartiles, skewness, kurtosis."
|
|
246
|
+
),
|
|
247
|
+
inputSchema={
|
|
248
|
+
"type": "object",
|
|
249
|
+
"properties": {
|
|
250
|
+
"data": {
|
|
251
|
+
"type": "array",
|
|
252
|
+
"items": {"type": "number"},
|
|
253
|
+
"description": "Data array to describe",
|
|
254
|
+
},
|
|
255
|
+
"percentiles": {
|
|
256
|
+
"type": "array",
|
|
257
|
+
"items": {"type": "number"},
|
|
258
|
+
"description": "Percentiles to calculate (0-100)",
|
|
259
|
+
"default": [25, 50, 75],
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
"required": ["data"],
|
|
263
|
+
},
|
|
264
|
+
),
|
|
265
|
+
# Effect Size Calculation
|
|
266
|
+
types.Tool(
|
|
267
|
+
name="effect_size",
|
|
268
|
+
description=(
|
|
269
|
+
"Calculate effect size between groups. "
|
|
270
|
+
"Returns Cohen's d, Hedges' g, or other appropriate measure."
|
|
271
|
+
),
|
|
272
|
+
inputSchema={
|
|
273
|
+
"type": "object",
|
|
274
|
+
"properties": {
|
|
275
|
+
"group1": {
|
|
276
|
+
"type": "array",
|
|
277
|
+
"items": {"type": "number"},
|
|
278
|
+
"description": "First group data",
|
|
279
|
+
},
|
|
280
|
+
"group2": {
|
|
281
|
+
"type": "array",
|
|
282
|
+
"items": {"type": "number"},
|
|
283
|
+
"description": "Second group data",
|
|
284
|
+
},
|
|
285
|
+
"measure": {
|
|
286
|
+
"type": "string",
|
|
287
|
+
"description": "Effect size measure",
|
|
288
|
+
"enum": ["cohens_d", "hedges_g", "glass_delta", "cliffs_delta"],
|
|
289
|
+
"default": "cohens_d",
|
|
290
|
+
},
|
|
291
|
+
"pooled": {
|
|
292
|
+
"type": "boolean",
|
|
293
|
+
"description": "Use pooled standard deviation",
|
|
294
|
+
"default": True,
|
|
295
|
+
},
|
|
296
|
+
},
|
|
297
|
+
"required": ["group1", "group2"],
|
|
298
|
+
},
|
|
299
|
+
),
|
|
300
|
+
# Normality Test
|
|
301
|
+
types.Tool(
|
|
302
|
+
name="normality_test",
|
|
303
|
+
description=(
|
|
304
|
+
"Test whether data follows a normal distribution. "
|
|
305
|
+
"Returns test statistic and p-value."
|
|
306
|
+
),
|
|
307
|
+
inputSchema={
|
|
308
|
+
"type": "object",
|
|
309
|
+
"properties": {
|
|
310
|
+
"data": {
|
|
311
|
+
"type": "array",
|
|
312
|
+
"items": {"type": "number"},
|
|
313
|
+
"description": "Data to test for normality",
|
|
314
|
+
},
|
|
315
|
+
"method": {
|
|
316
|
+
"type": "string",
|
|
317
|
+
"description": "Normality test method",
|
|
318
|
+
"enum": ["shapiro", "dagostino", "anderson", "lilliefors"],
|
|
319
|
+
"default": "shapiro",
|
|
320
|
+
},
|
|
321
|
+
},
|
|
322
|
+
"required": ["data"],
|
|
323
|
+
},
|
|
324
|
+
),
|
|
325
|
+
# Post-hoc Tests
|
|
326
|
+
types.Tool(
|
|
327
|
+
name="posthoc_test",
|
|
328
|
+
description=(
|
|
329
|
+
"Run post-hoc pairwise comparisons after significant ANOVA/Kruskal. "
|
|
330
|
+
"Supports Tukey HSD, Dunnett, Games-Howell, Dunn."
|
|
331
|
+
),
|
|
332
|
+
inputSchema={
|
|
333
|
+
"type": "object",
|
|
334
|
+
"properties": {
|
|
335
|
+
"groups": {
|
|
336
|
+
"type": "array",
|
|
337
|
+
"items": {"type": "array", "items": {"type": "number"}},
|
|
338
|
+
"description": "Data arrays for each group",
|
|
339
|
+
},
|
|
340
|
+
"group_names": {
|
|
341
|
+
"type": "array",
|
|
342
|
+
"items": {"type": "string"},
|
|
343
|
+
"description": "Names for each group",
|
|
344
|
+
},
|
|
345
|
+
"method": {
|
|
346
|
+
"type": "string",
|
|
347
|
+
"description": "Post-hoc method",
|
|
348
|
+
"enum": ["tukey", "dunnett", "games_howell", "dunn"],
|
|
349
|
+
"default": "tukey",
|
|
350
|
+
},
|
|
351
|
+
"control_group": {
|
|
352
|
+
"type": "integer",
|
|
353
|
+
"description": "Index of control group (for Dunnett)",
|
|
354
|
+
"default": 0,
|
|
355
|
+
},
|
|
356
|
+
},
|
|
357
|
+
"required": ["groups"],
|
|
358
|
+
},
|
|
359
|
+
),
|
|
360
|
+
# P-value to Stars
|
|
361
|
+
types.Tool(
|
|
362
|
+
name="p_to_stars",
|
|
363
|
+
description=("Convert p-value to significance stars (*, **, ***, ns)"),
|
|
364
|
+
inputSchema={
|
|
365
|
+
"type": "object",
|
|
366
|
+
"properties": {
|
|
367
|
+
"p_value": {
|
|
368
|
+
"type": "number",
|
|
369
|
+
"description": "P-value to convert",
|
|
370
|
+
},
|
|
371
|
+
"thresholds": {
|
|
372
|
+
"type": "array",
|
|
373
|
+
"items": {"type": "number"},
|
|
374
|
+
"description": "Significance thresholds",
|
|
375
|
+
"default": [0.001, 0.01, 0.05],
|
|
376
|
+
},
|
|
377
|
+
},
|
|
378
|
+
"required": ["p_value"],
|
|
379
|
+
},
|
|
380
|
+
),
|
|
381
|
+
]
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
# EOF
|
|
@@ -392,7 +392,7 @@ def demo(verbose=False):
|
|
|
392
392
|
"""Demonstrate FDR correction."""
|
|
393
393
|
import scitex as stx
|
|
394
394
|
|
|
395
|
-
# CONFIG, sys.stdout, sys.stderr, plt, CC,
|
|
395
|
+
# CONFIG, sys.stdout, sys.stderr, plt, CC, rng
|
|
396
396
|
|
|
397
397
|
logger.info("Demonstrating False Discovery Rate correction")
|
|
398
398
|
|