samplot icon indicating copy to clipboard operation
samplot copied to clipboard

Installation issue

Open min-codes opened this issue 3 years ago • 2 comments

Dear Authors,

Would it be possible for you to release samplot as a singularity image (.simg / .sif) or its binary file for easy installation? I tried installing samplot via conda but ran into some issue due to incompatibility of software versions (python & libgcc-ng).

Or - is there a way i could find out about software dependencies so that i can sort out the incompatibility issues

Many thanks, Min

min-codes avatar Nov 25 '22 17:11 min-codes

Hi Min, are you installing into a fresh conda environment? Also can you provide the text output to conda list?

mchowdh200 avatar Nov 25 '22 17:11 mchowdh200

Hello @min-codes and @mchowdh200,

A colleague of mine also ran into an issue with the latest conda version, and I stumbled across this issue. With that being said, please feel free to use my Dockerfile or pull my image from Dockerhub with singularity.

Here is my Dockerfile:

# Dockerfile for samplot:v1.3.1
# https://github.com/ryanlayer/samplot
# There is an issue with the latest conda
# release of samplot, building a docker
# image with the latest Github release.
# Using Ubuntu Focal (20.04 LTS) as base image
FROM ubuntu:20.04
LABEL [email protected]

# Create Container filesystem specific 
# working directory and opt directories
# to avoid collisions with host filesystem 
RUN mkdir -p /opt2 && mkdir -p /data2
WORKDIR /opt2 

# Set time zone to US east coast 
ENV TZ=America/New_York
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
    && echo $TZ > /etc/timezone

# This section installs system packages 
# required for your project. If you need 
# extra system packages add them here.
RUN apt-get update \
    && apt-get -y upgrade \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y \
        build-essential \
        bzip2 \
        ca-certificates \
        curl \
        git \
        gzip \
        libz-dev \
        libbz2-dev \
        liblzma-dev \
        locales \
        pandoc \
        python3 \
        python3-pip \
        samtools \
        unzip \
        wget \
    && apt-get clean && apt-get purge \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Set the locale
RUN localedef -i en_US -f UTF-8 en_US.UTF-8

# Make python3 the default interpreter
# and install python packages
RUN ln -sf /usr/bin/python3.8 /usr/bin/python \
    && ln -sf /usr/bin/python3.8 /usr/bin/python3

# Install samplot (v1.3.1)
# As of 11/28/2022, there is no tagged release
# for the latest version of samplot (v1.3.1),
# cloning the repo and checkout out the latest
# commit ID: 70cad157e7764c59a6149538305dcccaea8e11b9
RUN git clone https://github.com/ryanlayer/samplot.git \
    && cd samplot \
    && git checkout 70cad157e7764c59a6149538305dcccaea8e11b9 \
    && pip install --upgrade pip \
    && pip install . \
    && pip install --upgrade numpy 

# Add Dockerfile and export env variables
ADD Dockerfile /opt2/Dockerfile
RUN chmod -R a+rX /opt2 
ENV PATH="/opt2:$PATH"
WORKDIR /data2

This image contains a few extra tools/packages I need, but please feel free to use it. One could theoretically create a smaller image by using python/3.11 as the base image and then simply pip install from the cloned repo. This could also be beneficial since 3.11 has a number of performance increases.

Anyways, I pushed the image here if you want to pull it with singularity.

SINGULARITY_CACHEDIR=$PWD singularity pull -F docker://skchronicles/samplot:v0.1.0

@ryanlayer Just as a side note, would it be possible to create a release for the latest version of samplot? I ended up cloning the repo and checking out the latest commit ID, but a tagged release would be perfect for the long haul.

Thank you for creating and maintaining this awesome tool!

Best Regards, @skchronicles

skchronicles avatar Nov 28 '22 17:11 skchronicles