This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Macs Error: Missing Wig File

Dear All

I have a question about using MACS and implement the PeakSplitter packages. I want to run MACS in the command line with the following code:

lisanne@linux-5cng:~/Downloads/MACS-1.4.1> macs14 -t /home/lisanne/Downloads/Chip-seq_18082011/ES-OBX_chip_1_CGATGT_1494_R106L8_AA-uq37.bam -c /home/lisanne/Downloads/Chip-seq_18082011/ES-_IgG_Chip_2_TGACCA_1494_R106L8_AA-uq37.bam -n standard_run_24-10-2 -g mm --wig --call-subpeaks

The error calls:

INFO  @ Mon, 24 Oct 2011 14:36:33: #5 Done! Check the output files! 
INFO  @ Mon, 24 Oct 2011 14:36:33: #6 Try to invoke PeakSplitter... 
INFO  @ Mon, 24 Oct 2011 14:36:33: #6 Please check       standard_run_24-10-2_peaks.subpeaks.bed file for PeakSplitter output! 
 error occurred: wig file for choromosome chr1 is missing
 Make sure that the file name contains the string "chr1" before the chromosome number

Can anybody help me with this error? I am running MACS in Suse Linux Many Thanks!

command-line error chip-seq

Perhaps it's expecting semi-canonical chromosome names? What is the structure of the chromosome names in your bam files? Are they of the form chr1, chr2, etc?

@Seidel The structure of the chromosome names in my BAM files contains only the chromosome number. Is that the problem?

2 answers

After running a similar command, I didn't get this problem with BAM files that do not have chr for chromosome names.

The one thing that may help to track the error is that the error occurs in the PeakSplitter package (as choromosome is misspelt!):

[cjp64@covent-garden:~/src/PeakSplitter_Cpp/PeakSplitter_Linux64/PeakSplitter_v1/SplitPeaks]10003% grep chorom *.{cpp,h}
Split.cpp:    string err = "wig file for choromosome " + chrString + " is missing\nMake sure that the file name contains the string \"" + chrString + "\" before the chromosome number\n";

Chris

Ran into the same problem. Found two solutions to resolve this problem. The reason this error pops up is because PeakSplitter appends "chr" to the chromosome name for some reason.

1) The quick solution is to append 'chr' to all your wig files. e.g: test_treat_afterfiting_1.wig.gz --> test_treat_afterfiting_chr1.wig.gz

2) The other method involves modifying some of the PeakSplitter files and recompiling it. In both PeakParser.cpp and Position.cpp remove any instance of "chr"+ in the code.

chrom = "chr" + chrom.substr(3,chrom.length()); //original

chrom = chrom.substr(3,chrom.length()); //modified

In total only four lines of code needed to be changed.

This hack worked however unsure whether this might cause problems in other instances.

Log in to answer this question.