seurat读取不同数据格式以创建Seurat单细胞对象

news2024/11/29 0:39:33

挖掘GEO公共单细胞数据集时,会遇到常见各种单细胞测序数据格式。现总结如下,方便自己日后调用,以创建Seurat对象
(1)barcodes.tsv.gzfeatures.tsv.gzmatrix.mtx.gz
(2)表达矩阵
(3)h5
(4)h5ad

格式一:barcodes.tsv.gzfeatures.tsv.gzmatrix.mtx.gz【☆】

  • 这是cellranger上游比对分析产生的3个文件,分别代表细胞标签(barcode)、基因ID(feature)、表达数据(matrix)
  • 一般先使用read10X()对这三个文件进行整合,得到行为基因、列为细胞的表达矩阵(为稀疏矩阵dgCMatrix格式,节约内存);然后再配合CreateSeuratObject()函数创建Seurat对象
  • 示例数据集:GSE166635,创建代码如下----

dir="./data/HCC2/filtered_feature_bc_matrix/"
list.files(dir)
#[1] "barcodes.tsv.gz" "features.tsv.gz" "matrix.mtx.gz" 

counts <- Read10X(data.dir = dir)
class(counts)
#[1] "dgCMatrix"
#attr(,"package")
#[1] "Matrix"

scRNA <- CreateSeuratObject(counts = counts)
scRNA
#An object of class Seurat 
#33694 features across 9112 samples within 1 assay 
#Active assay: RNA (33694 features, 0 variable features)

 

  • 如上Read10X()函数接受的参数为目录名,该目录包含了所需的三个配套文件;值得注意的是三个文件名只能分别是barcodes.tsv.gzfeatures.tsv.gzmatrix.mtx.gz,然后read10X函数可以自动加载。如上截图那样就是需要修改的~

格式二:直接提供表达矩阵,使用seurat读取

  • 这种是最方便的,直接创建Seurat即可
  • 示例数据:GSE144320

格式2.1:直接提供表达矩阵,使用seurat读取

对于GSE104154这个数据集,比较费工夫,需要duplicated去重


library(dplyr)

#1 读取rawdata-----
raw_counts=read.csv("~/ipf/GSE104154_scRNA-seq_fibrotic MC_bleomycin/GSE104154_d0_d21_sma_tm_Expr_raw/GSE104154_d0_d21_sma_tm_Expr_raw.csv")

head(raw_counts)[1:4,1:4]

table(raw_counts$symbol) %>%head()



head(raw_counts)[1:4,1:4]

#1.2 去重复----
tmp=raw_counts[!duplicated(raw_counts$symbol) ,]
head(tmp)[1:4,1:4]

rownames(tmp)=tmp$symbol


head(tmp)[1:4,1:4]
#2 获取counts----
counts=tmp[,c(-1,-2)]

head(counts)[,1:9]


library(Seurat)
#https://zhuanlan.zhihu.com/p/385206713

#2 创建seruat对象------
rawdata=CreateSeuratObject(counts = counts,project = "blem",assay = "RNA")
hp_sce=rawdata
hp_sce@assays$RNA@counts[1:5,1:6]

格式三:h5格式文件

  • 使用Read10X_h5()函数,读入表达矩阵,在创建Seurat对象
  • 示例数据:GSE138433

