Closed BenoitFiset closed 2 years ago
Hi, I can't help you with AMD. It appears that your libpthread is one of the problems. Please let me know if you find the fix.
I've checked that I can compile with gcc 9.3.1 under devtoolset-9 on Intel CentOS 7.7.1908. There are definitely some issues with gcc 10, but I don't have the capacity to deal with those.
I've added the fix for zalloc and zalfree. These should not produce the errors you have listed although it is still a puzzle why OF is not set. Accordint to zconf.h it should be dependent on STDC: 00132 00133 #ifndef OF / function prototypes / 00134 # ifdef STDC 00135 # define OF(args) args 00136 # else 00137 # define OF(args) () 00138 # endif 00139 #endif 00140
Hi Roman,
Thanks for the fix. One other file needs to be fixed for the "OF" issue. (see lower)
I fixed it locally on my end and make
makes it to the end. make
install is also ok. I used gcc 9.3.0.
I'll try to align some files and update if all goes well.
Quick question, what should I use instead of Isaac when I won't be able to compile it anymore (I don't like that thought :( !!!) ? Thinking down the road..
[100%] Built target mergeReferences
make[1]: Leaving directory '/project/6014302/bfiset/Isaac_Build'
/cvmfs/soft.computecanada.ca/gentoo/2020/usr/bin/cmake -E cmake_progress_start /home/bfiset/lw-project/Isaac_Build/CMakeFiles 0
=============
The file to fix for the last OF
issue is InflateGzipDecompressor.hh :
Isaac4-master/src/c++/include/io/InflateGzipDecompressor.hh:295:19: error: expected ‘;’ at end of member declaration
295 | static voidpf zalloc OF((voidpf opaque, uInt items, uInt size))
| ^~~~~~
| ;
/home/bfiset/lw-project/Isaac4-Build-Isaac-04.01.02.22/Isaac4-master/src/c++/include/io/InflateGzipDecompressor.hh:295:29: error: expected identifier before ‘(’ token
295 | static voidpf zalloc OF((voidpf opaque, uInt items, uInt size))
| ^
/home/bfiset/lw-project/Isaac4-Build-Isaac-04.01.02.22/Isaac4-master/src/c++/include/io/InflateGzipDecompressor.hh:295:67: warning: ISO C++ forbids declaration of ‘OF’ with no type [-fpermissive]
295 | static voidpf zalloc OF((voidpf opaque, uInt items, uInt size))
| ^
In file included from /home/bfiset/lw-project/Isaac4-Build-Isaac-04.01.02.22/Isaac4-master/src/c++/include/io/FastqReader.hh:36,
from /home/bfiset/lw-project/Isaac4-Build-Isaac-04.01.02.22/Isaac4-master/src/c++/lib/io/FastqReader.cpp:24:
/home/bfiset/lw-project/Isaac4-Build-Isaac-04.01.02.22/Isaac4-master/src/c++/include/io/InflateGzipDecompressor.hh:303:17: error: variable or field ‘zfree’ declared void
303 | static void zfree OF((voidpf opaque, voidpf address))
| ^~~~~
/home/bfiset/lw-project/Isaac4-Build-Isaac-04.01.02.22/Isaac4-master/src/c++/include/io/InflateGzipDecompressor.hh:303:17: error: expected ‘;’ at end of member declaration
303 | static void zfree OF((voidpf opaque, voidpf address))
| ^~~~~
| ;
/home/bfiset/lw-project/Isaac4-Build-Isaac-04.01.02.22/Isaac4-master/src/c++/include/io/InflateGzipDecompressor.hh:303:26: error: expected identifier before ‘(’ token
303 | static void zfree OF((voidpf opaque, voidpf address))
| ^
/home/bfiset/lw-project/Isaac4-Build-Isaac-04.01.02.22/Isaac4-master/src/c++/include/io/InflateGzipDecompressor.hh:303:57: warning: ISO C++ forbids declaration of ‘OF’ with no type [-fpermissive]
303 | static void zfree OF((voidpf opaque, voidpf address))
| ^
Hi Roman,
Quick update did an align with the Example data in the build and all is good so far.
Will do a last update when I finish alignment of real data.
../Isaac4-Build-Isaac-04.01.02.22-bin/bin/isaac-align -r ../Isaac4-Build-Isaac-04.01.02.22-bin/share/Isaac-04.18.11.09/data/examples/PhiX/iGenomes/PhiX/NCBI/1993-04-28/Sequence/Chromosomes/phix.fa -b ../Isaac4-Build-Isaac-04.01.02.22-bin/share/Isaac-04.18.11.09/data/examples/PhiX/Fastq -f fastq --use-bases-mask y150,y150 -m40
End of output:
[SNIP]
022-02-01 16:12:17 [152e342097c0] BAM file generated: /project/6014302/bfiset/Isaac_Test/./Aligned/Projects/default/default/sorted.bam
2022-02-01 16:12:17 [152e342097c0] BAM index generated for /project/6014302/bfiset/Isaac_Test/./Aligned/Projects/default/default/sorted.bam
2022-02-01 16:12:17 [152e342097c0] Generating Build statistics
2022-02-01 16:12:17 [152e342097c0] Generating Build statistics done
2022-02-01 16:12:17 [152e342097c0] Generating the BAM files done
2022-02-01 16:12:17 [152e342097c0] md5 checksum for /project/6014302/bfiset/Isaac_Test/./Aligned/Projects/default/default/sorted.bam:8d1629827f1d524e7d028a53cdcaff68
2022-02-01 16:12:18 [152e342097c0] Saving workflow state to "/project/6014302/bfiset/Isaac_Test/./Temp/AlignerState.txt"
2022-02-01 16:12:18 [152e342097c0] Saving workflow state done to "/project/6014302/bfiset/Isaac_Test/./Temp/AlignerState.txt"
Hi Roman,
Works superbly !!! 26 Minutes to align a pair end 88G FASTQs with 64 CPUs and 250G of RAM. Can't ask for more.
Thanks again.
Glad it worked out.
Answering your previous question, Illumina recommends using the DRAGEN platform. It uses FPGA to perform compute intensive bits and takes care of both alignment, variant calling and everything and anything your soul might desire. Should you not have access to FPGA hardware, there are options to run the data analysis in the cloud.
Alternatively, most of the DNA alignment implementation of DRAGEN is available as open source on github.
R.
Hi Roman,
did you see in the comments above that another file has to be modified (OF issue) to make this work ? The file to fix for the last OF issue is InflateGzipDecompressor.hh.
Are most of the features of Issac in Dragmap ? You mention of options, when no FPGA avail, to run analysis in the cloud, what are the options ?
Thanks,
B.
Yep, pushed another change about 6 hours ago. Cheers for that.
Dragmap/DRAGEN use fundamentally different alignment algorithm. So, you will have different mappings in many situations. That said, high MAPQ alignments should be similar. At Illumina, we have mostly switched to DRAGEN which is why Isaac is not being developed anymore.
Of the notable Isaac things that are not available in Dragmap :
I'm not the right person to explain AWS DRAGEN. Let me know if you want to be referred to an appropriate CSR. If I google, I find this: https://aws.amazon.com/quickstart/architecture/illumina-dragen/
R.
Hi Roman,
new servers on Centos 8.4. Supports NUMA and has sse4_2
Configure finishes but there are error in CMakeError.log. Running make starts but dies with errors like
c++/include/bgzf/BgzfReader.hh:98:19: error: expected ‘;’ at end of member declaration
lower below you have the outputs of CMakeError.log and the output of make.I tried different versions of gcc (10.3 and 9.3 and 8.4.0) and my own version of boost (which Isaac still doesn't like)... and the outcome is always the same. Do I have to go with and older version of gcc ? Would the PThread errors in configure cause the BgzfReader errors ?
Any clues ? Pointers ?
Thanks,
B
Command line for confgure:
../Isaac4-Build-Isaac-04.20.06.19/Isaac4-master/src/configure --parallel=6 --verbose --with-numa --with-avx2 --prefix=/home/bfiset/lw-project/Isaac4-Build-Isaac-04.20.06.19-bin
Configure finishes:
But these errors in CMakeFiles/CMakeError.log
And running make goes kaboom !!!