Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PMDDA Error in unserialize(node$con) : error reading from connection #3

Open
wushaowen1992 opened this issue Jul 18, 2022 · 7 comments

Comments

@wushaowen1992
Copy link

Hi yufree,
I am trying to use this good tool xcmsrocker that you developed and try to repeat your PMDDA workflow, however, when I run the demo data, and reach to the step:

IPO

resultRetcorGroup <-
optimizeRetGroup(xset = optimizedXcmsSetObject,
params = retcorGroupParameters,
plot = F,
subdir = NULL)

I always got an error says "Error in unserialize(node$con) : error reading from connection".
From the internet, it seems to be a problem with parallel calculation, I wonder if you know how to deal with this issue?
Thanks very much for your help.

@yufree
Copy link
Owner

yufree commented Jul 18, 2022

Yes. This error is parallel computation related. I wonder where you run the xcmsrokcer? HPC or local computer?

@wushaowen1992
Copy link
Author

I am runing on a local computer, with 16 cores of CPU and 32 G of memory.

@wushaowen1992
Copy link
Author

How can I reduce the number of parallel calculation in order to keep it going? Although this will prolong the running time.
Thanks.

@yufree
Copy link
Owner

yufree commented Jul 18, 2022

You can add the following code before the error codes to skip the parallel computation:

BiocParallel::register(BiocParallel::SerialParam(), default = TRUE)

Another option is to use a local version of PMDDA. xcmsrocker is mainly designed for hpc and user need to know how to mapping local path through docker to use their own data. In your case, a local version might be much easier. You could clone this repo: https://github.com/yufree/pmdda

Click 'PMDDA.Rproj' in RStudio to open the project. Then you will need renv package to reproduce the software environment needed for PMDDA:

install.packages('renv')
renv::restore()

@wushaowen1992
Copy link
Author

Thanks for this detailed information. I will try to follow the local version.

@wushaowen1992
Copy link
Author

Hi,
I tried to work with both xcmsrocker and local PMDDA project, both have some issues.
I tried to use xcmsrocker, with BiocParallel::register(BiocParallel::SerialParam(), default = FALSE), IPO could work.
but when I reach to the step, # back up peak list as csv file and xcmsSet object
mzrt <- enviGCMS::getmzrt(srm, name = 'srm')
I see the srmxset.rds, but no csv file, and an error says:
Note: you might want to set/adjust the 'sampclass' of the returned xcmSet object before proceeding with the analysis.
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘featureValues’ for signature ‘"xcmsSet"’
How could I deal with this issue?
Thank you.

@yufree
Copy link
Owner

yufree commented Jul 25, 2022

It's wired. Anyway the csv file could be generated via the srmxset.rds. You can try the following code:

mzrt<-readRDS('srmxset.rds')
enviGCMS::getmzrt(mzrt,'srm')

Then you should see srmmzrt.csv.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants