MASHUOA / HiTMaP

An R package of High-resolution Informatics Toolbox for Maldi-imaging Proteomics
GNU General Public License v3.0
15 stars 12 forks source link

Error during spectra preprocessing #9

Closed ThomasLesser05 closed 1 year ago

ThomasLesser05 commented 1 year ago

Hi, I am trying to use your workflow on my data using the Docker image mashuoa/hitmap:natcomms but it gets stuck during spectra preprocessing, as I work with data that are already preprocessed (I need to apply only peak picking -- S/N=2).

The code i am using:

imaging_identification(parallel = 2, Thread = 2, datafile=datafile,Digestion_site="trypsin",threshold = 0, missedCleavages = 0:3, Fastadatabase=fastafile, output_candidatelist=T, preprocess=list(force_preprocess=T, use_preprocessRDS=TRUE, smoothSignal=list(method="Disable"), reduceBaseline=list(method="Disable"), peakPick=list(SNR=1.2), peakAlign=list(method="Disable"), normalize=list(method="Disable")), spectra_segments_per_file=5,use_previous_candidates=F,ppm=30,FDR_cutoff = 0.1,IMS_analysis=T, Rotate_IMG=NULL, mzrange = c(700,3200), pixel_size_um = 20, plot_cluster_image_grid=T,remove_score_outlier=F, attach_summary_cluster = F,remove_cluster_from_grid=F,plot_cluster_image_overwrite=T)

The error I get:

Error in if (preprocess$peakPick$method == "Disable") { : argument is of length zero

Is there any option how to apply the pick picking -- Peakpick(SNR=2)? Thank you for your help!

Thomas

MASHUOA commented 1 year ago

Hello Thomas, I see. I've added the options of peakpicking now: you could specify the method name and SNR/window now, Please note that any missing argument will be set as default value. ` else if (preprocess$peakPick$method %in% c("adaptive","mad","simple")){

        if (is.null(preprocess$peakPick$SNR)) preprocess$peakPick$SNR=6

        if (is.null(preprocess$peakPick$window)) preprocess$peakPick$window=5

        imdata_ed<- imdata_ed %>% peakPick(method=preprocess$peakPick$method, SNR=preprocess$peakPick$SNR, window=preprocess$peakPick$window) %>% process()

`

ThomasLesser05 commented 1 year ago

Thank you for your help, I will try and check! Other thing I wanted to ask, if I preprocess all data in scils software (peak picking including) - is it possible to set peakpick as Disabled?

Best wishes, Thomas

MASHUOA commented 1 year ago

Hi, Thomas, Sure you can. Please use a ppm tolerance that fits your peak width setting in the peak-picking function.

ThomasLesser05 commented 1 year ago

Thank you for your help. I did not clearly understand how do you mean that - this is my code:

imaging_identification(parallel = 2, Thread = 2, datafile=datafile,Digestion_site="trypsin",threshold = 0, missedCleavages = 0:3, Fastadatabase=fastafile, output_candidatelist=T, preprocess=list(force_preprocess=T, use_preprocessRDS=TRUE, smoothSignal=list(method="Disable"), reduceBaseline=list(method="Disable"), peakPick=list(method="Disable"), peakAlign=list(tolerance=5,level="global", units="ppm"), normalize=list(method="tic")), spectra_segments_per_file=5,use_previous_candidates=F,ppm=30,FDR_cutoff = 0.01,IMS_analysis=T, Rotate_IMG=NULL, plot_cluster_image_grid=T,remove_score_outlier=F, attach_summary_cluster = F,remove_cluster_from_grid=F,plot_cluster_image_overwrite=T)

Tolerance I use for peak width is 0.1 Da. Could you please help me how to add this infomation into the code?

Thank you, Thomas

MASHUOA commented 1 year ago

Hi, Thomas, No worries. you could consider using the preprocess$mz_bin_list to mount the reduced data properly. Here's an updated instruction: preprocess$mz_bin_list

Best, George