jhkorhonen / MOODS

MOODS: Motif Occurrence Detection Suite
Other
95 stars 12 forks source link

Problem with MOODS and Centos 6.5 #19

Closed mdurante1 closed 6 years ago

mdurante1 commented 6 years ago

Hi,

I am trying to run the "rgt-motifanalysis matching" command and I keep getting an Illegal instruction error followed by a core dump. I posted on the Regulatory Genomics GitHub (https://github.com/CostaLab/reg-gen) and @fabio-t suggested I work with you to get any issues resolved with MOODS compatibility with Centos 6.5. I am able to run all other tools in the reg-gen toolbox that don't depend on MOODS to work. I am running python 2.7.14 and using a miniconda environment. I installed RGT using pip and the MOODS package using conda. Do you have any guidance on how to resolve this?

Thanks, Michael

[mdurante@pegasus RGT_MotifAnalysis_FullSiteTest]$ rgt-motifanalysis matching input/regions_K562.bed input/background.bed
>> genome: hg19
>> motif repositories: [u'hocomoco']
Illegal instruction (core dumped)

UPDATE: I tried to run one of the MOODS tools and I am getting the same error.

[mdurante@pegasus scripts]$ python ex-high-order-motif.py -h
Illegal instruction (core dumped)
jhkorhonen commented 6 years ago

I can't really say anything outright. Can you do a clean install of MOODS and attach the install log?

I would guess it has something to do with the fact that MOODS is using C++ extensions, and for whatever reason they are not compiling properly on your setup. But it's hard to say without additional information.

mdurante1 commented 6 years ago

Hi @jhkorhonen,

The issue was resolved by @fabio-t, please see below:

@mdurante1 incidentally, you could also try the following on CentOS: remove MOODS from conda, and install it via pip:

pip install https://github.com/fabioticconi/MOODS/tarball/pypi-ready

jenzopr commented 6 years ago

Hi @mdurante1 I don't know if its still relevant for you but in case you're running a virtual machine make sure the processor type MOODS is configured for matches the processor type that is used to run the program. In our case, the hypervisor exposed the processor as Pentium 4 although it is a Xeon E5. This misled configuration and results in Illegal instructions on the actual processors.