2023年02月06日
太nb了,今天居然才发现这个神器轮子,想法其实很简单,从各个格式里提取三个矩阵(count matrix,col anno, row anno),然后创建新的对象,自己也可以做,但人家封装好了,你只需要载入包,一行命令即可完成转换。h5ad格式很小,而且可以跟cellxgene兼容。
https://github.com/cellgeni/sceasy
https://github.com/chanzuckerberg/cellxgene
library(sceasy)
library(reticulate)
# use_condaenv('EnvironmentName')
# loompy <- reticulate::import('loompy')
最后就是用python的包来保存,文件会变大。
class scipy.sparse.csc_matrix(arg1, shape=None, dtype=None, copy=False)[source]
Compressed Sparse Column matrix
class scipy.sparse.csr_matrix(arg1, shape=None, dtype=None, copy=False)[source]
Compressed Sparse Row matrix
核心代码:
atac_data.X = atac_data.X.tocsr()
atac_data.layers['counts'] = atac_data.raw.to_adata().X.astype(np.int64).copy()
rna_data.X = rna_data.X.astype(np.float32)
atac_data.X = atac_data.X.astype(np.int64)
atac_data.write("keyRdata/ATAC.h5ad")
一个最不友好的格式就是loom,只能用python来读取,存储为CSV。
project/scPipeline/public/Linnarsson_2020_developing_mouse_brain/getData_from_loom.ipynb
其次就是scanpy的adata,也需要特殊的python来导出到R。
参考:scanpy结果转为seurat可处理对象
project/Data_center/analysis/ApcKO_multiomics/Allen_MIRA.ipynb#
R和python的版本重大升级真TM恶心
之前的项目还在进行,没法全部重新安装,否则结果可能无法重现
不装新的版本,最新的功能又无法使用,真TM操蛋!
旧版本总有死掉的那一天,更新的最佳契机就是换设备
一个最基本的问题,生信工具要不要用最新的版本?
永恒的痛苦抉择!