目的:绘制肿瘤进化的系统发育树
参考文章
- 【官网】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加上去可能还快一些