Seqanswers Leaderboard Ad

Collapse

Announcement

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

  • installing Burrows-Wheeler Aligner (BWA) on windows

    Hi all!

    Can someone tell me, if it is possible to use BWA in windows, and if it is, then how can I install it?
    I was told, that I should install a program called Cygwin, and use it to build BWA from the source. I've never done anything like this, so its quite possible that I'm doing it wrong, here is how I tried to do it:

    I managed to get to the directory in cygwin, where the source files are, then typed ./configure . However, I got an error that there is no such file or directory. I checked the directory, and there really aren't configure files in the source (I don't know, if this is normal). So I thought okay, im gonna skip the configure part, and jump to the make part. I typed make, and got a whole lot of errors:

    $ make
    gcc -c -g -Wall -O2 -DHAVE_PTHREAD QSufSort.c -o QSufSort.o
    gcc -c -g -Wall -O2 -DHAVE_PTHREAD bwt_gen.c -o bwt_gen.o
    gcc -c -g -Wall -O2 -DHAVE_PTHREAD utils.c -o utils.o
    gcc -c -g -Wall -O2 -DHAVE_PTHREAD bwt.c -o bwt.o
    gcc -c -g -Wall -O2 -DHAVE_PTHREAD bwtio.c -o bwtio.o
    gcc -c -g -Wall -O2 -DHAVE_PTHREAD bwtaln.c -o bwtaln.o
    gcc -c -g -Wall -O2 -DHAVE_PTHREAD bwtgap.c -o bwtgap.o
    gcc -c -g -Wall -O2 -DHAVE_PTHREAD is.c -o is.o
    gcc -c -g -Wall -O2 -DHAVE_PTHREAD bntseq.c -o bntseq.o
    bntseq.c: In function ‘ks_getuntil’:
    bntseq.c:38:1: warning: array subscript has type ‘char’
    gcc -c -g -Wall -O2 -DHAVE_PTHREAD bwtmisc.c -o bwtmisc.o
    gcc -c -g -Wall -O2 -DHAVE_PTHREAD bwtindex.c -o bwtindex.o
    gcc -c -g -Wall -O2 -DHAVE_PTHREAD ksw.c -o ksw.o
    In file included from ksw.c:29:0:
    /usr/lib/gcc/i686-pc-cygwin/4.5.3/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"
    ksw.c:43:2: error: expected specifier-qualifier-list before ‘__m128i’
    ksw.c: In function ‘ksw_qinit’:
    ksw.c:55:3: error: ‘ksw_query_t’ has no member named ‘qp’
    ksw.c:55:11: error: ‘__m128i’ undeclared (first use in this function)
    ksw.c:55:11: note: each undeclared identifier is reported only once for each fun ction it appears in
    ksw.c:55:19: error: expected expression before ‘)’ token
    ksw.c:56:3: error: ‘ksw_query_t’ has no member named ‘H0’
    ksw.c:56:11: error: ‘ksw_query_t’ has no member named ‘qp’
    ksw.c:57:3: error: ‘ksw_query_t’ has no member named ‘H1’
    ksw.c:57:11: error: ‘ksw_query_t’ has no member named ‘H0’
    ksw.c:58:3: error: ‘ksw_query_t’ has no member named ‘E’
    ksw.c:58:11: error: ‘ksw_query_t’ has no member named ‘H1’
    ksw.c:59:3: error: ‘ksw_query_t’ has no member named ‘Hmax’
    ksw.c:59:13: error: ‘ksw_query_t’ has no member named ‘E’
    ksw.c:73:25: error: ‘ksw_query_t’ has no member named ‘qp’
    ksw.c:82:27: error: ‘ksw_query_t’ has no member named ‘qp’
    ksw.c: In function ‘ksw_sse2_16’:
    ksw.c:98:2: error: ‘__m128i’ undeclared (first use in this function)
    ksw.c:98:10: error: expected ‘;’ before ‘zero’
    ksw.c:110:2: error: ‘zero’ undeclared (first use in this function)
    ksw.c:110:2: warning: implicit declaration of function ‘_mm_set1_epi32’
    ksw.c:111:2: error: ‘gapoe’ undeclared (first use in this function)
    ksw.c:111:2: warning: implicit declaration of function ‘_mm_set1_epi8’
    ksw.c:112:2: error: ‘gape’ undeclared (first use in this function)
    ksw.c:113:2: error: ‘shift’ undeclared (first use in this function)
    ksw.c:114:2: error: ‘H0’ undeclared (first use in this function)
    ksw.c:114:8: error: ‘ksw_query_t’ has no member named ‘H0’
    ksw.c:114:14: error: ‘H1’ undeclared (first use in this function)
    ksw.c:114:20: error: ‘ksw_query_t’ has no member named ‘H1’
    ksw.c:114:26: error: ‘E’ undeclared (first use in this function)
    ksw.c:114:31: error: ‘ksw_query_t’ has no member named ‘E’
    ksw.c:114:36: error: ‘Hmax’ undeclared (first use in this function)
    ksw.c:114:44: error: ‘ksw_query_t’ has no member named ‘Hmax’
    ksw.c:117:3: warning: implicit declaration of function ‘_mm_store_si128’
    ksw.c:124:11: error: expected ‘;’ before ‘e’
    ksw.c:125:3: error: ‘h’ undeclared (first use in this function)
    ksw.c:125:3: warning: implicit declaration of function ‘_mm_load_si128’
    ksw.c:126:3: warning: implicit declaration of function ‘_mm_slli_si128’
    ksw.c:134:4: warning: implicit declaration of function ‘_mm_adds_epu8’
    ksw.c:134:40: error: ‘S’ undeclared (first use in this function)
    ksw.c:135:4: warning: implicit declaration of function ‘_mm_subs_epu8’
    ksw.c:136:4: error: ‘e’ undeclared (first use in this function)
    ksw.c:137:4: warning: implicit declaration of function ‘_mm_max_epu8’
    ksw.c:138:24: error: ‘f’ undeclared (first use in this function)
    ksw.c:139:4: error: ‘max’ undeclared (first use in this function)
    ksw.c:161:5: warning: implicit declaration of function ‘_mm_movemask_epi8’
    ksw.c:161:5: warning: implicit declaration of function ‘_mm_cmpeq_epi8’
    ksw.c:167:3: warning: implicit declaration of function ‘_mm_srli_si128’
    ksw.c:167:3: warning: implicit declaration of function ‘_mm_extract_epi16’
    ksw.c: In function ‘ksw_sse2_8’:
    ksw.c:208:2: error: ‘__m128i’ undeclared (first use in this function)
    ksw.c:208:10: error: expected ‘;’ before ‘zero’
    ksw.c:219:2: error: ‘zero’ undeclared (first use in this function)
    ksw.c:220:2: error: ‘gapoe’ undeclared (first use in this function)
    ksw.c:220:2: warning: implicit declaration of function ‘_mm_set1_epi16’
    ksw.c:221:2: error: ‘gape’ undeclared (first use in this function)
    ksw.c:222:2: error: ‘H0’ undeclared (first use in this function)
    ksw.c:222:8: error: ‘ksw_query_t’ has no member named ‘H0’
    ksw.c:222:14: error: ‘H1’ undeclared (first use in this function)
    ksw.c:222:20: error: ‘ksw_query_t’ has no member named ‘H1’
    ksw.c:222:26: error: ‘E’ undeclared (first use in this function)
    ksw.c:222:31: error: ‘ksw_query_t’ has no member named ‘E’
    ksw.c:222:36: error: ‘Hmax’ undeclared (first use in this function)
    ksw.c:222:44: error: ‘ksw_query_t’ has no member named ‘Hmax’
    ksw.c:232:11: error: expected ‘;’ before ‘e’
    ksw.c:233:3: error: ‘h’ undeclared (first use in this function)
    ksw.c:236:4: warning: implicit declaration of function ‘_mm_adds_epi16’
    ksw.c:236:27: error: ‘S’ undeclared (first use in this function)
    ksw.c:237:4: error: ‘e’ undeclared (first use in this function)
    ksw.c:238:4: warning: implicit declaration of function ‘_mm_max_epi16’
    ksw.c:239:25: error: ‘f’ undeclared (first use in this function)
    ksw.c:240:4: error: ‘max’ undeclared (first use in this function)
    ksw.c:242:4: warning: implicit declaration of function ‘_mm_subs_epu16’
    ksw.c:258:5: warning: implicit declaration of function ‘_mm_cmpgt_epi16’
    make: *** [ksw.o] Error 1

    I would really appreciate, if someone could help me out with this.

    Thanks, Attila Vikor

  • #2
    Try opening the "Makefile" and changing this line:
    Code:
    DFLAGS=     -DHAVE_PTHREAD #-D_NO_SSE2 #-D_FILE_OFFSET_BITS=64
    to this
    Code:
    DFLAGS=     -DHAVE_PTHREAD -D_NO_SSE2 #-D_FILE_OFFSET_BITS=64

    Comment


    • #3
      maybe virtual machine more easy

      Comment


      • #4
        Changed the line in the makefile, and the make went through without an error!
        Thank you!

        Comment


        • #5
          Note that anything you build with Cygwin will be a 32-bit executable, even on 64-bit Windows. This greatly limits the size of the files bwa can handle. If this is an issue and you have a 64-bit system, consider dual booting to 64-bit Linux, or perhaps running it in a VM.

          Edit: I don't know if anyone has built a native 64-bit Windows bwa - I had a go a while ago with mingw, but ran into problems with missing posix functions.
          Last edited by RDW; 12-02-2011, 03:10 PM.

          Comment


          • #6
            A free tool: Unipro UGENE contains BWA for windows in its full package:

            UGENE is a free open source software for DNA and protein sequence visualization, alignment, assembly and annotation
            ---
            http://ugene.unipro.ru

            Comment


            • #7
              UGENE looks like a useful collection of tools, though the BWA build is still 32-bit.

              Comment


              • #8
                Hope we get 64 bit version soon

                Please track:
                ---
                http://ugene.unipro.ru

                Comment


                • #9
                  Dear all,

                  Please check http://bow.codeplex.com/
                  Just released BWA on x64 Windows, natively compiled on Windows without using any 3dr party library.

                  Best,

                  dong

                  Comment


                  • #10
                    How can I install BWA on Windows

                    Hi all!

                    I try to install BWA on windows and the compilation of a program is the very first time for me, so I think that I did a lot of mistakes.
                    I installed bwa and cygwin. Following the 'make' command within the cygwin shell something happend but if I try to start bwa with the commoand 'bwa' within the cmd console I got the respond that cygwin1.dll is not installed.

                    The following happend after the make command:

                    $ make
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 utils.c -o utils.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 kthread.c -o kthread.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 kstring.c -o kstring.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 ksw.c -o ksw.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwt.c -o bwt.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bntseq.c -o bntseq.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwa.c -o bwa.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwamem.c -o bwamem.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwamem_pair.c -o bwamem_pair.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwamem_extra.c -o bwamem_extra.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 malloc_wrap.c -o malloc_wrap.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 QSufSort.c -o QSufSort.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwt_gen.c -o bwt_gen.o
                    bwt_gen.c: In Funktion »BWTIncBuildRelativeRank«:
                    bwt_gen.c:878:10: Warnung: Variable »oldInverseSa0RelativeRank« gesetzt, aber nicht verwendet [-Wunused-but-set-variable]
                    bgint_t oldInverseSa0RelativeRank = 0;
                    ^
                    bwt_gen.c: In Funktion »BWTIncMergeBwt«:
                    bwt_gen.c:952:15: Warnung: Variable »bitsInWordMinusBitPerChar« gesetzt, aber nicht verwendet [-Wunused-but-set-variable]
                    unsigned int bitsInWordMinusBitPerChar;
                    ^
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 rope.c -o rope.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 rle.c -o rle.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 is.c -o is.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwtindex.c -o bwtindex.o
                    ar -csru libbwa.a utils.o kthread.o kstring.o ksw.o bwt.o bntseq.o bwa.o bwamem.o bwamem_pair.o bwamem_extra.o malloc_wrap.o QSufSort.o bwt_gen.o rope.o rle.o is.o bwtindex.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwashm.c -o bwashm.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwase.c -o bwase.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwaseqio.c -o bwaseqio.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwtgap.c -o bwtgap.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwtaln.c -o bwtaln.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bamlite.c -o bamlite.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwape.c -o bwape.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 kopen.c -o kopen.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 pemerge.c -o pemerge.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 maxk.c -o maxk.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwtsw2_core.c -o bwtsw2_core.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwtsw2_main.c -o bwtsw2_main.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwtsw2_aux.c -o bwtsw2_aux.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwt_lite.c -o bwt_lite.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwtsw2_chain.c -o bwtsw2_chain.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 fastmap.c -o fastmap.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwtsw2_pair.c -o bwtsw2_pair.o
                    gcc -c -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 main.c -o main.o
                    gcc -g -Wall -O2 -DHAVE_PTHREAD -D_NO_SSE2 bwashm.o bwase.o bwaseqio.o bwtgap.o bwtaln.o bamlite.o bwape.o kopen.o pemerge.o maxk.o bwtsw2_core.o bwtsw2_main.o bwtsw2_aux.o bwt_lite.o bwtsw2_chain.o fastmap.o bwtsw2_pair.o main.o -o bwa -L. -lbwa -lm -lz -lpthread

                    Is there any executable files available for bwa-0.7.15?

                    I would be really happy if somebody can help me!

                    Cheers, Lizzy

                    Comment


                    • #11
                      Where are you trying to run it from? The missing dll suggests you might be trying to use it from (e.g.) the Windows command prompt rather than the Cygwin bash shell, which complicates things a lot. After running make from Cygwin bash is there a 'bwa.exe' in your bwa source directory? If so, in bash navigate to the source directory and try:

                      ./bwa

                      If this works, then you successfully built bwa, but it just isn't in your PATH (the current directory is not in your PATH by default). To see a list of directories that are in your Cygwin PATH, from bash try:

                      echo $PATH

                      You can copy bwa.exe to one of these directories and the 'bwa' command should work from the Cygwin bash in any directory.

                      Edit: Incidentally, things have moved on since this very old thread began! 64-bit Cygwin is now available and can build 64-bit bwa, and UGENE also has a pre-compiled 64-bit (Cygwin) build, though it's not the latest version.
                      Last edited by RDW; 10-20-2016, 05:39 PM.

                      Comment


                      • #12
                        Thanks a lot, it works!

                        Yes, there was a bwa.exe after running the make command and I could initiate bwa by using ./bwa. I used the cygwin bash.

                        Thank you and best wishes from Berlin,
                        Lizzy

                        Comment


                        • #13
                          One more question: Why I have to use ./ in advance of the bwa command. Could you tell me what is the reason for that?

                          Thanks, Lizzy

                          Comment

                          Latest Articles

                          Collapse

                          • seqadmin
                            Advancing Precision Medicine for Rare Diseases in Children
                            by seqadmin




                            Many organizations study rare diseases, but few have a mission as impactful as Rady Children’s Institute for Genomic Medicine (RCIGM). “We are all about changing outcomes for children,” explained Dr. Stephen Kingsmore, President and CEO of the group. The institute’s initial goal was to provide rapid diagnoses for critically ill children and shorten their diagnostic odyssey, a term used to describe the long and arduous process it takes patients to obtain an accurate...
                            12-16-2024, 07:57 AM
                          • seqadmin
                            Recent Advances in Sequencing Technologies
                            by seqadmin



                            Innovations in next-generation sequencing technologies and techniques are driving more precise and comprehensive exploration of complex biological systems. Current advancements include improved accessibility for long-read sequencing and significant progress in single-cell and 3D genomics. This article explores some of the most impactful developments in the field over the past year.

                            Long-Read Sequencing
                            Long-read sequencing has seen remarkable advancements,...
                            12-02-2024, 01:49 PM

                          ad_right_rmr

                          Collapse

                          News

                          Collapse

                          Topics Statistics Last Post
                          Started by seqadmin, 12-17-2024, 10:28 AM
                          0 responses
                          33 views
                          0 likes
                          Last Post seqadmin  
                          Started by seqadmin, 12-13-2024, 08:24 AM
                          0 responses
                          48 views
                          0 likes
                          Last Post seqadmin  
                          Started by seqadmin, 12-12-2024, 07:41 AM
                          0 responses
                          34 views
                          0 likes
                          Last Post seqadmin  
                          Started by seqadmin, 12-11-2024, 07:45 AM
                          0 responses
                          46 views
                          0 likes
                          Last Post seqadmin  
                          Working...
                          X