新手流式细胞周期flowjo分析求助
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手流式细胞周期flowjo分析求助相关的知识,希望对你有一定的参考价值。
参考技术A 如果是PI单色流式分析细胞周期,应该如下几个步骤:第一,在FSC-A/SSC-A散点图上划出细胞门,排除细胞碎片和大的团块。
第二,把第一步得到的细胞群在SSC-W/SSC-H散点图上划出单细胞门,特点是SSC-W比较窄。
第三,把第二步得到的单细胞在FSC-W/FSC-H散点图划出更进一步的单细胞门。
第四,把第三步得到的单细胞信号,在菜单上选中“Tools”=>“Biology”,再选中“Cell Cycle”,软件就会根据设定好的模式就算细胞周期了。本回答被提问者采纳 参考技术B 流式细胞周期flowjo分析有文献的啊,可以查询看看
单细胞分析——深入理解 AnnData 数据结构
参考技术A 新手,纯搬运工
【内容出自 https://cloud.tencent.com/developer/article/1817039 】
一、环境准备:
搭建 Python 高效开发环境: Pycharm + Anaconda
二、安装 scanpy
三、AnnData
1、AnnData 介绍与结构
AnnData 是用于存储数据的对象,一般作为 scanpy 的数据存储格式。
下面我们动手构建一个用于创建 AnnoData 的虚拟数据
import numpy as np
import pandas as pd
import anndata as ad
from string import ascii_uppercase
n_obs = 1000
obs = pd.DataFrame()
obs[\'time\'] = np.random.choice([\'day 1\', \'day 2\', \'day 4\', \'day 8\'], n_obs)
var_names = [i*letter for i in range(1, 10) for letter in ascii_uppercase]
n_vars = len(var_names)
var = pd.DataFrame(index=var_names)
X = np.arange(n_obs*n_vars).reshape(n_obs, n_vars)
2、AnnoData 初始化
adata = ad.AnnData(X, obs=obs, var=var, dtype=\'int32\')
print(adata)
3、AnnoData 切片特性
可以看到 AnnData 具有和 dataframe 或 Array 相似的长相,同样具备相似的特性,比如切片:
print(adata.obs_names[:10].tolist())
print(adata.obs_names[-10:].tolist())
print(adata.var_names[:10].tolist())
print(adata.var_names[-10:].tolist())
print(X)
3、AnnoData 的 view 特性
AnnoData 可以实现与 numpy 中的 view 相似的功能。
换句话说就是,我们每次操作 AnnoData 时,并不是再新建一个 AnnoData 来存储数据,而是直接找到已经之前初始化好的 AnnoData 的内存地址,通过内存地址来直接改变 AnnoData 的值。这样做的好处是:
print(adata[:3, \'A\'].X)
adata[:3, \'A\'].X = [0, 0, 0]
print(adata[:5, \'A\'].X)
其实我们在调用 .[] 时,AnnoData已经在内部实现了该操作,也就是说该 view 会成为保存数据的 AnnoData 对象。
但是,如果将 AnnoData 对象的 view 中的一部分赋值,该内容会复制一份并生成新的数据存储对象。
adata_subset = adata[:5, [\'A\', \'B\']]
print(adata_subset)
adata_subset.obs[\'foo\'] = range(5)
可以看到,这时赋值会直接将 AnnoData 对象复制一份。现在 adata_subset 会重新得到一块内存用于存储实际数据,而不再仅仅是对 adata 的内存地址引用。
4、备份到本地
def print_size_in_MB(x):
print(\':.3 MB\'.format(x. sizeof ()/1e6))
print_size_in_MB(adata)
adata.isbacked
adata.filename = \'./write/test.h5ad\'
adata.isbacked
可以看到,我们的 adata 对象已经备份成功,而且就在本地 ‘./write/test.h5ad’ 目录。
前边提到的 view 特性在这里同样适用,我们来看看 adata_subset 是否备份成功。
adata_subset.isbacked
adata_subset.filename = \'./write/adata_subset_test.h5ad\'
adata_subset.isbacked
adata_subset 并没有被启用备份模式,重新设置备份模式。
需要注意的是:备份仅影响数据矩阵 X,所有注释信息都保留在内存中。如果想对全部数据的更改保存,则必须将导出到本地。
5、导出到本地
adata.write("./write/my_results.h5ad")
adata.write_csvs(\'./write/my_results_csvs\', )
6、读取数据
import scanpy as sc
import pandas as pd
adata = sc.read(filename)
anno = pd.read_csv(filename_sample_annotation)
adata.obs[\'cell_groups\'] = anno[\'cell_groups\'] # categorical annotation of type pandas.Categorical
adata.obs[\'time\'] = anno[\'time\'] # numerical annotation of type float
adata.obs = anno
官网: https://anndata.readthedocs.io/en/latest/
以上是关于新手流式细胞周期flowjo分析求助的主要内容,如果未能解决你的问题,请参考以下文章