st.pp.normalize_total(data) # NOTE: no log1p

这段代码在使用 stlearn 包中的 st.pp.normalize_total 函数对数据进行总体计数标准化。标准化后,每个细胞的总计数都将等于 median(total_counts)。

NOTE: no log1p

这行注释表示在标准化后,数据不会进行 log1p 转换。log1p 转换将每个计数值增加 1,然后对其进行 log 转换。这可以帮助减少计数值的偏差,并使数据更加符合正态分布。

因此,这段代码的完整含义是:

  • 使用 st.pp.normalize_total 函数对数据进行总体计数标准化。
  • 在标准化后,数据不会进行 log1p 转换。

以下是这段代码的具体操作步骤:

  1. 首先,st.pp.normalize_total 函数将计算每个细胞的标准化因子 (size factor)。
  2. 然后,函数将使用标准化因子将每个细胞的计数值进行标准化。
  3. 最后,函数将在标准化后的数据中添加一个名为 "size_factor" 的列,其中存储了每个细胞的标准化因子。

stLearn Cell-Cell Interaction Analysis — stLearn 0.4.11 documentationicon-default.png?t=N7T8https://stlearn.readthedocs.io/en/latest/tutorials/stLearn-CCI.html

要想在标准化后对数据进行 log1p 转换,可以使用以下步骤:

  1. 首先,使用 st.pp.normalize_total 函数对数据进行总体计数标准化。
  2. 然后,使用 numpy.log1p 函数对标准化后的数据进行 log1p 转换。

以下是完整的代码示例:

Python

import stlearn

# 加载数据
data = stlearn.datasets.load_protein_expression()

# 标准化数据
data = st.pp.normalize_total(data)

# log1p 转换
data = np.log1p(data)

Use code with caution. Learn more

content_copy

这段代码将首先使用 stlearn.datasets.load_protein_expression() 函数加载数据。然后,使用 st.pp.normalize_total() 函数对数据进行总体计数标准化。最后,使用 numpy.log1p() 函数对标准化后的数据进行 log1p 转换。

如果您希望在标准化后对数据进行 log1p 转换,但又不想使用 stlearn 包,也可以使用以下步骤:

  1. 首先,计算每个细胞的标准化因子 (size factor)。
  2. 然后,使用标准化因子将每个细胞的计数值进行标准化。
  3. 最后,使用 numpy.log1p 函数对标准化后的数据进行 log1p 转换。

以下是完整的代码示例:

Python

import numpy as np

# 计算标准化因子
size_factors = np.sum(data, axis=1) / np.median(np.sum(data, axis=1))

# 标准化数据
data = data / size_factors

# log1p 转换
data = np.log1p(data)

Use code with caution. Learn more

content_copy

这段代码将首先计算每个细胞的标准化因子。然后,使用标准化因子将每个细胞的计数值进行标准化。最后,使用 numpy.log1p() 函数对标准化后的数据进行 log1p 转换。

你可能感兴趣的:(stlearn)