... | ... |
@@ -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 |
|
... | ... |
@@ -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 |
... | ... |
@@ -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 |
+ |
... | ... |
@@ -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 |
} |
... | ... |
@@ -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 |
} |
... | ... |
@@ -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) { |
... | ... |
@@ -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) { |
... | ... |
@@ -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 |
+ |
... | ... |
@@ -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) |
... | ... |
@@ -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 |
} |
... | ... |
@@ -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 |
} |
... | ... |
@@ -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 |
} |
... | ... |
@@ -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 |
... | ... |
@@ -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 |
... | ... |
@@ -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 |
... | ... |
@@ -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 |
... | ... |
@@ -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 |
+ |
... | ... |
@@ -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 |
- |
... | ... |
@@ -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 |
... | ... |
@@ -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 |
+ |
... | ... |
@@ -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 |
+ |
... | ... |
@@ -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) |
... | ... |
@@ -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 |
+ |
* 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
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 |
+ |