genome / pindel

Pindel can detect breakpoints of large deletions, medium sized insertions, inversions, tandem duplications and other structural variants at single-based resolution from next-gen sequence data. It uses a pattern growth approach to identify the breakpoints of these variants from paired-end short reads.
GNU General Public License v3.0
162 stars 89 forks source link

Installing Pindel keeps failing because of htslib #115

Open claudiadast opened 4 years ago

claudiadast commented 4 years ago

I have made the following Dockerfile to install pindel

# Use Python base image from DockerHub
FROM python:2.7

RUN apt-get update && apt-get install -y \
  bzip2 \
  wget \
  make \
  ncurses-dev \
  zlib1g-dev \
  g++ \
  python-pip \
  git \
  gcc \
  liblzma-dev

RUN pip install awscli boto3

# Install htslib
WORKDIR /tools
RUN wget https://github.com/samtools/htslib/releases/download/1.9/htslib-1.9.tar.bz2 \
    && tar -vxjf htslib-1.9.tar.bz2 \
    && cd htslib-1.9 \
    && make

# Install pindel
WORKDIR /tools
RUN git clone git://github.com/genome/pindel.git \
    && cd pindel \
    && ./INSTALL /tools/htslib-1.9/

ENV PATH="/tools/pindel/:$PATH"

However, when I try building, it keeps failing because of

Cloning into 'pindel'...
Checking out files: 100% (174/174), done.
path is now: /usr/bin/htslib-1.9/
make: *** No rule to make target 'Makefile.local', needed by 'pindel'.  Stop.
.
.
.

make[1]: *** [Makefile:47: pindel.o] Error 1
make[1]: Leaving directory '/usr/bin/pindel/src'
make: *** [Makefile:12: pindel] Error 2

INSTALL failed
Possible reasons: 
1. 'cannot cd to [path]
->the htslib path provided was incorrect

2. 'cannot find -lbam'
->htslib was not properly compiled/made, in that case, go to the htslib directory and follow the htslib installation instructions
and run 'make'.

I'm really stumped and have tried different variations of installing htslib or samtools and pointing to those paths in the ./INSTALL... command, but nothing seems to be working. How do I resolve this?

I also tried walking through these download steps manually, but when I do the ./INSTALL .. command, I get:

mv: cannot stat ‘src/pindel’: No such file or directory
mv: cannot stat ‘src/pindel2vcf’: No such file or directory
mv: cannot stat ‘src/sam2pindel’: No such file or directory
mv: cannot stat ‘src/pindel2vcf4tcga’: No such file or directory
keiranmraine commented 4 years ago

HTSlib has library changes in 1.10 which make it incompatible without changes to the calling code. The dockerfile for this project doesn't pull a tagged version and so will no longer build.