snystrom / memes

An R interface to the MEME Suite
https://snystrom.github.io/memes/
Other
43 stars 5 forks source link

issues with streme and tomtom under WSL2/Rstudio server #107

Open RaphMet opened 1 year ago

RaphMet commented 1 year ago

Hi, I have installed successfully memes under my Rstudio server that runs under a WSL2 interfaced Ubuntu, and processed many sequences by ame and FIMO without any problem. I however encoutered several issues when using streme and tomtom:

For streme:

streme_test1 <- runStreme(test_seq2, control = "shuffle", outdir = "/mnt/d/test-streme",alph = "dna", objfun = "de")

Warning: streme_xml_to_html exited abnormally and may have failed to create HTML output.

I was able to reimport the xml file into R using the importStremeXML function, so the problem can be overcome somehow (although not 100% efficient)

In the case of tomtom, I had the same warning, but with additional ones:

Warning: tomtom_xml_to_html exited abnormally and may have failed to create HTML output. Can't locate XML/Parser/Expat.pm in @INC (you may need to install the XML::Parser::Expat module) (@INC contains: /home/wahlraph/miniconda3/envs/myenv1/lib/perl5/5.32/site_perl /home/wahlraph/miniconda3/envs/myenv1/lib/perl5/site_perl /home/wahlraph/miniconda3/envs/myenv1/lib/perl5/5.32/vendor_perl /home/wahlraph/miniconda3/envs/myenv1/lib/perl5/vendor_perl /home/wahlraph/miniconda3/envs/myenv1/lib/perl5/5.32/core_perl /home/wahlraph/miniconda3/envs/myenv1/lib/perl5/core_perl .) at /home/wahlraph/meme/libexec/meme-5.5.2/tomtom_xml_to_html line 21. BEGIN failed--compilation aborted at /home/wahlraph/meme/libexec/meme-5.5.2/tomtom_xml_to_html line 21.

The problem that I have here is that the importTomTomXML function is unable to process the xml file that is created: Error in purrr::map(): ℹ In index: 1. Caused by error in tbl_at_vars(): ! Can't subset columns that don't exist. ✖ Column evalue doesn't exist.

I tried several things as duplicating the ev values to generate a new evalue column, but without any success... I checked many times but the Xml parser is installed in my Ubuntu environment, as well as all the libxml-parser-perl library. So I don't know what is going wrong here. Has anyone encountered these problems?

Hope to find some solutions, Thanks a lot!

check_meme_install() checking main install ✔ /home/wahlraph/meme/bin checking util installs ✔ /home/wahlraph/meme/bin/dreme ✔ /home/wahlraph/meme/bin/ame ✔ /home/wahlraph/meme/bin/fimo ✔ /home/wahlraph/meme/bin/tomtom ✔ /home/wahlraph/meme/bin/meme ✔ /home/wahlraph/meme/bin/streme

snystrom commented 1 year ago

Thanks for the detailed issue report!

It looks like you installed the meme suite using conda. Unfortunately, the conda version is not officially supported by the meme suite developers, and it is missing several core dependencies, including multiple XML libraries that cause these odd errors. (see: https://groups.google.com/g/meme-suite/c/n-RJzqZNPNQ/m/weRPM_fjAAAJ?pli=1)

The only fix I know of is to install the meme suite directly from memesuite.org instead of installing using conda.

Something like this should work

version=5.5.2
wget http://meme-suite.org/meme-software/$version/meme-$version.tar.gz
tar zxf meme-$version.tar.gz
cd meme-$version
./configure --prefix=$HOME/meme --with-url=http://meme-suite.org/ --enable-build-libxml2 --enable-build-libxslt
make
make test
make install

And if not, you may want to check the section for dependency installs on the meme suite website as well: https://meme-suite.org/meme/doc/install.html#prerequisite (though I haven't needed to do this on most linux systems)

Sorry for the trouble. You may try raising this issue with the meme suite conda maintainer.

RaphMet commented 1 year ago

Hi, Thanks a lot for the fast answer! I did not install meme through conda, but directly from the memesuite.org site. But indeed all the other packages I'm using (Python, R, etc) were installed under a conda environment. I tried yesterday to reinstall the prerequisites from the list at memesuite.org under my conda environment, but that did not solve the problems. I was unable to get the extensions in libexslt however, so that might be one possible reason for meme not working on my machine.

I will try to find solutions and contact the conda maintainer of meme to see if there is a solution there. Otherwise, I will work with the tsv files generates by memes, a longer path but it's working..

RaphMet commented 1 year ago

Hi Again, problem solved, I just did not see yesteraday that 2 Perl dependencies were still missing and in particular XML::Simple.. getting it by sudo cpan XML::Simple So indeed if anyone is installing meme as I did, checking the perl dependencies (perl dependencies.pl) is crucial because all the perl dependencies are not included in the Perl provided through the WSL2 Ubuntu .... Thanks again for your help !

snystrom commented 1 year ago

Oh awesome! I'll add this to the FAQ section of the readme & website before closing this issue. Thanks a bunch for following through and posting your fix!