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
                    Best Practices for Single-Cell Sequencing Analysis
                    by seqadmin



                    While isolating and preparing single cells for sequencing was historically the bottleneck, recent technological advancements have shifted the challenge to data analysis. This highlights the rapidly evolving nature of single-cell sequencing. The inherent complexity of single-cell analysis has intensified with the surge in data volume and the incorporation of diverse and more complex datasets. This article explores the challenges in analysis, examines common pitfalls, offers...
                    06-06-2024, 07:15 AM
                  • seqadmin
                    Latest Developments in Precision Medicine
                    by seqadmin



                    Technological advances have led to drastic improvements in the field of precision medicine, enabling more personalized approaches to treatment. This article explores four leading groups that are overcoming many of the challenges of genomic profiling and precision medicine through their innovative platforms and technologies.

                    Somatic Genomics
                    “We have such a tremendous amount of genetic diversity that exists within each of us, and not just between us as individuals,”...
                    05-24-2024, 01:16 PM

                  ad_right_rmr

                  Collapse

                  News

                  Collapse

                  Topics Statistics Last Post
                  Started by seqadmin, Yesterday, 06:54 AM
                  0 responses
                  10 views
                  0 likes
                  Last Post seqadmin  
                  Started by seqadmin, 06-14-2024, 07:24 AM
                  0 responses
                  18 views
                  0 likes
                  Last Post seqadmin  
                  Started by seqadmin, 06-13-2024, 08:58 AM
                  0 responses
                  16 views
                  0 likes
                  Last Post seqadmin  
                  Started by seqadmin, 06-12-2024, 02:20 PM
                  0 responses
                  17 views
                  0 likes
                  Last Post seqadmin  
                  Working...
                  X