Bio.Cluster 包

模块内容

聚类分析。

Bio.Cluster 提供了常用的聚类算法,并且专为基因表达数据分析而设计。但是,此模块也可以用于其他类型数据的聚类分析。

Bio.Cluster 和底层的 C 聚类库在 M. de Hoon 等人 (2004) 的论文中有所描述 https://doi.org/10.1093/bioinformatics/bth078

class Bio.Cluster.Node

基类:Node

一个 Node 对象描述了层次聚类树中的单个节点。整数属性 'left' 和 'right' 表示组成该节点的两个成员;浮点属性 'distance' 包含该节点的两个成员之间的距离。

class Bio.Cluster.Tree

基类:Tree

层次聚类树。

一个 Tree 由 Nodes 组成。

sort(order=None)

对层次聚类树进行排序。

通过交换节点的左子节点和右子节点来对层次聚类树进行排序,以便树中从左到右的元素倾向于具有递增的顺序值。

返回元素在层次聚类树中从左到右的顺序的索引,使得索引为 indices[i] 的元素在谱系图中出现在位置 i。

cut(nclusters=None)

通过切割层次聚类树来创建聚类。

将层次聚类结果 mytree 中的元素划分为聚类,并返回一个数组,其中包含每个元素所分配的聚类编号。

关键字参数
  • nclusters: 期望的聚类数量。

Bio.Cluster.kcluster(data, nclusters=2, mask=None, weight=None, transpose=False, npass=1, method='a', dist='e', initialid=None)

执行 k-means 聚类。

此函数对 data 中的值执行 k-means 聚类,并返回聚类分配、最佳 k-means 聚类解决方案的集群内距离总和以及找到最佳解决方案的次数。

关键字参数
  • data: 包含数据值的 nrows x ncolumns 数组。

  • nclusters: 聚类数量(k-means 中的 'k')。

  • mask: nrows x ncolumns 整数数组,显示哪些数据丢失。如果 mask[i,j]==0,则 data[i,j] 丢失。

  • weight: 计算距离时使用的权重。

  • transpose: - 如果为 False: 聚类行;- 如果为 True: 聚类列。

  • npass: k-means 聚类算法执行的次数,每次都使用不同的(随机)初始条件。

  • method: 指定如何找到聚类中心:- method == 'a': 算术平均值;- method == 'm': 中位数。

  • dist: 指定要使用的距离函数:- dist == 'e': 欧几里得距离;- dist == 'b': 城市街区距离;- dist == 'c': 皮尔逊相关系数;- dist == 'a': 相关系数的绝对值;- dist == 'u': 未中心化相关系数;- dist == 'x': 未中心化相关系数的绝对值;- dist == 's': 斯皮尔曼秩相关系数;- dist == 'k': 肯德尔τ。

  • initialid: 算法应该从哪个初始聚类开始。如果 initialid 为 None,则该例程将执行 EM 算法的 npass 次重复,每次都从不同的随机初始聚类开始。如果提供了 initialid,则该例程将只执行一次 EM 算法,从给定的初始聚类开始,并且不随机化将项目分配给聚类的顺序(即使用数据矩阵中相同的顺序)。在这种情况下,k-means 算法是完全确定的。

返回值
  • clusterid: 包含在 npass 次运行中找到的最佳 k-means 聚类解决方案中每个项目分配到的聚类索引的数组;

  • error: 返回的 k-means 聚类解决方案的集群内距离总和;

  • nfound: 找到此解决方案的次数。

Bio.Cluster.kmedoids(distance, nclusters=2, npass=1, initialid=None)

执行 k-medoids 聚类。

此函数执行 k-medoids 聚类,并返回聚类分配、最佳 k-medoids 聚类解决方案的集群内距离总和以及找到最佳解决方案的次数。

关键字参数
  • distance: 项目之间的距离矩阵。可以通过三种方式传递距离矩阵:1. 2D NumPy 数组(其中只访问数组的左下半部分);2. 包含连续距离的 1D NumPy 数组;3. 包含距离矩阵的左下半部分的行的列表。

    示例:

    >>> from numpy import array
    >>> # option 1:
    >>> distance = array([[0.0, 1.1, 2.3],
    ...                   [1.1, 0.0, 4.5],
    ...                   [2.3, 4.5, 0.0]])
    >>> # option 2:
    >>> distance = array([1.1, 2.3, 4.5])
    >>> # option 3:
    >>> distance = [array([]),
    ...             array([1.1]),
    ...             array([2.3, 4.5])]
    

    这三个对应于相同的距离矩阵。

  • nclusters: 聚类数量(k-medoids 中的 'k')

  • npass: k-medoids 聚类算法执行的次数,每次都使用不同的(随机)初始条件。

  • initialid: 算法应该从哪个初始聚类开始。如果未提供 initialid,则该例程将执行 EM 算法的 npass 次重复,每次都从不同的随机初始聚类开始。如果提供了 initialid,则该例程将只执行一次 EM 算法,从 initialid 指定的初始聚类开始,并且不随机化将项目分配给聚类的顺序(即使用数据矩阵中相同的顺序)。在这种情况下,k-medoids 算法是完全确定的。

