Rate This Document
Findability
Accuracy
Completeness
Readability

Compiling and Installing SOAPdenovo

Procedure

  1. Use PuTTY to log in to the server as the root user.
  2. Go to the SOAPdenovo directory.
    cd /path/to/SOAPDENOVO
  3. Decompress SOAPdenovo2-r241.tar.gz.
    tar -xvf SOAPdenovo2-r241.tar.gz
  4. Go to the directory generated after the decompression.
    cd SOAPdenovo2-r241
  5. Modify the standardPregraph/hashFunction.c file.
    1. Open standardPregraph/hashFunction.c.
      vi standardPregraph/hashFunction.c
    2. Press i to enter the insert mode and modify the file as follows:

      Before the modification:

      static uint32_t cpuid ( uint32_t functionInput )
      {
      uint32_t eax;
      uint32_t ebx;
      uint32_t ecx;
      uint32_t edx;
      #ifdef __PIC__
      asm ( "pushl %%ebx\n\t" /* save %ebx */
      "cpuid\n\t"
      "movl %%ebx, %[ebx]\n\t" /* save what cpuid just put in %ebx */
      "popl %%ebx" : "=a" ( eax ), [ebx] "=r" ( ebx ), "=c" ( ecx ), "=d" ( edx ) : "a" ( functionInput )
      : "cc" );
      #else
      asm ( "cpuid" : "=a" ( eax ), "=b" ( ebx ), "=c" ( ecx ), "=d" ( edx ) : "a" ( functionInput ) );
      #endif
      return ecx;
      }

      After the modification:

      static uint32_t cpuid ( uint32_t functionInput )
      {
      uint32_t eax;
      uint32_t ebx;
      uint32_t ecx;
      uint32_t edx;
      
      #ifdef __aarch64__
      ecx = 0x0;
      #else
      #ifdef __PIC__
      asm ( "pushl %%ebx\n\t" /* save %ebx */
      "cpuid\n\t"
      "movl %%ebx, %[ebx]\n\t" /* save what cpuid just put in %ebx */
      "popl %%ebx" : "=a" ( eax ), [ebx] "=r" ( ebx ), "=c" ( ecx ), "=d" ( edx ) : "a" ( functionInput )
      : "cc" );
      #else
      asm ( "cpuid" : "=a" ( eax ), "=b" ( ebx ), "=c" ( ecx ), "=d" ( edx ) : "a" ( functionInput ) );
      #endif
      #endif
      return ecx;
      }
    3. Press Esc, type :wq!, and press Enter to save the file and exit.
  6. Perform the compilation.
    make
  7. Test the SOAPdenovo environment.
    ./SOAPdenovo-63mer

    If the following information is displayed, the environment is normal.