Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Install Dindel on Mac

    I have struggled a long time to install Dindel on Mac and finally got it installed. I just write it down. Hope this is helpful to others. Many thanks to Kees Albers and csoong. The information they provide helps me a lot.

    Please also read cscong's thread.
    Discussion of next-gen sequencing related bioinformatics: resources, algorithms, open source efforts, etc


    My Mac is version 10.6.5. To install Dindel on your Mac:

    1) install samtools (the samtools need to be compiled)


    2) install boost library


    After untar the tarball, you need to go into the directory("boost_1_45_0" in my case) and run:

    ./bootstrap.sh -prefix=DIR_PATH
    ./bjam install

    This will take a while and all boost binaries(library) and headers will installed
    under DIR_PATH (subdirectory lib/ contains boost binaries and include/ contains boost headers).

    3) install Dindel


    Note: please download the src file ("dindel-1.01-src.tar.gz" in my case).

    Untar the file and go into the directory ("dindel-1.01-src" in my case).

    Open "MakeFile" in a text editor and change some places as what cscong said (cscong has pasted his/her MakeFile in that thread). Basically:
    - add the path to the samtools you installed
    - remove static flag
    - add boost lib/ and include/ in "CXXFLAGS" and add boost lib/ in "LDFLAGS", These directories are "/opt/local/lib/" and "/opt/local/lib/" in cscong case. If you follow my way to install boost, the lib/ and include/ directory should under directory "DIR_PATH" you provided.

    now you can type "make" in the Dindel directory and run. After this, you will see dindel executable file.

    In general, this should be enough now. However, in my case, when I run dindel, I got error message "can not loading library ...", so I copy the following two files from boost lib/ to the Dindel directory:

    libboost_program_options.dylib
    libboost_thread.dylib

    Then I can run dindel

    Note:
    1) By installation of dindel in this way, all python scripts (eg. makeWindows.py) are not included automatically. You need to get those by downloading linux or mac-version of installation files (for example: dindel-1.01-mac-os-x.tar.gz). (Many thanks to Ida to let me know this)
    2) In my case, I can not call dindel from other directories in the system, since the system doesn't know where to find the "dylib" files. One way to get around this is to copy "libboost_program_options.dylib" and "libboost_thread.dylib" to where I want to call dindel. Otherwise, I will still get error message of "can not loading library".
    Last edited by yinshe; 01-19-2011, 11:31 PM. Reason: to get it more accurate

  • #2
    Originally posted by yinshe View Post
    I Hope this is helpful to others.
    Of course! Thanks for posting this.
    -drd

    Comment


    • #3
      Thanks for this post yinshe,

      I too was struggling with installing Dindel on the Mac, but after following your post it is now working.

      Comment


      • #4
        this post is great!!! thank you so much.

        Comment


        • #5
          I'm not an avid computer user and I have tried to follow the directions here and in the other thread. I put the newest version of boost into a directory and tried to install it there (I made the "DIR_PATH" the same path as the boost folder). I then followed the directions as stated but when trying to "make" Dindel I get the following messages:

          Code:
          /Users/Name/Shared/boost_1_48_0/include/boost/lexical_cast.hpp: In function 'bool boost::detail::parse_inf_nan_impl(const CharT*, const CharT*, T&, const CharT*, const CharT*, const CharT*, const CharT*, CharT, CharT)':
          /Users/Name/Shared/boost_1_48_0/include/boost/lexical_cast.hpp:676: error: 'changesign' is not a member of 'boost::math'
          /Users/Name/Shared/boost_1_48_0/include/boost/lexical_cast.hpp:693: error: 'changesign' is not a member of 'boost::math'
          /Users/Name/Shared/boost_1_48_0/include/boost/lexical_cast.hpp: In function 'bool boost::detail::lcast_ret_float(T&, const CharT*, const CharT*)':
          /Users/Name/Shared/boost_1_48_0/include/boost/lexical_cast.hpp:1025: error: 'changesign' is not a member of 'boost::math'
          In file included from Library.hpp:32,
                           from Read.hpp:20,
                           from ObservationModelFB.hpp:19,
                           from DInDel.hpp:29,
                           from DInDel.cpp:29:
          StringHash.hpp: In member function 'size_t my_hash_funct::operator()(const std::string&) const':
          StringHash.hpp:35: error: reference to 'hash' is ambiguous
          cc1plus: error: candidates are: #'tree_list' not supported by dump_decl#<declaration error>
          /usr/include/c++/4.2.1/ext/hash_fun.h:71: error:                 template<class _Key> struct __gnu_cxx::hash
          StringHash.hpp:35: error: expected primary-expression before 'const'
          StringHash.hpp:35: error: expected ';' before 'const'
          StringHash.hpp:35: error: expected unqualified-id before '>' token
          StringHash.hpp:35: error: expected initializer before '>' token
          make: *** [DInDel.o] Error 1
          Does anybody have any idea what I can do to make this work?

          Comment


          • #6
            Originally posted by Heisman View Post
            I'm not an avid computer user and I have tried to follow the directions here and in the other thread. I put the newest version of boost into a directory and tried to install it there (I made the "DIR_PATH" the same path as the boost folder). I then followed the directions as stated but when trying to "make" Dindel I get the following messages:

            Code:
            /Users/Name/Shared/boost_1_48_0/include/boost/lexical_cast.hpp: In function 'bool boost::detail::parse_inf_nan_impl(const CharT*, const CharT*, T&, const CharT*, const CharT*, const CharT*, const CharT*, CharT, CharT)':
            /Users/Name/Shared/boost_1_48_0/include/boost/lexical_cast.hpp:676: error: 'changesign' is not a member of 'boost::math'
            /Users/Name/Shared/boost_1_48_0/include/boost/lexical_cast.hpp:693: error: 'changesign' is not a member of 'boost::math'
            /Users/Name/Shared/boost_1_48_0/include/boost/lexical_cast.hpp: In function 'bool boost::detail::lcast_ret_float(T&, const CharT*, const CharT*)':
            /Users/Name/Shared/boost_1_48_0/include/boost/lexical_cast.hpp:1025: error: 'changesign' is not a member of 'boost::math'
            In file included from Library.hpp:32,
                             from Read.hpp:20,
                             from ObservationModelFB.hpp:19,
                             from DInDel.hpp:29,
                             from DInDel.cpp:29:
            StringHash.hpp: In member function 'size_t my_hash_funct::operator()(const std::string&) const':
            StringHash.hpp:35: error: reference to 'hash' is ambiguous
            cc1plus: error: candidates are: #'tree_list' not supported by dump_decl#<declaration error>
            /usr/include/c++/4.2.1/ext/hash_fun.h:71: error:                 template<class _Key> struct __gnu_cxx::hash
            StringHash.hpp:35: error: expected primary-expression before 'const'
            StringHash.hpp:35: error: expected ';' before 'const'
            StringHash.hpp:35: error: expected unqualified-id before '>' token
            StringHash.hpp:35: error: expected initializer before '>' token
            make: *** [DInDel.o] Error 1
            Does anybody have any idea what I can do to make this work?
            Woohoo, got it working. My problem was that I was using the latest version of boost (1_48_0) instead of 1_45_0. It didn't occur to me that dindel may not be compatible with later versions but apparently it isn't.

            Comment


            • #7
              Hi Everyone! Thanks to all those in this thread for their invaluable help.. I got it installed today.. Also if you don't want to copy the .dylib to your current folder you can do something like this export DYLD_LIBRARY_PATH=/Users/kunigami/dev/boost/lib:$DYLD_LIBRARY_PATH from http://kuniganotas.wordpress.com/201...s-on-mac-os-x/... Good luck fellow Bioinformaticists !!

              Comment


              • #8
                Thanks for everyones help so far in this. I've followed the tips and it has helped me get around a bunch of issues. But I am running into this issue now:


                g++ -o dindel -I/share/lustre/fong/usr/samtools-0.1.18/ -Iseqan_library/ -I./ -I /home/fong/usr/local/boost-1.45.0/include -I /home/fong/usr/local/boost-1.45.0/lib -Wno-deprecated -O3 DInDel.o HapBlock.o HaplotypeDistribution.o ObservationModelFB.o GetCandidates.o Faster.o -L/share/lustre/fong/usr/samtools-0.1.18/ -L /home/fong/usr/local/boost-1.45.0/lib -lbam -lz -l boost_program_options
                /usr/bin/ld: cannot find -lboost_program_options
                collect2: ld returned 1 exit status
                make: *** [dindel] Error 1

                Did anyone else encounter this? I am installing this on a linux machine with CentOS release 5.5 (Final) and not a Mac; So there could be some differences here...
                Last edited by fongchun; 10-16-2013, 04:09 PM. Reason: Added the OS I am installing on.

                Comment


                • #9
                  errors with seqan library

                  Like others the Mac binary for Dindel did not work for me. I then tried to build from source. My system is Mac OS 10.8.5.

                  I had several issues with building from the source.
                  - boost library version 1_45_0 (and not newer) is required
                  - the seqan library packaged with Dindel caused compilation to fail
                  In file included from DInDel.cpp:25:
                  In file included from seqan_library/seqan/align.h:31:
                  In file included from seqan_library/seqan/score.h:26:
                  In file included from seqan_library/seqan/file.h:66:
                  seqan_library/seqan/file/file_format_genbank.h:45:69: error: default arguments cannot be added to a function template that
                  has already been declared
                  goBegin(Iter<TFile, FileReader<Genbank, TFile2, TSpec> > & it, bool skip_meta = true)
                  ^ ~~~~
                  seqan_library/seqan/file/file_generated_forwards.h:948:72: note: previous template declaration is here
                  template <typename TFile, typename TFile2, typename TSpec> inline void goBegin(Iter<TFile, FileReader<Genbank, ...
                  - the boost library path could not be found by the boost binary

                  I'll record my solutions to each problem here as a record for myself and the community.

                  Installing the boost library.
                  1) Download the required boost library version 1_45_0.
                  2) Unpack the boost library and cd into it.
                  3)
                  Code:
                  bootstrap.sh --prefix=~/bin/boost
                  will run the bootstrap script and set your boost install directory as ~/bin/boost.
                  4)
                  Code:
                  bjam install
                  will install the boost headers and libraries in ~/bin/boost/include and ~/bin/boost/lib. Note that 'install' is critical.

                  Installing an updated Seqan library.
                  1) Download an updated library; I'm using 1.41.
                  2) No build step was necessary.

                  Installing Dindel.
                  1) Download the source and unpack it.
                  2) Open the Makefile.
                  3) To the CXXFLAGS line add -I/path/to/boost/include and -I/path/to/boost/lib.
                  4) To the LDFLAGS line add -L/path/to/boost/lib.
                  5) Remove the -static flag from the LDFLAGS line.
                  5) Change the SEQANDIR path to the path of the new Seqan.
                  6) Now make should work.

                  Fixing the
                  Code:
                  dyld: Library not loaded: libboost_program_options.dylib
                  error.
                  1) to your ~/.bash_profile add
                  Code:
                  export $DYLD_LIBRARY_PATH=/path/to/boost/lib:$DYLD_LIBRARY_PATH
                  Now Dindel runs for me. Haven't yet addressed the missing python scripts, but will soon.

                  Comment

                  Latest Articles

                  Collapse

                  • seqadmin
                    Strategies for Sequencing Challenging Samples
                    by seqadmin


                    Despite advancements in sequencing platforms and related sample preparation technologies, certain sample types continue to present significant challenges that can compromise sequencing results. Pedro Echave, Senior Manager of the Global Business Segment at Revvity, explained that the success of a sequencing experiment ultimately depends on the amount and integrity of the nucleic acid template (RNA or DNA) obtained from a sample. “The better the quality of the nucleic acid isolated...
                    03-22-2024, 06:39 AM
                  • seqadmin
                    Techniques and Challenges in Conservation Genomics
                    by seqadmin



                    The field of conservation genomics centers on applying genomics technologies in support of conservation efforts and the preservation of biodiversity. This article features interviews with two researchers who showcase their innovative work and highlight the current state and future of conservation genomics.

                    Avian Conservation
                    Matthew DeSaix, a recent doctoral graduate from Kristen Ruegg’s lab at The University of Colorado, shared that most of his research...
                    03-08-2024, 10:41 AM

                  ad_right_rmr

                  Collapse

                  News

                  Collapse

                  Topics Statistics Last Post
                  Started by seqadmin, 03-27-2024, 06:37 PM
                  0 responses
                  12 views
                  0 likes
                  Last Post seqadmin  
                  Started by seqadmin, 03-27-2024, 06:07 PM
                  0 responses
                  11 views
                  0 likes
                  Last Post seqadmin  
                  Started by seqadmin, 03-22-2024, 10:03 AM
                  0 responses
                  53 views
                  0 likes
                  Last Post seqadmin  
                  Started by seqadmin, 03-21-2024, 07:32 AM
                  0 responses
                  68 views
                  0 likes
                  Last Post seqadmin  
                  Working...
                  X