Has anybody managed to install and run GroopM lately?
3
1
Entering edit mode
7 weeks ago
JohnVollmers ▴ 20

I have been trying to get GroopM to run on our local servers for quite some time now. GroopM has been recommended n some fairly recent reviews, but i simply can't figure out how they got it ro run...

Installation with pip consistently fails with error messages mentioning someting about the "oldest supported numpy version" not being available

installation with conda seems to work at first, BUT is non-functiontal. Everytime you try to run that GroopM installation on actual data fails with an error about decarpicated code being used.

compiling from source does not work, despite all dependencies being installed, as i get tons of "syntax errors" while running setup.py...

Can anybody give me any tips please?

metagenomics groopM binning • 806 views
0
Entering edit mode

update: the GroopM source code i could find is using outdated pytables syntax, and i could not find a way to install the old pytables version together with the other dependencies, because they are just not compatible in any package-repository i am using. However manually changing the pytables syntax in the source code still dows not work. Although at least ´GroopM parse finally seems to work, I now i get a numpy error:

IndexError: only integers, slices (:), ellipsis (...), numpy.newaxis (None) and integer or boolean arrays are valid indices

I am trying to use the reopsitories linkes at the groopM homepage. Particularly https://github.com/minillinim/GroopM

Is this even the correct repository? current publications mentioning groopM keep mentioning "groopM2", but that is not mentioned on any of the groopM repositories i could find...

I did find a mentiong of tanother repository : https://github.com/timbalam/GroopM but that is just a fork of the original groopM with the same pytables syntax problems...

I am absolutely stumped. How do i get the current GroopM2 version? How do i get it to run?

2
Entering edit mode
25 days ago
JohnVollmers ▴ 20

so I finally managed to get it installed by adapting v.berriosfarias procedure to:

a.) first create env with most dependencies:

conda create -n groomp2 python=2.7 matplotlib scipy bamm cython pillow pytables tempdir diamond hmmer pplacer mfqe orfm


b.) obtain pip3 and use it to install singlem globally (while currently in the base environment OR any python3 environment)

sudo apt update
sudo apt install python3-pip
pip3 install singlem


(singlem will automatically be in PATH for all environments, since it was installed globally)

c.) switch to groopm2 conda environment, download groopm2 and install

conda activate groopm2
git clone https://github.com/timbalam/GroopM.git
cd GroopM
python setup.py install


Thanks so much for your help!

2
Entering edit mode
7 weeks ago
zorbax ▴ 460

this is the v2, try to use the py3 branch

0
Entering edit mode

wow, did not see that. i will try, thanks

0
Entering edit mode

hmm, the most recent commit on the dev_py3 branch also does not work. At first it seems to install with python setup.py install. But then just rnning the help function gives me this error : pkg_resources.ResolutionError: Script 'scripts/groopm2' not found in metadata at None. Do you perhaps have a specific commit that works?

2
Entering edit mode
7 weeks ago

Hello! Groopm2 is one of the best programs for binning purposes (look at this benchmark https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-020-03667-3) I installed groopm2 during 2021 with the help of the developer. this is what I did using Conda (https://docs.conda.io/en/latest/)

first create an environment with python 2.7

conda create -n groopm2 python=2.7


then install the following required packages: numpy, scipy ,bamm, cython, pillow, pytables and singlem (there is a trick for this last one)

conda activate groopm2

conda install numpy scipy bamm cython pillow pytables


once the packages are installed you have to create another conda environment for installing singlem (it requires python 3)

conda create -n singlem

conda activate singlem


pip3 install singlem

(installing with pip )

now we have to apply a "hack" to let conda locate the singlem program

which singlem

(copy the route of singlem/bin and add it to the $PATH variable) PATH=/path-to-envs/singlem/bin:$PATH


now activate again the groopm2 environment and clone the repository from https://github.com/timbalam/GroopM

conda activate groopm2

git clone https://github.com/timbalam/GroopM.git

cd GroopM

pip install tempdir   #(add another lacking program)

python setup.py install

0
Entering edit mode

thanks, but it seems there still are problems. After using this method i now get the following error when running "groopm2 parse":

subprocess.CalledProcessError: Command 'singlem pipe --sequences ../../../assembly/220802/S1_selfA/S1_selfA_assembly/final.contigs.fa --archive_otu_table /tmp/tmpc8kgCH/singlem_otu_table.csv 2> /dev/null' returned non-zero exit status 1

When i try to run that singlem command manually to see its exact error message i get:

AttributeError: module 'collections' has no attribute 'MutableSet'`

maybe i need to install a very specific version of singlem?

0
Entering edit mode

also: you say you were able to install it with the help of the developer. Could you perhaps provide a contact? The main contact specified for checkM is unable to provide support, as he has left science. And the other repositories to not reply to my issues...

0
Entering edit mode

Hello John, the developer is not answering my questions so I think he stopped using that e-mail.

anyways good to know that you could install the program on your answer on this thread! it helped me too.

Thanks so much for it.