I have managed to install IDR (https://github.com/nboley/idr) correctly (idr --version returns 2.0.3), but I can't get it to run on my peak files (*.bed) without crashing.
My peak files are generated using HOMER (findPeaks) and they are converted to proper *.bed format via HOMER/pos2bed.pl. But when I run idr on my *.bed peak files as described in the IDR guide page like below:
idr --samples peak1.bed peak2.bed
it always returns an error inside the function bed_load() : signal = float(data[signal_index]) IndexError: list index out of range
I suspect it's related to peak files (likely columns) not being in the format the program idr.py is expecting, and I couldn't find much about the required "input" file format in the idr help pages.
Can someone provide examples of an idr.py friendly peak file, maybe just a couple of rows with the proper/expected column types and numbers? Thank you in advance.
I am including the guesstimate guidance from ChatGPT, which is not necessarily correct, but maybe a pointer in the right direction - it's suggesting the IDR format has to be consistent with narrowPeak formats having 10 columns, and the actual column that IDR uses in it's analysis is column 7 - which it calls it the "signal value". But what exactly is this measure (the peak strength, the peak height etc.)? Any insight would be appreciated? Also, on where this type of information may have been discussed, seeing how critical it is to running the tool successfully.
The IDR readme on usage describes very clearly what the OUTPUT format is, but is not clear what the INPUT format is (column descriptions) - which is what one needs to successfully form the INPUT and run IDR. My typical HOMER/pos2bed.pl converted row is less than 8 columns which at this point, I am certain is the cause of IDR failures. I am attempting to figure out which column IDR actually uses, and which are not essential for it's considerations (they just get duplicated in the output).
Here are the error messages I get: