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

"Error in mcexit(0L) : ignoring SIGPIPE signal" in dma/DSS step #7

Closed
PengNi opened this issue Dec 25, 2021 · 9 comments
Closed

"Error in mcexit(0L) : ignoring SIGPIPE signal" in dma/DSS step #7

PengNi opened this issue Dec 25, 2021 · 9 comments

Comments

@PengNi
Copy link

PengNi commented Dec 25, 2021

Dear Vahid,

Hope you are doing well.

I tried the nanomethphase pipeline on ONT reads of a human sample, all steps seems work well, however, when I ran nanomethphase dma , I got the log which said:

Smoothing ...
Estimating dispersion for each CpG site, this will take a while ...
  |                                                                      |   0%Error in mcexit(0L) : ignoring SIGPIPE signal
Calls: DMLtest ... bploop.lapply -> .send_to -> .send_to -> <Anonymous> -> mcexit
  |==                                                                    |   3%Error in mcexit(0L) : ignoring SIGPIPE signal
Calls: DMLtest ... bploop.lapply -> .send_to -> .send_to -> <Anonymous> -> mcexit
  |====                                                                  |   5%Error in mcexit(0L) : ignoring SIGPIPE signal
...
...
Calls: DMLtest ... bploop.lapply -> .send_to -> .send_to -> <Anonymous> -> mcexit
  |================================================================      |  92%Error in mcexit(0L) : ignoring SIGPIPE signal
Calls: DMLtest ... bploop.lapply -> .send_to -> .send_to -> <Anonymous> -> mcexit
Error in mcexit(0L) : ignoring SIGPIPE signal
Calls: DMLtest ... bploop.lapply -> .send_to -> .send_to -> <Anonymous> -> mcexit
Error in mcexit(0L) : ignoring SIGPIPE signal
Calls: DMLtest ... bploop.lapply -> .send_to -> .send_to -> <Anonymous> -> mcexit
  |======================================================================| 100%

Computing test statistics ...

Do you know what causes this "Error in mcexit(0L) : ignoring SIGPIPE signal"? Does it affect the results?

Best,
Peng

@vahidAK
Copy link
Owner

vahidAK commented Jan 2, 2022

Hi @PengNi ,
I have not faced such an error before. The DSS R package that we are using for DMA uses all the cores on your machine by default (I am working on that to be able to define the number of threads in the future). Maybe it is sth related to that. Maybe try with a smaller input size, for example, do DMA on just chr22, and see if the same happens?

I am not sure if this affects your final results, but I think if the message is more like a warning and does not crash the job the final results should not be affected.

Thanks,
Vahid

@PengNi
Copy link
Author

PengNi commented Jan 4, 2022

@vahidAK , thanks very much for your reply.

I used 100000 CpG sites on ch1 of HG002, and tried different versions of r-base and DSS. I am not sure the "Error in mcexit(0L)" is related versions of r-base or not, however in my test, this message only exists in R 3.6.0, not in R 3.6.1/4.1.2.

Also, in my test, this message doesn't affect the results -- the results are the same whether this message appears (R 3.6.0) or not (R 3.6.1/4.1.2).

However, I noticed that the results of latest version of DSS 2.42.0 are quite different with the previous versions (2.34.0, 2.36.0, 2.40.0 ) -- the results of the previous versions are the same.
In my test, I used the default params of nanomethphase dma module, the results of DMLtest function of DSS 2.42.0 are quite different with the previous versions, leading to different DML and DMR results. I would really appreaciate it if you happen to know the reason.

# 2.34.0 - 2.40.0
$ wc -l test.nanomethpahse.dmr_*
    2181 test.nanomethpahse.dmr_callDML.txt
      37 test.nanomethpahse.dmr_callDMR.txt
  101350 test.nanomethpahse.dmr_DMLtest.txt
  103978 test.nanomethpahse.dmr_ReadyForDSS_case1.tsv
  103353 test.nanomethpahse.dmr_ReadyForDSS_control1.tsv

# 2.42.0
$ wc -l test.nanomethpahse.dmr_*
   11739 test.nanomethpahse.dmr_callDML.txt
     238 test.nanomethpahse.dmr_callDMR.txt
  101350 test.nanomethpahse.dmr_DMLtest.txt
  103978 test.nanomethpahse.dmr_ReadyForDSS_case1.tsv
  103353 test.nanomethpahse.dmr_ReadyForDSS_control1.tsv

Thank you very much!

Best,
Peng

@vahidAK
Copy link
Owner

vahidAK commented Jan 5, 2022

Hi @PengNi ,
Did you do the differential methylation inside R using DSS or you did it with dma module?

thanks,
Vahid

@PengNi
Copy link
Author

PengNi commented Jan 6, 2022

@vahidAK , I tried dma module many times with different DSS versions, but with the same input params.

@vahidAK
Copy link
Owner

vahidAK commented Jan 6, 2022

Thanks, @PengNi .
Not sure why it happens.
Because you used a few CpGs I assume the outputs are not large. So I was wondering if it is possible to gzip all the outputs from your experiments and email ([email protected]) me?

