Compiling and Installing SOAPdenovo
Procedure
- Use PuTTY to log in to the server as the root user.
- Go to the SOAPdenovo directory.
cd /path/to/SOAPDENOVO
- Decompress SOAPdenovo2-r241.tar.gz.
tar -xvf SOAPdenovo2-r241.tar.gz
- Go to the directory generated after the decompression.
cd SOAPdenovo2-r241
- Modify the standardPregraph/hashFunction.c file.
- Open standardPregraph/hashFunction.c.
vi standardPregraph/hashFunction.c
- 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; } - Press Esc, type :wq!, and press Enter to save the file and exit.
- Open standardPregraph/hashFunction.c.
- Perform the compilation.
make
- Test the SOAPdenovo environment.
./SOAPdenovo-63mer
If the following information is displayed, the environment is normal.

Parent topic: SOAPdenovo r241 Porting Guide (CentOS 7.6)