A new fast method for copy number calling, tissue purity estimating and subclone inferring in cancer genome

Our new methods final launched on Nature Protocols, where we developed a series of methods and related C++/R combined software package,  Sclust(around 1.5Gb,大文件谨慎载). In Sclust, you can do copy number calling, cancer tissue purity estimating and clone and subclone structure inferring from normal-tumor paired whole genome/exon sequencing data.


1. 可以准确地做copy number calling, tumor purity estimating,subclonal inferring;

2. subclonal inferring的速度超级快。4000~6000 个SNVs 的 clonal inferring 过程在个人电脑上只需3到5秒。

3. sclust 给出了每个集群的倍数树变异,目前还有少数个软件提供这个功能。


联系邮件:yp.cun@outlook.com。 下面clonal 推断一些背景。

Continue reading “A new fast method for copy number calling, tissue purity estimating and subclone inferring in cancer genome”

【c】Frontiers in Single Cell Genomics, Suzhou

Frontiers in Single Cell Genomics



We are pleased to announce the Cold Spring Harbor Asia conference on Frontiers in Single Cell Genomics which will be held in Suzhou, China, located approximately 60 miles west of Shanghai. The conference will begin at 7:00pm on the evening of Monday November 7, and will conclude after lunch on November 11, 2016.

Continue reading “【c】Frontiers in Single Cell Genomics, Suzhou”

A brief introduction to “apply” in R

a good, practical guidline for “apply” in R.

What You're Doing Is Rather Desperate

At any R Q&A site, you’ll frequently see an exchange like this one:

Q: How can I use a loop to […insert task here…] ?
A: Don’t. Use one of the apply functions.

So, what are these wondrous apply functions and how do they work? I think the best way to figure out anything in R is to learn by experimentation, using embarrassingly trivial data and functions.

If you fire up your R console, type “??apply” and scroll down to the functions in the base package, you’ll see something like this:

Let’s examine each of those.

1. apply
Description: “Returns a vector or array or list of values obtained by applying a function to margins of an array or matrix.”

OK – we know about vectors/arrays and functions, but what are these “margins”? Simple: either the rows (1), the columns (2) or both (1:2). By “both”, we mean “apply the…

View original post 1,003 more words

Inferring tumour evolution 2 – Comparison to classical phylogenetics

Scientific B-sides

Quick recap: Last time we talked about tumor evolution and I presented a toy example to introduce key concepts. I also introduced the intra-tumor phylogeny problem: Given a sample of the genomes of clones in a tumour, reconstruct its `life history’. This problem consists of two sub-problems: (1)identification of clones, and (2) inferring evolutionary relationships between clones.

This problem falls into the general area of reconstructing phylogenetic trees — so how does inferring clonal trees compare to classical phylogenetic methods?

View original post 777 more words

Inferring tumour evolution 1 – The intra-tumour phylogeny problem

Scientific B-sides

“Cancer evolves dynamically as clonal expansions supersede one another driven by shifting selective pressures, mutational processes, and disrupted cancer genes. These processes mark the genome, such that a cancer’s life history is encrypted in the somatic mutations present,”

write Nik-Zainal et al in the abstract of their 2012 Cell paper `The life history of 21 breast cancers‘. The key figure of their paper shows a phylogenetic tree of tumor development in a patient. The paper contains lots of computational work on analyzing and interpreting mutations based on deep-sequencing data, but –a big surprised but— the very last step of putting together the tree was done manually. Half the paper is describing the reasoning that Peter Campbell and his group used to condense all the evidence they had gathered from genomic data into the tree – but there is no algorithm.

View original post 951 more words