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.