Macs Error: Missing Wig File
Entering edit mode
12.7 years ago
Lisanne ▴ 160

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 • 4.2k views
Entering edit mode

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?

Entering edit mode

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

Entering edit mode
12.7 years ago
Chris Penkett ▴ 490

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";


Entering edit mode
12.5 years ago
Ak ▴ 20

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.


Login before adding your answer.

Traffic: 2181 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6