返回值
  • clusterid: 包含在 npass 次运行中找到的最佳 k-medoids 聚类解决方案中每个项目分配到的聚类索引的数组;请注意,聚类的索引是作为该聚类的中心点的项目的索引;

  • error: 返回的 k-medoids 聚类解决方案的集群内距离总和;

  • nfound: 找到此解决方案的次数。

Bio.Cluster.treecluster(data, mask=None, weight=None, transpose=False, method='m', dist='e', distancematrix=None)

执行层次聚类,并返回一个 Tree 对象。

此函数实现了成对的单链接、全链接、质心和平均链接层次聚类方法。

关键字参数
  • data: 包含数据值的 nrows x ncolumns 数组。

  • mask: nrows x ncolumns 整数数组,显示哪些数据丢失。如果 mask[i][j]==0,则 data[i][j] 丢失。

  • weight: 用于计算距离时的权重。

  • transpose: - 如果为 False,则对行进行聚类; - 如果为 True,则对列进行聚类。

  • dist: 指定要使用的距离函数: - dist == ‘e’: 欧氏距离 - dist == ‘b’: 城市街区距离 - dist == ‘c’: 皮尔逊相关系数 - dist == ‘a’: 相关系数的绝对值 - dist == ‘u’: 未中心化的相关系数 - dist == ‘x’: 未中心化的相关系数的绝对值 - dist == ‘s’: 斯皮尔曼等级相关系数 - dist == ‘k’: 肯德尔秩相关系数

  • method: 指定使用哪种链接方法: - method == ‘s’: 单个成对链接 - method == ‘m’: 完全(最大)成对链接(默认) - method == ‘c’: 重心链接 - method == ‘a’: 平均成对链接

  • distancematrix: 项之间的距离矩阵。您可以通过三种方式传递距离矩阵:1. 2D NumPy 数组(仅访问数组的左下部分);2. 包含连续距离的 1D NumPy 数组;3. 包含距离矩阵的左下三角部分的行的列表。

    示例:

    >>> from numpy import array
    >>> # option 1:
    >>> distance = array([[0.0, 1.1, 2.3],
    ...                   [1.1, 0.0, 4.5],
    ...                   [2.3, 4.5, 0.0]])
    >>> # option 2:
    >>> distance = array([1.1, 2.3, 4.5])
    >>> # option 3:
    >>> distance = [array([]),
    ...             array([1.1]),
    ...             array([2.3, 4.5])]
    

    这三个对应于相同的距离矩阵。

    请注意:由于 treecluster 例程可能会在聚类算法的一部分中对距离矩阵中的值进行洗牌,因此如果以后需要该数组,请务必在调用 treecluster 之前将其保存在不同的变量中。

data 或 distancematrix 应该为 None。如果 distancematrix 为 None,则分层聚类解决方案将根据参数 data 中存储的值进行计算。如果 data 为 None,则分层聚类解决方案将根据距离矩阵进行计算。仅能从数据值而不是从距离矩阵执行成对重心链接聚类。可以从数据值或距离矩阵计算成对单个、最大和平均链接聚类。

返回值:treecluster 返回一个描述分层聚类结果的 Tree 对象。有关更多信息,请参见 Tree 类的描述。

Bio.Cluster.somcluster(data, mask=None, weight=None, transpose=False, nxgrid=2, nygrid=1, inittau=0.02, niter=1, dist='e')

计算自组织映射。

此函数在矩形网格上实现自组织映射。

