Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

please provide a clean install #43

Open
phiweger opened this issue Feb 4, 2020 · 4 comments
Open

please provide a clean install #43

phiweger opened this issue Feb 4, 2020 · 4 comments

Comments

@phiweger
Copy link

phiweger commented Feb 4, 2020

hi, the installation really stands in the way of "trying out" your tool. maybe

  • a conda recipe
  • downloadable databases stored on figshare/ OSF/ ...

would make this much easier.

thanks a lot!

@Jtrachsel
Copy link

I feel like this is super close to being very easy to install with conda. I was able to install with the following conda commands:

conda create --name PROPHET
conda activate PROPHET
conda install -c bioconda blast-legacy 
conda install emboss
conda install bedtools
conda install -c bioconda perl-bioperl perl-svg perl-gd perl-gd-svg perl-lwp-simple perl-xml-simple perl-mozilla-ca perl-lwp-protocol-https
git clone https://github.com/jaumlrc/ProphET.git

Then I just followed the installation instructions.

Since all the requirements are able to be satisfied by conda is the only thing missing some kind of build.sh script? I am still trying to learn how to make software available by conda so I could be wrong.

@pcrxn
Copy link

pcrxn commented Apr 6, 2022

I created a Dockerfile to create a Docker container of the software and its dependencies.

Remember to change ENV TZ=America/Toronto to your own timezone. You can typically find this by running ls -l /etc/localtime in the command-line.

I had to run cpanm --force Bio::DB::GenBank to force the installation of Bio-DB-NCBIHelper due to a current bug related to taxonomy checks.

I also had to run sed -i.bak 's/https:\/\/github.com\/gustavo11\/GFFLib\/trunk/https:\/\/github.com\/gustavo11\/GFFLib/g' INSTALL.pl to point to the current Github repo URL of the GFFLib source code within INSTALL.pl.

Hopefully this helps others!

FROM ubuntu:20.04

ENV TZ=America/Toronto

# Pre-configure timezone (tzdata) for package installation so subsequent apt
# install steps don't prompt interactive input and hang
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
  echo $TZ > /etc/timezone

WORKDIR /opt

