【单细胞转录组】UPhyloplot2绘制肿瘤进化的系统发育树

目的:绘制肿瘤进化的系统发育树

参考文章

  • 【官网】https://github.com/harbourlab/UPhyloplot2
  • 参考:https://blog.csdn.net/qq_38774801/article/details/115921889

一、简介

Uphyloplot2 从 CaSpER、HoneyBADGER 和 InferCNV 获取输入以生成进化图。请按照以下指南使用所有三个程序的输入来可视化您的树。你可以从这个 github 页面下载示例数据来测试程序

二、分析步骤

2.1 git克隆分析脚本

git clone https://github.com/harbourlab/uphyloplot2.git

2.2 inferCNV

要生成必要的文件,inferCNV 需要与 HMM 一起运行,并将 cluster_by_groups设置为FALSE, 以及 analysis_mode="subclusters",这将生成用于绘图的“HMM_CNV_predictions.HMMi6.rand_trees.hmm_mode-subclusters.Pnorm_0.5.cell_groupings”等文件

infercnv_obj = infercnv::run(infercnv_obj,cutoff=1,out_dir="output_dir",cluster_by_groups=FALSE,plot_steps=T,scale_data=T,denoise=T,noise_filter=0.12,analysis_mode='subclusters',HMM_type='i6')

2.3 数据预处理

输出结果有几个文件在后面画进化树会用到:

(画进化树需要)17_HMM_predHMMi6.rand_trees.hmm_mode-subclusters.cell_groupings包含了根据CNV分类的结果,一共两列,一列是类别名称, 共8类,但是有一类是参考细胞,所以要去掉参考,剩下7类;另一列是细胞编号。
去掉参考的行

sed '/^all_references/d' <  17_HMM_predHMMi6.rand_trees.hmm_mode-subclusters.cell_groupings > trimmed_infercnv.cell_groupings

(注释进化树的分支)HMM_CNV_predictions.HMMi6.rand_trees.hmm_mode-subclusters.Pnorm_0.5.pred_cnv_regions.dat

# cell_group_name cnv_name        state   chr     start   end
# all_observations.all_observations.1.1.1.1       chr1-region_1   2       chr1    14363   145116922
# all_observations.all_observations.1.1.1.1       chr1-region_3   3       chr1    151264273       156182587

第一列是CNV所属的group,第二列是CNV的name,唯一;在"subclusters"模式下有7个group;4 5 6列包含CNV的坐标;
第三列表示状态:

State 1: 0x: complete loss
State 2: 0.5x: loss of one copy
State 3: 1x: neutral
State 4: 1.5x: addition of one copy
State 5: 2x: addition of two copies
State 6: 3x: essentially a placeholder for >2x copies but modeled as 3x

(注释进化树的分支)HMM_CNV_predictions.HMMi6.rand_trees.hmm_mode-subclusters.Pnorm_0.5.pred_cnv_genes.dat:

cell_group_name gene_region_name        state   gene    chr     start   end
all_observations.all_observations.1.1.1.1       chr1-region_1   2       WASH7P  chr1    14363   29806
all_observations.all_observations.1.1.1.1       chr1-region_1   2       LINC00115       chr1    14363   29806

第一列分组, 第二列为每一个CNV片段,第三列是CNV状态,第四列是基因,基因这一列是唯一的,是上一个文件细化到基因层面。

2.4 绘图

默认程序计算一下各种CNV cluster的比例,并剔除小于5%的cluster进行绘图

使用的时候,将主程序uphyloplot2.py和文件夹Inputs放在一起,上面提到cell_groupings文件放到Inputs文件夹里面。UPhyloplot2 将生成一个“output.svg”矢量图形图。此外,它将生成一个名为“CNV_files”的新文件夹,其中包含每个输入的 CNV 文件,其中包含第 1 列中由 inferCNV 标识的亚克隆 ID、第 2 列中每个亚克隆的细胞百分比以及标记亚克隆的字母第 3 列中的 output.svg 文件。

$cd uphyloplot2-master
$python uphyloplot2.py 
uphyloplot2 version 2.3

2.5 添加进化树分枝注释

UPhyloplot2 不会识别每个亚克隆的特征 CNV 变化。如果需要,必须从 inferCNV 输出手动推断HMM_CNV_predictions.HMMi6.rand_trees.hmm_mode-subclusters.Pnorm_0.5.pred_cnv_regions.dat 文件中的每个子克隆 ID。

请注意,根据存在的子克隆,output.svg 文件的分支和子克隆圆圈可能会重叠。但是,它们可以使用 Adobe Illustrator 或任何其他 svg 编辑器手动旋转。

后面就不建议改源吗加标签了,因为源码是一行行写出SVG文件的,根据注释文件,用AI加上去可能还快一些

你可能感兴趣的:(【单细胞转录组】UPhyloplot2绘制肿瘤进化的系统发育树)