mkirsche / Jasmine

Jasmine: SV Merging Across Samples
MIT License
180 stars 17 forks source link

Installation issues #3

Closed wdecoster closed 4 years ago

wdecoster commented 4 years ago

This tool looks very interesting, and I would like to try Jasmine on my data. I however have some installation issues which are not immediately obvious for me how to solve...

(...lots of output omitted)
mkdir -p -m 755 /usr/local/bin /usr/local/include /usr/local/include/htslib /usr/local/lib /usr/local/share/man/man1 /usr/local/share/man/man5 /usr/local/lib/pkgconfig
mkdir: cannot create directory ‘/usr/local/include/htslib’: Permission denied
mkdir: cannot create directory ‘/usr/local/lib/pkgconfig’: Permission denied
make: *** [installdirs] Error 1
/home/wdecoster/repositories/Jasmine/Iris/rebuild_default_external.sh: line 28: autoheader: command not found
/home/wdecoster/repositories/Jasmine/Iris/rebuild_default_external.sh: line 29: autoconf: command not found
/home/wdecoster/repositories/Jasmine/Iris/rebuild_default_external.sh: line 30: ./configure: No such file or directory
gcc  -L./lz4  -o samtools bam_index.o bam_plcmd.o sam_view.o bam_fastq.o bam_cat.o bam_md.o bam_reheader.o bam_sort.o bedidx.o bam_rmdup.o bam_rmdupse.o bam_mate.o bam_stat.o bam_color.o bamtk.o bam2bcf.o bam2bcf_indel.o sample.o cut_target.o phase.o bam2depth.o coverage.o padding.o bedcov.o bamshuf.o faidx.o dict.o stats.o stats_isize.o bam_flags.o bam_split.o bam_tview.o bam_tview_curses.o bam_tview_html.o bam_lpileup.o bam_quickcheck.o bam_addrprg.o bam_markdup.o tmp_file.o ./lz4/lz4.o libbam.a libst.a ../htslib/libhts.a -lz -lm -lbz2 -llzma -lcurl -lcurses -lm -lz  -lpthread
/usr/bin/ld: cannot find -lcurl
/usr/bin/ld: cannot find -lcurses
collect2: error: ld returned 1 exit status
make: *** [samtools] Error 1
gcc  -L./lz4  -o samtools bam_index.o bam_plcmd.o sam_view.o bam_fastq.o bam_cat.o bam_md.o bam_reheader.o bam_sort.o bedidx.o bam_rmdup.o bam_rmdupse.o bam_mate.o bam_stat.o bam_color.o bamtk.o bam2bcf.o bam2bcf_indel.o sample.o cut_target.o phase.o bam2depth.o coverage.o padding.o bedcov.o bamshuf.o faidx.o dict.o stats.o stats_isize.o bam_flags.o bam_split.o bam_tview.o bam_tview_curses.o bam_tview_html.o bam_lpileup.o bam_quickcheck.o bam_addrprg.o bam_markdup.o tmp_file.o ./lz4/lz4.o libbam.a libst.a ../htslib/libhts.a -lz -lm -lbz2 -llzma -lcurl -lcurses -lm -lz  -lpthread
/usr/bin/ld: cannot find -lcurl
/usr/bin/ld: cannot find -lcurses
collect2: error: ld returned 1 exit status
make: *** [samtools] Error 1
/home/wdecoster/repositories/Jasmine/Iris/rebuild_default_external.sh: line 33: cd: bin: No such file or directory
cp: cannot stat ‘samtools’: No such file or directory
/home/wdecoster/repositories/Jasmine/Iris/rebuild_default_external.sh: line 37: cd: racon: No such file or directory
mkdir: cannot create directory ‘build’: File exists
/home/wdecoster/repositories/Jasmine/Iris/rebuild_default_external.sh: line 40: cmake: command not found
make: *** No targets specified and no makefile found.  Stop.
cp: cannot stat ‘bin/racon’: No such file or directory
cp: cannot stat ‘rebuilt_external_scripts/*’: No such file or directory

I guess it expects I have root permission? Would it be possible to install this as a user? I see the commands often mention Iris, which confuses me as that is your other tool? It would also be nice if this could be added to bioconda to make installation easier, if possible.

Thanks! Wouter

mkirsche commented 4 years ago

Hi Wouter,

Thank you for your interest in Jasmine, and I'm sorry about the installation issues. It looks like you are missing autoheader and autoconf, which are dependencies of htslib (used by Iris, an optional pre-processing step which improves the accuracy of insertion sequences). So you could try installing those, and if still does not work, I'd be happy to look through the full error message and help investigate what's going on.

Alternately, if you would like to run Jasmine only without Iris, I added a script build_no_iris.sh to the repository, which you can run in place of build.sh.

Thank you for the suggestion with adding it to bioconda! I'll look into doing that since I agree it would significantly improve the usability.

Best, Melanie

wdecoster commented 4 years ago

Hi Melanie,

Thanks for your fast reply. I installed autoconf and htslib using conda, which seems to solve some of the problems before getting stuck at the following problem with curses, which did not get solved by conda install -c anaconda ncurses:

configure: error: curses development files not found

The 'samtools tview' command uses the curses text user interface library.
Building samtools with tview requires curses/ncurses/etc development files
to be installed on the build machine; you may need to ensure a package such
as libncurses5-dev (on Debian or Ubuntu Linux) or ncurses-devel (on RPM-based
Linux distributions) is installed.

FAILED.  Either configure --without-curses or resolve this error to build
samtools successfully.
cd ../htslib && make htslib_static.mk
make[1]: Entering directory `/home/wdecoster/repositories/Jasmine/Iris/htslib'
sed -n '/^static_libs=/s/[^=]*=/HTSLIB_static_LIBS = /p;/^static_ldflags=/s/[^=]*=/HTSLIB_static_LDFLAGS = /p' htslib.pc.tmp > htslib_static.mk
make[1]: Leaving directory `/home/wdecoster/repositories/Jasmine/Iris/htslib'
gcc  -L./lz4  -o samtools bam_index.o bam_plcmd.o sam_view.o bam_fastq.o bam_cat.o bam_md.o bam_reheader.o bam_sort.o bedidx.o bam_rmdup.o bam_rmdupse.o bam_mate.o bam_stat.o bam_color.o bamtk.o bam2bcf.o bam2bcf_indel.o sample.o cut_target.o phase.o bam2depth.o coverage.o padding.o bedcov.o bamshuf.o faidx.o dict.o stats.o stats_isize.o bam_flags.o bam_split.o bam_tview.o bam_tview_curses.o bam_tview_html.o bam_lpileup.o bam_quickcheck.o bam_addrprg.o bam_markdup.o tmp_file.o ./lz4/lz4.o libbam.a libst.a ../htslib/libhts.a -lpthread -lz -lm -lbz2 -llzma -lcurses -lm -lz  -lpthread
/usr/bin/ld: cannot find -lcurses
collect2: error: ld returned 1 exit status
make: *** [samtools] Error 1

But installation using build_no_iris.sh works without (further) errors so that's nice. But probably I also want to use Iris. Should I open an issue in that repository?

Cheers, Wouter

mkirsche commented 4 years ago

Hi Wouter,

Sorry to hear it's still not working. I have started the process of adding Iris to bioconda (the pull request is currently awaiting review), so that should help with these dependency issues and will hopefully be there in the next couple of days. In the meantime, since you are using conda, you could try the following to build the dependencies through conda rather than from source:

javac -cp  path/to/Jasmine/Iris/src  path/to/Jasmine/src/*.java 

conda install samtools racon minimap2
path/to/Jasmine/run.sh iris_args=samtools_path=samtools,racon_path=racon,minimap_path=minimap2 [other_args]

If you are running Iris on its own, you could use those same path arguments.

As for the github issue, leaving it here is fine!

Melanie

mkirsche commented 4 years ago

Hi Wouter,

I just wanted to let you know that Jasmine is now available on conda (conda install jasminesv), as is Iris if you prefer to run it on its own (conda install irissv). I'm going to wait until I've tested that installation method some more before I switch over the documentation on this repo to point to that installation method, but it should be working if you'd prefer to install the software that way.

Best, Melanie