Commit 20f3cf01 authored by TomKellyGenetics's avatar TomKellyGenetics
Browse files

Merge branch 'master' of github.com:minoda-lab/universc

parents 4a31d979 a23348f3
Loading
Loading
Loading
Loading
+54 −0
Original line number Diff line number Diff line
name: CI to Docker hub runners
on: push
jobs:
  test:
    runs-on: ubuntu-20.04
    steps:
      -
        name: Login to DockerHub
        uses: docker/login-action@v1 
        with:
          username: ${{ secrets.DOCKER_HUB_USERNAME }}
          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}

  build:
    runs-on: ubuntu-20.04
    steps:
    - uses: actions/checkout@v2
    - uses: docker/setup-buildx-action@v1
    - uses: docker/login-action@v1
      with:
        username: ${{ secrets.DOCKER_HUB_USERNAME }}
        password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
        registry: ${{ env.REGISTRY }}

    - name: Build and push
      uses: docker/build-push-action@v2
      with:
        context: ./
        file: ./Dockerfile
        tags: ${{ secrets.DOCKER_HUB_USERNAME }}/universc:latest
        push: false

  run:
    runs-on: ubuntu-20.04
    steps:
    - uses: actions/checkout@v2
    - uses: docker/setup-buildx-action@v1
    - uses: docker/login-action@v1
      with:
        username: ${{ secrets.DOCKER_HUB_USERNAME }}
        password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
        registry: ${{ env.REGISTRY }}

    - name: Build and push
      uses: docker/build-push-action@v2
      with:
        context: ./
        file: ./Dockerfile
        tags: ${{ secrets.DOCKER_HUB_USERNAME }}/universc:latest
        push: false
    - name: Hello world 
      run: docker run ${{ secrets.DOCKER_HUB_USERNAME }}/universc:latest echo "hello world"
    - name: Diagnostics
      run: docker run ${{ secrets.DOCKER_HUB_USERNAME }}/universc:latest pwd;ls
+51 −0
Original line number Diff line number Diff line
name: CI to Docker hub
on: push
jobs:
  test:
    runs-on: ubuntu-20.04
    steps:
      -
        name: Login to DockerHub
        uses: docker/login-action@v1 
        with:
          username: ${{ secrets.DOCKER_HUB_USERNAME }}
          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}

  build:
    runs-on: ubuntu-20.04
    steps:
    - uses: actions/checkout@v2
    - uses: docker/setup-buildx-action@v1
    - uses: docker/login-action@v1
      with:
        username: ${{ secrets.DOCKER_HUB_USERNAME }}
        password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
        registry: ${{ env.REGISTRY }}

    - name: Build and push
      uses: docker/build-push-action@v2
      with:
        context: ./
        file: ./Dockerfile
        tags: ${{ secrets.DOCKER_HUB_USERNAME }}/universc:latest
        push: false

  push:
    runs-on: ubuntu-20.04
    steps:
    - uses: actions/checkout@v2
    - uses: docker/setup-buildx-action@v1
    - uses: docker/login-action@v1
      with:
        username: ${{ secrets.DOCKER_HUB_USERNAME }}
        password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
        registry: ${{ env.REGISTRY }}

    - name: Build and push
      uses: docker/build-push-action@v2
      with:
        context: ./
        file: ./Dockerfile
        tags: ${{ secrets.DOCKER_HUB_USERNAME }}/universc:latest
        push: true