关键字参数
  • data: 包含数据值的 nrows x ncolumns 数组;

  • mask: nrows x ncolumns 整数数组,显示哪些数据丢失。如果 mask[i][j]==0,则 data[i][j] 丢失。

  • weight: 计算距离时使用的权重。

  • transpose: - 如果为 False: 聚类行;- 如果为 True: 聚类列。

  • nxgrid: 矩形 SOM 映射的水平尺寸

  • nygrid: 矩形 SOM 映射的垂直尺寸

  • inittau: tau(邻域函数)的初始值

  • niter: 迭代次数

  • dist: 指定要使用的距离函数: - dist == ‘e’: 欧氏距离 - dist == ‘b’: 城市街区距离 - dist == ‘c’: 皮尔逊相关系数 - dist == ‘a’: 相关系数的绝对值 - dist == ‘u’: 未中心化的相关系数 - dist == ‘x’: 未中心化的相关系数的绝对值 - dist == ‘s’: 斯皮尔曼等级相关系数 - dist == ‘k’: 肯德尔秩相关系数

返回值

  • clusterid: 包含两列的数组,行数等于正在聚类的项。数组中的每一行都包含矩形 SOM 网格中单元格的 x 和 y 坐标,该单元格将该项分配到其中。

  • celldata: 如果正在聚类行,则尺寸为 [nxgrid, nygrid, 列数] 的数组,或者如果正在聚类列,则尺寸为 [nxgrid, nygrid, 行数) 的数组。此数组的每个元素 [ix, iy] 都是一个 1D 向量,包含 SOM 网格单元格(坐标为 [ix, iy])中簇的质心的数据值。

Bio.Cluster.clusterdistance(data, mask=None, weight=None, index1=None, index2=None, method='a', dist='e', transpose=False)

计算并返回两个簇之间的距离。

关键字参数
  • data: 包含数据值的 nrows x ncolumns 数组。

  • mask: nrows x ncolumns 整数数组,显示哪些数据缺失。如果 mask[i, j]==0,则 data[i, j] 缺失。

  • weight: 计算距离时使用的权重。

  • index1: 1D 数组,标识哪些项属于第一个簇。如果簇只包含一项,则 index1 也可以写成单个整数。

  • index2: 1D 数组,标识哪些项属于第二个簇。如果簇只包含一项,则 index2 也可以写成单个整数。

  • dist: 指定要使用的距离函数: - dist == ‘e’: 欧氏距离 - dist == ‘b’: 城市街区距离 - dist == ‘c’: 皮尔逊相关系数 - dist == ‘a’: 相关系数的绝对值 - dist == ‘u’: 未中心化的相关系数 - dist == ‘x’: 未中心化的相关系数的绝对值 - dist == ‘s’: 斯皮尔曼等级相关系数 - dist == ‘k’: 肯德尔秩相关系数

  • method: 指定如何定义两个簇之间的距离: - method == ‘a’: 两个簇的算术平均值之间的距离 - method == ‘m’: 两个簇的中位数之间的距离 - method == ‘s’: 两个簇成员之间的最小成对距离 - method == ‘x’: 两个簇成员之间的最大成对距离 - method == ‘v’: 两个簇成员之间的成对距离的平均值

  • transpose: - 如果为 False:考虑行的簇; - 如果为 True:考虑列的簇。

Bio.Cluster.clustercentroids(data, mask=None, clusterid=None, method='a', transpose=False)

计算并返回每个簇的质心。

clustercentroids 例程计算簇质心,给出每个项属于哪个簇。质心被定义为每个维度上所有项的算术平均值或中位数。

关键字参数
  • data: 包含数据值的 nrows x ncolumns 数组。

  • mask: nrows x ncolumns 整数数组,显示哪些数据缺失。如果 mask[i, j]==0,则 data[i, j] 缺失。

  • clusterid: 包含每个项的簇号的数组。簇号应为非负数。

  • method: 指定质心是根据每个维度的算术平均值(method == ‘a’,默认)还是中位数(method == ‘m’)计算的。

  • transpose: 如果为 False,则每一行都包含一项的数据;

    如果为 True,则每一列都包含一项的数据。

返回值
  • cdata: 包含簇质心的 2D 数组。如果 transpose 为 False,则 cdata 的尺寸为 nclusters x ncolumns。如果 transpose 为 True,则 cdata 的尺寸为 nrows x nclusters。

  • cmask: 描述 cdata 中哪些项(如果有)缺失的 2D 整数数组。

Bio.Cluster.distancematrix(data, mask=None, weight=None, transpose=False, dist='e')

从数据中计算并返回距离矩阵。

此函数返回从数据中计算的距离矩阵。

