broadinstitute / infercnv

Inferring CNV from Single-Cell RNA-Seq
Other
557 stars 164 forks source link

plot_cnv(): Error: C stack usage 7969476 is too close to the limit #523

Open tingxie2020 opened 1 year ago

tingxie2020 commented 1 year ago

Hi,

Thanks for inventing and maintaining infercnv.

when run plot_cnv(), I encountered this error. plot_per_group(G_obj1, out_dir="inferCNV r", plot_chr_scale = T, obs_title="G_scRNAseq", ref_title="G_cluster2", cluster_by_groups=TRUE, x.center=1, x.range="auto", hclust_method='ward.D', color_safe_pal=FALSE, output_filename="infercnv", output_format="png", png_res=300, dynamic_resize=0.2, useRaster=FALSE ) INFO [2023-03-24 16:12:25] ::plot_cnv:Start INFO [2023-03-24 16:12:25] ::plot_cnv:Current data dimensions (r,c)=8487,25487 Total=216957050.295849 Min=0.693703244173621 Max=1.77227793759284. INFO [2023-03-24 16:12:26] ::plot_cnv:Depending on the size of the matrix this may take a moment. INFO [2023-03-24 16:12:29] plot_cnv(): auto thresholding at: (0.849326 , 1.150674) INFO [2023-03-24 16:12:33] plot_cnv_observation:Start INFO [2023-03-24 16:12:33] Observation data size: Cells= 21661 Genes= 8487 Error: C stack usage 7969476 is too close to the limit

I did options("preferRaster"=FALSE), and useRaster=FALSE

Cstack_info() size current direction eval_depth 7969177 32192 1 2

ulimit -s

unlimited

Any suggestion? Too big? Cells= 21661 Genes= 8487 How to reduce the number?

when I run the sample data, I got the heatmap. Cells= 10 Genes= 5036. But the both normal and tumor group are labeled with the same color. I wonder how to change different color for different cluster. infercnv

Thanks Ting

GeorgescuC commented 1 year ago

Hi @tingxie2020 ,

I very recently added an option to control writing the dendrograms to file and set it to False by default which should reduce the occurrences of the error you are getting. To get this new version, you can either update from github, update from Bioconductor's DEVEL branch, or wait for the new Bioconductor main release that should be coming soon.

For the color bars question, the colors are generated automatically based on how many annotations there are, however this is done independently on references and observations, so the same colors can be present on both of them. The legend at the bottom of the figure will indicate which color represents which annotation in both references and observations. That is intended to reduce the overall number of different colors used and so be less likely to have similar looking ones that could be confused for each other. There is no option to control the colors in a way that a different palette is used for references and observations, but you could edit the calls to get_group_color_palette() in R/inferCNV_heatmap.R so that they call 2 different versions/palettes.

Regards, Christophe.