最近越来越多的分析需要用到loom文件,其中主要是python的数据分析以及RNA速率分析的时候,格式之间的转化需要我们分析一下,这里分享给大家R及python对于loom文件的操作

R语言读取loom文件

读取loom文件的软件主要是RNA速率分析的软件velocyto.R

不过这里注意R语言读取loom需要hdf5r,比较难装,大家可以多研究一下,这里提供一个例子

hdf5r安装

###安装hdf5r

curl -O https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.1/src/hdf5-1.10.1.tar

cd hdf5-1.10.1

./configure

make -j4

make check

make install

library(velocyto.R)

data

R语言创建loom文件

rds转换成loom

library(SCopeLoomR)

library(Seurat)

#creat directory

if (!dir.exists(paste0(outdir,'/input'))){

dir.create(paste0(outdir,'/input'))

}

data1

barcode

#seurat3_nonsingle and single

data2

m

data3

#build_loom

setwd(paste0(outdir,'/input'))

build_loom(file.name="original.loom",dgem=data3)

R语言独自创建loom文件,同样是R包SCopeLoomR

library(SCopeLoomR)

看一下函数build_loom

参数:

file.name: A string naming the .loom file to be generated.创建loom 的名称

dgem: A matrix of the gene expression with M genes as rows and N cells as columns. 矩阵文件

title: A short description of content of loom. loom文件的描述

genome: The genome used for the mapping. 人或者小鼠

default.embedding: A M-by-2 data.frame of the embedding (X and Y coordinates) of the cells.坐标文件

default.embedding.name: A description name for the given default.embedding

##参数足够用了

添加信息的时候:

loom

add_hierarchy(loom = loom, hierarchy = create_hierarchy(level.1.name = "Mouse", level.2.name = "Toy Datasets", level.3.name = ""))

add_col_attr(loom=loom, key = "Cell type", value=cell.info$cellType, as.annotation=T)

###添加seurat的信息

seurat.annotation

add_seurat_clustering(loom = loom

, seurat = seurat

, default.clustering.resolution = "res.2"

, annotation = seurat.annotation

, annotation.cluster.id.cn = "res.2"

, annotation.cluster.description.cn = "Annotation")

可见这个包专门为单细胞数据分析而生

记住一点,维度必须相同

python读取loom文件

python读取loom主要是pyscenic和scanpy的需要

import scanpy as sc

data = scanpy.read_loom('brain10x.loom', sparse=True),一般读取就可以

sparse参数指的是 是否读取稀疏数据矩阵

import loompy as lp

lf = lp.connect(f_pyscenic_output, mode='r+', validate=False )

##关闭

lf.close()

python创建loom文件

import loompy as lp

row_attrs = {

"Gene": np.array(adata.var_names) ,

}

col_attrs = {

"CellID": np.array(adata.obs_names) ,

"nGene": np.array( np.sum(adata.X.transpose()>0 , axis=0)).flatten() ,

"nUMI": np.array( np.sum(adata.X.transpose() , axis=0)).flatten() ,

}

lp.create(sample + '.loom', adata.X.transpose(), row_attrs, col_attrs)

##这个地方与R相似,但是python更好用一点

希望大家保持学习的态度,请保持愤怒,让王多鱼倾家荡产

