victoriapascal / gutsmash

gutSMASH
GNU Affero General Public License v3.0
50 stars 15 forks source link

list dependency versions #7

Open nick-youngblut opened 1 year ago

nick-youngblut commented 1 year ago

Is your feature request related to a problem? Please describe.

The installation instructions in the README do not list any versions for the bfx tool dependencies:

sudo apt-get install -y hmmer2 hmmer diamond-aligner fasttree prodigal ncbi-blast+ muscle glimmerhmm

Can you please list at least a set of version known to work for the development & testing of gutSMASH?

Here's yaml file for installing the dependencies via conda (installs on Ubuntu 22.04.1):

channels:
 - conda-forge
 - bioconda
 - defaults
dependencies:
 - hmmer2
 - hmmer
 - diamond
 - fasttree
 - prodigal
 - blast
 - muscle
 - glimmerhmm
 - biopython=1.76
 - helperlibs=0.1.9
 - bcbio-gff=0.6.6
 - pysvg-py3=0.2.2.post3
 - scikit-learn=0.22.1
 - matplotlib=3.2.1
 - pyscss=1.3.7
 - jinja2=2.11.1

It would be great to set versions for this entire list of dependencies. https://github.com/victoriapascal/gutsmash/issues/4 is a good example of why.

nick-youngblut commented 1 year ago

Is there a reason why the README doesn't include instructions on actually installing the gutSMASH package? The repo includes what seems to be a viable setup.py. Does it not actually install gutSMASH properly?

nick-youngblut commented 1 year ago

The following worked for me for setting up a Docker image:

FROM mambaorg/micromamba:1.1.0

USER root
RUN apt-get update && \
    apt-get install -y build-essential git procps zip && \
    apt-get clean && \
    apt-get purge && \
    rm -rf /var/lib/apt/lists/* /tmp/*

USER $MAMBA_USER
ARG MAMBA_DOCKERFILE_ACTIVATE=1
COPY --chown=$MAMBA_USER:$MAMBA_USER env.yaml /tmp/env.yaml
RUN micromamba install -y -n base -f /tmp/env.yaml && \
    micromamba clean --all --yes

RUN git clone https://github.com/victoriapascal/gutsmash.git && \
    (find gutsmash/antismash/ -type f | xargs chmod go+rw) && \
    (find gutsmash/antismash/ -name "*.py" | xargs chmod go+x) && \
    (find gutsmash/antismash/ -type d | xargs chmod go+rwx)

COPY --chown=$MAMBA_USER:$MAMBA_USER smcogs.hmm.zip \
  gutsmash/antismash/detection/genefunctions/gut_data/smcogs.hmm.zip
COPY --chown=$MAMBA_USER:$MAMBA_USER KnownClusterBlast.zip \
  gutsmash/antismash/modules/clusterblast/data/known/KnownClusterBlast.zip

RUN unzip gutsmash/antismash/detection/genefunctions/gut_data/smcogs.hmm.zip && \
    hmmpress gutsmash/antismash/detection/genefunctions/gut_data/smcogs.hmm && \
    rm -f gutsmash/antismash/detection/genefunctions/gut_data/smcogs.hmm.zip && \
    unzip gutsmash/antismash/modules/clusterblast/data/known/KnownClusterBlast.zip \
          -d gutsmash/antismash/modules/clusterblast/data/known/ && \
    rm -f gutsmash/antismash/modules/clusterblast/data/known/KnownClusterBlast.zip

USER root
WORKDIR /data

...with the env.yaml containing:

channels:
 - conda-forge
 - bioconda
 - defaults
dependencies:
 - hmmer2=2.3.2
 - hmmer=3.3.2
 - diamond=0.9.19
 - fasttree=2.1.11
 - prodigal=2.6.3
 - blast=2.13.0
 - muscle=3.8.1551
 - glimmerhmm=3.0.4
 - biopython=1.76
 - helperlibs=0.1.9
 - bcbio-gff=0.6.6
 - pysvg-py3=0.2.2.post3
 - scikit-learn=0.22.1
 - matplotlib=3.2.1
 - pyscss=1.3.7
 - jinja2=2.11.1
 - pandas=1.5.3
 - tqdm=4.65.0

I included pandas=1.5.3 and tqdm=4.65.0 so that I could run the attached python script to parse the output gbk files.

gbk2tsv.py.zip

jotech commented 1 year ago

for me a working installation of gutsmash in 08/2023 was like

conda create --name gutsmash
mamba install hmmer2 hmmer diamond=2.0.9 fasttree prodigal blast muscle glimmerhmm cython freetype python=3.7 biopython=1.76 helperlibs bcbio-gff pyscss pysvg-py3 scikit-learn matplotlib pyscss markupsafe jinja2=2.11.1

In addition, I had to

0xaf1f commented 12 months ago

I had to also add meme=4.11.2 to get it to work