Fork me on GitHub!


PyClone is free for academic/non-profit use. For commercial use please contact Consult the LICENSE.txt file for more details.

Please visit for installation and usage help.



  • Added option to control how clusters are initialized with --init_method flag. Using --init_method connected will place all data points in the same cluster leading to faster sampling at the risk of getting stuck in local modes.

  • Added option to control the maximum number of clusters considered during post-processing using --max_clusters flag. For large datasets this should be set to values less than 100 to speed things up.

  • Using numba to speed up code.


Most changes in this release are internal refactoring of the code and should be invisble to the user.

  • Removed IGMM, IBMM, and IBBMM methods

  • Changed plotting code to use seaborn
    • Removed eppl dependency
    • Removed brewer2mpl dependency
  • Changed output of build_table to a tidy data frame
    • Old style table available with the –old_style flag
  • Re-wrote the multi-sample plotting code
    • Should fix issues with too many clusters
    • Slightly nicer looking plots
  • Switched to using pandas for data wrangling

  • Changed nomenclature.
    • Variant allele frequency (VAF): proportion of reads with variant
    • Cellular prevalence: proportion of cancer cells harbouring a mutation
    • The name of the trace files have been altered
    • The name of some function calls have been altered
    • Plot labels have been altered


  • Fixed a bug in the calculation of the mpear code.


  • Fixed a bug causing PyClone BetaBinomial to not support fixed precision parameter.


  • Fixed bug in multi-sample plotting of allelic prevalences. Note this requires an upgrade to eppl 0.2.3 or greater.


  • Modified plot_cellular_frequencies to accept the --file_format flag which sets the output format for plot files.


  • Changed multi sample plot to show error bars

  • The build_table no outputs the std error of the cellular prevalence trace for each mutation in each sample


  • Fixed bug in the multi-sample plotting/table code which caused failures for non PyClone densities.


  • Added ability to output table used for generating multi-sample plots.


  • Fixed a bug which would cause build_mutations_file to fail if the output was given as a relative path.

  • Updated the configuration files in the examples/ folder to have saner values.

  • Changed README to redirect to website.


  • Fixed typos in some example files.

  • Added command to plot parallel coordinates for multiple samples.

  • Updated interface of plotting commands to take configuration files as arguments instead of traced directory.


  • Changed input files to work from YAML config instead of command line arguments.

  • Added ability to do multiple sample analysis.

  • Added robust Beta-Binomial version of PyClone.

  • Added genotype naive clustering DP methods with Gaussian, Binomial and Beta-Binomial densities.

  • Updated and renamed the build_inputs -> build_mutations_file function for building YAML inputs from tsv file.


  • Fixed overflow in mpear clustering.


  • Small change to clustering to use mutation_id not mutation in output, to make consistent with simple input.


  • Reverted to PyDP for implementing DP methods.

  • Removed dependency on numpy in analysis code.


  • Unfortunately I did not keep a complete list of changes as the software evolved.