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!
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.
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?