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

Installation issue #172

Open
min-codes opened this issue Nov 25, 2022 · 2 comments
Open

Installation issue #172

min-codes opened this issue Nov 25, 2022 · 2 comments

Comments

@min-codes
Copy link

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

@mchowdh200
Copy link
Collaborator

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

@skchronicles
Copy link

skchronicles commented Nov 28, 2022

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 maintainer=kuhnsa@nih.gov

# 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

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

3 participants