关键字参数
  • data: 包含数据值的 nrows x ncolumns 数组。

  • mask: nrows x ncolumns 整数数组,显示哪些数据缺失。如果 mask[i, j]==0,则 data[i, j] 缺失。

  • weight: 用于计算距离时的权重。

  • transpose: 如果为 False:计算行之间的距离;

    如果为 True:计算列之间的距离。

  • dist: 指定要使用的距离函数: - dist == ‘e’: 欧氏距离 - dist == ‘b’: 城市街区距离 - dist == ‘c’: 皮尔逊相关系数 - dist == ‘a’: 相关系数的绝对值 - dist == ‘u’: 未中心化的相关系数 - dist == ‘x’: 未中心化的相关系数的绝对值 - dist == ‘s’: 斯皮尔曼等级相关系数 - dist == ‘k’: 肯德尔秩相关系数

返回值:距离矩阵以包含从数据计算的距离矩阵的 1D 数组列表的形式返回。每一行中的列数等于行号。因此,第一行长度为零。例如

>>> from numpy import array
>>> from Bio.Cluster import distancematrix
>>> data = array([[0, 1,  2,  3],
...               [4, 5,  6,  7],
...               [8, 9, 10, 11],
...               [1, 2,  3,  4]])
>>> distances = distancematrix(data, dist='e')
>>> distances
[array([], dtype=float64), array([16.]), array([64., 16.]), array([ 1.,  9., 49.])]

可以改写为

distances = [array([], dtype=float64),
             array([ 16.]),
             array([ 64.,  16.]),
             array([  1.,   9.,  49.])]

这对应于距离矩阵

[ 0., 16., 64.,  1.]
[16.,  0., 16.,  9.]
[64., 16.,  0., 49.]
[ 1.,  9., 49.,  0.]
Bio.Cluster.pca(data)

执行主成分分析。

关键字参数
  • data: 包含数据值的 nrows x ncolumns 数组。

返回值:此函数返回一个数组,其中包含每列的平均值、作为 nmin x ncolumns 数组的主成分、以及数据沿主成分的坐标(nrows x nmin 数组)以及相关的特征值。主成分、坐标和特征值按特征值的大小排序,最大的特征值最先出现。这里,nmin 是 nrows 和 ncolumns 中较小的一个。将列均值添加到坐标和主成分的点积中,可以重新创建数据矩阵

>>> from numpy import array, dot
>>> from Bio.Cluster import pca
>>> matrix = array([[ 0.,  0.,  0.],
...                 [ 1.,  0.,  0.],
...                 [ 7.,  3.,  0.],
...                 [ 4.,  2.,  6.]])
>>> columnmean, coordinates, pc, _ = pca(matrix)
>>> m = matrix - (columnmean + dot(coordinates, pc))
>>> abs(m) < 1e-12
array([[ True,  True,  True],
       [ True,  True,  True],
       [ True,  True,  True],
       [ True,  True,  True]])
class Bio.Cluster.Record(handle=None)

Bases: object

存储基因表达数据。

Record 存储基因表达数据和相关信息,这些信息包含在遵循为 Michael Eisen 的 Cluster/TreeView 程序定义的文件格式的数据文件中。

属性
  • data: 包含基因表达数据的矩阵

  • mask: 仅包含 1 和 0 的矩阵,表示哪些值存在(1)或缺失(0)。如果 mask 的所有项都为 1(无缺失数据),则 mask 设置为 None。

  • geneid: 包含每个基因的唯一标识符(例如,ORF 名称)的列表

  • genename: 包含每个基因的附加描述(例如,基因名称)的列表

  • gweight: 用于计算距离时每个基因的权重

  • gorder: 一系列实数,表示输出文件中基因的首选顺序

  • expid: 包含每个样本的唯一标识符的列表。

  • eweight: 用于计算距离时每个样本的权重

  • eorder: 一系列实数,表示输出文件中样本的首选顺序

  • uniqid: 在输入文件中用作 UNIQID 的字符串。

__init__(handle=None)

从文件句柄中读取基因表达数据并返回 Record。

该文件应采用为 Michael Eisen 的 Cluster/TreeView 程序定义的格式。

treecluster(transpose=False, method='m', dist='e')

应用层次聚类并返回一个 Tree 对象。

提供成对单链、全链、质心和平均链层次聚类方法。

