Description Usage Arguments Details Value Functions Author(s) References See Also Examples
runibic
is a package that contains much faster parallel version of one of the most accurate biclustering algorithms, UniBic.
The original method was reimplemented from C to C++11, OpenMP was added for parallelization.
If you use this package, please cite it as: Patryk Orzechowski, Artur Pa<c5><84>szczyk, Xiuzhen Huang, Jason H Moore; "runibic: a Bioconductor package for parallel row-based biclustering of gene expression data"; Bioinformatics, 2018, bty512, doi: https://doi.org/10.1093/bioinformatics/bty512
Each of the following functions BCUnibic
, BCUnibicD
,
runibic
perform biclustering
using UniBic biclustering algorithm. The major difference
between the functions is that BCUnibicD
require a discretized matrix,
whilst BCUnibic
(or runibic
)
could be applied to numeric one.
1 2 3 4 5 6 7 |
x |
numeric or integer matrix (depends on the function) |
t |
consistency level of the block (0.5-1.0]. |
q |
a double value for quantile discretization |
f |
filtering overlapping blocks (default 1 do not remove any blocks) |
nbic |
maximum number of biclusters in output |
div |
number of ranks for up(down)-regulated genes: default: 0==ncol(x) |
useLegacy |
boolean value for using legacy parameter settings |
For a given input matrix we first perform discretization and create index matrix using runiDiscretize
function.
The discretization is performed taking into account quantiles of the data.
The resulting index matrix allows to detect order-preserving trends between each pair of the rows
irrespective to the order of columns.
After the ranking, the matrix is split by rows into subgroups based on the significance of the future biclusters.
In each of the chunks, we calculate pairwise calculations of Longest Common Subsequence LCS between all pairs of the rows.
LCS calculations are performed using dynamic programming and determine the longest order-preserving trend between each pair of the rows.
After partitioning the matrix strict order-preserving biclusters are determined and later expanded
to approximate-trend biclusters within cluster
function.
This package provides 3 main functions:
runibic
and BCUnibic
perform UniBic biclustering algorithm on numeric data, whilst
BCUnibicD
could be applied to integer ones. The latter two methods are compatible with Biclust
class.
Biclust
object with detected biclusters
BCUnibic
: BCUnibic
performs biclustering using UniBic on numeric matrix.
It is intended to use as a method called from biclust
.
BCUnibicD
: perform biclustering using UniBic on integer matrix.
It is intended to use as a method called from biclust
.
runibic
: perform biclustering using UniBic on numeric matrix.
Patryk Orzechowski patryk.orzechowski@gmail.com, Artur Pa<c5><84>szczyk panszczyk.artur@gmail.com
Wang, Zhenjia, et al. "UniBic: Sequential row-based biclustering algorithm for analysis of gene expression data." Scientific reports 6 (2016): 23466.
Patryk Orzechowski, Artur Pa<c5><84>szczyk, Xiuzhen Huang, Jason H. Moore: "runibic: a Bioconductor package for parallel row-based biclustering of gene expression data", bioRxiv (2017): 210682, doi: https://doi.org/10.1101/210682
runiDiscretize
set_runibic_params
BCUnibic-class
BCUnibicD-class
unisort
1 2 3 4 5 6 7 8 9 | A <- matrix(replicate(100, rnorm(100)), nrow=100, byrow=TRUE)
runibic(A)
BCUnibic(A)
BCUnibic(A, t = 0.95, q = 0, f = 1, nbic = 100, div = 0)
B <- runiDiscretize(A)
runibic(B)
BCUnibicD(B, t = 0.95, q = 0, f = 1, nbic = 100, div = 0)
biclust::biclust(A, method=BCUnibic(), t = 0.95, q = 0, f = 1, nbic = 100, div = 0)
biclust::biclust(B, method=BCUnibicD(), t = 0.95, q = 0, f = 1, nbic = 100, div = 0)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.