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.

enter image description here

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:


  • 1
    $\begingroup$ Please show the first few lines of your input files, and (if possible) the full command you've run, and the entirety of the error message. $\endgroup$
    – gringer
    Jul 29, 2023 at 23:16

1 Answer 1


As mentioned in the IDR readme on usage, there are examples in the IDR github repository here. Here's one of them:

chr16   31085416    31086009    .   0   .   362.546677850757    -1  4.12368834166759    250
chr12   109490129   109490582   .   0   .   360.329496957805    -1  4.12368834166759    215
chr13   41345146    41345561    .   0   .   358.624215585062    -1  4.12368834166759    207
chr19   50083722    50084001    .   0   .   266.603941224671    -1  4.5777559727315 186

From the looks of it, it seems that the output is a line-filtered version of the input format (i.e. output and input formats are identical).

I have no idea how IDR works (never used it before), but the error you've added to your post suggests there's a range mismatch. My guess based on that error message is that the two input files don't have overlapping specified regions.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.