Open EricR86 opened 3 years ago
Really strange error. Could you try not to use --name peak_output/chip_TA
in macs2 callpeak --treatment chip_TA_H3K4me1.tagAlign.gz --control chip_TA_control.tagAlign.gz --format BED --name peak_output/chip_TA --gsize 2.8e9 --pvalue 1e-2 --nomodel --extsize 250 --keep-dup all --bdg --SPMR --shift 0
to specify the output directory? The formal way is to use --outdir
option as --outdir peak_output --name chip_TA
? If the error is still there, could you share me the data files so that I can try to debug? If you can minimize the data file to reproduce the error, it would be even better. Thanks!
try not to use
--name peak_output/chip_TA
Yes if you don't use the peak_output/
portion in the name option, the segfault does not happen. The segfault also doesn't happen if the peak_output
directory already exists. So while maybe this is not the necessarily intended way of using the option, it's still a case where a segfault seems guaranteed to happen.
In terms of datasets I don't think it matters as long as the directory specified from the --name
option is missing and the --bdg
option is there. I used public datasets from ENCODE (the DOHH2 cell line, unfiltered aligned reads).
Describe the bug MACS2 segfaults. Output looks like the following:
To Reproduce Run
callpeak
with the--name
option specifying a directory that does not yet exist. e.g.macs2 callpeak --treatment chip_TA_H3K4me1.tagAlign.gz --control chip_TA_control.tagAlign.gz --format BED --name peak_output/chip_TA --gsize 2.8e9 --pvalue 1e-2 --nomodel --extsize 250 --keep-dup all --bdg --SPMR --shift 0
where the subfolderpeak_output
does not exist.Expected behavior No segfault
Screenshots Here's a core dump where it shows calling into writing out a bedGraph, likely to a non-existant path.
System (please complete the following information):
Additional context This problem does not exist on non-bed output because presumably there is no immediate call into the c-extension and python catches the missing path instead (where an Exception is raised).