pyclone介绍

  可以根据多个样品突变的allele frequency 和 copy number,推断出有该突变的细胞克隆所占的比例(cellular prevalence)在不同样品间的变化。比如:



每个cluster包括一些突变,它们在各个样品中克隆比例有着一致的变化

安装Conda

从官网下载Conda

有两个选择,一个是带有python 2.7的Miniconda ,带有python 3.6的Miniconda3 ,经本人电脑测试Miniconda3使用pyclone会出现问题,因此建议安装带python2.7的Miniconda

直接bash下载的文件安装

Miniconda2-latest-Linux-x86_64.sh

按照操作,第一步输入yes同意协议,然后可以选择安装路径,默认本地家目录,同时相应的python也会自动安装到目录

安装pyclone

按照官网说明安装pyclone

conda install pyclone -c aroth85

成功运行如下

[ywliao@WS02 utilities]$ PyClone
usage: PyClone [-h] [--version]
{setup_analysis,run_analysis,run_analysis_pipeline,build_mutations_file,plot_clusters,plot_loci,build_table}
...
PyClone: error: too few arguments

运行测试文件

进入test/examples文件夹

PyClone run_analysis_pipeline --in_files SRR385938.tsv SRR385939.tsv SRR385940.tsv SRR385941.tsv --working_dir pyclone_analysis

在pyclone_analysis文件下会生成如下文件夹或文件

config.yaml   #指定用于PyClone分析的设置文件
plots/ #包括生成的全部图
tables/ #包括生成的全部表格
trace/ #包括MCMC抽样算法的原始痕迹
yaml/ #存放yaml突变文件的文件夹,用于PyClone分析

输入的tsv文件的格式

tab分隔存在header的文件,包括以下几列

  • mutation_id,一个能够识别突变的单一ID,比如chr22:12345或者TP53_chr17:753342
  • ref_counts,突变位点的reference reads数
  • var_counts,突变位点的variant reads数
  • normal_cn,正常population的细胞拷贝数,对于人类常染色体来说是2,对于人类性染色体来说是1或2
  • minor_cn, 肿瘤细胞的minor拷贝数,一般从WGSS或者芯片的数据预测出
  • major_cn,肿瘤细胞的major拷贝数,一般从WGSS或者芯片的数据预测出

如果你没有minor copy number 和 major copy number,那么minor copy number设为0而major copy number设置为预测的总的拷贝数。

除了上述的列,其它列会自动忽略

使用PyClone run_analysis_pipeline -h查看帮助

绘制进化树

如果pyclone的可视化无法满足你的需要,比如说你需要绘制进化树,可以使用supra hex;可以参考http://suprahex.r-forge.r-project.org/demo-PyClone.html

这里提供一个将pyclone中的loci.tsv结果文件转换成supr hex能直接处理的矩阵的R函数

library(data.table)
library(supraHex) Loci_tsv_To_Input <- function(dt){
dc <- dcast(dt, formula = mutation_id ~ sample_id, value.var = "cellular_prevalence")
dt_out <- dc[,-1]
rownames(dt_out) <- dc[,1]
return(as.matrix(dt_out))
} dt <- fread("~/project/PE/Clone/tsv/Guoyuqin/tables/loci.tsv")
data <- Loci_tsv_To_Input(dt) #build and visualise the bootstrapped tree
tree_bs <- visTreeBootstrap(t(data))

参考资料

pyclone usage:https://bitbucket.org/aroth85/pyclone/wiki/Usage

pyclone文献:https://www.nature.com/articles/nmeth.2883

suprahex处理pyclone结果:http://suprahex.r-forge.r-project.org/demo-PyClone.html

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=204kmo4ijrwg0