Thanks,
Vahid

@vahidAK
Copy link
Owner

vahidAK commented Jan 6, 2022

Hi @PengNi ,

Seems that the issue is at the DMLtest step. I saw an open issue on the DSS GitHub repo here that someone already reported the same issue. It seems the issue is when you set smoothing as true which is the default in dma module.

For now, could you try with -sf FALSE and see if the results are the same?

Thanks,
Vahid

@PengNi
Copy link
Author

PengNi commented Jan 6, 2022

Hi @vahidAK , thank you very much. With -smf=FALSE, I got the same results from DSS-2.40 and DSS-2.42.

Post all my tests and results here:

cmds:

nanomethphase dma -c 1,2,4,5,7 -ca hp1.methyfreq.tsv -co hp2.methyfreq.tsv -o ./ -op test.nanomethpahse_dss2.40.dmr \
  --overwrite > test.nanomethpahse_dss2.40.logdmr.log 2>&1 &
nanomethphase dma -c 1,2,4,5,7 -ca hp1.methyfreq.tsv -co hp2.methyfreq.tsv -o ./ -op test.nanomethpahse_dss2.42.dmr \
  --overwrite > test.nanomethpahse_dss2.42.logdmr.log 2>&1 &

nanomethphase dma -c 1,2,4,5,7 -ca hp1.methyfreq.tsv -co hp2.methyfreq.tsv -o ./ -op test.nanomethpahse_dss2.40_sfF.dmr \
  -smf FALSE -ed TRUE --overwrite > test.nanomethpahse_dss2.40_sfF.logdmr.log 2>&1
nanomethphase dma -c 1,2,4,5,7 -ca hp1.methyfreq.tsv -co hp2.methyfreq.tsv -o ./ -op test.nanomethpahse_dss2.42_sfF.dmr \
  -smf FALSE -ed TRUE --overwrite > test.nanomethpahse_dss2.42_sfF.logdmr.log 2>&1

outputs:

$ wc -l test.nanomethpahse_dss2.4[02].dmr*
    2181 test.nanomethpahse_dss2.40.dmr_callDML.txt
      37 test.nanomethpahse_dss2.40.dmr_callDMR.txt
  101350 test.nanomethpahse_dss2.40.dmr_DMLtest.txt
  103978 test.nanomethpahse_dss2.40.dmr_ReadyForDSS_case1.tsv
  103353 test.nanomethpahse_dss2.40.dmr_ReadyForDSS_control1.tsv
   11739 test.nanomethpahse_dss2.42.dmr_callDML.txt
     238 test.nanomethpahse_dss2.42.dmr_callDMR.txt
  101350 test.nanomethpahse_dss2.42.dmr_DMLtest.txt
  103978 test.nanomethpahse_dss2.42.dmr_ReadyForDSS_case1.tsv
  103353 test.nanomethpahse_dss2.42.dmr_ReadyForDSS_control1.tsv

$ wc -l test.nanomethpahse_dss2.4[02]_sfF.dmr*
    6024 test.nanomethpahse_dss2.40_sfF.dmr_callDML.txt
      19 test.nanomethpahse_dss2.40_sfF.dmr_callDMR.txt
  101312 test.nanomethpahse_dss2.40_sfF.dmr_DMLtest.txt
  103978 test.nanomethpahse_dss2.40_sfF.dmr_ReadyForDSS_case1.tsv
  103353 test.nanomethpahse_dss2.40_sfF.dmr_ReadyForDSS_control1.tsv
    6024 test.nanomethpahse_dss2.42_sfF.dmr_callDML.txt
      19 test.nanomethpahse_dss2.42_sfF.dmr_callDMR.txt
  101312 test.nanomethpahse_dss2.42_sfF.dmr_DMLtest.txt
  103978 test.nanomethpahse_dss2.42_sfF.dmr_ReadyForDSS_case1.tsv
  103353 test.nanomethpahse_dss2.42_sfF.dmr_ReadyForDSS_control1.tsv

So do you have any suggestion on how to choose smoothing/equal_disp on this kind of data (no biological replicates)?

Best,
Peng

@vahidAK
Copy link
Owner

vahidAK commented Jan 6, 2022

Actually, no.
It is recommended to choose the smoothing for data without replicates. I think for now it is better to use an older version of DSS.
I will keep eye on DSS and update here as soon as I figure out what causes the issue.

Thanks,
Vahid

@PengNi
Copy link
Author

PengNi commented Jan 6, 2022

Thanks very much for your help, @vahidAK.

FWIW, regarding the issue in DSS, I just checked more versions of DSS, found that when using smoothing, results of DSS-2.28.0, 2.30.0, 2.42.0 are the same, while the results of DSS-2.34.0, 2.36.0, 2.38.0, 2.40.0 are the same. For now I will just try both 2.40.0 and 2.42.0 for analysis, and post the issue in DSS repo too.

Best,
Peng

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