美文网首页
EcoTyper代码实操(一):从Bulk转录组数据恢复细胞状态

EcoTyper代码实操(一):从Bulk转录组数据恢复细胞状态

作者: 生信宝库 | 来源:发表于2023-11-11 07:47 被阅读0次

前言

EcoTyper是一款以机器学习为基础框架的分析工具,能够从Bulk、单细胞、以及空间分辨率的基因表达数据中大规模地识别并验证细胞状态和生态型。Immugent在前两期的推文中:EcoTyper:识别肿瘤中各种细胞的生态位-实体肿瘤EcoTyper:识别肿瘤中各种细胞的生态位-血液肿瘤,分别介绍了EcoTyper的功能框架,以及其在肿瘤中的应用。我们可以发现基于EcoTyper识别的细胞状态和生态型对疾病的发生发展和预后都是至关重要的。从本期推文开始,我们将与大家一起学习EcoTyper的代码实操部分。

EcoTyper的代码实操主要分为6个部分:


image.png

由于EcoTyper的功能是十分全面的,我们将用6期推文结合代码实操介绍EcoTyper的使用方法。那么,今天让我们一起来学习一下它的第一个部分——Recovery of Cell States and Ecotypes in User-Provided Bulk Data


代码流程

1.准备环境和数据

下载 EcoTyper
wget https://github.com/digitalcytometry/ecotyper/archive/refs/heads/master.zip
unzip master.zip
cd ecotyper-master
#EcoTyper是一个独立的软件,用R实现,但并不是R包哦。
R环境准备:
image.png

这是官网推荐的R和R包版本,但是小编用的最新的R版本,并且安装相应最新版本的R包也是很顺利的。

install.packages(c("RColorBrewer","cluster", "circlize","cowplot","data.table","doParallel","ggplot2","grid", "reshape2", "viridis","config","argparse","colorspace", "plyr"))
BiocManager::install("ComplexHeatmap")
BiocManager::install("Biobase")
BiocManager::install("NMF")
输入数据:
  1. 表达谱数据:来源于TCGA的LUAD部分样本的表达谱数据,数据存储在example_data/bulk_lung_data.txt中。
image.png
  1. 样本注释文件,数据存储在example_data/bulk_lung_annotation.txt
image.png

2.recovery scripts

EcoTyper_recovery_bulk.R脚本用于在Bulk数据中恢复细胞状态和生态型。

Rscript EcoTyper_recovery_bulk.R -h
参数详解:
  • -d--discovery:用于定义细胞状态和生态型的发现数据集的名称。可以选择的值包括'Carcinoma'(恶性肿瘤数据集)和'Lymphoma'(淋巴瘤数据集),也可以使用在运行EcoTyper发现脚本时配置文件中的自定义数据集名称。默认值为'Carcinoma'。
  • -m--matrix:输入bulk组织表达矩阵的文件路径,该文件需要以制表符分隔,其中第一列是基因名称,列名是样本。这是必需参数。
  • -a--annotation:输入矩阵中样本注释的文件路径,该文件也需要是制表符分隔的。文件中必须包含一个名为'ID'的列,其中包含与输入矩阵中的样本标识相同的ID,以及其他附加列。可选参数,默认值为'NULL'。
  • -c--columns:用于指定在输出热图中作为颜色条形图显示的注释文件中的列名的逗号分隔列表。可选参数,默认为'NULL'。
  • -t--threads:线程数,默认值为10。如果在windows下运行只能指定1。
  • -o--output:指定输出结果的目录路径,默认值为'RecoveryOutput'。
  • -h--help:打印帮助信息。
运行脚本:
Rscript EcoTyper_recovery_bulk.R -d Carcinoma -m example_data/bulk_lung_data.txt -a example_data/bulk_lung_annotation.txt -c Tissue -o RecoveryOutput

3.结果解读

image.png

可以看出结果主要分为两部分:各类型细胞的细胞状态恢复和生态型恢复。

细胞状态部分输出结果:

我们以成纤维细胞为例看下细胞状态恢复部分的结果。

image.png
  • state_assignment_heatmap.pdf/png:展示了在每个细胞状态中具有最高 log2 FC的基因的表达情况,这些基因被称为细胞状态特异性标记基因。热图的列代表了发现数据集中的样本,行代表了每个细胞状态的标记基因。所选的标记基因显示在热图的左侧。
image.png
  • "state_assignment.txt":发现数据集中每个样本的细胞状态。如果在质量控制步骤中过滤掉了给定样本中具有最高丰度的细胞状态,那么该样本将被视为未分配,不包括在此输出文件中。基于这个文件,我们可以将细胞状态与临床结果(如患者的生存时间)进行关联研究。即使用 Kaplan-Meier 曲线和 log-rank 检验比较数据集中富集于不同的细胞状态的患者整体生存之间是否有差异。
image.png
  • "state_abundances.txt":每个样本中每种细胞状态的相对丰度信息。"state_assignment.txt"文件只包含已分配到某种细胞状态的样本,而"state_abundances.txt"文件包括了发现数据集中的所有样本。这个文件提供了每个细胞状态在每个样本中的相对丰度信息。"state_abundances.txt" 或 "ecotype_abundance.txt" 都包含了输入数据集中的所有样本。我们可以基于这两个文件进行一些下游分析。我们将细胞状态或生态型的相对丰度视为一个连续变量,使用R包 survival 中的 coxph 函数构建 Cox 比例风险回归模型评估细胞状态与总体生存之间的关系(保护因素/风险因素)。除了 Cox 回归外,还可以应用在基因集富集分析、配体-受体相互作用以及与免疫疗法关联等其他下游分析中。
    image.png
  • "heatmap_data.txt":热图 "state_assignment_heatmap" 对应数据。经过标准化处理的基因的表达水平。列代表样本,行代表了每个细胞状态的标志基因。


    image.png
  • "heatmap_top_ann.txt":用户提供的注释文件与细胞状态相关的信息的整合。只有被分配到主要细胞状态的样本才会包含在这个文件中。
image.png
生态型部分输出结果:
image.png
  • "ecotype_abundance.txt":在发现数据集中的每个生态型(ecotype)相对丰度的信息。
image.png
  • "ecotype_assignment.txt":发现数据集中的样本分配到各个生态型的信息。未被分配到任何生态型的样本将从该文件中被过滤掉。
image.png
  • "heatmap_assigned_samples_viridis.pdf/png":EcoTyper推断出的细胞状态分数的热图,这些细胞状态被分配到生态型中。


    image.png

4.血液肿瘤中恢复细胞状态和生态型

以上部分展示了如何在实体肿瘤中恢复细胞状态和生态型,我们也可以调整参数,实现在血液肿瘤中恢复细胞状态和生态型哦。

Rscript EcoTyper_recovery_bulk.R -d Lymphoma -m example_data/bulk_lymphoma_data.txt -a example_data/bulk_lymphoma_annotation.txt -c schmitz_labels,COO -o RecoveryOutput -t 10

小结

在本期推文中,我们介绍了如何使用EcoTyper对Bulk转录组数据恢复细胞状态和生态型。EcoTyper不仅功能强大,而且使用起来很方便,运行速度也是很快的。此外,EcoTyper所生成的输出数据十分详尽,为我们提供了丰富的信息,可以用于各种后续分析。并且其输出的可视化结果也是十分精美的,感兴趣的小伙伴快来用起来吧~

好啦,本期的分享到这里就结束了,我们下期再会~

相关文章

网友评论

      本文标题:EcoTyper代码实操(一):从Bulk转录组数据恢复细胞状态

      本文链接:https://www.haomeiwen.com/subject/kkpkwdtx.html