RUN apt update && apt install -y \
  bedtools \
  build-essential \
  git \
  libgd-dev \
  libssl-dev \
  pkg-config \
  wget \
  && rm -rf /var/lib/apt/lists/*

# Downlaod legacy BLAST
RUN wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/legacy.NOTSUPPORTED/2.2.26/blast-2.2.26-x64-linux.tar.gz && \
  tar -xvzf blast-2.2.26-x64-linux.tar.gz && \
  rm blast-2.2.26-x64-linux.tar.gz

ENV PATH=/opt/blast-2.2.26/bin:$PATH

# Download and install EMBOSS
RUN wget ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz && \
  tar -xvzf EMBOSS-6.6.0.tar.gz && \
  rm EMBOSS-6.6.0.tar.gz && \
  cd EMBOSS-6.6.0 && \
  ./configure --disable-shared --without-x && \
  ldconfig && make && make install && \
  cd .. && rm -rf EMBOSS-6.6.0

# Install Perl modules
RUN echo | perl -MCPAN -e shell && \
  (echo "o conf build_requires_install_policy yes"; echo "o conf prerequisites_policy follow"; echo "o conf commit") | perl -MCPAN -e shell && \
  perl -MCPAN -e 'install App::cpanminus' && \
  cpanm --force Bio::DB::GenBank && \
  cpanm \
    Bio::Perl SVG GD::SVG Bio::DB::SeqFeature::Store Bio::Graphics \
      LWP::Simple XML::Simple Mozilla::CA LWP::Protocol::https

# Download and install ProphET
RUN wget https://github.com/jaumlrc/ProphET/archive/refs/tags/0.5.1.tar.gz && \
  tar -xvzf 0.5.1.tar.gz && \
  rm 0.5.1.tar.gz && \
  cd ProphET-0.5.1 && \
  sed -i.bak 's/https:\/\/github.com\/gustavo11\/GFFLib\/trunk/https:\/\/github.com\/gustavo11\/GFFLib/g' INSTALL.pl && \
  ./INSTALL.pl

WORKDIR /home

ENV PATH=/opt/ProphET-0.5.1:$PATH
ENV PATH=/opt/ProphET-0.5.1/UTILS.dir/GFFLib:$PATH
ENV PERL5LIB=/opt/ProphET-0.5.1/UTILS.dir/GFFLib

@PovilasMat
Copy link

PovilasMat commented Jun 13, 2023

If you follow commands below
conda env will be created in the default env location
ProphET will be downloaded to the current folder

new_env_name=env_ProphET
conda create --name $new_env_name
conda activate $new_env_name
conda install -c bioconda blast-legacy 
conda install emboss
conda install bedtools
conda install -c bioconda perl-bioperl perl-svg perl-gd perl-gd-svg perl-lwp-simple perl-xml-simple perl-mozilla-ca perl-lwp-protocol-https
cpan Bio::Graphics
git clone https://github.com/jaumlrc/ProphET.git
cd ProphET
./INSTALL.pl

I am not completely sure if you need to run commands below
I set this up for convenience of using the tools
but it might be required to work properly

mkdir -p $CONDA_PREFIX/etc/conda/activate.d/
mkdir -p $CONDA_PREFIX/etc/conda/deactivate.d/

echo -e "if [[ \":\$PATH:\" != *\":$PWD:\"* ]]; then\n    if [ -z \"\$PATH\" ]; then\n      export PATH=\"$PWD\"\n    else\n      export PATH=\"$PWD:\${PATH}\"\n    fi\nfi" >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo -e "if [[ \":\$PATH:\" != *\":$PWD/UTILS.dir/GFFLib:\"* ]]; then\n    if [ -z \"\$PATH\" ]; then\n      export PATH=\"$PWD/UTILS.dir/GFFLib\"\n    else\n      export PATH=\"$PWD/UTILS.dir/GFFLib:\${PATH}\"\n    fi\nfi" >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export PATH=$(echo $PATH | sed -e "s;:'$PWD/UTILS.dir/GFFLib';;" -e "s;'$PWD/UTILS.dir/GFFLib':;;" -e "s;'$PWD/UTILS.dir/GFFLib';;")' >> $CONDA_PREFIX/etc/conda/deactivate.d/env_vars.sh
echo 'export PATH=$(echo $PATH | sed -e "s;:'$PWD';;" -e "s;'$PWD':;;" -e "s;'$PWD';;")' >> $CONDA_PREFIX/etc/conda/deactivate.d/env_vars.sh

echo -e "if [[ \":\$PERL5LIB:\" != *\":\$CONDA_PREFIX/lib/perl5/:\"* ]]; then\n    if [ -z \"\$PERL5LIB\" ]; then\n      export PERL5LIB=\"\$CONDA_PREFIX/lib/perl5/\"\n    else\n      export PERL5LIB=\"\$CONDA_PREFIX/lib/perl5/:\${PERL5LIB}\"\n    fi\nfi" >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export PERL5LIB=$(echo $PERL5LIB | sed -e "s;:'$CONDA_PREFIX/lib/perl5/';;" -e "s;'$CONDA_PREFIX/lib/perl5/':;;" -e "s;'$CONDA_PREFIX/lib/perl5/';;")' >> $CONDA_PREFIX/etc/conda/deactivate.d/env_vars.sh

echo -e "if [[ \":\$PERL5LIB:\" != *\":$PWD/UTILS.dir/GFFLib:\"* ]]; then\n    if [ -z \"\$PERL5LIB\" ]; then\n      export PERL5LIB=\"$PWD/UTILS.dir/GFFLib\"\n    else\n      export PERL5LIB=\"$PWD/UTILS.dir/GFFLib:\${PERL5LIB}\"\n    fi\nfi" >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export PERL5LIB=$(echo $PERL5LIB | sed -e "s;:'$PWD/UTILS.dir/GFFLib';;" -e "s;'$PWD/UTILS.dir/GFFLib':;;" -e "s;'$PWD/UTILS.dir/GFFLib';;")' >> $CONDA_PREFIX/etc/conda/deactivate.d/env_vars.sh

conda deactivate
conda activate $new_env_name

There might be something installed on my system that is missing on yours but it works for me.

After that, you can figure out how to use it by running:
ProphET_standalone.pl --help
Update database with:
INSTALL.pl --update_db_only

@yiyenl
Copy link

yiyenl commented Jul 12, 2024

Here is the full YAML (I trust everyone in this thread has a similar one). Maybe someone will find this useful...
(conda create -f env.yml, got all dependencies except Bio::Graphics)

name: env
channels:
  - bioconda
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=2_gnu
  - argtable2=2.13=hd590300_1004
  - bedtools=2.31.1=hf5e1c6e_2
  - blast=2.15.0=pl5321h6f7f691_1
  - blast-legacy=2.2.26=h9ee0642_3
  - bzip2=1.0.8=hd590300_5
  - c-ares=1.32.0=h4ab18f5_0
  - ca-certificates=2024.7.4=hbcca054_0
  - clustalo=1.2.4=hdbdd923_8
  - clustalw=2.1=h4ac6f70_10
  - curl=8.8.0=he654da7_1
  - emboss=6.6.0=h008e53c_10
  - entrez-direct=22.1=he881be0_0
  - expat=2.6.2=h59595ed_0
  - font-ttf-dejavu-sans-mono=2.37=hab24e00_0
  - font-ttf-inconsolata=3.000=h77eed37_0
  - font-ttf-source-code-pro=2.038=h77eed37_0
  - font-ttf-ubuntu=0.83=h77eed37_2
  - fontconfig=2.14.2=h14ed4e7_0
  - fonts-conda-ecosystem=1=0
  - fonts-conda-forge=1=0
  - freetype=2.12.1=h267a509_2
  - gawk=5.3.0=ha916aea_0
  - gettext=0.22.5=h59595ed_2
  - gettext-tools=0.22.5=h59595ed_2
  - giflib=5.2.2=hd590300_0
  - gmp=6.3.0=hac33072_2
  - icu=73.2=h59595ed_0
  - keyutils=1.6.1=h166bdaf_0
  - krb5=1.21.3=h659f571_0
  - ld_impl_linux-64=2.40=hf3520f5_7
  - lerc=4.0.0=h27087fc_0
  - libasprintf=0.22.5=h661eb56_2
  - libasprintf-devel=0.22.5=h661eb56_2
  - libcurl=8.8.0=hca28451_1
  - libdb=6.2.32=h9c3ff4c_0
  - libdeflate=1.20=hd590300_0
  - libedit=3.1.20191231=he28a2e2_2
  - libev=4.33=hd590300_2
  - libexpat=2.6.2=h59595ed_0
  - libffi=3.4.2=h7f98852_5
  - libgcc-ng=14.1.0=h77fa898_0
  - libgd=2.3.3=h119a65a_9
  - libgettextpo=0.22.5=h59595ed_2
  - libgettextpo-devel=0.22.5=h59595ed_2
  - libgfortran=3.0.0=1
  - libgomp=14.1.0=h77fa898_0
  - libharu=2.4.4=h267a509_0
  - libidn2=2.3.7=hd590300_0
  - libjpeg-turbo=3.0.0=hd590300_1
  - libnghttp2=1.58.0=h47da74e_1
  - libnsl=2.0.1=hd590300_0
  - libpng=1.6.43=h2797004_0
  - libsqlite=3.46.0=hde9e2c9_0
  - libssh2=1.11.0=h0841786_0
  - libstdcxx-ng=14.1.0=hc0a3c3a_0
  - libtiff=4.6.0=h1dd3fc0_3
  - libunistring=0.9.10=h7f98852_0
  - libuuid=2.38.1=h0b41bf4_0
  - libwebp=1.4.0=h2c329e2_0
  - libwebp-base=1.4.0=hd590300_0
  - libxcrypt=4.4.36=hd590300_1
  - libzlib=1.2.13=h4ab18f5_6
  - mafft=7.526=h4bc722e_0
  - mpfr=4.2.1=h9458935_1
  - muscle=5.1=h4ac6f70_3
  - ncbi-vdb=3.1.1=h4ac6f70_1
  - ncurses=6.5=h59595ed_0
  - openssl=3.3.1=h4ab18f5_1
  - paml=4.10.7=h031d066_1
  - pcre=8.45=h9c3ff4c_0
  - perl=5.32.1=7_hd590300_perl5
  - perl-algorithm-diff=1.201=pl5321hd8ed1ab_0
  - perl-archive-tar=2.40=pl5321hdfd78af_0
  - perl-base=2.23=pl5321hd8ed1ab_0
  - perl-bio-asn1-entrezgene=1.73=pl5321hdfd78af_3
  - perl-bio-coordinate=1.007001=pl5321hdfd78af_3
  - perl-bio-featureio=1.6.905=pl5321hdfd78af_4
  - perl-bio-samtools=1.43=pl5321he4a0461_4
  - perl-bio-searchio-hmmer=1.7.3=pl5321hdfd78af_0
  - perl-bio-tools-phylo-paml=1.7.3=pl5321hdfd78af_3
  - perl-bio-tools-run-alignment-clustalw=1.7.4=pl5321hdfd78af_3
  - perl-bio-tools-run-alignment-tcoffee=1.7.4=pl5321hdfd78af_5
  - perl-bioperl=1.7.8=hdfd78af_1
  - perl-bioperl-core=1.7.8=pl5321hdfd78af_1
  - perl-bioperl-run=1.007003=pl5321hdfd78af_0
  - perl-business-isbn=3.007=pl5321hd8ed1ab_0
  - perl-business-isbn-data=20210112.006=pl5321hd8ed1ab_0
  - perl-carp=1.50=pl5321hd8ed1ab_0
  - perl-class-data-inheritable=0.09=pl5321ha770c72_0
  - perl-common-sense=3.75=pl5321hd8ed1ab_0
  - perl-compress-raw-bzip2=2.201=pl5321h166bdaf_0
  - perl-compress-raw-zlib=2.202=pl5321h166bdaf_0
  - perl-constant=1.33=pl5321hd8ed1ab_0
  - perl-data-dumper=2.183=pl5321hd590300_0
  - perl-db_file=1.858=pl5321h166bdaf_0
  - perl-devel-stacktrace=2.04=pl5321ha770c72_0
  - perl-digest-hmac=1.04=pl5321hdfd78af_0
  - perl-digest-md5=2.58=pl5321h166bdaf_0
  - perl-encode=3.21=pl5321hd590300_0
  - perl-encode-locale=1.05=pl5321hdfd78af_7
  - perl-exception-class=1.45=pl5321ha770c72_0
  - perl-exporter=5.74=pl5321hd8ed1ab_0
  - perl-exporter-tiny=1.002002=pl5321hd8ed1ab_0
  - perl-extutils-makemaker=7.70=pl5321hd8ed1ab_0
  - perl-file-listing=6.16=pl5321hdfd78af_0
  - perl-file-path=2.18=pl5321hd8ed1ab_0
  - perl-file-slurp-tiny=0.004=pl5321hdfd78af_2
  - perl-file-sort=1.01=pl5321hdfd78af_3
  - perl-file-spec=3.48_01=pl5321hdfd78af_2
  - perl-file-temp=0.2304=pl5321hd8ed1ab_0
  - perl-gd=2.76=pl5321h5b5514e_1
  - perl-gd-svg=0.33=pl5321hdfd78af_2
  - perl-getopt-long=2.58=pl5321hdfd78af_0
  - perl-html-parser=3.81=pl5321h4ac6f70_1
  - perl-html-tagset=3.20=pl5321hdfd78af_4
  - perl-http-cookies=6.10=pl5321hdfd78af_0
  - perl-http-daemon=6.16=pl5321hdfd78af_0
  - perl-http-date=6.06=pl5321hdfd78af_0
  - perl-http-message=6.36=pl5321hdfd78af_0
  - perl-http-negotiate=6.01=pl5321hdfd78af_4
  - perl-inc-latest=0.500=pl5321ha770c72_0
  - perl-io-compress=2.201=pl5321hdbdd923_2
  - perl-io-html=1.004=pl5321hdfd78af_0
  - perl-io-socket-ssl=2.075=pl5321hd8ed1ab_0
  - perl-io-string=1.08=pl5321hdfd78af_4
  - perl-io-tty=1.16=pl5321h166bdaf_0
  - perl-io-zlib=1.14=pl5321hdfd78af_0
  - perl-ipc-run=20200505.0=pl5321hdfd78af_0
  - perl-json=4.10=pl5321hdfd78af_0
  - perl-json-xs=2.34=pl5321h4ac6f70_6
  - perl-libwww-perl=6.39=pl5321hdfd78af_1
  - perl-libxml-perl=0.08=pl5321hdfd78af_3
  - perl-list-moreutils=0.430=pl5321hdfd78af_0
  - perl-list-moreutils-xs=0.430=pl5321h031d066_2
  - perl-lwp-mediatypes=6.04=pl5321hdfd78af_1
  - perl-lwp-protocol-https=6.10=pl5321hdfd78af_0
  - perl-lwp-simple=6.39=pl5321h9ee0642_5
  - perl-mime-base64=3.16=pl5321h166bdaf_0
  - perl-module-build=0.4234=pl5321ha770c72_0
  - perl-mozilla-ca=20211001=pl5321hdfd78af_0
  - perl-net-http=6.22=pl5321hdfd78af_0
  - perl-net-ssleay=1.92=pl5321hf14f497_1
  - perl-ntlm=1.09=pl5321hdfd78af_5
  - perl-parent=0.241=pl5321hd8ed1ab_0
  - perl-pathtools=3.75=pl5321h166bdaf_0
  - perl-scalar-list-utils=1.63=pl5321h166bdaf_0
  - perl-socket=2.027=pl5321h031d066_4
  - perl-storable=3.15=pl5321h166bdaf_0
  - perl-sub-uplevel=0.2800=pl5321h166bdaf_0
  - perl-svg=2.87=pl5321hdfd78af_0
  - perl-test-deep=1.130=pl5321hd8ed1ab_0
  - perl-test-differences=0.71=pl5321ha770c72_0
  - perl-test-exception=0.43=pl5321hd8ed1ab_0
  - perl-test-fatal=0.016=pl5321ha770c72_0
  - perl-test-most=0.38=pl5321hdfd78af_0
  - perl-test-requiresinternet=0.05=pl5321hdfd78af_1
  - perl-test-warn=0.37=pl5321hd8ed1ab_0
  - perl-test-warnings=0.031=pl5321ha770c72_0
  - perl-text-diff=1.45=pl5321hd8ed1ab_0
  - perl-time-local=1.35=pl5321hdfd78af_0
  - perl-timedate=2.33=pl5321hdfd78af_2
  - perl-tree-dag_node=1.32=pl5321hdfd78af_0
  - perl-try-tiny=0.31=pl5321ha770c72_0
  - perl-types-serialiser=1.01=pl5321hdfd78af_0
  - perl-uri=5.17=pl5321ha770c72_0
  - perl-url-encode=0.03=pl5321h9ee0642_0
  - perl-www-robotrules=6.02=pl5321hdfd78af_4
  - perl-xml-dom=1.46=pl5321hdfd78af_1
  - perl-xml-dom-xpath=0.14=pl5321hdfd78af_2
  - perl-xml-namespacesupport=1.12=pl5321hd8ed1ab_0
  - perl-xml-parser=2.44_01=pl5321hc3e0081_1003
  - perl-xml-regexp=0.04=pl5321hdfd78af_3
  - perl-xml-sax=1.02=pl5321hd8ed1ab_0
  - perl-xml-sax-base=1.09=pl5321hd8ed1ab_0
  - perl-xml-sax-expat=0.51=pl5321hd8ed1ab_0
  - perl-xml-simple=2.25=pl5321hdfd78af_2
  - perl-xml-xpathengine=0.14=pl5321hdfd78af_3
  - pip=24.0=pyhd8ed1ab_0
  - poa=2.0=h031d066_5
  - python=3.12.3=hab00c5b_0_cpython
  - python_abi=3.12=4_cp312
  - readline=8.2=h8228510_1
  - setuptools=70.2.0=pyhd8ed1ab_0
  - t-coffee=12.00.7fb08c2=h26a2512_0
  - tk=8.6.13=noxft_h4845f30_101
  - tzdata=2024a=h0c530f3_0
  - viennarna=2.6.4=py312pl5321hc60241a_2
  - wget=1.21.4=hda4d442_0
  - wheel=0.43.0=pyhd8ed1ab_1
  - xz=5.2.6=h166bdaf_0
  - zlib=1.2.13=h4ab18f5_6
  - zstd=1.5.6=ha6fb4c9_0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants