yezhengSTAT / ADTnorm

ADTnorm normalizes the cell surface protein measurement of CITE-seq data, facilitating across batches and across studies data integration.
https://yezhengstat.github.io/ADTnorm/articles/ADTnorm-tutorial.html
GNU General Public License v3.0
19 stars 4 forks source link

Error in lnsrch_morph #16

Open daymecita opened 1 month ago

daymecita commented 1 month ago

Hello,

I am testing ADTnorm with only one CITE-seq PBMC sample that has 138 ADTs and ~17K cells. I am using default params. See code below. However, I am getting this error: "Error in lnsrch_morph(bvecold, fold, grad, pvec, fngrad_morph, morphList, : Initial slope not negative." Any ideas? Thank you very much in advance!

cell_x_adt_norm = ADTnorm( cell_x_adt = cell_x_adt, cell_x_feature = cells_meta, save_outpath = output_path, study_name = run_name, marker_to_process = NULL, ## setting it to NULL by default will process all available markers in cell_x_adt. bimodal_marker = NULL, ## setting it to NULL will trigger ADTnorm to try different settings to find bimodal peaks for all the markers. brewer_palettes = "Dark2", ## color brewer palettes setting for the density plot save_fig = TRUE )

yezhengSTAT commented 1 month ago

Hello, Thanks for using ADTnorm!

Do I understand correctly that the only one sample has multiple batches that you want to correct for? Otherwise, if there is only one sample and one batch, there does not seem to be any batch effect to remove. :)

If multiple batches are present, may I know if the quality check and filtering have been done on this data? For example, checking if some protein markers mostly only have 0 values or a few very low count values like 1, 2, indicating a potential failed measurement of this epitope. You may consider generating the raw count density plot for each marker at the arcsinh transformation scale (the plot functions in ADTnorm package can help with that) to visually browser through that. If everything looks fine, can you narrow down to the protein marker that triggered this error and provide more information and potentially reproducible data so that we can diagnose further?

P.S. Does the demo data work on your side?

Thanks, Ye

daymecita commented 1 month ago

Hi! Thanks for your quick and detailed response.

Yes, I was testing ADTnorm on only one sample because I thought it could also be used for ADT normalization improving CLR normalization, and discriminating the positive signal vs the negative or background. Can I use the tool for this purpose only or I should have multiple batches to correct for? Maybe that was the cause of the error.

yezhengSTAT commented 1 month ago

Depending on your definition of "better discrimination of positive vs background", ADTnorm may or may not be used for this purpose. You may try align positive and negative peak mode to a fixed location defined by you to make the pos peak more distal from negative peak. However, it will not change which cells falling in the negative peak or positive peak.

Thanks, Ye