r语言转python,R语言与python语言读写loom文件
最近越来越多的分析需要用到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文件相关推荐
- python pandas读取excel-Python使用Pandas读写EXCEL文件教程
欢迎,来自IP地址为:211.103.135.163 的朋友 教程开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容. 什么是Excel Excel 是微软出品的和款办公软 ...
- python 读excel pandas_Python使用Pandas读写EXCEL文件教程
欢迎,来自IP地址为:140.250.89.180 的朋友 教程开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容. 什么是Excel Excel 是微软出品的和款办公软件 ...
- python读txt很大_Python读写txt文件
python读写txt文件 准备原始txt数据 3.14159265358979323846264338327950288419716939937510582097494459230781640628 ...
- python openpyxl读取excel_Python使用openpyxl读写excel文件
这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 1.读取Excel文件 默认打开的文件为可读写,若有需要可 ...
- Python基础入门:使用openpyxl读写Excel文件
Python中常用的操作Excel的三方包有xlrd,xlwt和openpyxl等,xlrd支持读取.xls和.xlsx格式的Excel文件,只支持读取,不支持写入.xlwt只支持写入.xls格式的文 ...
- 用C语言读取png图片十六进制,C/C++ 二进制读写 png 文件
#include #include usingnamespacestd; typedefunsignedcharbyte; /* class PngMsg { private : unsigned c ...
- Python通过Kivy-Buildozer打包apk时,如何在安卓系统下读写txt文件
在通过Kivy-Buildozer打包成apk在安卓手机运行. 按之前存放图片和字体,音乐文件的方法,在根目录下建立一个log文件夹,里面存放txt文件做为程度的日志记录.log文件夹里的txt文件无 ...
- Java如何跨语言调用Python/R训练的模型
在 如何使用sklearn进行在线实时预测(构建真实世界中可用的模型) 这篇文章中,我们使用 sklearn + flask 构建了一个实时预测的模型应用.无论是 sklearn 还是 flask,都 ...
- python r语言 作图_生物医学绘图,Python 并不比R语言差
做过基因测序和生物信息学分析,尤其是做过RNAseq分析的同学都知道,R语言中有一款数据可视化神器ggplot2,其绘图功能强大,但它的缺陷是不能直接绘制3D图形,需要加载扩展包,很麻烦. 如果用Py ...
- python julia go_挑战Python的四个语言:Swift、Go、Julia、R
没什么是永恒的--包括编程语言.很多看起来可能是将来的佼佼者,到头来可能被人们遗忘.无论是因为不可抗拒的原因,还是因为自身发展的原因. Python时下正在"最热门的编程语言榜"上 ...
最新文章
- Pycharm的运行和简单调试
- 工作笔记--关于服务出问题时如何处理的流程
- 用 GRUB 引导自己的操作系统
- 排序算法----快速排序(数组形式)
- 【Matlab 控制】模仿绘制动态图像 保存动态图 GIF
- 转载学习笔记:c++atoi
- Docker image Introduce
- CUDA 开启GPU之间的P2P通信功能
- the enigma x64 6.7_颜值不输宝马,零百加速6.7秒,国产最强轿跑SUV就是它了
- 程序员为什么焦虑于编程语言和框架?
- hibernate注释映射_Hibernate一对一映射示例注释
- 企业如何提升数据质量
- Gradle体验/第一篇:下装、安装、配置、体验
- asp.net mvc在Model中控制日期格式
- 我们都被监控了?揭秘全球电信网络7号信令(SS7)漏洞
- python教孩子学编程_学编程要从娃娃抓起——教孩子学Python
- 谷歌浏览器和火狐浏览器的12px字体显示大小不一样
- 2018上IEC计算机高级语言(C)作业 第3次作业
- java五星好评点评器_JavaScript实现商品评价五星好评
- 工作之余如何有效学习提升
热门文章
- linux 运维安全,运维安全有哪些分类呢?linux学习线路图
- HTML5七夕情人节表白网页制作【爱情树-Html5实现唯美表白动画代码】HTML+CSS+JavaScript浪漫告白 求婚必备
- Python数据分析:数据可视化案例
- 【论文阅读】Multitask Prompted Training Enables Zero-shot Task Generalization
- JVM(三)类加载与字节码技术
- 向量空间的基和维数例题_线性空间的基和维数
- 带你走进CoDeSys
- TDDL分布式数据库
- 软件需求分类与需求获取
- 隐藏隧道通信:Socks 隧道