hdng / clonevol

Inferring and visualizing clonal evolution in multi-sample cancer sequencing
GNU General Public License v3.0
141 stars 45 forks source link

errors in plotting the tree (again...) #26

Closed jungminchoilab closed 5 years ago

jungminchoilab commented 5 years ago

Hello, hope you are having a relaxing holiday.

I am trying to run your software and encountered a following error (embarassingly the same error that I have reported before) even after following your instruction. Would you be able to look into this?

input file

> x = read.table('loci.tsv_rearranged_v2.txt', header=T, stringsAsFactors=F, sep='\t')
> vaf.col.names = grep('.vaf', colnames(x), value=T)
> colnames(x) = gsub('.vaf', '', colnames(x))
> vaf.col.names = gsub('.vaf', '', vaf.col.names)
> x$cluster[x$cluster == 0] = max(x$cluster) + 1
> clone.colors = NULL
> pdf('box_v2.pdf', width = 10, height = 10, useDingbats = FALSE, title='')
> pp <- plot.variant.clusters(x,
     cluster.col.name = 'cluster',
     show.cluster.size = FALSE,
     cluster.size.text.color = 'blue',
     vaf.col.names = vaf.col.names,
     vaf.limits = 70,
     sample.title.size = 20,
     violin = FALSE,
     box = FALSE,
     jitter = TRUE,
     jitter.shape = 1,
     jitter.color = clone.colors,
     jitter.size = 1,
     jitter.alpha = 1,
     jitter.center.method = 'median',
     jitter.center.size = 1,
     jitter.center.color = 'darkgray',
     jitter.center.display.value = 'none',
     highlight = 'is.driver',
     highlight.shape = 21,
     highlight.color = 'blue',
     highlight.fill.color = 'green',
     highlight.note.col.name = 'gene',
     highlight.note.size = 2,
     order.by.total.vaf = FALSE)
> dev.off()
null device 
          1 
> 
> y = infer.clonal.models(variants = x,
     cluster.col.name = 'cluster',
     vaf.col.names = vaf.col.names,
     sample.groups = NULL,
     cancer.initiation.model='monoclonal',
     subclonal.test = 'bootstrap',
     subclonal.test.model = 'non-parametric',
     num.boots = 1000,
     founding.cluster = 5,
     cluster.center = 'mean',
     ignore.clusters = NULL,
     clone.colors = NULL,
     min.cluster.vaf = 0.01,
     sum.p = 0.05,
     alpha = 0.05)
Sample 1: LT <-- LT
Sample 2: LT.PRE <-- LT.PRE
Sample 3: ST <-- ST
Using monoclonal model
Note: all VAFs were divided by 100 to convert from percentage to proportion.
Generating non-parametric boostrap samples...
LT : Enumerating clonal architectures...
Determining if cluster VAF is significantly positive...
Exluding clusters whose VAF < min.cluster.vaf=0.01
Non-positive VAF clusters: 3,1 
LT : 2 clonal architecture model(s) found

LT.PRE : Enumerating clonal architectures...
Determining if cluster VAF is significantly positive...
Exluding clusters whose VAF < min.cluster.vaf=0.01
Non-positive VAF clusters: 4,3,6 
LT.PRE : 1 clonal architecture model(s) found

ST : Enumerating clonal architectures...
Determining if cluster VAF is significantly positive...
Exluding clusters whose VAF < min.cluster.vaf=0.01
Non-positive VAF clusters: 4,1 
ST : 2 clonal architecture model(s) found

Finding consensus models across samples...
Found  4 consensus model(s)
Generating consensus clonal evolution trees across samples...
Found 4 consensus model(s)
Scoring models...
Pruning consensus clonal evolution trees....
Seeding aware pruning is:  off
Number of unique pruned consensus trees: 1 
> y = convert.consensus.tree.clone.to.branch(y)
> 
> plot.clonal.models(y,
     box.plot = TRUE,
     fancy.boxplot = TRUE,
     fancy.variant.boxplot.highlight = 'is.driver',
     fancy.variant.boxplot.highlight.shape = 21,
     fancy.variant.boxplot.highlight.fill.color = 'red',
     fancy.variant.boxplot.highlight.color = 'black',
     fancy.variant.boxplot.highlight.note.col.name = 'gene',
     fancy.variant.boxplot.highlight.note.color = 'blue',
     fancy.variant.boxplot.highlight.note.size = 2,
     fancy.variant.boxplot.jitter.alpha = 1,
     fancy.variant.boxplot.jitter.center.color = 'grey50',
     fancy.variant.boxplot.base_size = 12,
     fancy.variant.boxplot.plot.margin = 1,
     fancy.variant.boxplot.vaf.suffix = '.VAF',
     clone.shape = 'bell',
     bell.event = TRUE,
     bell.event.label.color = 'blue',
     bell.event.label.angle = 60,
     clone.time.step.scale = 1,
     bell.curve.step = 2,
     merged.tree.plot = TRUE,
     tree.node.label.split.character = NULL,
     tree.node.shape = 'circle',
     tree.node.size = 30,
     tree.node.text.size = 0.5,
     merged.tree.node.size.scale = 1.25,
     merged.tree.node.text.size.scale = 2.5,
     merged.tree.cell.frac.ci = FALSE,
     merged.tree.clone.as.branch = TRUE,
     mtcab.event.sep.char = ',',
     mtcab.branch.text.size = 1,
     mtcab.branch.width = 5,
     mtcab.node.size = 3,
     mtcab.node.label.size = 1,
     mtcab.node.text.size = 1.5,
     cell.plot = TRUE, num.cells = 100,
     cell.border.size = 0.25,
     cell.border.color = 'black',
     clone.grouping = 'horizontal',
     scale.monoclonal.cell.frac = TRUE,
     show.score = FALSE,
     cell.frac.ci = TRUE,
     disable.cell.frac = FALSE,
     out.dir = 'output', out.format = 'pdf',
     overwrite.output = TRUE,
     width = 11, height = 7,
 panel.widths = c(3,4,2,6,6))
Error in x0[i] <- x1[which(x$branches == parent)] : 
  replacement has length zero
jungminchoilab commented 5 years ago

Figured out a way to troubleshoot. It seems like the founding cluster has to be always "1". After I change it to "1", it seems to be working fine.

Thanks!