r语言转python,R语言与python语言读写loom文件相关推荐

  1. python pandas读取excel-Python使用Pandas读写EXCEL文件教程

    欢迎,来自IP地址为:211.103.135.163 的朋友 教程开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容. 什么是Excel Excel  是微软出品的和款办公软 ...

  2. python 读excel pandas_Python使用Pandas读写EXCEL文件教程

    欢迎,来自IP地址为:140.250.89.180 的朋友 教程开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容. 什么是Excel Excel  是微软出品的和款办公软件 ...

  3. python读txt很大_Python读写txt文件

    python读写txt文件 准备原始txt数据 3.14159265358979323846264338327950288419716939937510582097494459230781640628 ...

  4. python openpyxl读取excel_Python使用openpyxl读写excel文件

    这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 1.读取Excel文件 默认打开的文件为可读写,若有需要可 ...

  5. Python基础入门:使用openpyxl读写Excel文件

    Python中常用的操作Excel的三方包有xlrd,xlwt和openpyxl等,xlrd支持读取.xls和.xlsx格式的Excel文件,只支持读取,不支持写入.xlwt只支持写入.xls格式的文 ...

  6. 用C语言读取png图片十六进制,C/C++ 二进制读写 png 文件

    #include #include usingnamespacestd; typedefunsignedcharbyte; /* class PngMsg { private : unsigned c ...

  7. Python通过Kivy-Buildozer打包apk时,如何在安卓系统下读写txt文件

    在通过Kivy-Buildozer打包成apk在安卓手机运行. 按之前存放图片和字体,音乐文件的方法,在根目录下建立一个log文件夹,里面存放txt文件做为程度的日志记录.log文件夹里的txt文件无 ...

  8. Java如何跨语言调用Python/R训练的模型

    在 如何使用sklearn进行在线实时预测(构建真实世界中可用的模型) 这篇文章中,我们使用 sklearn + flask 构建了一个实时预测的模型应用.无论是 sklearn 还是 flask,都 ...

  9. python r语言 作图_生物医学绘图,Python 并不比R语言差

    做过基因测序和生物信息学分析,尤其是做过RNAseq分析的同学都知道,R语言中有一款数据可视化神器ggplot2,其绘图功能强大,但它的缺陷是不能直接绘制3D图形,需要加载扩展包,很麻烦. 如果用Py ...

  10. python julia go_挑战Python的四个语言:Swift、Go、Julia、R

    没什么是永恒的--包括编程语言.很多看起来可能是将来的佼佼者,到头来可能被人们遗忘.无论是因为不可抗拒的原因,还是因为自身发展的原因. Python时下正在"最热门的编程语言榜"上 ...

最新文章

  1. Pycharm的运行和简单调试
  2. 工作笔记--关于服务出问题时如何处理的流程
  3. 用 GRUB 引导自己的操作系统
  4. 排序算法----快速排序(数组形式)
  5. 【Matlab 控制】模仿绘制动态图像 保存动态图 GIF
  6. 转载学习笔记:c++atoi
  7. Docker image Introduce
  8. CUDA 开启GPU之间的P2P通信功能
  9. the enigma x64 6.7_颜值不输宝马,零百加速6.7秒,国产最强轿跑SUV就是它了
  10. 程序员为什么焦虑于编程语言和框架?
  11. hibernate注释映射_Hibernate一对一映射示例注释
  12. 企业如何提升数据质量
  13. Gradle体验/第一篇:下装、安装、配置、体验
  14. asp.net mvc在Model中控制日期格式
  15. 我们都被监控了?揭秘全球电信网络7号信令(SS7)漏洞
  16. python教孩子学编程_学编程要从娃娃抓起——教孩子学Python
  17. 谷歌浏览器和火狐浏览器的12px字体显示大小不一样
  18. 2018上IEC计算机高级语言(C)作业 第3次作业
  19. java五星好评点评器_JavaScript实现商品评价五星好评
  20. 工作之余如何有效学习提升

热门文章

  1. linux 运维安全,运维安全有哪些分类呢?linux学习线路图
  2. HTML5七夕情人节表白网页制作【爱情树-Html5实现唯美表白动画代码】HTML+CSS+JavaScript浪漫告白 求婚必备
  3. Python数据分析:数据可视化案例
  4. 【论文阅读】Multitask Prompted Training Enables Zero-shot Task Generalization
  5. JVM(三)类加载与字节码技术
  6. 向量空间的基和维数例题_线性空间的基和维数
  7. 带你走进CoDeSys
  8. TDDL分布式数据库
  9. 软件需求分类与需求获取
  10. 隐藏隧道通信:Socks 隧道