Browse code

update to new ontology system (#63)

Gavin Rhys Lloyd authored on 26/07/2021 09:30:25 • GitHub committed on 26/07/2021 09:30:25
Showing 1 changed files
... ...
@@ -13,7 +13,7 @@ log_transform = function(base=10,...) {
13 13
 
14 14
 .log_transform<-setClass(
15 15
     "log_transform",
16
-    contains = c('model','stato'),
16
+    contains = c('model'),
17 17
     slots=c(base='entity',
18 18
         transformed='entity'
19 19
     ),
... ...
@@ -24,7 +24,7 @@ log_transform = function(base=10,...) {
24 24
         predicted = 'transformed',
25 25
         .params=c('base'),
26 26
         .outputs=c('transformed'),
27
-        stato_id = 'OBI:0200094',
27
+        ontology = 'OBI:0200094',
28 28
         base=entity(name = 'Logarithm base',
29 29
             description = 'The base of the logarithm used for the transform.',
30 30
             value = 10,
Browse code

Release 3 12 candidate (#32)

* fix base=10 regardless of input (see #15)

class constructor was always setting base to 10 instead of the input value

* merge bug fix 1.01 into dev (#19)

* bug fix issue #7

Correctly re-order the sample_meta column for colouring samples in the dendrogram plot

* version bump

bug fix issue #7

* fix for https://github.com/computational-metabolomics/structToolbox/issues/18 (#20)

correctly reorder the factor labels so that the control group always ends up in the denominator for the fold change calculation.

* fix for https://github.com/computational-metabolomics/structToolbox/issues/18

fixed incorrect length check on matching class labels.

* Issue 17 ttest factor (#21)

* convert to factor if not one already

fix for issue #17

* update roxygen version

* fix for issue #9 (#22)

changed from lapply to vapply and used drop=FALSE to ensure compatibility with a single factor.

* allow user to set lambda (#24)

- lambda changed to input parameter. NULL = uses pmp optimisation
- model_predict now uses the set value of lambda, or lambda_opt if used.
- documentation updated

* Feature non parametric fold change (#26)

* add "median" method

based on DOI: 10.1080/00949650212140 can now calcuate fold changes equivalent to using medians and corresponding confidence intervals

* update documentation

* update median method

now correctly calculates ratio of medians

* use wilcox for paired median intervals

make use of wilcox.test to estimate intervals for the median when using median for paired samples

* Issue 23 filter by name (#27)

* fix for #23

moved all model_apply functionality to model_predict so that model_train and model_predict can be used as well as model_apply

* update documentation

* Update mean_of_medians.R (#29)

fix for #28
- correctly loop over all levels in the named factor

* Feature documentation 3 12 (#31)

* update documentation

Description and inputs now pulled from the object definitions for consistency.

* fix definition of label_features

allows NULL and description updated

* replace non ascii characters

* export mixed_effect object

* use correct object name to generate documentation

* export mixed_effect object

* remove non ascii characters

* update tests with new object name

* add import for capture.output

* add import for capture.output

* use pca_biplot in tests

chart was renamed

* add utils import

* update struct dependency version

* update documentation

* update news, version bump

Gavin Rhys Lloyd authored on 25/10/2020 08:50:13 • GitHub committed on 25/10/2020 08:50:13
Showing 1 changed files
... ...
@@ -1,15 +1,11 @@
1
-#' log transform
2
-#'
3
-#' Applies a log transform to the input data
4
-#' @param base The base of the logarithm. Default is 10, resulting in a log10 transformation of the data.
5
-#' @param ... additional slots and values passed to struct_class
1
+#' @eval get_description('log_transform')
6 2
 #' @return struct object
7 3
 #' @export log_transform
8 4
 #' @examples
9 5
 #' M = log_transform()
10 6
 log_transform = function(base=10,...) {
11 7
     out=struct::new_struct('log_transform',
12
-        base=10,
8
+        base=base,
13 9
         ...)
14 10
     return(out)
15 11
 }
... ...
@@ -17,24 +13,24 @@ log_transform = function(base=10,...) {
17 13
 
18 14
 .log_transform<-setClass(
19 15
     "log_transform",
20
-    contains = c('model'),
16
+    contains = c('model','stato'),
21 17
     slots=c(base='entity',
22 18
         transformed='entity'
23 19
     ),
24 20
 
25 21
     prototype=list(name = 'logarithm transform',
26
-        description = 'applies a log tranform to the data.',
22
+        description = 'A logarithmic transform is applied to all values in the data matrix.',
27 23
         type = 'transform',
28 24
         predicted = 'transformed',
29 25
         .params=c('base'),
30 26
         .outputs=c('transformed'),
31
-
32
-        base=entity(name = 'logarithm base',
33
-            description = 'The base of the logarithm used for the tranform.',
27
+        stato_id = 'OBI:0200094',
28
+        base=entity(name = 'Logarithm base',
29
+            description = 'The base of the logarithm used for the transform.',
34 30
             value = 10,
35 31
             type='numeric'),
36 32
 
37
-        transformed=entity(name = 'log transformed DatasetExperiment',
33
+        transformed=entity(name = 'Log transformed DatasetExperiment',
38 34
             description = 'A DatasetExperiment object containing the log transformed data.',
39 35
             type='DatasetExperiment',
40 36
             value=DatasetExperiment()
Browse code

update to use new struct class constructors

Gavin Rhys Lloyd authored on 06/02/2020 13:51:52
Showing 1 changed files
... ...
@@ -1,14 +1,16 @@
1 1
 #' log transform
2 2
 #'
3
-#' applies a log transform to the input data
3
+#' Applies a log transform to the input data
4
+#' @param base The base of the logarithm. Default is 10, resulting in a log10 transformation of the data.
4 5
 #' @param ... additional slots and values passed to struct_class
5 6
 #' @return struct object
6 7
 #' @export log_transform
7 8
 #' @examples
8 9
 #' M = log_transform()
9
-log_transform = function(...) {
10
-    out=.log_transform()
11
-    out=struct::new_struct(out,...)
10
+log_transform = function(base=10,...) {
11
+    out=struct::new_struct('log_transform',
12
+        base=10,
13
+        ...)
12 14
     return(out)
13 15
 }
14 16
 
... ...
@@ -24,6 +26,8 @@ log_transform = function(...) {
24 26
         description = 'applies a log tranform to the data.',
25 27
         type = 'transform',
26 28
         predicted = 'transformed',
29
+        .params=c('base'),
30
+        .outputs=c('transformed'),
27 31
 
28 32
         base=entity(name = 'logarithm base',
29 33
             description = 'The base of the logarithm used for the tranform.',
... ...
@@ -38,7 +42,6 @@ log_transform = function(...) {
38 42
     )
39 43
 )
40 44
 
41
-#' @param ... additional slots and values passed to struct_class
42 45
 #' @export
43 46
 #' @template model_apply
44 47
 setMethod(f="model_apply",
Browse code

incremental changes to use struct class constructors

Gavin Rhys Lloyd authored on 04/02/2020 17:18:11
Showing 1 changed files
... ...
@@ -1,7 +1,7 @@
1 1
 #' log transform
2 2
 #'
3 3
 #' applies a log transform to the input data
4
-#' @param ... slots and values for the new object 
4
+#' @param ... additional slots and values passed to struct_class
5 5
 #' @return struct object
6 6
 #' @export log_transform
7 7
 #' @examples
... ...
@@ -38,7 +38,7 @@ log_transform = function(...) {
38 38
     )
39 39
 )
40 40
 
41
-#' @param ... slots and values for the new object 
41
+#' @param ... additional slots and values passed to struct_class
42 42
 #' @export
43 43
 #' @template model_apply
44 44
 setMethod(f="model_apply",
Browse code

remove all params_ and outputs_ tags

also fix resulting duplicate slot name 'type' for mixed_effects

Gavin Rhys Lloyd authored on 04/02/2020 10:28:42
Showing 1 changed files
... ...
@@ -8,7 +8,7 @@
8 8
 #' M = log_transform()
9 9
 log_transform = function(...) {
10 10
     out=.log_transform()
11
-    out=struct::.initialize_struct_class(out,...)
11
+    out=struct::new_struct(out,...)
12 12
     return(out)
13 13
 }
14 14
 
... ...
@@ -16,8 +16,8 @@ log_transform = function(...) {
16 16
 .log_transform<-setClass(
17 17
     "log_transform",
18 18
     contains = c('model'),
19
-    slots=c(params_base='entity',
20
-        outputs_transformed='entity'
19
+    slots=c(base='entity',
20
+        transformed='entity'
21 21
     ),
22 22
 
23 23
     prototype=list(name = 'logarithm transform',
... ...
@@ -25,12 +25,12 @@ log_transform = function(...) {
25 25
         type = 'transform',
26 26
         predicted = 'transformed',
27 27
 
28
-        params_base=entity(name = 'logarithm base',
28
+        base=entity(name = 'logarithm base',
29 29
             description = 'The base of the logarithm used for the tranform.',
30 30
             value = 10,
31 31
             type='numeric'),
32 32
 
33
-        outputs_transformed=entity(name = 'log transformed DatasetExperiment',
33
+        transformed=entity(name = 'log transformed DatasetExperiment',
34 34
             description = 'A DatasetExperiment object containing the log transformed data.',
35 35
             type='DatasetExperiment',
36 36
             value=DatasetExperiment()
Browse code

add @return to documentation

Gavin Rhys Lloyd authored on 19/12/2019 15:14:02
Showing 1 changed files
... ...
@@ -2,6 +2,7 @@
2 2
 #'
3 3
 #' applies a log transform to the input data
4 4
 #' @param ... slots and values for the new object 
5
+#' @return struct object
5 6
 #' @export log_transform
6 7
 #' @examples
7 8
 #' M = log_transform()
Browse code

fix broken tests and...

...update some documentation

Gavin Rhys Lloyd authored on 17/12/2019 17:24:38
Showing 1 changed files
... ...
@@ -1,6 +1,7 @@
1 1
 #' log transform
2 2
 #'
3 3
 #' applies a log transform to the input data
4
+#' @param ... slots and values for the new object 
4 5
 #' @export log_transform
5 6
 #' @examples
6 7
 #' M = log_transform()
... ...
@@ -36,6 +37,7 @@ log_transform = function(...) {
36 37
     )
37 38
 )
38 39
 
40
+#' @param ... slots and values for the new object 
39 41
 #' @export
40 42
 #' @template model_apply
41 43
 setMethod(f="model_apply",
Browse code

use class contructors and...

...rename all function with dot to underscore
replace dataset with DatasetExperiment

Gavin Rhys Lloyd authored on 17/12/2019 15:48:01
Showing 1 changed files
... ...
@@ -4,11 +4,18 @@
4 4
 #' @export log_transform
5 5
 #' @examples
6 6
 #' M = log_transform()
7
-log_transform<-setClass(
7
+log_transform = function(...) {
8
+    out=.log_transform()
9
+    out=struct::.initialize_struct_class(out,...)
10
+    return(out)
11
+}
12
+
13
+
14
+.log_transform<-setClass(
8 15
     "log_transform",
9 16
     contains = c('model'),
10
-    slots=c(params.base='entity',
11
-        outputs.transformed='entity'
17
+    slots=c(params_base='entity',
18
+        outputs_transformed='entity'
12 19
     ),
13 20
 
14 21
     prototype=list(name = 'logarithm transform',
... ...
@@ -16,34 +23,34 @@ log_transform<-setClass(
16 23
         type = 'transform',
17 24
         predicted = 'transformed',
18 25
 
19
-        params.base=entity(name = 'logarithm base',
26
+        params_base=entity(name = 'logarithm base',
20 27
             description = 'The base of the logarithm used for the tranform.',
21 28
             value = 10,
22 29
             type='numeric'),
23 30
 
24
-        outputs.transformed=entity(name = 'log transformed dataset',
25
-            description = 'A dataset object containing the log transformed data.',
26
-            type='dataset',
27
-            value=dataset()
31
+        outputs_transformed=entity(name = 'log transformed DatasetExperiment',
32
+            description = 'A DatasetExperiment object containing the log transformed data.',
33
+            type='DatasetExperiment',
34
+            value=DatasetExperiment()
28 35
         )
29 36
     )
30 37
 )
31 38
 
32 39
 #' @export
33 40
 #' @template model_apply
34
-setMethod(f="model.apply",
35
-    signature=c("log_transform","dataset"),
41
+setMethod(f="model_apply",
42
+    signature=c("log_transform","DatasetExperiment"),
36 43
     definition=function(M,D)
37 44
     {
38
-        opt=param.list(M)
45
+        opt=param_list(M)
39 46
 
40
-        smeta=dataset.sample_meta(D)
41
-        x=dataset.data(D)
47
+        smeta=D$sample_meta
48
+        x=D$data
42 49
 
43 50
         out = log(x,base = opt$base)
44
-        dataset.data(D) = as.data.frame(out)
51
+        D$data = as.data.frame(out)
45 52
 
46
-        output.value(M,'transformed') = D
53
+        output_value(M,'transformed') = D
47 54
 
48 55
         return(M)
49 56
     }
Browse code

change to use train/predict and apply

update due to removal of methods class from struct base

grlloyd authored on 14/10/2019 15:22:55
Showing 1 changed files
... ...
@@ -30,7 +30,7 @@ log_transform<-setClass(
30 30
 )
31 31
 
32 32
 #' @export
33
-#' @template method_apply
33
+#' @template model_apply
34 34
 setMethod(f="model.apply",
35 35
     signature=c("log_transform","dataset"),
36 36
     definition=function(M,D)
Browse code

convert all methods to models

due to changes in base package struct

grlloyd authored on 14/10/2019 09:06:39
Showing 1 changed files
... ...
@@ -6,7 +6,7 @@
6 6
 #' M = log_transform()
7 7
 log_transform<-setClass(
8 8
     "log_transform",
9
-    contains = c('method'),
9
+    contains = c('model'),
10 10
     slots=c(params.base='entity',
11 11
         outputs.transformed='entity'
12 12
     ),
... ...
@@ -31,7 +31,7 @@ log_transform<-setClass(
31 31
 
32 32
 #' @export
33 33
 #' @template method_apply
34
-setMethod(f="method.apply",
34
+setMethod(f="model.apply",
35 35
     signature=c("log_transform","dataset"),
36 36
     definition=function(M,D)
37 37
     {
Browse code

use method_apply roxygen template

grlloyd authored on 23/09/2019 12:35:05
Showing 1 changed files
... ...
@@ -30,6 +30,7 @@ log_transform<-setClass(
30 30
 )
31 31
 
32 32
 #' @export
33
+#' @template method_apply
33 34
 setMethod(f="method.apply",
34 35
     signature=c("log_transform","dataset"),
35 36
     definition=function(M,D)
Browse code

update documentation and minor bioccheck fixes

grlloyd authored on 05/07/2019 13:06:15
Showing 1 changed files
... ...
@@ -2,6 +2,8 @@
2 2
 #'
3 3
 #' applies a log transform to the input data
4 4
 #' @export log_transform
5
+#' @examples
6
+#' M = log_transform()
5 7
 log_transform<-setClass(
6 8
     "log_transform",
7 9
     contains = c('method'),
Browse code

change indentation for biocCheck

grlloyd authored on 24/05/2019 13:53:08
Showing 1 changed files
... ...
@@ -3,45 +3,45 @@
3 3
 #' applies a log transform to the input data
4 4
 #' @export log_transform
5 5
 log_transform<-setClass(
6
-  "log_transform",
7
-  contains = c('method'),
8
-  slots=c(params.base='entity',
9
-          outputs.transformed='entity'
10
-  ),
11
-
12
-  prototype=list(name = 'logarithm transform',
13
-                 description = 'applies a log tranform to the data.',
14
-                 type = 'transform',
15
-                 predicted = 'transformed',
16
-
17
-                 params.base=entity(name = 'logarithm base',
18
-                                        description = 'The base of the logarithm used for the tranform.',
19
-                                        value = 10,
20
-                                        type='numeric'),
21
-
22
-                 outputs.transformed=entity(name = 'log transformed dataset',
23
-                                            description = 'A dataset object containing the log transformed data.',
24
-                                            type='dataset',
25
-                                            value=dataset()
26
-                 )
27
-  )
6
+    "log_transform",
7
+    contains = c('method'),
8
+    slots=c(params.base='entity',
9
+        outputs.transformed='entity'
10
+    ),
11
+
12
+    prototype=list(name = 'logarithm transform',
13
+        description = 'applies a log tranform to the data.',
14
+        type = 'transform',
15
+        predicted = 'transformed',
16
+
17
+        params.base=entity(name = 'logarithm base',
18
+            description = 'The base of the logarithm used for the tranform.',
19
+            value = 10,
20
+            type='numeric'),
21
+
22
+        outputs.transformed=entity(name = 'log transformed dataset',
23
+            description = 'A dataset object containing the log transformed data.',
24
+            type='dataset',
25
+            value=dataset()
26
+        )
27
+    )
28 28
 )
29 29
 
30 30
 #' @export
31 31
 setMethod(f="method.apply",
32
-          signature=c("log_transform","dataset"),
33
-          definition=function(M,D)
34
-          {
35
-            opt=param.list(M)
32
+    signature=c("log_transform","dataset"),
33
+    definition=function(M,D)
34
+    {
35
+        opt=param.list(M)
36 36
 
37
-            smeta=dataset.sample_meta(D)
38
-            x=dataset.data(D)
37
+        smeta=dataset.sample_meta(D)
38
+        x=dataset.data(D)
39 39
 
40
-            out = log(x,base = opt$base)
41
-            dataset.data(D) = as.data.frame(out)
40
+        out = log(x,base = opt$base)
41
+        dataset.data(D) = as.data.frame(out)
42 42
 
43
-            output.value(M,'transformed') = D
43
+        output.value(M,'transformed') = D
44 44
 
45
-            return(M)
46
-          }
45
+        return(M)
46
+    }
47 47
 )
Browse code

fix incorrect slot name for log_transform

grlloyd authored on 02/04/2019 08:03:47
Showing 1 changed files
... ...
@@ -14,7 +14,7 @@ log_transform<-setClass(
14 14
                  type = 'transform',
15 15
                  predicted = 'transformed',
16 16
 
17
-                 params.qc_label=entity(name = 'logarithm base',
17
+                 params.base=entity(name = 'logarithm base',
18 18
                                         description = 'The base of the logarithm used for the tranform.',
19 19
                                         value = 10,
20 20
                                         type='numeric'),
Browse code

remove params and outputs slots

struct now searches for parameters labelled param. and output. so list of them no longer needed as a slot

grlloyd authored on 01/04/2019 14:10:06
Showing 1 changed files
... ...
@@ -13,8 +13,6 @@ log_transform<-setClass(
13 13
                  description = 'applies a log tranform to the data.',
14 14
                  type = 'transform',
15 15
                  predicted = 'transformed',
16
-                 params=c('base'),
17
-                 outputs=c('transformed'),
18 16
 
19 17
                  params.qc_label=entity(name = 'logarithm base',
20 18
                                         description = 'The base of the logarithm used for the tranform.',
Browse code

initial commit

Gavin Rhys Lloyd authored on 20/03/2019 15:54:08
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,49 @@
1
+#' log transform
2
+#'
3
+#' applies a log transform to the input data
4
+#' @export log_transform
5
+log_transform<-setClass(
6
+  "log_transform",
7
+  contains = c('method'),
8
+  slots=c(params.base='entity',
9
+          outputs.transformed='entity'
10
+  ),
11
+
12
+  prototype=list(name = 'logarithm transform',
13
+                 description = 'applies a log tranform to the data.',
14
+                 type = 'transform',
15
+                 predicted = 'transformed',
16
+                 params=c('base'),
17
+                 outputs=c('transformed'),
18
+
19
+                 params.qc_label=entity(name = 'logarithm base',
20
+                                        description = 'The base of the logarithm used for the tranform.',
21
+                                        value = 10,
22
+                                        type='numeric'),
23
+
24
+                 outputs.transformed=entity(name = 'log transformed dataset',
25
+                                            description = 'A dataset object containing the log transformed data.',
26
+                                            type='dataset',
27
+                                            value=dataset()
28
+                 )
29
+  )
30
+)
31
+
32
+#' @export
33
+setMethod(f="method.apply",
34
+          signature=c("log_transform","dataset"),
35
+          definition=function(M,D)
36
+          {
37
+            opt=param.list(M)
38
+
39
+            smeta=dataset.sample_meta(D)
40
+            x=dataset.data(D)
41
+
42
+            out = log(x,base = opt$base)
43
+            dataset.data(D) = as.data.frame(out)
44
+
45
+            output.value(M,'transformed') = D
46
+
47
+            return(M)
48
+          }
49
+)