基于vcf文件构建进化树

Python015

基于vcf文件构建进化树,第1张

===========第一种方法利用VCF2Dis生成距离矩阵===================

VCF2Dis -i all.chromosome.SNP.changID.vcf -o p_dis.mat  //我大概600多份样品,也运行了3天左右

然后利用fastme转化成为树的格式(nwk)(链接:http://www.atgc-montpellier.fr/fastme/)

转化为newick格式

我个人喜欢iTol(https://itol.embl.de/)来调整样式

==================第二种方法 转化vcf文件为phylip 格式==========

python vcf2phylip.py --input myfile.vcf --fasta --nexus 

然后,利用phylip构建进化树

phylip 在命令行中可以根据提示输入参数,也可以用含有参数的文本导入参数。

利用 dnadist:计算距离矩阵,最耗时,几千个SNP可能需要1天甚至数天。 参数文本dnadist.par //有点耗时间

$ cat dnadist.par

myfile.vcf.phy

2 #将软件运行情况显示出来

Y #确认以上设定的参数

$ dnadist <dnadist.par

$ mv outfile dnadist.out

生成距离矩阵,然后利用neighbor: Neighbor-Joining 构建进化树

我最好还是在iTOL里面进行样式调整

     第二个pipeline主要包括Pyclone+ citup+ Timespace,没有先介绍这个主要是因为Timespace之后的展示结果只有一个cluster,并没有在图上展示出来突变基因,但是通过格式的转换可以使用fishplot来绘图。

    PyClone之前分享过安装出现的问题,使用conda安装,过程中会经常报出两类错误,一类是python的版本问题,另一类是依赖包的问题,正常情况下没报出其他错误,之后记得设置一下环境变量即可。

    大多数用户将通过创建一组以制表符分隔的(tsv)输入文件来使用PyClone,每个来自癌症的示例都有一个文件。这个文件的有六个必要列,如下。

    pyclone软件中例子的数据格式,对于二倍体生物总拷贝数为 2:

A. 大于 0 则拷贝数扩增;

B. 小于 0 则拷贝数缺失;

C.  -0.2~0.2 之间则认为是正常。

    例子中输入文件格式如下:

    运行PyClone最简单的方法是使用PyClone run_analysis_pipeline管道命令:

    这将执行对输入文件进行预处理、运行MCMC分析以及进行后处理和绘图的步骤,其中两个必须的参数就是:

——in_files:一组以空格分隔的tsv文件,按照输入格式进行;

——working_dir:结果输出目录。

    结果输出四个目录,plots, tables, trace 和 yaml,输出目录如下:

    那么输出很多结果文件,这些图表该怎么解读?一开始我也同样是一头雾水,精读两遍文章自然也就迎刃而解了。

     1. 首先看plots文件夹, 毕竟人是视觉动物,第一反应看结果肯定是看图,之后在仔细分析表格里面每一列是什么意思,那好吧,先说图。我们发现在子文件夹plots里面有三个pdf命名一致,它们既相同又不同,一个是成cluster来看肿瘤的变化,一个是看每个突变位点在不同时期的变化,如下图表示原发和转移后的细胞患病率变化,横坐标表示0-10个cluster,n=?表示在这个cluster中的位点个数,如下:

        而在loci中的显示是表示每个突变位点在不同时期的肿瘤样本中的患病率,如下:

    为了展示突变位点在每个样本中患病率的变化,换了另一种表示方式,如下图所示:

    为了清晰展示样本间的相关性,利用两两比较的方法,更加明了,如下图:

    在子文件夹loci中的 similarity_matrix.pdf 则展示出突变位点的相似性,如下图所示:

2. 其次来看tables文件夹里面的内容包括cluster和loci:

    cluster表格共包括5列,看列标ti题大概能够猜出来个一二了,不多说了,cluster如下表格:

    loci表格有六列,从列标题可以看出,每个位点都会计算出细胞病死率,其中的 cellular prevalence 对后续分析非常重要,我们需要知道每个样本中cellular prevalence 用于后续的分析, 每个位点的病死率如下:

    到此基本上完成使用说明及解读,从结果上来看,我们并未得到想要的克隆进化树以及鱼图,那么下期将讲解怎么才能利用上Pyclone的结果,做出克隆进化的结果,敬请期待明日更新!

    日更不易,点个