diff --git a/.github/workflows/build-and-push-container.yml b/.github/workflows/build-and-push-container.yml new file mode 100644 index 0000000..efd3959 --- /dev/null +++ b/.github/workflows/build-and-push-container.yml @@ -0,0 +1,96 @@ +# https://docs.github.com/en/actions/reference/encrypted-secrets#using-encrypted-secrets-in-a-workflow +# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions +# https://docs.github.com/en/actions/guides/publishing-docker-images +name: github-docker +on: + push: + branches: + - docker-multistage + + + +env: + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + DOCKER_USERNAME: lskatz + CI_PROJECT_NAME: sneakernet + github_repository: lskatz/sneakernet + tag: fake-tag + +jobs: + push_to_registry: + name: Push Docker image to multiple registries v2 + runs-on: ubuntu-18.04 + steps: + - name: Check out the repo + uses: actions/checkout@v2 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + with: + driver-opts: image=moby/buildkit:master + - name: Prepare env + id: prep + run: | + DOCKER_IMAGE=${{ env.github_repository }} + VERSION=${GITHUB_SHA} + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/} + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=edge + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${DOCKER_IMAGE}:${VERSION}" + TAGS="$TAGS,ghcr.io/${DOCKER_IMAGE}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR},${DOCKER_IMAGE}:latest" + TAGS="$TAGS,ghcr.io/${DOCKER_IMAGE}:${MINOR},ghcr.io/${DOCKER_IMAGE}:${MAJOR},ghcr.io/${DOCKER_IMAGE}:latest" + elif [ "${{ github.event_name }}" = "push" ]; then + TAGS="$TAGS,${DOCKER_IMAGE}:sha-${GITHUB_SHA::8}" + TAGS="$TAGS,ghcr.io/${DOCKER_IMAGE}:sha-${GITHUB_SHA::8}" + fi + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: lskatz + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Login to GitHub Container Registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.CR_PAT }} + + - name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + context: . + file: ./Dockerfile + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.prep.outputs.tags }} + labels: | + org.opencontainers.image.title=${{ github.event.repository.name }} + org.opencontainers.image.description=${{ github.event.repository.description }} + org.opencontainers.image.url=${{ github.event.repository.html_url }} + org.opencontainers.image.source=${{ github.event.repository.clone_url }} + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.licenses=${{ github.event.repository.license.spdx_id }} + + + + diff --git a/.github/workflows/github-docker.yml.bak b/.github/workflows/github-docker.yml.bak new file mode 100644 index 0000000..61ef559 --- /dev/null +++ b/.github/workflows/github-docker.yml.bak @@ -0,0 +1,74 @@ +# https://docs.github.com/en/actions/reference/encrypted-secrets#using-encrypted-secrets-in-a-workflow +# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions +# https://docs.github.com/en/actions/guides/publishing-docker-images +name: github-docker +on: + push: + branches: + - docker-multistage + +env: + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + DOCKER_USERNAME: lskatz + #DOCKER_USERNAME_SECRET: ${{ secrets.DOCKER_USERNAME }} + CI_PROJECT_NAME: sneakernet + github_repository: lskatz/sneakernet + #SLUG: ${{ format('lskatz/sneakernet:{0}', GITHUB_SHA ) }} + #LOCAL_TAG_LATEST: ${{ format('sneakernet:{0}', ${{ env.GITHUB_SHA }} ) }} + +jobs: + push_to_registry_v1: + name: Push Docker image to multiple registries v1 + runs-on: ubuntu-18.04 + steps: + - name: Check out the repo + uses: actions/checkout@v2 + - name: Push to Docker Hub + uses: docker/build-push-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + repository: lskatz/sneakernet + tags: | + latest + ${{ github.GITHUB_SHA }} + #tag_with_ref: true + - name: Push to GitHub Packages + uses: docker/build-push-action@v1 + with: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + registry: docker.pkg.github.com + repository: lskatz/sneakernet/sneakernet + tags: | + latest + ${{ github.GITHUB_SHA }} + #tag_with_ref: true + push_to_registry_v2: + name: Push Docker image to multiple registries v2 + runs-on: ubuntu-18.04 + steps: + - name: Check out the repo + uses: actions/checkout@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + file: ./Dockerfile + pull: true + push: true + #build-args: + cache-from: type=registry,ref=lskatz/sneakernet + cache-to: type=registry,ref=lskatz/sneakernet + tags: lskatz/sneakernet:latest +# lskatz/sneakernet:${{ github.GITHUB_SHA }} +# docker.pkg.github.com/lskatz/sneakernet:latest +# docker.pkg.github.com/lskatz/sneakernet:${{ github.GITHUB_SHA }} +# diff --git a/.github/workflows/travis-docker.yml.bak b/.github/workflows/travis-docker.yml.bak new file mode 100644 index 0000000..11fe049 --- /dev/null +++ b/.github/workflows/travis-docker.yml.bak @@ -0,0 +1,62 @@ +# https://docs.github.com/en/actions/reference/encrypted-secrets#using-encrypted-secrets-in-a-workflow +# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions +name: travis-docker +on: + push: + branches: + - docker-multistage + +env: + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + DOCKER_USERNAME: lskatz + #DOCKER_USERNAME_SECRET: ${{ secrets.DOCKER_USERNAME }} + CI_PROJECT_NAME: sneakernet + github_repository: lskatz/sneakernet + #SLUG: ${{ format('lskatz/sneakernet:{0}', GITHUB_SHA ) }} + #LOCAL_TAG_LATEST: ${{ format('sneakernet:{0}', ${{ env.GITHUB_SHA }} ) }} + +jobs: + init: + runs-on: ubuntu-18.04 + steps: + - id: todo + run: echo "todo" + + debugging: + runs-on: ubuntu-18.04 + needs: init + steps: + - id: print-globals + run: | + echo "Docker username starts with ${DOCKER_USERNAME:0:3}..." + echo "CI_PROJECT_NAME:GITHUB_SHA $CI_PROJECT_NAME:$GITHUB_SHA" + echo "HOME:$HOME" + echo "PWD:$PWD" + echo "GITHUB_WORKSPACE:$GITHUB_WORKSPACE" + echo "GITHUB_ACTOR/CI_PROJECT_NAME:GITHUB_SHA $github_repository:$GITHUB_SHA" + + docker_build: + runs-on: ubuntu-18.04 + needs: init + steps: + - uses: actions/checkout@v2 + with: + ref: docker-multistage + fetch-depth: 1 + - uses: satackey/action-docker-layer-caching@v0.0.8 + continue-on-error: true + - id: ls-all-the-things + run: | + ls -R $GITHUB_WORKSPACE + ls -lha $GITHUB_WORKSPACE + - id: docker-build + #run: docker build -t $CI_PROJECT_NAME:$GITHUB_SHA $GITHUB_WORKSPACE + run: docker build . --file $GITHUB_WORKSPACE/Dockerfile --tag $CI_PROJECT_NAME:$GITHUB_SHA + - id: docker-login + run: echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin + - id: docker-tag-latest + run: | + docker tag $CI_PROJECT_NAME:$GITHUB_SHA $github_repository:$GITHUB_SHA + - id: docker-push-latest + run: docker push $CI_PROJECT_NAME:$GITHUB_SHA + diff --git a/.travis.yml b/.travis.yml index f289f27..2e0ec1c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,105 +2,46 @@ language: perl os: linux perl: - "5.24-shrplib" -python: - - "3.7" -dist: xenial -#services: -# - docker -addons: - apt: - #sources: - packages: - - build-essential - - libberkeleydb-perl # helps with perl module DB_FILE - - bioperl - - bioperl-run - - ncbi-blast+ - - prodigal - - tree - - sendmail - - python3 - - python3-pip - #- kraken # travis kraken testing for another day -before_install: - - sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1 - - sudo update-alternatives --set python /usr/bin/python3 - - python --version - - pip3 --version - # Configure cpanm properly - - cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) - # Docker - #- docker pull staphb/skesa:2.3.0 - #- docker pull staphb/mlst:2.16.2 - #- docker pull staphb/prokka:1.14.0 - #- docker pull staphb/kraken:1.1.1 - #- export PATH=$PATH:$(pwd)/scripts/dockerAliases - # Perl modules - - export PERL5LIB=$PERL5LIB:/usr/share/perl5 - - export PERL5LIB=$PERL5LIB:$HOME/lib/perl5 # user libs - - export PERL5LIB=$PERL5LIB:$HOME/lib/perl5/x86_64-linux-gnu-thread-multi # user libs - - export PERL5LIB=$PERL5LIB:$HOME/lib/perl5/x86_64-linux-gnu-thread-multi/auto # user libs - #- find / -type f -name SeqIO.pm 2>/dev/null || echo "SeqIO.pm NOT FOUND" - - echo $PERL5LIB | tr ':' '\n' | cat -n - - cpanm -l ~ Bio::FeatureIO --notest --force - - cpanm -l ~ Statistics::Descriptive - - cpanm -l ~ File::Slurp - - cpanm -l ~ Config::Simple - - tree -d $HOME -L 5 - - find $HOME -type f -name Slurp.pm - - find $HOME -type f -name Descriptive.pm - - find $HOME -type f -name Simple.pm - - perl -MData::Dumper -MFile::Slurp -MStatistics::Descriptive -Mthreads -e 'print Dumper \%INC' - - perl -MBio::SeqIO -e 1; # Check for Bio::SeqIO from bioperl - #- cpanm -l ~ Bio::FeatureIO --force --notest --verbose # b/c it wasn't getting installed properly somehow with cpanm --installdeps - # perl debugging statement - # CGP - - wget --progress=dot:mega --no-check-certificate https://github.com/lskatz/CG-Pipeline/archive/v0.5.tar.gz - - tar zxvf v0.5.tar.gz - - export PATH=$PATH:$(pwd -P)/CG-Pipeline-0.5/scripts - - wget --progress=dot:mega --no-check-certificate https://github.com/tseemann/shovill/archive/v1.0.0.tar.gz - - tar zxvf v1.0.0.tar.gz - - export PATH=$PATH:$(pwd -P)/shovill-1.0.0/bin - - tree $(pwd -P)/shovill* - # Python things - - export PATH=$PATH:$HOME/.local/bin - # staramr - #- pip3 install staramr --user - # chewbbaca - #- pip install chewbbaca --user - #- find $HOME -maxdepth 3 -name chewBBACA.py +script: true install: - # Kraken testing - #- wget --progress=dot:mega --no-check-certificate https://ccb.jhu.edu/software/kraken/dl/minikraken_20171019_4GB.tgz - #- tar zxvf minikraken_20171019_4GB.tgz - # Krona - - wget --progress=dot:mega --no-check-certificate https://github.com/marbl/Krona/archive/xl2.5.tar.gz - - tar zxvf xl2.5.tar.gz - - perl Krona-xl2.5/KronaTools/install.pl -prefix $HOME/krona - # Configure SneakerNet - - cp -rv config.bak config - - sed -i '/KRAKEN_DEFAULT_DB/d' config/settings.conf - - sed -i '/KRAKENDIR/d' config/settings.conf - - echo -e "KRAKEN_DEFAULT_DB\t$(pwd -P)/minikraken_20171013_4GB" >> config/settings.conf - - echo -e "KRAKENDIR\t$HOME/.linuxbrew/bin" >> config/settings.conf - - sed -i '/KRONADIR/d' config/settings.conf - - echo -e "KRONADIR\t$HOME/krona/bin" >> config/settings.conf - - head -n 50 config/*.conf # display configuration file - - export PATH=$PATH:$(pwd -P)/scripts:$(pwd -P)/SneakerNet.plugins -script: - - cpanm --installdeps --notest . - - perl Makefile.PL - - make test + - echo "Just testing docker on this branch" + +after_success: + - CI_PROJECT_NAME=sneakernet + - docker build -t $CI_PROJECT_NAME:$TRAVIS_COMMIT . + - SLUG=$(echo "$TRAVIS_REPO_SLUG" | tr '[:upper:]' '[:lower:]') + - echo "$CI_PROJECT_NAME" + - echo $SLUG + - echo $REPOSITORY_URL + - echo $TRAVIS_COMMIT + - DOCKER_PASSWORD=${{secrets.DOCKER_PASSWORD}} + - DOCKER_USERNAME=${{secrets.DOCKER_USERNAME}} + - echo $DOCKER_USERNAME + - echo docker tag $CI_PROJECT_NAME:$TRAVIS_COMMIT $SLUG:$TRAVIS_COMMIT + - docker tag $CI_PROJECT_NAME:$TRAVIS_COMMIT $SLUG:$TRAVIS_COMMIT + - docker tag $CI_PROJECT_NAME:$TRAVIS_COMMIT $SLUG:latest + - echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin + - docker push $CI_PROJECT_NAME:$TRAVIS_COMMIT + - docker push $CI_PROJECT_NAME:latest +#https://stackoverflow.com/a/58505735 +before_install: +# - rm -rvf $HOME/dockerImages.stdout $HOME/docker/* + - for file in $HOME/docker/*.tar.gz; do if [ ! -e "$file" ]; then continue; fi; echo "loading $file"; zcat "$file" | docker load; done +before_cache: + - mkdir -p $HOME/docker + - docker images -a --filter='dangling=false' --format '{{.Repository}}:{{.Tag}} {{.ID}}' > $HOME/dockerImages.stdout + - cat $HOME/dockerImages.stdout + - if [[ -s $HOME/dockerImages.stdout ]]; then xargs -n 2 -t sh -c 'test -e $HOME/docker/$1.tar.gz || docker save $0 | gzip -2 > $HOME/docker/$1.tar.gz' < $HOME/dockerImages.stdout; fi +cache: + bundler: true + directories: + - $HOME/docker + # deploying to dockerhub -deploy: - on: - branch: master - provider: script - script: - - docker build -t $CI_PROJECT_NAME:$TRAVIS_REPO_SLUG . - - docker tag ${CI_PROJECT_NAME}:${TRAVIS_REPO_SLUG} $REPOSITORY_URL/$CI_PROJECT_NAME:$TRAVIS_PULL_REQUEST_SHA - - docker tag ${CI_PROJECT_NAME}:${TRAVIS_REPO_SLUG} $REPOSITORY_URL/$CI_PROJECT_NAME:latest - - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker push $REPOSITORY_URL/$CI_PROJECT_NAME:$TRAVIS_PULL_REQUEST_SHA - - docker push $REPOSITORY_URL/$CI_PROJECT_NAME:latest +#deploy: +# provider: script +# script: bash .travis-ci/docker_push +# on: +# branch: $TRAVIS_BRANCH + diff --git a/Dockerfile b/Dockerfile index 317377d..0d58932 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,14 +22,14 @@ FROM staphb/mlst:2.19.0 AS mlst FROM staphb/prokka:1.14.5 AS prokka FROM staphb/shovill:1.1.0 AS shovill FROM staphb/seqtk:1.3 AS seqtk -FROM staphb/staramr:0.7.1 AS staramr +#FROM staphb/staramr:0.7.1 AS staramr FROM staphb/salmid:0.1.23 AS salmid #FROM rust:1.46.0-slim-buster AS rust # Other sources FROM mgibio/samtools:1.9 AS samtools FROM flowcraft/krona:2.7-1 AS krona -FROM ummidock/chewbbaca:2.1.0-1 AS chewbbaca +#FROM mickaelsilva/chewbbaca_py3 AS chewbbaca # EDIT: this bioperl container uses perl/5.18 which doesn't match our perl v5.26.1 # Bring in libraries @@ -51,19 +51,28 @@ COPY --from=prokka /bedtools2/bin /usr/local/bin/ COPY --from=prokka /prokka-1.14.5/bin /usr/local/bin/ COPY --from=prokka /barrnap-0.9/bin /usr/local/bin/ COPY --from=seqtk /seqtk-1.3 /usr/local/bin/ -COPY --from=staramr /usr/local/bin /usr/local/bin/ -COPY --from=salmid /usr/local/bin /usr/local/bin/ +#COPY --from=staramr /usr/local/bin /usr/local/bin/ +#COPY --from=salmid /usr/local/bin /usr/local/bin/ COPY --from=samtools /opt/samtools/bin/samtools /usr/local/bin/ COPY --from=krona /NGStools/KronaTools-2.7 /NGStools/KronaTools-2.7 -COPY --from=chewbbaca /NGStools /NGStools -COPY --from=chewbbaca /usr/local/bin/* /usr/local/bin/ +#COPY --from=chewbbaca /NGStools/clustalw-2.1-linux-x86_64-libcppstatic /NGStools +#COPY --from=chewbbaca /NGStools/Prodigal /NGStools +#COPY --from=chewbbaca /NGStools/prodigal_training_files /NGStools +#COPY --from=chewbbaca /usr/local/bin/* /usr/local/bin/ +COPY --from=mlst /ncbi-blast-2.9.0+ /ncbi-blast-2.9.0+/ + #COPY --from=rust /usr/local/rustup /usr/local/rustup #COPY --from=rust /usr/local/cargo /usr/local/cargo # Libraries -COPY --from=staramr /usr/local/lib/python3.6 /usr/local/lib/python3.6/ +#COPY --from=staramr /usr/local/lib/python3.6 /usr/local/lib/python3.6/ +#COPY --from=blast /lib/x86_64-linux-gnu /lib/x86_64-linux-gnu +#COPY --from=blast /lib64 /lib64 +#COPY --from=blast /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu + # Taking a risk using python3.5 libraries in a python3.6 folder -COPY --from=salmid /usr/local/lib/python3.5 /usr/local/lib/python3.6/ +#COPY --from=salmid /usr/local/lib/python3.5 /usr/local/lib/python3.6/ +#COPY --from=chewbbaca /usr/local/lib/python3.5 /usr/local/lib/python3.6/ #COPY --from=bioperl /usr/lib/ /usr/lib #COPY --from=bioperl /usr/local/lib/ /usr/local/lib #COPY --from=bioperl /usr/share /usr/share @@ -98,6 +107,7 @@ RUN apt-get update && \ git \ rsync \ vim \ + less \ ssh \ wget \ curl \ @@ -134,8 +144,23 @@ RUN apt-get update && \ liblzma-dev \ libcurl4-gnutls-dev \ libssl-dev \ - libfindbin-libs-perl && \ + libfindbin-libs-perl \ + psmisc \ + libatlas-base-dev \ + mafft \ + libpython3-dev \ + locales \ + && \ apt-get autoclean && rm -rf /var/lib/apt/lists/* +#python-matplotlib ipython python-pandas python-sympy python-nose +# python-numpy python-scipy \ + +# Set LC_ALL env +# https://github.com/hpcng/singularity/issues/11#issuecomment-325235446 +RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment && \ + echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && \ + echo "LANG=en_US.UTF-8" > /etc/locale.conf && \ + locale-gen en_US.UTF-8 # Perl libraries @@ -184,7 +209,6 @@ ENV PATH="${PATH}:\ /mlst-2.19.0/bin/:\ /NGStools/KronaTools-2.7/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:\ /NGStools/chewBBACA:/NGStools/chewBBACA/utils:/NGStools/prodigal_training_files:/NGStools/clustalw-2.1-linux-x86_64-libcppstatic:\ -/NGStools/ncbi-blast-2.9.0+/bin:\ /usr/local/bin/Trimmomatic-0.38:\ /colorid:\ /pilon:\ @@ -192,18 +216,45 @@ ENV PATH="${PATH}:\ /usr/local/cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:\ /shovill/shovill-1.1.0/bin:\ /SPAdes-3.14.1-Linux/bin:\ +/ncbi-blast-2.9.0+/bin:\ "\ - LC_ALL=C \ - RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo RUST_VERSION=1.46.0 + LC_ALL=en_US.UTF-8 \ + RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo RUST_VERSION=1.46.0 \ + BLASTDB=/blast/blastdb + +## pip installations after this line +RUN python3 -m pip install --upgrade pip + +# Staramr: lifting the code from staphb +# https://github.com/StaPH-B/docker-builds/blob/master/staramr/0.7.1/Dockerfile +RUN pip3 install staramr==0.7.1 pandas==0.25.3 && \ + staramr db update -d && \ + staramr db info # Pip installations after I set the path # SalmID 0.1.23 # apt deps: python-setuptools python3 python3-pip curl build-essential file git python3-venv -#RUN pip3 install poetry && \ -# git clone https://github.com/hcdenbakker/SalmID.git --branch 0.1.23 --single-branch && \ -# cd SalmID && \ -# poetry build -vvv && \ -# pip3 install dist/salmid*.whl +RUN pip3 install poetry && \ + git clone https://github.com/hcdenbakker/SalmID.git --branch 0.1.23 --single-branch && \ + cd SalmID && \ + poetry build -vvv && \ + pip3 install dist/salmid*.whl + +# Chewbbaca +# Taking code from here: https://hub.docker.com/r/mickaelsilva/chewbbaca_py3/dockerfile +WORKDIR /NGStools/ +#GET training files and Prodigal +RUN git clone https://github.com/hyattpd/Prodigal.git && \ + pip3 install biopython plotly SPARQLWrapper chewbbaca && \ + cd /NGStools/Prodigal && \ + make install +WORKDIR /NGStools/ +RUN git clone https://github.com/mickaelsilva/prodigal_training_files && \ + wget www.clustal.org/download/current/clustalw-2.1-linux-x86_64-libcppstatic.tar.gz && \ + tar -zxf clustalw-2.1-linux-x86_64-libcppstatic.tar.gz && \ + rm clustalw-2.1-linux-x86_64-libcppstatic.tar.gz +# Reset the working directory after chewbbaca installation +WORKDIR / # Rust for at least colorid #RUN curl https://sh.rustup.rs -sSf | bash -s -- -y @@ -215,7 +266,9 @@ RUN mkdir colorid && \ chmod +x colorid_Linux64v0.1.4.3 && \ mv colorid_Linux64v0.1.4.3 /usr/local/bin/colorid - +# Trying to avoid an error where LC_ALL gets somehow undefined before this step +# bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) +ENV LC_ALL=en_US.UTF-8 WORKDIR /data diff --git a/lib/perl5/SneakerNet.pm b/lib/perl5/SneakerNet.pm index 400a088..0926d4b 100644 --- a/lib/perl5/SneakerNet.pm +++ b/lib/perl5/SneakerNet.pm @@ -31,7 +31,7 @@ TODO =cut -our $VERSION = '0.14.0'; +our $VERSION = '0.14.1'; our %rankName = (S=>'species', G=>'genus', F=>'family', O=>'order', C=>'class', P=>'phylum', K=>'kingdom', D=>'domain', U=>'unclassified'); our @rankOrder= qw(S G F O C P K D U); our %rankOrder= (S=>0, G=>1, F=>2, O=>3, C=>4, P=>5, K=>6, D=>7, U=>8);