这段代码在使用 stlearn 包中的 st.pp.normalize_total 函数对数据进行总体计数标准化。标准化后,每个细胞的总计数都将等于 median(total_counts)。
NOTE: no log1p
这行注释表示在标准化后,数据不会进行 log1p 转换。log1p 转换将每个计数值增加 1,然后对其进行 log 转换。这可以帮助减少计数值的偏差,并使数据更加符合正态分布。
因此,这段代码的完整含义是:
- 使用 st.pp.normalize_total 函数对数据进行总体计数标准化。
- 在标准化后,数据不会进行 log1p 转换。
以下是这段代码的具体操作步骤:
- 首先,st.pp.normalize_total 函数将计算每个细胞的标准化因子 (size factor)。
- 然后,函数将使用标准化因子将每个细胞的计数值进行标准化。
- 最后,函数将在标准化后的数据中添加一个名为 "size_factor" 的列,其中存储了每个细胞的标准化因子。
stLearn Cell-Cell Interaction Analysis — stLearn 0.4.11 documentationhttps://stlearn.readthedocs.io/en/latest/tutorials/stLearn-CCI.html
要想在标准化后对数据进行 log1p 转换,可以使用以下步骤:
- 首先,使用 st.pp.normalize_total 函数对数据进行总体计数标准化。
- 然后,使用 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 包,也可以使用以下步骤:
- 首先,计算每个细胞的标准化因子 (size factor)。
- 然后,使用标准化因子将每个细胞的计数值进行标准化。
- 最后,使用 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 转换。