GregorySchwartz/too-many-cells

Cannot read draw-leaf error

vswarup opened this issue · 7 comments

I am using docker container of too-many-cells v0.1.5.0 for my data. The make-tree is working fine and I am happy with the results, but the gene-expression draw-tree is giving "draw-leaf error" for any gene.
For example in the code below I am trying to plot the expression of MBP gene which is expressed in the data and which is in column 1 of the genes.tsv file (only 1 gene-name column). The path of "priors", matrix file as well as labels are all accurate, but I still do not understand the error. I have also run without "--draw-scale-saturation 10" parameter and getting the same error.

Here is the error

Planning leaf colors [=====>..............................................] 10%too-many-cells: Cannot read draw-leaf.
CallStack (from HasCallStack):
error, called at app/Main.hs:329:36 in main:Main

Here is the code that I am running

docker run -v $INPATH:/data gregoryschwartz/too-many-cells:0.1.5.0 make-tree \ --prior /data/snRNAseq_Processed_AD2019/out_cellType \ --matrix-path /data/snRNAseq_Processed_AD2019 \ --labels-file /data/snRNAseq_Processed_AD2019/labels_CellType.csv \ --draw-leaf "DrawItem (DrawContinuous [\"MBP\"])" \ --draw-scale-saturation 10 \ --output /data/snRNAseq_Processed_AD2019/out_gene_expression \ > ${INPATH}/snRNAseq_Processed_AD2019/clusters_cellType_Expr_pruned.csv

Hello! I am having the same problem

 Cannot read draw-leaf. If using DrawContinuous, remember to put features in a list: DrawItem (DrawContinuous [\"FEATURE\"])
CallStack (from HasCallStack):
  error, called at app/Main.hs:363:36 in main:Main

I used as input a csv but have tried several times and still get the same error

My code:

singularity run too-many-cells make-tree \
    --prior immune_out \
    --matrix-path immune.csv \
    --labels-file labels.celltype_immune.csv \
    --smart-cutoff 1 \
    --min-size 1 \
    --draw-leaf "DrawItem (DrawContinuous [(\"CD14\"), (\"P2RY12\")])" \
    --draw-colors "[\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#eaeaea\"]" \
    --draw-scale-saturation 10 \
    --output out_gene_expression \
    > clusters_pruned_immune.csv

Thanks in advance for the help!

You have parentheses around each feature in --draw-leaf. Try removing them and re-run the command.

Still same problem. Changed to --draw-leaf "DrawItem (DrawContinuous [\"CD14\", \"P2RY12\"])"

Could you maybe have Unicode instead of ASCII symbols in your command? Can I see your latest command with the latest error?

I think I only have ASCII symbols. Below my entire command

 singularity run too-many-cells m
>     --prior gbm_immune_out \
>     --matrix-path gbm_immune.csv \
>     --labels-file labels.celltype_immune.csv \
>     --smart-cutoff 1 \
>     --min-size 1 \
>     --draw-leaf "DrawItem (DrawContinuous [\"CD14\", \"P2RY12\"])" \
>     --draw-colors "[\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#eaeaea\"]" \
>     --draw-scale-saturation 10 \
>     --output out_gene_expression \
>     > clusters_pruned_immune.csv
Planning leaf colors [=====>..............................................]  10%too-many-cells: Cannot read draw-leaf. If using DrawContinuous, remember to put features in a list: DrawItem (DrawContinuous [\"FEATURE\"])
CallStack (from HasCallStack):
  error, called at app/Main.hs:363:36 in main:Main

This looks fine... What if you put the string in single quotes with normal unescaped quotation marks for the features?

How did you make the singularity image? What version of the docker?