Browse code

Fixed bug in sparse matrix colsums/rowsums. Changed signature of S4 method for perplexity to ANY.

Joshua D. Campbell authored on 11/04/2021 22:10:26
Showing 1 changed files
... ...
@@ -86,19 +86,19 @@ nonzero <- function(R_counts) {
86 86
     .Call('_celda_nonzero', PACKAGE = 'celda', R_counts)
87 87
 }
88 88
 
89
-colSumByGroupSparse <- function(counts, group) {
90
-    .Call('_celda_colSumByGroupSparse', PACKAGE = 'celda', counts, group)
89
+colSumByGroupSparse <- function(counts, group, K) {
90
+    .Call('_celda_colSumByGroupSparse', PACKAGE = 'celda', counts, group, K)
91 91
 }
92 92
 
93
-rowSumByGroupSparse <- function(counts, group) {
94
-    .Call('_celda_rowSumByGroupSparse', PACKAGE = 'celda', counts, group)
93
+rowSumByGroupSparse <- function(counts, group, L) {
94
+    .Call('_celda_rowSumByGroupSparse', PACKAGE = 'celda', counts, group, L)
95 95
 }
96 96
 
97
-colSumByGroupChangeSparse <- function(counts, px, group, pgroup) {
98
-    .Call('_celda_colSumByGroupChangeSparse', PACKAGE = 'celda', counts, px, group, pgroup)
97
+colSumByGroupChangeSparse <- function(counts, px, group, pgroup, K) {
98
+    .Call('_celda_colSumByGroupChangeSparse', PACKAGE = 'celda', counts, px, group, pgroup, K)
99 99
 }
100 100
 
101
-rowSumByGroupChangeSparse <- function(counts, px, group, pgroup) {
102
-    .Call('_celda_rowSumByGroupChangeSparse', PACKAGE = 'celda', counts, px, group, pgroup)
101
+rowSumByGroupChangeSparse <- function(counts, px, group, pgroup, L) {
102
+    .Call('_celda_rowSumByGroupChangeSparse', PACKAGE = 'celda', counts, px, group, pgroup, L)
103 103
 }
104 104
 
Browse code

Fixed numeric matrix computations in celda_C. Added ability to use numeric and sparse matrices in celda_G and celda_CG

Joshua D. Campbell authored on 05/04/2021 02:40:50
Showing 1 changed files
... ...
@@ -42,6 +42,15 @@ eigenMatMultInt <- function(A, B) {
42 42
     .Call('_celda_eigenMatMultInt', PACKAGE = 'celda', A, B)
43 43
 }
44 44
 
45
+#' Fast matrix multiplication for double x double
46
+#' 
47
+#' @param A a double matrix
48
+#' @param B an integer matrix
49
+#' @return An integer matrix representing the product of A and B
50
+eigenMatMultNumeric <- function(A, B) {
51
+    .Call('_celda_eigenMatMultNumeric', PACKAGE = 'celda', A, B)
52
+}
53
+
45 54
 #' Fast normalization for numeric matrix
46 55
 #' 
47 56
 #' @param R_counts An integer matrix
Browse code

Added sparse matrix sums functions

Joshua D. Campbell authored on 04/04/2021 01:42:18
Showing 1 changed files
... ...
@@ -77,3 +77,19 @@ nonzero <- function(R_counts) {
77 77
     .Call('_celda_nonzero', PACKAGE = 'celda', R_counts)
78 78
 }
79 79
 
80
+colSumByGroupSparse <- function(counts, group) {
81
+    .Call('_celda_colSumByGroupSparse', PACKAGE = 'celda', counts, group)
82
+}
83
+
84
+rowSumByGroupSparse <- function(counts, group) {
85
+    .Call('_celda_rowSumByGroupSparse', PACKAGE = 'celda', counts, group)
86
+}
87
+
88
+colSumByGroupChangeSparse <- function(counts, px, group, pgroup) {
89
+    .Call('_celda_colSumByGroupChangeSparse', PACKAGE = 'celda', counts, px, group, pgroup)
90
+}
91
+
92
+rowSumByGroupChangeSparse <- function(counts, px, group, pgroup) {
93
+    .Call('_celda_rowSumByGroupChangeSparse', PACKAGE = 'celda', counts, px, group, pgroup)
94
+}
95
+
Browse code

update parameter to camel case and update documents

Yuan authored on 05/03/2021 17:25:33
Showing 1 changed files
... ...
@@ -1,8 +1,8 @@
1 1
 # Generated by using Rcpp::compileAttributes() -> do not edit by hand
2 2
 # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3 3
 
4
-decontXEM <- function(counts, counts_colsums, theta, eta, phi, z, estimate_delta, delta, pseudocount) {
5
-    .Call('_celda_decontXEM', PACKAGE = 'celda', counts, counts_colsums, theta, eta, phi, z, estimate_delta, delta, pseudocount)
4
+decontXEM <- function(counts, counts_colsums, theta, estimate_eta, eta, phi, z, estimate_delta, delta, pseudocount) {
5
+    .Call('_celda_decontXEM', PACKAGE = 'celda', counts, counts_colsums, theta, estimate_eta, eta, phi, z, estimate_delta, delta, pseudocount)
6 6
 }
7 7
 
8 8
 decontXLogLik <- function(counts, theta, eta, phi, z, pseudocount) {
... ...
@@ -17,10 +17,6 @@ calculateNativeMatrix <- function(counts, theta, eta, phi, z, pseudocount) {
17 17
     .Call('_celda_calculateNativeMatrix', PACKAGE = 'celda', counts, theta, eta, phi, z, pseudocount)
18 18
 }
19 19
 
20
-decontXEM_fixEta <- function(counts, counts_colsums, theta, eta, phi, z, estimate_delta, delta, pseudocount) {
21
-    .Call('_celda_decontXEM_fixEta', PACKAGE = 'celda', counts, counts_colsums, theta, eta, phi, z, estimate_delta, delta, pseudocount)
22
-}
23
-
24 20
 cG_calcGibbsProbY_Simple <- function(counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta) {
25 21
     .Call('_celda_cG_calcGibbsProbY_Simple', PACKAGE = 'celda', counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta)
26 22
 }
Browse code

some env files

Yuan authored on 18/02/2021 20:52:41
Showing 1 changed files
... ...
@@ -17,6 +17,10 @@ calculateNativeMatrix <- function(counts, theta, eta, phi, z, pseudocount) {
17 17
     .Call('_celda_calculateNativeMatrix', PACKAGE = 'celda', counts, theta, eta, phi, z, pseudocount)
18 18
 }
19 19
 
20
+decontXEM_fixEta <- function(counts, counts_colsums, theta, eta, phi, z, estimate_delta, delta, pseudocount) {
21
+    .Call('_celda_decontXEM_fixEta', PACKAGE = 'celda', counts, counts_colsums, theta, eta, phi, z, estimate_delta, delta, pseudocount)
22
+}
23
+
20 24
 cG_calcGibbsProbY_Simple <- function(counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta) {
21 25
     .Call('_celda_cG_calcGibbsProbY_Simple', PACKAGE = 'celda', counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta)
22 26
 }
Browse code

Added ability to set delta prior in DecontX directly so users could for more or less estimation of contamination

Joshua D. Campbell authored on 03/04/2020 04:07:38
Showing 1 changed files
... ...
@@ -1,8 +1,8 @@
1 1
 # Generated by using Rcpp::compileAttributes() -> do not edit by hand
2 2
 # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3 3
 
4
-decontXEM <- function(counts, counts_colsums, theta, eta, phi, z, pseudocount) {
5
-    .Call('_celda_decontXEM', PACKAGE = 'celda', counts, counts_colsums, theta, eta, phi, z, pseudocount)
4
+decontXEM <- function(counts, counts_colsums, theta, eta, phi, z, estimate_delta, delta, pseudocount) {
5
+    .Call('_celda_decontXEM', PACKAGE = 'celda', counts, counts_colsums, theta, eta, phi, z, estimate_delta, delta, pseudocount)
6 6
 }
7 7
 
8 8
 decontXLogLik <- function(counts, theta, eta, phi, z, pseudocount) {
Browse code

Coverted DecontX C code to use RcppEigen instead of RcppArmadillo as it was faster and didn't prodcue warnings when checking

Joshua D. Campbell authored on 02/04/2020 20:56:09
Showing 1 changed files
... ...
@@ -13,8 +13,8 @@ decontXInitialize <- function(counts, theta, z, pseudocount) {
13 13
     .Call('_celda_decontXInitialize', PACKAGE = 'celda', counts, theta, z, pseudocount)
14 14
 }
15 15
 
16
-calculateNativeMatrix <- function(counts, native_counts, theta, eta, phi, z, row_index, col_index, pseudocount) {
17
-    .Call('_celda_calculateNativeMatrix', PACKAGE = 'celda', counts, native_counts, theta, eta, phi, z, row_index, col_index, pseudocount)
16
+calculateNativeMatrix <- function(counts, theta, eta, phi, z, pseudocount) {
17
+    .Call('_celda_calculateNativeMatrix', PACKAGE = 'celda', counts, theta, eta, phi, z, pseudocount)
18 18
 }
19 19
 
20 20
 cG_calcGibbsProbY_Simple <- function(counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta) {
Browse code

Moved new Nonezero cpp function to different file. Fixed celda_heatmap bug causing vignette building to fail. Renamed vignettes. Started new draft of decontX vignette.

Joshua D. Campbell authored on 13/03/2020 00:31:44
Showing 1 changed files
... ...
@@ -17,14 +17,6 @@ calculateNativeMatrix <- function(counts, native_counts, theta, eta, phi, z, row
17 17
     .Call('_celda_calculateNativeMatrix', PACKAGE = 'celda', counts, native_counts, theta, eta, phi, z, row_index, col_index, pseudocount)
18 18
 }
19 19
 
20
-#' get row and column indices of none zero elements in the matrix
21
-#' 
22
-#' @param R_counts A matrix
23
-#' @return An integer matrix where each row is a row, column indices pair 
24
-nonzero <- function(R_counts) {
25
-    .Call('_celda_nonzero', PACKAGE = 'celda', R_counts)
26
-}
27
-
28 20
 cG_calcGibbsProbY_Simple <- function(counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta) {
29 21
     .Call('_celda_cG_calcGibbsProbY_Simple', PACKAGE = 'celda', counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta)
30 22
 }
... ...
@@ -77,3 +69,11 @@ fastNormPropSqrt <- function(R_counts, R_alpha) {
77 69
     .Call('_celda_fastNormPropSqrt', PACKAGE = 'celda', R_counts, R_alpha)
78 70
 }
79 71
 
72
+#' get row and column indices of none zero elements in the matrix
73
+#' 
74
+#' @param R_counts A matrix
75
+#' @return An integer matrix where each row is a row, column indices pair 
76
+nonzero <- function(R_counts) {
77
+    .Call('_celda_nonzero', PACKAGE = 'celda', R_counts)
78
+}
79
+
Browse code

Rcpp comments

syyang authored on 02/03/2020 00:52:45
Showing 1 changed files
... ...
@@ -18,7 +18,12 @@ calculateNativeMatrix <- function(counts, native_counts, theta, eta, phi, z, row
18 18
 }
19 19
 
20 20
 #' get row and column indices of none zero elements in the matrix
21
-NULL
21
+#' 
22
+#' @param R_counts A matrix
23
+#' @return An integer matrix where each row is a row, column indices pair 
24
+nonzero <- function(R_counts) {
25
+    .Call('_celda_nonzero', PACKAGE = 'celda', R_counts)
26
+}
22 27
 
23 28
 cG_calcGibbsProbY_Simple <- function(counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta) {
24 29
     .Call('_celda_cG_calcGibbsProbY_Simple', PACKAGE = 'celda', counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta)
Browse code

nonzero function using rcpp

syyang authored on 02/03/2020 00:46:53
Showing 1 changed files
... ...
@@ -17,6 +17,9 @@ calculateNativeMatrix <- function(counts, native_counts, theta, eta, phi, z, row
17 17
     .Call('_celda_calculateNativeMatrix', PACKAGE = 'celda', counts, native_counts, theta, eta, phi, z, row_index, col_index, pseudocount)
18 18
 }
19 19
 
20
+#' get row and column indices of none zero elements in the matrix
21
+NULL
22
+
20 23
 cG_calcGibbsProbY_Simple <- function(counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta) {
21 24
     .Call('_celda_cG_calcGibbsProbY_Simple', PACKAGE = 'celda', counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta)
22 25
 }
Browse code

Updated DecontX to calculate native counts in cpp. Made several adjustments to the R decontX call

Joshua D. Campbell authored on 03/01/2020 22:17:53
Showing 1 changed files
... ...
@@ -13,6 +13,10 @@ decontXInitialize <- function(counts, theta, z, pseudocount) {
13 13
     .Call('_celda_decontXInitialize', PACKAGE = 'celda', counts, theta, z, pseudocount)
14 14
 }
15 15
 
16
+calculateNativeMatrix <- function(counts, native_counts, theta, eta, phi, z, row_index, col_index, pseudocount) {
17
+    .Call('_celda_calculateNativeMatrix', PACKAGE = 'celda', counts, native_counts, theta, eta, phi, z, row_index, col_index, pseudocount)
18
+}
19
+
16 20
 cG_calcGibbsProbY_Simple <- function(counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta) {
17 21
     .Call('_celda_cG_calcGibbsProbY_Simple', PACKAGE = 'celda', counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta)
18 22
 }
Browse code

changed order of LinksTo in description to avoid compile errors with Armadillo. Removed 'import Matrix' to avoid warnings

Joshua D. Campbell authored on 03/01/2020 14:24:03
Showing 1 changed files
... ...
@@ -1,6 +1,18 @@
1 1
 # Generated by using Rcpp::compileAttributes() -> do not edit by hand
2 2
 # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3 3
 
4
+decontXEM <- function(counts, counts_colsums, theta, eta, phi, z, pseudocount) {
5
+    .Call('_celda_decontXEM', PACKAGE = 'celda', counts, counts_colsums, theta, eta, phi, z, pseudocount)
6
+}
7
+
8
+decontXLogLik <- function(counts, theta, eta, phi, z, pseudocount) {
9
+    .Call('_celda_decontXLogLik', PACKAGE = 'celda', counts, theta, eta, phi, z, pseudocount)
10
+}
11
+
12
+decontXInitialize <- function(counts, theta, z, pseudocount) {
13
+    .Call('_celda_decontXInitialize', PACKAGE = 'celda', counts, theta, z, pseudocount)
14
+}
15
+
4 16
 cG_calcGibbsProbY_Simple <- function(counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta) {
5 17
     .Call('_celda_cG_calcGibbsProbY_Simple', PACKAGE = 'celda', counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta)
6 18
 }
Browse code

change cG_calcGibbsProbY* names

Irisapo authored on 05/12/2019 01:08:55
Showing 1 changed files
... ...
@@ -5,16 +5,16 @@ cG_calcGibbsProbY_Simple <- function(counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L,
5 5
     .Call('_celda_cG_calcGibbsProbY_Simple', PACKAGE = 'celda', counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta)
6 6
 }
7 7
 
8
-cG_CalcGibbsProbY <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
9
-    .Call('_celda_cG_CalcGibbsProbY', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
8
+cG_CalcGibbsProbY_ori <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
9
+    .Call('_celda_cG_CalcGibbsProbY_ori', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
10 10
 }
11 11
 
12 12
 cG_CalcGibbsProbY_fastRow <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
13 13
     .Call('_celda_cG_CalcGibbsProbY_fastRow', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
14 14
 }
15 15
 
16
-cG_CalcGibbsProbY_fast <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
17
-    .Call('_celda_cG_CalcGibbsProbY_fast', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
16
+cG_CalcGibbsProbY <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
17
+    .Call('_celda_cG_CalcGibbsProbY', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
18 18
 }
19 19
 
20 20
 #' Fast matrix multiplication for double x int
Browse code

column first loop in cpp for y probability calculation fasterrrrr

Irisapo authored on 04/12/2019 23:03:56
Showing 1 changed files
... ...
@@ -9,16 +9,12 @@ cG_CalcGibbsProbY <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L,
9 9
     .Call('_celda_cG_CalcGibbsProbY', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
10 10
 }
11 11
 
12
-cG_CalcGibbsProbY_fast <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
13
-    .Call('_celda_cG_CalcGibbsProbY_fast', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
14
-}
15
-
16
-cG_CalcGibbsProbY_fastVector <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
17
-    .Call('_celda_cG_CalcGibbsProbY_fastVector', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
12
+cG_CalcGibbsProbY_fastRow <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
13
+    .Call('_celda_cG_CalcGibbsProbY_fastRow', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
18 14
 }
19 15
 
20
-cG_CalcGibbsProbY_fastVectorFlip <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
21
-    .Call('_celda_cG_CalcGibbsProbY_fastVectorFlip', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
16
+cG_CalcGibbsProbY_fast <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
17
+    .Call('_celda_cG_CalcGibbsProbY_fast', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
22 18
 }
23 19
 
24 20
 #' Fast matrix multiplication for double x int
Browse code

column first loop in Rcpp y probability calculation to speed up

Irisapo authored on 27/11/2019 02:20:00
Showing 1 changed files
... ...
@@ -13,6 +13,14 @@ cG_CalcGibbsProbY_fast <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y
13 13
     .Call('_celda_cG_CalcGibbsProbY_fast', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
14 14
 }
15 15
 
16
+cG_CalcGibbsProbY_fastVector <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
17
+    .Call('_celda_cG_CalcGibbsProbY_fastVector', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
18
+}
19
+
20
+cG_CalcGibbsProbY_fastVectorFlip <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
21
+    .Call('_celda_cG_CalcGibbsProbY_fastVectorFlip', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
22
+}
23
+
16 24
 #' Fast matrix multiplication for double x int
17 25
 #' 
18 26
 #' @param A a double matrix
Browse code

update probability calculation of y for celda_G #213

Irisapo authored on 20/11/2019 21:31:23
Showing 1 changed files
... ...
@@ -9,6 +9,10 @@ cG_CalcGibbsProbY <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L,
9 9
     .Call('_celda_cG_CalcGibbsProbY', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
10 10
 }
11 11
 
12
+cG_CalcGibbsProbY_fast <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
13
+    .Call('_celda_cG_CalcGibbsProbY_fast', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
14
+}
15
+
12 16
 #' Fast matrix multiplication for double x int
13 17
 #' 
14 18
 #' @param A a double matrix
Browse code

remove pheatmap import

87875172 authored on 10/04/2019 15:22:12
Showing 1 changed files
... ...
@@ -1,102 +1,47 @@
1 1
 # Generated by using Rcpp::compileAttributes() -> do not edit by hand
2 2
 # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3 3
 
4
-cG_calcGibbsProbY_Simple <- function(counts,
5
-    nGbyTS,
6
-    nTSbyC,
7
-    nbyTS,
8
-    nbyG,
9
-    y,
10
-    L,
11
-    index,
12
-    gamma,
13
-    beta,
14
-    delta) {
15
-    .Call(
16
-        "_celda_cG_calcGibbsProbY_Simple",
17
-        PACKAGE = "celda",
18
-        counts,
19
-        nGbyTS,
20
-        nTSbyC,
21
-        nbyTS,
22
-        nbyG,
23
-        y,
24
-        L,
25
-        index,
26
-        gamma,
27
-        beta,
28
-        delta
29
-    )
4
+cG_calcGibbsProbY_Simple <- function(counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta) {
5
+    .Call('_celda_cG_calcGibbsProbY_Simple', PACKAGE = 'celda', counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta)
30 6
 }
31 7
 
32
-cG_CalcGibbsProbY <-
33
-    function(index,
34
-        counts,
35
-        nTSbyC,
36
-        nbyTS,
37
-        nGbyTS,
38
-        nbyG,
39
-        y,
40
-        L,
41
-        nG,
42
-        lg_beta,
43
-        lg_gamma,
44
-        lg_delta,
45
-        delta) {
46
-        .Call(
47
-            "_celda_cG_CalcGibbsProbY",
48
-            PACKAGE = "celda",
49
-            index,
50
-            counts,
51
-            nTSbyC,
52
-            nbyTS,
53
-            nGbyTS,
54
-            nbyG,
55
-            y,
56
-            L,
57
-            nG,
58
-            lg_beta,
59
-            lg_gamma,
60
-            lg_delta,
61
-            delta
62
-        )
63
-    }
8
+cG_CalcGibbsProbY <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
9
+    .Call('_celda_cG_CalcGibbsProbY', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
10
+}
64 11
 
65 12
 #' Fast matrix multiplication for double x int
66
-#'
13
+#' 
67 14
 #' @param A a double matrix
68 15
 #' @param B an integer matrix
69 16
 #' @return An integer matrix representing the product of A and B
70 17
 eigenMatMultInt <- function(A, B) {
71
-    .Call("_celda_eigenMatMultInt", PACKAGE = "celda", A, B)
18
+    .Call('_celda_eigenMatMultInt', PACKAGE = 'celda', A, B)
72 19
 }
73 20
 
74 21
 #' Fast normalization for numeric matrix
75
-#'
22
+#' 
76 23
 #' @param R_counts An integer matrix
77 24
 #' @param R_alpha A double value to be added to the matrix as a pseudocount
78
-#' @return A numeric matrix where the columns have been normalized to
79
-#'  proportions
25
+#' @return A numeric matrix where the columns have been normalized to proportions
80 26
 fastNormProp <- function(R_counts, R_alpha) {
81
-    .Call("_celda_fastNormProp", PACKAGE = "celda", R_counts, R_alpha)
27
+    .Call('_celda_fastNormProp', PACKAGE = 'celda', R_counts, R_alpha)
82 28
 }
83 29
 
84 30
 #' Fast normalization for numeric matrix
85
-#'
31
+#' 
86 32
 #' @param R_counts An integer matrix
87 33
 #' @param R_alpha A double value to be added to the matrix as a pseudocount
88
-#' @return A numeric matrix where the columns have been normalized to
89
-#'  proportions
34
+#' @return A numeric matrix where the columns have been normalized to proportions
90 35
 fastNormPropLog <- function(R_counts, R_alpha) {
91
-    .Call("_celda_fastNormPropLog", PACKAGE = "celda", R_counts, R_alpha)
36
+    .Call('_celda_fastNormPropLog', PACKAGE = 'celda', R_counts, R_alpha)
92 37
 }
93 38
 
94 39
 #' Fast normalization for numeric matrix
95
-#'
40
+#' 
96 41
 #' @param R_counts An integer matrix
97 42
 #' @param R_alpha A double value to be added to the matrix as a pseudocount
98
-#' @return A numeric matrix where the columns have been normalized to
99
-#'  proportions
43
+#' @return A numeric matrix where the columns have been normalized to proportions
100 44
 fastNormPropSqrt <- function(R_counts, R_alpha) {
101
-    .Call("_celda_fastNormPropSqrt", PACKAGE = "celda", R_counts, R_alpha)
45
+    .Call('_celda_fastNormPropSqrt', PACKAGE = 'celda', R_counts, R_alpha)
102 46
 }
47
+
Browse code

fix lints

zhewa authored on 10/04/2019 03:09:54
Showing 1 changed files
... ...
@@ -1,47 +1,102 @@
1 1
 # Generated by using Rcpp::compileAttributes() -> do not edit by hand
2 2
 # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3 3
 
4
-cG_calcGibbsProbY_Simple <- function(counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta) {
5
-    .Call('_celda_cG_calcGibbsProbY_Simple', PACKAGE = 'celda', counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta)
4
+cG_calcGibbsProbY_Simple <- function(counts,
5
+    nGbyTS,
6
+    nTSbyC,
7
+    nbyTS,
8
+    nbyG,
9
+    y,
10
+    L,
11
+    index,
12
+    gamma,
13
+    beta,
14
+    delta) {
15
+    .Call(
16
+        "_celda_cG_calcGibbsProbY_Simple",
17
+        PACKAGE = "celda",
18
+        counts,
19
+        nGbyTS,
20
+        nTSbyC,
21
+        nbyTS,
22
+        nbyG,
23
+        y,
24
+        L,
25
+        index,
26
+        gamma,
27
+        beta,
28
+        delta
29
+    )
6 30
 }
7 31
 
8
-cG_CalcGibbsProbY <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
9
-    .Call('_celda_cG_CalcGibbsProbY', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
10
-}
32
+cG_CalcGibbsProbY <-
33
+    function(index,
34
+        counts,
35
+        nTSbyC,
36
+        nbyTS,
37
+        nGbyTS,
38
+        nbyG,
39
+        y,
40
+        L,
41
+        nG,
42
+        lg_beta,
43
+        lg_gamma,
44
+        lg_delta,
45
+        delta) {
46
+        .Call(
47
+            "_celda_cG_CalcGibbsProbY",
48
+            PACKAGE = "celda",
49
+            index,
50
+            counts,
51
+            nTSbyC,
52
+            nbyTS,
53
+            nGbyTS,
54
+            nbyG,
55
+            y,
56
+            L,
57
+            nG,
58
+            lg_beta,
59
+            lg_gamma,
60
+            lg_delta,
61
+            delta
62
+        )
63
+    }
11 64
 
12 65
 #' Fast matrix multiplication for double x int
13
-#' 
66
+#'
14 67
 #' @param A a double matrix
15 68
 #' @param B an integer matrix
16 69
 #' @return An integer matrix representing the product of A and B
17 70
 eigenMatMultInt <- function(A, B) {
18
-    .Call('_celda_eigenMatMultInt', PACKAGE = 'celda', A, B)
71
+    .Call("_celda_eigenMatMultInt", PACKAGE = "celda", A, B)
19 72
 }
20 73
 
21 74
 #' Fast normalization for numeric matrix
22
-#' 
75
+#'
23 76
 #' @param R_counts An integer matrix
24 77
 #' @param R_alpha A double value to be added to the matrix as a pseudocount
25
-#' @return A numeric matrix where the columns have been normalized to proportions
78
+#' @return A numeric matrix where the columns have been normalized to
79
+#'  proportions
26 80
 fastNormProp <- function(R_counts, R_alpha) {
27
-    .Call('_celda_fastNormProp', PACKAGE = 'celda', R_counts, R_alpha)
81
+    .Call("_celda_fastNormProp", PACKAGE = "celda", R_counts, R_alpha)
28 82
 }
29 83
 
30 84
 #' Fast normalization for numeric matrix
31
-#' 
85
+#'
32 86
 #' @param R_counts An integer matrix
33 87
 #' @param R_alpha A double value to be added to the matrix as a pseudocount
34
-#' @return A numeric matrix where the columns have been normalized to proportions
88
+#' @return A numeric matrix where the columns have been normalized to
89
+#'  proportions
35 90
 fastNormPropLog <- function(R_counts, R_alpha) {
36
-    .Call('_celda_fastNormPropLog', PACKAGE = 'celda', R_counts, R_alpha)
91
+    .Call("_celda_fastNormPropLog", PACKAGE = "celda", R_counts, R_alpha)
37 92
 }
38 93
 
39 94
 #' Fast normalization for numeric matrix
40
-#' 
95
+#'
41 96
 #' @param R_counts An integer matrix
42 97
 #' @param R_alpha A double value to be added to the matrix as a pseudocount
43
-#' @return A numeric matrix where the columns have been normalized to proportions
98
+#' @return A numeric matrix where the columns have been normalized to
99
+#'  proportions
44 100
 fastNormPropSqrt <- function(R_counts, R_alpha) {
45
-    .Call('_celda_fastNormPropSqrt', PACKAGE = 'celda', R_counts, R_alpha)
101
+    .Call("_celda_fastNormPropSqrt", PACKAGE = "celda", R_counts, R_alpha)
46 102
 }
47
-
Browse code

Adding missing documentation for Bioconductor build

Sean Corbett authored on 19/03/2019 00:45:46
Showing 1 changed files
1 1
old mode 100755
2 2
new mode 100644
Browse code

Switched to using faster Rcpp version of Gibbs sampling for feature clusters

Joshua D. Campbell authored on 11/12/2018 04:04:26
Showing 1 changed files
... ...
@@ -1,6 +1,14 @@
1 1
 # Generated by using Rcpp::compileAttributes() -> do not edit by hand
2 2
 # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3 3
 
4
+cG_calcGibbsProbY_Simple <- function(counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta) {
5
+    .Call('_celda_cG_calcGibbsProbY_Simple', PACKAGE = 'celda', counts, nGbyTS, nTSbyC, nbyTS, nbyG, y, L, index, gamma, beta, delta)
6
+}
7
+
8
+cG_CalcGibbsProbY <- function(index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta) {
9
+    .Call('_celda_cG_CalcGibbsProbY', PACKAGE = 'celda', index, counts, nTSbyC, nbyTS, nGbyTS, nbyG, y, L, nG, lg_beta, lg_gamma, lg_delta, delta)
10
+}
11
+
4 12
 #' Fast matrix multiplication for double x int
5 13
 #' 
6 14
 #' @param A a double matrix
Browse code

Added Rcpp functions for fast matrix normalization.

Joshua D. Campbell authored on 27/08/2018 19:54:54
Showing 1 changed files
... ...
@@ -10,3 +10,30 @@ eigenMatMultInt <- function(A, B) {
10 10
     .Call('_celda_eigenMatMultInt', PACKAGE = 'celda', A, B)
11 11
 }
12 12
 
13
+#' Fast normalization for numeric matrix
14
+#' 
15
+#' @param R_counts An integer matrix
16
+#' @param R_alpha A double value to be added to the matrix as a pseudocount
17
+#' @return A numeric matrix where the columns have been normalized to proportions
18
+fastNormProp <- function(R_counts, R_alpha) {
19
+    .Call('_celda_fastNormProp', PACKAGE = 'celda', R_counts, R_alpha)
20
+}
21
+
22
+#' Fast normalization for numeric matrix
23
+#' 
24
+#' @param R_counts An integer matrix
25
+#' @param R_alpha A double value to be added to the matrix as a pseudocount
26
+#' @return A numeric matrix where the columns have been normalized to proportions
27
+fastNormPropLog <- function(R_counts, R_alpha) {
28
+    .Call('_celda_fastNormPropLog', PACKAGE = 'celda', R_counts, R_alpha)
29
+}
30
+
31
+#' Fast normalization for numeric matrix
32
+#' 
33
+#' @param R_counts An integer matrix
34
+#' @param R_alpha A double value to be added to the matrix as a pseudocount
35
+#' @return A numeric matrix where the columns have been normalized to proportions
36
+fastNormPropSqrt <- function(R_counts, R_alpha) {
37
+    .Call('_celda_fastNormPropSqrt', PACKAGE = 'celda', R_counts, R_alpha)
38
+}
39
+
Browse code

Changed default 'max.iter' to 20 in celdaGridSearch. Fixes #310.

Joshua D. Campbell authored on 23/08/2018 01:01:14
Showing 1 changed files
... ...
@@ -1,12 +1,12 @@
1
-# Generated by using Rcpp::compileAttributes() -> do not edit by hand
2
-# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3
-
4
-#' Fast matrix multiplication for double x int
5
-#' 
6
-#' @param A a double matrix
7
-#' @param B an integer matrix
8
-#' @return An integer matrix representing the product of A and B
9
-eigenMatMultInt <- function(A, B) {
10
-    .Call('_celda_eigenMatMultInt', PACKAGE = 'celda', A, B)
11
-}
12
-
1
+# Generated by using Rcpp::compileAttributes() -> do not edit by hand
2
+# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3
+
4
+#' Fast matrix multiplication for double x int
5
+#' 
6
+#' @param A a double matrix
7
+#' @param B an integer matrix
8
+#' @return An integer matrix representing the product of A and B
9
+eigenMatMultInt <- function(A, B) {
10
+    .Call('_celda_eigenMatMultInt', PACKAGE = 'celda', A, B)
11
+}
12
+
Browse code

Updating Documentation

Andrew Gregory authored on 21/08/2018 21:35:34
Showing 1 changed files
... ...
@@ -3,8 +3,8 @@
3 3
 
4 4
 #' Fast matrix multiplication for double x int
5 5
 #' 
6
-#' @param A Numeric matrix. Dimension G x K matrix of genes by cell population probabilities. 
7
-#' @param B Integer matrix. Dimensions G x M. Matrix of gene counts by cell. 
6
+#' @param A a double matrix
7
+#' @param B an integer matrix
8 8
 #' @return An integer matrix representing the product of A and B
9 9
 eigenMatMultInt <- function(A, B) {
10 10
     .Call('_celda_eigenMatMultInt', PACKAGE = 'celda', A, B)
Browse code

Updated Celda Documentation

Andrew Gregory authored on 15/08/2018 20:22:38
Showing 1 changed files
... ...
@@ -1,12 +1,12 @@
1
-# Generated by using Rcpp::compileAttributes() -> do not edit by hand
2
-# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3
-
4
-#' Fast matrix multiplication for double x int
5
-#' 
6
-#' @param A a double matrix
7
-#' @param B an integer matrix
8
-#' @return An integer matrix representing the product of A and B
9
-eigenMatMultInt <- function(A, B) {
10
-    .Call('_celda_eigenMatMultInt', PACKAGE = 'celda', A, B)
11
-}
12
-
1
+# Generated by using Rcpp::compileAttributes() -> do not edit by hand
2
+# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3
+
4
+#' Fast matrix multiplication for double x int
5
+#' 
6
+#' @param A Numeric matrix. Dimension G x K matrix of genes by cell population probabilities. 
7
+#' @param B Integer matrix. Dimensions G x M. Matrix of gene counts by cell. 
8
+#' @return An integer matrix representing the product of A and B
9
+eigenMatMultInt <- function(A, B) {
10
+    .Call('_celda_eigenMatMultInt', PACKAGE = 'celda', A, B)
11
+}
12
+
Browse code

Fast matrix multiplication with RcppEigen (#247)

* Require class check on count matrix.

Require that all provided count matrices are checked to see if they're integer type, and if not, casting them to be that type.
Explicitly cast simulateCells() simulated count matrices to integer. Added unit tests to ensure this happens for this function.

* Updating documentation

* Fixing broken unit tests

* Moving dangling references to process.counts param

* Set integer storage.mode in processCounts()

* RcppEigen for fast matrix multiplication in celda_C EM

Use RcppEigen to do fast matrix multiplication in the newly implemented EM optimizations in celda_C.

* Fixed call to eigenMatMultInt. Added documentation.

* Rename rowsum functions. Documentation for eigenMatMultInt.

* Fixing loading of C++ function

Sean authored on 31/05/2018 21:56:55 • GitHub committed on 31/05/2018 21:56:55
Showing 1 changed files
1 1
new file mode 100755
... ...
@@ -0,0 +1,12 @@
1
+# Generated by using Rcpp::compileAttributes() -> do not edit by hand
2
+# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3
+
4
+#' Fast matrix multiplication for double x int
5
+#' 
6
+#' @param A a double matrix
7
+#' @param B an integer matrix
8
+#' @return An integer matrix representing the product of A and B
9
+eigenMatMultInt <- function(A, B) {
10
+    .Call('_celda_eigenMatMultInt', PACKAGE = 'celda', A, B)
11
+}
12
+