scanpy sc.pp.normalize_per_cell bug

news/2024/11/20 1:27:09/

今天遇到一个很奇怪的bug, 当今天跑covid_atlas数据集的时候,在123服务器总是报错,但是我记得在122服务器上是跑过没问题的

最终的测试结果如下

import scanpy as sc 
import numpy as np 
from QUEST import QUEST
from QUEST.utils import get_free_gpu
import torch dataset_path ="/home/DATA1/zhangjingxiao/yxk/datasets/covid_atlas/covid_atlas_raw.h5ad"
adata=sc.read(dataset_path)
print("....................................data preprocessing.............................................")
sc.pp.filter_genes(adata, min_counts=1)
sc.pp.filter_cells(adata, min_counts=1)
sc.pp.normalize_per_cell(adata,counts_per_cell_after=1e4)
adata.obs['size_factors'] = adata.obs.n_counts / np.median(adata.obs.n_counts)
sc.pp.log1p(adata)
sc.pp.highly_variable_genes(adata,n_top_genes=1000,subset=True,inplace=True)#
sc.pp.scale(adata,max_value=10.0)
sc.tl.pca(adata)# if torch.cuda.is_available():
#     free_gpu_id = get_free_gpu()
#     device = torch.device("cuda:"+str(free_gpu_id))
# else:
#     device = torch.device("cpu")
# #print(free_gpu_id)
# #torch.cuda.set_device(free_gpu_id)
# #device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# quest=QUEST(adata,batch_name="BATCH",hidden_size=[64,32],num_epochs=10,batch_size = 256,save_dir="./Log/",device = device)
# quest.train()# adata0=quest.adata
# print(adata0)
# adata0.obsm["X_emb"]= adata.obsm["X_QUEST"].copy()
# sc.pp.neighbors(adata0, use_rep="X_QUEST")
# sc.tl.umap(adata0)
# #sc.tl.louvain(adata0,resolution=1.0)
# sc.pl.umap(adata0, color=["celltype","BATCH"],show=False)

在这里插入图片描述

test dataset1

import scanpy as sc 
import torch 
import numpy as np
from scipy.sparse import issparse
import matplotlib.pyplot as plt
from QUEST.utils import seed_torch
from QUEST import QUEST
from QUEST.preprocess import read_dataset,normalize
from QUEST.utils import evaluation_batch_mixingdataset="covid_atlas"
datatype="multi" #dataset_path ="/home/DATA1/zhangjingxiao/yxk/datasets/covid_atlas/covid_atlas_raw.h5ad"
adata=sc.read(dataset_path)
#adata = sc.read("/DATA2/zhangjingxiao/yxk/dataset/covid_atlas/adata_clean.h5ad")
adata.obs["BATCH"] = adata.obs["sampleID"].copy()
sc.pp.normalize_total(adata,target_sum=1e4)
sc.pp.log1p(adata)
sc.pp.highly_variable_genes(adata,n_top_genes=1000,subset=True)
sc.pp.scale(adata)
sc.tl.pca(adata)print("calculate PCA done....")

结果如下
在这里插入图片描述

test dataset2

测试
sc.pp.filter_genes(adata, min_counts=1)
sc.pp.filter_cells(adata, min_counts=1)

import scanpy as sc 
import torch 
import numpy as np
from scipy.sparse import issparse
import matplotlib.pyplot as plt
from QUEST.utils import seed_torch
from QUEST import QUEST
from QUEST.preprocess import read_dataset,normalize
from QUEST.utils import evaluation_batch_mixingdataset="covid_atlas"
datatype="multi" #dataset_path ="/home/DATA1/zhangjingxiao/yxk/datasets/covid_atlas/covid_atlas_raw.h5ad"
adata=sc.read(dataset_path)
#adata = sc.read("/DATA2/zhangjingxiao/yxk/dataset/covid_atlas/adata_clean.h5ad")
adata.obs["BATCH"] = adata.obs["sampleID"].copy()
sc.pp.filter_genes(adata, min_counts=1)
sc.pp.filter_cells(adata, min_counts=1)sc.pp.normalize_total(adata,target_sum=1e4)
sc.pp.log1p(adata)
sc.pp.highly_variable_genes(adata,n_top_genes=1000,subset=True)
sc.pp.scale(adata)
sc.tl.pca(adata)print("calculate PCA done....")

在这里插入图片描述

test dataset3((sc.pp.normalize_per_cell_))

