Description Usage Arguments Details Value Functions References See Also Examples
QUBIC
is a biclustering package, with source code upgrading from C code to C++ code.
The updated source code can avoid memory allocation error and is much efficient than the original one.
Based on our preliminary analysis, it can save 40% running time on a plant microarray data.
Whenever using this package, please cite as
Yu Zhang, Juan Xie, Jinyu Yang, Anne Fennell, Chi Zhang, Qin Ma;
QUBIC: a bioconductor package for qualitative biclustering analysis of gene co-expression data.
Bioinformatics, 2017; 33 (3): 450-452.
doi: 10.1093/bioinformatics/btw635
BCQUD
performs a QUalitative BIClustering for a discret matrix.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ## S4 method for signature 'matrix,BCQU'
biclust(x, method = BCQU(),
r = 1, q = 0.06,
c = 0.95, o = 100, f = 1,
k = max(ncol(x) %/% 20, 2),
type = 'default', P = FALSE, C = FALSE, verbose = TRUE,
weight = NULL, seedbicluster = NULL)
## S4 method for signature 'matrix,BCQUD'
biclust(x, method = BCQUD(),
c = 0.95, o = 100, f = 1,
k = max(ncol(x) %/% 20, 2),
type = 'default', P = FALSE, C = FALSE, verbose = TRUE,
weight = NULL, seedbicluster = NULL)
qubiclust_d(x, c = 0.95, o = 100, f = 1,
k = max(ncol(x) %/% 20, 2),
type = 'default', P = FALSE, C = FALSE, verbose = TRUE,
weight = NULL, seedbicluster = NULL)
qubiclust(x, r = 1L, q = 0.06, c = 0.95, o = 100, f = 1,
k = max(ncol(x) %/% 20, 2),
type = 'default', P = FALSE, C = FALSE, verbose = TRUE,
weight = NULL, seedbicluster = NULL)
|
x |
the input data matrix, which could be the normalized gene expression matrix or its qualitative representation from Qdiscretization or other discretization ways.
(for example: a qualitative representation of gene expression data) |
r |
Affect the granularity of the biclusters. The range of possible ranks.
A user can start with a small value of |
q |
Affect the granularity of the biclusters. The percentage of the regulating conditions for each gene.
The choice of |
c |
The required consistency level of a bicluster. The default value of |
o |
The number of output biclusters. |
f |
Control parameter, to control the level of overlaps between to-be-identified biclusters.
The filter cut-off for data post-processing. For overlaps among to-be-identified biclusters.
Its default value is set to |
k |
The minimum column width of the block, minimum |
type |
The constrain type. |
P |
The flag to enlarge current bicluster using a p-value contrain,
which is defined based on its significance of expression consistency comparing to some simulated submatrix. Default: |
C |
The flag to set the lower bound of the condition number in a bicluster as 5% of the total condition number in the input data.
Only suggested to use when the input data has a few conditions (e.g. less than |
verbose |
If ' |
weight |
Alternative weight matrix provided by user, will append to default weight. |
seedbicluster |
Seed provided by user, normally should be a result of function |
method |
|
For a given representing matrix of a microarray data set, we construct a weighted graph G with genes represented as vertices, edges connecting every pair of genes, and the weight of each edge being the similarity level between the two corresponding (entire) rows. Clearly, the higher a weight, the more similar two corresponding rows are. Intuitively, genes in a bicluster should induce a heavier subgraph of G because under a subset of the conditions, these genes have highly similar expression patterns that should make the weight of each involved edge heavier, comparing to the edges in the background. But it should be noted that some heavy subgraph may not necessarily correspond to a bicluster, i.e. genes from a heavy subgraph may not necessarily have similar expression patterns because different edges in a subgraph may have heavier weights under completely different subsets of conditions. It should also be noted that recognizing all heavy subgraphs in a weighted graph itself is computationally intractable because identification of maximum cliques in a graph is a special case of this, and the maximum clique problem is a well known intractable problem (NP-hard). So in our solution, we do not directly solve the problem of finding heavy subgraphs in a graph. Instead, we built our biclustering algorithm based on this graph representation of a microarray gene expression data, and tackle the biclustering problem as follows. We find all feasible biclusters (I,J) in the given data set such that min{|I|, |J|} is as large as possible, where I and J are subsets of genes and conditions, respectively.
Returns an Biclust object, which contains bicluster candidates
BCQU
: Performs a QUalitative BIClustering.
BCQUD
: Performs a QUalitative BIClustering for a discret matrix.
qubiclust_d
: Performs a QUalitative BIClustering for a discret matrix.
qubiclust
: Performs a QUalitative BIClustering.
Yu Zhang, Juan Xie, Jinyu Yang, Anne Fennell, Chi Zhang, Qin Ma; QUBIC: a bioconductor package for qualitative biclustering analysis of gene co-expression data. Bioinformatics, 2017; 33 (3): 450-452.
BCQU-class
qudiscretize
qunetwork
qunet2xml
biclust
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | # Random matrix with one embedded bicluster
test <- matrix(rnorm(5000), 100, 50)
test[11:20, 11:20] <- rnorm(100, 3, 0.3)
res <- biclust::biclust(test, method = BCQU())
summary(res)
show(res)
names(attributes(res))
## Not run:
# Load microarray matrix
data(BicatYeast)
# Display number of column and row of BicatYeast
ncol(BicatYeast)
nrow(BicatYeast)
# Bicluster on microarray matrix
system.time(res <- biclust::biclust(BicatYeast, method = BCQU()))
# Show bicluster info
res
# Show the first bicluster
biclust::bicluster(BicatYeast, res, 1)
# Get the 4th bicluster
bic4 <- biclust::bicluster(BicatYeast, res, 4)[[1]]
# or
bic4 <- biclust::bicluster(BicatYeast, res)[[4]]
# Show rownames of the 4th bicluster
rownames(bic4)
# Show colnames of the 4th bicluster
colnames(bic4)
## End(Not run)
## Not run:
# Bicluster on selected of genes
data(EisenYeast)
genes <- c("YHR051W", "YKL181W", "YHR124W", "YHL020C", "YGR072W", "YGR145W",
"YGR218W", "YGL041C", "YOR202W", "YCR005C")
# same result as res <- biclust::biclust(EisenYeast[1:10,], method=BCQU())
res <- biclust::biclust(EisenYeast[genes, ], method = BCQU())
res
## End(Not run)
## Not run:
# Get bicluster by row name = 249364_at
biclust::bicluster(BicatYeast, res, which(res@RowxNumber[which(rownames(BicatYeast) ==
"249364_at"), ]))
## End(Not run)
## Not run:
# Get bicluster by col name = cold_roots_6h
biclust::bicluster(BicatYeast, res, which(res@NumberxCol[, which(colnames(BicatYeast) ==
"cold_roots_6h")]))
## End(Not run)
## Not run:
# Draw a single bicluster using drawHeatmap {bicust}
data(BicatYeast)
res <- biclust::biclust(BicatYeast, BCQU(), verbose = FALSE)
# Draw heatmap of the first cluster
biclust::drawHeatmap(BicatYeast, res, 1)
## End(Not run)
## Not run:
# Draw a single bicluster using heatmap {stats}
data(BicatYeast)
res <- biclust::biclust(BicatYeast, BCQU(), verbose = FALSE)
bic10 <- biclust::bicluster(BicatYeast, res, 10)[[1]]
# Draw heatmap of the 10th cluster using heatmap {stats}
heatmap(as.matrix(t(bic10)), Rowv = NA, Colv = NA, scale = 'none')
# Draw heatmap of the 10th cluster using plot_heatmap {phyloseq}
if (requireNamespace('phyloseq'))
phyloseq::plot_heatmap(otu_table(bic10, taxa_are_rows = TRUE))
## End(Not run)
## Not run:
# Draw a single bicluster with original data background and color options
data(BicatYeast)
res <- biclust::biclust(BicatYeast, BCQU(), verbose = FALSE)
palette <- colorRampPalette(c('red', 'yellow', 'green'))(n = 100)
# Draw heatmap of the first cluster with color
biclust::drawHeatmap(BicatYeast, res, 1, FALSE, beamercolor = TRUE, paleta = palette)
## End(Not run)
## Not run:
# Draw some overlapped biclusters
data(BicatYeast)
res <- biclust::biclust(BicatYeast, BCQU(), verbose = FALSE)
biclusternumber(res, 1)
biclusternumber(res, 3)
# Draw overlapping heatmap
biclust::heatmapBC(x = BicatYeast, bicResult = res, number = c(1, 3), local = TRUE)
## End(Not run)
## Not run:
# Draw all the biclusters
data(BicatYeast)
res <- biclust::biclust(BicatYeast, BCQU(), verbose = FALSE)
# Draw the first bicluster on heatmap
biclust::heatmapBC(x = BicatYeast, bicResult = res, number = 1)
# Draw all the biclusters, not working well.
# Overlap plotting only works for two neighbor bicluster defined by the order in the number slot.
biclust::heatmapBC(x = BicatYeast, bicResult = res, number = 0)
## End(Not run)
# Biclustering of discretized yeast microarray data
data(BicatYeast)
disc<-qudiscretize(BicatYeast[1:10,1:10])
biclust::biclust(disc, method=BCQUD())
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.