EDIT: I called victory too soon... It took me two full days to figure out why this package would not run on our data. It was the first time I've ever had to really use the debugging functions in RStudio (thanks, Hadley!). After extensive tinkering and innumerous tracebacks, I found that the problem was one the input files generated out of of
macs_output2csv.R had a duplicated column. This fixed the package on my end, but I have a lab mate that is trying to use it and currently running into a different issue.
Bottom line: make absolutely sure that your input matches exactly the example files down to the minimum details. Pay specific attention to the .meme files that you want use as input. They must have all the fields in the example files (i.e.
E=) down to the space between the equal sign and the value (this will change depending on your MEME version, so be aware).
I managed to get it working in here (v0.9.6). You need to run the steps in
bagfoot_prep_example.R using your own BAM files and then use the output in
bagfoot_run_example.R, changing the necessary file paths, of course.
The main issue I found is that parallel processing in the
run() function used in the run script is broken for unknown reasons, so you have to specify
mc.cores=1. Other than that, the necessary scripts seem to working as expected, without having to dig too much into the code.
On a separate note, if you only want to do TF binding predictions on a single sample, you might want to use some other software. My understanding is that BaGFoot is made to provide a framework for comparing footprints between two (or more?) datasets. Gordon Hager's lab already have a footprinting method called DNase2TF, which was written by the same guy (Songjoon Baek). Part of my thesis work is comparing TF binding prediction methods, and so far CENTIPEDE is very solid compared to what's out there - that would be my recommendation. We used it for a couple of recent papers (see Varshney et al, 2017 PNAS, Tomonori & Albanus et al 2018 Sci Reports).
Hope this helps.