diff --git a/biology/Makefile b/biology/Makefile index e41e9edcb828..4f426e0a00ca 100644 --- a/biology/Makefile +++ b/biology/Makefile @@ -1,249 +1,250 @@ COMMENT = Biology 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 += 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 += figtree SUBDIR += flash SUBDIR += fluctuate SUBDIR += freebayes SUBDIR += garlic SUBDIR += gatk SUBDIR += gcta SUBDIR += gemma SUBDIR += generand SUBDIR += gff2ps SUBDIR += gffread 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 += pbseqan 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-libnuml SUBDIR += py-libsedml SUBDIR += py-loompy SUBDIR += py-macs2 SUBDIR += py-mrcfile SUBDIR += py-multiqc 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 += recombine SUBDIR += rna-seq SUBDIR += ruby-bio SUBDIR += rubygem-bio SUBDIR += rubygem-bio-executables SUBDIR += rubygem-bio-old-biofetch-emulator SUBDIR += rubygem-bio-shell SUBDIR += sam2pairwise SUBDIR += samtools SUBDIR += scrm SUBDIR += seaview SUBDIR += seqan SUBDIR += seqan-apps SUBDIR += seqan1 SUBDIR += seqan3 SUBDIR += seqio SUBDIR += seqkit SUBDIR += seqtk + SUBDIR += seqwish SUBDIR += sigviewer SUBDIR += sim4 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/seqwish/Makefile b/biology/seqwish/Makefile new file mode 100644 index 000000000000..a34c6f9e1370 --- /dev/null +++ b/biology/seqwish/Makefile @@ -0,0 +1,25 @@ +PORTNAME= seqwish +DISTVERSIONPREFIX= v +DISTVERSION= 0.7.9 +CATEGORIES= biology +MASTER_SITES= https://github.com/ekg/seqwish/releases/download/v${DISTVERSION}/ + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Assembly By Short Sequences: parallel, paired-end sequence assembler +WWW= https://www.bcgsc.ca/resources/software/abyss + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= cmake:noninja + +PLIST_FILES= bin/${PORTNAME} + +OPTIONS_DEFINE= OPENMP +OPTIONS_DEFAULT= OPENMP + +OPENMP_CMAKE_BOOL= USE_OPENMP +OPENMP_CXXFLAGS= -fopenmp +OPENMP_BROKEN_OFF= https://github.com/ekg/seqwish/issues/114 + +.include diff --git a/biology/seqwish/distinfo b/biology/seqwish/distinfo new file mode 100644 index 000000000000..5753ca0fb6de --- /dev/null +++ b/biology/seqwish/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1689972439 +SHA256 (seqwish-v0.7.9.tar.gz) = 1ca7ebf02a35ad147c8a2b81f087aaba2deb878fec7acb4deb9f14e932e89d36 +SIZE (seqwish-v0.7.9.tar.gz) = 12116251 diff --git a/biology/seqwish/files/patch-CMakeLists.txt b/biology/seqwish/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..3c6ca1d2757f --- /dev/null +++ b/biology/seqwish/files/patch-CMakeLists.txt @@ -0,0 +1,14 @@ +--- CMakeLists.txt.orig 2023-04-19 15:25:32 UTC ++++ CMakeLists.txt +@@ -256,9 +256,9 @@ target_link_libraries(seqwish + "${sdsl-lite_LIB}/libsdsl.a" + "${sdsl-lite-divsufsort_LIB}/libdivsufsort.a" + "${sdsl-lite-divsufsort_LIB}/libdivsufsort64.a" +- "-latomic" ++ #"-latomic" + Threads::Threads +- jemalloc ++ #jemalloc + z) + if (BUILD_STATIC) + #set(CMAKE_EXE_LINKER_FLAGS "-static") diff --git a/biology/seqwish/files/patch-src_main.cpp b/biology/seqwish/files/patch-src_main.cpp new file mode 100644 index 000000000000..73ff8da2acdb --- /dev/null +++ b/biology/seqwish/files/patch-src_main.cpp @@ -0,0 +1,24 @@ +--- src/main.cpp.orig 2023-07-21 20:57:07 UTC ++++ src/main.cpp +@@ -24,6 +24,8 @@ + #include "version.hpp" + #include "tempfile.hpp" + ++#include ++ + using namespace seqwish; + + int main(int argc, char** argv) { +@@ -116,9 +118,10 @@ int main(int argc, char** argv) { + if (tmp_base) { + temp_file::set_dir(args::get(tmp_base)); + } else { +- char* cwd = get_current_dir_name(); ++ char cwd[MAXPATHLEN]; ++ getwd(cwd); + temp_file::set_dir(std::string(cwd)); +- free(cwd); ++ //free(cwd); + } + + temp_file::set_keep_temp(args::get(keep_temp_files)); diff --git a/biology/seqwish/files/patch-src_tempfile.cpp b/biology/seqwish/files/patch-src_tempfile.cpp new file mode 100644 index 000000000000..7f6c4699400d --- /dev/null +++ b/biology/seqwish/files/patch-src_tempfile.cpp @@ -0,0 +1,31 @@ +--- src/tempfile.cpp.orig 2023-07-21 20:48:46 UTC ++++ src/tempfile.cpp +@@ -3,6 +3,8 @@ + #include + #include "tempfile.hpp" + ++#include ++ + namespace temp_file { + + // We use this to make the API thread-safe +@@ -96,9 +98,10 @@ namespace temp_file { + + // Get the default temp dir from environment variables. + if (temp_dir.empty()) { +- char* cwd = get_current_dir_name(); ++ char cwd[MAXPATHLEN]; ++ getwd(cwd); + temp_dir = std::string(cwd); +- free(cwd); ++ //free(cwd); + /*const char *system_temp_dir = nullptr; + for (const char *var_name : {"TMPDIR", "TMP", "TEMP", "TEMPDIR", "USERPROFILE"}) { + if (system_temp_dir == nullptr) { +@@ -114,4 +117,4 @@ namespace temp_file { + void set_keep_temp(bool setting) { + keep_temp = setting; + } +-} +\ No newline at end of file ++} diff --git a/biology/seqwish/pkg-descr b/biology/seqwish/pkg-descr new file mode 100644 index 000000000000..2267dba52b9f --- /dev/null +++ b/biology/seqwish/pkg-descr @@ -0,0 +1,10 @@ +seqwish implements a lossless conversion from pairwise alignments between +sequences to a variation graph encoding the sequences and their alignments. +As input we typically take all-versus-all alignments, but the exact structure +of the alignment set may be defined in an application specific way. This +algorithm uses a series of disk-backed sorts and passes over the alignment and +sequence inputs to allow the graph to be constructed from very large inputs +that are commonly encountered when working with large numbers of noisy input +sequences. Memory usage during construction and traversal is limited by the use +of sorted disk-backed arrays and succinct rank/select dictionaries to record a +queryable version of the graph.