关键字参数
  • transpose: 如果为 False: 聚类行;

    如果为 True: 聚类列。

  • dist: 指定要使用的距离函数: - dist == ‘e’: 欧氏距离 - dist == ‘b’: 城市街区距离 - dist == ‘c’: 皮尔逊相关系数 - dist == ‘a’: 相关系数的绝对值 - dist == ‘u’: 未中心化的相关系数 - dist == ‘x’: 未中心化的相关系数的绝对值 - dist == ‘s’: 斯皮尔曼等级相关系数 - dist == ‘k’: 肯德尔秩相关系数

  • method: 指定使用哪种链接方法: - method == ‘s’: 单个成对链接 - method == ‘m’: 完全(最大)成对链接(默认) - method == ‘c’: 重心链接 - method == ‘a’: 平均成对链接

有关此方法返回的 Tree 对象的更多信息,请参见 Tree 类说明。

kcluster(nclusters=2, transpose=False, npass=1, method='a', dist='e', initialid=None)

应用 K 均值或 K 中值聚类。

此方法返回一个元组 (clusterid, error, nfound)。

关键字参数
  • nclusters: 聚类数量(K 均值中的“K”)。

  • transpose: 如果为 False,则聚类基因(行);

    如果为 True,则聚类样本(列)。

  • npass: k-means 聚类算法执行的次数,每次都使用不同的(随机)初始条件。

  • method: 指定如何查找聚类中心: - method == ‘a’: 算术平均值 - method == ‘m’: 中值

  • dist: 指定要使用的距离函数: - dist == ‘e’: 欧氏距离 - dist == ‘b’: 城市街区距离 - dist == ‘c’: 皮尔逊相关系数 - dist == ‘a’: 相关系数的绝对值 - dist == ‘u’: 未中心化的相关系数 - dist == ‘x’: 未中心化的相关系数的绝对值 - dist == ‘s’: 斯皮尔曼等级相关系数 - dist == ‘k’: 肯德尔秩相关系数

  • initialid: 算法应该从哪个初始聚类开始。如果 initialid 为 None,则该例程将执行 EM 算法的 npass 次重复,每次都从不同的随机初始聚类开始。如果提供了 initialid,则该例程将只执行一次 EM 算法,从给定的初始聚类开始,并且不随机化将项目分配给聚类的顺序(即使用数据矩阵中相同的顺序)。在这种情况下,k-means 算法是完全确定的。

返回值
  • clusterid: 数组,包含在 npass 次运行中找到的最佳 K 均值聚类解决方案中分配给每个基因/样本的聚类编号;

  • error: 返回的 k-means 聚类解决方案的集群内距离总和;

  • nfound: 找到此解决方案的次数。

somcluster(transpose=False, nxgrid=2, nygrid=1, inittau=0.02, niter=1, dist='e')

在矩形网格上计算自组织映射。

somcluster 方法返回一个元组 (clusterid, celldata)。

关键字参数
  • transpose: 如果为 False,则聚类基因(行);

    如果为 True,则聚类样本(列)。

  • nxgrid: 矩形 SOM 映射的水平尺寸

  • nygrid: 矩形 SOM 映射的垂直尺寸

  • inittau: tau(邻域函数)的初始值

  • niter: 迭代次数

  • dist: 指定要使用的距离函数: - dist == ‘e’: 欧氏距离 - dist == ‘b’: 城市街区距离 - dist == ‘c’: 皮尔逊相关系数 - dist == ‘a’: 相关系数的绝对值 - dist == ‘u’: 未中心化的相关系数 - dist == ‘x’: 未中心化的相关系数的绝对值 - dist == ‘s’: 斯皮尔曼等级相关系数 - dist == ‘k’: 肯德尔秩相关系数

返回值
  • clusterid: 数组,包含两列,而行数等于基因数量或样本数量,具体取决于聚类的是基因还是样本。数组中的每一行都包含矩形 SOM 网格中分配给基因或样本的单元格的 x 和 y 坐标。

  • celldata: 数组,维度为 (nxgrid, nygrid, 样本数量),如果聚类的是基因,或 (nxgrid, nygrid, 基因数量),如果聚类的是样本。此数组的每个项目 [ix, iy] 都是一个 1D 向量,包含 SOM 网格单元格中具有坐标 [ix, iy] 的聚类中心的基因表达数据。

clustercentroids(clusterid=None, method='a', transpose=False)

计算聚类中心并返回一个元组 (cdata, cmask)。

中心定义为每个维度的所有项目的平均值或中值。

关键字参数
  • data: nrows x ncolumns 数组,包含表达数据。

  • mask: nrows x ncolumns 整数数组,显示哪些数据缺失。如果 mask[i, j]==0,则 data[i, j] 缺失。

  • transpose: 如果为 False,则考虑基因(行)聚类;

    如果为 True,则考虑样本(列)聚类。

  • clusterid: 数组,包含每个基因或样本的聚类编号。聚类编号应为非负数。

  • method: 指定如何计算中心: - method == ‘a’: 每个维度的算术平均值。(默认) - method == ‘m’: 每个维度的中值。

