runibic:平行UniBic biclustering算法R

这个包包含一个更新的并行实现UniBic biclustering算法(Wang2016)基因表达数据。该算法定位trend-preserving biclusters在复杂和嘈杂的数据和被认为是biclustering最准确的方法。

介绍

因为他们的第一个应用程序(Cheng2000)基因表达数据biclustering算法[Eren2012]获得了人气。这样做的原因是方法同时检测有效模式的能力只包括在数据行和列的子集。

在这个包中,我们提供了一种有效的并行改进实施UniBic biclustering算法。据说这种先进的算法优于多个biclustering方法合成和基因数据集。我们的主要贡献是重新实现方法为更现代c++ 11语言以及多个改进代码(内存管理、代码重构等)。

功能

这个包提供了以下主要功能:

包提供了一些额外的功能:

安装

这个包可以安装如下:

例子

合成数据

这个例子展示了runibic合成数据的基本用法。我们开始加载库。

首先,我们准备一个随机矩阵。

然后,我们运行UniBic biclustering算法在数据集。我们使用一个Biclust包包装。

我们可以检查返回的结果的方法。让我们看看有多少biclusters检测到。

我们也可以检查一个特定的行bicluster,例如第三个。

同样我们可以检查第三bicluster索引的列。

在biclustering视觉分析是非常有用的。我们画的热图bicluster使用获得的drawHeatmap函数biclust包中。

我们也可以给bicluster平行坐标图的功能parallelCoordinatesbiclust包中。

同样的包可以用来找到离散数据的趋势。我们运行runiDiscretize函数。

最后,我们运行UniBic算法用于处理离散数据集。

其他包提供的数据

这个示例介绍了如何使用runibic包样本数据集。后加载所有必需的库

我们应用UniBic biclustering酵母样本数据集的方法biclust包中。

92 biclusters方法发现。现在我们将分析结果。我们将开始绘制的热图的第一个发现bicluster使用drawHeatmapbiclust包中。

然后我们可以检查的结果绘制基因bicluster使用平行坐标图parallelCoordinates函数biclust包中。

总结了实验

runibic第三应用程序使用数据集的算法从一个RNA-Seq实验(SummarizedExperiment)。我们开始加载必要的包(runibic,SummarizedExperiment),加载数据集气管。

我们将只有一个子集的数据检查方法是否可以返回任何模式。

看看UniBic检测到任何模式的数据集。

可以使用可视化的结果parallelCoordinates方法从biclust包中。

我们也可以画一个与第二bicluster热图。

基因表达数据集

runibic包分析的另一个非常有用的应用程序真正从基因表达综合(GEO)获得的数据集。对于这个任务我们将使用三个包:getGEOGEOquery下载数据,GDS2eSetaffy将数据集ExpressionSet最后exprs提取基因表达矩阵。

我们下载数据集与鼠外围,从基因表达综合大脑区域。

现在我们将数据集转换成ExpressionSet数据集的子集。

我们在前100的基因进行分析。

最后,我们画出的热图第一bicluster使用drawHeatmap函数biclust包中。

发现两个向量之间的最长公共子序列(1)

最长公共子序列(LCS)最长的两个向量之间的一系列的数据存在于两个向量分析。让我们准备两个向量的分析。

您可能会注意到,值(1、2、4)都包含在这两个向量:A: (1 2 x, x 4 x)和B: (2 x, 1, x, x, 4)

让我们使用提供的方法包计算最长公共子序列。我们首先检查该值向量使用很常见backtrackLCS

然后使用动态规划计算最长公共子序列的矩阵pairwiselLCS

发现两个向量之间的最长公共子序列(2)

在我们的下一个示例中,我们会发现矩阵内的最长公共子序列的长度我们开始准备输入矩阵。

我们在每一行数据的功能unisort提供的runibic包中。

现在我们计算每一对之间的LCS长度的行calculateLCS利用斐波那契堆或标准。

您可能会注意到,根据所选择的方法结果可能有所不同。

我们可以检查最长公共子序列的长度(例如LCS行6和7 = 10)之间。

从UniBic离散化矩阵使用分位数的方法

首先,我们创建一个随机矩阵

从UniBic离散化(使用原始排序方法使用斐波那契堆)可以应用使用runiDiscretize函数。

一步一步运行UniBic算法

为了充分利用runibic提供的模块化,我们应用UniBic算法一步一步使用标准的稳定。最后一个例子展示了如何使用集群功能的方案。创建一个矩阵后我们每一行中的值并计算所有成对的行之间的LCS。

最后,我们应用集群功能检查结果。

引用

原来的顺序biclustering算法请使用以下引用:

李* * Zhenjia Wang Guojun Robert w . Robinson Xiuzhen黄UniBic:序贯行的biclustering基因表达数据的分析算法科学报告6,2016;23466年,doi:https://doi: 10.1038 / srep23466 * *

如果你使用这个包在你的工作与并行版本的UniBic请使用以下引用:

Patryk Orzechowski,阿图尔Pańszczyk, Xiuzhen黄,杰森·H·摩尔;runibic: Bioconductor包并行行的biclustering基因表达数据生物信息学,bty512,https://doi.org/10.1093/bioinformatics/bty512

助理条目:

作者@article {orzechowski2018runibic = {Orzechowski, Patryk Pańszczyk,阿图尔和黄,Xiuzhen摩尔,杰森H}, title = {runibic: Bioconductor方案并行基因表达数据的基于行的biclustering},杂志={生物信息学},体积={},数量={},页面= {bty512} = {2018}, doi ={10.1093 /生物信息学/ bty512}, URL = {http://dx.doi.org/10.1093/bioinformatics/bty512}, eprint ={/牛津大学出版社/过期刊物/ content_public /杂志/生物信息学/巴氏/ 10.1093 _bioinformatics_bty512/4 / bty512。pdf}}

引用