+19 −0
Original line number Diff line number Diff line
name: Docker Compose Actions Workflow
on: push
jobs:
  test:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - name: Build the stack
        run: docker-compose up -d
      - name: Status
        run: echo "build complete" 
      - name: Build config
        run: pwd; ls ../*; ls ../../*
      - name: Paths
        run: which cellranger; echo $PATH
      - name: Call functions
        run: bash test/test_call.sh
      - name: Test docker container
        run: docker run --network container:webapp-frontend appropriate/curl -s --retry 10 --retry-connrefused http://localhost:5000/
+178 −0
Original line number Diff line number Diff line
name: Docker Compose Actions Workflow
on: push
jobs:
  test:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - name: Build the stack
        run: docker-compose up -d
      - name: Build Status
        run: echo "build complete" 
      - name: set up Cell Ranger
        run: echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
        run: apt-get update \
             && apt-get upgrade -y \
             && apt-get install -y \
             apt-utils \
             clang-6.0 \
             cython \
             dialog \
             gcc-multilib \
             git \
             gzip \
             libbz2-dev \
             liblzma-dev \
             libcairo2-dev \
             libcurl4-openssl-dev \
             libgfortran-5-dev \
             libffi-dev \
             libhdf5-dev \
             libhts-dev \
             liblz4-dev \
             liblz4-tool \
             libncurses-dev \
             libopenblas-dev \
             libpixman-1-dev \
             libpng-dev \
             libsodium-dev \
             libssl-dev \
             libtiff5-dev \
             libtiff-tools \
             libxml2-dev \
             libxslt1-dev \
             libzmq3-dev \
             llvm \
             lzma-dev \
             python-cairo \
             python-h5py \
             python-matplotlib \
             python-nacl \
             python-numpy \
             python-pip \
             python-libxml2 \
             python-lz4 \
             python-redis \
             python-ruamel.yaml \
             python-sip \
             python-sqlite \
             python-tables \
             python-tk \
             samtools \
             tar \
             wget \
             zlib1g-dev
        run: pip install Cython==0.28.0
        run: pip install libtiff
        run: wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz \
             && tar -xvf go1.11.linux-amd64.tar.gz \
             && mv go /usr/local
        GOROOT=/usr/local/go
        environment:
            - GOROOT=/usr/local/go
            - GOPATH=$HOME/go
            -  PATH=$GOPATH/bin:$GOROOT/bin:$PATH
        run: ln -s /usr/lib/go-1.11/bin/go /usr/bin/go
        run: apt-get remove -y python-openssl \
             &&  apt-get install -y --reinstall python-openssl
        run: wget https://files.pythonhosted.org/packages/40/d0/8efd61531f338a89b4efa48fcf1972d870d2b67a7aea9dcf70783c8464dc/pyOpenSSL-19.0.0.tar.gz \
             && tar -xzvf pyOpenSSL-19.0.0.tar.gz \
             && cd pyOpenSSL-19.0.0 \ 
             python setup.py install \
             && cd ..
        run: git clone git@github.com:TomKellyGenetics/cellranger_clean.git \
             && cd cellranger_clean \
             && cp requirements.txt /opt/requirements.txt \
             && pip install --upgrade pip \
             && pip install -r /opt/requirements.txt \
             cd ..
        run: easy_install -U pip \
             && easy_install -U pyOpenSSL
        run: apt-get install python-dateutil
        run: apt-get install -y \
             curl \
             git  \
             && curl https://sh.rustup.rs -sSf | sh -s -- -y
        run: RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh  -s -- -y
        environment:
            - PATH=/root/.cargo/bin/:$PATH
            - PATH=$HOME/.cargo/bin:$PATH
        run: bash $HOME/.cargo/env
        run: rustup install 1.40.0
        run: rustup default 1.40.0

RUN mkdir -p cellranger-3.0.2.9001 \
  && cd cellranger-3.0.2.9001 \
  && mkdir -p cellranger-cs \
  && mkdir -p cellranger-cs/3.0.2.9001 \
  && cd /

# Build cellranger itself 
RUN git clone https://github.com/TomKellyGenetics/cellranger.git cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001  \
 && cd cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001 \
 && make && make louvain-clean &&  make louvain \
 && cd ../..

RUN ln -s /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/bin/cellranger /cellranger-3.0.2.9001/cellranger \
 && cd /

COPY crconverter_open.sh /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/lib/bin/crconverter

COPY crconverter_open.sh /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/lib/bin/vlconverter

RUN gunzip -k /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/lib/python/cellranger/barcodes/3M-february-2018.txt.gz 

RUN curl -sL https://deb.nodesource.com/setup_13.x | bash - \
 && apt-get install -y nodejs

# Install Martian. Note that we're just building the executables, not the web stuff
RUN git clone --recursive https://github.com/martian-lang/martian.git \
 && cd martian \
 && make mrc mrf mrg mrp mrs mrstat mrjob

# Set up paths to cellranger. This is most of what sourceme.bash would do.
ENV PATH /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/bin/:/cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/lib/bin:/cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/tenkit/bin/:/cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/tenkit/lib/bin:/martian/bin/:$PATH
ENV PYTHONPATH /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/lib/python:/cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/tenkit/lib/python:/martian/adapters/python:$PYTHONPATH
ENV MROPATH /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/mro/:/cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/tenkit/mro/
ENV _TENX_LD_LIBRARY_PATH whatever

# Install bcl2fastq. mkfastq requires it.
RUN apt-get update \
 && apt-get install -y alien unzip wget \
 && wget https://support.illumina.com/content/dam/illumina-support/documents/downloads/software/bcl2fastq/bcl2fastq2-v2-19-1-linux.zip \
 && unzip bcl2fastq2*.zip \
 && alien bcl2fastq2*.rpm \
 && dpkg -i bcl2fastq2*.deb \
 && rm bcl2fastq2*.deb bcl2fastq2*.rpm bcl2fastq2*.zip

# Install STAR aligner
RUN wget https://github.com/alexdobin/STAR/archive/2.5.1b.tar.gz \
 && tar xf 2.5.1b.tar.gz \
 && rm 2.5.1b.tar.gz \
 && cd STAR-2.5.1b \
 && make \
 && mv bin/Linux_x86_64_static/STAR* /usr/bin \
 && cd .. \
 && rm -rf STAR-2.5.1b

# Install tsne python package. pip installing it doesn't work
RUN git clone https://github.com/TomKellyGenetics/tsne.git \
 && cd tsne \
 && make install \
 && python setup.py install \
 && cd .. \
 && rm -rf tsne

ENV PATH /cellranger-3.0.2.9001:$PATH

COPY run_tests.sh /run_tests.sh


      - name: Build config
        run: pwd; ls ../*; ls ../../*
      - name: Paths
        run: which cellranger; echo $PATH
      - name: Call functions
        run: bash test/test_call.sh
      - name: Test docker container
        run: docker run --network container:webapp-frontend appropriate/curl -s --retry 10 --retry-connrefused http://localhost:5000/
+55 −0
Original line number Diff line number Diff line
name: Test 10x Genomics
on: push
jobs:
  login:
    runs-on: ubuntu-20.04
    steps:
      -
        name: Login to DockerHub
        uses: docker/login-action@v1 
        with:
          username: ${{ secrets.DOCKER_HUB_USERNAME }}
          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}

  test:
    runs-on: ubuntu-20.04
    steps:
    - uses: actions/checkout@v2
    - uses: docker/setup-buildx-action@v1
    - uses: docker/login-action@v1
      with:
        username: ${{ secrets.DOCKER_HUB_USERNAME }}
        password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
        registry: ${{ env.REGISTRY }}
    - name: Build and push
      uses: docker/build-push-action@v2
      with:
        context: ./
        file: ./Dockerfile
        tags: ${{ secrets.DOCKER_HUB_USERNAME }}/universc:latest
        push: false
    - name: Run image
      run: docker run docker.pkg.github.com/minoda-lab/universc/universc:latest echo "hello from universc"
    - name: Call UniverSC
      uses: addnab/docker-run-action@v1
      with:
        image: tomkellygenetics/universc:latest
        run: bash /universc/test/test_call.sh
    - name: Run image
      run: docker run docker.pkg.github.com/minoda-lab/universc/universc:latest bash /universc/test/run_tests_10x.sh
    - name: Call UniverSC
      uses: addnab/docker-run-action@v1
      with:
        image: tomkellygenetics/universc:latest
        run: bash /universc/test/run_tests_10x.sh

  build:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - name: Build the stack
        run: docker-compose up -d
      - name: Status
        run: echo "build complete" 
      - name: Test runnning on 10x
        run:  test/run_tests_10x.sh
Loading