安装使用pyclone进行克隆演化推断的更多相关文章

  1. Hadoop集群--linux虚拟机Hadoop安装与配置、克隆虚拟机

    Hadoop集群 第四章 Hadoop安装与配置.克隆虚拟机 一.Hadoop安装与配置 1.将hadoop安装包通过Xftp传输到虚拟机的/software目录下 2.进入/software目录下, ...

  2. 09_EGIT插件的安装,Eclipse中克隆(clone),commit,push,pull操作演示

     1 下载EGIT,下载地址:http://www.eclipse.org/egit/download/ 最终的下载地址: http://www.eclipse.org/downloads/dow ...

  3. VMware虚拟机上安装linux和克隆

    虚拟机上安装好一台linux 系统后.为了高速搭建hadoop集群.须要再安装几个linux系统,比較笨的办法能够又一次用ios 镜像文件进行安装.可是又一次安装须要又一次配置一些信息并且安装时间比較 ...

  4. Hadoop集群搭建安装过程(一)(图文详解---尽情点击!!!)

    Hadoop集群搭建(一)(上篇中讲到了Linux虚拟机的安装) 一.安装所需插件(以hadoop2.6.4为例,如果需要可以到官方网站进行下载:http://hadoop.apache.org) h ...

  5. linux虚拟机系统的复制或克隆后续问题解决!

    前言 加快创建hadoop或spark集群,方法有两种途径:克隆或复制.其实啊,我最近,再返回写下本博文,理清下思路. 比如,你在你的一台电脑里,安装虚拟机.已经搭建好了hadoop或spark集群. ...

  6. 从Ubunt的安装到hadoop集群的搭建

    一.相关基础配置 1.网络设置 a.调整VMnet8这块网卡网关 b.在VMware[编辑]->[虚拟网络编辑器]对VMnet8进线[NAT 设置] c.调整[DHCP 设置]中的起始IP地址 ...

  7. 学习RocketMQ (一) 安装并且启动MQ

    1.使用RocketMQ 的 软件要求 64bit OS, Linux/Unix/Mac is recommended;64bit JDK 1.8+;Maven 3.2.xGit 1)安装Linux ...

  8. EBS系统克隆

     术语 克隆是对已有的Oracle应用系统创建一份拷贝的过程.克隆一个Oracle应用系统有几种不同的情况,包括: l   标准克隆 – 复制一个已有的Oracle应用系统生成一份拷贝,例如对生产 ...

  9. Centos7 二进制安装 Kubernetes 1.13

    目录 1.目录 1.1.什么是 Kubernetes? 1.2.Kubernetes 有哪些优势? 2.环境准备 2.1.网络配置 2.2.更改 HOSTNAME 2.3.配置ssh免密码登录登录 2 ...

随机推荐

  1. Java设计模式——模板方法模式

    转载自:https://www.cnblogs.com/zplogo/p/6428593.html 用抽象基类定义算法框架 RefreshBeverage package com.pattern.te ...

  2. 快速傅里叶变换 & 快速数论变换

    快速傅里叶变换 & 快速数论变换 [update 3.29.2017] 前言 2月10日初学,记得那时好像是正月十五放假那一天 当时写了手写版的笔记 过去近50天差不多忘光了,于是复习一下,具 ...

  3. BZOJ 4710: [Jsoi2011]分特产 [容斥原理]

    4710: [Jsoi2011]分特产 题意:m种物品分给n个同学,每个同学至少有一个物品,求方案数 对于每种物品是独立的,就是分成n组可以为空,然后可以用乘法原理合起来 容斥容斥 \[ 每个同学至少 ...

  4. Oracle,Sql,procedure 感觉自己写的很棒的一个存储过程

    感觉自己写的很棒的一个Oracle存储过程,(其实想说很叼^,^). 集成了一堆操作数据的功能(至少几十), 包括存储过程执行异常信息输出帮助诊断. 亮点很多, 比如`over(partition b ...

  5. 手把手教你树莓派实现简易室内监控系统(C)之BOA服务器的搭建

    本篇主要讲利用BOA服务器做室内监控系统的服务器端. 古人云:万事开头靠百度,实在不行就Google.小编也是一步一步的,亲自搭建成功,不能说是万全之策,仅仅是给大家一个参考就满足了. 第一步: 1. ...

  6. Yii2数据库操作再总结

    User::find()->all(); 此方法返回所有数据:User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子): User::find()->wh ...

  7. C语言_结构体的4种定义初始化方式及案例

    结构体是一种构造数据类型 (构造数据类型:数组类型.结构体类型(struct).共用体类型(union)).用途:把不同类型的数据组合成一个整体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一 ...

  8. Codeforces446C - DZY Loves Fibonacci Numbers

    Portal Description 给出一个\(n(n\leq3\times10^5)\)个数的序列,进行\(m(m\leq3\times10^5)\)次操作,操作有两种: 给区间\([L,R]\) ...

  9. LRUCache原理分析

    一.注释 LRUCache的原理,基本都在注释里面描述清楚了. /** * A cache that holds strong references to a limited number of va ...

  10. ‘true’==true返回false详解

    JavaScript高级程序设计(第3版)  第三章非常完整地解释了原因. 3.5.7 相等操作符 在转换不同的数据类型时,相等和不相等操作符遵循下列基本规则: . 如果有一个操作数是布尔值,则在比较 ...