HelenaLC / CATALYST

Cytometry dATa anALYsis Tools
66 stars 31 forks source link

[BUG] plotDiffHeatmap error with diffcyt-DA-voom results #90

Closed FerreiraAM closed 4 years ago

FerreiraAM commented 4 years ago

Hello,

I have been trying to use the plotdiffHeatmap() function with the results of the diffcyt-DA-voom method. However I am getting the following error: Error in .get_dt_type(y) : y does not seem to be a valid differential test result. Should be a 'SummarizedExperiment' as returned by 'diffcyt::testDA_*()' or 'diffcyt::testDS_*()'.

After checking the code, it seems that there is a typo when trying to get the type of the differential test with the .get_dt_type() function. From the results of the test, I get the following names for the rowData(y): [1] "cluster_id" "logFC" "AveExpr" "t" "p_val" "p_adj" "B" However in the res_nms variable of the .get_dt_type() function, we are looking for: [1] "cluster_id" "log_FC" "AveExpr" "t" "p_val" "p_adj" "B"

The error seems to come from the fact that of the output of the results contains logFC instead of log_FC in the .get_dt_type variable.

Thank you so much for your help, Best.

HelenaLC commented 4 years ago

Thanks for catching this; fixed now. Should be in Bioc release/devel once the package builds successfully, but surely with the release of Bioc 3.11 in April! Temporary fix until then: Rename the differential testing results with something like

da_voom <- diffcyt(...)
col_idx <- grep("logFC", names(rowData(da_voom$res)))
names(rowData(da_voom$res))[col_idx] <- "log_FC"
FerreiraAM commented 4 years ago

Thank you for your quick answer! Best.