返回值
  • cdata: 包含簇质心的 2D 数组。如果 transpose 为 False,则 cdata 的尺寸为 nclusters x ncolumns。如果 transpose 为 True,则 cdata 的尺寸为 nrows x nclusters。

  • cmask: 描述 cdata 中哪些项(如果有)缺失的 2D 整数数组。

clusterdistance(index1=0, index2=0, method='a', dist='e', transpose=False)

计算两个聚类之间的距离。

关键字参数
  • index1: 1D 数组,标识哪些基因/样本属于第一个聚类。如果聚类只包含一个基因,那么 index1 也可以写成单个整数。

  • index2: 1D 数组,标识哪些基因/样本属于第二个聚类。如果聚类只包含一个基因,那么 index2 也可以写成单个整数。

  • transpose: 如果为 False,则聚类基因(行);

    如果为 True,则聚类样本(列)。

  • dist: 指定要使用的距离函数: - dist == ‘e’: 欧氏距离 - dist == ‘b’: 城市街区距离 - dist == ‘c’: 皮尔逊相关系数 - dist == ‘a’: 相关系数的绝对值 - dist == ‘u’: 未中心化的相关系数 - dist == ‘x’: 未中心化的相关系数的绝对值 - dist == ‘s’: 斯皮尔曼等级相关系数 - dist == ‘k’: 肯德尔秩相关系数

  • method: 指定如何定义两个簇之间的距离: - method == ‘a’: 两个簇的算术平均值之间的距离 - method == ‘m’: 两个簇的中位数之间的距离 - method == ‘s’: 两个簇成员之间的最小成对距离 - method == ‘x’: 两个簇成员之间的最大成对距离 - method == ‘v’: 两个簇成员之间的成对距离的平均值

  • transpose: 如果为 False: 考虑行聚类;

    如果为 True: 考虑列聚类。

distancematrix(transpose=False, dist='e')

计算距离矩阵并将其作为数组列表返回。

关键字参数
  • transpose

    如果为 False: 计算基因(行)之间的距离;如果为 True: 计算样本(列)之间的距离。

  • dist: 指定要使用的距离函数: - dist == ‘e’: 欧氏距离 - dist == ‘b’: 城市街区距离 - dist == ‘c’: 皮尔逊相关系数 - dist == ‘a’: 相关系数的绝对值 - dist == ‘u’: 未中心化的相关系数 - dist == ‘x’: 未中心化的相关系数的绝对值 - dist == ‘s’: 斯皮尔曼等级相关系数 - dist == ‘k’: 肯德尔秩相关系数

返回值

距离矩阵作为包含基因表达数据之间距离矩阵的 1D 数组列表返回。每行的列数等于行号。因此,第一行长度为零。返回值的示例如下:

matrix = [[],

array([1.]), array([7., 3.]), array([4., 2., 6.])]

这对应于距离矩阵

[0., 1., 7., 4.] [1., 0., 3., 2.] [7., 3., 0., 6.] [4., 2., 6., 0.]

save(jobname, geneclusters=None, expclusters=None)

保存聚类结果。

保存的文件遵循 Java TreeView 程序的约定,因此可以用来查看聚类结果。

关键字参数
  • jobname: 要保存的文件的基名称。文件名分别为 jobname.cdt、jobname.gtr 和 jobname.atr(用于层次聚类),以及 jobname-K*.cdt、jobname-K*.kgg、jobname-K*.kag(用于 K 均值聚类结果)。

  • geneclusters: 对于层次聚类结果,geneclusters 是由 treecluster 方法返回的 Tree 对象。对于 K 均值聚类结果,geneclusters 是包含 ngenes 个整数的向量,描述每个基因属于哪个聚类。此向量可以通过 kcluster 计算。

  • expclusters: 对于层次聚类结果,expclusters 是由 treecluster 方法返回的 Tree 对象。对于 K 均值聚类结果,expclusters 是包含 nexps 个整数的向量,描述每个样本属于哪个聚类。此向量可以通过 kcluster 计算。

Bio.Cluster.read(handle)

从文件句柄中读取基因表达数据并返回 Record。

该文件应采用 Michael Eisen 的 Cluster/TreeView 程序定义的文件格式。