import scanpy as sc 
import torch 
import numpy as np
from scipy.sparse import issparse
import matplotlib.pyplot as plt
from QUEST.utils import seed_torch
from QUEST import QUEST
from QUEST.preprocess import read_dataset,normalize
from QUEST.utils import evaluation_batch_mixingdataset="covid_atlas"
datatype="multi" #dataset_path ="/home/DATA1/zhangjingxiao/yxk/datasets/covid_atlas/covid_atlas_raw.h5ad"
adata=sc.read(dataset_path)
#adata = sc.read("/DATA2/zhangjingxiao/yxk/dataset/covid_atlas/adata_clean.h5ad")
adata.obs["BATCH"] = adata.obs["sampleID"].copy()
sc.pp.filter_genes(adata, min_counts=1)
sc.pp.filter_cells(adata, min_counts=1)sc.pp.normalize_per_cell(adata,counts_per_cell_after=1e4)
sc.pp.log1p(adata)
sc.pp.highly_variable_genes(adata,n_top_genes=1000,subset=True)
sc.pp.scale(adata)
sc.tl.pca(adata)print("calculate PCA done....")

结果如下
在这里插入图片描述
总而言之,最终的问题在于

sc.pp.normalize_total(adata,target_sum=1e4)

sc.pp.normalize_per_cell(adata,counts_per_cell_after=1e4)

其中使用

sc.pp.normalize_total(adata,target_sum=1e4)

不报错,但是使用

sc.pp.normalize_per_cell(adata,counts_per_cell_after=1e4)

就会报错,值得注意


http://www.ppmy.cn/news/761950.html

相关文章

steam网站服务器无法使用,steam没法连接服务器,解决方法是什么?

你看视频上网也掉线吗?如果也掉线, 可能有以下原因:1.线路问题,确保线路连接正确,线路通讯质量良好没有被干扰,如用分线盒,则选用质量较好的。2.网卡问题:选择质量比较好的网卡3.系统…

【网络编程】多个服务器的情况:nginx实现反向代理、nginx基于反向代理实现负载均衡

如果我们有多个服务器,比如我们只有一个域名;我们可以利用其中一台服务器,通过nginx为这一个域名实现反向代理;进一步,我们可以利用这多台服务器,为这一个域名基于nginx的反向代理实现负载均衡。 文章目录 …

Linux:Active: active (exited) since Thu 2023-07-06 07:06:51 UTC; 1h 57min ago

上述信息表示,ufw服务在您的系统上处于活动状态,并且已经成功启动。状态中显示为"exited"表示该服务是一次性运行的,并且它没有正在运行的进程。 如果您想关闭 ufw 防火墙服务,可以执行以下命令: sudo sys…

Windows如何设置自动关闭未响应的程序?Windows设置自动关闭未响应的程序方法,带图详解

Windows系统程序经常出现程序未响应现象,如何通过注册表使其自动关闭呢 1、首先快捷键winR唤出【运行】 输入regedit 2、确定后就打开了注册表编辑器,定位到【HKEY_CURREnT_UsER\Control panel\desktop】项下 3、在右侧找【AutoEndTasks】数值数据&#…

latex和word对齐 1.5倍行距

latex和word对其 1.5倍行距 {\heiti \fontsize{12pt}{1.5}\textbf{}} \vspace{1.5em}\ {\heiti \fontsize{16pt}{1.5}\textbf{}} \vspace{1.5em}\ {\heiti \fontsize{16pt}{1.5}\textbf{}} \vspace{1.5em}\

为什么在wps中调整了0.5倍行距,某一页的行数不会发生变化?

本人写软著的时候,要求每行不少于50行代码,但是我在文档上怎么调整也不到50行,即使调整到0.5到行距也不会发生变化,最多40多行的样子,最后查了查是因为定义网格的原因。 只需要在上面那个“如果定义了文档网格&#xf…

解决在word中插入Mathtype公式后行距变大的问题(简单有效)

问题描述 又到了写论文的季节,最近遇到这样的问题,在word中插入MathType公式时,行距变大,原来的单倍行距已经不像只有文字时的单倍行距了,如下图: 解决方法 选中该段落打开段落取消 如果定义了文档网络…

word 中同样的单倍行距,不一样的行距?

转自:http://www.xyduan.net/the-same-single-line-spacing-line-spacing-is-different/ 两篇文档,都是小四号字,都是单倍行距,可是行距明显不同,把其中的一个文档的一页复制到另一个文档,可以占一页半内容…