@sjcrh/proteinpaint-server 2.19.0 → 2.19.1
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/package.json +1 -1
- package/server.js +1 -1
- package/utils/wilcoxon.R +23 -13
package/utils/wilcoxon.R
CHANGED
|
@@ -12,14 +12,21 @@
|
|
|
12
12
|
# Results are written in JSON format to stdout.
|
|
13
13
|
|
|
14
14
|
# Input JSON specifications:
|
|
15
|
-
# {
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
15
|
+
# [{
|
|
16
|
+
# group1_id: group1 id,
|
|
17
|
+
# group1_values: [] group1 data values,
|
|
18
|
+
# group2_id: group2 id,
|
|
19
|
+
# group2_values: [] group2 data values
|
|
20
|
+
# }]
|
|
20
21
|
#
|
|
21
22
|
# Output JSON specifications:
|
|
22
|
-
# {
|
|
23
|
+
# [{
|
|
24
|
+
# group1_id: group1 id,
|
|
25
|
+
# group1_values: [] group1 data values,
|
|
26
|
+
# group2_id: group2 id,
|
|
27
|
+
# group2_values: [] group2 data values,
|
|
28
|
+
# pvalue: p-value of test
|
|
29
|
+
# }]
|
|
23
30
|
|
|
24
31
|
|
|
25
32
|
########
|
|
@@ -36,12 +43,12 @@ dat <- fromJSON(infile)
|
|
|
36
43
|
|
|
37
44
|
# function to compute wilcox p-value between two groups of values
|
|
38
45
|
getPvalue <- function(x) {
|
|
39
|
-
if (length(x$
|
|
46
|
+
if (length(x$group1_values) == 0 || length(x$group2_values) == 0) {
|
|
40
47
|
# all samples fall in one group
|
|
41
48
|
# return NA p-value
|
|
42
49
|
return(unbox("NA"))
|
|
43
50
|
}
|
|
44
|
-
|
|
51
|
+
|
|
45
52
|
# perform Wilcox test between groups
|
|
46
53
|
# suppress warnings because a warning message will be
|
|
47
54
|
# generated when sample size is small (<50) and ties
|
|
@@ -50,14 +57,17 @@ getPvalue <- function(x) {
|
|
|
50
57
|
# still be computed using a normal approximation
|
|
51
58
|
# NOTE: do not set exact=TRUE because this will use large
|
|
52
59
|
# amounts of memory when sample sizes are large
|
|
53
|
-
wt <- suppressWarnings(wilcox.test(x$
|
|
54
|
-
|
|
60
|
+
wt <- suppressWarnings(wilcox.test(x$group1_values, x$group2_values))
|
|
61
|
+
|
|
55
62
|
# return p-value
|
|
56
63
|
return(unbox(wt$p.value))
|
|
57
64
|
}
|
|
58
65
|
|
|
59
66
|
# compute Wilcox p-value for each data entry
|
|
60
|
-
pvalues <-
|
|
67
|
+
pvalues <- apply(dat, 1, getPvalue)
|
|
68
|
+
|
|
69
|
+
# append p-values to data
|
|
70
|
+
datWithPvalues <- cbind(dat, "pvalue" = pvalues, stringsAsFactors = F)
|
|
61
71
|
|
|
62
|
-
# output p-values
|
|
63
|
-
toJSON(
|
|
72
|
+
# output data with p-values
|
|
73
|
+
toJSON(datWithPvalues)
|