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
                            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, Yesterday, 06:37 PM
                          0 responses
                          8 views
                          0 likes
                          Last Post seqadmin  
                          Started by seqadmin, Yesterday, 06:07 PM
                          0 responses
                          8 views
                          0 likes
                          Last Post seqadmin  
                          Started by seqadmin, 03-22-2024, 10:03 AM
                          0 responses
                          49 views
                          0 likes
                          Last Post seqadmin  
                          Started by seqadmin, 03-21-2024, 07:32 AM
                          0 responses
                          67 views
                          0 likes
                          Last Post seqadmin  
                          Working...
                          X