sce <- Read10X_h5(filename = GSM4107899_LH16.3814_raw_gene_bc_matrices_h5.h5")
sce <- CreateSeuratObject(counts = sce)

格式四:h5ad格式

  • 需要安装,使用SeuratDisk包的两个函数;
  • 先将后h5ad格式转换为h5seurat格式,再使用LoadH5Seurat()函数读取Seurat对象。
  • 示例数据集:GSE153643

#remotes::install_github("mojaveazure/seurat-disk")
library(SeuratDisk)
Convert("GSE153643_RAW/GSM4648565_liver_raw_counts.h5ad", "h5seurat",
        overwrite = TRUE,assay = "RNA")
scRNA <- LoadH5Seurat("GSE153643_RAW/GSM4648565_liver_raw_counts.h5seurat")
#注意一下,我之前载入时,表达矩阵被转置了,需要处理一下~


以上是我目前了解到的针对不同数据来源,创建Seurat对象的几种方式。如遇新的方法,会继续补充~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1266468.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

60V 72V 输入 输出5V 2A 内置MOS 降压芯片 ESOP8封装

60V 72V 输入 输出5V 2A 内置MOS 降压芯片 SC9102 ESOP8封装

FL Studio水果软件21.1新版!新增Hyper Chorus插件及自动更新功能

我们很高兴地宣布在去年12月发布重大版本更新后&#xff0c;FL Studio在2023年8月正式更新到21.1版。本次更新虽然只是维护性质&#xff0c;但我们还是为大家带来了一些全新的功能&#xff0c;包括通过钢琴卷中的音阶捕捉和自定义音符工具&#xff0c;引入更快、更有创意的音符…

echarts修改tooltip默认的圆点图标为其他样式

业务需求&#xff0c;默认是圆点&#xff0c;需要把线的由圆点改为线 红色线是理论&#xff0c;点是历史理论&#xff0c;绿色线是实际&#xff0c; 点是历史实际&#xff0c;在series里的顺序也是这样排的。 打印出来的params里的marker就是圆点&#xff0c;改这段代码就可以了…

【用unity实现100个游戏之17】从零开始制作一个类幸存者肉鸽(Roguelike)游戏3(附项目源码)

文章目录 本节最终效果前言近战武器控制近战武器生成升级增加武器伤害和数量查找离主角最近的敌人子弹预制体生成子弹发射子弹参考源码完结 本节最终效果 前言 本节紧跟着上一篇&#xff0c;主要实现武器功能。 近战武器 新增Bullet&#xff0c;子弹脚本 public class Bull…

医疗器械企业升级路:直连客户盘活存量,布局出海寻求增量

随着随着医疗各领域VBP&#xff08;带量采购&#xff09;的稳步推进以及医疗机构DRG/DIP&#xff08;按疾病诊断相关分组/病种分值支付&#xff09;的深化应用&#xff0c;降本增效和精细化管理已经成为医院管理者的头等大事。 这也在倒逼医疗器械厂商提升管理水平和营销效率。…

Springboot的excel导出

这里导出excel用到的是 阿里巴巴的easyexcel 1、首先导入依赖 <!--alibaba easyexcel--><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.6</version> </dependency> 2、…

IWDG和WWDG HAL库+cubeMX

一.IWDG 1.原理 启用IWDG后&#xff0c;LSI时钟会自动开启 2.IWDG溢出时间计算 3.IWDG配置步骤 4.HAL库相关函数介绍 HAL_IWDG_Init //使能IWDG&#xff0c;设置预分频系数和重装载值等 HAL_IWDG_Refresh //把重装载寄存器的值重载到计数器中&#xff0c;喂狗typedef str…

解决苹果手机iphone手机强制重启

强制关机&#xff1a; 方法1.同时按住左侧的&#xff0c;- 键中的一个和右侧的电源键 方法2.点击桌面的悬浮键–设备–更多–重新启动

华住三季报:韧性增长超预期,夯实可持续发展底座

美股研究社获悉&#xff0c;2023年11月27日&#xff0c;华住集团2023年第三季度业绩发布会在线上举行。受华住三季度财报向好表现&#xff0c;多家证券公司给予买入评级。中信证券认为&#xff0c;本季度华住集团国内外RevPAR修复优于前期指引上限、净开店数优于预期。且华住集…

JAVA面向对象三大特征

1.面向对象的三大特征包括封装、继承和多态。 封装&#xff1a;封装是指将数据和操作数据的方法绑定起来&#xff0c;外界对数据的访问只能通过已定义的接口。这种特性有两层含义&#xff0c;一层是将属性和行为看成一个密不可分的整体&#xff0c;将这两者封装在一个对象中&a…

【虚拟机】Docker基础 【一】

1.1.部署MySQL 首先&#xff0c;我们利用Docker来安装一个MySQL软件&#xff0c;大家可以对比一下之前传统的安装方式&#xff0c;看看哪个效率更高一些。 如果是利用传统方式部署MySQL&#xff0c;大概的步骤有&#xff1a; 搜索并下载MySQL安装包上传至Linux环境编译和配置…

c++|类与对象(中)

目录 一、类的6个默认成员函数 二、构造函数 2.1概念 2.2七大特性 三、析构函数 3.1概念 3.2特性 四、拷贝构造函数 4.1概念 4.2特性 五、赋值运算符重载 5.1运算符重载 5.2赋值运算符重载 5.3前置和后置重载 六、const成员函数 七、取地址及const取地址操作符重…

AI 学习笔记(持续更新)

What is AI PS &#xff1a;代码块里的统一是 gpt4 回复 在大模型中 1 b 10 亿参数的含义 AI 目前是什么&#xff1f; 目前的人工智能&#xff08;AI&#xff09;是指使计算机和机器能够模仿人类智能的技术&#xff0c;包括学习、推理、解决问题、知觉、语言理解等能力。A…

每日一练2023.11.28——A-B【PTA】

题目链接&#xff1a;L1-011 A-B 题目要求&#xff1a; 本题要求你计算A−B。不过麻烦的是&#xff0c;A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉&#xff0c;剩下的字符组成的就是字符串A−B。 输入格式&#xff1a; 输入在2行中先后给出字符串A和B…

基于Spring Boot的疫苗接种系统-计算机毕设 附源码 32315

基于Spring Boot的疫苗接种系统 摘 要 预防预接种工作实行网络信息化管理&#xff0c;是我国免疫规划工作发展的需要。接种信息实行网络信息化不仅是预防接种工作步入了一个新的台阶&#xff0c;更重要的是解决了多年疫苗接种过程种&#xff0c;免疫接种剂次不清&#xff0c;难…

接手了一个外包开发的项目,我感觉我的头快要裂开了~

嗨&#xff0c;大家好&#xff0c;我是飘渺。 最近&#xff0c;我和小伙伴一起接手了一个由外包团队开发的微服务项目&#xff0c;这个项目采用了当前流行的Spring Cloud Alibaba微服务架构&#xff0c;并且是基于一个“大名鼎鼎”的微服务开源脚手架&#xff08;附带着模块代…

JAVA基础进阶(一)

一、什么是继承 把相同的属性和行为抽离出来放到父类&#xff0c;再让子类使用extends关键字继承父类后&#xff0c;就可以直接使用父类公共的属性和方法了&#xff0c;提高了代码的复用性可以降低重复代码的书写。 子类既有自己类的属性和行为&#xff0c;也有父类的属性和行…

两个mongo表,A和B,以A中的_id记录的为准, 删掉B表中A表中没有的记录

可以使用 MongoDB 的聚合管道和 $lookup 操作符来实现这个需求。以下是一个示例的查询语句,假设集合 A 和集合 B 分别对应表 A 和表 B: db.B.aggregate([{$lookup: {from: "A",localField: "_id",foreignField:

双十二有什么好物是值得推荐?智能家居好物推荐

都知十一月份跟十二月份都有两个大促的时间&#xff0c;那就是双十一跟双十二&#xff0c;距离双十一过去已经半个月了&#xff0c;是不是还有很多朋友在双十一的时候也没有买尽兴&#xff0c;别慌&#xff01;错过了双十一咱还有双十二&#xff0c;双十二的优惠力度也不会低于…

Day44力扣打卡

打卡记录 给小朋友们分糖果 II&#xff08;容斥原理 隔板法&#xff09; 链接 def c2(n):return n * (n - 1) // 2 if n > 1 else 0class Solution:def distributeCandies(self, n: int, limit: int) -> int:return c2(n 2) - 3 * c2(n - limit 1) 3 * c2(n - 2 * …