diff --git a/biology/Makefile b/biology/Makefile index faa2b7ac520f..2415e6d7a85c 100644 --- a/biology/Makefile +++ b/biology/Makefile @@ -1,255 +1,256 @@ COMMENT = Biology SUBDIR += R-cran-Biobase SUBDIR += R-cran-BiocGenerics SUBDIR += R-cran-BiocManager SUBDIR += abyss SUBDIR += ad2vcf SUBDIR += artemis SUBDIR += atac-seq SUBDIR += augustus SUBDIR += avida SUBDIR += babel SUBDIR += bamtools SUBDIR += bamutil SUBDIR += barrnap SUBDIR += bbmap SUBDIR += bcf-score SUBDIR += bcftools SUBDIR += bedtools SUBDIR += bfc SUBDIR += bifrost SUBDIR += bio-mocha SUBDIR += bioawk SUBDIR += biococoa SUBDIR += biolibc SUBDIR += biolibc-tools SUBDIR += bioparser SUBDIR += biosig SUBDIR += biosoup SUBDIR += biostar-tools SUBDIR += bolt-lmm SUBDIR += bowtie SUBDIR += bowtie2 SUBDIR += btllib SUBDIR += bwa SUBDIR += canu SUBDIR += cd-hit SUBDIR += cdbfasta SUBDIR += checkm SUBDIR += chip-seq SUBDIR += clustal-omega SUBDIR += clustalw SUBDIR += cufflinks SUBDIR += cytoscape SUBDIR += ddocent SUBDIR += diamond SUBDIR += dsr-pdb SUBDIR += edlib SUBDIR += emboss SUBDIR += erminej SUBDIR += exonerate SUBDIR += fasda SUBDIR += fasta SUBDIR += fasta3 SUBDIR += fastahack SUBDIR += fastdnaml SUBDIR += fastool SUBDIR += fastp SUBDIR += fastq-trim SUBDIR += fastqc SUBDIR += fasttree SUBDIR += fastx-toolkit SUBDIR += fermi-lite SUBDIR += figtree SUBDIR += flash SUBDIR += fluctuate SUBDIR += freebayes SUBDIR += garlic SUBDIR += gatk SUBDIR += gcta SUBDIR += gemma SUBDIR += generand SUBDIR += gff2ps SUBDIR += gffread + SUBDIR += gkl SUBDIR += gmap SUBDIR += gperiodic SUBDIR += graphlan SUBDIR += groopm SUBDIR += haplohseq SUBDIR += hhsuite SUBDIR += hisat2 SUBDIR += hmmer SUBDIR += htslib SUBDIR += hyphy SUBDIR += igv SUBDIR += infernal SUBDIR += iolib SUBDIR += iqtree SUBDIR += jalview SUBDIR += jellyfish SUBDIR += kallisto SUBDIR += kmcp SUBDIR += lamarc SUBDIR += libbigwig SUBDIR += libcombine SUBDIR += libgff SUBDIR += libgtextutils SUBDIR += libneurosim SUBDIR += libnuml SUBDIR += libsbml SUBDIR += libsedml SUBDIR += linux-foldingathome SUBDIR += locarna SUBDIR += mafft SUBDIR += mapm3 SUBDIR += mashmap SUBDIR += megahit SUBDIR += metaeuk SUBDIR += migrate SUBDIR += minimap2 SUBDIR += mmseqs2 SUBDIR += molden SUBDIR += mothur SUBDIR += mrbayes SUBDIR += mummer SUBDIR += muscle SUBDIR += ncbi-blast+ SUBDIR += ncbi-cxx-toolkit SUBDIR += ncbi-entrez-direct SUBDIR += ncbi-toolkit SUBDIR += ncbi-vdb SUBDIR += ngs-sdk SUBDIR += p5-AcePerl SUBDIR += p5-Bio-ASN1-EntrezGene SUBDIR += p5-Bio-Cluster SUBDIR += p5-Bio-Coordinate SUBDIR += p5-Bio-DB-EMBL SUBDIR += p5-Bio-DB-NCBIHelper SUBDIR += p5-Bio-Das SUBDIR += p5-Bio-Das-Lite SUBDIR += p5-Bio-FeatureIO SUBDIR += p5-Bio-GFF3 SUBDIR += p5-Bio-Glite SUBDIR += p5-Bio-Graphics SUBDIR += p5-Bio-MAGETAB SUBDIR += p5-Bio-NEXUS SUBDIR += p5-Bio-Phylo SUBDIR += p5-Bio-SCF SUBDIR += p5-Bio-Variation SUBDIR += p5-BioPerl SUBDIR += p5-BioPerl-Run SUBDIR += p5-TrimGalore SUBDIR += p5-transdecoder SUBDIR += paml SUBDIR += pbbam SUBDIR += peak-classifier SUBDIR += pear-merger SUBDIR += phrap SUBDIR += phred SUBDIR += phyml SUBDIR += picard-tools SUBDIR += plink SUBDIR += pooler SUBDIR += primer3 SUBDIR += prodigal SUBDIR += prodigy-lig SUBDIR += protomol SUBDIR += psi88 SUBDIR += py-Genesis-PyAPI SUBDIR += py-PySCeS SUBDIR += py-bcbio-gff SUBDIR += py-biom-format SUBDIR += py-biopython SUBDIR += py-biosig SUBDIR += py-bx-python SUBDIR += py-crossmap SUBDIR += py-cutadapt SUBDIR += py-deeptools SUBDIR += py-deeptoolsintervals SUBDIR += py-dna-features-viewer SUBDIR += py-dnaio SUBDIR += py-ete3 SUBDIR += py-gffutils SUBDIR += py-goatools SUBDIR += py-gtfparse SUBDIR += py-hits SUBDIR += py-htseq SUBDIR += py-libnuml SUBDIR += py-libsedml SUBDIR += py-loompy SUBDIR += py-macs2 SUBDIR += py-macs3 SUBDIR += py-mrcfile SUBDIR += py-multiqc SUBDIR += py-newick SUBDIR += py-ont-fast5-api SUBDIR += py-orange3-bioinformatics SUBDIR += py-orange3-single-cell SUBDIR += py-pandas-charm SUBDIR += py-py2bit SUBDIR += py-pybigwig SUBDIR += py-pyfaidx SUBDIR += py-pyrodigal SUBDIR += py-pysam SUBDIR += py-python-libsbml SUBDIR += py-pywgsim SUBDIR += py-resdk SUBDIR += py-scikit-bio SUBDIR += py-valerius SUBDIR += py-xenaPython SUBDIR += pyfasta SUBDIR += python-nexus SUBDIR += rainbow SUBDIR += rampler SUBDIR += readseq SUBDIR += rna-seq SUBDIR += ruby-bio SUBDIR += rubygem-bio SUBDIR += rubygem-bio-executables SUBDIR += rubygem-bio-old-biofetch-emulator SUBDIR += rubygem-bio-shell SUBDIR += salmon SUBDIR += sam2pairwise SUBDIR += samtools SUBDIR += scrm SUBDIR += seaview SUBDIR += seqan SUBDIR += seqan-apps SUBDIR += seqan1 SUBDIR += seqan3 SUBDIR += seqkit SUBDIR += seqtk SUBDIR += seqwish SUBDIR += sigviewer SUBDIR += slclust SUBDIR += smithwaterman SUBDIR += snpeff SUBDIR += spoa SUBDIR += sra-tools SUBDIR += stacks SUBDIR += star SUBDIR += stringtie SUBDIR += subread SUBDIR += tRNAscan-SE SUBDIR += tabixpp SUBDIR += taxonkit SUBDIR += treekin SUBDIR += treepuzzle SUBDIR += trimadap SUBDIR += trimmomatic SUBDIR += ucsc-userapps SUBDIR += ugene SUBDIR += unikmer SUBDIR += vcf-split SUBDIR += vcf2hap SUBDIR += vcflib SUBDIR += vcftools SUBDIR += velvet SUBDIR += viennarna SUBDIR += vsearch SUBDIR += vt SUBDIR += wfa2-lib SUBDIR += wise .include diff --git a/biology/gkl/Makefile b/biology/gkl/Makefile new file mode 100644 index 000000000000..84b614afb7d1 --- /dev/null +++ b/biology/gkl/Makefile @@ -0,0 +1,26 @@ +PORTNAME= gkl +DISTVERSION= 0.8.11-9 +DISTVERSIONSUFFIX= -g25670d8 +CATEGORIES= biology devel + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Accelerated kernel library for genomics +WWW= https://github.com/Intel-HLS/GKL + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= gmake:devel/gmake +LIB_DEPENDS= libisal.so:devel/isa-l + +USES= cmake:noninja localbase:ldflags +USE_JAVA= yes +USE_LDCONFIG= yes + +USE_GITHUB= yes +GH_ACCOUNT= Intel-HLS +GH_PROJECT= GKL + +BINARY_ALIAS= make=${GMAKE} + +.include diff --git a/biology/gkl/distinfo b/biology/gkl/distinfo new file mode 100644 index 000000000000..35c01c063547 --- /dev/null +++ b/biology/gkl/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1722788727 +SHA256 (Intel-HLS-GKL-0.8.11-9-g25670d8_GH0.tar.gz) = 743d1eb48c2629454a6dcb98d9adca3aaedfe9c658e6f89e890b03b6e029df61 +SIZE (Intel-HLS-GKL-0.8.11-9-g25670d8_GH0.tar.gz) = 5310668 diff --git a/biology/gkl/files/patch-CMakeLists.txt b/biology/gkl/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..2cda423767df --- /dev/null +++ b/biology/gkl/files/patch-CMakeLists.txt @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2024-08-04 17:44:32 UTC ++++ CMakeLists.txt +@@ -24,6 +24,8 @@ set(NATIVE_DIR ${PROJECT_SOURCE_DIR}/src/main/native) + # add CMakeLists.txt in subdirectories + set(NATIVE_DIR ${PROJECT_SOURCE_DIR}/src/main/native) + ++link_directories(${CMAKE_INSTALL_PREFIX}/lib) ++ + add_subdirectory("${NATIVE_DIR}/compression") + add_subdirectory("${NATIVE_DIR}/pairhmm") + add_subdirectory("${NATIVE_DIR}/utils") diff --git a/biology/gkl/files/patch-src_main_native_compression_CMakeLists.txt b/biology/gkl/files/patch-src_main_native_compression_CMakeLists.txt new file mode 100644 index 000000000000..e0c47e762f4a --- /dev/null +++ b/biology/gkl/files/patch-src_main_native_compression_CMakeLists.txt @@ -0,0 +1,33 @@ +--- src/main/native/compression/CMakeLists.txt.orig 2024-07-04 12:14:50 UTC ++++ src/main/native/compression/CMakeLists.txt +@@ -30,21 +30,7 @@ endif() + endif() + + +-ExternalProject_Add( +- isalExternal +- URL ${CMAKE_CURRENT_SOURCE_DIR}/isa-l-master +- UPDATE_COMMAND /autogen.sh +- CONFIGURE_COMMAND /configure --prefix= --with-pic=yes ${CONFIG_OPT} +- BUILD_COMMAND $(MAKE) +- INSTALL_COMMAND $(MAKE) install +-) + +-add_library(isal STATIC IMPORTED GLOBAL) +-set_target_properties(isal PROPERTIES IMPORTED_LOCATION +- ${CMAKE_CURRENT_BINARY_DIR}/isalExternal-prefix/lib/libisal.a +-) +- +- + #--------------------------------------------------------------------- + # gkl_compression + #--------------------------------------------------------------------- +@@ -56,6 +42,6 @@ add_library(${TARGET} SHARED + IntelDeflater.cc + IntelInflater.cc + ) +-add_dependencies(${TARGET} isalExternal otc_zlibExternal) ++add_dependencies(${TARGET} otc_zlibExternal) + target_link_libraries(${TARGET} zlibstatic isal) +-install(TARGETS ${TARGET} DESTINATION ${CMAKE_BINARY_DIR}) ++install(TARGETS ${TARGET} DESTINATION lib) diff --git a/biology/gkl/files/patch-src_main_native_pairhmm_CMakeLists.txt b/biology/gkl/files/patch-src_main_native_pairhmm_CMakeLists.txt new file mode 100644 index 000000000000..d87b85bd35de --- /dev/null +++ b/biology/gkl/files/patch-src_main_native_pairhmm_CMakeLists.txt @@ -0,0 +1,18 @@ +--- src/main/native/pairhmm/CMakeLists.txt.orig 2024-08-04 17:57:13 UTC ++++ src/main/native/pairhmm/CMakeLists.txt +@@ -17,7 +17,7 @@ add_library(${TARGET} SHARED IntelPairHmm.cc avx_impl. + #--------------------------------------------------------------------- + set(TARGET gkl_pairhmm) + add_library(${TARGET} SHARED IntelPairHmm.cc avx_impl.cc avx512_impl.cc pairhmm_common.cc) +-install(TARGETS ${TARGET} DESTINATION ${CMAKE_BINARY_DIR}) ++install(TARGETS ${TARGET} DESTINATION lib) + + #--------------------------------------------------------------------- + # pairhmm_omp +@@ -29,5 +29,5 @@ if(OPENMP_FOUND) + add_library(${TARGET} SHARED IntelPairHmm.cc avx_impl.cc avx512_impl.cc pairhmm_common.cc) + set_target_properties(${TARGET} PROPERTIES COMPILE_OPTIONS ${OpenMP_CXX_FLAGS}) + target_link_libraries(${TARGET} ${OpenMP_CXX_FLAGS}) +- install(TARGETS ${TARGET} DESTINATION ${CMAKE_BINARY_DIR}) ++ install(TARGETS ${TARGET} DESTINATION lib) + endif() diff --git a/biology/gkl/files/patch-src_main_native_pairhmm_IntelPairHmm.cc b/biology/gkl/files/patch-src_main_native_pairhmm_IntelPairHmm.cc new file mode 100644 index 000000000000..6118936feab4 --- /dev/null +++ b/biology/gkl/files/patch-src_main_native_pairhmm_IntelPairHmm.cc @@ -0,0 +1,12 @@ +--- src/main/native/pairhmm/IntelPairHmm.cc.orig 2024-08-04 16:29:20 UTC ++++ src/main/native/pairhmm/IntelPairHmm.cc +@@ -24,6 +24,9 @@ + #ifdef linux + #include + #endif ++#ifdef __FreeBSD__ ++#include ++#endif + #include + #include + #include diff --git a/biology/gkl/files/patch-src_main_native_pdhmm_CMakeLists.txt b/biology/gkl/files/patch-src_main_native_pdhmm_CMakeLists.txt new file mode 100644 index 000000000000..949d35b19b4d --- /dev/null +++ b/biology/gkl/files/patch-src_main_native_pdhmm_CMakeLists.txt @@ -0,0 +1,8 @@ +--- src/main/native/pdhmm/CMakeLists.txt.orig 2024-08-04 17:58:05 UTC ++++ src/main/native/pdhmm/CMakeLists.txt +@@ -23,4 +23,4 @@ endif() + set_target_properties(${TARGET} PROPERTIES COMPILE_OPTIONS ${OpenMP_CXX_FLAGS}) + target_link_libraries(${TARGET} ${OpenMP_CXX_FLAGS}) + endif() +-install(TARGETS ${TARGET} DESTINATION ${CMAKE_BINARY_DIR}) ++install(TARGETS ${TARGET} DESTINATION lib) diff --git a/biology/gkl/files/patch-src_main_native_pdhmm_pdhmm.h b/biology/gkl/files/patch-src_main_native_pdhmm_pdhmm.h new file mode 100644 index 000000000000..4896be46607f --- /dev/null +++ b/biology/gkl/files/patch-src_main_native_pdhmm_pdhmm.h @@ -0,0 +1,12 @@ +--- src/main/native/pdhmm/pdhmm.h.orig 2024-08-04 16:31:53 UTC ++++ src/main/native/pdhmm/pdhmm.h +@@ -27,6 +27,9 @@ + #ifdef linux + #include + #endif ++#ifdef __FreeBSD__ ++#include ++#endif + + inline INT_TYPE roundDownToNearestMultipleOf(INT_TYPE val, INT_TYPE mul) { return (val / mul) * mul; } + diff --git a/biology/gkl/files/patch-src_main_native_smithwaterman_CMakeLists.txt b/biology/gkl/files/patch-src_main_native_smithwaterman_CMakeLists.txt new file mode 100644 index 000000000000..994e254eacf7 --- /dev/null +++ b/biology/gkl/files/patch-src_main_native_smithwaterman_CMakeLists.txt @@ -0,0 +1,9 @@ +--- src/main/native/smithwaterman/CMakeLists.txt.orig 2024-08-04 17:53:57 UTC ++++ src/main/native/smithwaterman/CMakeLists.txt +@@ -23,5 +23,5 @@ add_library(${TARGET} SHARED + add_library(${TARGET} SHARED + IntelSmithWaterman.cc avx2_impl.cc avx512_impl.cc smithwaterman_common.cc) + +-install(TARGETS ${TARGET} DESTINATION ${CMAKE_BINARY_DIR}) ++install(TARGETS ${TARGET} DESTINATION lib) + diff --git a/biology/gkl/files/patch-src_main_native_utils_CMakeLists.txt b/biology/gkl/files/patch-src_main_native_utils_CMakeLists.txt new file mode 100644 index 000000000000..b209b75c8a2f --- /dev/null +++ b/biology/gkl/files/patch-src_main_native_utils_CMakeLists.txt @@ -0,0 +1,8 @@ +--- src/main/native/utils/CMakeLists.txt.orig 2024-08-04 17:47:07 UTC ++++ src/main/native/utils/CMakeLists.txt +@@ -11,4 +11,4 @@ endif() + set_target_properties(${TARGET} PROPERTIES COMPILE_OPTIONS ${OpenMP_CXX_FLAGS}) + target_link_libraries(${TARGET} ${OpenMP_CXX_FLAGS}) + endif() +-install(TARGETS ${TARGET} DESTINATION ${CMAKE_BINARY_DIR}) ++install(TARGETS ${TARGET} DESTINATION lib) diff --git a/biology/gkl/files/patch-src_main_native_utils_utils.cc b/biology/gkl/files/patch-src_main_native_utils_utils.cc new file mode 100644 index 000000000000..c4828fc021d5 --- /dev/null +++ b/biology/gkl/files/patch-src_main_native_utils_utils.cc @@ -0,0 +1,13 @@ +--- src/main/native/utils/utils.cc.orig 2024-08-04 16:26:45 UTC ++++ src/main/native/utils/utils.cc +@@ -31,6 +31,10 @@ + #include + #endif + ++#ifdef __FreeBSD__ ++ #include ++#endif ++ + #include "utils.h" + #include + diff --git a/biology/gkl/pkg-descr b/biology/gkl/pkg-descr new file mode 100644 index 000000000000..b41d2ffd742c --- /dev/null +++ b/biology/gkl/pkg-descr @@ -0,0 +1,19 @@ +GKL is a set of optimized versions of compute kernels used in genomics +applications like GATK and HTSJDK. + +Kernels included: +* PairHMM + AVX and AVX-512 optimized versions of PairHMM used in GATK + HaplotypeCaller and MuTect2. + OpenMP support for multicore processors. +* Smith-Waterman + AVX2 and AVX-512 optimized versions of Smith-Waterman used in GATK + HaplotypeCaller and MuTect2. +* DEFLATE Compression/Decompression: + Performance optimized Level 1 and 2 compression and decompression + from Intel's ISA-L library. + Performance optimized Level 3 through 9 compression from Intel's + Open Source Technology Center zlib library. +* Partially Determined HMM (PDHMM) + AVX2 and AVX-512 optimized versions of PDHMM used in GATK. + Serial Implementation for CPU's with no AVX. diff --git a/biology/gkl/pkg-plist b/biology/gkl/pkg-plist new file mode 100644 index 000000000000..00c0b14b46a9 --- /dev/null +++ b/biology/gkl/pkg-plist @@ -0,0 +1,6 @@ +lib/libgkl_compression.so +lib/libgkl_pairhmm.so +lib/libgkl_pairhmm_omp.so +lib/libgkl_pdhmm.so +lib/libgkl_smithwaterman.so +lib/libgkl_utils.so