BradnerLab / pipeline

bradner lab computation pipeline scripts
Other
53 stars 47 forks source link

installation on MAC #53

Closed nbahlis closed 7 years ago

nbahlis commented 9 years ago

Hello,

thank you for the wonderful tools you made! I tried installing bamliquidator on MAC OS X10.10 but I kept getting the error below. Any advice would be deeply appreciated.

MacBook-Pro-2:bamliquidator_internal nizarjacquesbahlis$ make g++ -std=c++0x -O3 -g -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -c bamliquidator.m.cpp g++ -std=c++0x -O3 -g -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -pthread -c bamliquidator.cpp g++ -O3 -g -Wall -o bamliquidator bamliquidator.o bamliquidator.m.o -lbam -lz -lpthread Undefined symbols for architecture x86_64: "_bam_destroy1", referenced from: _bam_fetch in libbam.a(bam.o) _sampileup in libbam.a(sam.o) "_bam_hdr_destroy", referenced from: _samclose in libbam.a(sam.o) "_bam_init1", referenced from: _bam_fetch in libbam.a(bam.o) _sampileup in libbam.a(sam.o) "_bam_name2id", referenced from: _bam_parse_region in libbam.a(bam_aux.o) "_bam_plp_destroy", referenced from: _bam_plbuf_destroy in libbam.a(bam_plbuf.o) "_bam_plp_init", referenced from: _bam_plbuf_init in libbam.a(bam_plbuf.o) "_bam_plp_next", referenced from: _bam_plbuf_push in libbam.a(bam_plbuf.o) "_bam_plp_push", referenced from: _bam_plbuf_push in libbam.a(bam_plbuf.o) "_bam_plp_reset", referenced from: _bam_plbuf_reset in libbam.a(bam_plbuf.o) "_bam_read1", referenced from: _bam_fetch in libbam.a(bam.o) "_bgzf_mt", referenced from: _samthreads in libbam.a(sam.o) "_fai_build", referenced from: _samfaipath in libbam.a(sam.o) "_hts_close", referenced from: _samclose in libbam.a(sam.o) "_hts_get_format", referenced from: _samthreads in libbam.a(sam.o) _samopen in libbam.a(sam.o) "_hts_idx_destroy", referenced from: liquidate(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, unsigned int, unsigned int, char, unsigned int, unsigned int) in bamliquidator.o "_hts_idx_load", referenced from: liquidate(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, unsigned int, unsigned int, char, unsigned int, unsigned int) in bamliquidator.o "_hts_itr_destroy", referenced from: _bam_fetch in libbam.a(bam.o) "_hts_itr_next", referenced from: _bam_fetch in libbam.a(bam.o) "_hts_open", referenced from: _samopen in libbam.a(sam.o) "_hts_parse_reg", referenced from: _bam_parse_region in libbam.a(bam_aux.o) "_hts_set_fai_filename", referenced from: _samopen in libbam.a(sam.o) "_hts_verbose", referenced from: _samopen in libbam.a(sam.o) _samfaipath in libbam.a(sam.o) "_sam_format1", referenced from: _bam_format1 in libbam.a(bam.o) _bam_view1 in libbam.a(bam.o) "_sam_hdr_read", referenced from: _samopen in libbam.a(sam.o) "_sam_hdr_write", referenced from: _samopen in libbam.a(sam.o) "_sam_itr_queryi", referenced from: _bam_fetch in libbam.a(bam.o) "_sam_read1", referenced from: _sampileup in libbam.a(sam.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *\ [bamliquidator] Error 1

jdimatteo commented 8 years ago

Hi @nbahlis , sorry for the delayed response.

Did you try following these detailed build instructions, which includes build instructions of Mac OS?

https://github.com/BradnerLab/pipeline/wiki/bamliquidator#check-list

It looks like you either don't have samtools installed or it isn't configured properly so the linker can't find libbam.a.

If this doesn't help, can you please type into your terminal brew info samtools and reply back with the output?

Thanks

nbahlis commented 8 years ago

thank you John for your reply. that’s what I get for brew info samtools:

homebrew/science/samtools: stable 1.2 (bottled), HEAD http://www.htslib.org/ /usr/local/Cellar/samtools/1.2 (44 files, 1.2M) * Poured from bottle From: https://github.com/homebrew/homebrew-science/blob/master/samtools.rb ==> Dependencies Required: htslib ✔ Optional: dwgsim ✘ ==> Options --with-dwgsim Build with Whole Genome Simulation --without-curses Skip use of libcurses, for platforms without it, or different curses naming --HEAD Install HEAD version

thank you nizar

On Nov 30, 2015, at 9:00 PM, John DiMatteo notifications@github.com wrote:

Hi @nbahlis https://github.com/nbahlis , sorry for the delayed response.

Did you try following these detailed build instructions, which includes build instructions of Mac OS?

https://github.com/BradnerLab/pipeline/wiki/bamliquidator#check-list https://github.com/BradnerLab/pipeline/wiki/bamliquidator#check-list It looks like you either don't have samtools installed or it isn't configured properly so the linker can't find libbam.a.

If this doesn't help, can you please type into your terminal brew info samtools and reply back with the output?

Thanks

— Reply to this email directly or view it on GitHub https://github.com/BradnerLab/pipeline/issues/53#issuecomment-160845207.

jdimatteo commented 8 years ago

Sorry I haven't built on a Mac in a while and I'm afraid that the makefile needs changes to work with the current version of samtools.

Can you please try adding -lhts to the makefile? Change this line of bamliquidator_internal/makefile

LDLIBS := -lbam -lz -lpthread

to this:

LDLIBS := -lbam -lz -lpthread -lhts

Unfortunately I won't have access to a mac for a few days, so I can't test this myself. If you can hold on for a few more days, I will test building on the mac and update the makefile as necessary.

nbahlis commented 8 years ago

Thank you John

Adding -lhts seem to have solved the problem. I will do some more testing.

Nizar

On Nov 30, 2015, at 10:25 PM, John DiMatteo notifications@github.com wrote:

Sorry I haven't built on a Mac in a while and I'm afraid that the makefile needs changes to work with the current version of samtools.

Can you please try adding -lhts to the makefile? Change this line of bamliquidator_internal/makefile

LDLIBS := -lbam -lz -lpthread to this:

LDLIBS := -lbam -lz -lpthread -lhts Unfortunately I won't have access to a mac for a few days, so I can't test this myself. If you can hold on for a few more days, I will test building on the mac and update the makefile as necessary.

— Reply to this email directly or view it on GitHub.

jdimatteo commented 8 years ago

Hi Nizar,

You should be all set then. You can run python bamliquidatorbatch/test.py from the bamliquidator_internal directory, and if it ends with "Ran 22 tests in...OK" and exit code 0 then you should feel confident everything is working correctly with your build. (Note that the python tests many error conditions, so please ignore ERROR/WARNING stdout messages -- the exit code of 0 and the "OK" indicates that the tests all passed.)

Regards, John

jdimatteo commented 8 years ago

I'll update the make file in a few days so that nobody else runs into the same problem you had.

nbahlis commented 8 years ago

thanks John for your help, I had to install tables.

I think the the test.py was fine.Please see below, do I need bokeh

/Users…….../pipeline/bamliquidator_internal/bamliquidatorbatch/normalize_plot_and_summarize.py:243: RuntimeWarning: invalid value encountered in true_divide percentiles = (stats.rankdata(normalized_count_list) - 1) / (len(normalized_count_list)-1) * 100 ERROR:root:Skipping plotting because plots require a compatible version of bokeh -- see https://github.com/BradnerLab/pipeline/wiki/bamliquidator#Install . Bokeh module not found; consider running the following command to install: sudo pip install bokeh ERROR:root:Skipping plotting because plots require a compatible version of bokeh -- see https://github.com/BradnerLab/pipeline/wiki/bamliquidator#Install . Bokeh module not found; consider running the following command to install: sudo pip install bokeh ERROR:root:Skipping plotting because plots require a compatible version of bokeh -- see https://github.com/BradnerLab/pipeline/wiki/bamliquidator#Install . Bokeh module not found; consider running the following command to install: sudo pip install bokeh .ERROR:root:Skipping plotting because plots require a compatible version of bokeh -- see https://github.com/BradnerLab/pipeline/wiki/bamliquidator#Install . Bokeh module not found; consider running the following command to install: sudo pip install bokeh .ERROR:root:Skipping plotting because plots require a compatible version of bokeh -- see https://github.com/BradnerLab/pipeline/wiki/bamliquidator#Install . Bokeh module not found; consider running the following command to install: sudo pip install bokeh .ERROR:root:Skipping plotting because plots require a compatible version of bokeh -- see https://github.com/BradnerLab/pipeline/wiki/bamliquidator#Install . Bokeh module not found; consider running the following command to install: sudo pip install bokeh .ERROR:root:Skipping plotting because plots require a compatible version of bokeh -- see https://github.com/BradnerLab/pipeline/wiki/bamliquidator#Install . Bokeh module not found; consider running the following command to install: sudo pip install bokeh .ERROR:root:Skipping plotting because plots require a compatible version of bokeh -- see https://github.com/BradnerLab/pipeline/wiki/bamliquidator#Install . Bokeh module not found; consider running the following command to install: sudo pip install bokeh .ERROR:root:Skipping plotting because plots require a compatible version of bokeh -- see https://github.com/BradnerLab/pipeline/wiki/bamliquidator#Install . Bokeh module not found; consider running the following command to install: sudo pip install bokeh .ERROR Bin size cannot be zero .ERROR:root:Skipping plotting because plots require a compatible version of bokeh -- see https://github.com/BradnerLab/pipeline/wiki/bamliquidator#Install . Bokeh module not found; consider running the following command to install: sudo pip install bokeh .WARNING No valid regions detected in /var/folders/wr/q543_lks5wg4bpth7my9nsc00000gn/T/blt_jU4hwJ/empty.gff WARNING No valid regions detected in /var/folders/wr/q543_lks5wg4bpth7my9nsc00000gn/T/blt_jU4hwJ/empty.gff .WARNING Excluding invalid region on line 1: bam file key 1 chr1 region1 60 -> 70 . 0 WARNING No valid regions detected in /var/folders/wr/q543_lks5wg4bpth7my9nsc00000gn/T/blt_VTTgij/single.gff ..ERROR Unhandled exception: Not enough columns parsing line 1 '' of /var/folders/wr/q543_lks5wg4bpth7my9nsc00000gn/T/blt_CF608r/single.bed ERROR Unhandled exception: Not enough columns parsing line 1 'chr1' of /var/folders/wr/q543_lks5wg4bpth7my9nsc00000gn/T/blt_CF608r/single.bed ERROR Unhandled exception: Not enough columns parsing line 1 'chr1 1' of /var/folders/wr/q543_lks5wg4bpth7my9nsc00000gn/T/blt_CF608r/single.bed .....WARNING Truncated region on line 1 from 'rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr' to 'rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr' ..WARNING Truncated region on line 1 from 'rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr' to 'rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr' ..WARNING Excluding invalid region on line 1: bam file key 1 chr10 region1 60 -> 70 . 0 WARNING No valid regions detected in /var/folders/wr/q543_lks5wg4bpth7my9nsc00000gn/T/blt_UpjYae/single.gff

.

Ran 22 tests in 1.811s

OK Closing remaining open files:/var/folders/wr/q543_lks5wg4bpth7my9nsc00000gn/T/blt_ogBXxZ/output/counts.h5…done

thanks again nizar

On Dec 1, 2015, at 9:04 AM, John DiMatteo notifications@github.com wrote:

I'll update the make file in a few days so that nobody else runs into the same problem you had.

— Reply to this email directly or view it on GitHub https://github.com/BradnerLab/pipeline/issues/53#issuecomment-161013950.

jdimatteo commented 8 years ago

Hi Nizar,

Your test result indicates that all tests passed.

bokeh is optional, and is used to create html graphs like this: http://jdimatteo.github.io/Meta-Analysis/chr20.html

It is up to you whether or not you want to use the bokeh graphs to visually inspect the output directly, or whether you just need the .txt or .hdf5 bamliquidator output.

Regards, John

nbahlis commented 8 years ago

Super, thanks again John for your help

Nizar

On Dec 1, 2015, at 11:31 PM, John DiMatteo notifications@github.com wrote:

Hi Nizar,

Your test result indicates that all tests passed.

bokeh is optional, and is used to create html graphs like this: http://jdimatteo.github.io/Meta-Analysis/chr20.html

It is up to you whether or not you want to use the bokeh graphs to visually inspect the output directly, or whether you just need the .txt or .hdf5 bamliquidator output.

Regards, John

— Reply to this email directly or view it on GitHub.