This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Homer error "findMotifsGenome.pl" : Can't locate HomerConfig.pm in @INC

Hey everyone. I stuck an error when running homer script findMotifsGenome.pl .

The error content is like this.

Can't locate HomerConfig.pm in @INC (you may need to install the HomerConfig module)

BEGIN failed--compilation aborted at /path-to-homer-bin/findMotifsGenome.pl line 22.

From this error, I thought I failed to install homer properly, but I installed homer like this.

wget configureHomer.pl & perl configureHomer.pl -install & perl configureHomer.pl -install mm10

If anyone knows the solution, please let me know ! Thanks.

chip-seq next-gen sequence software error

Just a guess but I would remove these & since this sends all processes to background while starting them simultaneously. Install the basic Homer first, wait until finished properly, then install additional stuff like annotations for your organism. Do things sequentially but properly. If you want this sequentially this would be &&, not &. Still do it manually, typing in one command after the other and check the log messages for each step.

1 answer

The way you installed the program was most likely not system-wide. Just like shell needs the $PATH variable to know when to look for executable programs, perl needs to be told via $PERL5LIB variable where to look for modules. How to set this variable is explained here.

You can try to find HomerConfig.pm by typing locate HomerConfig.pm. If that actually gives you a directory where this module resides, that directory needs to be added to the $PERL5LIB variable. For most local installations, that would be either $HOME/perl/lib/perl5 or $HOME/perl/share/perl5. It is not a bad idea to add those two locations to $PERL5LIB no matter what.

PS If you have sudo privileges, you could reinstall the whole thing as root user and the modules will probably placed into a directory that is already included in $PERL5LIB.

After fighting the error, I finally found the cause.

In findMotifsGenome.pl script, there are 2 lines in top of the file. use lib "/homer-directory/.//bin"; my $homeDir = "/homer-directory/./"; However, this homer-directory is set as compiled directory. After compiled homer, I move program directory, so is has changed.

Thank you for your comment !

Would you mind giving a detailed step? I am a newbie and use conda. Thanks in advance.

I used configureHomer.pl to install homer. The top lines of findMotifsGenome.pl are defined when you install it. For instance, I typed perl configureHomer.pl -install homer under my home directory ${HOME}, but then I moved all the files&dirs to ${HOME}/software/homer, which caused the same "Can't locate HomerConfig.pm" problem. So I just rm -r ${HOME}/software/homer and this time typed the install command under ${HOME}/software/homer, and it worked. Btw if you know perl well, I guess you could modify these lines in findMotifsGenome.pl to tackle this problem.

Log in to answer this question.