aboutsummaryrefslogtreecommitdiff
path: root/biology
diff options
context:
space:
mode:
Diffstat (limited to 'biology')
-rw-r--r--biology/Makefile49
-rw-r--r--biology/R-cran-Biobase/Makefile19
-rw-r--r--biology/R-cran-Biobase/distinfo3
-rw-r--r--biology/R-cran-Biobase/pkg-descr1
-rw-r--r--biology/R-cran-BiocGenerics/Makefile15
-rw-r--r--biology/R-cran-BiocGenerics/distinfo3
-rw-r--r--biology/R-cran-BiocGenerics/pkg-descr2
-rw-r--r--biology/R-cran-BiocManager/Makefile14
-rw-r--r--biology/R-cran-BiocManager/distinfo3
-rw-r--r--biology/R-cran-BiocManager/pkg-descr4
-rw-r--r--biology/abyss/Makefile22
-rw-r--r--biology/abyss/distinfo6
-rw-r--r--biology/abyss/files/patch-Common_city.cc8
-rw-r--r--biology/abyss/pkg-descr2
-rw-r--r--biology/abyss/pkg-plist6
-rw-r--r--biology/ad2vcf/Makefile9
-rw-r--r--biology/ad2vcf/distinfo6
-rw-r--r--biology/ad2vcf/pkg-descr2
-rw-r--r--biology/artemis/Makefile3
-rw-r--r--biology/artemis/pkg-descr2
-rw-r--r--biology/atac-seq/Makefile34
-rw-r--r--biology/atac-seq/distinfo1
-rw-r--r--biology/atac-seq/pkg-descr2
-rw-r--r--biology/augustus/Makefile48
-rw-r--r--biology/augustus/distinfo3
-rw-r--r--biology/augustus/files/patch-Makefile30
-rw-r--r--biology/augustus/files/patch-scripts_pasapolyA2hints.pl8
-rw-r--r--biology/augustus/pkg-descr8
-rw-r--r--biology/augustus/pkg-plist1523
-rw-r--r--biology/avida/Makefile4
-rw-r--r--biology/avida/pkg-descr2
-rw-r--r--biology/babel/Makefile8
-rw-r--r--biology/babel/pkg-descr2
-rw-r--r--biology/bamtools/Makefile2
-rw-r--r--biology/bamtools/pkg-descr2
-rw-r--r--biology/bamutil/Makefile29
-rw-r--r--biology/bamutil/distinfo5
-rw-r--r--biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.lib17
-rw-r--r--biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.toolchain13
-rw-r--r--biology/bamutil/files/patch-libStatGen_vcf_VcfRecordGenotype.cpp11
-rw-r--r--biology/bamutil/pkg-descr4
-rw-r--r--biology/barrnap/Makefile32
-rw-r--r--biology/barrnap/distinfo3
-rw-r--r--biology/barrnap/pkg-descr8
-rw-r--r--biology/barrnap/pkg-plist5
-rw-r--r--biology/bbmap/Makefile1
-rw-r--r--biology/bbmap/pkg-descr2
-rw-r--r--biology/bcf-score/Makefile52
-rw-r--r--biology/bcf-score/distinfo5
-rw-r--r--biology/bcf-score/files/patch-Makefile33
-rw-r--r--biology/bcf-score/files/patch-configure.ac11
-rw-r--r--biology/bcf-score/files/patch-plugins_munge.c11
-rw-r--r--biology/bcf-score/files/patch-plugins_score.c11
-rw-r--r--biology/bcf-score/pkg-descr3
-rw-r--r--biology/bcf-score/pkg-plist6
-rw-r--r--biology/bcftools/Makefile7
-rw-r--r--biology/bcftools/distinfo6
-rw-r--r--biology/bcftools/pkg-descr2
-rw-r--r--biology/bcftools/pkg-plist4
-rw-r--r--biology/bedtools/Makefile3
-rw-r--r--biology/bedtools/distinfo6
-rw-r--r--biology/bedtools/pkg-descr2
-rw-r--r--biology/bfc/Makefile1
-rw-r--r--biology/bfc/pkg-descr2
-rw-r--r--biology/bifrost/Makefile23
-rw-r--r--biology/bifrost/distinfo3
-rw-r--r--biology/bifrost/files/patch-CMakeLists.txt10
-rw-r--r--biology/bifrost/pkg-descr3
-rw-r--r--biology/bifrost/pkg-plist53
-rw-r--r--biology/bio-mocha/Makefile49
-rw-r--r--biology/bio-mocha/distinfo5
-rw-r--r--biology/bio-mocha/files/patch-Makefile33
-rw-r--r--biology/bio-mocha/files/patch-configure.ac11
-rw-r--r--biology/bio-mocha/pkg-descr6
-rw-r--r--biology/bio-mocha/pkg-plist7
-rw-r--r--biology/bioawk/Makefile1
-rw-r--r--biology/bioawk/pkg-descr2
-rw-r--r--biology/biococoa/Makefile3
-rw-r--r--biology/biococoa/pkg-descr2
-rw-r--r--biology/biolibc-tools/Makefile10
-rw-r--r--biology/biolibc-tools/distinfo6
-rw-r--r--biology/biolibc-tools/pkg-descr2
-rw-r--r--biology/biolibc-tools/pkg-plist34
-rw-r--r--biology/biolibc/Makefile7
-rw-r--r--biology/biolibc/distinfo6
-rw-r--r--biology/biolibc/pkg-descr2
-rw-r--r--biology/biolibc/pkg-plist1056
-rw-r--r--biology/bioparser/Makefile6
-rw-r--r--biology/bioparser/distinfo6
-rw-r--r--biology/bioparser/pkg-descr2
-rw-r--r--biology/biosig/Makefile14
-rw-r--r--biology/biosig/distinfo6
-rw-r--r--biology/biosig/files/patch-Makefile.in49
-rw-r--r--biology/biosig/files/patch-biosig4c++_biosig-dev.h11
-rw-r--r--biology/biosig/files/patch-biosig4c++_biosig.c43
-rw-r--r--biology/biosig/files/patch-biosig4c++_t220_sopen__scp__write.c28
-rw-r--r--biology/biosig/pkg-descr2
-rw-r--r--biology/biosig/pkg-plist27
-rw-r--r--biology/biosoup/Makefile17
-rw-r--r--biology/biosoup/distinfo6
-rw-r--r--biology/biosoup/pkg-descr4
-rw-r--r--biology/biostar-tools/Makefile25
-rw-r--r--biology/biostar-tools/distinfo2
-rw-r--r--biology/biostar-tools/pkg-descr25
-rw-r--r--biology/bolt-lmm/Makefile15
-rw-r--r--biology/bolt-lmm/distinfo6
-rw-r--r--biology/bolt-lmm/files/patch-src_MemoryUtils.cpp12
-rw-r--r--biology/bolt-lmm/files/patch-src_MemoryUtils.hpp12
-rw-r--r--biology/bolt-lmm/pkg-descr2
-rw-r--r--biology/bowtie/Makefile23
-rw-r--r--biology/bowtie/distinfo5
-rw-r--r--biology/bowtie/files/patch-Makefile60
-rw-r--r--biology/bowtie/files/patch-ebwt.h11
-rw-r--r--biology/bowtie/files/patch-processor__support.h11
-rw-r--r--biology/bowtie/pkg-descr2
-rw-r--r--biology/bowtie/pkg-plist5
-rw-r--r--biology/bowtie2/Makefile6
-rw-r--r--biology/bowtie2/distinfo6
-rw-r--r--biology/bowtie2/files/patch-Makefile26
-rw-r--r--biology/bowtie2/pkg-descr2
-rw-r--r--biology/btllib/Makefile32
-rw-r--r--biology/btllib/distinfo7
-rw-r--r--biology/btllib/files/patch-meson.build54
-rw-r--r--biology/btllib/files/patch-src_btllib_status.cpp18
-rw-r--r--biology/btllib/files/patch-subprojects_cpptoml_CMakeLists.txt13
-rw-r--r--biology/btllib/pkg-descr1
-rw-r--r--biology/btllib/pkg-plist32
-rw-r--r--biology/bwa/Makefile26
-rw-r--r--biology/bwa/files/patch-ksw.c13
-rw-r--r--biology/bwa/pkg-descr2
-rw-r--r--biology/canu/Makefile37
-rw-r--r--biology/canu/distinfo6
-rw-r--r--biology/canu/files/cpuid_any.c52
-rw-r--r--biology/canu/files/cpuid_arm.c57
-rw-r--r--biology/canu/files/cpuid_ppc.c57
-rw-r--r--biology/canu/files/patch-utgcns_libboost_boost_smart__ptr_detail_shared__count.hpp10
-rw-r--r--biology/canu/files/patch-utility_src_utility_files.H11
-rw-r--r--biology/canu/files/patch-utility_src_utility_system.H11
-rw-r--r--biology/canu/files/patch-utility_src_utility_types.H11
-rw-r--r--biology/canu/pkg-descr2
-rw-r--r--biology/canu/pkg-plist3
-rw-r--r--biology/cd-hit/Makefile11
-rw-r--r--biology/cd-hit/pkg-descr2
-rw-r--r--biology/cdbfasta/Makefile13
-rw-r--r--biology/cdbfasta/distinfo5
-rw-r--r--biology/cdbfasta/files/patch-Makefile54
-rw-r--r--biology/cdbfasta/pkg-descr5
-rw-r--r--biology/checkm/Makefile13
-rw-r--r--biology/checkm/distinfo6
-rw-r--r--biology/checkm/pkg-descr23
-rw-r--r--biology/chip-seq/Makefile27
-rw-r--r--biology/chip-seq/distinfo1
-rw-r--r--biology/chip-seq/pkg-descr2
-rw-r--r--biology/clustal-omega/Makefile1
-rw-r--r--biology/clustal-omega/pkg-descr2
-rw-r--r--biology/clustalw/Makefile6
-rw-r--r--biology/clustalw/distinfo1
-rw-r--r--biology/clustalw/pkg-descr2
-rw-r--r--biology/cufflinks/Makefile8
-rw-r--r--biology/cufflinks/files/patch-configure.ac30
-rw-r--r--biology/cufflinks/files/patch-src_GBase.h11
-rw-r--r--biology/cufflinks/files/patch-src_codons.cpp24
-rw-r--r--biology/cufflinks/files/patch-src_gdna.cpp34
-rw-r--r--biology/cufflinks/files/patch-src_gdna.h12
-rw-r--r--biology/cufflinks/files/patch-src_gff.cpp11
-rw-r--r--biology/cufflinks/files/patch-src_gff.h34
-rw-r--r--biology/cufflinks/pkg-descr2
-rw-r--r--biology/cytoscape/Makefile6
-rw-r--r--biology/cytoscape/pkg-descr2
-rw-r--r--biology/ddocent/Makefile7
-rw-r--r--biology/ddocent/pkg-descr2
-rw-r--r--biology/diamond/Makefile6
-rw-r--r--biology/diamond/distinfo6
-rw-r--r--biology/diamond/pkg-descr2
-rw-r--r--biology/dsr-pdb/Makefile8
-rw-r--r--biology/dsr-pdb/files/patch-lib_Makefile.in13
-rw-r--r--biology/dsr-pdb/pkg-descr2
-rw-r--r--biology/edlib/Makefile1
-rw-r--r--biology/edlib/pkg-descr2
-rw-r--r--biology/emboss/Makefile19
-rw-r--r--biology/emboss/distinfo2
-rw-r--r--biology/emboss/files/emboss.c59
-rw-r--r--biology/emboss/files/patch-ajax_core_ajfileio.c10
-rw-r--r--biology/emboss/pkg-descr2
-rw-r--r--biology/emboss/pkg-plist1
-rw-r--r--biology/erminej/Makefile1
-rw-r--r--biology/erminej/pkg-descr2
-rw-r--r--biology/exonerate/Makefile5
-rw-r--r--biology/exonerate/pkg-descr2
-rw-r--r--biology/exonerate/pkg-plist8
-rw-r--r--biology/fasda/Makefile28
-rw-r--r--biology/fasda/distinfo3
-rw-r--r--biology/fasda/pkg-descr5
-rw-r--r--biology/fasda/pkg-plist10
-rw-r--r--biology/fasta/Makefile14
-rw-r--r--biology/fasta/pkg-descr2
-rw-r--r--biology/fasta/pkg-plist28
-rw-r--r--biology/fasta3/Makefile8
-rw-r--r--biology/fasta3/pkg-descr2
-rw-r--r--biology/fasta3/pkg-plist42
-rw-r--r--biology/fastahack/Makefile1
-rw-r--r--biology/fastahack/pkg-descr2
-rw-r--r--biology/fastdnaml/Makefile3
-rw-r--r--biology/fastdnaml/pkg-descr2
-rw-r--r--biology/fastool/Makefile1
-rw-r--r--biology/fastool/pkg-descr2
-rw-r--r--biology/fastp/Makefile8
-rw-r--r--biology/fastp/distinfo6
-rw-r--r--biology/fastp/files/patch-Makefile47
-rw-r--r--biology/fastp/files/patch-src_main.cpp17
-rw-r--r--biology/fastp/pkg-descr2
-rw-r--r--biology/fastq-trim/Makefile24
-rw-r--r--biology/fastq-trim/distinfo3
-rw-r--r--biology/fastq-trim/pkg-descr6
-rw-r--r--biology/fastq-trim/pkg-plist75
-rw-r--r--biology/fastqc/Makefile3
-rw-r--r--biology/fastqc/distinfo6
-rw-r--r--biology/fastqc/pkg-descr2
-rw-r--r--biology/fastqc/pkg-plist44
-rw-r--r--biology/fasttree/Makefile7
-rw-r--r--biology/fasttree/pkg-descr2
-rw-r--r--biology/fastx-toolkit/Makefile6
-rw-r--r--biology/fastx-toolkit/distinfo1
-rw-r--r--biology/fastx-toolkit/files/patch-configure.ac10
-rw-r--r--biology/fastx-toolkit/pkg-descr2
-rw-r--r--biology/figtree/Makefile6
-rw-r--r--biology/figtree/distinfo6
-rw-r--r--biology/figtree/pkg-descr2
-rw-r--r--biology/flash/Makefile1
-rw-r--r--biology/flash/pkg-descr2
-rw-r--r--biology/fluctuate/Makefile3
-rw-r--r--biology/fluctuate/pkg-descr2
-rw-r--r--biology/freebayes/Makefile53
-rw-r--r--biology/freebayes/distinfo52
-rw-r--r--biology/freebayes/files/patch-Makefile20
-rw-r--r--biology/freebayes/files/patch-SeqLib_bwa_Makefile14
-rw-r--r--biology/freebayes/files/patch-SeqLib_bwa_bwt__lite.c10
-rw-r--r--biology/freebayes/files/patch-SeqLib_bwa_bwtgap.h10
-rw-r--r--biology/freebayes/files/patch-SeqLib_bwa_kthread.c10
-rw-r--r--biology/freebayes/files/patch-SeqLib_bwa_rle.h11
-rw-r--r--biology/freebayes/files/patch-SeqLib_fermi-lite_Makefile12
-rw-r--r--biology/freebayes/files/patch-SeqLib_fermi-lite_rle.h11
-rw-r--r--biology/freebayes/files/patch-SeqLib_htslib_Makefile38
-rw-r--r--biology/freebayes/files/patch-src_Makefile62
-rw-r--r--biology/freebayes/files/patch-vcflib_Makefile13
-rw-r--r--biology/freebayes/pkg-descr2
-rw-r--r--biology/garlic/Makefile3
-rw-r--r--biology/garlic/pkg-descr2
-rw-r--r--biology/gatk/Makefile18
-rw-r--r--biology/gatk/distinfo10
-rw-r--r--biology/gatk/pkg-descr2
-rw-r--r--biology/gcta/Makefile53
-rw-r--r--biology/gcta/distinfo8
-rw-r--r--biology/gcta/files/patch-CMakeLists.txt98
-rw-r--r--biology/gcta/files/patch-Makefile59
-rw-r--r--biology/gcta/files/patch-eigen__func.h15
-rw-r--r--biology/gcta/files/patch-gcta.h29
-rw-r--r--biology/gcta/files/patch-include_Matrix.hpp24
-rw-r--r--biology/gcta/files/patch-include_cpu.h19
-rw-r--r--biology/gcta/files/patch-include_cpu__f77blas.h18
-rw-r--r--biology/gcta/files/patch-ld.cpp13
-rw-r--r--biology/gcta/files/patch-main_mkl.cpp24
-rw-r--r--biology/gcta/files/patch-main_option.cpp28
-rw-r--r--biology/gcta/files/patch-mkl.cpp56
-rw-r--r--biology/gcta/files/patch-src_Geno.cpp11
-rw-r--r--biology/gcta/files/patch-src_StatLib.cpp19
-rw-r--r--biology/gcta/files/patch-src_main.cpp11
-rw-r--r--biology/gcta/pkg-descr12
-rw-r--r--biology/gemma/Makefile3
-rw-r--r--biology/gemma/pkg-descr2
-rw-r--r--biology/generand/Makefile6
-rw-r--r--biology/generand/pkg-descr2
-rw-r--r--biology/gff2ps/Makefile5
-rw-r--r--biology/gff2ps/pkg-descr2
-rw-r--r--biology/gffread/Makefile25
-rw-r--r--biology/gffread/distinfo5
-rw-r--r--biology/gffread/files/patch-Makefile68
-rw-r--r--biology/gffread/pkg-descr2
-rw-r--r--biology/gmap/Makefile7
-rw-r--r--biology/gmap/pkg-descr2
-rw-r--r--biology/gperiodic/Makefile5
-rw-r--r--biology/gperiodic/pkg-descr2
-rw-r--r--biology/graphlan/Makefile1
-rw-r--r--biology/graphlan/pkg-descr2
-rw-r--r--biology/groopm/Makefile7
-rw-r--r--biology/groopm/files/patch-2to33414
-rw-r--r--biology/groopm/pkg-descr2
-rw-r--r--biology/haplohseq/Makefile6
-rw-r--r--biology/haplohseq/pkg-descr2
-rw-r--r--biology/hhsuite/Makefile12
-rw-r--r--biology/hhsuite/files/patch-lib_simde_simde_x86_sse2.h11
-rw-r--r--biology/hhsuite/files/patch-src_CMakeLists.txt32
-rw-r--r--biology/hhsuite/files/patch-src_a3m__compress.cpp12
-rw-r--r--biology/hhsuite/pkg-descr2
-rw-r--r--biology/hhsuite/pkg-plist8
-rw-r--r--biology/hisat2/Makefile26
-rw-r--r--biology/hisat2/distinfo6
-rw-r--r--biology/hisat2/files/Makefile.pkg446
-rw-r--r--biology/hisat2/files/patch-Makefile80
-rw-r--r--biology/hisat2/files/patch-aligner__sw.h17
-rw-r--r--biology/hisat2/files/patch-processor__support.h21
-rw-r--r--biology/hisat2/files/patch-sse__util.h17
-rw-r--r--biology/hisat2/pkg-descr2
-rw-r--r--biology/hisat2/pkg-plist27
-rw-r--r--biology/hmmer/Makefile23
-rw-r--r--biology/hmmer/distinfo6
-rw-r--r--biology/hmmer/files/patch-src_hmmc2.c11
-rw-r--r--biology/hmmer/pkg-descr2
-rw-r--r--biology/hmmer/pkg-plist42
-rw-r--r--biology/htslib/Makefile10
-rw-r--r--biology/htslib/distinfo6
-rw-r--r--biology/htslib/files/patch-Makefile37
-rw-r--r--biology/htslib/files/patch-htscodecs_htscodecs_rANS__static32x16pr__neon.c11
-rw-r--r--biology/htslib/files/patch-htscodecs_htscodecs_rANS__static4x16pr.c11
-rw-r--r--biology/htslib/pkg-descr2
-rw-r--r--biology/htslib/pkg-plist14
-rw-r--r--biology/hyphy/Makefile9
-rw-r--r--biology/hyphy/distinfo6
-rw-r--r--biology/hyphy/pkg-descr2
-rw-r--r--biology/hyphy/pkg-plist5
-rw-r--r--biology/igv/Makefile6
-rw-r--r--biology/igv/distinfo14
-rw-r--r--biology/igv/pkg-descr2
-rw-r--r--biology/igv/pkg-plist104
-rw-r--r--biology/infernal/Makefile21
-rw-r--r--biology/infernal/distinfo6
-rw-r--r--biology/infernal/files/patch-hmmer_src_hmmc2.c11
-rw-r--r--biology/infernal/files/patch-src_Makefile.in19
-rw-r--r--biology/infernal/pkg-descr4
-rw-r--r--biology/infernal/pkg-plist22
-rw-r--r--biology/iolib/Makefile7
-rw-r--r--biology/iolib/pkg-descr2
-rw-r--r--biology/iolib/pkg-plist48
-rw-r--r--biology/iqtree/Makefile13
-rw-r--r--biology/iqtree/distinfo8
-rw-r--r--biology/iqtree/files/patch-CMakeLists.txt10
-rw-r--r--biology/iqtree/pkg-descr2
-rw-r--r--biology/jalview/Makefile13
-rw-r--r--biology/jalview/distinfo10
-rw-r--r--biology/jalview/pkg-descr2
-rw-r--r--biology/jellyfish/Makefile17
-rw-r--r--biology/jellyfish/distinfo6
-rw-r--r--biology/jellyfish/pkg-descr2
-rw-r--r--biology/jellyfish/pkg-plist2
-rw-r--r--biology/kallisto/Makefile19
-rw-r--r--biology/kallisto/distinfo6
-rwxr-xr-x[-rw-r--r--]biology/kallisto/files/kallisto-test.in29
-rw-r--r--biology/kallisto/files/patch-CMakeLists.txt72
-rw-r--r--biology/kallisto/files/patch-ext_bifrost_CMakeLists.txt40
-rw-r--r--biology/kallisto/files/patch-ext_bifrost_src_strict__fstream.hpp11
-rw-r--r--biology/kallisto/files/patch-ext_htslib_configure.ac11
-rw-r--r--biology/kallisto/files/patch-src_CMakeLists.txt24
-rw-r--r--biology/kallisto/files/patch-src_kseq.h12
-rw-r--r--biology/kallisto/files/patch-src_main.cpp10
-rw-r--r--biology/kallisto/pkg-descr2
-rw-r--r--biology/kmcp/Makefile21
-rw-r--r--biology/kmcp/distinfo5
-rw-r--r--biology/kmcp/files/patch-vendor_github.com_shenwei356_pand_select__other.go11
-rw-r--r--biology/kmcp/files/patch-vendor_github.com_shenwei356_pospop_select__generic.go9
-rw-r--r--biology/kmcp/pkg-descr4
-rw-r--r--biology/lamarc/Makefile19
-rw-r--r--biology/lamarc/pkg-descr2
-rw-r--r--biology/libbigwig/Makefile21
-rw-r--r--biology/libbigwig/distinfo6
-rw-r--r--biology/libbigwig/files/patch-bwValues.c29
-rw-r--r--biology/libbigwig/pkg-descr2
-rw-r--r--biology/libcombine/Makefile30
-rw-r--r--biology/libcombine/distinfo7
-rw-r--r--biology/libcombine/files/patch-CMakeLists.txt11
-rw-r--r--biology/libcombine/files/patch-CMakeModules_FindLIBSBML.cmake23
-rw-r--r--biology/libcombine/files/patch-dev_generated_CMakeLists.txt11
-rw-r--r--biology/libcombine/pkg-descr4
-rw-r--r--biology/libcombine/pkg-plist43
-rw-r--r--biology/libgff/Makefile17
-rw-r--r--biology/libgff/distinfo3
-rw-r--r--biology/libgff/pkg-descr9
-rw-r--r--biology/libgff/pkg-plist14
-rw-r--r--biology/libgtextutils/Makefile1
-rw-r--r--biology/libgtextutils/pkg-descr2
-rw-r--r--biology/libneurosim/Makefile35
-rw-r--r--biology/libneurosim/distinfo3
-rw-r--r--biology/libneurosim/pkg-descr11
-rw-r--r--biology/libneurosim/pkg-plist13
-rw-r--r--biology/libnuml/Makefile30
-rw-r--r--biology/libnuml/distinfo3
-rw-r--r--biology/libnuml/pkg-descr4
-rw-r--r--biology/libnuml/pkg-plist44
-rw-r--r--biology/libsbml/Makefile48
-rw-r--r--biology/libsbml/distinfo6
-rw-r--r--biology/libsbml/files/patch-CMakeLists.txt60
-rw-r--r--biology/libsbml/pkg-descr4
-rw-r--r--biology/libsbml/pkg-plist376
-rw-r--r--biology/libsedml/Makefile34
-rw-r--r--biology/libsedml/distinfo3
-rw-r--r--biology/libsedml/files/patch-CMakeLists.txt11
-rw-r--r--biology/libsedml/pkg-descr2
-rw-r--r--biology/libsedml/pkg-plist119
-rw-r--r--biology/linux-foldingathome/Makefile5
-rw-r--r--biology/linux-foldingathome/pkg-descr2
-rw-r--r--biology/locarna/Makefile39
-rw-r--r--biology/locarna/distinfo3
-rw-r--r--biology/locarna/pkg-descr13
-rw-r--r--biology/locarna/pkg-plist134
-rw-r--r--biology/mafft/Makefile14
-rw-r--r--biology/mafft/distinfo5
-rw-r--r--biology/mafft/files/patch-core_Makefile2
-rw-r--r--biology/mafft/pkg-descr2
-rw-r--r--biology/mafft/pkg-plist4
-rw-r--r--biology/mapm3/Makefile3
-rw-r--r--biology/mapm3/pkg-descr2
-rw-r--r--biology/mashmap/Makefile36
-rw-r--r--biology/mashmap/distinfo3
-rw-r--r--biology/mashmap/pkg-descr11
-rw-r--r--biology/megahit/Makefile24
-rw-r--r--biology/megahit/distinfo3
-rw-r--r--biology/megahit/files/patch-CMakeLists.txt17
-rw-r--r--biology/megahit/pkg-descr4
-rw-r--r--biology/megahit/pkg-plist14
-rw-r--r--biology/metaeuk/Makefile49
-rw-r--r--biology/metaeuk/distinfo7
-rw-r--r--biology/metaeuk/pkg-descr8
-rw-r--r--biology/migrate/Makefile39
-rw-r--r--biology/migrate/distinfo5
-rw-r--r--biology/migrate/files/patch-Makefile.in23
-rw-r--r--biology/migrate/pkg-descr2
-rw-r--r--biology/migrate/pkg-plist4
-rw-r--r--biology/minimap2/Makefile13
-rw-r--r--biology/minimap2/distinfo6
-rw-r--r--biology/minimap2/files/patch-Makefile.simde (renamed from biology/minimap2/files/patch-Makefile)41
-rw-r--r--biology/minimap2/files/patch-example.c11
-rw-r--r--biology/minimap2/pkg-descr8
-rw-r--r--biology/minimap2/pkg-plist2
-rw-r--r--biology/mmseqs2/Makefile5
-rw-r--r--biology/mmseqs2/pkg-descr2
-rw-r--r--biology/molden/Makefile51
-rw-r--r--biology/molden/distinfo6
-rw-r--r--biology/molden/files/patch-ambfor-makefile28
-rw-r--r--biology/molden/files/patch-makefile48
-rw-r--r--biology/molden/files/patch-src_surf_Makefile13
-rw-r--r--biology/molden/files/patch-src_surf_utils.c21
-rw-r--r--biology/molden/files/patch-src_xwin.c10
-rw-r--r--biology/molden/files/patch-surf-Makefile789
-rw-r--r--biology/molden/files/patch-xwin.c32
-rw-r--r--biology/molden/pkg-descr36
-rw-r--r--biology/mopac/Makefile44
-rw-r--r--biology/mopac/distinfo2
-rw-r--r--biology/mopac/pkg-descr4
-rw-r--r--biology/mopac/pkg-plist8
-rw-r--r--biology/mothur/Makefile10
-rw-r--r--biology/mothur/distinfo6
-rw-r--r--biology/mothur/pkg-descr2
-rw-r--r--biology/mrbayes/Makefile3
-rw-r--r--biology/mrbayes/pkg-descr2
-rw-r--r--biology/mummer/Makefile5
-rw-r--r--biology/mummer/pkg-descr2
-rw-r--r--biology/muscle/Makefile3
-rw-r--r--biology/muscle/pkg-descr2
-rw-r--r--biology/ncbi-blast+/Makefile19
-rw-r--r--biology/ncbi-blast+/distinfo6
-rw-r--r--biology/ncbi-blast+/files/patch-src_objtools_blast_seqdb__reader_test_seqdb__perf.cpp18
-rw-r--r--biology/ncbi-blast+/pkg-descr2
-rw-r--r--biology/ncbi-blast+/pkg-plist932
-rw-r--r--biology/ncbi-cxx-toolkit/Makefile34
-rw-r--r--biology/ncbi-cxx-toolkit/distinfo6
-rw-r--r--biology/ncbi-cxx-toolkit/files/patch-src_build-system_configure10
-rw-r--r--biology/ncbi-cxx-toolkit/pkg-descr2
-rw-r--r--biology/ncbi-entrez-direct/Makefile11
-rw-r--r--biology/ncbi-entrez-direct/distinfo6
-rw-r--r--biology/ncbi-entrez-direct/files/modules.txt15
-rw-r--r--biology/ncbi-entrez-direct/files/patch-cmd_go.mod29
-rw-r--r--biology/ncbi-entrez-direct/files/patch-cmd_go.sum15
-rw-r--r--biology/ncbi-entrez-direct/pkg-descr2
-rw-r--r--biology/ncbi-toolkit/Makefile18
-rw-r--r--biology/ncbi-toolkit/pkg-descr2
-rw-r--r--biology/ncbi-toolkit/pkg-plist86
-rw-r--r--biology/ncbi-vdb/Makefile3
-rw-r--r--biology/ncbi-vdb/files/patch-hdf530
-rw-r--r--biology/ncbi-vdb/pkg-descr2
-rw-r--r--biology/ngs-sdk/Makefile11
-rw-r--r--biology/ngs-sdk/distinfo6
-rw-r--r--biology/ngs-sdk/files/patch-ngs-sdk_setup_konfigure.perl26
-rw-r--r--biology/ngs-sdk/pkg-descr2
-rw-r--r--biology/ngs-sdk/pkg-plist6
-rw-r--r--biology/p5-AcePerl/Makefile3
-rw-r--r--biology/p5-AcePerl/pkg-descr2
-rw-r--r--biology/p5-Bio-ASN1-EntrezGene/Makefile3
-rw-r--r--biology/p5-Bio-ASN1-EntrezGene/pkg-descr2
-rw-r--r--biology/p5-Bio-Cluster/Makefile3
-rw-r--r--biology/p5-Bio-Cluster/pkg-descr2
-rw-r--r--biology/p5-Bio-Coordinate/Makefile3
-rw-r--r--biology/p5-Bio-Coordinate/pkg-descr2
-rw-r--r--biology/p5-Bio-DB-EMBL/Makefile3
-rw-r--r--biology/p5-Bio-DB-EMBL/pkg-descr2
-rw-r--r--biology/p5-Bio-DB-NCBIHelper/Makefile7
-rw-r--r--biology/p5-Bio-DB-NCBIHelper/distinfo6
-rw-r--r--biology/p5-Bio-DB-NCBIHelper/pkg-descr2
-rw-r--r--biology/p5-Bio-Das-Lite/Makefile3
-rw-r--r--biology/p5-Bio-Das-Lite/pkg-descr2
-rw-r--r--biology/p5-Bio-Das/Makefile3
-rw-r--r--biology/p5-Bio-Das/pkg-descr2
-rw-r--r--biology/p5-Bio-FeatureIO/Makefile3
-rw-r--r--biology/p5-Bio-FeatureIO/pkg-descr2
-rw-r--r--biology/p5-Bio-GFF3/Makefile3
-rw-r--r--biology/p5-Bio-GFF3/pkg-descr2
-rw-r--r--biology/p5-Bio-Glite/Makefile3
-rw-r--r--biology/p5-Bio-Glite/pkg-descr2
-rw-r--r--biology/p5-Bio-Graphics/Makefile3
-rw-r--r--biology/p5-Bio-Graphics/pkg-descr2
-rw-r--r--biology/p5-Bio-MAGETAB/Makefile3
-rw-r--r--biology/p5-Bio-MAGETAB/pkg-descr2
-rw-r--r--biology/p5-Bio-NEXUS/Makefile3
-rw-r--r--biology/p5-Bio-NEXUS/pkg-descr2
-rw-r--r--biology/p5-Bio-Phylo/Makefile3
-rw-r--r--biology/p5-Bio-Phylo/pkg-descr2
-rw-r--r--biology/p5-Bio-SCF/Makefile3
-rw-r--r--biology/p5-Bio-SCF/pkg-descr2
-rw-r--r--biology/p5-Bio-Variation/Makefile3
-rw-r--r--biology/p5-Bio-Variation/pkg-descr2
-rw-r--r--biology/p5-BioPerl-Run/Makefile3
-rw-r--r--biology/p5-BioPerl-Run/pkg-descr2
-rw-r--r--biology/p5-BioPerl/Makefile12
-rw-r--r--biology/p5-BioPerl/distinfo6
-rw-r--r--biology/p5-BioPerl/pkg-descr2
-rw-r--r--biology/p5-BioPerl/pkg-plist2
-rw-r--r--biology/p5-TrimGalore/Makefile5
-rw-r--r--biology/p5-TrimGalore/pkg-descr2
-rw-r--r--biology/p5-transdecoder/Makefile4
-rw-r--r--biology/p5-transdecoder/distinfo6
-rw-r--r--biology/p5-transdecoder/pkg-descr2
-rw-r--r--biology/paml/Makefile22
-rw-r--r--biology/paml/distinfo6
-rw-r--r--biology/paml/files/patch-src_Makefile10
-rw-r--r--biology/paml/files/patch-src_paml.h14
-rw-r--r--biology/paml/pkg-descr2
-rw-r--r--biology/paml/pkg-plist65
-rw-r--r--biology/pbbam/Makefile5
-rw-r--r--biology/pbbam/pkg-descr2
-rw-r--r--biology/pbseqan/Makefile4
-rw-r--r--biology/pbseqan/pkg-descr2
-rw-r--r--biology/peak-classifier/Makefile12
-rw-r--r--biology/peak-classifier/distinfo6
-rw-r--r--biology/peak-classifier/pkg-descr3
-rw-r--r--biology/peak-classifier/pkg-plist8
-rw-r--r--biology/pear-merger/Makefile6
-rw-r--r--biology/pear-merger/pkg-descr2
-rw-r--r--biology/phrap/Makefile1
-rw-r--r--biology/phrap/pkg-descr2
-rw-r--r--biology/phred/Makefile3
-rw-r--r--biology/phred/pkg-descr2
-rw-r--r--biology/phyml/Makefile11
-rw-r--r--biology/phyml/distinfo6
-rw-r--r--biology/phyml/files/patch-configure.ac11
-rw-r--r--biology/phyml/files/patch-src_io.c59
-rw-r--r--biology/phyml/files/patch-src_phyrex.c11
-rw-r--r--biology/phyml/files/patch-src_utilities.c68
-rw-r--r--biology/phyml/files/patch-src_utilities.h22
-rw-r--r--biology/phyml/pkg-descr2
-rw-r--r--biology/picard-tools/Makefile5
-rw-r--r--biology/picard-tools/pkg-descr2
-rw-r--r--biology/plink/Makefile7
-rw-r--r--biology/plink/pkg-descr2
-rw-r--r--biology/pooler/Makefile18
-rw-r--r--biology/pooler/distinfo6
-rw-r--r--biology/pooler/pkg-descr2
-rw-r--r--biology/primer3/Makefile5
-rw-r--r--biology/primer3/pkg-descr2
-rw-r--r--biology/prodigal/Makefile5
-rw-r--r--biology/prodigal/distinfo6
-rw-r--r--biology/prodigal/pkg-descr2
-rw-r--r--biology/prodigy-lig/Makefile13
-rw-r--r--biology/prodigy-lig/distinfo6
-rw-r--r--biology/prodigy-lig/pkg-descr2
-rw-r--r--biology/protomol/Makefile5
-rw-r--r--biology/protomol/pkg-descr2
-rw-r--r--biology/psi88/Makefile5
-rw-r--r--biology/psi88/pkg-descr2
-rw-r--r--biology/py-Genesis-PyAPI/Makefile7
-rw-r--r--biology/py-Genesis-PyAPI/pkg-descr2
-rw-r--r--biology/py-PySCeS/Makefile37
-rw-r--r--biology/py-PySCeS/distinfo6
-rw-r--r--biology/py-PySCeS/files/patch-setup.py15
-rw-r--r--biology/py-PySCeS/pkg-descr2
-rw-r--r--biology/py-bcbio-gff/Makefile17
-rw-r--r--biology/py-bcbio-gff/distinfo3
-rw-r--r--biology/py-bcbio-gff/pkg-descr1
-rw-r--r--biology/py-bigwig/distinfo3
-rw-r--r--biology/py-biom-format/Makefile6
-rw-r--r--biology/py-biom-format/pkg-descr2
-rw-r--r--biology/py-biopython/Makefile10
-rw-r--r--biology/py-biopython/distinfo6
-rw-r--r--biology/py-biopython/pkg-descr2
-rw-r--r--biology/py-biosig/Makefile32
-rw-r--r--biology/py-biosig/distinfo3
-rw-r--r--biology/py-biosig/pkg-descr8
-rw-r--r--biology/py-bx-python/Makefile14
-rw-r--r--biology/py-bx-python/distinfo6
-rw-r--r--biology/py-bx-python/pkg-descr2
-rw-r--r--biology/py-crossmap/Makefile8
-rw-r--r--biology/py-crossmap/files/patch-2to32955
-rw-r--r--biology/py-crossmap/pkg-descr2
-rw-r--r--biology/py-cutadapt/Makefile19
-rw-r--r--biology/py-cutadapt/distinfo6
-rw-r--r--biology/py-cutadapt/pkg-descr2
-rw-r--r--biology/py-deeptools/Makefile27
-rw-r--r--biology/py-deeptools/distinfo3
-rw-r--r--biology/py-deeptools/pkg-descr7
-rw-r--r--biology/py-deeptoolsintervals/Makefile17
-rw-r--r--biology/py-deeptoolsintervals/distinfo3
-rw-r--r--biology/py-deeptoolsintervals/files/patch-setup.py11
-rw-r--r--biology/py-deeptoolsintervals/pkg-descr2
-rw-r--r--biology/py-dna-features-viewer/Makefile23
-rw-r--r--biology/py-dna-features-viewer/distinfo3
-rw-r--r--biology/py-dna-features-viewer/pkg-descr10
-rw-r--r--biology/py-dnaio/Makefile14
-rw-r--r--biology/py-dnaio/distinfo6
-rw-r--r--biology/py-dnaio/pkg-descr2
-rw-r--r--biology/py-ete3/Makefile13
-rw-r--r--biology/py-ete3/distinfo6
-rw-r--r--biology/py-ete3/pkg-descr2
-rw-r--r--biology/py-gffutils/Makefile9
-rw-r--r--biology/py-gffutils/distinfo6
-rw-r--r--biology/py-gffutils/pkg-descr2
-rw-r--r--biology/py-goatools/Makefile6
-rw-r--r--biology/py-goatools/pkg-descr2
-rw-r--r--biology/py-gtfparse/Makefile8
-rw-r--r--biology/py-gtfparse/distinfo6
-rw-r--r--biology/py-gtfparse/pkg-descr2
-rw-r--r--biology/py-hits/Makefile5
-rw-r--r--biology/py-hits/pkg-descr2
-rw-r--r--biology/py-htseq/Makefile30
-rw-r--r--biology/py-htseq/distinfo3
-rw-r--r--biology/py-htseq/pkg-descr4
-rw-r--r--biology/py-libnuml/Makefile32
-rw-r--r--biology/py-libnuml/distinfo3
-rw-r--r--biology/py-libnuml/files/patch-CMakeLists.txt31
-rw-r--r--biology/py-libnuml/pkg-descr6
-rw-r--r--biology/py-libnuml/pkg-plist3
-rw-r--r--biology/py-libsedml/Makefile35
-rw-r--r--biology/py-libsedml/distinfo3
-rw-r--r--biology/py-libsedml/files/patch-CMakeLists.txt33
-rw-r--r--biology/py-libsedml/files/quick-test.py20
-rw-r--r--biology/py-libsedml/pkg-descr4
-rw-r--r--biology/py-libsedml/pkg-plist3
-rw-r--r--biology/py-loompy/Makefile11
-rw-r--r--biology/py-loompy/distinfo6
-rw-r--r--biology/py-loompy/pkg-descr2
-rw-r--r--biology/py-macs2/Makefile16
-rw-r--r--biology/py-macs2/distinfo6
-rw-r--r--biology/py-macs2/files/patch-setup.py25
-rw-r--r--biology/py-macs2/pkg-descr2
-rw-r--r--biology/py-macs3/Makefile52
-rw-r--r--biology/py-macs3/distinfo3
-rw-r--r--biology/py-macs3/files/patch-MACS3_fermi-lite_ksw.c11
-rw-r--r--biology/py-macs3/files/patch-pyproject.toml7
-rw-r--r--biology/py-macs3/files/patch-requirements.txt11
-rw-r--r--biology/py-macs3/files/patch-setup.py11
-rw-r--r--biology/py-macs3/pkg-descr6
-rw-r--r--biology/py-mrcfile/Makefile21
-rw-r--r--biology/py-mrcfile/distinfo3
-rw-r--r--biology/py-mrcfile/pkg-descr3
-rw-r--r--biology/py-multiqc/Makefile12
-rw-r--r--biology/py-multiqc/distinfo6
-rw-r--r--biology/py-multiqc/files/patch-multiqc_multiqc.py29
-rw-r--r--biology/py-multiqc/pkg-descr2
-rw-r--r--biology/py-newick/Makefile17
-rw-r--r--biology/py-newick/distinfo3
-rw-r--r--biology/py-newick/pkg-descr1
-rw-r--r--biology/py-ont-fast5-api/Makefile6
-rw-r--r--biology/py-ont-fast5-api/distinfo6
-rw-r--r--biology/py-ont-fast5-api/files/patch-setup.py11
-rw-r--r--biology/py-ont-fast5-api/pkg-descr2
-rw-r--r--biology/py-orange3-bioinformatics/Makefile13
-rw-r--r--biology/py-orange3-bioinformatics/pkg-descr2
-rw-r--r--biology/py-orange3-single-cell/Makefile10
-rw-r--r--biology/py-orange3-single-cell/files/patch-doc_conf.py10
-rw-r--r--biology/py-orange3-single-cell/pkg-descr2
-rw-r--r--biology/py-pandas-charm/Makefile7
-rw-r--r--biology/py-pandas-charm/pkg-descr2
-rw-r--r--biology/py-py2bit/Makefile17
-rw-r--r--biology/py-py2bit/distinfo3
-rw-r--r--biology/py-py2bit/pkg-descr3
-rw-r--r--biology/py-pybigwig/Makefile (renamed from biology/py-bigwig/Makefile)5
-rw-r--r--biology/py-pybigwig/distinfo3
-rw-r--r--biology/py-pybigwig/files/patch-libBigWig_bwValues.c29
-rw-r--r--biology/py-pybigwig/pkg-descr (renamed from biology/py-bigwig/pkg-descr)2
-rw-r--r--biology/py-pyfaidx/Makefile5
-rw-r--r--biology/py-pyfaidx/pkg-descr2
-rw-r--r--biology/py-pyrodigal/Makefile31
-rw-r--r--biology/py-pyrodigal/distinfo3
-rw-r--r--biology/py-pyrodigal/pkg-descr18
-rw-r--r--biology/py-pysam/Makefile27
-rw-r--r--biology/py-pysam/distinfo6
-rw-r--r--biology/py-pysam/files/patch-setup.py11
-rw-r--r--biology/py-pysam/pkg-descr2
-rw-r--r--biology/py-python-libsbml/Makefile14
-rw-r--r--biology/py-python-libsbml/distinfo6
-rw-r--r--biology/py-python-libsbml/files/patch-libsbml__source_src_sbml_SBase.cpp2592
-rw-r--r--biology/py-python-libsbml/pkg-descr2
-rw-r--r--biology/py-pywgsim/Makefile3
-rw-r--r--biology/py-pywgsim/pkg-descr2
-rw-r--r--biology/py-resdk/Makefile22
-rw-r--r--biology/py-resdk/distinfo6
-rw-r--r--biology/py-resdk/files/patch-pyproject.toml10
-rw-r--r--biology/py-resdk/pkg-descr2
-rw-r--r--biology/py-scikit-bio/Makefile42
-rw-r--r--biology/py-scikit-bio/distinfo6
-rw-r--r--biology/py-scikit-bio/files/patch-pyproject.toml10
-rw-r--r--biology/py-scikit-bio/pkg-descr2
-rw-r--r--biology/py-valerius/Makefile24
-rw-r--r--biology/py-valerius/distinfo3
-rw-r--r--biology/py-valerius/pkg-descr3
-rw-r--r--biology/py-xenaPython/Makefile5
-rw-r--r--biology/py-xenaPython/pkg-descr2
-rw-r--r--biology/pyfasta/Makefile9
-rw-r--r--biology/pyfasta/pkg-descr2
-rw-r--r--biology/python-nexus/Makefile14
-rw-r--r--biology/python-nexus/distinfo6
-rw-r--r--biology/python-nexus/pkg-descr2
-rw-r--r--biology/rainbow/Makefile1
-rw-r--r--biology/rainbow/pkg-descr2
-rw-r--r--biology/rampler/Makefile2
-rw-r--r--biology/rampler/pkg-descr2
-rw-r--r--biology/readseq/Makefile1
-rw-r--r--biology/readseq/pkg-descr2
-rw-r--r--biology/recombine/Makefile33
-rw-r--r--biology/recombine/distinfo2
-rw-r--r--biology/recombine/files/patch-Makefile53
-rw-r--r--biology/recombine/files/patch-recombine.c168
-rw-r--r--biology/recombine/pkg-descr10
-rw-r--r--biology/rna-seq/Makefile28
-rw-r--r--biology/rna-seq/distinfo1
-rw-r--r--biology/rna-seq/pkg-descr2
-rw-r--r--biology/ruby-bio/Makefile9
-rw-r--r--biology/ruby-bio/pkg-descr2
-rw-r--r--biology/rubygem-bio-executables/Makefile4
-rw-r--r--biology/rubygem-bio-executables/pkg-descr2
-rw-r--r--biology/rubygem-bio-old-biofetch-emulator/Makefile4
-rw-r--r--biology/rubygem-bio-old-biofetch-emulator/pkg-descr2
-rw-r--r--biology/rubygem-bio-shell/Makefile8
-rw-r--r--biology/rubygem-bio-shell/distinfo6
-rw-r--r--biology/rubygem-bio-shell/pkg-descr2
-rw-r--r--biology/rubygem-bio/Makefile6
-rw-r--r--biology/rubygem-bio/distinfo6
-rw-r--r--biology/rubygem-bio/pkg-descr2
-rw-r--r--biology/salmon/Makefile51
-rw-r--r--biology/salmon/distinfo9
-rw-r--r--biology/salmon/files/patch-CMakeLists.txt123
-rw-r--r--biology/salmon/files/patch-external_pufferfish_CMakeLists.txt23
-rw-r--r--biology/salmon/files/patch-external_pufferfish_external_twopaco_graphconstructor_assemblyedgeconstructor.h22
-rw-r--r--biology/salmon/files/patch-external_pufferfish_include_ghc_filesystem.hpp11
-rw-r--r--biology/salmon/files/patch-external_pufferfish_include_zstr_strict__fstream.hpp11
-rw-r--r--biology/salmon/files/patch-include_strict__fstream.hpp11
-rw-r--r--biology/salmon/files/patch-scripts_fetchPufferfish.sh57
-rw-r--r--biology/salmon/files/patch-src_CMakeLists.txt18
-rw-r--r--biology/salmon/pkg-descr7
-rw-r--r--biology/sam2pairwise/Makefile1
-rw-r--r--biology/sam2pairwise/pkg-descr2
-rw-r--r--biology/samtools/Makefile7
-rw-r--r--biology/samtools/distinfo6
-rw-r--r--biology/samtools/pkg-descr2
-rw-r--r--biology/samtools/pkg-plist78
-rw-r--r--biology/scrm/Makefile5
-rw-r--r--biology/scrm/pkg-descr2
-rw-r--r--biology/seaview/Makefile11
-rw-r--r--biology/seaview/distinfo6
-rw-r--r--biology/seaview/files/patch-csrc_dnapars.c70
-rw-r--r--biology/seaview/pkg-descr2
-rw-r--r--biology/seaview/pkg-plist2
-rw-r--r--biology/seqan-apps/Makefile12
-rw-r--r--biology/seqan-apps/pkg-descr2
-rw-r--r--biology/seqan-apps/pkg-plist2
-rw-r--r--biology/seqan/Makefile5
-rw-r--r--biology/seqan/pkg-descr2
-rw-r--r--biology/seqan1/Makefile5
-rw-r--r--biology/seqan1/pkg-descr2
-rw-r--r--biology/seqan3/Makefile10
-rw-r--r--biology/seqan3/distinfo10
-rw-r--r--biology/seqan3/pkg-descr2
-rw-r--r--biology/seqan3/pkg-plist243
-rw-r--r--biology/seqio/Makefile37
-rw-r--r--biology/seqio/distinfo2
-rw-r--r--biology/seqio/files/patch-Makefile17
-rw-r--r--biology/seqio/files/patch-fmtseq117
-rw-r--r--biology/seqio/files/patch-grepseq155
-rw-r--r--biology/seqio/files/patch-seqio18
-rw-r--r--biology/seqio/pkg-descr6
-rw-r--r--biology/seqkit/Makefile12
-rw-r--r--biology/seqkit/distinfo12
-rw-r--r--biology/seqkit/pkg-descr2
-rw-r--r--biology/seqtk/Makefile12
-rw-r--r--biology/seqtk/distinfo6
-rw-r--r--biology/seqtk/files/patch-Makefile29
-rw-r--r--biology/seqtk/pkg-descr2
-rw-r--r--biology/seqwish/Makefile29
-rw-r--r--biology/seqwish/distinfo3
-rw-r--r--biology/seqwish/files/patch-CMakeLists.txt14
-rw-r--r--biology/seqwish/files/patch-src_main.cpp24
-rw-r--r--biology/seqwish/files/patch-src_tempfile.cpp31
-rw-r--r--biology/seqwish/pkg-descr10
-rw-r--r--biology/sigviewer/Makefile5
-rw-r--r--biology/sigviewer/pkg-descr2
-rw-r--r--biology/sim4/Makefile27
-rw-r--r--biology/sim4/distinfo2
-rw-r--r--biology/sim4/pkg-descr10
-rw-r--r--biology/slclust/Makefile1
-rw-r--r--biology/slclust/pkg-descr2
-rw-r--r--biology/smithwaterman/Makefile1
-rw-r--r--biology/smithwaterman/pkg-descr2
-rw-r--r--biology/snpeff/Makefile7
-rw-r--r--biology/snpeff/distinfo6
-rw-r--r--biology/snpeff/pkg-descr2
-rw-r--r--biology/spoa/Makefile24
-rw-r--r--biology/spoa/distinfo6
-rw-r--r--biology/spoa/files/patch-CMakeLists.txt118
-rw-r--r--biology/spoa/pkg-descr2
-rw-r--r--biology/spoa/pkg-plist7
-rw-r--r--biology/sra-tools/Makefile123
-rw-r--r--biology/sra-tools/distinfo12
-rw-r--r--biology/sra-tools/files/Makefile.bsd72
-rw-r--r--biology/sra-tools/files/byteswap.h37
-rw-r--r--biology/sra-tools/files/endian.h2
-rwxr-xr-xbiology/sra-tools/files/ld.bsd.clang.sh47
-rwxr-xr-xbiology/sra-tools/files/ld.bsd.cmn.sh158
-rwxr-xr-xbiology/sra-tools/files/ld.bsd.dlib.sh308
-rwxr-xr-xbiology/sra-tools/files/ld.bsd.exe.sh326
-rwxr-xr-xbiology/sra-tools/files/ld.bsd.gcc.sh47
-rwxr-xr-xbiology/sra-tools/files/ld.bsd.ln.sh98
-rwxr-xr-xbiology/sra-tools/files/ld.bsd.slib.sh146
-rw-r--r--biology/sra-tools/files/os-native.h43
-rw-r--r--biology/sra-tools/files/patch-CMakeLists.txt13
-rw-r--r--biology/sra-tools/files/patch-build_env.cmake56
-rw-r--r--biology/sra-tools/files/patch-build_ld.linux.exe.sh11
-rw-r--r--biology/sra-tools/files/patch-libs_ascp_CMakeLists.txt27
-rw-r--r--biology/sra-tools/files/patch-libs_general-writer_general-writer.cpp10
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.clang30
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.env25
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.gcc35
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.install11
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.shell31
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_build_env.cmake47
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_interfaces_os_sun_atomic32.h85
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_align_samextract-lib.cpp11
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_ext_Makefile12
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_kapp_CMakeLists.txt19
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_kapp_mac_ram.c17
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_kfc_CMakeLists.txt25
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_kfg_config.c33
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_kfs_CMakeLists.txt35
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_kfs_unix_sysdir.c11
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_klib_CMakeLists.txt18
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_klib_hashfile.c20
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_klib_unix_systime.c13
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_kns_CMakeLists.txt20
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_kns_manager.c11
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_kns_unix_syssock.c2
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_kproc_CMakeLists.txt21
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_ktst_CMakeLists.txt18
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_ncbi-vdb_Makefile20
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_search_Makefile12
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_libs_vfs_CMakeLists.txt25
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_setup_konfigure.perl243
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_setup_os-arch.prl20
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_test_kfg_kfgtest.cpp12
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_test_klib_printf-test.c8
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_test_kns_Makefile19
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_test_vdb_test-dependencies.cpp11
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_test_vdb_test-dependencies__dflt.cpp12
-rw-r--r--biology/sra-tools/files/patch-ncbi-vdb_test_vfs_redirect-rejected-names-cgi-http-to-https.cpp11
-rw-r--r--biology/sra-tools/files/patch-setup_install.perl13
-rw-r--r--biology/sra-tools/files/patch-setup_konfigure.perl121
-rw-r--r--biology/sra-tools/files/patch-tools_bam-loader_loader-imp.c10
-rw-r--r--biology/sra-tools/files/patch-tools_copycat_Makefile11
-rw-r--r--biology/sra-tools/files/patch-tools_driver-tool_Makefile16
-rw-r--r--biology/sra-tools/files/patch-tools_driver-tool_cmdline.cpp13
-rw-r--r--biology/sra-tools/files/patch-tools_driver-tool_utf8proc_Makefile11
-rw-r--r--biology/sra-tools/files/patch-tools_external_driver-tool_file-path.posix.cpp20
-rw-r--r--biology/sra-tools/files/patch-tools_external_driver-tool_sratools.cpp25
-rw-r--r--biology/sra-tools/files/patch-tools_external_vdb-config_tui_CMakeLists.txt20
-rw-r--r--biology/sra-tools/files/patch-tools_fastq-loader_spot-assembler.c11
-rw-r--r--biology/sra-tools/files/patch-tools_loaders_fastq-loader_spot-assembler.c17
-rw-r--r--biology/sra-tools/files/patch-tools_sra-sort_Makefile13
-rw-r--r--biology/sra-tools/files/patch-tools_util_validate-names4.c13
-rw-r--r--biology/sra-tools/pkg-descr5
-rw-r--r--biology/sra-tools/pkg-plist293
-rw-r--r--biology/stacks/Makefile1
-rw-r--r--biology/stacks/pkg-descr2
-rw-r--r--biology/star/Makefile32
-rw-r--r--biology/star/distinfo6
-rw-r--r--biology/star/files/patch-Makefile73
-rw-r--r--biology/star/files/patch-SharedMemory.cpp11
-rw-r--r--biology/star/files/patch-SuffixArrayFuns.cpp50
-rw-r--r--biology/star/files/patch-bamSortByCoordinate.cpp11
-rw-r--r--biology/star/pkg-descr2
-rw-r--r--biology/stringtie/Makefile1
-rw-r--r--biology/stringtie/pkg-descr2
-rw-r--r--biology/subread/Makefile1
-rw-r--r--biology/subread/pkg-descr2
-rw-r--r--biology/tRNAscan-SE/Makefile11
-rw-r--r--biology/tRNAscan-SE/distinfo6
-rw-r--r--biology/tRNAscan-SE/files/patch-Makefile.am6
-rw-r--r--biology/tRNAscan-SE/pkg-descr2
-rw-r--r--biology/tRNAscan-SE/pkg-plist4
-rw-r--r--biology/tabixpp/Makefile5
-rw-r--r--biology/tabixpp/pkg-descr2
-rw-r--r--biology/taxonkit/Makefile4
-rw-r--r--biology/taxonkit/distinfo10
-rw-r--r--biology/taxonkit/pkg-descr2
-rw-r--r--biology/treekin/Makefile6
-rw-r--r--biology/treekin/files/patch-src_calcpp.h22
-rw-r--r--biology/treekin/pkg-descr2
-rw-r--r--biology/treepuzzle/Makefile3
-rw-r--r--biology/treepuzzle/pkg-descr2
-rw-r--r--biology/trimadap/Makefile12
-rw-r--r--biology/trimadap/pkg-descr2
-rw-r--r--biology/trimmomatic/Makefile5
-rw-r--r--biology/trimmomatic/pkg-descr2
-rw-r--r--biology/ucsc-userapps/Makefile11
-rw-r--r--biology/ucsc-userapps/files/kent.c59
-rw-r--r--biology/ucsc-userapps/pkg-descr2
-rw-r--r--biology/ucsc-userapps/pkg-plist1
-rw-r--r--biology/ugene/Makefile17
-rw-r--r--biology/ugene/distinfo6
-rw-r--r--biology/ugene/pkg-descr2
-rw-r--r--biology/ugene/pkg-plist2
-rw-r--r--biology/unikmer/Makefile12
-rw-r--r--biology/unikmer/distinfo12
-rw-r--r--biology/unikmer/pkg-descr2
-rw-r--r--biology/vcf-split/Makefile9
-rw-r--r--biology/vcf-split/distinfo6
-rw-r--r--biology/vcf-split/pkg-descr2
-rw-r--r--biology/vcf2hap/Makefile9
-rw-r--r--biology/vcf2hap/distinfo6
-rw-r--r--biology/vcf2hap/pkg-descr3
-rw-r--r--biology/vcflib/Makefile69
-rw-r--r--biology/vcflib/distinfo24
-rw-r--r--biology/vcflib/files/Makefile.external-libs207
-rw-r--r--biology/vcflib/files/Makefile.submod117
-rw-r--r--biology/vcflib/files/patch-CMakeLists.txt26
-rw-r--r--biology/vcflib/files/patch-src_cdflib.cpp11
-rw-r--r--biology/vcflib/pkg-descr2
-rw-r--r--biology/vcflib/pkg-plist187
-rw-r--r--biology/vcftools/Makefile9
-rw-r--r--biology/vcftools/pkg-descr2
-rw-r--r--biology/vcftools/pkg-plist2
-rw-r--r--biology/velvet/Makefile3
-rw-r--r--biology/velvet/pkg-descr2
-rw-r--r--biology/viennarna/Makefile28
-rw-r--r--biology/viennarna/distinfo6
-rw-r--r--biology/viennarna/files/patch-RNA-Tutorial_Makefile.am4
-rw-r--r--biology/viennarna/pkg-descr27
-rw-r--r--biology/viennarna/pkg-plist83
-rw-r--r--biology/vsearch/Makefile8
-rw-r--r--biology/vsearch/distinfo6
-rw-r--r--biology/vsearch/files/patch-configure.ac13
-rw-r--r--biology/vsearch/files/patch-src_Makefile.am18
-rw-r--r--biology/vsearch/files/patch-src_vsearch.h10
-rw-r--r--biology/vsearch/pkg-descr2
-rw-r--r--biology/vt/Makefile3
-rw-r--r--biology/vt/pkg-descr2
-rw-r--r--biology/wfa2-lib/Makefile20
-rw-r--r--biology/wfa2-lib/distinfo3
-rw-r--r--biology/wfa2-lib/files/patch-CMakeLists.txt11
-rw-r--r--biology/wfa2-lib/pkg-descr9
-rw-r--r--biology/wfa2-lib/pkg-plist53
-rw-r--r--biology/wise/Makefile28
-rw-r--r--biology/wise/pkg-descr2
966 files changed, 20537 insertions, 8844 deletions
diff --git a/biology/Makefile b/biology/Makefile
index 294a87ca4e78..742a6885b0d2 100644
--- a/biology/Makefile
+++ b/biology/Makefile
@@ -1,15 +1,25 @@
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
@@ -21,11 +31,13 @@
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
@@ -37,12 +49,14 @@
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
@@ -56,6 +70,7 @@
SUBDIR += gemma
SUBDIR += generand
SUBDIR += gff2ps
+ SUBDIR += gffread
SUBDIR += gmap
SUBDIR += gperiodic
SUBDIR += graphlan
@@ -73,18 +88,27 @@
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 += mopac
SUBDIR += mothur
SUBDIR += mrbayes
SUBDIR += mummer
@@ -134,43 +158,58 @@
SUBDIR += psi88
SUBDIR += py-Genesis-PyAPI
SUBDIR += py-PySCeS
- SUBDIR += py-bigwig
+ 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 += 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 += salmon
SUBDIR += sam2pairwise
SUBDIR += samtools
SUBDIR += scrm
@@ -179,11 +218,10 @@
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
@@ -211,6 +249,7 @@
SUBDIR += viennarna
SUBDIR += vsearch
SUBDIR += vt
+ SUBDIR += wfa2-lib
SUBDIR += wise
.include <bsd.port.subdir.mk>
diff --git a/biology/R-cran-Biobase/Makefile b/biology/R-cran-Biobase/Makefile
new file mode 100644
index 000000000000..42f96c77d7ce
--- /dev/null
+++ b/biology/R-cran-Biobase/Makefile
@@ -0,0 +1,19 @@
+PORTNAME= Biobase
+PORTVERSION= 2.62.0
+CATEGORIES= biology
+MASTER_SITES= https://www.bioconductor.org/packages/release/bioc/src/contrib/
+DISTNAME= ${PORTNAME}_${PORTVERSION}
+
+MAINTAINER= bofh@FreeBSD.org
+COMMENT= Base functions for Bioconductor
+WWW= https://bioconductor.org/packages/Biobase
+
+LICENSE= ART20
+
+CRAN_DEPENDS= R-cran-BiocGenerics>=0.27.1:biology/R-cran-BiocGenerics
+BUILD_DEPENDS= ${CRAN_DEPENDS}
+RUN_DEPENDS= ${CRAN_DEPENDS}
+
+USES= cran:auto-plist,compiles
+
+.include <bsd.port.mk>
diff --git a/biology/R-cran-Biobase/distinfo b/biology/R-cran-Biobase/distinfo
new file mode 100644
index 000000000000..df3efd358691
--- /dev/null
+++ b/biology/R-cran-Biobase/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1702637713
+SHA256 (Biobase_2.62.0.tar.gz) = ef753acc499c2504e226bf76e0acc08b7aa370fc60cc369bb8ebc1913f57d37e
+SIZE (Biobase_2.62.0.tar.gz) = 1795862
diff --git a/biology/R-cran-Biobase/pkg-descr b/biology/R-cran-Biobase/pkg-descr
new file mode 100644
index 000000000000..9f55753715b5
--- /dev/null
+++ b/biology/R-cran-Biobase/pkg-descr
@@ -0,0 +1 @@
+Functions that are needed by many other packages or which replace R functions.
diff --git a/biology/R-cran-BiocGenerics/Makefile b/biology/R-cran-BiocGenerics/Makefile
new file mode 100644
index 000000000000..417a6fb2419f
--- /dev/null
+++ b/biology/R-cran-BiocGenerics/Makefile
@@ -0,0 +1,15 @@
+PORTNAME= BiocGenerics
+PORTVERSION= 0.48.1
+CATEGORIES= biology
+MASTER_SITES= https://bioconductor.org/packages/release/bioc/src/contrib/
+DISTNAME= ${PORTNAME}_${PORTVERSION}
+
+MAINTAINER= bofh@FreeBSD.org
+COMMENT= S4 generic functions used in Bioconductor
+WWW= https://bioconductor.org/packages/release/bioc/html/BiocGenerics.html
+
+LICENSE= ART20
+
+USES= cran:auto-plist,compiles
+
+.include <bsd.port.mk>
diff --git a/biology/R-cran-BiocGenerics/distinfo b/biology/R-cran-BiocGenerics/distinfo
new file mode 100644
index 000000000000..e6cf551768ef
--- /dev/null
+++ b/biology/R-cran-BiocGenerics/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1702637949
+SHA256 (BiocGenerics_0.48.1.tar.gz) = 13e126709da888420f320353d6ea52da12a8cbd086f2e29b9cc3039a6411652b
+SIZE (BiocGenerics_0.48.1.tar.gz) = 49546
diff --git a/biology/R-cran-BiocGenerics/pkg-descr b/biology/R-cran-BiocGenerics/pkg-descr
new file mode 100644
index 000000000000..691286abcbb4
--- /dev/null
+++ b/biology/R-cran-BiocGenerics/pkg-descr
@@ -0,0 +1,2 @@
+BiocGenerics is an R/Bioconductor package that defines many S4 generic functions
+used in Bioconductor.
diff --git a/biology/R-cran-BiocManager/Makefile b/biology/R-cran-BiocManager/Makefile
new file mode 100644
index 000000000000..2ecab572d8e4
--- /dev/null
+++ b/biology/R-cran-BiocManager/Makefile
@@ -0,0 +1,14 @@
+PORTNAME= BiocManager
+PORTVERSION= 1.30.22
+CATEGORIES= biology
+DISTNAME= ${PORTNAME}_${PORTVERSION}
+
+MAINTAINER= bofh@FreeBSD.org
+COMMENT= Convenient tool to install and update Bioconductor packages
+WWW= https://cran.r-project.org/web/packages/BiocManager/
+
+LICENSE= ART20
+
+USES= cran:auto-plist,compiles
+
+.include <bsd.port.mk>
diff --git a/biology/R-cran-BiocManager/distinfo b/biology/R-cran-BiocManager/distinfo
new file mode 100644
index 000000000000..e007f57ce45d
--- /dev/null
+++ b/biology/R-cran-BiocManager/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1702634634
+SHA256 (BiocManager_1.30.22.tar.gz) = 5389c9c0d6562b0757659fb8262ab51b48225c4ba7e9acd4f5e7c0049735e835
+SIZE (BiocManager_1.30.22.tar.gz) = 582690
diff --git a/biology/R-cran-BiocManager/pkg-descr b/biology/R-cran-BiocManager/pkg-descr
new file mode 100644
index 000000000000..bd8a1376348c
--- /dev/null
+++ b/biology/R-cran-BiocManager/pkg-descr
@@ -0,0 +1,4 @@
+The BiocManager package, as the modern successor package to BiocInstaller,
+allows users to install and manage packages from the Bioconductor project.
+Bioconductor focuses on the statistical analysis and comprehension of
+high-throughput genomic data.
diff --git a/biology/abyss/Makefile b/biology/abyss/Makefile
index 141b25659a53..3ba678ac236b 100644
--- a/biology/abyss/Makefile
+++ b/biology/abyss/Makefile
@@ -1,21 +1,24 @@
PORTNAME= abyss
-DISTVERSION= 2.3.1
+DISTVERSION= 2.3.7
+PORTREVISION= 2
CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= Assembly By Short Sequences: parallel, paired-end sequence assembler
+WWW= https://www.bcgsc.ca/resources/software/abyss
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_i386= result of comparison of constant 18446744073709551615 with expression of type 'size_t', see https://github.com/bcgsc/abyss/issues/310
-BROKEN_FreeBSD_11= error: use of undeclared identifier 'getline'; did you mean 'std::getline'?
BUILD_DEPENDS= ${LOCALBASE}/include/boost/version.hpp:devel/boost-libs \
ghc:lang/ghc \
pandoc:textproc/hs-pandoc # pandoc is required just for one man page: abyss-sealer
-LIB_DEPENDS= libffi.so:devel/libffi \
- libgmp.so:math/gmp
+LIB_DEPENDS= libbtllib.so:biology/btllib \
+ libffi.so:devel/libffi \
+ libgmp.so:math/gmp \
+ libmpich.so:net/mpich # binaries aren't linked with libmpich.so for some reason
RUN_DEPENDS= bash:shells/bash \
gmake:devel/gmake
@@ -31,6 +34,9 @@ make_CMD= ${PREFIX}/bin/gmake
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --without-sparsehash # configure fails to find std::hash, reported to the ML: https://groups.google.com/forum/#!topic/trans-abyss/SZDBKR5bKxs
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
+
+TEST_TARGET= check # tests fail to compile, see https://github.com/bcgsc/abyss/issues/453
OPTIONS_DEFINE= DOCS
@@ -38,4 +44,10 @@ PORTDOCS= *
PORTSCOUT= limit:^[0-9\.]*$$ # to ignore alpha-numeric tags
-.include <bsd.port.mk>
+.include <bsd.port.pre.mk>
+
+.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400079 || ( ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 ))
+CFLAGS+= -Wno-error=unused-but-set-variable
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/biology/abyss/distinfo b/biology/abyss/distinfo
index 864687f7f740..f27d6fc7904a 100644
--- a/biology/abyss/distinfo
+++ b/biology/abyss/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1619108885
-SHA256 (bcgsc-abyss-2.3.1_GH0.tar.gz) = b1941d6d975b38d34f41c38b8f4f599fc69d1f37ef3afb71f50318062fb548ea
-SIZE (bcgsc-abyss-2.3.1_GH0.tar.gz) = 1531044
+TIMESTAMP = 1689963359
+SHA256 (bcgsc-abyss-2.3.7_GH0.tar.gz) = eb1d814621ad2accaf19ea009453af891b29663de9f96c0da32c83fbfb71b85e
+SIZE (bcgsc-abyss-2.3.7_GH0.tar.gz) = 1323221
diff --git a/biology/abyss/files/patch-Common_city.cc b/biology/abyss/files/patch-Common_city.cc
index 9fc7031b6639..075c215d82d6 100644
--- a/biology/abyss/files/patch-Common_city.cc
+++ b/biology/abyss/files/patch-Common_city.cc
@@ -1,8 +1,8 @@
---- Common/city.cc.orig 2018-09-21 23:44:14 UTC
+--- Common/city.cc.orig 2022-05-11 22:23:32 UTC
+++ Common/city.cc
-@@ -65,6 +65,10 @@ static uint32 UNALIGNED_LOAD32(const char *p) {
- #define bswap_32(x) OSSwapInt32(x)
- #define bswap_64(x) OSSwapInt64(x)
+@@ -70,6 +70,10 @@ static uint32 UNALIGNED_LOAD32(const char *p) {
+ #define bswap_32(x) bswap32(x)
+ #define bswap_64(x) bswap64(x)
+#elif defined(__FreeBSD__)
+#include <sys/endian.h>
diff --git a/biology/abyss/pkg-descr b/biology/abyss/pkg-descr
index 0353f4d41b2a..39edf013e667 100644
--- a/biology/abyss/pkg-descr
+++ b/biology/abyss/pkg-descr
@@ -2,5 +2,3 @@ ABySS is a de novo, parallel, paired-end sequence assembler that is designed for
short reads. The single-processor version is useful for assembling genomes up to
100 Mbases in size. The parallel version is implemented using MPI and is capable
of assembling larger genomes.
-
-WWW: https://www.bcgsc.ca/resources/software/abyss
diff --git a/biology/abyss/pkg-plist b/biology/abyss/pkg-plist
index 3e2d8eba7135..e51a34db6e43 100644
--- a/biology/abyss/pkg-plist
+++ b/biology/abyss/pkg-plist
@@ -43,6 +43,7 @@ bin/abyss-map-ssq
bin/abyss-mergepairs
bin/abyss-overlap
bin/abyss-paired-dbg
+bin/abyss-paired-dbg-mpi
bin/abyss-pe
bin/abyss-rresolver-short
bin/abyss-samtoafg
@@ -54,7 +55,4 @@ bin/abyss-todot
bin/abyss-tofastq
bin/konnector
bin/logcounter
-man/man1/ABYSS.1.gz
-man/man1/abyss-pe.1.gz
-man/man1/abyss-sealer.1.gz
-man/man1/abyss-tofastq.1.gz
+share/man/man1/abyss-sealer.1.gz
diff --git a/biology/ad2vcf/Makefile b/biology/ad2vcf/Makefile
index 66f6cd76a3c2..6c1edd2e4dc3 100644
--- a/biology/ad2vcf/Makefile
+++ b/biology/ad2vcf/Makefile
@@ -1,10 +1,11 @@
PORTNAME= ad2vcf
-DISTVERSION= 0.1.3-31
-DISTVERSIONSUFFIX= -g2073297
+DISTVERSION= 0.1.6
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Add allelic depth info from a SAM stream to a VCF file
+WWW= https://github.com/auerlab/ad2vcf
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -14,7 +15,9 @@ LIB_DEPENDS= libbiolibc.so:biology/biolibc libxtend.so:devel/libxtend
USE_GITHUB= yes
GH_ACCOUNT= auerlab
-PLIST_FILES= bin/ad2vcf man/man1/ad2vcf.1.gz
+MAKE_ARGS= MANPREFIX=${PREFIX}/share
+MAKE_ENV+= VERSION=${PORTVERSION}
+PLIST_FILES= bin/ad2vcf share/man/man1/ad2vcf.1.gz
pre-build:
(cd ${WRKSRC} && ${MAKE} LOCALBASE=${LOCALBASE} depend)
diff --git a/biology/ad2vcf/distinfo b/biology/ad2vcf/distinfo
index adc5533df765..316c31f1b437 100644
--- a/biology/ad2vcf/distinfo
+++ b/biology/ad2vcf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1628941739
-SHA256 (auerlab-ad2vcf-0.1.3-31-g2073297_GH0.tar.gz) = 5f6b5219d2ea2d92eda8ff2f112a6e2a3cd363b9fa88713a84838e213cb450e3
-SIZE (auerlab-ad2vcf-0.1.3-31-g2073297_GH0.tar.gz) = 15209
+TIMESTAMP = 1654951938
+SHA256 (auerlab-ad2vcf-0.1.6_GH0.tar.gz) = fbed1e32504dbc6975cb124792d12e48576ed799ac148aa3b6beed33a67bdf98
+SIZE (auerlab-ad2vcf-0.1.6_GH0.tar.gz) = 16293
diff --git a/biology/ad2vcf/pkg-descr b/biology/ad2vcf/pkg-descr
index 16def19e923e..b15d7c478761 100644
--- a/biology/ad2vcf/pkg-descr
+++ b/biology/ad2vcf/pkg-descr
@@ -1,4 +1,2 @@
ad2vcf extracts allelic depth info from a SAM stream and adds it to a
corresponding single-sample VCF file.
-
-WWW: https://github.com/auerlab/ad2vcf
diff --git a/biology/artemis/Makefile b/biology/artemis/Makefile
index e9be8ea2e5cc..484da75e1f9e 100644
--- a/biology/artemis/Makefile
+++ b/biology/artemis/Makefile
@@ -1,5 +1,3 @@
-# Created by: camson@bilateral.com.au
-
PORTNAME= artemis
DISTVERSIONPREFIX= v
DISTVERSION= 17.0.1-11
@@ -8,6 +6,7 @@ CATEGORIES= biology java
MAINTAINER= yuri@FreeBSD.org
COMMENT= DNA sequence viewer and annotation tool
+WWW= https://www.sanger.ac.uk/science/tools/artemis
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/biology/artemis/pkg-descr b/biology/artemis/pkg-descr
index dc2234e3b110..3f83d5da4331 100644
--- a/biology/artemis/pkg-descr
+++ b/biology/artemis/pkg-descr
@@ -8,5 +8,3 @@ ACT (Artemis Comparison Tool) is a DNA sequence comparison viewer based
on Artemis. It can open two or more sequences (and their
annotations/features) together with their comparisons (usually the
result of running blastn or tblastx searches).
-
-WWW: https://www.sanger.ac.uk/science/tools/artemis
diff --git a/biology/atac-seq/Makefile b/biology/atac-seq/Makefile
new file mode 100644
index 000000000000..359d4c750a03
--- /dev/null
+++ b/biology/atac-seq/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= atac-seq
+DISTVERSION= 0.2.0
+CATEGORIES= biology python
+MASTER_SITES= # empty
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Metaport for ATAC-Seq analysis
+WWW= https://github.com/auerlab/
+
+LICENSE= BSD2CLAUSE
+
+RUN_DEPENDS= sra-tools>0:biology/sra-tools \
+ fastq-trim>0:biology/fastq-trim \
+ fastqc>0:biology/fastqc \
+ ${PYTHON_PKGNAMEPREFIX}multiqc>0:biology/py-multiqc@${PY_FLAVOR} \
+ biolibc-tools>0:biology/biolibc-tools \
+ bwa>0:biology/bwa \
+ bowtie2>0:biology/bowtie2 \
+ samtools>0:biology/samtools \
+ ${PYTHON_PKGNAMEPREFIX}macs2>0:biology/py-macs2@${PY_FLAVOR} \
+ fasda>0:biology/fasda \
+ peak-classifier>0:biology/peak-classifier \
+ webbrowser>0:www/webbrowser \
+ curl>0:ftp/curl
+
+USES= metaport python
+
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} != FreeBSD || ${OSVERSION} >= 1302509
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}MACS3>0:biology/py-macs3@${PY_FLAVOR}
+.endif
+
+.include <bsd.port.mk>
diff --git a/biology/atac-seq/distinfo b/biology/atac-seq/distinfo
new file mode 100644
index 000000000000..968e68a80fb0
--- /dev/null
+++ b/biology/atac-seq/distinfo
@@ -0,0 +1 @@
+TIMESTAMP = 1704902712
diff --git a/biology/atac-seq/pkg-descr b/biology/atac-seq/pkg-descr
new file mode 100644
index 000000000000..f4f9cd5c1975
--- /dev/null
+++ b/biology/atac-seq/pkg-descr
@@ -0,0 +1,2 @@
+Metaport to install tools for typical ATAC-Seq analysis, including QC,
+adapter trimming, alignment, and differential analysis.
diff --git a/biology/augustus/Makefile b/biology/augustus/Makefile
new file mode 100644
index 000000000000..f5725eb93f47
--- /dev/null
+++ b/biology/augustus/Makefile
@@ -0,0 +1,48 @@
+PORTNAME= augustus
+DISTVERSIONPREFIX= v
+DISTVERSION= 3.5.0
+PORTREVISION= 8
+CATEGORIES= biology science
+PKGNAMESUFFIX= -gene-prediction
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Genome annotation tool
+WWW= http://bioinf.uni-greifswald.de/webaugustus/
+
+LICENSE= GPLv3
+
+LIB_DEPENDS= libbamtools.so:biology/bamtools \
+ libboost_iostreams.so:devel/boost-libs \
+ libcolamd.so:math/suitesparse-colamd \
+ libgsl.so:math/gsl \
+ libhts.so:biology/htslib \
+ liblpsolve55.so:math/lp_solve \
+ libmysqlpp.so:databases/mysql++
+RUN_DEPENDS= samtools:biology/samtools
+
+USES= gmake localbase:ldflags mysql perl5 python sqlite shebangfix
+USE_CXXSTD= c++14
+
+USE_GITHUB= yes
+GH_ACCOUNT= Gaius-Augustus
+GH_PROJECT= Augustus
+
+SHEBANG_GLOB= *.pl *.py
+SHEBANG_FILES= scripts/checkUTR
+
+CXXFLAGS+= -I${LOCALBASE}/include/bamtools \
+ -I${LOCALBASE}/include/lpsolve \
+ -I${LOCALBASE}/include/mysql
+LDFLAGS+= -L${LOCALBASE}/lib/mysql
+
+MAKE_ARGS= INSTALLDIR=${LOCALBASE}/${PORTNAME} RLN="${RLN}"
+
+BINARY_ALIAS= make=${GMAKE} python3=${PYTHON_CMD}
+
+TEST_TARGET= test
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/*
+ @${RM} ${STAGEDIR}${PREFIX}/${PORTNAME}/scripts/pasapolyA2hints.pl.orig
+
+.include <bsd.port.mk>
diff --git a/biology/augustus/distinfo b/biology/augustus/distinfo
new file mode 100644
index 000000000000..108ef5b16514
--- /dev/null
+++ b/biology/augustus/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1669409399
+SHA256 (Gaius-Augustus-Augustus-v3.5.0_GH0.tar.gz) = 5ed6ce6106303b800c5e91d37a250baff43b20824657b853ae04d11ad8bdd686
+SIZE (Gaius-Augustus-Augustus-v3.5.0_GH0.tar.gz) = 225918930
diff --git a/biology/augustus/files/patch-Makefile b/biology/augustus/files/patch-Makefile
new file mode 100644
index 000000000000..bbc8028a8378
--- /dev/null
+++ b/biology/augustus/files/patch-Makefile
@@ -0,0 +1,30 @@
+- workaround for The 'install' target doesn't work when stage directory is necessary, see https://github.com/Gaius-Augustus/Augustus/issues/366
+
+--- Makefile.orig 2022-09-23 17:06:14 UTC
++++ Makefile
+@@ -30,16 +30,16 @@ PREFIX = /usr/local
+ INSTALLDIR = /opt/augustus-$(AUGVERSION)
+
+ install:
+- if [ ! $(PWD) -ef $(INSTALLDIR) ] ; then \
+- install -d $(INSTALLDIR) && \
+- cp -a config bin scripts $(INSTALLDIR) ; \
++ if [ ! $(PWD) -ef $(DESTDIR)$(INSTALLDIR) ] ; then \
++ install -d $(DESTDIR)$(INSTALLDIR) && \
++ cp -a config bin scripts $(DESTDIR)$(INSTALLDIR) ; \
+ fi
+- ln -sf $(INSTALLDIR)/bin/augustus $(PREFIX)/bin/augustus
+- ln -sf $(INSTALLDIR)/bin/etraining $(PREFIX)/bin/etraining
+- ln -sf $(INSTALLDIR)/bin/prepareAlign $(PREFIX)/bin/prepareAlign
+- ln -sf $(INSTALLDIR)/bin/fastBlockSearch $(PREFIX)/bin/fastBlockSearch
+- if [ -f $(INSTALLDIR)/bin/load2db ] ; then ln -sf $(INSTALLDIR)/bin/load2db $(PREFIX)/bin/load2db ; fi
+- if [ -f $(INSTALLDIR)/bin/getSeq ] ; then ln -sf $(INSTALLDIR)/bin/getSeq $(PREFIX)/bin/getSeq ; fi
++ $(RLN) $(DESTDIR)$(INSTALLDIR)/bin/augustus $(DESTDIR)$(PREFIX)/bin/augustus
++ $(RLN) $(DESTDIR)$(INSTALLDIR)/bin/etraining $(DESTDIR)$(PREFIX)/bin/etraining
++ $(RLN) $(DESTDIR)$(INSTALLDIR)/bin/prepareAlign $(DESTDIR)$(PREFIX)/bin/prepareAlign
++ $(RLN) $(DESTDIR)$(INSTALLDIR)/bin/fastBlockSearch $(DESTDIR)$(PREFIX)/bin/fastBlockSearch
++ if [ -f $(DESTDIR)$(INSTALLDIR)/bin/load2db ] ; then $(RLN) $(DESTDIR)$(INSTALLDIR)/bin/load2db $(DESTDIR)$(PREFIX)/bin/load2db ; fi
++ if [ -f $(DESTDIR)$(INSTALLDIR)/bin/getSeq ] ; then $(RLN) $(DESTDIR)$(INSTALLDIR)/bin/getSeq $(DESTDIR)$(PREFIX)/bin/getSeq ; fi
+
+ # for internal purposes:
+ release:
diff --git a/biology/augustus/files/patch-scripts_pasapolyA2hints.pl b/biology/augustus/files/patch-scripts_pasapolyA2hints.pl
new file mode 100644
index 000000000000..eaeaac89b9f6
--- /dev/null
+++ b/biology/augustus/files/patch-scripts_pasapolyA2hints.pl
@@ -0,0 +1,8 @@
+--- scripts/pasapolyA2hints.pl.orig 2022-11-25 23:03:59 UTC
++++ scripts/pasapolyA2hints.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/bin env
++#!/usr/bin/env perl
+ use strict;
+ use warnings;
+ use Getopt::Long;
diff --git a/biology/augustus/pkg-descr b/biology/augustus/pkg-descr
new file mode 100644
index 000000000000..886272f727a9
--- /dev/null
+++ b/biology/augustus/pkg-descr
@@ -0,0 +1,8 @@
+AUGUSTUS is a program that predicts genes in eukaryotic genomic sequences.
+
+AUGUSTUS usually belongs to the most accurate programs for the species it is
+trained for. Often it is the most accurate ab initio program. For example, at
+the independent gene finder assessment (EGASP) on the human ENCODE regions
+AUGUSTUS was the most accurate gene finder among the tested ab initio programs.
+At the more recent nGASP (worm), it was among the best in the ab initio and
+transcript-based categories. See accuracy statistics for further details.
diff --git a/biology/augustus/pkg-plist b/biology/augustus/pkg-plist
new file mode 100644
index 000000000000..38eb9f1ea43d
--- /dev/null
+++ b/biology/augustus/pkg-plist
@@ -0,0 +1,1523 @@
+augustus/bin/aln2wig
+augustus/bin/augustus
+augustus/bin/bam2hints
+augustus/bin/bam2wig
+augustus/bin/compileSpliceCands
+augustus/bin/etraining
+augustus/bin/fastBlockSearch
+augustus/bin/filterBam
+augustus/bin/getSeq
+augustus/bin/homGeneMapping
+augustus/bin/joingenes
+augustus/bin/load2db
+augustus/bin/load2sqlitedb
+augustus/bin/pp_simScore
+augustus/bin/prepareAlign
+augustus/config/cgp/cgp_param_21features_accuracy_largerGrid.convDivCorrect.cfg
+augustus/config/cgp/log_reg_parameters_arabidopsis.cfg
+augustus/config/cgp/log_reg_parameters_default.cfg
+augustus/config/cgp/log_reg_parameters_fly.cfg
+augustus/config/cgp/log_reg_parameters_human.cfg
+augustus/config/cgp/log_reg_parameters_primates.cfg
+augustus/config/cgp/log_reg_parameters_s_aureus.cfg
+augustus/config/extrinsic/extrinsic-cgp.cfg
+augustus/config/extrinsic/extrinsic.E.XNT.cfg
+augustus/config/extrinsic/extrinsic.E.cfg
+augustus/config/extrinsic/extrinsic.M.RM.E.W.P.cfg
+augustus/config/extrinsic/extrinsic.M.RM.E.W.cfg
+augustus/config/extrinsic/extrinsic.M.RM.PB.cfg
+augustus/config/extrinsic/extrinsic.ME.cfg
+augustus/config/extrinsic/extrinsic.MEMS.cfg
+augustus/config/extrinsic/extrinsic.MP.cfg
+augustus/config/extrinsic/extrinsic.MPE.cfg
+augustus/config/extrinsic/extrinsic.MT.cfg
+augustus/config/extrinsic/extrinsic.cfg
+augustus/config/model/constraints_shadow_partial.txt
+augustus/config/model/constraints_shadow_partial_utr.txt
+augustus/config/model/ovlp_len.pbl
+augustus/config/model/ovlp_len_archaea.pbl
+augustus/config/model/states_shadow.cfg
+augustus/config/model/states_shadow_2igenic.cfg
+augustus/config/model/states_shadow_bacterium.cfg
+augustus/config/model/states_shadow_intronless.cfg
+augustus/config/model/states_shadow_utr.cfg
+augustus/config/model/states_shadow_utr_nc.cfg
+augustus/config/model/states_singlestrand.cfg
+augustus/config/model/states_singlestrand_2igenic.cfg
+augustus/config/model/trans_shadow_atleastone.pbl
+augustus/config/model/trans_shadow_bacterium.pbl
+augustus/config/model/trans_shadow_complete.pbl
+augustus/config/model/trans_shadow_complete_utr.pbl
+augustus/config/model/trans_shadow_exactlyone.pbl
+augustus/config/model/trans_shadow_intronless.pbl
+augustus/config/model/trans_shadow_partial.pbl
+augustus/config/model/trans_shadow_partial_utr.pbl
+augustus/config/model/trans_shadow_partial_utr_nc.pbl
+augustus/config/model/trans_singlestrand_atleastone.pbl
+augustus/config/model/trans_singlestrand_complete.pbl
+augustus/config/model/trans_singlestrand_exactlyone.pbl
+augustus/config/model/trans_singlestrand_partial.pbl
+augustus/config/parameters/AUG_CMDLN_PARAMETERS.md
+augustus/config/parameters/aug_cmdln_parameters.json
+augustus/config/profile/blosum55.qij
+augustus/config/profile/blosum62.qij
+augustus/config/profile/default.qij
+augustus/config/species/Anopheles_gambiae/Anopheles_gambiae_exon_probs.pbl
+augustus/config/species/Anopheles_gambiae/Anopheles_gambiae_igenic_probs.pbl
+augustus/config/species/Anopheles_gambiae/Anopheles_gambiae_intron_probs.pbl
+augustus/config/species/Anopheles_gambiae/Anopheles_gambiae_metapars.cfg
+augustus/config/species/Anopheles_gambiae/Anopheles_gambiae_metapars.cgp.cfg
+augustus/config/species/Anopheles_gambiae/Anopheles_gambiae_metapars.utr.cfg
+augustus/config/species/Anopheles_gambiae/Anopheles_gambiae_parameters.cfg
+augustus/config/species/Anopheles_gambiae/Anopheles_gambiae_weightmatrix.txt
+augustus/config/species/Anopheles_gambiae/README.txt
+augustus/config/species/Argopecten_irradians/Argopecten_irradians_exon_probs.pbl
+augustus/config/species/Argopecten_irradians/Argopecten_irradians_igenic_probs.pbl
+augustus/config/species/Argopecten_irradians/Argopecten_irradians_intron_probs.pbl
+augustus/config/species/Argopecten_irradians/Argopecten_irradians_metapars.cfg
+augustus/config/species/Argopecten_irradians/Argopecten_irradians_metapars.cgp.cfg
+augustus/config/species/Argopecten_irradians/Argopecten_irradians_metapars.utr.cfg
+augustus/config/species/Argopecten_irradians/Argopecten_irradians_parameters.cfg
+augustus/config/species/Argopecten_irradians/Argopecten_irradians_weightmatrix.txt
+augustus/config/species/Argopecten_irradians/README.txt
+augustus/config/species/Aurelia_aurita/Aurelia_aurita_exon_probs.pbl
+augustus/config/species/Aurelia_aurita/Aurelia_aurita_igenic_probs.pbl
+augustus/config/species/Aurelia_aurita/Aurelia_aurita_intron_probs.pbl
+augustus/config/species/Aurelia_aurita/Aurelia_aurita_metapars.cfg
+augustus/config/species/Aurelia_aurita/Aurelia_aurita_metapars.cgp.cfg
+augustus/config/species/Aurelia_aurita/Aurelia_aurita_metapars.utr.cfg
+augustus/config/species/Aurelia_aurita/Aurelia_aurita_parameters.cfg
+augustus/config/species/Aurelia_aurita/Aurelia_aurita_weightmatrix.txt
+augustus/config/species/Aurelia_aurita/README.txt
+augustus/config/species/Bathycoccus_prasinos/Bathycoccus_prasinos_exon_probs.pbl
+augustus/config/species/Bathycoccus_prasinos/Bathycoccus_prasinos_igenic_probs.pbl
+augustus/config/species/Bathycoccus_prasinos/Bathycoccus_prasinos_intron_probs.pbl
+augustus/config/species/Bathycoccus_prasinos/Bathycoccus_prasinos_metapars.cfg
+augustus/config/species/Bathycoccus_prasinos/Bathycoccus_prasinos_metapars.cgp.cfg
+augustus/config/species/Bathycoccus_prasinos/Bathycoccus_prasinos_metapars.utr.cfg
+augustus/config/species/Bathycoccus_prasinos/Bathycoccus_prasinos_parameters.cfg
+augustus/config/species/Bathycoccus_prasinos/Bathycoccus_prasinos_weightmatrix.txt
+augustus/config/species/Bathycoccus_prasinos/README.txt
+augustus/config/species/Berviolum_minutum/Berviolum_minutum_exon_probs.pbl
+augustus/config/species/Berviolum_minutum/Berviolum_minutum_igenic_probs.pbl
+augustus/config/species/Berviolum_minutum/Berviolum_minutum_intron_probs.pbl
+augustus/config/species/Berviolum_minutum/Berviolum_minutum_metapars.cfg
+augustus/config/species/Berviolum_minutum/Berviolum_minutum_metapars.cgp.cfg
+augustus/config/species/Berviolum_minutum/Berviolum_minutum_metapars.utr.cfg
+augustus/config/species/Berviolum_minutum/Berviolum_minutum_parameters.cfg
+augustus/config/species/Berviolum_minutum/Berviolum_minutum_weightmatrix.txt
+augustus/config/species/Berviolum_minutum/README.txt
+augustus/config/species/Branchiostoma_floridae/Branchiostoma_floridae_exon_probs.pbl
+augustus/config/species/Branchiostoma_floridae/Branchiostoma_floridae_igenic_probs.pbl
+augustus/config/species/Branchiostoma_floridae/Branchiostoma_floridae_intron_probs.pbl
+augustus/config/species/Branchiostoma_floridae/Branchiostoma_floridae_metapars.cfg
+augustus/config/species/Branchiostoma_floridae/Branchiostoma_floridae_metapars.cgp.cfg
+augustus/config/species/Branchiostoma_floridae/Branchiostoma_floridae_metapars.utr.cfg
+augustus/config/species/Branchiostoma_floridae/Branchiostoma_floridae_parameters.cfg
+augustus/config/species/Branchiostoma_floridae/Branchiostoma_floridae_weightmatrix.txt
+augustus/config/species/Branchiostoma_floridae/README.txt
+augustus/config/species/Cassiopea_xamachana/Cassiopea_xamachana_exon_probs.pbl
+augustus/config/species/Cassiopea_xamachana/Cassiopea_xamachana_igenic_probs.pbl
+augustus/config/species/Cassiopea_xamachana/Cassiopea_xamachana_intron_probs.pbl
+augustus/config/species/Cassiopea_xamachana/Cassiopea_xamachana_metapars.cfg
+augustus/config/species/Cassiopea_xamachana/Cassiopea_xamachana_metapars.cgp.cfg
+augustus/config/species/Cassiopea_xamachana/Cassiopea_xamachana_metapars.utr.cfg
+augustus/config/species/Cassiopea_xamachana/Cassiopea_xamachana_parameters.cfg
+augustus/config/species/Cassiopea_xamachana/Cassiopea_xamachana_weightmatrix.txt
+augustus/config/species/Chlamydomonas_eustigma/Chlamydomonas_eustigma_exon_probs.pbl
+augustus/config/species/Chlamydomonas_eustigma/Chlamydomonas_eustigma_igenic_probs.pbl
+augustus/config/species/Chlamydomonas_eustigma/Chlamydomonas_eustigma_intron_probs.pbl
+augustus/config/species/Chlamydomonas_eustigma/Chlamydomonas_eustigma_metapars.cfg
+augustus/config/species/Chlamydomonas_eustigma/Chlamydomonas_eustigma_metapars.cgp.cfg
+augustus/config/species/Chlamydomonas_eustigma/Chlamydomonas_eustigma_metapars.utr.cfg
+augustus/config/species/Chlamydomonas_eustigma/Chlamydomonas_eustigma_parameters.cfg
+augustus/config/species/Chlamydomonas_eustigma/Chlamydomonas_eustigma_weightmatrix.txt
+augustus/config/species/Chlamydomonas_eustigma/README.txt
+augustus/config/species/Chloropicon_primus/Chloropicon_primus_exon_probs.pbl
+augustus/config/species/Chloropicon_primus/Chloropicon_primus_igenic_probs.pbl
+augustus/config/species/Chloropicon_primus/Chloropicon_primus_intron_probs.pbl
+augustus/config/species/Chloropicon_primus/Chloropicon_primus_metapars.cfg
+augustus/config/species/Chloropicon_primus/Chloropicon_primus_metapars.cgp.cfg
+augustus/config/species/Chloropicon_primus/Chloropicon_primus_metapars.utr.cfg
+augustus/config/species/Chloropicon_primus/Chloropicon_primus_parameters.cfg
+augustus/config/species/Chloropicon_primus/Chloropicon_primus_weightmatrix.txt
+augustus/config/species/Chloropicon_primus/README.txt
+augustus/config/species/Chrysaora_chesapeakei/Chrysaora_chesapeakei_exon_probs.pbl
+augustus/config/species/Chrysaora_chesapeakei/Chrysaora_chesapeakei_igenic_probs.pbl
+augustus/config/species/Chrysaora_chesapeakei/Chrysaora_chesapeakei_intron_probs.pbl
+augustus/config/species/Chrysaora_chesapeakei/Chrysaora_chesapeakei_metapars.cfg
+augustus/config/species/Chrysaora_chesapeakei/Chrysaora_chesapeakei_metapars.cgp.cfg
+augustus/config/species/Chrysaora_chesapeakei/Chrysaora_chesapeakei_metapars.utr.cfg
+augustus/config/species/Chrysaora_chesapeakei/Chrysaora_chesapeakei_parameters.cfg
+augustus/config/species/Chrysaora_chesapeakei/Chrysaora_chesapeakei_weightmatrix.txt
+augustus/config/species/Chrysaora_chesapeakei/README.txt
+augustus/config/species/Conidiobolus_coronatus/Conidiobolus_coronatus_exon_probs.pbl
+augustus/config/species/Conidiobolus_coronatus/Conidiobolus_coronatus_igenic_probs.pbl
+augustus/config/species/Conidiobolus_coronatus/Conidiobolus_coronatus_intron_probs.pbl
+augustus/config/species/Conidiobolus_coronatus/Conidiobolus_coronatus_metapars.cfg
+augustus/config/species/Conidiobolus_coronatus/Conidiobolus_coronatus_metapars.utr.cfg
+augustus/config/species/Conidiobolus_coronatus/Conidiobolus_coronatus_parameters.cfg
+augustus/config/species/Conidiobolus_coronatus/Conidiobolus_coronatus_utr_probs.pbl
+augustus/config/species/Conidiobolus_coronatus/Conidiobolus_coronatus_weightmatrix.txt
+augustus/config/species/Cryptosporidium_hominis/Cryptosporidium_hominis_exon_probs.pbl
+augustus/config/species/Cryptosporidium_hominis/Cryptosporidium_hominis_igenic_probs.pbl
+augustus/config/species/Cryptosporidium_hominis/Cryptosporidium_hominis_intron_probs.pbl
+augustus/config/species/Cryptosporidium_hominis/Cryptosporidium_hominis_metapars.cfg
+augustus/config/species/Cryptosporidium_hominis/Cryptosporidium_hominis_metapars.cgp.cfg
+augustus/config/species/Cryptosporidium_hominis/Cryptosporidium_hominis_metapars.utr.cfg
+augustus/config/species/Cryptosporidium_hominis/Cryptosporidium_hominis_parameters.cfg
+augustus/config/species/Cryptosporidium_hominis/Cryptosporidium_hominis_weightmatrix.txt
+augustus/config/species/Cryptosporidium_hominis/README.txt
+augustus/config/species/Cyclotella_cryptica/Cyclotella_cryptica_exon_probs.pbl
+augustus/config/species/Cyclotella_cryptica/Cyclotella_cryptica_igenic_probs.pbl
+augustus/config/species/Cyclotella_cryptica/Cyclotella_cryptica_intron_probs.pbl
+augustus/config/species/Cyclotella_cryptica/Cyclotella_cryptica_metapars.cfg
+augustus/config/species/Cyclotella_cryptica/Cyclotella_cryptica_metapars.cgp.cfg
+augustus/config/species/Cyclotella_cryptica/Cyclotella_cryptica_metapars.utr.cfg
+augustus/config/species/Cyclotella_cryptica/Cyclotella_cryptica_parameters.cfg
+augustus/config/species/Cyclotella_cryptica/Cyclotella_cryptica_weightmatrix.txt
+augustus/config/species/Cyclotella_cryptica/README.txt
+augustus/config/species/Dermasterias_imbricata/Dermasterias_imbricata_exon_probs.pbl
+augustus/config/species/Dermasterias_imbricata/Dermasterias_imbricata_igenic_probs.pbl
+augustus/config/species/Dermasterias_imbricata/Dermasterias_imbricata_intron_probs.pbl
+augustus/config/species/Dermasterias_imbricata/Dermasterias_imbricata_metapars.cfg
+augustus/config/species/Dermasterias_imbricata/Dermasterias_imbricata_metapars.cgp.cfg
+augustus/config/species/Dermasterias_imbricata/Dermasterias_imbricata_metapars.utr.cfg
+augustus/config/species/Dermasterias_imbricata/Dermasterias_imbricata_parameters.cfg
+augustus/config/species/Dermasterias_imbricata/Dermasterias_imbricata_weightmatrix.txt
+augustus/config/species/Dermasterias_imbricata/README.txt
+augustus/config/species/Dunaliella_salina/Dunaliella_salina_exon_probs.pbl
+augustus/config/species/Dunaliella_salina/Dunaliella_salina_igenic_probs.pbl
+augustus/config/species/Dunaliella_salina/Dunaliella_salina_intron_probs.pbl
+augustus/config/species/Dunaliella_salina/Dunaliella_salina_metapars.cfg
+augustus/config/species/Dunaliella_salina/Dunaliella_salina_metapars.cgp.cfg
+augustus/config/species/Dunaliella_salina/Dunaliella_salina_metapars.utr.cfg
+augustus/config/species/Dunaliella_salina/Dunaliella_salina_parameters.cfg
+augustus/config/species/Dunaliella_salina/Dunaliella_salina_weightmatrix.txt
+augustus/config/species/Dunaliella_salina/README.txt
+augustus/config/species/E_coli_K12/E_coli_K12_exon_probs.pbl
+augustus/config/species/E_coli_K12/E_coli_K12_igenic_probs.pbl
+augustus/config/species/E_coli_K12/E_coli_K12_metapars.cfg
+augustus/config/species/E_coli_K12/E_coli_K12_metapars.utr.cfg
+augustus/config/species/E_coli_K12/E_coli_K12_ovlp_len.pbl
+augustus/config/species/E_coli_K12/E_coli_K12_parameters.cfg
+augustus/config/species/E_coli_K12/E_coli_K12_trans_shadow_bacterium.pbl
+augustus/config/species/E_coli_K12/E_coli_K12_weightmatrix.txt
+augustus/config/species/Ectocarpus_siliculosus/Ectocarpus_siliculosus_exon_probs.pbl
+augustus/config/species/Ectocarpus_siliculosus/Ectocarpus_siliculosus_igenic_probs.pbl
+augustus/config/species/Ectocarpus_siliculosus/Ectocarpus_siliculosus_intron_probs.pbl
+augustus/config/species/Ectocarpus_siliculosus/Ectocarpus_siliculosus_metapars.cfg
+augustus/config/species/Ectocarpus_siliculosus/Ectocarpus_siliculosus_metapars.cgp.cfg
+augustus/config/species/Ectocarpus_siliculosus/Ectocarpus_siliculosus_metapars.utr.cfg
+augustus/config/species/Ectocarpus_siliculosus/Ectocarpus_siliculosus_parameters.cfg
+augustus/config/species/Ectocarpus_siliculosus/Ectocarpus_siliculosus_weightmatrix.txt
+augustus/config/species/Ectocarpus_siliculosus/README.txt
+augustus/config/species/Encephalitozoon_cuniculi/Encephalitozoon_cuniculi_exon_probs.pbl
+augustus/config/species/Encephalitozoon_cuniculi/Encephalitozoon_cuniculi_igenic_probs.pbl
+augustus/config/species/Encephalitozoon_cuniculi/Encephalitozoon_cuniculi_intron_probs.pbl
+augustus/config/species/Encephalitozoon_cuniculi/Encephalitozoon_cuniculi_metapars.cfg
+augustus/config/species/Encephalitozoon_cuniculi/Encephalitozoon_cuniculi_metapars.cgp.cfg
+augustus/config/species/Encephalitozoon_cuniculi/Encephalitozoon_cuniculi_metapars.utr.cfg
+augustus/config/species/Encephalitozoon_cuniculi/Encephalitozoon_cuniculi_parameters.cfg
+augustus/config/species/Encephalitozoon_cuniculi/Encephalitozoon_cuniculi_weightmatrix.txt
+augustus/config/species/Encephalitozoon_cuniculi/README.txt
+augustus/config/species/Fistulifera_solaris/Fistulifera_solaris_exon_probs.pbl
+augustus/config/species/Fistulifera_solaris/Fistulifera_solaris_igenic_probs.pbl
+augustus/config/species/Fistulifera_solaris/Fistulifera_solaris_intron_probs.pbl
+augustus/config/species/Fistulifera_solaris/Fistulifera_solaris_metapars.cfg
+augustus/config/species/Fistulifera_solaris/Fistulifera_solaris_metapars.cgp.cfg
+augustus/config/species/Fistulifera_solaris/Fistulifera_solaris_metapars.utr.cfg
+augustus/config/species/Fistulifera_solaris/Fistulifera_solaris_parameters.cfg
+augustus/config/species/Fistulifera_solaris/Fistulifera_solaris_weightmatrix.txt
+augustus/config/species/Fistulifera_solaris/README.txt
+augustus/config/species/Fragilariopsis_cylindrus_CCMP1102/Fragilariopsis_cylindrus_CCMP1102_exon_probs.pbl
+augustus/config/species/Fragilariopsis_cylindrus_CCMP1102/Fragilariopsis_cylindrus_CCMP1102_igenic_probs.pbl
+augustus/config/species/Fragilariopsis_cylindrus_CCMP1102/Fragilariopsis_cylindrus_CCMP1102_intron_probs.pbl
+augustus/config/species/Fragilariopsis_cylindrus_CCMP1102/Fragilariopsis_cylindrus_CCMP1102_metapars.cfg
+augustus/config/species/Fragilariopsis_cylindrus_CCMP1102/Fragilariopsis_cylindrus_CCMP1102_metapars.cgp.cfg
+augustus/config/species/Fragilariopsis_cylindrus_CCMP1102/Fragilariopsis_cylindrus_CCMP1102_metapars.utr.cfg
+augustus/config/species/Fragilariopsis_cylindrus_CCMP1102/Fragilariopsis_cylindrus_CCMP1102_parameters.cfg
+augustus/config/species/Fragilariopsis_cylindrus_CCMP1102/Fragilariopsis_cylindrus_CCMP1102_weightmatrix.txt
+augustus/config/species/Fragilariopsis_cylindrus_CCMP1102/README.txt
+augustus/config/species/Gonapodya_prolifera/Gonapodya_prolifera_exon_probs.pbl
+augustus/config/species/Gonapodya_prolifera/Gonapodya_prolifera_igenic_probs.pbl
+augustus/config/species/Gonapodya_prolifera/Gonapodya_prolifera_intron_probs.pbl
+augustus/config/species/Gonapodya_prolifera/Gonapodya_prolifera_metapars.cfg
+augustus/config/species/Gonapodya_prolifera/Gonapodya_prolifera_metapars.cgp.cfg
+augustus/config/species/Gonapodya_prolifera/Gonapodya_prolifera_metapars.utr.cfg
+augustus/config/species/Gonapodya_prolifera/Gonapodya_prolifera_parameters.cfg
+augustus/config/species/Gonapodya_prolifera/Gonapodya_prolifera_weightmatrix.txt
+augustus/config/species/Gonapodya_prolifera/README.txt
+augustus/config/species/Hydra_vulgaris/Hydra_vulgaris_exon_probs.pbl
+augustus/config/species/Hydra_vulgaris/Hydra_vulgaris_igenic_probs.pbl
+augustus/config/species/Hydra_vulgaris/Hydra_vulgaris_intron_probs.pbl
+augustus/config/species/Hydra_vulgaris/Hydra_vulgaris_metapars.cfg
+augustus/config/species/Hydra_vulgaris/Hydra_vulgaris_metapars.cgp.cfg
+augustus/config/species/Hydra_vulgaris/Hydra_vulgaris_metapars.utr.cfg
+augustus/config/species/Hydra_vulgaris/Hydra_vulgaris_parameters.cfg
+augustus/config/species/Hydra_vulgaris/Hydra_vulgaris_weightmatrix.txt
+augustus/config/species/Hydra_vulgaris/README.txt
+augustus/config/species/Leptasterias_sp/Leptasterias_sp_exon_probs.pbl
+augustus/config/species/Leptasterias_sp/Leptasterias_sp_igenic_probs.pbl
+augustus/config/species/Leptasterias_sp/Leptasterias_sp_intron_probs.pbl
+augustus/config/species/Leptasterias_sp/Leptasterias_sp_metapars.cfg
+augustus/config/species/Leptasterias_sp/Leptasterias_sp_metapars.cgp.cfg
+augustus/config/species/Leptasterias_sp/Leptasterias_sp_metapars.utr.cfg
+augustus/config/species/Leptasterias_sp/Leptasterias_sp_parameters.cfg
+augustus/config/species/Leptasterias_sp/Leptasterias_sp_weightmatrix.txt
+augustus/config/species/Leptasterias_sp/README.txt
+augustus/config/species/Loa_loa/Loa_loa_exon_probs.pbl
+augustus/config/species/Loa_loa/Loa_loa_igenic_probs.pbl
+augustus/config/species/Loa_loa/Loa_loa_intron_probs.pbl
+augustus/config/species/Loa_loa/Loa_loa_metapars.cfg
+augustus/config/species/Loa_loa/Loa_loa_metapars.cgp.cfg
+augustus/config/species/Loa_loa/Loa_loa_metapars.utr.cfg
+augustus/config/species/Loa_loa/Loa_loa_parameters.cfg
+augustus/config/species/Loa_loa/Loa_loa_weightmatrix.txt
+augustus/config/species/Loa_loa/README.txt
+augustus/config/species/Micromonas_commoda/Micromonas_commoda_exon_probs.pbl
+augustus/config/species/Micromonas_commoda/Micromonas_commoda_igenic_probs.pbl
+augustus/config/species/Micromonas_commoda/Micromonas_commoda_intron_probs.pbl
+augustus/config/species/Micromonas_commoda/Micromonas_commoda_metapars.cfg
+augustus/config/species/Micromonas_commoda/Micromonas_commoda_metapars.cgp.cfg
+augustus/config/species/Micromonas_commoda/Micromonas_commoda_metapars.utr.cfg
+augustus/config/species/Micromonas_commoda/Micromonas_commoda_parameters.cfg
+augustus/config/species/Micromonas_commoda/Micromonas_commoda_weightmatrix.txt
+augustus/config/species/Micromonas_commoda/README.txt
+augustus/config/species/Micromonas_pusilla/Micromonas_pusilla_exon_probs.pbl
+augustus/config/species/Micromonas_pusilla/Micromonas_pusilla_igenic_probs.pbl
+augustus/config/species/Micromonas_pusilla/Micromonas_pusilla_intron_probs.pbl
+augustus/config/species/Micromonas_pusilla/Micromonas_pusilla_metapars.cfg
+augustus/config/species/Micromonas_pusilla/Micromonas_pusilla_metapars.cgp.cfg
+augustus/config/species/Micromonas_pusilla/Micromonas_pusilla_metapars.utr.cfg
+augustus/config/species/Micromonas_pusilla/Micromonas_pusilla_parameters.cfg
+augustus/config/species/Micromonas_pusilla/Micromonas_pusilla_weightmatrix.txt
+augustus/config/species/Micromonas_pusilla/README.txt
+augustus/config/species/Monoraphidium_neglectum/Monoraphidium_neglectum_exon_probs.pbl
+augustus/config/species/Monoraphidium_neglectum/Monoraphidium_neglectum_igenic_probs.pbl
+augustus/config/species/Monoraphidium_neglectum/Monoraphidium_neglectum_intron_probs.pbl
+augustus/config/species/Monoraphidium_neglectum/Monoraphidium_neglectum_metapars.cfg
+augustus/config/species/Monoraphidium_neglectum/Monoraphidium_neglectum_metapars.cgp.cfg
+augustus/config/species/Monoraphidium_neglectum/Monoraphidium_neglectum_metapars.utr.cfg
+augustus/config/species/Monoraphidium_neglectum/Monoraphidium_neglectum_parameters.cfg
+augustus/config/species/Monoraphidium_neglectum/Monoraphidium_neglectum_weightmatrix.txt
+augustus/config/species/Monoraphidium_neglectum/README.txt
+augustus/config/species/Monosiga_brevicollis/Monosiga_brevicollis_exon_probs.pbl
+augustus/config/species/Monosiga_brevicollis/Monosiga_brevicollis_igenic_probs.pbl
+augustus/config/species/Monosiga_brevicollis/Monosiga_brevicollis_intron_probs.pbl
+augustus/config/species/Monosiga_brevicollis/Monosiga_brevicollis_metapars.cfg
+augustus/config/species/Monosiga_brevicollis/Monosiga_brevicollis_metapars.cgp.cfg
+augustus/config/species/Monosiga_brevicollis/Monosiga_brevicollis_metapars.utr.cfg
+augustus/config/species/Monosiga_brevicollis/Monosiga_brevicollis_parameters.cfg
+augustus/config/species/Monosiga_brevicollis/Monosiga_brevicollis_weightmatrix.txt
+augustus/config/species/Monosiga_brevicollis/README.txt
+augustus/config/species/Naegleria_gruberi/Naegleria_gruberi_exon_probs.pbl
+augustus/config/species/Naegleria_gruberi/Naegleria_gruberi_igenic_probs.pbl
+augustus/config/species/Naegleria_gruberi/Naegleria_gruberi_intron_probs.pbl
+augustus/config/species/Naegleria_gruberi/Naegleria_gruberi_metapars.cfg
+augustus/config/species/Naegleria_gruberi/Naegleria_gruberi_metapars.cgp.cfg
+augustus/config/species/Naegleria_gruberi/Naegleria_gruberi_metapars.utr.cfg
+augustus/config/species/Naegleria_gruberi/Naegleria_gruberi_parameters.cfg
+augustus/config/species/Naegleria_gruberi/Naegleria_gruberi_weightmatrix.txt
+augustus/config/species/Naegleria_gruberi/README.txt
+augustus/config/species/Nemopilema_nomurai/Nemopilema_nomurai_exon_probs.pbl
+augustus/config/species/Nemopilema_nomurai/Nemopilema_nomurai_igenic_probs.pbl
+augustus/config/species/Nemopilema_nomurai/Nemopilema_nomurai_intron_probs.pbl
+augustus/config/species/Nemopilema_nomurai/Nemopilema_nomurai_metapars.cfg
+augustus/config/species/Nemopilema_nomurai/Nemopilema_nomurai_metapars.cgp.cfg
+augustus/config/species/Nemopilema_nomurai/Nemopilema_nomurai_metapars.utr.cfg
+augustus/config/species/Nemopilema_nomurai/Nemopilema_nomurai_parameters.cfg
+augustus/config/species/Nemopilema_nomurai/Nemopilema_nomurai_weightmatrix.txt
+augustus/config/species/Nemopilema_nomurai/README.txt
+augustus/config/species/Notospermus_geniculatus/Notospermus_geniculatus_exon_probs.pbl
+augustus/config/species/Notospermus_geniculatus/Notospermus_geniculatus_igenic_probs.pbl
+augustus/config/species/Notospermus_geniculatus/Notospermus_geniculatus_intron_probs.pbl
+augustus/config/species/Notospermus_geniculatus/Notospermus_geniculatus_metapars.cfg
+augustus/config/species/Notospermus_geniculatus/Notospermus_geniculatus_metapars.cgp.cfg
+augustus/config/species/Notospermus_geniculatus/Notospermus_geniculatus_metapars.utr.cfg
+augustus/config/species/Notospermus_geniculatus/Notospermus_geniculatus_parameters.cfg
+augustus/config/species/Notospermus_geniculatus/Notospermus_geniculatus_weightmatrix.txt
+augustus/config/species/Notospermus_geniculatus/README.txt
+augustus/config/species/Ostreococcus_sp_lucimarinus/Ostreococcus_sp_lucimarinus_exon_probs.pbl
+augustus/config/species/Ostreococcus_sp_lucimarinus/Ostreococcus_sp_lucimarinus_igenic_probs.pbl
+augustus/config/species/Ostreococcus_sp_lucimarinus/Ostreococcus_sp_lucimarinus_intron_probs.pbl
+augustus/config/species/Ostreococcus_sp_lucimarinus/Ostreococcus_sp_lucimarinus_metapars.cfg
+augustus/config/species/Ostreococcus_sp_lucimarinus/Ostreococcus_sp_lucimarinus_metapars.cgp.cfg
+augustus/config/species/Ostreococcus_sp_lucimarinus/Ostreococcus_sp_lucimarinus_metapars.utr.cfg
+augustus/config/species/Ostreococcus_sp_lucimarinus/Ostreococcus_sp_lucimarinus_parameters.cfg
+augustus/config/species/Ostreococcus_sp_lucimarinus/Ostreococcus_sp_lucimarinus_weightmatrix.txt
+augustus/config/species/Ostreococcus_sp_lucimarinus/README.txt
+augustus/config/species/Ostreococcus_tauri/Ostreococcus_tauri_exon_probs.pbl
+augustus/config/species/Ostreococcus_tauri/Ostreococcus_tauri_igenic_probs.pbl
+augustus/config/species/Ostreococcus_tauri/Ostreococcus_tauri_intron_probs.pbl
+augustus/config/species/Ostreococcus_tauri/Ostreococcus_tauri_metapars.cfg
+augustus/config/species/Ostreococcus_tauri/Ostreococcus_tauri_metapars.cgp.cfg
+augustus/config/species/Ostreococcus_tauri/Ostreococcus_tauri_metapars.utr.cfg
+augustus/config/species/Ostreococcus_tauri/Ostreococcus_tauri_parameters.cfg
+augustus/config/species/Ostreococcus_tauri/Ostreococcus_tauri_weightmatrix.txt
+augustus/config/species/Ostreococcus_tauri/README.txt
+augustus/config/species/Paramecium_tetraurelia/Paramecium_tetraurelia_exon_probs.pbl
+augustus/config/species/Paramecium_tetraurelia/Paramecium_tetraurelia_igenic_probs.pbl
+augustus/config/species/Paramecium_tetraurelia/Paramecium_tetraurelia_intron_probs.pbl
+augustus/config/species/Paramecium_tetraurelia/Paramecium_tetraurelia_metapars.cfg
+augustus/config/species/Paramecium_tetraurelia/Paramecium_tetraurelia_metapars.cgp.cfg
+augustus/config/species/Paramecium_tetraurelia/Paramecium_tetraurelia_metapars.utr.cfg
+augustus/config/species/Paramecium_tetraurelia/Paramecium_tetraurelia_parameters.cfg
+augustus/config/species/Paramecium_tetraurelia/Paramecium_tetraurelia_weightmatrix.txt
+augustus/config/species/Paramecium_tetraurelia/README.txt
+augustus/config/species/Pediculus_humanus/Pediculus_humanus_exon_probs.pbl
+augustus/config/species/Pediculus_humanus/Pediculus_humanus_igenic_probs.pbl
+augustus/config/species/Pediculus_humanus/Pediculus_humanus_intron_probs.pbl
+augustus/config/species/Pediculus_humanus/Pediculus_humanus_metapars.cfg
+augustus/config/species/Pediculus_humanus/Pediculus_humanus_metapars.cgp.cfg
+augustus/config/species/Pediculus_humanus/Pediculus_humanus_metapars.utr.cfg
+augustus/config/species/Pediculus_humanus/Pediculus_humanus_parameters.cfg
+augustus/config/species/Pediculus_humanus/Pediculus_humanus_weightmatrix.txt
+augustus/config/species/Pediculus_humanus/README.txt
+augustus/config/species/Perkinsus_marinus/Perkinsus_marinus_exon_probs.pbl
+augustus/config/species/Perkinsus_marinus/Perkinsus_marinus_igenic_probs.pbl
+augustus/config/species/Perkinsus_marinus/Perkinsus_marinus_intron_probs.pbl
+augustus/config/species/Perkinsus_marinus/Perkinsus_marinus_metapars.cfg
+augustus/config/species/Perkinsus_marinus/Perkinsus_marinus_metapars.cgp.cfg
+augustus/config/species/Perkinsus_marinus/Perkinsus_marinus_metapars.utr.cfg
+augustus/config/species/Perkinsus_marinus/Perkinsus_marinus_parameters.cfg
+augustus/config/species/Perkinsus_marinus/Perkinsus_marinus_weightmatrix.txt
+augustus/config/species/Perkinsus_marinus/README.txt
+augustus/config/species/Phaeodactylum_tricornutum/Phaeodactylum_tricornutum_exon_probs.pbl
+augustus/config/species/Phaeodactylum_tricornutum/Phaeodactylum_tricornutum_igenic_probs.pbl
+augustus/config/species/Phaeodactylum_tricornutum/Phaeodactylum_tricornutum_intron_probs.pbl
+augustus/config/species/Phaeodactylum_tricornutum/Phaeodactylum_tricornutum_metapars.cfg
+augustus/config/species/Phaeodactylum_tricornutum/Phaeodactylum_tricornutum_metapars.cgp.cfg
+augustus/config/species/Phaeodactylum_tricornutum/Phaeodactylum_tricornutum_metapars.utr.cfg
+augustus/config/species/Phaeodactylum_tricornutum/Phaeodactylum_tricornutum_parameters.cfg
+augustus/config/species/Phaeodactylum_tricornutum/Phaeodactylum_tricornutum_weightmatrix.txt
+augustus/config/species/Phaeodactylum_tricornutum/README.txt
+augustus/config/species/Physcomitrium_patens/Physcomitrium_patens_exon_probs.pbl
+augustus/config/species/Physcomitrium_patens/Physcomitrium_patens_igenic_probs.pbl
+augustus/config/species/Physcomitrium_patens/Physcomitrium_patens_intron_probs.pbl
+augustus/config/species/Physcomitrium_patens/Physcomitrium_patens_metapars.cfg
+augustus/config/species/Physcomitrium_patens/Physcomitrium_patens_metapars.cgp.cfg
+augustus/config/species/Physcomitrium_patens/Physcomitrium_patens_metapars.utr.cfg
+augustus/config/species/Physcomitrium_patens/Physcomitrium_patens_parameters.cfg
+augustus/config/species/Physcomitrium_patens/Physcomitrium_patens_weightmatrix.txt
+augustus/config/species/Physcomitrium_patens/README.txt
+augustus/config/species/Populus_trichocarpa/Populus_trichocarpa_exon_probs.pbl
+augustus/config/species/Populus_trichocarpa/Populus_trichocarpa_igenic_probs.pbl
+augustus/config/species/Populus_trichocarpa/Populus_trichocarpa_intron_probs.pbl
+augustus/config/species/Populus_trichocarpa/Populus_trichocarpa_metapars.cfg
+augustus/config/species/Populus_trichocarpa/Populus_trichocarpa_metapars.cgp.cfg
+augustus/config/species/Populus_trichocarpa/Populus_trichocarpa_metapars.utr.cfg
+augustus/config/species/Populus_trichocarpa/Populus_trichocarpa_parameters.cfg
+augustus/config/species/Populus_trichocarpa/Populus_trichocarpa_parameters.cfg~
+augustus/config/species/Populus_trichocarpa/Populus_trichocarpa_weightmatrix.txt
+augustus/config/species/Pseudo-nitzschia_multistriata/Pseudo-nitzschia_multistriata_exon_probs.pbl
+augustus/config/species/Pseudo-nitzschia_multistriata/Pseudo-nitzschia_multistriata_igenic_probs.pbl
+augustus/config/species/Pseudo-nitzschia_multistriata/Pseudo-nitzschia_multistriata_intron_probs.pbl
+augustus/config/species/Pseudo-nitzschia_multistriata/Pseudo-nitzschia_multistriata_metapars.cfg
+augustus/config/species/Pseudo-nitzschia_multistriata/Pseudo-nitzschia_multistriata_metapars.cgp.cfg
+augustus/config/species/Pseudo-nitzschia_multistriata/Pseudo-nitzschia_multistriata_metapars.utr.cfg
+augustus/config/species/Pseudo-nitzschia_multistriata/Pseudo-nitzschia_multistriata_parameters.cfg
+augustus/config/species/Pseudo-nitzschia_multistriata/Pseudo-nitzschia_multistriata_weightmatrix.txt
+augustus/config/species/Pseudo-nitzschia_multistriata/README.txt
+augustus/config/species/Ptychodera_flava/Ptychodera_flava_exon_probs.pbl
+augustus/config/species/Ptychodera_flava/Ptychodera_flava_igenic_probs.pbl
+augustus/config/species/Ptychodera_flava/Ptychodera_flava_intron_probs.pbl
+augustus/config/species/Ptychodera_flava/Ptychodera_flava_metapars.cfg
+augustus/config/species/Ptychodera_flava/Ptychodera_flava_metapars.cgp.cfg
+augustus/config/species/Ptychodera_flava/Ptychodera_flava_metapars.utr.cfg
+augustus/config/species/Ptychodera_flava/Ptychodera_flava_parameters.cfg
+augustus/config/species/Ptychodera_flava/Ptychodera_flava_weightmatrix.txt
+augustus/config/species/Ptychodera_flava/README.txt
+augustus/config/species/Pycnopodia_helianthoides/Pycnopodia_helianthoides_exon_probs.pbl
+augustus/config/species/Pycnopodia_helianthoides/Pycnopodia_helianthoides_igenic_probs.pbl
+augustus/config/species/Pycnopodia_helianthoides/Pycnopodia_helianthoides_intron_probs.pbl
+augustus/config/species/Pycnopodia_helianthoides/Pycnopodia_helianthoides_metapars.cfg
+augustus/config/species/Pycnopodia_helianthoides/Pycnopodia_helianthoides_metapars.cgp.cfg
+augustus/config/species/Pycnopodia_helianthoides/Pycnopodia_helianthoides_metapars.utr.cfg
+augustus/config/species/Pycnopodia_helianthoides/Pycnopodia_helianthoides_parameters.cfg
+augustus/config/species/Pycnopodia_helianthoides/Pycnopodia_helianthoides_weightmatrix.txt
+augustus/config/species/Pycnopodia_helianthoides/README.txt
+augustus/config/species/Raphidocelis_subcapitata/README.txt
+augustus/config/species/Raphidocelis_subcapitata/Raphidocelis_subcapitata_exon_probs.pbl
+augustus/config/species/Raphidocelis_subcapitata/Raphidocelis_subcapitata_igenic_probs.pbl
+augustus/config/species/Raphidocelis_subcapitata/Raphidocelis_subcapitata_intron_probs.pbl
+augustus/config/species/Raphidocelis_subcapitata/Raphidocelis_subcapitata_metapars.cfg
+augustus/config/species/Raphidocelis_subcapitata/Raphidocelis_subcapitata_metapars.cgp.cfg
+augustus/config/species/Raphidocelis_subcapitata/Raphidocelis_subcapitata_metapars.utr.cfg
+augustus/config/species/Raphidocelis_subcapitata/Raphidocelis_subcapitata_parameters.cfg
+augustus/config/species/Raphidocelis_subcapitata/Raphidocelis_subcapitata_weightmatrix.txt
+augustus/config/species/Rhopilema_esculentum/README.txt
+augustus/config/species/Rhopilema_esculentum/Rhopilema_esculentum_exon_probs.pbl
+augustus/config/species/Rhopilema_esculentum/Rhopilema_esculentum_igenic_probs.pbl
+augustus/config/species/Rhopilema_esculentum/Rhopilema_esculentum_intron_probs.pbl
+augustus/config/species/Rhopilema_esculentum/Rhopilema_esculentum_metapars.cfg
+augustus/config/species/Rhopilema_esculentum/Rhopilema_esculentum_metapars.cgp.cfg
+augustus/config/species/Rhopilema_esculentum/Rhopilema_esculentum_metapars.utr.cfg
+augustus/config/species/Rhopilema_esculentum/Rhopilema_esculentum_parameters.cfg
+augustus/config/species/Rhopilema_esculentum/Rhopilema_esculentum_weightmatrix.txt
+augustus/config/species/Ricinus_communis/README.txt
+augustus/config/species/Ricinus_communis/Ricinus_communis_exon_probs.pbl
+augustus/config/species/Ricinus_communis/Ricinus_communis_igenic_probs.pbl
+augustus/config/species/Ricinus_communis/Ricinus_communis_intron_probs.pbl
+augustus/config/species/Ricinus_communis/Ricinus_communis_metapars.cfg
+augustus/config/species/Ricinus_communis/Ricinus_communis_metapars.cgp.cfg
+augustus/config/species/Ricinus_communis/Ricinus_communis_metapars.utr.cfg
+augustus/config/species/Ricinus_communis/Ricinus_communis_parameters.cfg
+augustus/config/species/Ricinus_communis/Ricinus_communis_weightmatrix.txt
+augustus/config/species/Sclerotinia_sclerotiorum/README.txt
+augustus/config/species/Sclerotinia_sclerotiorum/Sclerotinia_sclerotiorum_exon_probs.pbl
+augustus/config/species/Sclerotinia_sclerotiorum/Sclerotinia_sclerotiorum_igenic_probs.pbl
+augustus/config/species/Sclerotinia_sclerotiorum/Sclerotinia_sclerotiorum_intron_probs.pbl
+augustus/config/species/Sclerotinia_sclerotiorum/Sclerotinia_sclerotiorum_metapars.cfg
+augustus/config/species/Sclerotinia_sclerotiorum/Sclerotinia_sclerotiorum_metapars.cgp.cfg
+augustus/config/species/Sclerotinia_sclerotiorum/Sclerotinia_sclerotiorum_metapars.utr.cfg
+augustus/config/species/Sclerotinia_sclerotiorum/Sclerotinia_sclerotiorum_parameters.cfg
+augustus/config/species/Sclerotinia_sclerotiorum/Sclerotinia_sclerotiorum_weightmatrix.txt
+augustus/config/species/Skeletonema_costatum/README.txt
+augustus/config/species/Skeletonema_costatum/Skeletonema_costatum_exon_probs.pbl
+augustus/config/species/Skeletonema_costatum/Skeletonema_costatum_igenic_probs.pbl
+augustus/config/species/Skeletonema_costatum/Skeletonema_costatum_intron_probs.pbl
+augustus/config/species/Skeletonema_costatum/Skeletonema_costatum_metapars.cfg
+augustus/config/species/Skeletonema_costatum/Skeletonema_costatum_metapars.cgp.cfg
+augustus/config/species/Skeletonema_costatum/Skeletonema_costatum_metapars.utr.cfg
+augustus/config/species/Skeletonema_costatum/Skeletonema_costatum_parameters.cfg
+augustus/config/species/Skeletonema_costatum/Skeletonema_costatum_weightmatrix.txt
+augustus/config/species/Sordaria_macrospora/README.txt
+augustus/config/species/Sordaria_macrospora/Sordaria_macrospora_exon_probs.pbl
+augustus/config/species/Sordaria_macrospora/Sordaria_macrospora_igenic_probs.pbl
+augustus/config/species/Sordaria_macrospora/Sordaria_macrospora_intron_probs.pbl
+augustus/config/species/Sordaria_macrospora/Sordaria_macrospora_metapars.cfg
+augustus/config/species/Sordaria_macrospora/Sordaria_macrospora_metapars.cgp.cfg
+augustus/config/species/Sordaria_macrospora/Sordaria_macrospora_metapars.utr.cfg
+augustus/config/species/Sordaria_macrospora/Sordaria_macrospora_parameters.cfg
+augustus/config/species/Sordaria_macrospora/Sordaria_macrospora_weightmatrix.txt
+augustus/config/species/Sphaceloma_murrayae/README.txt
+augustus/config/species/Sphaceloma_murrayae/Sphaceloma_murrayae_exon_probs.pbl
+augustus/config/species/Sphaceloma_murrayae/Sphaceloma_murrayae_igenic_probs.pbl
+augustus/config/species/Sphaceloma_murrayae/Sphaceloma_murrayae_intron_probs.pbl
+augustus/config/species/Sphaceloma_murrayae/Sphaceloma_murrayae_metapars.cfg
+augustus/config/species/Sphaceloma_murrayae/Sphaceloma_murrayae_metapars.cgp.cfg
+augustus/config/species/Sphaceloma_murrayae/Sphaceloma_murrayae_metapars.utr.cfg
+augustus/config/species/Sphaceloma_murrayae/Sphaceloma_murrayae_parameters.cfg
+augustus/config/species/Sphaceloma_murrayae/Sphaceloma_murrayae_weightmatrix.txt
+augustus/config/species/Taeniopygia_guttata/README.txt
+augustus/config/species/Taeniopygia_guttata/Taeniopygia_guttata_exon_probs.pbl
+augustus/config/species/Taeniopygia_guttata/Taeniopygia_guttata_igenic_probs.pbl
+augustus/config/species/Taeniopygia_guttata/Taeniopygia_guttata_intron_probs.pbl
+augustus/config/species/Taeniopygia_guttata/Taeniopygia_guttata_metapars.cfg
+augustus/config/species/Taeniopygia_guttata/Taeniopygia_guttata_metapars.cgp.cfg
+augustus/config/species/Taeniopygia_guttata/Taeniopygia_guttata_metapars.utr.cfg
+augustus/config/species/Taeniopygia_guttata/Taeniopygia_guttata_parameters.cfg
+augustus/config/species/Taeniopygia_guttata/Taeniopygia_guttata_weightmatrix.txt
+augustus/config/species/Thalassiosira_pseudonana_CCMP1335/README.txt
+augustus/config/species/Thalassiosira_pseudonana_CCMP1335/Thalassiosira_pseudonana_CCMP1335_exon_probs.pbl
+augustus/config/species/Thalassiosira_pseudonana_CCMP1335/Thalassiosira_pseudonana_CCMP1335_igenic_probs.pbl
+augustus/config/species/Thalassiosira_pseudonana_CCMP1335/Thalassiosira_pseudonana_CCMP1335_intron_probs.pbl
+augustus/config/species/Thalassiosira_pseudonana_CCMP1335/Thalassiosira_pseudonana_CCMP1335_metapars.cfg
+augustus/config/species/Thalassiosira_pseudonana_CCMP1335/Thalassiosira_pseudonana_CCMP1335_metapars.cgp.cfg
+augustus/config/species/Thalassiosira_pseudonana_CCMP1335/Thalassiosira_pseudonana_CCMP1335_metapars.utr.cfg
+augustus/config/species/Thalassiosira_pseudonana_CCMP1335/Thalassiosira_pseudonana_CCMP1335_parameters.cfg
+augustus/config/species/Thalassiosira_pseudonana_CCMP1335/Thalassiosira_pseudonana_CCMP1335_weightmatrix.txt
+augustus/config/species/Trichoplax_adhaerens/README.txt
+augustus/config/species/Trichoplax_adhaerens/Trichoplax_adhaerens_exon_probs.pbl
+augustus/config/species/Trichoplax_adhaerens/Trichoplax_adhaerens_igenic_probs.pbl
+augustus/config/species/Trichoplax_adhaerens/Trichoplax_adhaerens_intron_probs.pbl
+augustus/config/species/Trichoplax_adhaerens/Trichoplax_adhaerens_metapars.cfg
+augustus/config/species/Trichoplax_adhaerens/Trichoplax_adhaerens_metapars.cgp.cfg
+augustus/config/species/Trichoplax_adhaerens/Trichoplax_adhaerens_metapars.utr.cfg
+augustus/config/species/Trichoplax_adhaerens/Trichoplax_adhaerens_parameters.cfg
+augustus/config/species/Trichoplax_adhaerens/Trichoplax_adhaerens_weightmatrix.txt
+augustus/config/species/Trypanosoma_cruzi/README.txt
+augustus/config/species/Trypanosoma_cruzi/Trypanosoma_cruzi_exon_probs.pbl
+augustus/config/species/Trypanosoma_cruzi/Trypanosoma_cruzi_igenic_probs.pbl
+augustus/config/species/Trypanosoma_cruzi/Trypanosoma_cruzi_intron_probs.pbl
+augustus/config/species/Trypanosoma_cruzi/Trypanosoma_cruzi_metapars.cfg
+augustus/config/species/Trypanosoma_cruzi/Trypanosoma_cruzi_metapars.cgp.cfg
+augustus/config/species/Trypanosoma_cruzi/Trypanosoma_cruzi_metapars.utr.cfg
+augustus/config/species/Trypanosoma_cruzi/Trypanosoma_cruzi_parameters.cfg
+augustus/config/species/Trypanosoma_cruzi/Trypanosoma_cruzi_weightmatrix.txt
+augustus/config/species/Vitis_vinifera/README.txt
+augustus/config/species/Vitis_vinifera/Vitis_vinifera_exon_probs.pbl
+augustus/config/species/Vitis_vinifera/Vitis_vinifera_igenic_probs.pbl
+augustus/config/species/Vitis_vinifera/Vitis_vinifera_intron_probs.pbl
+augustus/config/species/Vitis_vinifera/Vitis_vinifera_metapars.cfg
+augustus/config/species/Vitis_vinifera/Vitis_vinifera_metapars.cgp.cfg
+augustus/config/species/Vitis_vinifera/Vitis_vinifera_metapars.utr.cfg
+augustus/config/species/Vitis_vinifera/Vitis_vinifera_parameters.cfg
+augustus/config/species/Vitis_vinifera/Vitis_vinifera_weightmatrix.txt
+augustus/config/species/Vitrella_brassicaformis/README.txt
+augustus/config/species/Vitrella_brassicaformis/Vitrella_brassicaformis_exon_probs.pbl
+augustus/config/species/Vitrella_brassicaformis/Vitrella_brassicaformis_igenic_probs.pbl
+augustus/config/species/Vitrella_brassicaformis/Vitrella_brassicaformis_intron_probs.pbl
+augustus/config/species/Vitrella_brassicaformis/Vitrella_brassicaformis_metapars.cfg
+augustus/config/species/Vitrella_brassicaformis/Vitrella_brassicaformis_metapars.cgp.cfg
+augustus/config/species/Vitrella_brassicaformis/Vitrella_brassicaformis_metapars.utr.cfg
+augustus/config/species/Vitrella_brassicaformis/Vitrella_brassicaformis_parameters.cfg
+augustus/config/species/Vitrella_brassicaformis/Vitrella_brassicaformis_weightmatrix.txt
+augustus/config/species/Xenopus_tropicalis/Xenopus_tropicalis_exon_probs.pbl
+augustus/config/species/Xenopus_tropicalis/Xenopus_tropicalis_igenic_probs.pbl
+augustus/config/species/Xenopus_tropicalis/Xenopus_tropicalis_intron_probs.pbl
+augustus/config/species/Xenopus_tropicalis/Xenopus_tropicalis_metapars.cfg
+augustus/config/species/Xenopus_tropicalis/Xenopus_tropicalis_metapars.cgp.cfg
+augustus/config/species/Xenopus_tropicalis/Xenopus_tropicalis_metapars.utr.cfg
+augustus/config/species/Xenopus_tropicalis/Xenopus_tropicalis_parameters.cfg
+augustus/config/species/Xenopus_tropicalis/Xenopus_tropicalis_weightmatrix.txt
+augustus/config/species/Xiphophorus_maculatus/README.txt
+augustus/config/species/Xiphophorus_maculatus/Xiphophorus_maculatus_exon_probs.pbl
+augustus/config/species/Xiphophorus_maculatus/Xiphophorus_maculatus_igenic_probs.pbl
+augustus/config/species/Xiphophorus_maculatus/Xiphophorus_maculatus_intron_probs.pbl
+augustus/config/species/Xiphophorus_maculatus/Xiphophorus_maculatus_parameters.cfg
+augustus/config/species/Xiphophorus_maculatus/Xiphophorus_maculatus_utr_probs.pbl
+augustus/config/species/Xiphophorus_maculatus/Xiphophorus_maculatus_weightmatrix.txt
+augustus/config/species/Xipophorus_maculatus/Xipophorus_maculatus_exon_probs.pbl
+augustus/config/species/Xipophorus_maculatus/Xipophorus_maculatus_igenic_probs.pbl
+augustus/config/species/Xipophorus_maculatus/Xipophorus_maculatus_intron_probs.pbl
+augustus/config/species/Xipophorus_maculatus/Xipophorus_maculatus_parameters.cfg
+augustus/config/species/Xipophorus_maculatus/Xipophorus_maculatus_utr_probs.pbl
+augustus/config/species/Xipophorus_maculatus/Xipophorus_maculatus_weightmatrix.txt
+augustus/config/species/adorsata/adorsata_parameters.cfg
+augustus/config/species/adorsata/adorsata_weightmatrix.txt
+augustus/config/species/adorsata/generic_exon_probs.pbl
+augustus/config/species/adorsata/generic_igenic_probs.pbl
+augustus/config/species/adorsata/generic_intron_probs.pbl
+augustus/config/species/adorsata/generic_weightmatrix.txt
+augustus/config/species/aedes/aedes_exon_probs.pbl
+augustus/config/species/aedes/aedes_igenic_probs.pbl
+augustus/config/species/aedes/aedes_intron_probs.pbl
+augustus/config/species/aedes/aedes_parameters.cfg
+augustus/config/species/aedes/aedes_weightmatrix.txt
+augustus/config/species/amphimedon/amphimedon_exon_probs.pbl
+augustus/config/species/amphimedon/amphimedon_igenic_probs.pbl
+augustus/config/species/amphimedon/amphimedon_intron_probs.pbl
+augustus/config/species/amphimedon/amphimedon_metapars.cfg
+augustus/config/species/amphimedon/amphimedon_parameters.cfg
+augustus/config/species/amphimedon/amphimedon_utr_probs.pbl
+augustus/config/species/amphimedon/amphimedon_weightmatrix.txt
+augustus/config/species/ancylostoma_ceylanicum/README.TXT
+augustus/config/species/ancylostoma_ceylanicum/ancylostoma_ceylanicum_exon_probs.pbl
+augustus/config/species/ancylostoma_ceylanicum/ancylostoma_ceylanicum_igenic_probs.pbl
+augustus/config/species/ancylostoma_ceylanicum/ancylostoma_ceylanicum_intron_probs.pbl
+augustus/config/species/ancylostoma_ceylanicum/ancylostoma_ceylanicum_metapars.cfg
+augustus/config/species/ancylostoma_ceylanicum/ancylostoma_ceylanicum_metapars.utr.cfg
+augustus/config/species/ancylostoma_ceylanicum/ancylostoma_ceylanicum_parameters.cfg
+augustus/config/species/ancylostoma_ceylanicum/ancylostoma_ceylanicum_weightmatrix.txt
+augustus/config/species/anidulans/anidulans_exon_probs.pbl
+augustus/config/species/anidulans/anidulans_igenic_probs.pbl
+augustus/config/species/anidulans/anidulans_intron_probs.pbl
+augustus/config/species/anidulans/anidulans_parameters.cfg
+augustus/config/species/anidulans/anidulans_weightmatrix.txt
+augustus/config/species/arabidopsis/arabidopsis_exon_probs.pbl
+augustus/config/species/arabidopsis/arabidopsis_igenic_probs.pbl
+augustus/config/species/arabidopsis/arabidopsis_intron_probs.pbl
+augustus/config/species/arabidopsis/arabidopsis_parameters.cfg
+augustus/config/species/arabidopsis/arabidopsis_utr_probs.pbl
+augustus/config/species/arabidopsis/arabidopsis_weightmatrix.txt
+augustus/config/species/aspergillus_fumigatus/aspergillus_fumigatus_exon_probs.pbl
+augustus/config/species/aspergillus_fumigatus/aspergillus_fumigatus_igenic_probs.pbl
+augustus/config/species/aspergillus_fumigatus/aspergillus_fumigatus_intron_probs.pbl
+augustus/config/species/aspergillus_fumigatus/aspergillus_fumigatus_metapars.cfg
+augustus/config/species/aspergillus_fumigatus/aspergillus_fumigatus_parameters.cfg
+augustus/config/species/aspergillus_fumigatus/aspergillus_fumigatus_weightmatrix.txt
+augustus/config/species/aspergillus_nidulans/aspergillus_nidulans_exon_probs.pbl
+augustus/config/species/aspergillus_nidulans/aspergillus_nidulans_igenic_probs.pbl
+augustus/config/species/aspergillus_nidulans/aspergillus_nidulans_intron_probs.pbl
+augustus/config/species/aspergillus_nidulans/aspergillus_nidulans_metapars.cfg
+augustus/config/species/aspergillus_nidulans/aspergillus_nidulans_parameters.cfg
+augustus/config/species/aspergillus_nidulans/aspergillus_nidulans_weightmatrix.txt
+augustus/config/species/aspergillus_oryzae/aspergillus_oryzae_exon_probs.pbl
+augustus/config/species/aspergillus_oryzae/aspergillus_oryzae_igenic_probs.pbl
+augustus/config/species/aspergillus_oryzae/aspergillus_oryzae_intron_probs.pbl
+augustus/config/species/aspergillus_oryzae/aspergillus_oryzae_metapars.cfg
+augustus/config/species/aspergillus_oryzae/aspergillus_oryzae_parameters.cfg
+augustus/config/species/aspergillus_oryzae/aspergillus_oryzae_weightmatrix.txt
+augustus/config/species/aspergillus_terreus/aspergillus_terreus_exon_probs.pbl
+augustus/config/species/aspergillus_terreus/aspergillus_terreus_igenic_probs.pbl
+augustus/config/species/aspergillus_terreus/aspergillus_terreus_intron_probs.pbl
+augustus/config/species/aspergillus_terreus/aspergillus_terreus_metapars.cfg
+augustus/config/species/aspergillus_terreus/aspergillus_terreus_parameters.cfg
+augustus/config/species/aspergillus_terreus/aspergillus_terreus_weightmatrix.txt
+augustus/config/species/b_pseudomallei/b_pseudomallei_exon_probs.pbl
+augustus/config/species/b_pseudomallei/b_pseudomallei_igenic_probs.pbl
+augustus/config/species/b_pseudomallei/b_pseudomallei_metapars.cfg
+augustus/config/species/b_pseudomallei/b_pseudomallei_metapars.utr.cfg
+augustus/config/species/b_pseudomallei/b_pseudomallei_ovlp_len.pbl
+augustus/config/species/b_pseudomallei/b_pseudomallei_parameters.cfg
+augustus/config/species/b_pseudomallei/b_pseudomallei_parameters.cfg.orig1
+augustus/config/species/b_pseudomallei/b_pseudomallei_parameters.cfg.orig2
+augustus/config/species/b_pseudomallei/b_pseudomallei_trans_shadow_bacterium.pbl
+augustus/config/species/b_pseudomallei/b_pseudomallei_weightmatrix.txt
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_exon_probs.pbl
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_exon_probs.pbl.withoutCRF
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_igenic_probs.pbl
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_igenic_probs.pbl.withoutCRF
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_intron_probs.pbl
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_intron_probs.pbl.withoutCRF
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_metapars.cfg
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_metapars.utr.cfg
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_parameters.cfg
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_parameters.cfg.orig1
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_parameters.cfg.orig2
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_parameters.cfg.orig3
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_parameters.cfg.orig4
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_parameters.cfg.orig5
+augustus/config/species/bombus_impatiens1/bombus_impatiens1_weightmatrix.txt
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_exon_probs.pbl
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_exon_probs.pbl.withoutCRF
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_igenic_probs.pbl
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_igenic_probs.pbl.withoutCRF
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_intron_probs.pbl
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_intron_probs.pbl.withoutCRF
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_metapars.cfg
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_metapars.utr.cfg
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_parameters.cfg
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_parameters.cfg.orig1
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_parameters.cfg.orig2
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_parameters.cfg.orig3
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_parameters.cfg.orig4
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_utr_probs.pbl
+augustus/config/species/bombus_terrestris2/bombus_terrestris2_weightmatrix.txt
+augustus/config/species/botrytis_cinerea/botrytis_cinerea_exon_probs.pbl
+augustus/config/species/botrytis_cinerea/botrytis_cinerea_igenic_probs.pbl
+augustus/config/species/botrytis_cinerea/botrytis_cinerea_intron_probs.pbl
+augustus/config/species/botrytis_cinerea/botrytis_cinerea_metapars.cfg
+augustus/config/species/botrytis_cinerea/botrytis_cinerea_parameters.cfg
+augustus/config/species/botrytis_cinerea/botrytis_cinerea_weightmatrix.txt
+augustus/config/species/brugia/brugia_exon_probs.pbl
+augustus/config/species/brugia/brugia_igenic_probs.pbl
+augustus/config/species/brugia/brugia_intron_probs.pbl
+augustus/config/species/brugia/brugia_parameters.cfg
+augustus/config/species/brugia/brugia_splicefile
+augustus/config/species/brugia/brugia_weightmatrix.txt
+augustus/config/species/c_elegans_trsk/c_elegans_trsk_exon_probs.pbl
+augustus/config/species/c_elegans_trsk/c_elegans_trsk_exon_probs.pbl.withoutCRF
+augustus/config/species/c_elegans_trsk/c_elegans_trsk_igenic_probs.pbl
+augustus/config/species/c_elegans_trsk/c_elegans_trsk_igenic_probs.pbl.withoutCRF
+augustus/config/species/c_elegans_trsk/c_elegans_trsk_intron_probs.pbl
+augustus/config/species/c_elegans_trsk/c_elegans_trsk_intron_probs.pbl.withoutCRF
+augustus/config/species/c_elegans_trsk/c_elegans_trsk_metapars.cfg
+augustus/config/species/c_elegans_trsk/c_elegans_trsk_metapars.utr.cfg
+augustus/config/species/c_elegans_trsk/c_elegans_trsk_parameters.cfg
+augustus/config/species/c_elegans_trsk/c_elegans_trsk_utr_probs.pbl
+augustus/config/species/c_elegans_trsk/c_elegans_trsk_weightmatrix.txt
+augustus/config/species/cacao/cacao_exon_probs.pbl
+augustus/config/species/cacao/cacao_igenic_probs.pbl
+augustus/config/species/cacao/cacao_intron_probs.pbl
+augustus/config/species/cacao/cacao_metapars.cfg
+augustus/config/species/cacao/cacao_metapars.utr.cfg
+augustus/config/species/cacao/cacao_parameters.cfg
+augustus/config/species/cacao/cacao_utr_probs.pbl
+augustus/config/species/cacao/cacao_weightmatrix.txt
+augustus/config/species/caenorhabditis/caenorhabditis_exon_probs.pbl
+augustus/config/species/caenorhabditis/caenorhabditis_igenic_probs.pbl
+augustus/config/species/caenorhabditis/caenorhabditis_intron_probs.pbl
+augustus/config/species/caenorhabditis/caenorhabditis_metapars.cfg
+augustus/config/species/caenorhabditis/caenorhabditis_parameters.cfg
+augustus/config/species/caenorhabditis/caenorhabditis_trans_shadow_partial_utr.pbl
+augustus/config/species/caenorhabditis/caenorhabditis_utr_probs.pbl
+augustus/config/species/caenorhabditis/caenorhabditis_weightmatrix.txt
+augustus/config/species/camponotus_floridanus/README.TXT
+augustus/config/species/camponotus_floridanus/camponotus_floridanus_exon_probs.pbl
+augustus/config/species/camponotus_floridanus/camponotus_floridanus_igenic_probs.pbl
+augustus/config/species/camponotus_floridanus/camponotus_floridanus_intron_probs.pbl
+augustus/config/species/camponotus_floridanus/camponotus_floridanus_metapars.cfg
+augustus/config/species/camponotus_floridanus/camponotus_floridanus_metapars.utr.cfg
+augustus/config/species/camponotus_floridanus/camponotus_floridanus_parameters.cfg
+augustus/config/species/camponotus_floridanus/camponotus_floridanus_weightmatrix.txt
+augustus/config/species/candida_albicans/candida_albicans_exon_probs.pbl
+augustus/config/species/candida_albicans/candida_albicans_igenic_probs.pbl
+augustus/config/species/candida_albicans/candida_albicans_intron_probs.pbl
+augustus/config/species/candida_albicans/candida_albicans_metapars.cfg
+augustus/config/species/candida_albicans/candida_albicans_parameters.cfg
+augustus/config/species/candida_albicans/candida_albicans_weightmatrix.txt
+augustus/config/species/candida_guilliermondii/candida_guilliermondii_exon_probs.pbl
+augustus/config/species/candida_guilliermondii/candida_guilliermondii_igenic_probs.pbl
+augustus/config/species/candida_guilliermondii/candida_guilliermondii_intron_probs.pbl
+augustus/config/species/candida_guilliermondii/candida_guilliermondii_metapars.cfg
+augustus/config/species/candida_guilliermondii/candida_guilliermondii_parameters.cfg
+augustus/config/species/candida_guilliermondii/candida_guilliermondii_weightmatrix.txt
+augustus/config/species/candida_tropicalis/candida_tropicalis_exon_probs.pbl
+augustus/config/species/candida_tropicalis/candida_tropicalis_igenic_probs.pbl
+augustus/config/species/candida_tropicalis/candida_tropicalis_intron_probs.pbl
+augustus/config/species/candida_tropicalis/candida_tropicalis_metapars.cfg
+augustus/config/species/candida_tropicalis/candida_tropicalis_parameters.cfg
+augustus/config/species/candida_tropicalis/candida_tropicalis_weightmatrix.txt
+augustus/config/species/chaetomium_globosum/chaetomium_globosum_exon_probs.pbl
+augustus/config/species/chaetomium_globosum/chaetomium_globosum_igenic_probs.pbl
+augustus/config/species/chaetomium_globosum/chaetomium_globosum_intron_probs.pbl
+augustus/config/species/chaetomium_globosum/chaetomium_globosum_metapars.cfg
+augustus/config/species/chaetomium_globosum/chaetomium_globosum_parameters.cfg
+augustus/config/species/chaetomium_globosum/chaetomium_globosum_weightmatrix.txt
+augustus/config/species/chicken/README.TXT
+augustus/config/species/chicken/chicken_exon_probs.pbl
+augustus/config/species/chicken/chicken_igenic_probs.pbl
+augustus/config/species/chicken/chicken_intron_probs.pbl
+augustus/config/species/chicken/chicken_metapars.cfg
+augustus/config/species/chicken/chicken_metapars.utr.cfg
+augustus/config/species/chicken/chicken_parameters.cfg
+augustus/config/species/chicken/chicken_weightmatrix.txt
+augustus/config/species/chiloscyllium/chiloscyllium_exon_probs.pbl
+augustus/config/species/chiloscyllium/chiloscyllium_igenic_probs.pbl
+augustus/config/species/chiloscyllium/chiloscyllium_intron_probs.pbl
+augustus/config/species/chiloscyllium/chiloscyllium_metapars.cfg
+augustus/config/species/chiloscyllium/chiloscyllium_metapars.cgp.cfg
+augustus/config/species/chiloscyllium/chiloscyllium_metapars.utr.cfg
+augustus/config/species/chiloscyllium/chiloscyllium_parameters.cfg
+augustus/config/species/chiloscyllium/chiloscyllium_parameters.cfg.orig1
+augustus/config/species/chiloscyllium/chiloscyllium_weightmatrix.txt
+augustus/config/species/chlamy2011/chlamy2011_exon_probs.pbl
+augustus/config/species/chlamy2011/chlamy2011_igenic_probs.pbl
+augustus/config/species/chlamy2011/chlamy2011_intron_probs.pbl
+augustus/config/species/chlamy2011/chlamy2011_metapars.cfg
+augustus/config/species/chlamy2011/chlamy2011_metapars.utr.cfg
+augustus/config/species/chlamy2011/chlamy2011_parameters.cfg
+augustus/config/species/chlamy2011/chlamy2011_trans_shadow_partial.pbl
+augustus/config/species/chlamy2011/chlamy2011_trans_shadow_partial_utr.pbl
+augustus/config/species/chlamy2011/chlamy2011_utr_probs.pbl
+augustus/config/species/chlamy2011/chlamy2011_weightmatrix.txt
+augustus/config/species/chlamydomonas/chlamydomonas_exon_probs.pbl
+augustus/config/species/chlamydomonas/chlamydomonas_igenic_probs.pbl
+augustus/config/species/chlamydomonas/chlamydomonas_intron_probs.pbl
+augustus/config/species/chlamydomonas/chlamydomonas_metapars.cfg
+augustus/config/species/chlamydomonas/chlamydomonas_parameters.cfg
+augustus/config/species/chlamydomonas/chlamydomonas_trans_shadow_partial.pbl
+augustus/config/species/chlamydomonas/chlamydomonas_trans_shadow_partial_utr.pbl
+augustus/config/species/chlamydomonas/chlamydomonas_utr_probs.pbl
+augustus/config/species/chlamydomonas/chlamydomonas_weightmatrix.txt
+augustus/config/species/chlorella/chlorella_exon_probs.pbl
+augustus/config/species/chlorella/chlorella_igenic_probs.pbl
+augustus/config/species/chlorella/chlorella_intron_probs.pbl
+augustus/config/species/chlorella/chlorella_metapars.cfg
+augustus/config/species/chlorella/chlorella_metapars.utr.cfg
+augustus/config/species/chlorella/chlorella_parameters.cfg
+augustus/config/species/chlorella/chlorella_utr_probs.pbl
+augustus/config/species/chlorella/chlorella_weightmatrix.txt
+augustus/config/species/ciona/README.TXT
+augustus/config/species/ciona/ciona_exon_probs.pbl
+augustus/config/species/ciona/ciona_igenic_probs.pbl
+augustus/config/species/ciona/ciona_intron_probs.pbl
+augustus/config/species/ciona/ciona_metapars.cfg
+augustus/config/species/ciona/ciona_metapars.cgp.cfg
+augustus/config/species/ciona/ciona_metapars.utr.cfg
+augustus/config/species/ciona/ciona_parameters.cfg
+augustus/config/species/ciona/ciona_parameters.cfg.orig1
+augustus/config/species/ciona/ciona_weightmatrix.txt
+augustus/config/species/coccidioides_immitis/coccidioides_immitis_exon_probs.pbl
+augustus/config/species/coccidioides_immitis/coccidioides_immitis_igenic_probs.pbl
+augustus/config/species/coccidioides_immitis/coccidioides_immitis_intron_probs.pbl
+augustus/config/species/coccidioides_immitis/coccidioides_immitis_metapars.cfg
+augustus/config/species/coccidioides_immitis/coccidioides_immitis_parameters.cfg
+augustus/config/species/coccidioides_immitis/coccidioides_immitis_weightmatrix.txt
+augustus/config/species/coprinus/coprinus_exon_probs.pbl
+augustus/config/species/coprinus/coprinus_igenic_probs.pbl
+augustus/config/species/coprinus/coprinus_intron_probs.pbl
+augustus/config/species/coprinus/coprinus_parameters.cfg
+augustus/config/species/coprinus/coprinus_weightmatrix.txt
+augustus/config/species/coprinus_cinereus/coprinus_cinereus_exon_probs.pbl
+augustus/config/species/coprinus_cinereus/coprinus_cinereus_igenic_probs.pbl
+augustus/config/species/coprinus_cinereus/coprinus_cinereus_intron_probs.pbl
+augustus/config/species/coprinus_cinereus/coprinus_cinereus_metapars.cfg
+augustus/config/species/coprinus_cinereus/coprinus_cinereus_parameters.cfg
+augustus/config/species/coprinus_cinereus/coprinus_cinereus_weightmatrix.txt
+augustus/config/species/coyote_tobacco/coyote_tobacco_exon_probs.pbl
+augustus/config/species/coyote_tobacco/coyote_tobacco_igenic_probs.pbl
+augustus/config/species/coyote_tobacco/coyote_tobacco_intron_probs.pbl
+augustus/config/species/coyote_tobacco/coyote_tobacco_metapars.cfg
+augustus/config/species/coyote_tobacco/coyote_tobacco_metapars.utr.cfg
+augustus/config/species/coyote_tobacco/coyote_tobacco_parameters.cfg
+augustus/config/species/coyote_tobacco/coyote_tobacco_trans_shadow_partial_utr.pbl
+augustus/config/species/coyote_tobacco/coyote_tobacco_utr_probs.pbl
+augustus/config/species/coyote_tobacco/coyote_tobacco_weightmatrix.txt
+augustus/config/species/cryptococcus/cryptococcus_exon_probs.pbl
+augustus/config/species/cryptococcus/cryptococcus_igenic_probs.pbl
+augustus/config/species/cryptococcus/cryptococcus_intron_probs.pbl
+augustus/config/species/cryptococcus/cryptococcus_parameters.cfg
+augustus/config/species/cryptococcus/cryptococcus_weightmatrix.txt
+augustus/config/species/cryptococcus_neoformans_gattii/cryptococcus_neoformans_gattii_exon_probs.pbl
+augustus/config/species/cryptococcus_neoformans_gattii/cryptococcus_neoformans_gattii_igenic_probs.pbl
+augustus/config/species/cryptococcus_neoformans_gattii/cryptococcus_neoformans_gattii_intron_probs.pbl
+augustus/config/species/cryptococcus_neoformans_gattii/cryptococcus_neoformans_gattii_metapars.cfg
+augustus/config/species/cryptococcus_neoformans_gattii/cryptococcus_neoformans_gattii_parameters.cfg
+augustus/config/species/cryptococcus_neoformans_gattii/cryptococcus_neoformans_gattii_weightmatrix.txt
+augustus/config/species/cryptococcus_neoformans_neoformans_B/cryptococcus_neoformans_neoformans_B_exon_probs.pbl
+augustus/config/species/cryptococcus_neoformans_neoformans_B/cryptococcus_neoformans_neoformans_B_igenic_probs.pbl
+augustus/config/species/cryptococcus_neoformans_neoformans_B/cryptococcus_neoformans_neoformans_B_intron_probs.pbl
+augustus/config/species/cryptococcus_neoformans_neoformans_B/cryptococcus_neoformans_neoformans_B_metapars.cfg
+augustus/config/species/cryptococcus_neoformans_neoformans_B/cryptococcus_neoformans_neoformans_B_parameters.cfg
+augustus/config/species/cryptococcus_neoformans_neoformans_B/cryptococcus_neoformans_neoformans_B_weightmatrix.txt
+augustus/config/species/cryptococcus_neoformans_neoformans_JEC21/cryptococcus_neoformans_neoformans_JEC21_exon_probs.pbl
+augustus/config/species/cryptococcus_neoformans_neoformans_JEC21/cryptococcus_neoformans_neoformans_JEC21_igenic_probs.pbl
+augustus/config/species/cryptococcus_neoformans_neoformans_JEC21/cryptococcus_neoformans_neoformans_JEC21_intron_probs.pbl
+augustus/config/species/cryptococcus_neoformans_neoformans_JEC21/cryptococcus_neoformans_neoformans_JEC21_metapars.cfg
+augustus/config/species/cryptococcus_neoformans_neoformans_JEC21/cryptococcus_neoformans_neoformans_JEC21_parameters.cfg
+augustus/config/species/cryptococcus_neoformans_neoformans_JEC21/cryptococcus_neoformans_neoformans_JEC21_weightmatrix.txt
+augustus/config/species/culex/culex_exon_probs.pbl
+augustus/config/species/culex/culex_exon_probs.pbl.wech
+augustus/config/species/culex/culex_igenic_probs.pbl
+augustus/config/species/culex/culex_igenic_probs.pbl.wech
+augustus/config/species/culex/culex_intron_probs.pbl
+augustus/config/species/culex/culex_intron_probs.pbl.wech
+augustus/config/species/culex/culex_metapars.cfg
+augustus/config/species/culex/culex_parameters.cfg
+augustus/config/species/culex/culex_parameters.old.cfg
+augustus/config/species/culex/culex_trans_shadow_partial_utr.pbl
+augustus/config/species/culex/culex_utr_probs.pbl
+augustus/config/species/culex/culex_weightmatrix.txt
+augustus/config/species/debaryomyces_hansenii/debaryomyces_hansenii_exon_probs.pbl
+augustus/config/species/debaryomyces_hansenii/debaryomyces_hansenii_igenic_probs.pbl
+augustus/config/species/debaryomyces_hansenii/debaryomyces_hansenii_intron_probs.pbl
+augustus/config/species/debaryomyces_hansenii/debaryomyces_hansenii_metapars.cfg
+augustus/config/species/debaryomyces_hansenii/debaryomyces_hansenii_parameters.cfg
+augustus/config/species/debaryomyces_hansenii/debaryomyces_hansenii_weightmatrix.txt
+augustus/config/species/elephant_shark/elephant_shark_exon_probs.pbl
+augustus/config/species/elephant_shark/elephant_shark_igenic_probs.pbl
+augustus/config/species/elephant_shark/elephant_shark_intron_probs.pbl
+augustus/config/species/elephant_shark/elephant_shark_metapars.cfg
+augustus/config/species/elephant_shark/elephant_shark_metapars.utr.cfg
+augustus/config/species/elephant_shark/elephant_shark_parameters.cfg
+augustus/config/species/elephant_shark/elephant_shark_weightmatrix.txt
+augustus/config/species/encephalitozoon_cuniculi_GB/encephalitozoon_cuniculi_GB_exon_probs.pbl
+augustus/config/species/encephalitozoon_cuniculi_GB/encephalitozoon_cuniculi_GB_igenic_probs.pbl
+augustus/config/species/encephalitozoon_cuniculi_GB/encephalitozoon_cuniculi_GB_intron_probs.pbl
+augustus/config/species/encephalitozoon_cuniculi_GB/encephalitozoon_cuniculi_GB_metapars.cfg
+augustus/config/species/encephalitozoon_cuniculi_GB/encephalitozoon_cuniculi_GB_parameters.cfg
+augustus/config/species/encephalitozoon_cuniculi_GB/encephalitozoon_cuniculi_GB_weightmatrix.txt
+augustus/config/species/eremothecium_gossypii/eremothecium_gossypii_exon_probs.pbl
+augustus/config/species/eremothecium_gossypii/eremothecium_gossypii_igenic_probs.pbl
+augustus/config/species/eremothecium_gossypii/eremothecium_gossypii_intron_probs.pbl
+augustus/config/species/eremothecium_gossypii/eremothecium_gossypii_metapars.cfg
+augustus/config/species/eremothecium_gossypii/eremothecium_gossypii_parameters.cfg
+augustus/config/species/eremothecium_gossypii/eremothecium_gossypii_weightmatrix.txt
+augustus/config/species/fly/fly_exon_probs.pbl
+augustus/config/species/fly/fly_igenic_probs.pbl
+augustus/config/species/fly/fly_intron_probs.pbl
+augustus/config/species/fly/fly_metapars.cfg
+augustus/config/species/fly/fly_metapars.utr.cfg
+augustus/config/species/fly/fly_parameters.cfg
+augustus/config/species/fly/fly_utr_probs.pbl
+augustus/config/species/fly/fly_weightmatrix.txt
+augustus/config/species/fly_exp/fly_exp_exon_probs.pbl
+augustus/config/species/fly_exp/fly_exp_igenic_probs.pbl
+augustus/config/species/fly_exp/fly_exp_intron_probs.pbl
+augustus/config/species/fly_exp/fly_exp_metapars.cfg
+augustus/config/species/fly_exp/fly_exp_metapars.utr.cfg
+augustus/config/species/fly_exp/fly_exp_parameters.cfg
+augustus/config/species/fly_exp/fly_exp_utr_probs.pbl
+augustus/config/species/fly_exp/fly_exp_weightmatrix.txt
+augustus/config/species/fusarium/fusarium_exon_probs.pbl
+augustus/config/species/fusarium/fusarium_igenic_probs.pbl
+augustus/config/species/fusarium/fusarium_intron_probs.pbl
+augustus/config/species/fusarium/fusarium_parameters.cfg
+augustus/config/species/fusarium/fusarium_weightmatrix.txt
+augustus/config/species/fusarium_graminearum/fusarium_graminearum_exon_probs.pbl
+augustus/config/species/fusarium_graminearum/fusarium_graminearum_igenic_probs.pbl
+augustus/config/species/fusarium_graminearum/fusarium_graminearum_intron_probs.pbl
+augustus/config/species/fusarium_graminearum/fusarium_graminearum_metapars.cfg
+augustus/config/species/fusarium_graminearum/fusarium_graminearum_parameters.cfg
+augustus/config/species/fusarium_graminearum/fusarium_graminearum_weightmatrix.txt
+augustus/config/species/galdieria/extrinsic.PE.cfg
+augustus/config/species/galdieria/galdieria_exon_probs.pbl
+augustus/config/species/galdieria/galdieria_igenic_probs.pbl
+augustus/config/species/galdieria/galdieria_intron_probs.pbl
+augustus/config/species/galdieria/galdieria_metapars.cfg
+augustus/config/species/galdieria/galdieria_parameters.cfg
+augustus/config/species/galdieria/galdieria_splicefile
+augustus/config/species/galdieria/galdieria_trans_shadow_partial_utr.pbl
+augustus/config/species/galdieria/galdieria_utr_probs.pbl
+augustus/config/species/galdieria/galdieria_weightmatrix.txt
+augustus/config/species/generic/generic_metapars.cfg
+augustus/config/species/generic/generic_metapars.cgp.cfg
+augustus/config/species/generic/generic_metapars.utr.cfg
+augustus/config/species/generic/generic_parameters.cfg
+augustus/config/species/generic/generic_weightmatrix.txt
+augustus/config/species/gigaspora_margarita/README.TXT
+augustus/config/species/gigaspora_margarita/gigaspora_margarita_exon_probs.pbl
+augustus/config/species/gigaspora_margarita/gigaspora_margarita_igenic_probs.pbl
+augustus/config/species/gigaspora_margarita/gigaspora_margarita_intron_probs.pbl
+augustus/config/species/gigaspora_margarita/gigaspora_margarita_metapars.cfg
+augustus/config/species/gigaspora_margarita/gigaspora_margarita_metapars.cgp.cfg
+augustus/config/species/gigaspora_margarita/gigaspora_margarita_metapars.utr.cfg
+augustus/config/species/gigaspora_margarita/gigaspora_margarita_parameters.cfg
+augustus/config/species/gigaspora_margarita/gigaspora_margarita_weightmatrix.txt
+augustus/config/species/gigaspora_margarita/gth.cfg
+augustus/config/species/heliconius_melpomene1/heliconius_melpomene1_exon_probs.pbl
+augustus/config/species/heliconius_melpomene1/heliconius_melpomene1_igenic_probs.pbl
+augustus/config/species/heliconius_melpomene1/heliconius_melpomene1_intron_probs.pbl
+augustus/config/species/heliconius_melpomene1/heliconius_melpomene1_metapars.cfg
+augustus/config/species/heliconius_melpomene1/heliconius_melpomene1_metapars.utr.cfg
+augustus/config/species/heliconius_melpomene1/heliconius_melpomene1_parameters.cfg
+augustus/config/species/heliconius_melpomene1/heliconius_melpomene1_weightmatrix.txt
+augustus/config/species/histoplasma/histoplasma_exon_probs.pbl
+augustus/config/species/histoplasma/histoplasma_igenic_probs.pbl
+augustus/config/species/histoplasma/histoplasma_intron_probs.pbl
+augustus/config/species/histoplasma/histoplasma_parameters.cfg
+augustus/config/species/histoplasma/histoplasma_weightmatrix.txt
+augustus/config/species/histoplasma_capsulatum/histoplasma_capsulatum_exon_probs.pbl
+augustus/config/species/histoplasma_capsulatum/histoplasma_capsulatum_igenic_probs.pbl
+augustus/config/species/histoplasma_capsulatum/histoplasma_capsulatum_intron_probs.pbl
+augustus/config/species/histoplasma_capsulatum/histoplasma_capsulatum_metapars.cfg
+augustus/config/species/histoplasma_capsulatum/histoplasma_capsulatum_parameters.cfg
+augustus/config/species/histoplasma_capsulatum/histoplasma_capsulatum_weightmatrix.txt
+augustus/config/species/honeybee1/honeybee1_exon_probs.pbl
+augustus/config/species/honeybee1/honeybee1_exon_probs.pbl.withoutCRF
+augustus/config/species/honeybee1/honeybee1_igenic_probs.pbl
+augustus/config/species/honeybee1/honeybee1_igenic_probs.pbl.withoutCRF
+augustus/config/species/honeybee1/honeybee1_intron_probs.pbl
+augustus/config/species/honeybee1/honeybee1_intron_probs.pbl.withoutCRF
+augustus/config/species/honeybee1/honeybee1_metapars.cfg
+augustus/config/species/honeybee1/honeybee1_metapars.utr.cfg
+augustus/config/species/honeybee1/honeybee1_parameters.cfg
+augustus/config/species/honeybee1/honeybee1_parameters.cfg.orig1
+augustus/config/species/honeybee1/honeybee1_utr_probs.pbl
+augustus/config/species/honeybee1/honeybee1_weightmatrix.txt
+augustus/config/species/human/README.TXT
+augustus/config/species/human/human_exon_probs.pbl
+augustus/config/species/human/human_igenic_probs.pbl
+augustus/config/species/human/human_intron_probs.pbl
+augustus/config/species/human/human_parameters.cfg
+augustus/config/species/human/human_trans_shadow_partial_utr.pbl
+augustus/config/species/human/human_utr_probs.pbl
+augustus/config/species/human/human_weightmatrix.txt
+augustus/config/species/hymenolepis_microstoma/hymenolepis_microstoma_exon_probs.pbl
+augustus/config/species/hymenolepis_microstoma/hymenolepis_microstoma_igenic_probs.pbl
+augustus/config/species/hymenolepis_microstoma/hymenolepis_microstoma_intron_probs.pbl
+augustus/config/species/hymenolepis_microstoma/hymenolepis_microstoma_metapars.cfg
+augustus/config/species/hymenolepis_microstoma/hymenolepis_microstoma_metapars.cgp.cfg
+augustus/config/species/hymenolepis_microstoma/hymenolepis_microstoma_metapars.utr.cfg
+augustus/config/species/hymenolepis_microstoma/hymenolepis_microstoma_parameters.cfg
+augustus/config/species/hymenolepis_microstoma/hymenolepis_microstoma_weightmatrix.txt
+augustus/config/species/hymenolepis_microstoma/make.doc
+augustus/config/species/japaneselamprey/japaneselamprey_exon_probs.pbl
+augustus/config/species/japaneselamprey/japaneselamprey_igenic_probs.pbl
+augustus/config/species/japaneselamprey/japaneselamprey_intron_probs.pbl
+augustus/config/species/japaneselamprey/japaneselamprey_metapars.cfg
+augustus/config/species/japaneselamprey/japaneselamprey_metapars.utr.cfg
+augustus/config/species/japaneselamprey/japaneselamprey_parameters.cfg
+augustus/config/species/japaneselamprey/japaneselamprey_weightmatrix.txt
+augustus/config/species/kluyveromyces_lactis/kluyveromyces_lactis_exon_probs.pbl
+augustus/config/species/kluyveromyces_lactis/kluyveromyces_lactis_igenic_probs.pbl
+augustus/config/species/kluyveromyces_lactis/kluyveromyces_lactis_intron_probs.pbl
+augustus/config/species/kluyveromyces_lactis/kluyveromyces_lactis_metapars.cfg
+augustus/config/species/kluyveromyces_lactis/kluyveromyces_lactis_parameters.cfg
+augustus/config/species/kluyveromyces_lactis/kluyveromyces_lactis_weightmatrix.txt
+augustus/config/species/laccaria_bicolor/laccaria_bicolor_exon_probs.pbl
+augustus/config/species/laccaria_bicolor/laccaria_bicolor_igenic_probs.pbl
+augustus/config/species/laccaria_bicolor/laccaria_bicolor_intron_probs.pbl
+augustus/config/species/laccaria_bicolor/laccaria_bicolor_metapars.cfg
+augustus/config/species/laccaria_bicolor/laccaria_bicolor_parameters.cfg
+augustus/config/species/laccaria_bicolor/laccaria_bicolor_weightmatrix.txt
+augustus/config/species/leishmania_tarentolae/leishmania_tarentolae_exon_probs.pbl
+augustus/config/species/leishmania_tarentolae/leishmania_tarentolae_igenic_probs.pbl
+augustus/config/species/leishmania_tarentolae/leishmania_tarentolae_metapars.cfg
+augustus/config/species/leishmania_tarentolae/leishmania_tarentolae_metapars.utr.cfg
+augustus/config/species/leishmania_tarentolae/leishmania_tarentolae_parameters.cfg
+augustus/config/species/leishmania_tarentolae/leishmania_tarentolae_weightmatrix.txt
+augustus/config/species/lodderomyces_elongisporus/lodderomyces_elongisporus_exon_probs.pbl
+augustus/config/species/lodderomyces_elongisporus/lodderomyces_elongisporus_igenic_probs.pbl
+augustus/config/species/lodderomyces_elongisporus/lodderomyces_elongisporus_intron_probs.pbl
+augustus/config/species/lodderomyces_elongisporus/lodderomyces_elongisporus_metapars.cfg
+augustus/config/species/lodderomyces_elongisporus/lodderomyces_elongisporus_parameters.cfg
+augustus/config/species/lodderomyces_elongisporus/lodderomyces_elongisporus_weightmatrix.txt
+augustus/config/species/magnaporthe_grisea/magnaporthe_grisea_exon_probs.pbl
+augustus/config/species/magnaporthe_grisea/magnaporthe_grisea_igenic_probs.pbl
+augustus/config/species/magnaporthe_grisea/magnaporthe_grisea_intron_probs.pbl
+augustus/config/species/magnaporthe_grisea/magnaporthe_grisea_metapars.cfg
+augustus/config/species/magnaporthe_grisea/magnaporthe_grisea_parameters.cfg
+augustus/config/species/magnaporthe_grisea/magnaporthe_grisea_weightmatrix.txt
+augustus/config/species/maize/maize_exon_probs.pbl
+augustus/config/species/maize/maize_igenic_probs.pbl
+augustus/config/species/maize/maize_intron_probs.pbl
+augustus/config/species/maize/maize_metapars.cfg
+augustus/config/species/maize/maize_parameters.cfg
+augustus/config/species/maize/maize_splicefile.txt.gz
+augustus/config/species/maize/maize_weightmatrix.txt
+augustus/config/species/maize5/maize5_exon_probs.pbl
+augustus/config/species/maize5/maize5_igenic_probs.pbl
+augustus/config/species/maize5/maize5_intron_probs.pbl
+augustus/config/species/maize5/maize5_metapars.cfg
+augustus/config/species/maize5/maize5_metapars.utr.cfg
+augustus/config/species/maize5/maize5_parameters.cfg
+augustus/config/species/maize5/maize5_utr_probs.pbl
+augustus/config/species/maize5/maize5_weightmatrix.txt
+augustus/config/species/mnemiopsis_leidyi/README.TXT
+augustus/config/species/mnemiopsis_leidyi/mnemiopsis_leidyi_exon_probs.pbl
+augustus/config/species/mnemiopsis_leidyi/mnemiopsis_leidyi_igenic_probs.pbl
+augustus/config/species/mnemiopsis_leidyi/mnemiopsis_leidyi_intron_probs.pbl
+augustus/config/species/mnemiopsis_leidyi/mnemiopsis_leidyi_metapars.cfg
+augustus/config/species/mnemiopsis_leidyi/mnemiopsis_leidyi_metapars.cgp.cfg
+augustus/config/species/mnemiopsis_leidyi/mnemiopsis_leidyi_metapars.utr.cfg
+augustus/config/species/mnemiopsis_leidyi/mnemiopsis_leidyi_parameters.cfg
+augustus/config/species/mnemiopsis_leidyi/mnemiopsis_leidyi_parameters.cgp.cfg
+augustus/config/species/mnemiopsis_leidyi/mnemiopsis_leidyi_utr_probs.pbl
+augustus/config/species/mnemiopsis_leidyi/mnemiopsis_leidyi_weightmatrix.txt
+augustus/config/species/nasonia/nasonia_exon_probs.pbl
+augustus/config/species/nasonia/nasonia_igenic_probs.pbl
+augustus/config/species/nasonia/nasonia_intron_probs.pbl
+augustus/config/species/nasonia/nasonia_metapars.cfg
+augustus/config/species/nasonia/nasonia_parameters.cfg
+augustus/config/species/nasonia/nasonia_weightmatrix.txt
+augustus/config/species/nematostella_vectensis/README.TXT
+augustus/config/species/nematostella_vectensis/nematostella_vectensis_exon_probs.pbl
+augustus/config/species/nematostella_vectensis/nematostella_vectensis_igenic_probs.pbl
+augustus/config/species/nematostella_vectensis/nematostella_vectensis_intron_probs.pbl
+augustus/config/species/nematostella_vectensis/nematostella_vectensis_parameters.cfg
+augustus/config/species/nematostella_vectensis/nematostella_vectensis_weightmatrix.txt
+augustus/config/species/neurospora/neurospora_exon_probs.pbl
+augustus/config/species/neurospora/neurospora_igenic_probs.pbl
+augustus/config/species/neurospora/neurospora_intron_probs.pbl
+augustus/config/species/neurospora/neurospora_parameters.cfg
+augustus/config/species/neurospora/neurospora_weightmatrix.txt
+augustus/config/species/neurospora_crassa/neurospora_crassa_exon_probs.pbl
+augustus/config/species/neurospora_crassa/neurospora_crassa_igenic_probs.pbl
+augustus/config/species/neurospora_crassa/neurospora_crassa_intron_probs.pbl
+augustus/config/species/neurospora_crassa/neurospora_crassa_metapars.cfg
+augustus/config/species/neurospora_crassa/neurospora_crassa_parameters.cfg
+augustus/config/species/neurospora_crassa/neurospora_crassa_weightmatrix.txt
+augustus/config/species/parasteatoda/parasteatoda_exon_probs.pbl
+augustus/config/species/parasteatoda/parasteatoda_igenic_probs.pbl
+augustus/config/species/parasteatoda/parasteatoda_intron_probs.pbl
+augustus/config/species/parasteatoda/parasteatoda_parameters.cfg
+augustus/config/species/parasteatoda/parasteatoda_utr_probs.pbl
+augustus/config/species/parasteatoda/parasteatoda_weightmatrix.txt
+augustus/config/species/pchrysosporium/pchrysosporium_exon_probs.pbl
+augustus/config/species/pchrysosporium/pchrysosporium_igenic_probs.pbl
+augustus/config/species/pchrysosporium/pchrysosporium_intron_probs.pbl
+augustus/config/species/pchrysosporium/pchrysosporium_parameters.cfg
+augustus/config/species/pchrysosporium/pchrysosporium_weightmatrix.txt
+augustus/config/species/pea_aphid/pea_aphid_exon_probs.pbl
+augustus/config/species/pea_aphid/pea_aphid_igenic_probs.pbl
+augustus/config/species/pea_aphid/pea_aphid_intron_probs.pbl
+augustus/config/species/pea_aphid/pea_aphid_metapars.cfg
+augustus/config/species/pea_aphid/pea_aphid_parameters.cfg
+augustus/config/species/pea_aphid/pea_aphid_trans_shadow_partial_utr.pbl
+augustus/config/species/pea_aphid/pea_aphid_utr_probs.pbl
+augustus/config/species/pea_aphid/pea_aphid_weightmatrix.txt
+augustus/config/species/pfalciparum/pfalciparum_exon_probs.pbl
+augustus/config/species/pfalciparum/pfalciparum_igenic_probs.pbl
+augustus/config/species/pfalciparum/pfalciparum_intron_probs.pbl
+augustus/config/species/pfalciparum/pfalciparum_metapars.cfg
+augustus/config/species/pfalciparum/pfalciparum_parameters.cfg
+augustus/config/species/pfalciparum/pfalciparum_trans_shadow_partial.pbl
+augustus/config/species/pfalciparum/pfalciparum_weightmatrix.txt
+augustus/config/species/phanerochaete_chrysosporium/phanerochaete_chrysosporium_exon_probs.pbl
+augustus/config/species/phanerochaete_chrysosporium/phanerochaete_chrysosporium_igenic_probs.pbl
+augustus/config/species/phanerochaete_chrysosporium/phanerochaete_chrysosporium_intron_probs.pbl
+augustus/config/species/phanerochaete_chrysosporium/phanerochaete_chrysosporium_metapars.cfg
+augustus/config/species/phanerochaete_chrysosporium/phanerochaete_chrysosporium_parameters.cfg
+augustus/config/species/phanerochaete_chrysosporium/phanerochaete_chrysosporium_weightmatrix.txt
+augustus/config/species/pichia_stipitis/pichia_stipitis_exon_probs.pbl
+augustus/config/species/pichia_stipitis/pichia_stipitis_igenic_probs.pbl
+augustus/config/species/pichia_stipitis/pichia_stipitis_intron_probs.pbl
+augustus/config/species/pichia_stipitis/pichia_stipitis_metapars.cfg
+augustus/config/species/pichia_stipitis/pichia_stipitis_parameters.cfg
+augustus/config/species/pichia_stipitis/pichia_stipitis_weightmatrix.txt
+augustus/config/species/pisaster/extrinsic.pisaster.cfg
+augustus/config/species/pisaster/pisaster_exon_probs.pbl
+augustus/config/species/pisaster/pisaster_igenic_probs.pbl
+augustus/config/species/pisaster/pisaster_intron_probs.pbl
+augustus/config/species/pisaster/pisaster_metapars.cfg
+augustus/config/species/pisaster/pisaster_metapars.cgp.cfg
+augustus/config/species/pisaster/pisaster_metapars.utr.cfg
+augustus/config/species/pisaster/pisaster_parameters.cfg
+augustus/config/species/pisaster/pisaster_weightmatrix.txt
+augustus/config/species/pneumocystis/README.TXT
+augustus/config/species/pneumocystis/pneumocystis_exon_probs.pbl
+augustus/config/species/pneumocystis/pneumocystis_igenic_probs.pbl
+augustus/config/species/pneumocystis/pneumocystis_intron_probs.pbl
+augustus/config/species/pneumocystis/pneumocystis_metapars.cfg
+augustus/config/species/pneumocystis/pneumocystis_metaparsBAK.cfg
+augustus/config/species/pneumocystis/pneumocystis_parameters.cfg
+augustus/config/species/pneumocystis/pneumocystis_weightmatrix.txt
+augustus/config/species/rhincodon/rhincodon_exon_probs.pbl
+augustus/config/species/rhincodon/rhincodon_igenic_probs.pbl
+augustus/config/species/rhincodon/rhincodon_intron_probs.pbl
+augustus/config/species/rhincodon/rhincodon_metapars.cfg
+augustus/config/species/rhincodon/rhincodon_metapars.cgp.cfg
+augustus/config/species/rhincodon/rhincodon_metapars.utr.cfg
+augustus/config/species/rhincodon/rhincodon_parameters.cfg
+augustus/config/species/rhincodon/rhincodon_parameters.cfg.orig1
+augustus/config/species/rhincodon/rhincodon_weightmatrix.txt
+augustus/config/species/rhizopus_oryzae/rhizopus_oryzae_exon_probs.pbl
+augustus/config/species/rhizopus_oryzae/rhizopus_oryzae_igenic_probs.pbl
+augustus/config/species/rhizopus_oryzae/rhizopus_oryzae_intron_probs.pbl
+augustus/config/species/rhizopus_oryzae/rhizopus_oryzae_metapars.cfg
+augustus/config/species/rhizopus_oryzae/rhizopus_oryzae_parameters.cfg
+augustus/config/species/rhizopus_oryzae/rhizopus_oryzae_weightmatrix.txt
+augustus/config/species/rhodnius/rhodnius_exon_probs.pbl
+augustus/config/species/rhodnius/rhodnius_igenic_probs.pbl
+augustus/config/species/rhodnius/rhodnius_intron_probs.pbl
+augustus/config/species/rhodnius/rhodnius_metapars.cfg
+augustus/config/species/rhodnius/rhodnius_metapars.utr.cfg
+augustus/config/species/rhodnius/rhodnius_parameters.cfg
+augustus/config/species/rhodnius/rhodnius_utr_probs.pbl
+augustus/config/species/rhodnius/rhodnius_weightmatrix.txt
+augustus/config/species/rice/README.TXT
+augustus/config/species/rice/rice_exon_probs.pbl
+augustus/config/species/rice/rice_igenic_probs.pbl
+augustus/config/species/rice/rice_intron_probs.pbl
+augustus/config/species/rice/rice_metapars.cfg
+augustus/config/species/rice/rice_metapars.utr.cfg
+augustus/config/species/rice/rice_parameters.cfg
+augustus/config/species/rice/rice_utr_probs.pbl
+augustus/config/species/rice/rice_weightmatrix.txt
+augustus/config/species/s_aureus/README.TXT
+augustus/config/species/s_aureus/s_aureus_exon_probs.pbl
+augustus/config/species/s_aureus/s_aureus_igenic_probs.pbl
+augustus/config/species/s_aureus/s_aureus_metapars.cfg
+augustus/config/species/s_aureus/s_aureus_metapars.utr.cfg
+augustus/config/species/s_aureus/s_aureus_ovlp_len.pbl
+augustus/config/species/s_aureus/s_aureus_parameters.cfg
+augustus/config/species/s_aureus/s_aureus_parameters.cgp.cfg
+augustus/config/species/s_aureus/s_aureus_trans_shadow_bacterium.pbl
+augustus/config/species/s_aureus/s_aureus_weightmatrix.txt
+augustus/config/species/s_pneumoniae/s_pneumoniae_exon_probs.pbl
+augustus/config/species/s_pneumoniae/s_pneumoniae_igenic_probs.pbl
+augustus/config/species/s_pneumoniae/s_pneumoniae_metapars.cfg
+augustus/config/species/s_pneumoniae/s_pneumoniae_metapars.utr.cfg
+augustus/config/species/s_pneumoniae/s_pneumoniae_ovlp_len.pbl
+augustus/config/species/s_pneumoniae/s_pneumoniae_parameters.cfg
+augustus/config/species/s_pneumoniae/s_pneumoniae_parameters.cfg.orig1
+augustus/config/species/s_pneumoniae/s_pneumoniae_parameters.cfg.orig2
+augustus/config/species/s_pneumoniae/s_pneumoniae_parameters.cfg.orig3
+augustus/config/species/s_pneumoniae/s_pneumoniae_parameters.cfg.orig4
+augustus/config/species/s_pneumoniae/s_pneumoniae_trans_shadow_bacterium.pbl
+augustus/config/species/s_pneumoniae/s_pneumoniae_weightmatrix.txt
+augustus/config/species/saccharomyces/saccharomyces_exon_probs.pbl
+augustus/config/species/saccharomyces/saccharomyces_igenic_probs.pbl
+augustus/config/species/saccharomyces/saccharomyces_intron_probs.pbl
+augustus/config/species/saccharomyces/saccharomyces_parameters.cfg
+augustus/config/species/saccharomyces/saccharomyces_weightmatrix.txt
+augustus/config/species/saccharomyces_cerevisiae_S288C/saccharomyces_cerevisiae_S288C_exon_probs.pbl
+augustus/config/species/saccharomyces_cerevisiae_S288C/saccharomyces_cerevisiae_S288C_igenic_probs.pbl
+augustus/config/species/saccharomyces_cerevisiae_S288C/saccharomyces_cerevisiae_S288C_intron_probs.pbl
+augustus/config/species/saccharomyces_cerevisiae_S288C/saccharomyces_cerevisiae_S288C_metapars.cfg
+augustus/config/species/saccharomyces_cerevisiae_S288C/saccharomyces_cerevisiae_S288C_parameters.cfg
+augustus/config/species/saccharomyces_cerevisiae_S288C/saccharomyces_cerevisiae_S288C_weightmatrix.txt
+augustus/config/species/saccharomyces_cerevisiae_rm11-1a_1/saccharomyces_cerevisiae_rm11-1a_1_exon_probs.pbl
+augustus/config/species/saccharomyces_cerevisiae_rm11-1a_1/saccharomyces_cerevisiae_rm11-1a_1_igenic_probs.pbl
+augustus/config/species/saccharomyces_cerevisiae_rm11-1a_1/saccharomyces_cerevisiae_rm11-1a_1_intron_probs.pbl
+augustus/config/species/saccharomyces_cerevisiae_rm11-1a_1/saccharomyces_cerevisiae_rm11-1a_1_metapars.cfg
+augustus/config/species/saccharomyces_cerevisiae_rm11-1a_1/saccharomyces_cerevisiae_rm11-1a_1_parameters.cfg
+augustus/config/species/saccharomyces_cerevisiae_rm11-1a_1/saccharomyces_cerevisiae_rm11-1a_1_weightmatrix.txt
+augustus/config/species/schistosoma/schistosoma_exon_probs.pbl
+augustus/config/species/schistosoma/schistosoma_igenic_probs.pbl
+augustus/config/species/schistosoma/schistosoma_intron_probs.pbl
+augustus/config/species/schistosoma/schistosoma_metapars.cfg
+augustus/config/species/schistosoma/schistosoma_parameters.cfg
+augustus/config/species/schistosoma/schistosoma_parameters.cfg.opt
+augustus/config/species/schistosoma/schistosoma_splicefile.txt
+augustus/config/species/schistosoma/schistosoma_weightmatrix.txt
+augustus/config/species/schistosoma2/README.TXT
+augustus/config/species/schistosoma2/schistosoma2_exon_probs.pbl
+augustus/config/species/schistosoma2/schistosoma2_igenic_probs.pbl
+augustus/config/species/schistosoma2/schistosoma2_intron_probs.pbl
+augustus/config/species/schistosoma2/schistosoma2_metapars.cfg
+augustus/config/species/schistosoma2/schistosoma2_metapars.cgp.cfg
+augustus/config/species/schistosoma2/schistosoma2_metapars.utr.cfg
+augustus/config/species/schistosoma2/schistosoma2_parameters.cfg
+augustus/config/species/schistosoma2/schistosoma2_utr_probs.pbl
+augustus/config/species/schistosoma2/schistosoma2_weightmatrix.txt
+augustus/config/species/schizosaccharomyces_pombe/schizosaccharomyces_pombe_exon_probs.pbl
+augustus/config/species/schizosaccharomyces_pombe/schizosaccharomyces_pombe_igenic_probs.pbl
+augustus/config/species/schizosaccharomyces_pombe/schizosaccharomyces_pombe_intron_probs.pbl
+augustus/config/species/schizosaccharomyces_pombe/schizosaccharomyces_pombe_metapars.cfg
+augustus/config/species/schizosaccharomyces_pombe/schizosaccharomyces_pombe_parameters.cfg
+augustus/config/species/schizosaccharomyces_pombe/schizosaccharomyces_pombe_weightmatrix.txt
+augustus/config/species/scyliorhinus/scyliorhinus_exon_probs.pbl
+augustus/config/species/scyliorhinus/scyliorhinus_igenic_probs.pbl
+augustus/config/species/scyliorhinus/scyliorhinus_intron_probs.pbl
+augustus/config/species/scyliorhinus/scyliorhinus_metapars.cfg
+augustus/config/species/scyliorhinus/scyliorhinus_metapars.cgp.cfg
+augustus/config/species/scyliorhinus/scyliorhinus_metapars.utr.cfg
+augustus/config/species/scyliorhinus/scyliorhinus_parameters.cfg
+augustus/config/species/scyliorhinus/scyliorhinus_parameters.cfg.orig1
+augustus/config/species/scyliorhinus/scyliorhinus_weightmatrix.txt
+augustus/config/species/sealamprey/sealamprey_exon_probs.pbl
+augustus/config/species/sealamprey/sealamprey_igenic_probs.pbl
+augustus/config/species/sealamprey/sealamprey_intron_probs.pbl
+augustus/config/species/sealamprey/sealamprey_metapars.cfg
+augustus/config/species/sealamprey/sealamprey_parameters.cfg
+augustus/config/species/sealamprey/sealamprey_weightmatrix.txt
+augustus/config/species/strongylocentrotus_purpuratus/README.TXT
+augustus/config/species/strongylocentrotus_purpuratus/strongylocentrotus_purpuratus_exon_probs.pbl
+augustus/config/species/strongylocentrotus_purpuratus/strongylocentrotus_purpuratus_igenic_probs.pbl
+augustus/config/species/strongylocentrotus_purpuratus/strongylocentrotus_purpuratus_intron_probs.pbl
+augustus/config/species/strongylocentrotus_purpuratus/strongylocentrotus_purpuratus_metapars.cfg
+augustus/config/species/strongylocentrotus_purpuratus/strongylocentrotus_purpuratus_metapars.cgp.cfg
+augustus/config/species/strongylocentrotus_purpuratus/strongylocentrotus_purpuratus_metapars.utr.cfg
+augustus/config/species/strongylocentrotus_purpuratus/strongylocentrotus_purpuratus_parameters.cfg
+augustus/config/species/strongylocentrotus_purpuratus/strongylocentrotus_purpuratus_parameters.cgp.cfg
+augustus/config/species/strongylocentrotus_purpuratus/strongylocentrotus_purpuratus_utr_probs.pbl
+augustus/config/species/strongylocentrotus_purpuratus/strongylocentrotus_purpuratus_weightmatrix.txt
+augustus/config/species/sulfolobus_solfataricus/sulfolobus_solfataricus_exon_probs.pbl
+augustus/config/species/sulfolobus_solfataricus/sulfolobus_solfataricus_igenic_probs.pbl
+augustus/config/species/sulfolobus_solfataricus/sulfolobus_solfataricus_metapars.cfg
+augustus/config/species/sulfolobus_solfataricus/sulfolobus_solfataricus_metapars.utr.cfg
+augustus/config/species/sulfolobus_solfataricus/sulfolobus_solfataricus_ovlp_len.pbl
+augustus/config/species/sulfolobus_solfataricus/sulfolobus_solfataricus_parameters.cfg
+augustus/config/species/sulfolobus_solfataricus/sulfolobus_solfataricus_trans_shadow_bacterium.pbl
+augustus/config/species/sulfolobus_solfataricus/sulfolobus_solfataricus_weightmatrix.txt
+augustus/config/species/sunflower/README.TXT
+augustus/config/species/sunflower/sunflower_exon_probs.pbl
+augustus/config/species/sunflower/sunflower_igenic_probs.pbl
+augustus/config/species/sunflower/sunflower_intron_probs.pbl
+augustus/config/species/sunflower/sunflower_metapars.cfg
+augustus/config/species/sunflower/sunflower_metapars.cgp.cfg
+augustus/config/species/sunflower/sunflower_metapars.utr.cfg
+augustus/config/species/sunflower/sunflower_parameters.cfg
+augustus/config/species/sunflower/sunflower_weightmatrix.txt
+augustus/config/species/template_prokaryotic/template_prokaryotic_metapars.cfg
+augustus/config/species/template_prokaryotic/template_prokaryotic_metapars.utr.cfg
+augustus/config/species/template_prokaryotic/template_prokaryotic_ovlp_len.pbl
+augustus/config/species/template_prokaryotic/template_prokaryotic_parameters.cfg
+augustus/config/species/template_prokaryotic/template_prokaryotic_trans_shadow_bacterium.pbl
+augustus/config/species/template_prokaryotic/template_prokaryotic_weightmatrix.txt
+augustus/config/species/tetrahymena/tetrahymena_exon_probs.pbl
+augustus/config/species/tetrahymena/tetrahymena_igenic_probs.pbl
+augustus/config/species/tetrahymena/tetrahymena_intron_probs.pbl
+augustus/config/species/tetrahymena/tetrahymena_metapars.cfg
+augustus/config/species/tetrahymena/tetrahymena_parameters.cfg
+augustus/config/species/tetrahymena/tetrahymena_weightmatrix.txt
+augustus/config/species/thermoanaerobacter_tengcongensis/thermoanaerobacter_tengcongensis_exon_probs.pbl
+augustus/config/species/thermoanaerobacter_tengcongensis/thermoanaerobacter_tengcongensis_igenic_probs.pbl
+augustus/config/species/thermoanaerobacter_tengcongensis/thermoanaerobacter_tengcongensis_metapars.cfg
+augustus/config/species/thermoanaerobacter_tengcongensis/thermoanaerobacter_tengcongensis_metapars.utr.cfg
+augustus/config/species/thermoanaerobacter_tengcongensis/thermoanaerobacter_tengcongensis_ovlp_len.pbl
+augustus/config/species/thermoanaerobacter_tengcongensis/thermoanaerobacter_tengcongensis_parameters.cfg
+augustus/config/species/thermoanaerobacter_tengcongensis/thermoanaerobacter_tengcongensis_trans_shadow_bacterium.pbl
+augustus/config/species/thermoanaerobacter_tengcongensis/thermoanaerobacter_tengcongensis_weightmatrix.txt
+augustus/config/species/tomato/tomato_exon_probs.pbl
+augustus/config/species/tomato/tomato_igenic_probs.pbl
+augustus/config/species/tomato/tomato_intron_probs.pbl
+augustus/config/species/tomato/tomato_metapars.cfg
+augustus/config/species/tomato/tomato_metapars.utr.cfg
+augustus/config/species/tomato/tomato_parameters.cfg
+augustus/config/species/tomato/tomato_utr_probs.pbl
+augustus/config/species/tomato/tomato_weightmatrix.txt
+augustus/config/species/toxoplasma/toxoplasma_exon_probs.pbl
+augustus/config/species/toxoplasma/toxoplasma_igenic_probs.pbl
+augustus/config/species/toxoplasma/toxoplasma_intron_probs.pbl
+augustus/config/species/toxoplasma/toxoplasma_metaparameters.cfg
+augustus/config/species/toxoplasma/toxoplasma_parameters.cfg
+augustus/config/species/toxoplasma/toxoplasma_trans_shadow_partial_utr.pbl
+augustus/config/species/toxoplasma/toxoplasma_utr_probs.pbl
+augustus/config/species/toxoplasma/toxoplasma_weightmatrix.txt
+augustus/config/species/tribolium2012/tribolium2012_exon_probs.pbl
+augustus/config/species/tribolium2012/tribolium2012_exon_probs.pbl.HMM
+augustus/config/species/tribolium2012/tribolium2012_exon_probs.pbl1
+augustus/config/species/tribolium2012/tribolium2012_exon_probs.pbl2
+augustus/config/species/tribolium2012/tribolium2012_exon_probs.pbl3
+augustus/config/species/tribolium2012/tribolium2012_exon_probs.pbl4
+augustus/config/species/tribolium2012/tribolium2012_igenic_probs.pbl
+augustus/config/species/tribolium2012/tribolium2012_igenic_probs.pbl.HMM
+augustus/config/species/tribolium2012/tribolium2012_igenic_probs.pbl1
+augustus/config/species/tribolium2012/tribolium2012_igenic_probs.pbl2
+augustus/config/species/tribolium2012/tribolium2012_igenic_probs.pbl3
+augustus/config/species/tribolium2012/tribolium2012_igenic_probs.pbl4
+augustus/config/species/tribolium2012/tribolium2012_intron_probs.pbl
+augustus/config/species/tribolium2012/tribolium2012_intron_probs.pbl.HMM
+augustus/config/species/tribolium2012/tribolium2012_intron_probs.pbl1
+augustus/config/species/tribolium2012/tribolium2012_intron_probs.pbl2
+augustus/config/species/tribolium2012/tribolium2012_intron_probs.pbl3
+augustus/config/species/tribolium2012/tribolium2012_intron_probs.pbl4
+augustus/config/species/tribolium2012/tribolium2012_metapars.cfg
+augustus/config/species/tribolium2012/tribolium2012_metapars.utr.cfg
+augustus/config/species/tribolium2012/tribolium2012_parameters.cfg
+augustus/config/species/tribolium2012/tribolium2012_parameters.cfg.orig1
+augustus/config/species/tribolium2012/tribolium2012_parameters.cfg.orig2
+augustus/config/species/tribolium2012/tribolium2012_parameters.cfg.orig3
+augustus/config/species/tribolium2012/tribolium2012_parameters.cfg.orig4
+augustus/config/species/tribolium2012/tribolium2012_parameters.cfg.orig5
+augustus/config/species/tribolium2012/tribolium2012_parameters.cfg.orig6
+augustus/config/species/tribolium2012/tribolium2012_parameters.cfg.orig7
+augustus/config/species/tribolium2012/tribolium2012_trans_shadow_partial_utr.pbl
+augustus/config/species/tribolium2012/tribolium2012_utr_probs.pbl
+augustus/config/species/tribolium2012/tribolium2012_utr_probs.pbl.HMM
+augustus/config/species/tribolium2012/tribolium2012_weightmatrix.txt
+augustus/config/species/trichinella/trichinella_exon_probs.pbl
+augustus/config/species/trichinella/trichinella_igenic_probs.pbl
+augustus/config/species/trichinella/trichinella_intron_probs.pbl
+augustus/config/species/trichinella/trichinella_metapars.cfg
+augustus/config/species/trichinella/trichinella_metapars.utr.cfg
+augustus/config/species/trichinella/trichinella_parameters.cfg
+augustus/config/species/trichinella/trichinella_utr_probs.pbl
+augustus/config/species/trichinella/trichinella_weightmatrix.txt
+augustus/config/species/ustilago/ustilago_exon_probs.pbl
+augustus/config/species/ustilago/ustilago_igenic_probs.pbl
+augustus/config/species/ustilago/ustilago_intron_probs.pbl
+augustus/config/species/ustilago/ustilago_parameters.cfg
+augustus/config/species/ustilago/ustilago_weightmatrix.txt
+augustus/config/species/ustilago_maydis/ustilago_maydis_exon_probs.pbl
+augustus/config/species/ustilago_maydis/ustilago_maydis_igenic_probs.pbl
+augustus/config/species/ustilago_maydis/ustilago_maydis_intron_probs.pbl
+augustus/config/species/ustilago_maydis/ustilago_maydis_metapars.cfg
+augustus/config/species/ustilago_maydis/ustilago_maydis_parameters.cfg
+augustus/config/species/ustilago_maydis/ustilago_maydis_weightmatrix.txt
+augustus/config/species/verticillium_albo_atrum1/verticillium_albo_atrum1_exon_probs.pbl
+augustus/config/species/verticillium_albo_atrum1/verticillium_albo_atrum1_igenic_probs.pbl
+augustus/config/species/verticillium_albo_atrum1/verticillium_albo_atrum1_intron_probs.pbl
+augustus/config/species/verticillium_albo_atrum1/verticillium_albo_atrum1_metapars.cfg
+augustus/config/species/verticillium_albo_atrum1/verticillium_albo_atrum1_metapars.utr.cfg
+augustus/config/species/verticillium_albo_atrum1/verticillium_albo_atrum1_parameters.cfg
+augustus/config/species/verticillium_albo_atrum1/verticillium_albo_atrum1_utr_probs.pbl
+augustus/config/species/verticillium_albo_atrum1/verticillium_albo_atrum1_weightmatrix.txt
+augustus/config/species/verticillium_longisporum1/verticillium_longisporum1_exon_probs.pbl
+augustus/config/species/verticillium_longisporum1/verticillium_longisporum1_igenic_probs.pbl
+augustus/config/species/verticillium_longisporum1/verticillium_longisporum1_intron_probs.pbl
+augustus/config/species/verticillium_longisporum1/verticillium_longisporum1_metapars.cfg
+augustus/config/species/verticillium_longisporum1/verticillium_longisporum1_metapars.utr.cfg
+augustus/config/species/verticillium_longisporum1/verticillium_longisporum1_parameters.cfg
+augustus/config/species/verticillium_longisporum1/verticillium_longisporum1_parameters.cfg.orig1
+augustus/config/species/verticillium_longisporum1/verticillium_longisporum1_utr_probs.pbl
+augustus/config/species/verticillium_longisporum1/verticillium_longisporum1_weightmatrix.txt
+augustus/config/species/volvox/volvox_exon_probs.pbl
+augustus/config/species/volvox/volvox_igenic_probs.pbl
+augustus/config/species/volvox/volvox_intron_probs.pbl
+augustus/config/species/volvox/volvox_metapars.cfg
+augustus/config/species/volvox/volvox_metapars.cgp.cfg
+augustus/config/species/volvox/volvox_metapars.utr.cfg
+augustus/config/species/volvox/volvox_parameters.cfg
+augustus/config/species/volvox/volvox_utr_probs.pbl
+augustus/config/species/volvox/volvox_weightmatrix.txt
+augustus/config/species/wheat/README.txt
+augustus/config/species/wheat/wheat_exon_probs.pbl
+augustus/config/species/wheat/wheat_igenic_probs.pbl
+augustus/config/species/wheat/wheat_intron_probs.pbl
+augustus/config/species/wheat/wheat_parameters.cfg
+augustus/config/species/wheat/wheat_utr_probs.pbl
+augustus/config/species/wheat/wheat_weightmatrix.txt
+augustus/config/species/yarrowia_lipolytica/yarrowia_lipolytica_exon_probs.pbl
+augustus/config/species/yarrowia_lipolytica/yarrowia_lipolytica_igenic_probs.pbl
+augustus/config/species/yarrowia_lipolytica/yarrowia_lipolytica_intron_probs.pbl
+augustus/config/species/yarrowia_lipolytica/yarrowia_lipolytica_metapars.cfg
+augustus/config/species/yarrowia_lipolytica/yarrowia_lipolytica_metapars.utr.cfg
+augustus/config/species/yarrowia_lipolytica/yarrowia_lipolytica_parameters.cfg
+augustus/config/species/yarrowia_lipolytica/yarrowia_lipolytica_utr_probs.pbl
+augustus/config/species/yarrowia_lipolytica/yarrowia_lipolytica_weightmatrix.txt
+augustus/config/species/zebrafish/README.TXT
+augustus/config/species/zebrafish/zebrafish_exon_probs.pbl
+augustus/config/species/zebrafish/zebrafish_exon_probs.pbl.HMM
+augustus/config/species/zebrafish/zebrafish_igenic_probs.pbl
+augustus/config/species/zebrafish/zebrafish_igenic_probs.pbl.HMM
+augustus/config/species/zebrafish/zebrafish_intron_probs.pbl
+augustus/config/species/zebrafish/zebrafish_intron_probs.pbl.HMM
+augustus/config/species/zebrafish/zebrafish_metapars.cfg
+augustus/config/species/zebrafish/zebrafish_metapars.utr.cfg
+augustus/config/species/zebrafish/zebrafish_parameters.cfg
+augustus/config/species/zebrafish/zebrafish_weightmatrix.txt
+augustus/scripts/PF00225_full.blocks.txt
+augustus/scripts/PF00225_seed.blocks.txt
+augustus/scripts/README.autoAug
+augustus/scripts/SplicedAlignment.pm
+augustus/scripts/aa2nonred.pl
+augustus/scripts/add_name_to_gff3.pl
+augustus/scripts/augustify.py
+augustus/scripts/augustus2browser.pl
+augustus/scripts/augustus2gbrowse.pl
+augustus/scripts/autoAug.pl
+augustus/scripts/autoAugPred.pl
+augustus/scripts/autoAugTrain.pl
+augustus/scripts/bamToWig.py
+augustus/scripts/bedgraph2wig.pl
+augustus/scripts/blat2gbrowse.pl
+augustus/scripts/blat2hints.pl
+augustus/scripts/block2prfl.pl
+augustus/scripts/cegma2gff.pl
+augustus/scripts/checkParamArchive.pl
+augustus/scripts/checkUTR
+augustus/scripts/cleanDOSfasta.pl
+augustus/scripts/clusterAndSplitGenes.pl
+augustus/scripts/compare_masking.pl
+augustus/scripts/computeFlankingRegion.pl
+augustus/scripts/createAugustusJoblist.pl
+augustus/scripts/del_from_prfl.pl
+augustus/scripts/evalCGP.pl
+augustus/scripts/eval_dualdecomp.pl
+augustus/scripts/eval_multi_gtf.pl
+augustus/scripts/executeTestCGP.py
+augustus/scripts/exonerate2hints.pl
+augustus/scripts/exoniphyDb2hints.pl
+augustus/scripts/extractAnno.py
+augustus/scripts/extractTranscriptEnds.pl
+augustus/scripts/filter-ppx.pl
+augustus/scripts/filterGenes.pl
+augustus/scripts/filterGenesIn.pl
+augustus/scripts/filterGenesIn_mRNAname.pl
+augustus/scripts/filterGenesOut_mRNAname.pl
+augustus/scripts/filterInFrameStopCodons.pl
+augustus/scripts/filterMaf.pl
+augustus/scripts/filterPSL.pl
+augustus/scripts/filterShrimp.pl
+augustus/scripts/filterSpliceHints.pl
+augustus/scripts/findGffNamesInFasta.pl
+augustus/scripts/findRepetitiveProtSeqs.py
+augustus/scripts/fix_in_frame_stop_codon_genes.py
+augustus/scripts/fix_joingenes_gtf.pl
+augustus/scripts/gbSmallDNA2gff.pl
+augustus/scripts/gbrowse.conf
+augustus/scripts/gbrowseold2gff3.pl
+augustus/scripts/getAnnoFasta.pl
+augustus/scripts/getAnnoFastaFromJoingenes.py
+augustus/scripts/getLinesMatching.pl
+augustus/scripts/get_loci_from_gb.pl
+augustus/scripts/gff2gbSmallDNA.pl
+augustus/scripts/gff2ps_mycustom
+augustus/scripts/gffGetmRNA.pl
+augustus/scripts/gp2othergp.pl
+augustus/scripts/gtf2aa.pl
+augustus/scripts/gtf2bed.pl
+augustus/scripts/gtf2gff.pl
+augustus/scripts/gth2gtf.pl
+augustus/scripts/hal2maf_split.pl
+augustus/scripts/helpMod.pm
+augustus/scripts/joinPeptides.pl
+augustus/scripts/join_aug_pred.pl
+augustus/scripts/join_mult_hints.pl
+augustus/scripts/maf2conswig.pl
+augustus/scripts/makeMatchLists.pl
+augustus/scripts/makeUtrTrainingSet.pl
+augustus/scripts/maskNregions.pl
+augustus/scripts/merge_masking.pl
+augustus/scripts/moveParameters.pl
+augustus/scripts/msa2prfl.pl
+augustus/scripts/new_species.pl
+augustus/scripts/opt_init_and_term_probs.pl
+augustus/scripts/optimize_augustus.pl
+augustus/scripts/parseSim4Output.pl
+augustus/scripts/partition_gtf2gb.pl
+augustus/scripts/pasapolyA2hints.pl
+augustus/scripts/peptides2alternatives.pl
+augustus/scripts/peptides2hints.pl
+augustus/scripts/phastconsDB2hints.pl
+augustus/scripts/polyA2hints.pl
+augustus/scripts/prints2prfl.pl
+augustus/scripts/pslMap.pl
+augustus/scripts/randomSplit.pl
+augustus/scripts/rename_species.pl
+augustus/scripts/retroDB2hints.pl
+augustus/scripts/rmRedundantHints.pl
+augustus/scripts/runAllSim4.pl
+augustus/scripts/samMap.pl
+augustus/scripts/scipiogff2gff.pl
+augustus/scripts/setStopCodonFreqs.pl
+augustus/scripts/simpleFastaHeaders.pl
+augustus/scripts/simplifyFastaHeaders.pl
+augustus/scripts/splitMfasta.pl
+augustus/scripts/split_wiggle.pl
+augustus/scripts/stringtie2fa.py
+augustus/scripts/summarizeACGTcontent.pl
+augustus/scripts/transMap2hints.pl
+augustus/scripts/uniquePeptides.pl
+augustus/scripts/utrgff2gbrowse.pl
+augustus/scripts/webserver-results.head
+augustus/scripts/webserver-results.tail
+augustus/scripts/weedMaf.pl
+augustus/scripts/wig2hints.pl
+augustus/scripts/wigchoose.pl
+augustus/scripts/writeResultsPage.pl
+augustus/scripts/yaml2gff.1.4.pl
+bin/augustus
+bin/etraining
+bin/fastBlockSearch
+bin/getSeq
+bin/load2db
+bin/prepareAlign
diff --git a/biology/avida/Makefile b/biology/avida/Makefile
index c6d36fb59654..a933fe8d50d1 100644
--- a/biology/avida/Makefile
+++ b/biology/avida/Makefile
@@ -1,5 +1,3 @@
-# Created by: Jeremy <karlj000@unbc.ca>
-
PORTNAME= avida
PORTVERSION= 2.12.4
DISTVERSIONSUFFIX= -src
@@ -8,6 +6,7 @@ MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-stable/${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Auto-adaptive genetic system designed for ALife research
+WWW= https://avida.devosoft.org/
LICENSE= GPLv3
@@ -17,7 +16,6 @@ BROKEN_armv7= invokes x86 assembler
BROKEN_mips= invokes x86 assembler
BROKEN_mips64= invokes x86 assembler
BROKEN_riscv64= invokes x86 assembler
-BROKEN_sparc64= missing atomics implementation
USES= compiler:c11 cmake ncurses
USE_CXXSTD= gnu++98
diff --git a/biology/avida/pkg-descr b/biology/avida/pkg-descr
index 3c95c2b7c2ea..72e6fde30a5f 100644
--- a/biology/avida/pkg-descr
+++ b/biology/avida/pkg-descr
@@ -9,5 +9,3 @@ provided by the researcher. By studying this system, one can examine
evolutionary adaptation, general traits of living systems (such as
self-organization), and other issues pertaining to theoretical or
evolutionary biology and dynamic systems.
-
-WWW: http://avida.devosoft.org/
diff --git a/biology/babel/Makefile b/biology/babel/Makefile
index a644a4d11817..4fd844ca96f7 100644
--- a/biology/babel/Makefile
+++ b/biology/babel/Makefile
@@ -1,16 +1,14 @@
-# Created by: frankch@waru.life.nthu.edu.tw
-
PORTNAME= babel
PORTVERSION= 1.6
PORTREVISION= 4
CATEGORIES= biology converters
-MASTER_SITES= http://smog.com/chem/babel/files/ \
- http://www.ccl.net/cca/software/UNIX/babel/
+MASTER_SITES= http://www.ccl.net/cca/software/UNIX/babel/
MAINTAINER= ports@FreeBSD.org
COMMENT= Converts among various molecular file formats
+WWW= https://web.archive.org/web/20030604155749/http://smog.com/chem/babel/
-CONFLICTS_INSTALL= openbabel-*
+CONFLICTS_INSTALL= openbabel
USES= tar:Z
MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS}"
diff --git a/biology/babel/pkg-descr b/biology/babel/pkg-descr
index ced96ca3a9b1..709656ebd0cb 100644
--- a/biology/babel/pkg-descr
+++ b/biology/babel/pkg-descr
@@ -2,5 +2,3 @@ Babel is a program designed to interconvert a number of file formats
currently used in molecular modeling. Babel is capable of assigning
hybridization, bond order, and connectivity when these elements are
not present in the input file.
-
-WWW: http://smog.com/chem/babel/
diff --git a/biology/bamtools/Makefile b/biology/bamtools/Makefile
index 61904dae747a..03f62b1e6919 100644
--- a/biology/bamtools/Makefile
+++ b/biology/bamtools/Makefile
@@ -1,10 +1,12 @@
PORTNAME= bamtools
DISTVERSIONPREFIX= v
DISTVERSION= 2.5.2
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= API and toolkit for handling BAM files
+WWW= https://github.com/pezmaster31/bamtools
LICENSE= MIT
diff --git a/biology/bamtools/pkg-descr b/biology/bamtools/pkg-descr
index b2ed0122cd5a..632f635d85bd 100644
--- a/biology/bamtools/pkg-descr
+++ b/biology/bamtools/pkg-descr
@@ -5,5 +5,3 @@ BAM is the binary alternative to the sequence alignment/map (SAM) format used
for storing genetic sequence data. It uses BGZF block compression implemented
on top of the standard gzip file format to provide good compression while
allowing efficient random access for indexed queries.
-
-WWW: https://github.com/pezmaster31/bamtools
diff --git a/biology/bamutil/Makefile b/biology/bamutil/Makefile
new file mode 100644
index 000000000000..485df533807e
--- /dev/null
+++ b/biology/bamutil/Makefile
@@ -0,0 +1,29 @@
+PORTNAME= bamutil
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.0.15
+CATEGORIES= biology
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Utilities for working with SAM/BAM files
+WWW= https://github.com/statgen/bamUtil
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/copyrights/COPYING
+
+USES= gmake
+USE_GITHUB= yes
+
+GH_ACCOUNT= statgen
+GH_PROJECT= bamUtil
+
+# Build needs access to libStatGen Makefiles, so can't install separately
+GH_TUPLE= statgen:libStatGen:v${DISTVERSION}:statgen/libStatGen
+
+MAKE_ENV= LIB_PATH_GENERAL=${WRKSRC}/libStatGen
+MAKE_ENV+= INSTALLDIR=${STAGEDIR}${PREFIX}/bin
+
+CONFLICTS_INSTALL= bam
+
+PLIST_FILES= bin/bam
+
+.include <bsd.port.mk>
diff --git a/biology/bamutil/distinfo b/biology/bamutil/distinfo
new file mode 100644
index 000000000000..919bfb6a8cd4
--- /dev/null
+++ b/biology/bamutil/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1634754069
+SHA256 (statgen-bamUtil-v1.0.15_GH0.tar.gz) = 24ac4bdb81eded6e33f60dba85ec3d32ebdb06d42f75df775c2632bbfbd8cce9
+SIZE (statgen-bamUtil-v1.0.15_GH0.tar.gz) = 1929150
+SHA256 (statgen-libStatGen-v1.0.15_GH0.tar.gz) = 075dcd891409c48d76c0c66186c0cc479bc3cd50bba093e7f318e1d1d19961ff
+SIZE (statgen-libStatGen-v1.0.15_GH0.tar.gz) = 560782
diff --git a/biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.lib b/biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.lib
new file mode 100644
index 000000000000..7f8d5a434e94
--- /dev/null
+++ b/biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.lib
@@ -0,0 +1,17 @@
+--- libStatGen/Makefiles/Makefile.lib.orig 2021-10-12 15:28:34 UTC
++++ libStatGen/Makefiles/Makefile.lib
+@@ -34,11 +34,11 @@ profile: $(STAT_GEN_LIB_PROFILE)
+ # To build the library, build the objects
+ # Then add them to the library
+ $(STAT_GEN_LIB_OPT): $(OBJECTS_OPT)
+- ar -cru $@ $(OBJECTS_OPT)
++ ar -cr $@ $(OBJECTS_OPT)
+ $(STAT_GEN_LIB_DEBUG): $(OBJECTS_DEBUG)
+- ar -cru $@ $(OBJECTS_DEBUG)
++ ar -cr $@ $(OBJECTS_DEBUG)
+ $(STAT_GEN_LIB_PROFILE): $(OBJECTS_PROFILE)
+- ar -cru $@ $(OBJECTS_PROFILE)
++ ar -cr $@ $(OBJECTS_PROFILE)
+
+ UNAME=$(shell uname)
+
diff --git a/biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.toolchain b/biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.toolchain
new file mode 100644
index 000000000000..447be2125380
--- /dev/null
+++ b/biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.toolchain
@@ -0,0 +1,13 @@
+--- libStatGen/Makefiles/Makefile.toolchain.orig 2021-10-12 15:09:29 UTC
++++ libStatGen/Makefiles/Makefile.toolchain
+@@ -51,8 +51,8 @@ endif
+
+ # CPP0X=-std=c++0x
+
+-CXX = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)g++ $(CPP0X)
+-CC = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)gcc
++CXX = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)c++ $(CPP0X)
++CC = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)cc
+ LD = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)ld
+ AR = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)ar
+ RANLIB = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)ranlib
diff --git a/biology/bamutil/files/patch-libStatGen_vcf_VcfRecordGenotype.cpp b/biology/bamutil/files/patch-libStatGen_vcf_VcfRecordGenotype.cpp
new file mode 100644
index 000000000000..db31c78ab9d7
--- /dev/null
+++ b/biology/bamutil/files/patch-libStatGen_vcf_VcfRecordGenotype.cpp
@@ -0,0 +1,11 @@
+--- libStatGen/vcf/VcfRecordGenotype.cpp.orig 2021-10-12 15:13:03 UTC
++++ libStatGen/vcf/VcfRecordGenotype.cpp
+@@ -176,7 +176,7 @@ bool VcfRecordGenotype::setString(const std::string& k
+ if(sampleNum >= mySamples.size())
+ {
+ // Out of range sample index.
+- return(NULL);
++ return(false);
+ }
+ // Set the field in the sample.
+ return(mySamples.get(sampleNum).setString(key, value));
diff --git a/biology/bamutil/pkg-descr b/biology/bamutil/pkg-descr
new file mode 100644
index 000000000000..e914877c3721
--- /dev/null
+++ b/biology/bamutil/pkg-descr
@@ -0,0 +1,4 @@
+Utilities for working on SAM/BAM files from The Center for Statistical
+Genetics at the University of Michigan School of Public Health. It
+includes numerous functions such as splitting, merging, trimming reads,
+filtering, validation, diff, etc.
diff --git a/biology/barrnap/Makefile b/biology/barrnap/Makefile
new file mode 100644
index 000000000000..90971ff06d7a
--- /dev/null
+++ b/biology/barrnap/Makefile
@@ -0,0 +1,32 @@
+PORTNAME= barrnap
+DISTVERSION= 0.9
+CATEGORIES= biology science
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= BAsic Rapid Ribosomal RNA Predictor
+WWW= https://github.com/tseemann/barrnap
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= bedtools:biology/bedtools \
+ nhmmer:biology/hmmer
+
+USES= gmake perl5
+
+USE_GITHUB= yes
+GH_ACCOUNT= tseemann
+
+NO_BUILD= yes
+NO_ARCH= yes
+
+TEST_TARGET= test
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKSRC}/bin/barrnap ${STAGEDIR}${PREFIX}/bin
+ cd ${WRKSRC} && ${COPYTREE_SHARE} db ${STAGEDIR}${DATADIR}
+ ${REINPLACE_CMD} \
+ -i '' -e 's|^my $$DBDIR = .*|my $$DBDIR = "${DATADIR}/db";|' \
+ ${STAGEDIR}${PREFIX}/bin/barrnap
+
+.include <bsd.port.mk>
diff --git a/biology/barrnap/distinfo b/biology/barrnap/distinfo
new file mode 100644
index 000000000000..48b3f9e21728
--- /dev/null
+++ b/biology/barrnap/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1669343398
+SHA256 (tseemann-barrnap-0.9_GH0.tar.gz) = 36c27cd4350531d98b3b2fb7d294a2d35c15b7365771476456d7873ba33cce15
+SIZE (tseemann-barrnap-0.9_GH0.tar.gz) = 11837541
diff --git a/biology/barrnap/pkg-descr b/biology/barrnap/pkg-descr
new file mode 100644
index 000000000000..7ba80681fff3
--- /dev/null
+++ b/biology/barrnap/pkg-descr
@@ -0,0 +1,8 @@
+Barrnap predicts the location of ribosomal RNA genes in genomes. It supports
+bacteria (5S,23S,16S), archaea (5S,5.8S,23S,16S), metazoan mitochondria
+(12S,16S) and eukaryotes (5S,5.8S,28S,18S).
+
+It takes FASTA DNA sequence as input, and write GFF3 as output. It uses the new
+nhmmer tool that comes with HMMER 3.1 for HMM searching in RNA:DNA style.
+Multithreading is supported and one can expect roughly linear speed-ups with
+more CPUs.
diff --git a/biology/barrnap/pkg-plist b/biology/barrnap/pkg-plist
new file mode 100644
index 000000000000..fbf0ddaac319
--- /dev/null
+++ b/biology/barrnap/pkg-plist
@@ -0,0 +1,5 @@
+bin/barrnap
+%%DATADIR%%/db/arc.hmm
+%%DATADIR%%/db/bac.hmm
+%%DATADIR%%/db/euk.hmm
+%%DATADIR%%/db/mito.hmm
diff --git a/biology/bbmap/Makefile b/biology/bbmap/Makefile
index 9527ee8f4076..2c09e28065fa 100644
--- a/biology/bbmap/Makefile
+++ b/biology/bbmap/Makefile
@@ -6,6 +6,7 @@ DISTNAME= BBMap_${PORTVERSION}
MAINTAINER= jwb@FreeBSD.org
COMMENT= BBMap short read aligner, and other bioinformatic tools
+WWW= https://jgi.doe.gov/data-and-tools/bbtools/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/license.txt
diff --git a/biology/bbmap/pkg-descr b/biology/bbmap/pkg-descr
index dabb59d91cb8..a4d03cccc029 100644
--- a/biology/bbmap/pkg-descr
+++ b/biology/bbmap/pkg-descr
@@ -2,5 +2,3 @@ This package includes BBMap, a short read aligner, as well as various other
bioinformatic tools. It is written in pure Java, can run on any platform, and
has no dependencies other than Java being installed (compiled for Java 6 and
higher). All tools are efficient and multithreaded.
-
-WWW: https://jgi.doe.gov/data-and-tools/bbtools/
diff --git a/biology/bcf-score/Makefile b/biology/bcf-score/Makefile
new file mode 100644
index 000000000000..f183641f4a4f
--- /dev/null
+++ b/biology/bcf-score/Makefile
@@ -0,0 +1,52 @@
+PORTNAME= bcf-score
+DISTVERSION= 1.16
+PORTREVISION= 1
+CATEGORIES= biology
+MASTER_SITES= https://software.broadinstitute.org/software/score/
+DISTFILES+= score_${DISTVERSION}-20221221.tar.gz
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Bcftools plugins for GWAS-VCF summary statistics files
+WWW= https://software.broadinstitute.org/software/score/
+
+LICENSE= MIT
+
+LIB_DEPENDS= libhts.so:biology/htslib
+BUILD_DEPENDS= bash:shells/bash
+RUN_DEPENDS= bcftools>=${PORTVERSION}:biology/bcftools
+
+USES= autoreconf gmake localbase perl5 python:env shebangfix
+USE_GITHUB= yes
+USE_PERL5= test
+
+GH_ACCOUNT= samtools
+GH_PROJECT= bcftools
+GH_TAGNAME= 1.17
+GNU_CONFIGURE= yes
+SHEBANG_FILES= misc/* test/test.pl
+
+post-extract:
+ @${CP} ${WRKDIR}/*.c ${WRKDIR}/*.h ${WRKSRC}/plugins
+ @${MKDIR} ${WRKSRC}/bcf-score
+ @${CP} ${WRKDIR}/*.R ${WRKSRC}/bcf-score
+
+pre-configure:
+ @${REINPLACE_CMD} -e 's|@PORTVERSION@|${PORTVERSION}|g' \
+ ${WRKSRC}/configure.ac
+
+# One .so for each .c in the score distfile
+do-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/bcftools
+ ${INSTALL_PROGRAM} ${WRKSRC}/plugins/blupx.so \
+ ${STAGEDIR}${PREFIX}/libexec/bcftools
+ ${INSTALL_PROGRAM} ${WRKSRC}/plugins/liftover.so \
+ ${STAGEDIR}${PREFIX}/libexec/bcftools
+ ${INSTALL_PROGRAM} ${WRKSRC}/plugins/metal.so \
+ ${STAGEDIR}${PREFIX}/libexec/bcftools
+ ${INSTALL_PROGRAM} ${WRKSRC}/plugins/munge.so \
+ ${STAGEDIR}${PREFIX}/libexec/bcftools
+ ${INSTALL_PROGRAM} ${WRKSRC}/plugins/score.so \
+ ${STAGEDIR}${PREFIX}/libexec/bcftools
+ (cd ${WRKSRC}/bcf-score && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR})
+
+.include <bsd.port.mk>
diff --git a/biology/bcf-score/distinfo b/biology/bcf-score/distinfo
new file mode 100644
index 000000000000..d343300fb841
--- /dev/null
+++ b/biology/bcf-score/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1677335027
+SHA256 (score_1.16-20221221.tar.gz) = f5f7331f2f670ea26cbc48a924e1467ac13c69aaf3b2a56599e3decda9375c0b
+SIZE (score_1.16-20221221.tar.gz) = 61927
+SHA256 (samtools-bcftools-1.16-1.17_GH0.tar.gz) = e6fdb4c94b531671ea8a0b00cb9245aa2602f6c4480621e45dac76338f590b9e
+SIZE (samtools-bcftools-1.16-1.17_GH0.tar.gz) = 3481344
diff --git a/biology/bcf-score/files/patch-Makefile b/biology/bcf-score/files/patch-Makefile
new file mode 100644
index 000000000000..3299954ae45b
--- /dev/null
+++ b/biology/bcf-score/files/patch-Makefile
@@ -0,0 +1,33 @@
+--- Makefile.orig 2021-03-17 09:16:18 UTC
++++ Makefile
+@@ -58,13 +58,14 @@ pluginpath = $(plugindir)
+ # Installation location for $(MISC_PROGRAMS) and $(MISC_SCRIPTS)
+ misc_bindir = $(bindir)
+
+-MKDIR_P = mkdir -p
+-INSTALL = install -p
+-INSTALL_DATA = $(INSTALL) -m 644
+-INSTALL_DIR = $(MKDIR_P) -m 755
+-INSTALL_MAN = $(INSTALL_DATA)
+-INSTALL_PROGRAM = $(INSTALL)
+-INSTALL_SCRIPT = $(INSTALL_PROGRAM)
++# Use BSD_INSTALL_PROGRAM to strip when WITH_DEBUG not set
++MKDIR_P = mkdir -p
++INSTALL = install -p
++INSTALL_DATA = ${BSD_INSTALL_DATA}
++INSTALL_DIR = $(MKDIR_P)
++INSTALL_MAN = ${BSD_INSTALL_MAN}
++INSTALL_PROGRAM = ${BSD_INSTALL_PROGRAM}
++INSTALL_SCRIPT = ${BSD_INSTALL_SCRIPT}
+
+ PROGRAMS = bcftools
+ MISC_SCRIPTS = \
+@@ -142,7 +143,7 @@ print-version:
+ ifdef USE_GPL
+ main.o : EXTRA_CPPFLAGS += -DUSE_GPL
+ OBJS += polysomy.o peakfit.o
+- GSL_LIBS ?= -lgsl -lcblas
++ GSL_LIBS ?= -lgslcblas
+ endif
+
+ print-%:
diff --git a/biology/bcf-score/files/patch-configure.ac b/biology/bcf-score/files/patch-configure.ac
new file mode 100644
index 000000000000..ca845d2ad85f
--- /dev/null
+++ b/biology/bcf-score/files/patch-configure.ac
@@ -0,0 +1,11 @@
+--- configure.ac.orig 2018-07-18 08:34:29 UTC
++++ configure.ac
+@@ -23,7 +23,7 @@
+ # DEALINGS IN THE SOFTWARE.
+
+ dnl Process this file with autoconf to produce a configure script
+-AC_INIT([BCFtools], m4_esyscmd_s([./version.sh 2>/dev/null]),
++AC_INIT([BCFtools], [@PORTVERSION@],
+ [samtools-help@lists.sourceforge.net], [], [http://www.htslib.org/])
+ AC_PREREQ([2.63]) dnl This version introduced 4-argument AC_CHECK_HEADER
+ AC_CONFIG_SRCDIR([main.c])
diff --git a/biology/bcf-score/files/patch-plugins_munge.c b/biology/bcf-score/files/patch-plugins_munge.c
new file mode 100644
index 000000000000..8906f57a0a73
--- /dev/null
+++ b/biology/bcf-score/files/patch-plugins_munge.c
@@ -0,0 +1,11 @@
+--- plugins/munge.c.orig 2023-07-16 07:57:54 UTC
++++ plugins/munge.c
+@@ -120,7 +120,7 @@ int tsv_read_string(tsv_t *tsv, bcf1_t *rec, void *usr
+ return 0;
+ }
+
+-static const int (*tsv_setters[])(tsv_t *tsv, bcf1_t *rec, void *usr) = {tsv_setter_id_flexible, // SNP
++static int (*tsv_setters[])(tsv_t *tsv, bcf1_t *rec, void *usr) = {tsv_setter_id_flexible, // SNP
+ tsv_setter_pos_flexible, // BP
+ tsv_setter_chrom_flexible, // CHR
+ tsv_read_allele, // A1
diff --git a/biology/bcf-score/files/patch-plugins_score.c b/biology/bcf-score/files/patch-plugins_score.c
new file mode 100644
index 000000000000..c90a66f313b6
--- /dev/null
+++ b/biology/bcf-score/files/patch-plugins_score.c
@@ -0,0 +1,11 @@
+--- plugins/score.c.orig 2023-07-16 08:04:54 UTC
++++ plugins/score.c
+@@ -140,7 +140,7 @@ static int tsv_read_allele(tsv_t *tsv, bcf1_t *rec, vo
+ return 0;
+ }
+
+-static const int (*tsv_setters[])(tsv_t *tsv, bcf1_t *rec, void *usr) = {tsv_setter_id_flexible, // SNP
++static int (*tsv_setters[])(tsv_t *tsv, bcf1_t *rec, void *usr) = {tsv_setter_id_flexible, // SNP
+ tsv_setter_pos_flexible, // BP
+ tsv_setter_chrom_flexible, // CHR
+ tsv_read_allele, // A1
diff --git a/biology/bcf-score/pkg-descr b/biology/bcf-score/pkg-descr
new file mode 100644
index 000000000000..2d926613d77b
--- /dev/null
+++ b/biology/bcf-score/pkg-descr
@@ -0,0 +1,3 @@
+Score is a set of tools in the form of a bcftools plugin, for handling
+and converting summary statistics files following the GWAS-VCF
+specification.
diff --git a/biology/bcf-score/pkg-plist b/biology/bcf-score/pkg-plist
new file mode 100644
index 000000000000..719a907bf251
--- /dev/null
+++ b/biology/bcf-score/pkg-plist
@@ -0,0 +1,6 @@
+libexec/bcftools/blupx.so
+libexec/bcftools/liftover.so
+libexec/bcftools/metal.so
+libexec/bcftools/munge.so
+libexec/bcftools/score.so
+%%DATADIR%%/assoc_plot.R
diff --git a/biology/bcftools/Makefile b/biology/bcftools/Makefile
index 4f38d7bd78a2..9525d7fd3450 100644
--- a/biology/bcftools/Makefile
+++ b/biology/bcftools/Makefile
@@ -1,11 +1,11 @@
-# Created by: Reed A. Cartwright <cartwright@asu.edu>
-
PORTNAME= bcftools
-PORTVERSION= 1.13
+PORTVERSION= 1.17
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Tools for manipulating next-generation sequencing data
+WWW= https://www.htslib.org/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -21,6 +21,7 @@ USE_PERL5= test
GH_ACCOUNT= samtools
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
SHEBANG_FILES= misc/* test/test.pl
OPTIONS_DEFINE= GPL
diff --git a/biology/bcftools/distinfo b/biology/bcftools/distinfo
index a1ea3b931e38..e485c96d9038 100644
--- a/biology/bcftools/distinfo
+++ b/biology/bcftools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1626039967
-SHA256 (samtools-bcftools-1.13_GH0.tar.gz) = 55fbc674ec69e243052e9fb6560eb43d06f45f210e1842ba4dbe33acb394e562
-SIZE (samtools-bcftools-1.13_GH0.tar.gz) = 3133637
+TIMESTAMP = 1677246068
+SHA256 (samtools-bcftools-1.17_GH0.tar.gz) = e6fdb4c94b531671ea8a0b00cb9245aa2602f6c4480621e45dac76338f590b9e
+SIZE (samtools-bcftools-1.17_GH0.tar.gz) = 3481344
diff --git a/biology/bcftools/pkg-descr b/biology/bcftools/pkg-descr
index 1ef4040b27d7..d3bb50e44e66 100644
--- a/biology/bcftools/pkg-descr
+++ b/biology/bcftools/pkg-descr
@@ -2,5 +2,3 @@ BCFtools is a set of utilities that manipulate variant calls in the
Variant Call Format (VCF) and its binary counterpart BCF. All
commands work transparently with both VCFs and BCFs, both
uncompressed and BGZF-compressed.
-
-WWW: http://www.htslib.org/
diff --git a/biology/bcftools/pkg-plist b/biology/bcftools/pkg-plist
index 11f94eafff86..6f40c8532f31 100644
--- a/biology/bcftools/pkg-plist
+++ b/biology/bcftools/pkg-plist
@@ -30,6 +30,7 @@ libexec/bcftools/impute-info.so
libexec/bcftools/indel-stats.so
libexec/bcftools/isecGT.so
libexec/bcftools/mendelian.so
+libexec/bcftools/mendelian2.so
libexec/bcftools/missing2ref.so
libexec/bcftools/parental-origin.so
libexec/bcftools/prune.so
@@ -43,5 +44,6 @@ libexec/bcftools/tag2tag.so
libexec/bcftools/trio-dnm2.so
libexec/bcftools/trio-stats.so
libexec/bcftools/trio-switch-rate.so
+libexec/bcftools/variant-distance.so
libexec/bcftools/variantkey-hex.so
-man/man1/bcftools.1.gz
+share/man/man1/bcftools.1.gz
diff --git a/biology/bedtools/Makefile b/biology/bedtools/Makefile
index 99de841f40ec..4f0b519d87f5 100644
--- a/biology/bedtools/Makefile
+++ b/biology/bedtools/Makefile
@@ -1,10 +1,11 @@
PORTNAME= bedtools
DISTVERSIONPREFIX= v
-DISTVERSION= 2.30.0
+DISTVERSION= 2.31.1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Toolset for genome set arithmetic such as intersect, union
+WWW= https://bedtools.readthedocs.org/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/biology/bedtools/distinfo b/biology/bedtools/distinfo
index 7a106b0489f7..eb599d15d598 100644
--- a/biology/bedtools/distinfo
+++ b/biology/bedtools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1611493289
-SHA256 (arq5x-bedtools2-v2.30.0_GH0.tar.gz) = c575861ec746322961cd15d8c0b532bb2a19333f1cf167bbff73230a7d67302f
-SIZE (arq5x-bedtools2-v2.30.0_GH0.tar.gz) = 20639858
+TIMESTAMP = 1699454464
+SHA256 (arq5x-bedtools2-v2.31.1_GH0.tar.gz) = 79a1ba318d309f4e74bfa74258b73ef578dccb1045e270998d7fe9da9f43a50e
+SIZE (arq5x-bedtools2-v2.31.1_GH0.tar.gz) = 21085970
diff --git a/biology/bedtools/pkg-descr b/biology/bedtools/pkg-descr
index b4295c2fba7b..551c495a896c 100644
--- a/biology/bedtools/pkg-descr
+++ b/biology/bedtools/pkg-descr
@@ -8,5 +8,3 @@ Although each individual utility is designed to do a relatively simple task,
e.g., intersect two interval files, more sophisticated analyses can be
conducted by stringing together multiple bedtools operations on the command
line or in shell scripts.
-
-WWW: http://bedtools.readthedocs.org/
diff --git a/biology/bfc/Makefile b/biology/bfc/Makefile
index 967e8829f16a..30f810f8b92c 100644
--- a/biology/bfc/Makefile
+++ b/biology/bfc/Makefile
@@ -4,6 +4,7 @@ CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Correct sequencing errors from Illumina sequencing data
+WWW= https://github.com/lh3/bfc
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
diff --git a/biology/bfc/pkg-descr b/biology/bfc/pkg-descr
index a2135b6a4ecc..404cbc813cb5 100644
--- a/biology/bfc/pkg-descr
+++ b/biology/bfc/pkg-descr
@@ -2,5 +2,3 @@ BFC is a standalone high-performance tool for correcting sequencing
errors from Illumina sequencing data. It is specifically designed for
high-coverage whole-genome human data, though also performs well for
small genomes.
-
-WWW: https://github.com/lh3/bfc
diff --git a/biology/bifrost/Makefile b/biology/bifrost/Makefile
new file mode 100644
index 000000000000..8820ddfa0631
--- /dev/null
+++ b/biology/bifrost/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= bifrost
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.3.5
+CATEGORIES= biology
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Parallel construction, indexing and querying of de Bruijn graphs
+WWW= https://github.com/pmelsted/bifrost
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le riscv64
+ONLY_FOR_ARCHS_REASON= Requires a 64-bit processor
+
+USES= cmake
+USE_GITHUB= yes
+
+CMAKE_ARGS= -DCOMPILATION_ARCH=${CPUTYPE:UOFF}
+
+GH_ACCOUNT= pmelsted
+
+.include <bsd.port.mk>
diff --git a/biology/bifrost/distinfo b/biology/bifrost/distinfo
new file mode 100644
index 000000000000..49f7e2d919bb
--- /dev/null
+++ b/biology/bifrost/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1710590640
+SHA256 (pmelsted-bifrost-v1.3.5_GH0.tar.gz) = e1b2491328b0cc1a32e433a8a9780f05547fa4b8d674b58abdda9ac8809f5341
+SIZE (pmelsted-bifrost-v1.3.5_GH0.tar.gz) = 356701
diff --git a/biology/bifrost/files/patch-CMakeLists.txt b/biology/bifrost/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..27893b9ec44d
--- /dev/null
+++ b/biology/bifrost/files/patch-CMakeLists.txt
@@ -0,0 +1,10 @@
+--- CMakeLists.txt.orig 2023-08-12 14:26:29 UTC
++++ CMakeLists.txt
+@@ -46,7 +46,6 @@ else(CMAKE_BUILD_TYPE MATCHES Debug)
+ set(CMAKE_EXE_LINKER_FLAGS "-pg")
+ else(CMAKE_BUILD_TYPE MATCHES Profile)
+ message("Build type: Release")
+- add_compile_options(-O3)
+ endif(CMAKE_BUILD_TYPE MATCHES Profile)
+ endif(CMAKE_BUILD_TYPE MATCHES Debug)
+
diff --git a/biology/bifrost/pkg-descr b/biology/bifrost/pkg-descr
new file mode 100644
index 000000000000..68c41b2f44fc
--- /dev/null
+++ b/biology/bifrost/pkg-descr
@@ -0,0 +1,3 @@
+Bifrost is a tool and API for parallel construction, indexing and
+querying of colored and compacted de Bruijn graphs from FASTA/FASTQ
+DNA/RNA sequence files.
diff --git a/biology/bifrost/pkg-plist b/biology/bifrost/pkg-plist
new file mode 100644
index 000000000000..9b4f28081aa5
--- /dev/null
+++ b/biology/bifrost/pkg-plist
@@ -0,0 +1,53 @@
+bin/Bifrost
+include/bifrost/BitContainer.hpp
+include/bifrost/BlockedBloomFilter.hpp
+include/bifrost/ColorSet.hpp
+include/bifrost/ColoredCDBG.hpp
+include/bifrost/ColoredCDBG.tcc
+include/bifrost/Common.hpp
+include/bifrost/CompactedDBG.hpp
+include/bifrost/CompactedDBG.tcc
+include/bifrost/CompressedCoverage.hpp
+include/bifrost/CompressedSequence.hpp
+include/bifrost/DataAccessor.hpp
+include/bifrost/DataAccessor.tcc
+include/bifrost/DataManager.hpp
+include/bifrost/DataStorage.hpp
+include/bifrost/DataStorage.tcc
+include/bifrost/FASTX_Parser.hpp
+include/bifrost/File_Parser.hpp
+include/bifrost/GFA_Parser.hpp
+include/bifrost/IO.tcc
+include/bifrost/Kmer.hpp
+include/bifrost/KmerCovIndex.hpp
+include/bifrost/KmerCovIndex.tcc
+include/bifrost/KmerHashTable.hpp
+include/bifrost/KmerIterator.hpp
+include/bifrost/KmerStream.hpp
+include/bifrost/Lock.hpp
+include/bifrost/MinimizerIndex.hpp
+include/bifrost/NeighborIterator.hpp
+include/bifrost/NeighborIterator.tcc
+include/bifrost/RepHash.hpp
+include/bifrost/Search.tcc
+include/bifrost/StreamCounter.hpp
+include/bifrost/TinyBitmap.hpp
+include/bifrost/TinyVector.hpp
+include/bifrost/Unitig.hpp
+include/bifrost/UnitigIterator.hpp
+include/bifrost/UnitigIterator.tcc
+include/bifrost/UnitigMap.hpp
+include/bifrost/UnitigMap.tcc
+include/bifrost/fastmod.h
+include/bifrost/getRSS.h
+include/bifrost/kseq.h
+include/bifrost/libpopcnt.h
+include/bifrost/minHashIterator.hpp
+include/bifrost/roaring.h
+include/bifrost/roaring.hh
+include/bifrost/rw_spin_lock.h
+include/bifrost/strict_fstream.hpp
+include/bifrost/wyhash.h
+include/bifrost/zstr.hpp
+lib/libbifrost.a
+lib/libbifrost.so
diff --git a/biology/bio-mocha/Makefile b/biology/bio-mocha/Makefile
new file mode 100644
index 000000000000..33147346e72d
--- /dev/null
+++ b/biology/bio-mocha/Makefile
@@ -0,0 +1,49 @@
+PORTNAME= bio-mocha
+DISTVERSION= 1.16
+CATEGORIES= biology
+MASTER_SITES= https://software.broadinstitute.org/software/mocha/
+DISTFILES+= ${PORTNAME}_${DISTVERSION}-20221221.tar.gz
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Bcftools plugin for mosaic chromosomal alteration analysis
+WWW= https://software.broadinstitute.org/software/mocha/
+
+LICENSE= MIT
+
+LIB_DEPENDS= libhts.so:biology/htslib
+BUILD_DEPENDS= bash:shells/bash
+RUN_DEPENDS= bcftools>=${PORTVERSION}:biology/bcftools
+
+USES= autoreconf gmake localbase perl5 python:env shebangfix
+USE_GITHUB= yes
+USE_PERL5= test
+
+GH_ACCOUNT= samtools
+GH_PROJECT= bcftools
+GH_TAGNAME= 1.16
+GNU_CONFIGURE= yes
+SHEBANG_FILES= misc/* test/test.pl
+
+post-extract:
+ @${MV} ${WRKDIR}/*.c ${WRKDIR}/*.h ${WRKSRC}/plugins
+ @${MKDIR} ${WRKSRC}/MoCha
+ @${MV} ${WRKDIR}/*.R ${WRKSRC}/MoCha
+
+pre-configure:
+ @${REINPLACE_CMD} -e 's|@PORTVERSION@|${PORTVERSION}|g' \
+ ${WRKSRC}/configure.ac
+
+# One .so for each .c in the mocha distfile
+do-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/bcftools
+ ${INSTALL_PROGRAM} ${WRKSRC}/plugins/extendFMT.so \
+ ${STAGEDIR}${PREFIX}/libexec/bcftools
+ ${INSTALL_PROGRAM} ${WRKSRC}/plugins/mocha.so \
+ ${STAGEDIR}${PREFIX}/libexec/bcftools
+ ${INSTALL_PROGRAM} ${WRKSRC}/plugins/mochatools.so \
+ ${STAGEDIR}${PREFIX}/libexec/bcftools
+ ${INSTALL_PROGRAM} ${WRKSRC}/plugins/trio-phase.so \
+ ${STAGEDIR}${PREFIX}/libexec/bcftools
+ (cd ${WRKSRC}/MoCha && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR})
+
+.include <bsd.port.mk>
diff --git a/biology/bio-mocha/distinfo b/biology/bio-mocha/distinfo
new file mode 100644
index 000000000000..c5a05127a3d6
--- /dev/null
+++ b/biology/bio-mocha/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1672095342
+SHA256 (bio-mocha_1.16-20221221.tar.gz) = 576cbdda53760f353fc8fd989751716b1d4f8c5e1921f838c263476282cced86
+SIZE (bio-mocha_1.16-20221221.tar.gz) = 68625
+SHA256 (samtools-bcftools-1.16_GH0.tar.gz) = c44c85a04e058e1f1eceeb712106031100bbd700b8ff3f623f7ff872469a4ba3
+SIZE (samtools-bcftools-1.16_GH0.tar.gz) = 3432435
diff --git a/biology/bio-mocha/files/patch-Makefile b/biology/bio-mocha/files/patch-Makefile
new file mode 100644
index 000000000000..3299954ae45b
--- /dev/null
+++ b/biology/bio-mocha/files/patch-Makefile
@@ -0,0 +1,33 @@
+--- Makefile.orig 2021-03-17 09:16:18 UTC
++++ Makefile
+@@ -58,13 +58,14 @@ pluginpath = $(plugindir)
+ # Installation location for $(MISC_PROGRAMS) and $(MISC_SCRIPTS)
+ misc_bindir = $(bindir)
+
+-MKDIR_P = mkdir -p
+-INSTALL = install -p
+-INSTALL_DATA = $(INSTALL) -m 644
+-INSTALL_DIR = $(MKDIR_P) -m 755
+-INSTALL_MAN = $(INSTALL_DATA)
+-INSTALL_PROGRAM = $(INSTALL)
+-INSTALL_SCRIPT = $(INSTALL_PROGRAM)
++# Use BSD_INSTALL_PROGRAM to strip when WITH_DEBUG not set
++MKDIR_P = mkdir -p
++INSTALL = install -p
++INSTALL_DATA = ${BSD_INSTALL_DATA}
++INSTALL_DIR = $(MKDIR_P)
++INSTALL_MAN = ${BSD_INSTALL_MAN}
++INSTALL_PROGRAM = ${BSD_INSTALL_PROGRAM}
++INSTALL_SCRIPT = ${BSD_INSTALL_SCRIPT}
+
+ PROGRAMS = bcftools
+ MISC_SCRIPTS = \
+@@ -142,7 +143,7 @@ print-version:
+ ifdef USE_GPL
+ main.o : EXTRA_CPPFLAGS += -DUSE_GPL
+ OBJS += polysomy.o peakfit.o
+- GSL_LIBS ?= -lgsl -lcblas
++ GSL_LIBS ?= -lgslcblas
+ endif
+
+ print-%:
diff --git a/biology/bio-mocha/files/patch-configure.ac b/biology/bio-mocha/files/patch-configure.ac
new file mode 100644
index 000000000000..ca845d2ad85f
--- /dev/null
+++ b/biology/bio-mocha/files/patch-configure.ac
@@ -0,0 +1,11 @@
+--- configure.ac.orig 2018-07-18 08:34:29 UTC
++++ configure.ac
+@@ -23,7 +23,7 @@
+ # DEALINGS IN THE SOFTWARE.
+
+ dnl Process this file with autoconf to produce a configure script
+-AC_INIT([BCFtools], m4_esyscmd_s([./version.sh 2>/dev/null]),
++AC_INIT([BCFtools], [@PORTVERSION@],
+ [samtools-help@lists.sourceforge.net], [], [http://www.htslib.org/])
+ AC_PREREQ([2.63]) dnl This version introduced 4-argument AC_CHECK_HEADER
+ AC_CONFIG_SRCDIR([main.c])
diff --git a/biology/bio-mocha/pkg-descr b/biology/bio-mocha/pkg-descr
new file mode 100644
index 000000000000..0ab93cdde40a
--- /dev/null
+++ b/biology/bio-mocha/pkg-descr
@@ -0,0 +1,6 @@
+MoChA is a bcftools plugin released under the MIT license for mosaic
+chromosomal alteration detection and analysis from DNA microarray or
+whole genome sequence data. It can be used both with Illumina and
+Affymetrix data. It can also be used for detection of germline copy
+number variants. Data can be prepared in usable file formats using the
+gtc2vcf plugin.
diff --git a/biology/bio-mocha/pkg-plist b/biology/bio-mocha/pkg-plist
new file mode 100644
index 000000000000..a56018707fc6
--- /dev/null
+++ b/biology/bio-mocha/pkg-plist
@@ -0,0 +1,7 @@
+libexec/bcftools/extendFMT.so
+libexec/bcftools/mocha.so
+libexec/bcftools/mochatools.so
+libexec/bcftools/trio-phase.so
+%%DATADIR%%/mocha_plot.R
+%%DATADIR%%/pileup_plot.R
+%%DATADIR%%/summary_plot.R
diff --git a/biology/bioawk/Makefile b/biology/bioawk/Makefile
index d4ee881f6bb4..c5bccd238213 100644
--- a/biology/bioawk/Makefile
+++ b/biology/bioawk/Makefile
@@ -6,6 +6,7 @@ CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= BWK awk modified for biological data
+WWW= https://github.com/lh3/bioawk
LICENSE= BSD3CLAUSE
diff --git a/biology/bioawk/pkg-descr b/biology/bioawk/pkg-descr
index 41070de842f8..d771d7ea0a2f 100644
--- a/biology/bioawk/pkg-descr
+++ b/biology/bioawk/pkg-descr
@@ -4,5 +4,3 @@ VCF, FASTA/Q and TAB-delimited formats with column names. It also adds a few
built-in functions and an command line option to use TAB as the input/output
delimiter. When the new functionality is not used, bioawk is intended to behave
exactly the same as the original BWK awk.
-
-WWW: https://github.com/lh3/bioawk
diff --git a/biology/biococoa/Makefile b/biology/biococoa/Makefile
index fe557b9bc3a8..7177814e19bf 100644
--- a/biology/biococoa/Makefile
+++ b/biology/biococoa/Makefile
@@ -1,6 +1,6 @@
PORTNAME= biococoa
PORTVERSION= 2.2.2
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= biology gnustep
MASTER_SITES= http://bioinformatics.org/biococoa/downloads/
DISTNAME= biococoa-${PORTVERSION}-src
@@ -8,6 +8,7 @@ EXTRACT_SUFX= .tgz
MAINTAINER= ports@FreeBSD.org
COMMENT= Bioinformatics framework
+WWW= http://bioinformatics.org/biococoa/
LICENSE= LGPL21
diff --git a/biology/biococoa/pkg-descr b/biology/biococoa/pkg-descr
index b183858c00e3..caa0525f1488 100644
--- a/biology/biococoa/pkg-descr
+++ b/biology/biococoa/pkg-descr
@@ -5,5 +5,3 @@ TNT files by writing only three lines of code.
The framework is written in Cocoa (Objective-C).
LICENSE: LGPL2 or later
-
-WWW: http://bioinformatics.org/biococoa/
diff --git a/biology/biolibc-tools/Makefile b/biology/biolibc-tools/Makefile
index 39913d8b5347..df556e8df04e 100644
--- a/biology/biolibc-tools/Makefile
+++ b/biology/biolibc-tools/Makefile
@@ -1,12 +1,12 @@
-# Created by: J. Bacon <jwb@FreeBSD.org>
-
PORTNAME= biolibc-tools
-DISTVERSION= 0.1.0-34
-DISTVERSIONSUFFIX= -gf1224de
+DISTVERSION= 0.1.4-13
+DISTVERSIONSUFFIX= -g0375b83
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= High-performance bioinformatics tools based on biolibc
+WWW= https://github.com/auerlab/biolibc-tools
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -20,6 +20,8 @@ USE_GITHUB= yes
GH_ACCOUNT= auerlab
+MAKE_ARGS= MANPREFIX=${PREFIX}/share
+MAKE_ENV= VERSION=${PORTVERSION}
INSTALL_TARGET= install-strip
pre-build:
diff --git a/biology/biolibc-tools/distinfo b/biology/biolibc-tools/distinfo
index 9a1bab65b7ce..ffa4a333983f 100644
--- a/biology/biolibc-tools/distinfo
+++ b/biology/biolibc-tools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1630328729
-SHA256 (auerlab-biolibc-tools-0.1.0-34-gf1224de_GH0.tar.gz) = c63309cad0e73a9336deebfc9ea9104320810d45631141ec1a8554f6cf5a6cf7
-SIZE (auerlab-biolibc-tools-0.1.0-34-gf1224de_GH0.tar.gz) = 11683
+TIMESTAMP = 1694017867
+SHA256 (auerlab-biolibc-tools-0.1.4-13-g0375b83_GH0.tar.gz) = 130cf85372e42cf40d3cdd38e8b37ac7965b4857bd65bf7e1d85070ca49a0756
+SIZE (auerlab-biolibc-tools-0.1.4-13-g0375b83_GH0.tar.gz) = 29337
diff --git a/biology/biolibc-tools/pkg-descr b/biology/biolibc-tools/pkg-descr
index 0eed7c2f7313..4eaefc55cd42 100644
--- a/biology/biolibc-tools/pkg-descr
+++ b/biology/biolibc-tools/pkg-descr
@@ -2,5 +2,3 @@ Biolibc-tools is a collection of simple fast, memory-efficient,
programs for processing biological data. These are simple programs
built on biolibc that are not complex enough to warrant a separate
project.
-
-WWW: https://github.com/auerlab/biolibc-tools
diff --git a/biology/biolibc-tools/pkg-plist b/biology/biolibc-tools/pkg-plist
index 04756a2801be..1aa547c3aae4 100644
--- a/biology/biolibc-tools/pkg-plist
+++ b/biology/biolibc-tools/pkg-plist
@@ -1,7 +1,29 @@
-bin/fastq-derep.sh
-bin/fastx-derep
-bin/fastx2tsv
+bin/blt
+libexec/biolibc-tools/chrom-lens
+libexec/biolibc-tools/deromanize
+libexec/biolibc-tools/ensemblid2gene
+libexec/biolibc-tools/extract-seq
+libexec/biolibc-tools/fasta2seq
+libexec/biolibc-tools/fastq-derep.sh
+libexec/biolibc-tools/fastx-derep
+libexec/biolibc-tools/fastx-stats
+libexec/biolibc-tools/fastx2tsv
+libexec/biolibc-tools/find-orfs
+libexec/biolibc-tools/gff3-to-bed
libexec/biolibc-tools/uniq-seqs.awk
-man/man1/fastq-dedup.sh.1.gz
-man/man1/fastx-derep.1.gz
-man/man1/fastx2tsv.1.gz
+libexec/biolibc-tools/vcf-downsample
+libexec/biolibc-tools/vcf-search
+share/man/man1/blt-chrom-lens.1.gz
+share/man/man1/blt-deromanize.1.gz
+share/man/man1/blt-ensemblid2gene.1.gz
+share/man/man1/blt-extract-seq.1.gz
+share/man/man1/blt-fasta2seq.1.gz
+share/man/man1/blt-fastq-derep.sh.1.gz
+share/man/man1/blt-fastx-derep.1.gz
+share/man/man1/blt-fastx-stats.1.gz
+share/man/man1/blt-fastx2tsv.1.gz
+share/man/man1/blt-find-orfs.1.gz
+share/man/man1/blt-gff3-to-bed.1.gz
+share/man/man1/blt-vcf-downsample.1.gz
+share/man/man1/blt-vcf-search.1.gz
+share/man/man1/blt.1.gz
diff --git a/biology/biolibc/Makefile b/biology/biolibc/Makefile
index 955adb3dd20c..954784150868 100644
--- a/biology/biolibc/Makefile
+++ b/biology/biolibc/Makefile
@@ -1,10 +1,11 @@
PORTNAME= biolibc
-DISTVERSION= 0.2.0-1
-DISTVERSIONSUFFIX= -gf6de6e0
+DISTVERSION= 0.2.6
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Low-level high-performance bioinformatics library
+WWW= https://github.com/auerlab/biolibc
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -16,6 +17,8 @@ USE_LDCONFIG= yes
GH_ACCOUNT= auerlab
+MAKE_ARGS+= MANDIR=${PREFIX}/share/man
+
INSTALL_TARGET= install-strip
pre-build:
diff --git a/biology/biolibc/distinfo b/biology/biolibc/distinfo
index f18e4bb34d9b..5cf48814bfd6 100644
--- a/biology/biolibc/distinfo
+++ b/biology/biolibc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1630598518
-SHA256 (auerlab-biolibc-0.2.0-1-gf6de6e0_GH0.tar.gz) = d0b1cf0185cc566570bafbce50c1d98144bc88936bb58860580f597000770798
-SIZE (auerlab-biolibc-0.2.0-1-gf6de6e0_GH0.tar.gz) = 117521
+TIMESTAMP = 1698064273
+SHA256 (auerlab-biolibc-0.2.6_GH0.tar.gz) = d3807734b6e615e7655d86591778784f8360fc30c37a0beff54212193d3c3dd0
+SIZE (auerlab-biolibc-0.2.6_GH0.tar.gz) = 147823
diff --git a/biology/biolibc/pkg-descr b/biology/biolibc/pkg-descr
index 25ace775ec47..73004372d4b0 100644
--- a/biology/biolibc/pkg-descr
+++ b/biology/biolibc/pkg-descr
@@ -3,5 +3,3 @@ processing biological data. Like libc, it consists of numerous disparate,
general-purpose functions which could be used by a wide variety of
applications. These include functions for streaming common file formats such
as SAM and VCF, string functions specific to bioinformatics, etc.
-
-WWW: https://github.com/auerlab/biolibc
diff --git a/biology/biolibc/pkg-plist b/biology/biolibc/pkg-plist
index c871ae3b95ff..a8b6a302ee2b 100644
--- a/biology/biolibc/pkg-plist
+++ b/biology/biolibc/pkg-plist
@@ -1,559 +1,527 @@
+include/biolibc/align-accessors.h
+include/biolibc/align-mutators.h
+include/biolibc/align-rvs.h
+include/biolibc/align.h
+include/biolibc/bed-accessors.h
+include/biolibc/bed-mutators.h
+include/biolibc/bed-rvs.h
include/biolibc/bed.h
include/biolibc/biolibc.h
include/biolibc/biostring.h
+include/biolibc/fasta-accessors.h
+include/biolibc/fasta-mutators.h
+include/biolibc/fasta-rvs.h
include/biolibc/fasta.h
+include/biolibc/fastq-accessors.h
+include/biolibc/fastq-mutators.h
+include/biolibc/fastq-rvs.h
include/biolibc/fastq.h
+include/biolibc/fastx-accessors.h
+include/biolibc/fastx-mutators.h
+include/biolibc/fastx-rvs.h
include/biolibc/fastx.h
-include/biolibc/gff.h
+include/biolibc/gff3-accessors.h
+include/biolibc/gff3-index-accessors.h
+include/biolibc/gff3-index-mutators.h
+include/biolibc/gff3-index-rvs.h
+include/biolibc/gff3-index.h
+include/biolibc/gff3-mutators.h
+include/biolibc/gff3-rvs.h
+include/biolibc/gff3.h
+include/biolibc/overlap-accessors.h
+include/biolibc/overlap-mutators.h
+include/biolibc/overlap-rvs.h
include/biolibc/overlap.h
+include/biolibc/pos-list-accessors.h
+include/biolibc/pos-list-mutators.h
+include/biolibc/pos-list-rvs.h
include/biolibc/pos-list.h
+include/biolibc/sam-accessors.h
+include/biolibc/sam-buff-accessors.h
+include/biolibc/sam-buff-mutators.h
+include/biolibc/sam-buff-rvs.h
include/biolibc/sam-buff.h
+include/biolibc/sam-mutators.h
+include/biolibc/sam-rvs.h
include/biolibc/sam.h
+include/biolibc/translate.h
+include/biolibc/vcf-accessors.h
+include/biolibc/vcf-mutators.h
+include/biolibc/vcf-rvs.h
include/biolibc/vcf.h
lib/libbiolibc.a
lib/libbiolibc.so
lib/libbiolibc.so.2
lib/libbiolibc.so.2.0
-man/man3/BL_BED_BLOCK_COUNT.3.gz
-man/man3/BL_BED_BLOCK_SIZES.3.gz
-man/man3/BL_BED_BLOCK_SIZES_AE.3.gz
-man/man3/BL_BED_BLOCK_STARTS.3.gz
-man/man3/BL_BED_BLOCK_STARTS_AE.3.gz
-man/man3/BL_BED_CHROM.3.gz
-man/man3/BL_BED_CHROM_AE.3.gz
-man/man3/BL_BED_CHROM_END.3.gz
-man/man3/BL_BED_CHROM_START.3.gz
-man/man3/BL_BED_FIELDS.3.gz
-man/man3/BL_BED_ITEM_RGB.3.gz
-man/man3/BL_BED_ITEM_RGB_AE.3.gz
-man/man3/BL_BED_NAME.3.gz
-man/man3/BL_BED_NAME_AE.3.gz
-man/man3/BL_BED_SCORE.3.gz
-man/man3/BL_BED_SET_BLOCK_COUNT.3.gz
-man/man3/BL_BED_SET_BLOCK_SIZES.3.gz
-man/man3/BL_BED_SET_BLOCK_SIZES_AE.3.gz
-man/man3/BL_BED_SET_BLOCK_SIZES_CPY.3.gz
-man/man3/BL_BED_SET_BLOCK_STARTS.3.gz
-man/man3/BL_BED_SET_BLOCK_STARTS_AE.3.gz
-man/man3/BL_BED_SET_BLOCK_STARTS_CPY.3.gz
-man/man3/BL_BED_SET_CHROM.3.gz
-man/man3/BL_BED_SET_CHROM_AE.3.gz
-man/man3/BL_BED_SET_CHROM_CPY.3.gz
-man/man3/BL_BED_SET_CHROM_END.3.gz
-man/man3/BL_BED_SET_CHROM_START.3.gz
-man/man3/BL_BED_SET_FIELDS.3.gz
-man/man3/BL_BED_SET_ITEM_RGB.3.gz
-man/man3/BL_BED_SET_ITEM_RGB_AE.3.gz
-man/man3/BL_BED_SET_ITEM_RGB_CPY.3.gz
-man/man3/BL_BED_SET_NAME.3.gz
-man/man3/BL_BED_SET_NAME_AE.3.gz
-man/man3/BL_BED_SET_NAME_CPY.3.gz
-man/man3/BL_BED_SET_SCORE.3.gz
-man/man3/BL_BED_SET_STRAND.3.gz
-man/man3/BL_BED_SET_THICK_END.3.gz
-man/man3/BL_BED_SET_THICK_START.3.gz
-man/man3/BL_BED_STRAND.3.gz
-man/man3/BL_BED_THICK_END.3.gz
-man/man3/BL_BED_THICK_START.3.gz
-man/man3/BL_FASTA_DESC.3.gz
-man/man3/BL_FASTA_DESC_AE.3.gz
-man/man3/BL_FASTA_DESC_ARRAY_SIZE.3.gz
-man/man3/BL_FASTA_DESC_LEN.3.gz
-man/man3/BL_FASTA_SEQ.3.gz
-man/man3/BL_FASTA_SEQ_AE.3.gz
-man/man3/BL_FASTA_SEQ_ARRAY_SIZE.3.gz
-man/man3/BL_FASTA_SEQ_LEN.3.gz
-man/man3/BL_FASTA_SET_DESC.3.gz
-man/man3/BL_FASTA_SET_DESC_AE.3.gz
-man/man3/BL_FASTA_SET_DESC_ARRAY_SIZE.3.gz
-man/man3/BL_FASTA_SET_DESC_CPY.3.gz
-man/man3/BL_FASTA_SET_DESC_LEN.3.gz
-man/man3/BL_FASTA_SET_SEQ.3.gz
-man/man3/BL_FASTA_SET_SEQ_AE.3.gz
-man/man3/BL_FASTA_SET_SEQ_ARRAY_SIZE.3.gz
-man/man3/BL_FASTA_SET_SEQ_CPY.3.gz
-man/man3/BL_FASTA_SET_SEQ_LEN.3.gz
-man/man3/BL_FASTQ_DESC.3.gz
-man/man3/BL_FASTQ_DESC_AE.3.gz
-man/man3/BL_FASTQ_DESC_ARRAY_SIZE.3.gz
-man/man3/BL_FASTQ_DESC_LEN.3.gz
-man/man3/BL_FASTQ_PLUS.3.gz
-man/man3/BL_FASTQ_PLUS_AE.3.gz
-man/man3/BL_FASTQ_PLUS_ARRAY_SIZE.3.gz
-man/man3/BL_FASTQ_PLUS_LEN.3.gz
-man/man3/BL_FASTQ_QUAL.3.gz
-man/man3/BL_FASTQ_QUAL_AE.3.gz
-man/man3/BL_FASTQ_QUAL_ARRAY_SIZE.3.gz
-man/man3/BL_FASTQ_QUAL_LEN.3.gz
-man/man3/BL_FASTQ_SEQ.3.gz
-man/man3/BL_FASTQ_SEQ_AE.3.gz
-man/man3/BL_FASTQ_SEQ_ARRAY_SIZE.3.gz
-man/man3/BL_FASTQ_SEQ_LEN.3.gz
-man/man3/BL_FASTQ_SET_DESC.3.gz
-man/man3/BL_FASTQ_SET_DESC_AE.3.gz
-man/man3/BL_FASTQ_SET_DESC_ARRAY_SIZE.3.gz
-man/man3/BL_FASTQ_SET_DESC_CPY.3.gz
-man/man3/BL_FASTQ_SET_DESC_LEN.3.gz
-man/man3/BL_FASTQ_SET_PLUS.3.gz
-man/man3/BL_FASTQ_SET_PLUS_AE.3.gz
-man/man3/BL_FASTQ_SET_PLUS_ARRAY_SIZE.3.gz
-man/man3/BL_FASTQ_SET_PLUS_CPY.3.gz
-man/man3/BL_FASTQ_SET_PLUS_LEN.3.gz
-man/man3/BL_FASTQ_SET_QUAL.3.gz
-man/man3/BL_FASTQ_SET_QUAL_AE.3.gz
-man/man3/BL_FASTQ_SET_QUAL_ARRAY_SIZE.3.gz
-man/man3/BL_FASTQ_SET_QUAL_CPY.3.gz
-man/man3/BL_FASTQ_SET_QUAL_LEN.3.gz
-man/man3/BL_FASTQ_SET_SEQ.3.gz
-man/man3/BL_FASTQ_SET_SEQ_AE.3.gz
-man/man3/BL_FASTQ_SET_SEQ_ARRAY_SIZE.3.gz
-man/man3/BL_FASTQ_SET_SEQ_CPY.3.gz
-man/man3/BL_FASTQ_SET_SEQ_LEN.3.gz
-man/man3/BL_GFF_ATTRIBUTES.3.gz
-man/man3/BL_GFF_ATTRIBUTES_AE.3.gz
-man/man3/BL_GFF_END.3.gz
-man/man3/BL_GFF_FEATURE.3.gz
-man/man3/BL_GFF_FEATURE_AE.3.gz
-man/man3/BL_GFF_FEATURE_ID.3.gz
-man/man3/BL_GFF_FEATURE_ID_AE.3.gz
-man/man3/BL_GFF_GENE_NAME.3.gz
-man/man3/BL_GFF_GENE_NAME_AE.3.gz
-man/man3/BL_GFF_PHASE.3.gz
-man/man3/BL_GFF_SCORE.3.gz
-man/man3/BL_GFF_SEQUENCE.3.gz
-man/man3/BL_GFF_SEQUENCE_AE.3.gz
-man/man3/BL_GFF_SET_ATTRIBUTES.3.gz
-man/man3/BL_GFF_SET_ATTRIBUTES_AE.3.gz
-man/man3/BL_GFF_SET_ATTRIBUTES_CPY.3.gz
-man/man3/BL_GFF_SET_END.3.gz
-man/man3/BL_GFF_SET_FEATURE.3.gz
-man/man3/BL_GFF_SET_FEATURE_AE.3.gz
-man/man3/BL_GFF_SET_FEATURE_CPY.3.gz
-man/man3/BL_GFF_SET_FEATURE_ID.3.gz
-man/man3/BL_GFF_SET_FEATURE_ID_AE.3.gz
-man/man3/BL_GFF_SET_FEATURE_ID_CPY.3.gz
-man/man3/BL_GFF_SET_GENE_NAME.3.gz
-man/man3/BL_GFF_SET_GENE_NAME_AE.3.gz
-man/man3/BL_GFF_SET_GENE_NAME_CPY.3.gz
-man/man3/BL_GFF_SET_PHASE.3.gz
-man/man3/BL_GFF_SET_SCORE.3.gz
-man/man3/BL_GFF_SET_SEQUENCE.3.gz
-man/man3/BL_GFF_SET_SEQUENCE_AE.3.gz
-man/man3/BL_GFF_SET_SEQUENCE_CPY.3.gz
-man/man3/BL_GFF_SET_SOURCE.3.gz
-man/man3/BL_GFF_SET_SOURCE_AE.3.gz
-man/man3/BL_GFF_SET_SOURCE_CPY.3.gz
-man/man3/BL_GFF_SET_START.3.gz
-man/man3/BL_GFF_SET_STRAND.3.gz
-man/man3/BL_GFF_SOURCE.3.gz
-man/man3/BL_GFF_SOURCE_AE.3.gz
-man/man3/BL_GFF_START.3.gz
-man/man3/BL_GFF_STRAND.3.gz
-man/man3/BL_OVERLAP_FEATURE1_LEN.3.gz
-man/man3/BL_OVERLAP_FEATURE2_LEN.3.gz
-man/man3/BL_OVERLAP_OVERLAP_END.3.gz
-man/man3/BL_OVERLAP_OVERLAP_LEN.3.gz
-man/man3/BL_OVERLAP_OVERLAP_START.3.gz
-man/man3/BL_OVERLAP_SET_FEATURE1_LEN.3.gz
-man/man3/BL_OVERLAP_SET_FEATURE2_LEN.3.gz
-man/man3/BL_OVERLAP_SET_OVERLAP_END.3.gz
-man/man3/BL_OVERLAP_SET_OVERLAP_LEN.3.gz
-man/man3/BL_OVERLAP_SET_OVERLAP_START.3.gz
-man/man3/BL_POS_LIST_ARRAY_SIZE.3.gz
-man/man3/BL_POS_LIST_COUNT.3.gz
-man/man3/BL_POS_LIST_POSITIONS.3.gz
-man/man3/BL_POS_LIST_POSITIONS_AE.3.gz
-man/man3/BL_POS_LIST_SET_ARRAY_SIZE.3.gz
-man/man3/BL_POS_LIST_SET_COUNT.3.gz
-man/man3/BL_POS_LIST_SET_POSITIONS.3.gz
-man/man3/BL_POS_LIST_SET_POSITIONS_AE.3.gz
-man/man3/BL_POS_LIST_SET_POSITIONS_CPY.3.gz
-man/man3/BL_SAM_BUFF_ALIGNMENTS.3.gz
-man/man3/BL_SAM_BUFF_ALIGNMENTS_AE.3.gz
-man/man3/BL_SAM_BUFF_BUFFERED_COUNT.3.gz
-man/man3/BL_SAM_BUFF_BUFF_SIZE.3.gz
-man/man3/BL_SAM_BUFF_DISCARDED_ALIGNMENTS.3.gz
-man/man3/BL_SAM_BUFF_DISCARDED_SCORE_SUM.3.gz
-man/man3/BL_SAM_BUFF_DISCARDED_TRAILING.3.gz
-man/man3/BL_SAM_BUFF_INC_DISCARDED_TRAILING.3.gz
-man/man3/BL_SAM_BUFF_INC_TOTAL_ALIGNMENTS.3.gz
-man/man3/BL_SAM_BUFF_INC_TRAILING_ALIGNMENTS.3.gz
-man/man3/BL_SAM_BUFF_MAPQ_HIGH.3.gz
-man/man3/BL_SAM_BUFF_MAPQ_LOW.3.gz
-man/man3/BL_SAM_BUFF_MAPQ_MIN.3.gz
-man/man3/BL_SAM_BUFF_MAPQ_SUM.3.gz
-man/man3/BL_SAM_BUFF_MAX_COUNT.3.gz
-man/man3/BL_SAM_BUFF_MAX_DISCARDED_SCORE.3.gz
-man/man3/BL_SAM_BUFF_MIN_DISCARDED_SCORE.3.gz
-man/man3/BL_SAM_BUFF_PREVIOUS_POS.3.gz
-man/man3/BL_SAM_BUFF_PREVIOUS_RNAME.3.gz
-man/man3/BL_SAM_BUFF_PREVIOUS_RNAME_AE.3.gz
-man/man3/BL_SAM_BUFF_READS_USED.3.gz
-man/man3/BL_SAM_BUFF_SET_ALIGNMENTS.3.gz
-man/man3/BL_SAM_BUFF_SET_ALIGNMENTS_AE.3.gz
-man/man3/BL_SAM_BUFF_SET_ALIGNMENTS_CPY.3.gz
-man/man3/BL_SAM_BUFF_SET_BUFFERED_COUNT.3.gz
-man/man3/BL_SAM_BUFF_SET_BUFF_SIZE.3.gz
-man/man3/BL_SAM_BUFF_SET_DISCARDED_ALIGNMENTS.3.gz
-man/man3/BL_SAM_BUFF_SET_DISCARDED_SCORE_SUM.3.gz
-man/man3/BL_SAM_BUFF_SET_DISCARDED_TRAILING.3.gz
-man/man3/BL_SAM_BUFF_SET_MAPQ_HIGH.3.gz
-man/man3/BL_SAM_BUFF_SET_MAPQ_LOW.3.gz
-man/man3/BL_SAM_BUFF_SET_MAPQ_MIN.3.gz
-man/man3/BL_SAM_BUFF_SET_MAPQ_SUM.3.gz
-man/man3/BL_SAM_BUFF_SET_MAX_COUNT.3.gz
-man/man3/BL_SAM_BUFF_SET_MAX_DISCARDED_SCORE.3.gz
-man/man3/BL_SAM_BUFF_SET_MIN_DISCARDED_SCORE.3.gz
-man/man3/BL_SAM_BUFF_SET_PREVIOUS_POS.3.gz
-man/man3/BL_SAM_BUFF_SET_PREVIOUS_RNAME.3.gz
-man/man3/BL_SAM_BUFF_SET_PREVIOUS_RNAME_AE.3.gz
-man/man3/BL_SAM_BUFF_SET_PREVIOUS_RNAME_CPY.3.gz
-man/man3/BL_SAM_BUFF_SET_READS_USED.3.gz
-man/man3/BL_SAM_BUFF_SET_TOTAL_ALIGNMENTS.3.gz
-man/man3/BL_SAM_BUFF_SET_TRAILING_ALIGNMENTS.3.gz
-man/man3/BL_SAM_BUFF_SET_UNMAPPED_ALIGNMENTS.3.gz
-man/man3/BL_SAM_BUFF_TOTAL_ALIGNMENTS.3.gz
-man/man3/BL_SAM_BUFF_TRAILING_ALIGNMENTS.3.gz
-man/man3/BL_SAM_BUFF_UNMAPPED_ALIGNMENTS.3.gz
-man/man3/BL_SAM_CIGAR.3.gz
-man/man3/BL_SAM_CIGAR_AE.3.gz
-man/man3/BL_SAM_FLAG.3.gz
-man/man3/BL_SAM_MAPQ.3.gz
-man/man3/BL_SAM_PNEXT.3.gz
-man/man3/BL_SAM_POS.3.gz
-man/man3/BL_SAM_QNAME.3.gz
-man/man3/BL_SAM_QNAME_AE.3.gz
-man/man3/BL_SAM_QUAL.3.gz
-man/man3/BL_SAM_QUAL_AE.3.gz
-man/man3/BL_SAM_QUAL_LEN.3.gz
-man/man3/BL_SAM_RNAME.3.gz
-man/man3/BL_SAM_RNAME_AE.3.gz
-man/man3/BL_SAM_RNEXT.3.gz
-man/man3/BL_SAM_RNEXT_AE.3.gz
-man/man3/BL_SAM_SEQ.3.gz
-man/man3/BL_SAM_SEQ_AE.3.gz
-man/man3/BL_SAM_SEQ_LEN.3.gz
-man/man3/BL_SAM_SET_CIGAR.3.gz
-man/man3/BL_SAM_SET_CIGAR_AE.3.gz
-man/man3/BL_SAM_SET_CIGAR_CPY.3.gz
-man/man3/BL_SAM_SET_FLAG.3.gz
-man/man3/BL_SAM_SET_MAPQ.3.gz
-man/man3/BL_SAM_SET_PNEXT.3.gz
-man/man3/BL_SAM_SET_POS.3.gz
-man/man3/BL_SAM_SET_QNAME.3.gz
-man/man3/BL_SAM_SET_QNAME_AE.3.gz
-man/man3/BL_SAM_SET_QNAME_CPY.3.gz
-man/man3/BL_SAM_SET_QUAL.3.gz
-man/man3/BL_SAM_SET_QUAL_AE.3.gz
-man/man3/BL_SAM_SET_QUAL_CPY.3.gz
-man/man3/BL_SAM_SET_QUAL_LEN.3.gz
-man/man3/BL_SAM_SET_RNAME.3.gz
-man/man3/BL_SAM_SET_RNAME_AE.3.gz
-man/man3/BL_SAM_SET_RNAME_CPY.3.gz
-man/man3/BL_SAM_SET_RNEXT.3.gz
-man/man3/BL_SAM_SET_RNEXT_AE.3.gz
-man/man3/BL_SAM_SET_RNEXT_CPY.3.gz
-man/man3/BL_SAM_SET_SEQ.3.gz
-man/man3/BL_SAM_SET_SEQ_AE.3.gz
-man/man3/BL_SAM_SET_SEQ_CPY.3.gz
-man/man3/BL_SAM_SET_SEQ_LEN.3.gz
-man/man3/BL_SAM_SET_TLEN.3.gz
-man/man3/BL_SAM_TLEN.3.gz
-man/man3/BL_VCF_ALT.3.gz
-man/man3/BL_VCF_ALT_AE.3.gz
-man/man3/BL_VCF_ALT_COUNT.3.gz
-man/man3/BL_VCF_CHROM.3.gz
-man/man3/BL_VCF_CHROM_AE.3.gz
-man/man3/BL_VCF_FILTER.3.gz
-man/man3/BL_VCF_FILTER_AE.3.gz
-man/man3/BL_VCF_FORMAT.3.gz
-man/man3/BL_VCF_FORMAT_AE.3.gz
-man/man3/BL_VCF_FORMAT_MAX.3.gz
-man/man3/BL_VCF_ID.3.gz
-man/man3/BL_VCF_ID_AE.3.gz
-man/man3/BL_VCF_INFO.3.gz
-man/man3/BL_VCF_INFO_AE.3.gz
-man/man3/BL_VCF_INFO_LEN.3.gz
-man/man3/BL_VCF_INFO_MAX.3.gz
-man/man3/BL_VCF_MULTI_SAMPLES.3.gz
-man/man3/BL_VCF_MULTI_SAMPLES_AE.3.gz
-man/man3/BL_VCF_OTHER_COUNT.3.gz
-man/man3/BL_VCF_PHREDS.3.gz
-man/man3/BL_VCF_PHREDS_AE.3.gz
-man/man3/BL_VCF_PHRED_BUFF_SIZE.3.gz
-man/man3/BL_VCF_PHRED_COUNT.3.gz
-man/man3/BL_VCF_POS.3.gz
-man/man3/BL_VCF_QUAL.3.gz
-man/man3/BL_VCF_QUAL_AE.3.gz
-man/man3/BL_VCF_REF.3.gz
-man/man3/BL_VCF_REF_AE.3.gz
-man/man3/BL_VCF_REF_COUNT.3.gz
-man/man3/BL_VCF_SAMPLE_MAX.3.gz
-man/man3/BL_VCF_SET_ALT.3.gz
-man/man3/BL_VCF_SET_ALT_AE.3.gz
-man/man3/BL_VCF_SET_ALT_COUNT.3.gz
-man/man3/BL_VCF_SET_ALT_CPY.3.gz
-man/man3/BL_VCF_SET_CHROM.3.gz
-man/man3/BL_VCF_SET_CHROM_AE.3.gz
-man/man3/BL_VCF_SET_CHROM_CPY.3.gz
-man/man3/BL_VCF_SET_FILTER.3.gz
-man/man3/BL_VCF_SET_FILTER_AE.3.gz
-man/man3/BL_VCF_SET_FILTER_CPY.3.gz
-man/man3/BL_VCF_SET_FORMAT.3.gz
-man/man3/BL_VCF_SET_FORMAT_AE.3.gz
-man/man3/BL_VCF_SET_FORMAT_CPY.3.gz
-man/man3/BL_VCF_SET_FORMAT_MAX.3.gz
-man/man3/BL_VCF_SET_ID.3.gz
-man/man3/BL_VCF_SET_ID_AE.3.gz
-man/man3/BL_VCF_SET_ID_CPY.3.gz
-man/man3/BL_VCF_SET_INFO.3.gz
-man/man3/BL_VCF_SET_INFO_AE.3.gz
-man/man3/BL_VCF_SET_INFO_CPY.3.gz
-man/man3/BL_VCF_SET_INFO_LEN.3.gz
-man/man3/BL_VCF_SET_INFO_MAX.3.gz
-man/man3/BL_VCF_SET_MULTI_SAMPLES.3.gz
-man/man3/BL_VCF_SET_MULTI_SAMPLES_AE.3.gz
-man/man3/BL_VCF_SET_MULTI_SAMPLES_CPY.3.gz
-man/man3/BL_VCF_SET_OTHER_COUNT.3.gz
-man/man3/BL_VCF_SET_PHREDS.3.gz
-man/man3/BL_VCF_SET_PHREDS_AE.3.gz
-man/man3/BL_VCF_SET_PHREDS_CPY.3.gz
-man/man3/BL_VCF_SET_PHRED_BUFF_SIZE.3.gz
-man/man3/BL_VCF_SET_PHRED_COUNT.3.gz
-man/man3/BL_VCF_SET_POS.3.gz
-man/man3/BL_VCF_SET_QUAL.3.gz
-man/man3/BL_VCF_SET_QUAL_AE.3.gz
-man/man3/BL_VCF_SET_QUAL_CPY.3.gz
-man/man3/BL_VCF_SET_REF.3.gz
-man/man3/BL_VCF_SET_REF_AE.3.gz
-man/man3/BL_VCF_SET_REF_COUNT.3.gz
-man/man3/BL_VCF_SET_REF_CPY.3.gz
-man/man3/BL_VCF_SET_SAMPLE_MAX.3.gz
-man/man3/BL_VCF_SET_SINGLE_SAMPLE.3.gz
-man/man3/BL_VCF_SET_SINGLE_SAMPLE_AE.3.gz
-man/man3/BL_VCF_SET_SINGLE_SAMPLE_CPY.3.gz
-man/man3/BL_VCF_SINGLE_SAMPLE.3.gz
-man/man3/BL_VCF_SINGLE_SAMPLE_AE.3.gz
-man/man3/biolibc.3.gz
-man/man3/bl_bed_check_order.3.gz
-man/man3/bl_bed_gff_cmp.3.gz
-man/man3/bl_bed_read.3.gz
-man/man3/bl_bed_set_block_count.3.gz
-man/man3/bl_bed_set_block_sizes.3.gz
-man/man3/bl_bed_set_block_sizes_ae.3.gz
-man/man3/bl_bed_set_block_sizes_cpy.3.gz
-man/man3/bl_bed_set_block_starts.3.gz
-man/man3/bl_bed_set_block_starts_ae.3.gz
-man/man3/bl_bed_set_block_starts_cpy.3.gz
-man/man3/bl_bed_set_chrom_ae.3.gz
-man/man3/bl_bed_set_chrom_cpy.3.gz
-man/man3/bl_bed_set_chrom_end.3.gz
-man/man3/bl_bed_set_chrom_start.3.gz
-man/man3/bl_bed_set_fields.3.gz
-man/man3/bl_bed_set_item_rgb_ae.3.gz
-man/man3/bl_bed_set_item_rgb_cpy.3.gz
-man/man3/bl_bed_set_name_ae.3.gz
-man/man3/bl_bed_set_name_cpy.3.gz
-man/man3/bl_bed_set_score.3.gz
-man/man3/bl_bed_set_strand.3.gz
-man/man3/bl_bed_set_thick_end.3.gz
-man/man3/bl_bed_set_thick_start.3.gz
-man/man3/bl_bed_skip_header.3.gz
-man/man3/bl_bed_write.3.gz
-man/man3/bl_chrom_name_cmp.3.gz
-man/man3/bl_fasta_free.3.gz
-man/man3/bl_fasta_init.3.gz
-man/man3/bl_fasta_read.3.gz
-man/man3/bl_fasta_set_desc.3.gz
-man/man3/bl_fasta_set_desc_ae.3.gz
-man/man3/bl_fasta_set_desc_array_size.3.gz
-man/man3/bl_fasta_set_desc_cpy.3.gz
-man/man3/bl_fasta_set_desc_len.3.gz
-man/man3/bl_fasta_set_seq.3.gz
-man/man3/bl_fasta_set_seq_ae.3.gz
-man/man3/bl_fasta_set_seq_array_size.3.gz
-man/man3/bl_fasta_set_seq_cpy.3.gz
-man/man3/bl_fasta_set_seq_len.3.gz
-man/man3/bl_fasta_write.3.gz
-man/man3/bl_fastq_free.3.gz
-man/man3/bl_fastq_init.3.gz
-man/man3/bl_fastq_read.3.gz
-man/man3/bl_fastq_set_desc.3.gz
-man/man3/bl_fastq_set_desc_ae.3.gz
-man/man3/bl_fastq_set_desc_array_size.3.gz
-man/man3/bl_fastq_set_desc_cpy.3.gz
-man/man3/bl_fastq_set_desc_len.3.gz
-man/man3/bl_fastq_set_plus.3.gz
-man/man3/bl_fastq_set_plus_ae.3.gz
-man/man3/bl_fastq_set_plus_array_size.3.gz
-man/man3/bl_fastq_set_plus_cpy.3.gz
-man/man3/bl_fastq_set_plus_len.3.gz
-man/man3/bl_fastq_set_qual.3.gz
-man/man3/bl_fastq_set_qual_ae.3.gz
-man/man3/bl_fastq_set_qual_array_size.3.gz
-man/man3/bl_fastq_set_qual_cpy.3.gz
-man/man3/bl_fastq_set_qual_len.3.gz
-man/man3/bl_fastq_set_seq.3.gz
-man/man3/bl_fastq_set_seq_ae.3.gz
-man/man3/bl_fastq_set_seq_array_size.3.gz
-man/man3/bl_fastq_set_seq_cpy.3.gz
-man/man3/bl_fastq_set_seq_len.3.gz
-man/man3/bl_fastq_write.3.gz
-man/man3/bl_fastx_desc.3.gz
-man/man3/bl_fastx_desc_len.3.gz
-man/man3/bl_fastx_free.3.gz
-man/man3/bl_fastx_init.3.gz
-man/man3/bl_fastx_plus.3.gz
-man/man3/bl_fastx_plus_len.3.gz
-man/man3/bl_fastx_qual.3.gz
-man/man3/bl_fastx_qual_len.3.gz
-man/man3/bl_fastx_read.3.gz
-man/man3/bl_fastx_seq.3.gz
-man/man3/bl_fastx_seq_len.3.gz
-man/man3/bl_fastx_write.3.gz
-man/man3/bl_gff_read.3.gz
-man/man3/bl_gff_set_attributes.3.gz
-man/man3/bl_gff_set_attributes_ae.3.gz
-man/man3/bl_gff_set_attributes_cpy.3.gz
-man/man3/bl_gff_set_end.3.gz
-man/man3/bl_gff_set_feature_ae.3.gz
-man/man3/bl_gff_set_feature_cpy.3.gz
-man/man3/bl_gff_set_feature_id.3.gz
-man/man3/bl_gff_set_feature_id_ae.3.gz
-man/man3/bl_gff_set_feature_id_cpy.3.gz
-man/man3/bl_gff_set_gene_name.3.gz
-man/man3/bl_gff_set_gene_name_ae.3.gz
-man/man3/bl_gff_set_gene_name_cpy.3.gz
-man/man3/bl_gff_set_phase.3.gz
-man/man3/bl_gff_set_score.3.gz
-man/man3/bl_gff_set_sequence_ae.3.gz
-man/man3/bl_gff_set_sequence_cpy.3.gz
-man/man3/bl_gff_set_source_ae.3.gz
-man/man3/bl_gff_set_source_cpy.3.gz
-man/man3/bl_gff_set_start.3.gz
-man/man3/bl_gff_set_strand.3.gz
-man/man3/bl_gff_skip_header.3.gz
-man/man3/bl_gff_to_bed.3.gz
-man/man3/bl_gff_write.3.gz
-man/man3/bl_overlap_print.3.gz
-man/man3/bl_overlap_set_all.3.gz
-man/man3/bl_overlap_set_feature1_len.3.gz
-man/man3/bl_overlap_set_feature2_len.3.gz
-man/man3/bl_overlap_set_overlap_end.3.gz
-man/man3/bl_overlap_set_overlap_len.3.gz
-man/man3/bl_overlap_set_overlap_start.3.gz
-man/man3/bl_pos_list_add_position.3.gz
-man/man3/bl_pos_list_allocate.3.gz
-man/man3/bl_pos_list_free.3.gz
-man/man3/bl_pos_list_from_csv.3.gz
-man/man3/bl_pos_list_set_array_size.3.gz
-man/man3/bl_pos_list_set_count.3.gz
-man/man3/bl_pos_list_set_positions.3.gz
-man/man3/bl_pos_list_set_positions_ae.3.gz
-man/man3/bl_pos_list_set_positions_cpy.3.gz
-man/man3/bl_pos_list_sort.3.gz
-man/man3/bl_sam_buff_add_alignment.3.gz
-man/man3/bl_sam_buff_alignment_ok.3.gz
-man/man3/bl_sam_buff_check_order.3.gz
-man/man3/bl_sam_buff_free_alignment.3.gz
-man/man3/bl_sam_buff_init.3.gz
-man/man3/bl_sam_buff_out_of_order.3.gz
-man/man3/bl_sam_buff_set_alignments.3.gz
-man/man3/bl_sam_buff_set_alignments_ae.3.gz
-man/man3/bl_sam_buff_set_alignments_cpy.3.gz
-man/man3/bl_sam_buff_set_buff_size.3.gz
-man/man3/bl_sam_buff_set_buffered_count.3.gz
-man/man3/bl_sam_buff_set_discarded_alignments.3.gz
-man/man3/bl_sam_buff_set_discarded_score_sum.3.gz
-man/man3/bl_sam_buff_set_discarded_trailing.3.gz
-man/man3/bl_sam_buff_set_mapq_high.3.gz
-man/man3/bl_sam_buff_set_mapq_low.3.gz
-man/man3/bl_sam_buff_set_mapq_min.3.gz
-man/man3/bl_sam_buff_set_mapq_sum.3.gz
-man/man3/bl_sam_buff_set_max_count.3.gz
-man/man3/bl_sam_buff_set_max_discarded_score.3.gz
-man/man3/bl_sam_buff_set_min_discarded_score.3.gz
-man/man3/bl_sam_buff_set_previous_pos.3.gz
-man/man3/bl_sam_buff_set_previous_rname_ae.3.gz
-man/man3/bl_sam_buff_set_previous_rname_cpy.3.gz
-man/man3/bl_sam_buff_set_reads_used.3.gz
-man/man3/bl_sam_buff_set_total_alignments.3.gz
-man/man3/bl_sam_buff_set_trailing_alignments.3.gz
-man/man3/bl_sam_buff_set_unmapped_alignments.3.gz
-man/man3/bl_sam_buff_shift.3.gz
-man/man3/bl_sam_copy.3.gz
-man/man3/bl_sam_free.3.gz
-man/man3/bl_sam_init.3.gz
-man/man3/bl_sam_read.3.gz
-man/man3/bl_sam_set_cigar_ae.3.gz
-man/man3/bl_sam_set_cigar_cpy.3.gz
-man/man3/bl_sam_set_flag.3.gz
-man/man3/bl_sam_set_mapq.3.gz
-man/man3/bl_sam_set_pnext.3.gz
-man/man3/bl_sam_set_pos.3.gz
-man/man3/bl_sam_set_qname_ae.3.gz
-man/man3/bl_sam_set_qname_cpy.3.gz
-man/man3/bl_sam_set_qual.3.gz
-man/man3/bl_sam_set_qual_ae.3.gz
-man/man3/bl_sam_set_qual_cpy.3.gz
-man/man3/bl_sam_set_qual_len.3.gz
-man/man3/bl_sam_set_rname_ae.3.gz
-man/man3/bl_sam_set_rname_cpy.3.gz
-man/man3/bl_sam_set_rnext_ae.3.gz
-man/man3/bl_sam_set_rnext_cpy.3.gz
-man/man3/bl_sam_set_seq.3.gz
-man/man3/bl_sam_set_seq_ae.3.gz
-man/man3/bl_sam_set_seq_cpy.3.gz
-man/man3/bl_sam_set_seq_len.3.gz
-man/man3/bl_sam_set_tlen.3.gz
-man/man3/bl_sam_write.3.gz
-man/man3/bl_vcf_call_downstream_of_alignment.3.gz
-man/man3/bl_vcf_call_in_alignment.3.gz
-man/man3/bl_vcf_call_out_of_order.3.gz
-man/man3/bl_vcf_free.3.gz
-man/man3/bl_vcf_get_sample_ids.3.gz
-man/man3/bl_vcf_init.3.gz
-man/man3/bl_vcf_parse_field_spec.3.gz
-man/man3/bl_vcf_read_ss_call.3.gz
-man/man3/bl_vcf_read_static_fields.3.gz
-man/man3/bl_vcf_sample_alloc.3.gz
-man/man3/bl_vcf_set_alt_ae.3.gz
-man/man3/bl_vcf_set_alt_count.3.gz
-man/man3/bl_vcf_set_alt_cpy.3.gz
-man/man3/bl_vcf_set_chrom_ae.3.gz
-man/man3/bl_vcf_set_chrom_cpy.3.gz
-man/man3/bl_vcf_set_filter_ae.3.gz
-man/man3/bl_vcf_set_filter_cpy.3.gz
-man/man3/bl_vcf_set_format.3.gz
-man/man3/bl_vcf_set_format_ae.3.gz
-man/man3/bl_vcf_set_format_cpy.3.gz
-man/man3/bl_vcf_set_format_max.3.gz
-man/man3/bl_vcf_set_id_ae.3.gz
-man/man3/bl_vcf_set_id_cpy.3.gz
-man/man3/bl_vcf_set_info.3.gz
-man/man3/bl_vcf_set_info_ae.3.gz
-man/man3/bl_vcf_set_info_cpy.3.gz
-man/man3/bl_vcf_set_info_len.3.gz
-man/man3/bl_vcf_set_info_max.3.gz
-man/man3/bl_vcf_set_multi_samples.3.gz
-man/man3/bl_vcf_set_multi_samples_ae.3.gz
-man/man3/bl_vcf_set_multi_samples_cpy.3.gz
-man/man3/bl_vcf_set_other_count.3.gz
-man/man3/bl_vcf_set_phred_buff_size.3.gz
-man/man3/bl_vcf_set_phred_count.3.gz
-man/man3/bl_vcf_set_phreds.3.gz
-man/man3/bl_vcf_set_phreds_ae.3.gz
-man/man3/bl_vcf_set_phreds_cpy.3.gz
-man/man3/bl_vcf_set_pos.3.gz
-man/man3/bl_vcf_set_qual_ae.3.gz
-man/man3/bl_vcf_set_qual_cpy.3.gz
-man/man3/bl_vcf_set_ref_ae.3.gz
-man/man3/bl_vcf_set_ref_count.3.gz
-man/man3/bl_vcf_set_ref_cpy.3.gz
-man/man3/bl_vcf_set_sample_max.3.gz
-man/man3/bl_vcf_set_single_sample.3.gz
-man/man3/bl_vcf_set_single_sample_ae.3.gz
-man/man3/bl_vcf_set_single_sample_cpy.3.gz
-man/man3/bl_vcf_skip_header.3.gz
-man/man3/bl_vcf_write_ss_call.3.gz
-man/man3/bl_vcf_write_static_fields.3.gz
+share/man/man3/BL_ALIGN_MAX_MISMATCH_PERCENT.3.gz
+share/man/man3/BL_ALIGN_MIN_MATCH.3.gz
+share/man/man3/BL_BED_BLOCK_COUNT.3.gz
+share/man/man3/BL_BED_BLOCK_SIZES.3.gz
+share/man/man3/BL_BED_BLOCK_SIZES_AE.3.gz
+share/man/man3/BL_BED_BLOCK_STARTS.3.gz
+share/man/man3/BL_BED_BLOCK_STARTS_AE.3.gz
+share/man/man3/BL_BED_CHROM.3.gz
+share/man/man3/BL_BED_CHROM_AE.3.gz
+share/man/man3/BL_BED_CHROM_END.3.gz
+share/man/man3/BL_BED_CHROM_START.3.gz
+share/man/man3/BL_BED_FIELDS.3.gz
+share/man/man3/BL_BED_ITEM_RGB.3.gz
+share/man/man3/BL_BED_ITEM_RGB_AE.3.gz
+share/man/man3/BL_BED_NAME.3.gz
+share/man/man3/BL_BED_NAME_AE.3.gz
+share/man/man3/BL_BED_SCORE.3.gz
+share/man/man3/BL_BED_STRAND.3.gz
+share/man/man3/BL_BED_THICK_END.3.gz
+share/man/man3/BL_BED_THICK_START.3.gz
+share/man/man3/BL_FASTA_DESC.3.gz
+share/man/man3/BL_FASTA_DESC_AE.3.gz
+share/man/man3/BL_FASTA_DESC_ARRAY_SIZE.3.gz
+share/man/man3/BL_FASTA_DESC_LEN.3.gz
+share/man/man3/BL_FASTA_SEQ.3.gz
+share/man/man3/BL_FASTA_SEQ_AE.3.gz
+share/man/man3/BL_FASTA_SEQ_ARRAY_SIZE.3.gz
+share/man/man3/BL_FASTA_SEQ_LEN.3.gz
+share/man/man3/BL_FASTQ_DESC.3.gz
+share/man/man3/BL_FASTQ_DESC_AE.3.gz
+share/man/man3/BL_FASTQ_DESC_ARRAY_SIZE.3.gz
+share/man/man3/BL_FASTQ_DESC_LEN.3.gz
+share/man/man3/BL_FASTQ_PLUS.3.gz
+share/man/man3/BL_FASTQ_PLUS_AE.3.gz
+share/man/man3/BL_FASTQ_PLUS_ARRAY_SIZE.3.gz
+share/man/man3/BL_FASTQ_PLUS_LEN.3.gz
+share/man/man3/BL_FASTQ_QUAL.3.gz
+share/man/man3/BL_FASTQ_QUAL_AE.3.gz
+share/man/man3/BL_FASTQ_QUAL_ARRAY_SIZE.3.gz
+share/man/man3/BL_FASTQ_QUAL_LEN.3.gz
+share/man/man3/BL_FASTQ_SEQ.3.gz
+share/man/man3/BL_FASTQ_SEQ_AE.3.gz
+share/man/man3/BL_FASTQ_SEQ_ARRAY_SIZE.3.gz
+share/man/man3/BL_FASTQ_SEQ_LEN.3.gz
+share/man/man3/BL_FASTX_FASTA.3.gz
+share/man/man3/BL_FASTX_FASTQ.3.gz
+share/man/man3/BL_FASTX_FORMAT.3.gz
+share/man/man3/BL_FASTX_UNION.3.gz
+share/man/man3/BL_FASTX_}.3.gz
+share/man/man3/BL_GFF_ATTRIBUTES.3.gz
+share/man/man3/BL_GFF_ATTRIBUTES_AE.3.gz
+share/man/man3/BL_GFF_ATTRIBUTES_ARRAY_SIZE.3.gz
+share/man/man3/BL_GFF_ATTRIBUTES_LEN.3.gz
+share/man/man3/BL_GFF_END.3.gz
+share/man/man3/BL_GFF_FEATURE_ID.3.gz
+share/man/man3/BL_GFF_FEATURE_ID_AE.3.gz
+share/man/man3/BL_GFF_FEATURE_NAME.3.gz
+share/man/man3/BL_GFF_FEATURE_NAME_AE.3.gz
+share/man/man3/BL_GFF_FEATURE_PARENT.3.gz
+share/man/man3/BL_GFF_FEATURE_PARENT_AE.3.gz
+share/man/man3/BL_GFF_FILE_POS.3.gz
+share/man/man3/BL_GFF_INDEX_ARRAY_SIZE.3.gz
+share/man/man3/BL_GFF_INDEX_COUNT.3.gz
+share/man/man3/BL_GFF_INDEX_END.3.gz
+share/man/man3/BL_GFF_INDEX_END_AE.3.gz
+share/man/man3/BL_GFF_INDEX_FILE_POS.3.gz
+share/man/man3/BL_GFF_INDEX_FILE_POS_AE.3.gz
+share/man/man3/BL_GFF_INDEX_SEQID.3.gz
+share/man/man3/BL_GFF_INDEX_SEQID_AE.3.gz
+share/man/man3/BL_GFF_INDEX_START.3.gz
+share/man/man3/BL_GFF_INDEX_START_AE.3.gz
+share/man/man3/BL_GFF_PHASE.3.gz
+share/man/man3/BL_GFF_SCORE.3.gz
+share/man/man3/BL_GFF_SEQID.3.gz
+share/man/man3/BL_GFF_SEQID_AE.3.gz
+share/man/man3/BL_GFF_SOURCE.3.gz
+share/man/man3/BL_GFF_SOURCE_AE.3.gz
+share/man/man3/BL_GFF_START.3.gz
+share/man/man3/BL_GFF_STRAND.3.gz
+share/man/man3/BL_GFF_TYPE.3.gz
+share/man/man3/BL_GFF_TYPE_AE.3.gz
+share/man/man3/BL_OVERLAP_FEATURE1_LEN.3.gz
+share/man/man3/BL_OVERLAP_FEATURE2_LEN.3.gz
+share/man/man3/BL_OVERLAP_OVERLAP_END.3.gz
+share/man/man3/BL_OVERLAP_OVERLAP_LEN.3.gz
+share/man/man3/BL_OVERLAP_OVERLAP_START.3.gz
+share/man/man3/BL_POS_LIST_ARRAY_SIZE.3.gz
+share/man/man3/BL_POS_LIST_COUNT.3.gz
+share/man/man3/BL_POS_LIST_POSITIONS.3.gz
+share/man/man3/BL_POS_LIST_POSITIONS_AE.3.gz
+share/man/man3/BL_SAM_BUFF_ALIGNMENTS.3.gz
+share/man/man3/BL_SAM_BUFF_ALIGNMENTS_AE.3.gz
+share/man/man3/BL_SAM_BUFF_BUFFERED_COUNT.3.gz
+share/man/man3/BL_SAM_BUFF_BUFF_SIZE.3.gz
+share/man/man3/BL_SAM_BUFF_DISCARDED_ALIGNMENTS.3.gz
+share/man/man3/BL_SAM_BUFF_DISCARDED_SCORE_SUM.3.gz
+share/man/man3/BL_SAM_BUFF_DISCARDED_TRAILING.3.gz
+share/man/man3/BL_SAM_BUFF_INC_DISCARDED_TRAILING.3.gz
+share/man/man3/BL_SAM_BUFF_INC_TOTAL_ALIGNMENTS.3.gz
+share/man/man3/BL_SAM_BUFF_INC_TRAILING_ALIGNMENTS.3.gz
+share/man/man3/BL_SAM_BUFF_MAPQ_HIGH.3.gz
+share/man/man3/BL_SAM_BUFF_MAPQ_LOW.3.gz
+share/man/man3/BL_SAM_BUFF_MAPQ_MIN.3.gz
+share/man/man3/BL_SAM_BUFF_MAPQ_SUM.3.gz
+share/man/man3/BL_SAM_BUFF_MAX_ALIGNMENTS.3.gz
+share/man/man3/BL_SAM_BUFF_MAX_COUNT.3.gz
+share/man/man3/BL_SAM_BUFF_MAX_DISCARDED_SCORE.3.gz
+share/man/man3/BL_SAM_BUFF_MIN_DISCARDED_SCORE.3.gz
+share/man/man3/BL_SAM_BUFF_PREVIOUS_POS.3.gz
+share/man/man3/BL_SAM_BUFF_PREVIOUS_RNAME.3.gz
+share/man/man3/BL_SAM_BUFF_PREVIOUS_RNAME_AE.3.gz
+share/man/man3/BL_SAM_BUFF_READS_USED.3.gz
+share/man/man3/BL_SAM_BUFF_TOTAL_ALIGNMENTS.3.gz
+share/man/man3/BL_SAM_BUFF_TRAILING_ALIGNMENTS.3.gz
+share/man/man3/BL_SAM_BUFF_UNMAPPED_ALIGNMENTS.3.gz
+share/man/man3/BL_SAM_CIGAR.3.gz
+share/man/man3/BL_SAM_CIGAR_AE.3.gz
+share/man/man3/BL_SAM_CIGAR_ARRAY_SIZE.3.gz
+share/man/man3/BL_SAM_CIGAR_LEN.3.gz
+share/man/man3/BL_SAM_FLAG.3.gz
+share/man/man3/BL_SAM_MAPQ.3.gz
+share/man/man3/BL_SAM_PNEXT.3.gz
+share/man/man3/BL_SAM_POS.3.gz
+share/man/man3/BL_SAM_QNAME.3.gz
+share/man/man3/BL_SAM_QNAME_AE.3.gz
+share/man/man3/BL_SAM_QUAL.3.gz
+share/man/man3/BL_SAM_QUAL_AE.3.gz
+share/man/man3/BL_SAM_QUAL_ARRAY_SIZE.3.gz
+share/man/man3/BL_SAM_QUAL_LEN.3.gz
+share/man/man3/BL_SAM_RNAME.3.gz
+share/man/man3/BL_SAM_RNAME_AE.3.gz
+share/man/man3/BL_SAM_RNEXT.3.gz
+share/man/man3/BL_SAM_RNEXT_AE.3.gz
+share/man/man3/BL_SAM_SEQ.3.gz
+share/man/man3/BL_SAM_SEQ_AE.3.gz
+share/man/man3/BL_SAM_SEQ_ARRAY_SIZE.3.gz
+share/man/man3/BL_SAM_SEQ_LEN.3.gz
+share/man/man3/BL_SAM_TLEN.3.gz
+share/man/man3/BL_VCF_ALT.3.gz
+share/man/man3/BL_VCF_ALT_AE.3.gz
+share/man/man3/BL_VCF_ALT_COUNT.3.gz
+share/man/man3/BL_VCF_CHROM.3.gz
+share/man/man3/BL_VCF_CHROM_AE.3.gz
+share/man/man3/BL_VCF_FILTER.3.gz
+share/man/man3/BL_VCF_FILTER_AE.3.gz
+share/man/man3/BL_VCF_FORMAT.3.gz
+share/man/man3/BL_VCF_FORMAT_AE.3.gz
+share/man/man3/BL_VCF_FORMAT_ARRAY_SIZE.3.gz
+share/man/man3/BL_VCF_FORMAT_LEN.3.gz
+share/man/man3/BL_VCF_ID.3.gz
+share/man/man3/BL_VCF_ID_AE.3.gz
+share/man/man3/BL_VCF_INFO.3.gz
+share/man/man3/BL_VCF_INFO_AE.3.gz
+share/man/man3/BL_VCF_INFO_ARRAY_SIZE.3.gz
+share/man/man3/BL_VCF_INFO_LEN.3.gz
+share/man/man3/BL_VCF_MULTI_SAMPLES.3.gz
+share/man/man3/BL_VCF_MULTI_SAMPLES_AE.3.gz
+share/man/man3/BL_VCF_MULTI_SAMPLE_ARRAY_SIZES.3.gz
+share/man/man3/BL_VCF_MULTI_SAMPLE_ARRAY_SIZES_AE.3.gz
+share/man/man3/BL_VCF_MULTI_SAMPLE_COUNT.3.gz
+share/man/man3/BL_VCF_MULTI_SAMPLE_LENS.3.gz
+share/man/man3/BL_VCF_MULTI_SAMPLE_LENS_AE.3.gz
+share/man/man3/BL_VCF_MULTI_SAMPLE_POINTER_ARRAY_SIZE.3.gz
+share/man/man3/BL_VCF_OTHER_COUNT.3.gz
+share/man/man3/BL_VCF_PHREDS.3.gz
+share/man/man3/BL_VCF_PHREDS_AE.3.gz
+share/man/man3/BL_VCF_PHRED_BUFF_SIZE.3.gz
+share/man/man3/BL_VCF_PHRED_COUNT.3.gz
+share/man/man3/BL_VCF_POS.3.gz
+share/man/man3/BL_VCF_QUAL.3.gz
+share/man/man3/BL_VCF_QUAL_AE.3.gz
+share/man/man3/BL_VCF_REF.3.gz
+share/man/man3/BL_VCF_REF_AE.3.gz
+share/man/man3/BL_VCF_REF_COUNT.3.gz
+share/man/man3/BL_VCF_SAMPLE_ARRAY_SIZE.3.gz
+share/man/man3/BL_VCF_SAMPLE_LEN.3.gz
+share/man/man3/BL_VCF_SAMPLE_MAX.3.gz
+share/man/man3/BL_VCF_SINGLE_SAMPLE.3.gz
+share/man/man3/BL_VCF_SINGLE_SAMPLE_AE.3.gz
+share/man/man3/BL_VCF_SINGLE_SAMPLE_ARRAY_SIZE.3.gz
+share/man/man3/BL_VCF_SINGLE_SAMPLE_LEN.3.gz
+share/man/man3/biolibc.3.gz
+share/man/man3/bl_align_map_seq_exact.3.gz
+share/man/man3/bl_align_map_seq_sub.3.gz
+share/man/man3/bl_align_set_max_mismatch_percent.3.gz
+share/man/man3/bl_align_set_min_match.3.gz
+share/man/man3/bl_bed_check_order.3.gz
+share/man/man3/bl_bed_gff3_cmp.3.gz
+share/man/man3/bl_bed_gff_cmp.3.gz
+share/man/man3/bl_bed_read.3.gz
+share/man/man3/bl_bed_set_block_count.3.gz
+share/man/man3/bl_bed_set_block_sizes.3.gz
+share/man/man3/bl_bed_set_block_sizes_ae.3.gz
+share/man/man3/bl_bed_set_block_sizes_cpy.3.gz
+share/man/man3/bl_bed_set_block_starts.3.gz
+share/man/man3/bl_bed_set_block_starts_ae.3.gz
+share/man/man3/bl_bed_set_block_starts_cpy.3.gz
+share/man/man3/bl_bed_set_chrom_ae.3.gz
+share/man/man3/bl_bed_set_chrom_cpy.3.gz
+share/man/man3/bl_bed_set_chrom_end.3.gz
+share/man/man3/bl_bed_set_chrom_start.3.gz
+share/man/man3/bl_bed_set_fields.3.gz
+share/man/man3/bl_bed_set_item_rgb_ae.3.gz
+share/man/man3/bl_bed_set_item_rgb_cpy.3.gz
+share/man/man3/bl_bed_set_name_ae.3.gz
+share/man/man3/bl_bed_set_name_cpy.3.gz
+share/man/man3/bl_bed_set_score.3.gz
+share/man/man3/bl_bed_set_strand.3.gz
+share/man/man3/bl_bed_set_thick_end.3.gz
+share/man/man3/bl_bed_set_thick_start.3.gz
+share/man/man3/bl_bed_skip_header.3.gz
+share/man/man3/bl_bed_write.3.gz
+share/man/man3/bl_chrom_name_cmp.3.gz
+share/man/man3/bl_fasta_free.3.gz
+share/man/man3/bl_fasta_init.3.gz
+share/man/man3/bl_fasta_read.3.gz
+share/man/man3/bl_fasta_set_desc.3.gz
+share/man/man3/bl_fasta_set_desc_ae.3.gz
+share/man/man3/bl_fasta_set_desc_array_size.3.gz
+share/man/man3/bl_fasta_set_desc_cpy.3.gz
+share/man/man3/bl_fasta_set_desc_len.3.gz
+share/man/man3/bl_fasta_set_seq.3.gz
+share/man/man3/bl_fasta_set_seq_ae.3.gz
+share/man/man3/bl_fasta_set_seq_array_size.3.gz
+share/man/man3/bl_fasta_set_seq_cpy.3.gz
+share/man/man3/bl_fasta_set_seq_len.3.gz
+share/man/man3/bl_fasta_write.3.gz
+share/man/man3/bl_fastq_3p_trim.3.gz
+share/man/man3/bl_fastq_find_3p_low_qual.3.gz
+share/man/man3/bl_fastq_free.3.gz
+share/man/man3/bl_fastq_init.3.gz
+share/man/man3/bl_fastq_name_cmp.3.gz
+share/man/man3/bl_fastq_read.3.gz
+share/man/man3/bl_fastq_set_desc.3.gz
+share/man/man3/bl_fastq_set_desc_ae.3.gz
+share/man/man3/bl_fastq_set_desc_array_size.3.gz
+share/man/man3/bl_fastq_set_desc_cpy.3.gz
+share/man/man3/bl_fastq_set_desc_len.3.gz
+share/man/man3/bl_fastq_set_plus.3.gz
+share/man/man3/bl_fastq_set_plus_ae.3.gz
+share/man/man3/bl_fastq_set_plus_array_size.3.gz
+share/man/man3/bl_fastq_set_plus_cpy.3.gz
+share/man/man3/bl_fastq_set_plus_len.3.gz
+share/man/man3/bl_fastq_set_qual.3.gz
+share/man/man3/bl_fastq_set_qual_ae.3.gz
+share/man/man3/bl_fastq_set_qual_array_size.3.gz
+share/man/man3/bl_fastq_set_qual_cpy.3.gz
+share/man/man3/bl_fastq_set_qual_len.3.gz
+share/man/man3/bl_fastq_set_seq.3.gz
+share/man/man3/bl_fastq_set_seq_ae.3.gz
+share/man/man3/bl_fastq_set_seq_array_size.3.gz
+share/man/man3/bl_fastq_set_seq_cpy.3.gz
+share/man/man3/bl_fastq_set_seq_len.3.gz
+share/man/man3/bl_fastq_write.3.gz
+share/man/man3/bl_fastx_desc.3.gz
+share/man/man3/bl_fastx_desc_len.3.gz
+share/man/man3/bl_fastx_free.3.gz
+share/man/man3/bl_fastx_init.3.gz
+share/man/man3/bl_fastx_plus.3.gz
+share/man/man3/bl_fastx_plus_len.3.gz
+share/man/man3/bl_fastx_qual.3.gz
+share/man/man3/bl_fastx_qual_len.3.gz
+share/man/man3/bl_fastx_read.3.gz
+share/man/man3/bl_fastx_seq.3.gz
+share/man/man3/bl_fastx_seq_len.3.gz
+share/man/man3/bl_fastx_set_fasta.3.gz
+share/man/man3/bl_fastx_set_fastq.3.gz
+share/man/man3/bl_fastx_set_format.3.gz
+share/man/man3/bl_fastx_write.3.gz
+share/man/man3/bl_gff3_copy.3.gz
+share/man/man3/bl_gff3_copy_header.3.gz
+share/man/man3/bl_gff3_dup.3.gz
+share/man/man3/bl_gff3_extract_attribute.3.gz
+share/man/man3/bl_gff3_free.3.gz
+share/man/man3/bl_gff3_index_add.3.gz
+share/man/man3/bl_gff3_index_seek_reverse.3.gz
+share/man/man3/bl_gff3_index_set_array_size.3.gz
+share/man/man3/bl_gff3_index_set_count.3.gz
+share/man/man3/bl_gff3_index_set_end.3.gz
+share/man/man3/bl_gff3_index_set_end_ae.3.gz
+share/man/man3/bl_gff3_index_set_end_cpy.3.gz
+share/man/man3/bl_gff3_index_set_file_pos.3.gz
+share/man/man3/bl_gff3_index_set_file_pos_ae.3.gz
+share/man/man3/bl_gff3_index_set_file_pos_cpy.3.gz
+share/man/man3/bl_gff3_index_set_seqid.3.gz
+share/man/man3/bl_gff3_index_set_seqid_ae.3.gz
+share/man/man3/bl_gff3_index_set_seqid_cpy.3.gz
+share/man/man3/bl_gff3_index_set_start.3.gz
+share/man/man3/bl_gff3_index_set_start_ae.3.gz
+share/man/man3/bl_gff3_index_set_start_cpy.3.gz
+share/man/man3/bl_gff3_init.3.gz
+share/man/man3/bl_gff3_read.3.gz
+share/man/man3/bl_gff3_sam_cmp.3.gz
+share/man/man3/bl_gff3_sam_overlap.3.gz
+share/man/man3/bl_gff3_set_attributes.3.gz
+share/man/man3/bl_gff3_set_attributes_ae.3.gz
+share/man/man3/bl_gff3_set_attributes_array_size.3.gz
+share/man/man3/bl_gff3_set_attributes_cpy.3.gz
+share/man/man3/bl_gff3_set_attributes_len.3.gz
+share/man/man3/bl_gff3_set_end.3.gz
+share/man/man3/bl_gff3_set_feature_id.3.gz
+share/man/man3/bl_gff3_set_feature_id_ae.3.gz
+share/man/man3/bl_gff3_set_feature_id_cpy.3.gz
+share/man/man3/bl_gff3_set_feature_name.3.gz
+share/man/man3/bl_gff3_set_feature_name_ae.3.gz
+share/man/man3/bl_gff3_set_feature_name_cpy.3.gz
+share/man/man3/bl_gff3_set_feature_parent.3.gz
+share/man/man3/bl_gff3_set_feature_parent_ae.3.gz
+share/man/man3/bl_gff3_set_feature_parent_cpy.3.gz
+share/man/man3/bl_gff3_set_file_pos.3.gz
+share/man/man3/bl_gff3_set_gene_name_cpy.3.gz
+share/man/man3/bl_gff3_set_phase.3.gz
+share/man/man3/bl_gff3_set_score.3.gz
+share/man/man3/bl_gff3_set_seqid_ae.3.gz
+share/man/man3/bl_gff3_set_seqid_cpy.3.gz
+share/man/man3/bl_gff3_set_source_ae.3.gz
+share/man/man3/bl_gff3_set_source_cpy.3.gz
+share/man/man3/bl_gff3_set_start.3.gz
+share/man/man3/bl_gff3_set_strand.3.gz
+share/man/man3/bl_gff3_set_type_ae.3.gz
+share/man/man3/bl_gff3_set_type_cpy.3.gz
+share/man/man3/bl_gff3_skip_header.3.gz
+share/man/man3/bl_gff3_to_bed.3.gz
+share/man/man3/bl_gff3_write.3.gz
+share/man/man3/bl_next_start_codon.3.gz
+share/man/man3/bl_next_stop_codon.3.gz
+share/man/man3/bl_overlap_print.3.gz
+share/man/man3/bl_overlap_set_all.3.gz
+share/man/man3/bl_overlap_set_feature1_len.3.gz
+share/man/man3/bl_overlap_set_feature2_len.3.gz
+share/man/man3/bl_overlap_set_overlap_end.3.gz
+share/man/man3/bl_overlap_set_overlap_len.3.gz
+share/man/man3/bl_overlap_set_overlap_start.3.gz
+share/man/man3/bl_pos_list_add_position.3.gz
+share/man/man3/bl_pos_list_allocate.3.gz
+share/man/man3/bl_pos_list_free.3.gz
+share/man/man3/bl_pos_list_from_csv.3.gz
+share/man/man3/bl_pos_list_set_array_size.3.gz
+share/man/man3/bl_pos_list_set_count.3.gz
+share/man/man3/bl_pos_list_set_positions.3.gz
+share/man/man3/bl_pos_list_set_positions_ae.3.gz
+share/man/man3/bl_pos_list_set_positions_cpy.3.gz
+share/man/man3/bl_pos_list_sort.3.gz
+share/man/man3/bl_sam_buff_add_alignment.3.gz
+share/man/man3/bl_sam_buff_alignment_ok.3.gz
+share/man/man3/bl_sam_buff_check_order.3.gz
+share/man/man3/bl_sam_buff_free_alignment.3.gz
+share/man/man3/bl_sam_buff_init.3.gz
+share/man/man3/bl_sam_buff_out_of_order.3.gz
+share/man/man3/bl_sam_buff_set_alignments.3.gz
+share/man/man3/bl_sam_buff_set_alignments_ae.3.gz
+share/man/man3/bl_sam_buff_set_alignments_cpy.3.gz
+share/man/man3/bl_sam_buff_set_buff_size.3.gz
+share/man/man3/bl_sam_buff_set_buffered_count.3.gz
+share/man/man3/bl_sam_buff_set_discarded_alignments.3.gz
+share/man/man3/bl_sam_buff_set_discarded_score_sum.3.gz
+share/man/man3/bl_sam_buff_set_discarded_trailing.3.gz
+share/man/man3/bl_sam_buff_set_mapq_high.3.gz
+share/man/man3/bl_sam_buff_set_mapq_low.3.gz
+share/man/man3/bl_sam_buff_set_mapq_min.3.gz
+share/man/man3/bl_sam_buff_set_mapq_sum.3.gz
+share/man/man3/bl_sam_buff_set_max_alignments.3.gz
+share/man/man3/bl_sam_buff_set_max_count.3.gz
+share/man/man3/bl_sam_buff_set_max_discarded_score.3.gz
+share/man/man3/bl_sam_buff_set_min_discarded_score.3.gz
+share/man/man3/bl_sam_buff_set_previous_pos.3.gz
+share/man/man3/bl_sam_buff_set_previous_rname_ae.3.gz
+share/man/man3/bl_sam_buff_set_previous_rname_cpy.3.gz
+share/man/man3/bl_sam_buff_set_reads_used.3.gz
+share/man/man3/bl_sam_buff_set_total_alignments.3.gz
+share/man/man3/bl_sam_buff_set_trailing_alignments.3.gz
+share/man/man3/bl_sam_buff_set_unmapped_alignments.3.gz
+share/man/man3/bl_sam_buff_shift.3.gz
+share/man/man3/bl_sam_copy.3.gz
+share/man/man3/bl_sam_copy_header.3.gz
+share/man/man3/bl_sam_fclose.3.gz
+share/man/man3/bl_sam_fopen.3.gz
+share/man/man3/bl_sam_free.3.gz
+share/man/man3/bl_sam_gff3_cmp.3.gz
+share/man/man3/bl_sam_gff3_overlap.3.gz
+share/man/man3/bl_sam_gff_cmp.3.gz
+share/man/man3/bl_sam_gff_overlap.3.gz
+share/man/man3/bl_sam_init.3.gz
+share/man/man3/bl_sam_read.3.gz
+share/man/man3/bl_sam_set_cigar.3.gz
+share/man/man3/bl_sam_set_cigar_ae.3.gz
+share/man/man3/bl_sam_set_cigar_array_size.3.gz
+share/man/man3/bl_sam_set_cigar_cpy.3.gz
+share/man/man3/bl_sam_set_cigar_len.3.gz
+share/man/man3/bl_sam_set_flag.3.gz
+share/man/man3/bl_sam_set_mapq.3.gz
+share/man/man3/bl_sam_set_pnext.3.gz
+share/man/man3/bl_sam_set_pos.3.gz
+share/man/man3/bl_sam_set_qname_ae.3.gz
+share/man/man3/bl_sam_set_qname_cpy.3.gz
+share/man/man3/bl_sam_set_qual.3.gz
+share/man/man3/bl_sam_set_qual_ae.3.gz
+share/man/man3/bl_sam_set_qual_array_size.3.gz
+share/man/man3/bl_sam_set_qual_cpy.3.gz
+share/man/man3/bl_sam_set_qual_len.3.gz
+share/man/man3/bl_sam_set_rname_ae.3.gz
+share/man/man3/bl_sam_set_rname_cpy.3.gz
+share/man/man3/bl_sam_set_rnext_ae.3.gz
+share/man/man3/bl_sam_set_rnext_cpy.3.gz
+share/man/man3/bl_sam_set_seq.3.gz
+share/man/man3/bl_sam_set_seq_ae.3.gz
+share/man/man3/bl_sam_set_seq_array_size.3.gz
+share/man/man3/bl_sam_set_seq_cpy.3.gz
+share/man/man3/bl_sam_set_seq_len.3.gz
+share/man/man3/bl_sam_set_tlen.3.gz
+share/man/man3/bl_sam_skip_header.3.gz
+share/man/man3/bl_sam_write.3.gz
+share/man/man3/bl_vcf_call_downstream_of_alignment.3.gz
+share/man/man3/bl_vcf_call_in_alignment.3.gz
+share/man/man3/bl_vcf_call_out_of_order.3.gz
+share/man/man3/bl_vcf_free.3.gz
+share/man/man3/bl_vcf_get_sample_ids.3.gz
+share/man/man3/bl_vcf_init.3.gz
+share/man/man3/bl_vcf_parse_field_spec.3.gz
+share/man/man3/bl_vcf_read_ss_call.3.gz
+share/man/man3/bl_vcf_read_static_fields.3.gz
+share/man/man3/bl_vcf_set_alt_ae.3.gz
+share/man/man3/bl_vcf_set_alt_count.3.gz
+share/man/man3/bl_vcf_set_alt_cpy.3.gz
+share/man/man3/bl_vcf_set_chrom_ae.3.gz
+share/man/man3/bl_vcf_set_chrom_cpy.3.gz
+share/man/man3/bl_vcf_set_filter_ae.3.gz
+share/man/man3/bl_vcf_set_filter_cpy.3.gz
+share/man/man3/bl_vcf_set_format.3.gz
+share/man/man3/bl_vcf_set_format_ae.3.gz
+share/man/man3/bl_vcf_set_format_array_size.3.gz
+share/man/man3/bl_vcf_set_format_cpy.3.gz
+share/man/man3/bl_vcf_set_format_len.3.gz
+share/man/man3/bl_vcf_set_id_ae.3.gz
+share/man/man3/bl_vcf_set_id_cpy.3.gz
+share/man/man3/bl_vcf_set_info.3.gz
+share/man/man3/bl_vcf_set_info_ae.3.gz
+share/man/man3/bl_vcf_set_info_array_size.3.gz
+share/man/man3/bl_vcf_set_info_cpy.3.gz
+share/man/man3/bl_vcf_set_info_len.3.gz
+share/man/man3/bl_vcf_set_multi_sample_array_sizes.3.gz
+share/man/man3/bl_vcf_set_multi_sample_array_sizes_ae.3.gz
+share/man/man3/bl_vcf_set_multi_sample_array_sizes_cpy.3.gz
+share/man/man3/bl_vcf_set_multi_sample_count.3.gz
+share/man/man3/bl_vcf_set_multi_sample_lens.3.gz
+share/man/man3/bl_vcf_set_multi_sample_lens_ae.3.gz
+share/man/man3/bl_vcf_set_multi_sample_lens_cpy.3.gz
+share/man/man3/bl_vcf_set_multi_sample_pointer_array_size.3.gz
+share/man/man3/bl_vcf_set_multi_samples.3.gz
+share/man/man3/bl_vcf_set_multi_samples_ae.3.gz
+share/man/man3/bl_vcf_set_multi_samples_cpy.3.gz
+share/man/man3/bl_vcf_set_other_count.3.gz
+share/man/man3/bl_vcf_set_phred_buff_size.3.gz
+share/man/man3/bl_vcf_set_phred_count.3.gz
+share/man/man3/bl_vcf_set_phreds.3.gz
+share/man/man3/bl_vcf_set_phreds_ae.3.gz
+share/man/man3/bl_vcf_set_phreds_cpy.3.gz
+share/man/man3/bl_vcf_set_pos.3.gz
+share/man/man3/bl_vcf_set_qual_ae.3.gz
+share/man/man3/bl_vcf_set_qual_cpy.3.gz
+share/man/man3/bl_vcf_set_ref_ae.3.gz
+share/man/man3/bl_vcf_set_ref_count.3.gz
+share/man/man3/bl_vcf_set_ref_cpy.3.gz
+share/man/man3/bl_vcf_set_single_sample.3.gz
+share/man/man3/bl_vcf_set_single_sample_ae.3.gz
+share/man/man3/bl_vcf_set_single_sample_array_size.3.gz
+share/man/man3/bl_vcf_set_single_sample_cpy.3.gz
+share/man/man3/bl_vcf_set_single_sample_len.3.gz
+share/man/man3/bl_vcf_skip_header.3.gz
+share/man/man3/bl_vcf_skip_meta_data.3.gz
+share/man/man3/bl_vcf_write_ss_call.3.gz
+share/man/man3/bl_vcf_write_static_fields.3.gz
diff --git a/biology/bioparser/Makefile b/biology/bioparser/Makefile
index bd4420d8cd69..0608c7adae52 100644
--- a/biology/bioparser/Makefile
+++ b/biology/bioparser/Makefile
@@ -1,14 +1,16 @@
PORTNAME= bioparser
-DISTVERSION= 3.0.12-2
-DISTVERSIONSUFFIX= -g700e82a
+DISTVERSION= 3.1.0
CATEGORIES= biology devel
MAINTAINER= yuri@FreeBSD.org
COMMENT= C++ header-only parsing library for several formats in bioinformatics
+WWW= https://github.com/rvaser/bioparser
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
+BUILD_DEPENDS= biosoup>0:biology/biosoup
+RUN_DEPENDS= biosoup>0:biology/biosoup
TEST_DEPENDS= googletest>0:devel/googletest
USES= cmake
diff --git a/biology/bioparser/distinfo b/biology/bioparser/distinfo
index d1c92af3334e..1cb078147fdb 100644
--- a/biology/bioparser/distinfo
+++ b/biology/bioparser/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1612378926
-SHA256 (rvaser-bioparser-3.0.12-2-g700e82a_GH0.tar.gz) = f2f1e68081ce7f1559ac0e3cb5748b6917ddeb7aa67b8a4c7a11092cfdcb7a4e
-SIZE (rvaser-bioparser-3.0.12-2-g700e82a_GH0.tar.gz) = 1013702
+TIMESTAMP = 1693289836
+SHA256 (rvaser-bioparser-3.1.0_GH0.tar.gz) = ddb48cb456c72cf2955adf056c9204caf65483ec0a5bbba47389bc30ed9fdd05
+SIZE (rvaser-bioparser-3.1.0_GH0.tar.gz) = 1016738
diff --git a/biology/bioparser/pkg-descr b/biology/bioparser/pkg-descr
index 0f798302ad87..6955f6d2dee8 100644
--- a/biology/bioparser/pkg-descr
+++ b/biology/bioparser/pkg-descr
@@ -1,4 +1,2 @@
Bioparser is a C++ header only parsing library for several formats in
bioinformatics (FASTA/Q, MHAP/PAF/SAM), with support for zlib compressed files.
-
-WWW: https://github.com/rvaser/bioparser
diff --git a/biology/biosig/Makefile b/biology/biosig/Makefile
index 91d5131797fb..f34dfee41237 100644
--- a/biology/biosig/Makefile
+++ b/biology/biosig/Makefile
@@ -1,11 +1,12 @@
PORTNAME= biosig
-DISTVERSION= 2.3.3
+DISTVERSION= 2.6.0
CATEGORIES= biology
MASTER_SITES= SF/${PORTNAME}/BioSig%20for%20C_C%2B%2B/src/
DISTNAME= ${PORTNAME}-${PORTVERSION}.src
MAINTAINER= yuri@FreeBSD.org
COMMENT= Library for reading and writing different biosignal data format
+WWW= https://biosig.sourceforge.net/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -15,20 +16,27 @@ LIB_DEPENDS= libb64.so:converters/libb64 \
libiconv.so:converters/libiconv \
libtinyxml.so:textproc/tinyxml
-USES= gmake iconv localbase:ldflags
+USES= gmake iconv localbase:ldflags tar:xz
USE_LDCONFIG= yes
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
CFLAGS+= -D__BYTE_ORDER=BYTE_ORDER -D__LITTLE_ENDIAN=LITTLE_ENDIAN -D__BIG_ENDIAN=BIG_ENDIAN \
-Dbswap_16=bswap16 -Dbswap_32=bswap32 -Dbswap_64=bswap64
LDFLAGS+= -liconv
+.include <bsd.port.pre.mk>
+
+.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400079 || ( ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 ))
+CFLAGS+= -Wno-error=int-conversion
+.endif
+
post-install:
.for f in bin/biosig_fhir bin/biosig2gdf bin/physicalunits bin/save2gdf lib/libbiosig.so.3
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/${f}
.endfor
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/biology/biosig/distinfo b/biology/biosig/distinfo
index af035532c834..e416fef54ba2 100644
--- a/biology/biosig/distinfo
+++ b/biology/biosig/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1629098745
-SHA256 (biosig-2.3.3.src.tar.gz) = ecff695e912265cbb817b936209086d1b5854afeb44ed58e701feeb2e0b1b33e
-SIZE (biosig-2.3.3.src.tar.gz) = 2525173
+TIMESTAMP = 1712349786
+SHA256 (biosig-2.6.0.src.tar.xz) = c45d076c2113c8a082a9d5775a428b690bb7d972ae2cd22a88d13cda9e9ffaee
+SIZE (biosig-2.6.0.src.tar.xz) = 1883048
diff --git a/biology/biosig/files/patch-Makefile.in b/biology/biosig/files/patch-Makefile.in
new file mode 100644
index 000000000000..f10025ef16ee
--- /dev/null
+++ b/biology/biosig/files/patch-Makefile.in
@@ -0,0 +1,49 @@
+--- Makefile.in.orig 2022-12-30 07:04:03 UTC
++++ Makefile.in
+@@ -11,7 +11,7 @@ exec_prefix ?= $(prefix)
+ first :: lib tools
+
+ java: lib
+- $(MAKE) -C biosig4c++/java
++ #$(MAKE) -C biosig4c++/java
+
+ lib:
+ $(MAKE) -C biosig4c++ lib
+@@ -52,8 +52,8 @@ distclean : clean
+ biosig4c++/python/setup.py \
+ biosig4c++/R/DESCRIPTION
+
+-ifneq (:,@JAVA@)
+-ifneq (:,@JAVAC@)
++ifneq (:,:)
++ifneq (:,:)
+ first :: lib
+ -$(MAKE) -C biosig4c++/java
+ endif
+@@ -91,7 +91,7 @@ biosig4octave ::
+ $(MAKE) -C biosig4c++ biosig4octave
+ ln -sf biosig4c++/mex/biosig4octave-@PACKAGE_VERSION@.src.tar.gz
+
+-ifneq (:,@OCTAVE@)
++ifneq (:,:)
+ ifneq (:,@MKOCTFILE@)
+ BIOSIG_MEX_DIR = $(DESTDIR)$(shell octave-config -p LOCALOCTFILEDIR)/biosig
+ BIOSIG_DIR = $(DESTDIR)$(shell octave-config -p LOCALFCNFILEDIR)/biosig
+@@ -127,7 +127,7 @@ clean ::
+ -$(MAKE) -C biosig4c++/php clean
+ endif
+
+-ifneq (:,@PYTHON3@)
++ifneq (:,:)
+ first :: python
+ python ::
+ -PYTHON=@PYTHON3@ $(MAKE) -C biosig4c++/python sdist
+@@ -145,7 +145,7 @@ clean ::
+ $(MAKE) -C biosig4c++/python clean
+ endif
+
+-ifneq (:,@R@)
++ifneq (:,:)
+ first ::
+ -$(MAKE) -C biosig4c++/R build
+ install ::
diff --git a/biology/biosig/files/patch-biosig4c++_biosig-dev.h b/biology/biosig/files/patch-biosig4c++_biosig-dev.h
index 39fedc40975c..8a489fdfc0db 100644
--- a/biology/biosig/files/patch-biosig4c++_biosig-dev.h
+++ b/biology/biosig/files/patch-biosig4c++_biosig-dev.h
@@ -1,4 +1,4 @@
---- biosig4c++/biosig-dev.h.orig 2021-08-13 09:17:15 UTC
+--- biosig4c++/biosig-dev.h.orig 2022-10-08 10:54:15 UTC
+++ biosig4c++/biosig-dev.h
@@ -35,6 +35,8 @@
#include <time.h>
@@ -9,13 +9,16 @@
#ifdef __cplusplus
extern "C" {
-@@ -549,6 +551,9 @@ HDRTYPE* sopen_extended(const char* FileName, const ch
+@@ -549,6 +551,12 @@ HDRTYPE* sopen_extended(const char* FileName, const ch
#elif defined(__linux__)
# include <endian.h>
# include <byteswap.h>
+
+#elif defined(__FreeBSD__)
+# include <machine/endian.h>
++# define __BIG_ENDIAN _BIG_ENDIAN
++# define __LITTLE_ENDIAN _LITTLE_ENDIAN
++# define __BYTE_ORDER _BYTE_ORDER
- #elif defined(__GLIBC__) // for Hurd
- # include <endian.h>
+ #elif defined(__FreeBSD__)
+ # include <machine/endian.h>
diff --git a/biology/biosig/files/patch-biosig4c++_biosig.c b/biology/biosig/files/patch-biosig4c++_biosig.c
deleted file mode 100644
index 06f8a056571d..000000000000
--- a/biology/biosig/files/patch-biosig4c++_biosig.c
+++ /dev/null
@@ -1,43 +0,0 @@
---- biosig4c++/biosig.c.orig 2021-08-13 09:17:15 UTC
-+++ biosig4c++/biosig.c
-@@ -631,7 +631,7 @@ int ifsetpos(HDRTYPE* hdr, size_t *pos) {
- // gnu linux on sparc needs this
- fpos_t p;
- p.__pos = *pos;
--#elif __sparc__ || __APPLE__ || __MINGW32__ || ANDROID || __NetBSD__ || __CYGWIN__
-+#elif __sparc__ || __APPLE__ || __MINGW32__ || ANDROID || __NetBSD__ || __CYGWIN__ || __FreeBSD__
- fpos_t p = *pos;
- #else
- fpos_t p;
-@@ -652,7 +652,7 @@ int ifsetpos(HDRTYPE* hdr, size_t *pos) {
- #if __gnu_linux__
- // gnu linux on sparc needs this
- *pos = p.__pos;
--#elif __sparc__ || __APPLE__ || __MINGW32__ || ANDROID || __NetBSD__ || __CYGWIN__
-+#elif __sparc__ || __APPLE__ || __MINGW32__ || ANDROID || __NetBSD__ || __CYGWIN__ || __FreeBSD__
- *pos = p;
- #else
- *pos = p.__pos;
-@@ -678,7 +678,7 @@ int ifgetpos(HDRTYPE* hdr, size_t *pos) {
- #if __gnu_linux__
- // gnu linux on sparc needs this
- *pos = p.__pos; // ugly hack but working
--#elif __sparc__ || __APPLE__ || __MINGW32__ || ANDROID || __NetBSD__ || __CYGWIN__
-+#elif __sparc__ || __APPLE__ || __MINGW32__ || ANDROID || __NetBSD__ || __CYGWIN__ || __FreeBSD__
- *pos = p;
- #else
- *pos = p.__pos; // ugly hack but working
-@@ -1219,8 +1219,11 @@ HDRTYPE* constructHDR(const unsigned NS, const unsigne
- hdr->data.size[0] = 0; // rows
- hdr->data.size[1] = 0; // columns
- hdr->data.block = NULL;
-- hdr->T0 = t_time2gdf_time(time(NULL)-timezone); // localtime
-- hdr->tzmin = -timezone/60; // convert from seconds west of UTC to minutes east;
-+
-+ time_t t=time(NULL);
-+ struct tm *tt = localtime(&t);
-+ hdr->tzmin = tt->tm_gmtoff/60;
-+ hdr->T0 = t_time2gdf_time(time(NULL)-tt->tm_gmtoff); // localtime
-
- {
- uint8_t Equipment[8] = "b4c_1.5 ";
diff --git a/biology/biosig/files/patch-biosig4c++_t220_sopen__scp__write.c b/biology/biosig/files/patch-biosig4c++_t220_sopen__scp__write.c
deleted file mode 100644
index 20cb7ed4f3b8..000000000000
--- a/biology/biosig/files/patch-biosig4c++_t220_sopen__scp__write.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- biosig4c++/t220/sopen_scp_write.c.orig 2021-08-13 09:17:15 UTC
-+++ biosig4c++/t220/sopen_scp_write.c
-@@ -388,10 +388,8 @@ int sopen_SCP_write(HDRTYPE* hdr) {
- if (VERBOSE_LEVEL>7) fprintf(stdout,"Section 1 Tag 25 \n");
-
- gdf_time T1 = hdr->T0;
--#ifndef __APPLE__
-- T1 += (int32_t)ldexp(timezone/86400.0,32);
--#endif
-- T0_tm = gdf_time2tm_time(T1);
-+ T0_tm = gdf_time2tm_time(hdr->T0);
-+ T0_tm->tm_gmtoff = hdr->tzmin*60;
-
- *(ptr+sectionStart+curSectLen) = 25; // tag
- leu16a(4, ptr+sectionStart+curSectLen+1); // length
-@@ -719,10 +717,8 @@ int sopen_SCP_write(HDRTYPE* hdr) {
-
- // Recording Date and Time
- gdf_time T1 = hdr->T0;
--#ifndef __APPLE__
-- T1 += (int32_t)ldexp(timezone/86400.0,32);
--#endif
-- T0_tm = gdf_time2tm_time(T1);
-+ T0_tm = gdf_time2tm_time(hdr->T0);
-+ T0_tm->tm_gmtoff = hdr->tzmin*60;
-
- leu16a(T0_tm->tm_year+1900, PtrCurSect+10); // year
- PtrCurSect[12] = (uint8_t)(T0_tm->tm_mon + 1); // month
diff --git a/biology/biosig/pkg-descr b/biology/biosig/pkg-descr
index 5a12322fe229..f35f407e30db 100644
--- a/biology/biosig/pkg-descr
+++ b/biology/biosig/pkg-descr
@@ -6,5 +6,3 @@ application areas are: Neuroinformatics, brain-computer interfaces,
neurophysiology, psychology, cardiovascular systems and sleep research. The aim
of the BioSig project is to foster research in biomedical signal processing by
providing open source software tools for many different applications.
-
-WWW: http://biosig.sourceforge.net/
diff --git a/biology/biosig/pkg-plist b/biology/biosig/pkg-plist
index fca3a09eb6fe..4a9f0cfa1f21 100644
--- a/biology/biosig/pkg-plist
+++ b/biology/biosig/pkg-plist
@@ -17,17 +17,17 @@ lib/libbiosig.so
lib/libbiosig.so.3
lib/libphysicalunits.a
libdata/pkgconfig/libbiosig.pc
-man/man1/bin2rec.1.gz
-man/man1/biosig2gdf.1.gz
-man/man1/biosig_fhir.1.gz
-man/man1/heka2itx.1.gz
-man/man1/mexSLOAD.1.gz
-man/man1/physicalunits.1.gz
-man/man1/rec2bin.1.gz
-man/man1/save2aecg.1.gz
-man/man1/save2gdf.1.gz
-man/man1/save2scp.1.gz
-man/man1/sigviewer.1.gz
+share/man/man1/bin2rec.1.gz
+share/man/man1/biosig2gdf.1.gz
+share/man/man1/biosig_fhir.1.gz
+share/man/man1/heka2itx.1.gz
+share/man/man1/mexSLOAD.1.gz
+share/man/man1/physicalunits.1.gz
+share/man/man1/rec2bin.1.gz
+share/man/man1/save2aecg.1.gz
+share/man/man1/save2gdf.1.gz
+share/man/man1/save2scp.1.gz
+share/man/man1/sigviewer.1.gz
%%DATADIR%%/matlab/Contents.m
%%DATADIR%%/matlab/INDEX
%%DATADIR%%/matlab/INSTALL
@@ -218,12 +218,17 @@ man/man1/sigviewer.1.gz
%%DATADIR%%/matlab/t330_StimFit/Contents.m
%%DATADIR%%/matlab/t330_StimFit/demo_stimfit.m
%%DATADIR%%/matlab/t330_StimFit/microstimfit.m
+%%DATADIR%%/matlab/t330_StimFit/minidet.m
%%DATADIR%%/matlab/t330_StimFit/simul001.m
%%DATADIR%%/matlab/t330_StimFit/simul002.m
%%DATADIR%%/matlab/t340_MachineLearningOptimalDetection/README.md
+%%DATADIR%%/matlab/t340_MachineLearningOptimalDetection/apply_general_classifier.m
%%DATADIR%%/matlab/t340_MachineLearningOptimalDetection/demo_mod.m
+%%DATADIR%%/matlab/t340_MachineLearningOptimalDetection/demo_modx.m
+%%DATADIR%%/matlab/t340_MachineLearningOptimalDetection/demo_mody.m
%%DATADIR%%/matlab/t340_MachineLearningOptimalDetection/minidet2gdf.m
%%DATADIR%%/matlab/t340_MachineLearningOptimalDetection/mod_optimal_detection_filter.m
+%%DATADIR%%/matlab/t340_MachineLearningOptimalDetection/sload4mod.m
%%DATADIR%%/matlab/t400_Classification/Contents.m
%%DATADIR%%/matlab/t400_Classification/classify.m
%%DATADIR%%/matlab/t400_Classification/covm.m
diff --git a/biology/biosoup/Makefile b/biology/biosoup/Makefile
index f4e9db28e57e..5c145e4c4628 100644
--- a/biology/biosoup/Makefile
+++ b/biology/biosoup/Makefile
@@ -1,20 +1,23 @@
PORTNAME= biosoup
-DISTVERSION= g20201216
+DISTVERSION= 0.11.0
+PORTREVISION= 1
CATEGORIES= biology devel
MAINTAINER= yuri@FreeBSD.org
COMMENT= Collection of C++ header-only data structures for bioinformatics
+WWW= https://github.com/rvaser/biosoup
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
TEST_DEPENDS= googletest>0:devel/googletest
-USES= cmake
+USES= cmake compiler:c++14-lang
USE_GITHUB= yes
GH_ACCOUNT= rvaser
-GH_TAGNAME= e2b39f1
+
+CMAKE_OFF= biosoup_build_tests
NO_ARCH= yes
@@ -22,10 +25,10 @@ PLIST_FILES= include/biosoup/nucleic_acid.hpp \
include/biosoup/overlap.hpp \
include/biosoup/progress_bar.hpp \
include/biosoup/sequence.hpp \
- include/biosoup/timer.hpp
-
-do-install:
- cd ${WRKSRC}/include && ${COPYTREE_SHARE} ${PORTNAME} ${STAGEDIR}${PREFIX}/include
+ include/biosoup/timer.hpp \
+ lib/cmake/biosoup/biosoupConfig.cmake \
+ lib/cmake/biosoup/biosoupConfigVersion.cmake \
+ lib/cmake/biosoup/biosoupTargets.cmake
do-test:
@cd ${BUILD_WRKSRC} && \
diff --git a/biology/biosoup/distinfo b/biology/biosoup/distinfo
index 701a7ba7d32a..a099cfc17641 100644
--- a/biology/biosoup/distinfo
+++ b/biology/biosoup/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1611046547
-SHA256 (rvaser-biosoup-g20201216-e2b39f1_GH0.tar.gz) = fe122e65d1691ca781584d8bb42538c5904852ccbb1ec48bc13aa2652b0f9ddc
-SIZE (rvaser-biosoup-g20201216-e2b39f1_GH0.tar.gz) = 6979
+TIMESTAMP = 1684475677
+SHA256 (rvaser-biosoup-0.11.0_GH0.tar.gz) = e4addc3965ca9291535a131c07ef958a98e779ef1375d38d354536df66e16cd4
+SIZE (rvaser-biosoup-0.11.0_GH0.tar.gz) = 8555
diff --git a/biology/biosoup/pkg-descr b/biology/biosoup/pkg-descr
index 1d88fceadbcd..f6c4d768e203 100644
--- a/biology/biosoup/pkg-descr
+++ b/biology/biosoup/pkg-descr
@@ -1,4 +1,2 @@
-Biosoup is a c++ collection of header only data structures used for storage and
+Biosoup is a C++ collection of header only data structures used for storage and
logging in bioinformatics tools.
-
-WWW: https://github.com/rvaser/biosoup
diff --git a/biology/biostar-tools/Makefile b/biology/biostar-tools/Makefile
index 67ccc93ab5ad..8163303759cf 100644
--- a/biology/biostar-tools/Makefile
+++ b/biology/biostar-tools/Makefile
@@ -1,9 +1,11 @@
PORTNAME= biostar-tools
-PORTVERSION= 1.6.0
+PORTVERSION= 1.10.1
+PORTREVISION= 3
CATEGORIES= biology python
MAINTAINER= jwb@FreeBSD.org
COMMENT= Meta-port for Biostar Handbook tools
+WWW= https://www.biostarhandbook.com
LICENSE= BSD2CLAUSE
@@ -24,8 +26,8 @@ RUN_DEPENDS= wget>0:ftp/wget \
picard-tools>0:biology/picard-tools \
bbmap>0:biology/bbmap \
minimap2>0:biology/minimap2 \
- bwa>=0:biology/bwa \
- bowtie2>=0:biology/bowtie2 \
+ bwa>0:biology/bwa \
+ bowtie2>0:biology/bowtie2 \
samtools>0:biology/samtools \
emboss>0:biology/emboss \
bedtools>0:biology/bedtools \
@@ -34,7 +36,6 @@ RUN_DEPENDS= wget>0:ftp/wget \
seqtk>0:biology/seqtk \
datamash>0:textproc/datamash \
bcftools>0:biology/bcftools \
- sra-tools>0:biology/sra-tools \
subread>0:biology/subread \
hisat2>0:biology/hisat2 \
trimmomatic>0:biology/trimmomatic \
@@ -59,10 +60,22 @@ RUN_DEPENDS= wget>0:ftp/wget \
mafft>0:biology/mafft \
clustal-omega>0:biology/clustal-omega \
${PYTHON_PKGNAMEPREFIX}pywgsim>0:biology/py-pywgsim@${PY_FLAVOR} \
- sam2pairwise:biology/sam2pairwise
+ sam2pairwise>0:biology/sam2pairwise \
+ kallisto>0:biology/kallisto \
+ bamutil>0:biology/bamutil \
+ ${PYTHON_PKGNAMEPREFIX}deepTools>0:biology/py-deeptools@${PY_FLAVOR} \
+ igv>0:biology/igv \
+ gffread>0:biology/gffread
USES= metaport python
+.include <bsd.port.pre.mk>
+
+# sra-tools is only supported on specific architectures
+.if ${ARCH} == amd64 || ${ARCH} == aarch64
+RUN_DEPENDS+= sra-tools>0:biology/sra-tools
+.endif
+
SUB_FILES= biostar-shell
PLIST_FILES= bin/biostar-shell
@@ -70,4 +83,4 @@ do-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/bin
${INSTALL_SCRIPT} ${WRKDIR}/biostar-shell ${STAGEDIR}${PREFIX}/bin
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/biology/biostar-tools/distinfo b/biology/biostar-tools/distinfo
index eff441099c51..04755b578d3c 100644
--- a/biology/biostar-tools/distinfo
+++ b/biology/biostar-tools/distinfo
@@ -1 +1 @@
-TIMESTAMP = 1631047196
+TIMESTAMP = 1708090899
diff --git a/biology/biostar-tools/pkg-descr b/biology/biostar-tools/pkg-descr
index 104c8bdb5efb..41a5f646b935 100644
--- a/biology/biostar-tools/pkg-descr
+++ b/biology/biostar-tools/pkg-descr
@@ -1,18 +1,19 @@
-Biostar-Tools is a metaport for installing all the tools necessary to work
-through the Biostar Handbook, except for bedGrapToBigWig, which has license
-restrictions. If you need bedGraphToBigWig, run
+Biostar-Tools is a metaport for installing all the tools necessary to
+work through the Biostar Handbook, except for bedGrapToBigWig, which
+has license restrictions. If you need bedGraphToBigWig, run
cd /usr/ports/biology/ucsc-userapps && make install clean
-The handbook instructs the user to install these tools mostly via bioconda,
-which then requires the user to activate the bioconda environment each time
-they want to use the tools. This meta-package installs all of the tools
-except emboss to the default PATH so they just work without any special
-environment. Emboss commands are installed to /usr/local/emboss/bin due to
-conflicts with other packages.
-
-You can also install conda packages on FreeBSD. For details, see
+The handbook instructs the reader to install these tools mostly via
+bioconda, which then requires the user to activate the bioconda
+environment each time they want to use the tools. You can also
+install conda packages on FreeBSD if you wish. For details, see
/usr/ports/sysutils/linux-miniconda-installer/pkg-descr
-WWW: https://www.biostarhandbook.com
+This meta-package installs all of the tools except emboss to the
+default PATH (normally /usr/local/bin) so they just work without any
+special environment. Emboss commands are installed to
+/usr/local/emboss/bin due to conflicts with other packages. Run
+"biostar-shell" to add the emboss commands to your PATH, and simply
+exit the shell to return your PATH to normal.
diff --git a/biology/bolt-lmm/Makefile b/biology/bolt-lmm/Makefile
index 74284124e40a..dd722911809a 100644
--- a/biology/bolt-lmm/Makefile
+++ b/biology/bolt-lmm/Makefile
@@ -1,12 +1,13 @@
PORTNAME= bolt-lmm
-DISTVERSION= 2.3.4
-PORTREVISION= 4
+DISTVERSION= 2.3.6
+PORTREVISION= 8
CATEGORIES= biology
MASTER_SITES= https://data.broadinstitute.org/alkesgroup/BOLT-LMM/downloads/
DISTNAME= BOLT-LMM_v${PORTVERSION}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Mixed model association testing and variance component analysis
+WWW= https://data.broadinstitute.org/alkesgroup/BOLT-LMM/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/license.txt
@@ -15,16 +16,12 @@ LIB_DEPENDS= libnlopt.so:math/nlopt \
libopenblas.so:math/openblas \
libboost_program_options.so:devel/boost-libs
-# gcc-c++11-lib needed to link with boost. Also requires compiler:openmp, but
-# both merely add a GCC requirement.
-USES= compiler:gcc-c++11-lib gmake
+USES= gmake
BUILD_WRKSRC= ${WRKDIR}/${DISTNAME}/src
INSTALL_WRKSRC= ${WRKDIR}/${DISTNAME}/src
CXXFLAGS_i386= -DUSE_SSE -msse -msse2
CXXFLAGS_amd64= -DUSE_SSE
-CXXFLAGS_powerpc64= -DNO_WARN_X86_INTRINSICS -mvsx
-CXXFLAGS_powerpc64le= -DNO_WARN_X86_INTRINSICS -mvsx
MAKE_ARGS= BOOST_INSTALL_DIR=${LOCALBASE} \
NLOPT_INSTALL_DIR=${LOCALBASE} \
ZLIB_STATIC_DIR=/usr/lib \
@@ -32,7 +29,9 @@ MAKE_ARGS= BOOST_INSTALL_DIR=${LOCALBASE} \
GLIBC_STATIC_DIR=/usr/lib \
SSEFLAGS="" \
MEMCPY="" \
- LLAPACK="-lopenblas -lgfortran"
+ LLAPACK="-lopenblas"
+
+CONFLICTS_INSTALL= rubygem-bolt # bin/bolt
PORTEXAMPLES= *
diff --git a/biology/bolt-lmm/distinfo b/biology/bolt-lmm/distinfo
index 618a36d60050..4711694315b8 100644
--- a/biology/bolt-lmm/distinfo
+++ b/biology/bolt-lmm/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1565528176
-SHA256 (BOLT-LMM_v2.3.4.tar.gz) = 2477faff5028ff8fee5d8f4e6b0cab6d0752b268fd508fe64530a66807d9b0c0
-SIZE (BOLT-LMM_v2.3.4.tar.gz) = 335128004
+TIMESTAMP = 1647782880
+SHA256 (BOLT-LMM_v2.3.6.tar.gz) = bc82a5166b3d2d480bcda1f4455c29e1018db733706d28c35d8bf8de7e1e85d5
+SIZE (BOLT-LMM_v2.3.6.tar.gz) = 335131602
diff --git a/biology/bolt-lmm/files/patch-src_MemoryUtils.cpp b/biology/bolt-lmm/files/patch-src_MemoryUtils.cpp
new file mode 100644
index 000000000000..e6a2f20061f9
--- /dev/null
+++ b/biology/bolt-lmm/files/patch-src_MemoryUtils.cpp
@@ -0,0 +1,12 @@
+--- src/MemoryUtils.cpp.orig 2022-03-20 14:01:47 UTC
++++ src/MemoryUtils.cpp
+@@ -26,7 +26,8 @@ void *ALIGNED_MALLOC(uint64 size) {
+ #ifdef USE_MKL_MALLOC
+ void *p = mkl_malloc(size, MEM_ALIGNMENT);
+ #else
+- void *p = _mm_malloc(size, MEM_ALIGNMENT);
++ //void *p = _mm_malloc(size, MEM_ALIGNMENT);
++ void *p = aligned_alloc(MEM_ALIGNMENT, size);
+ #endif
+ // TODO: change to assert() or dispense with altogether and change ALIGNED_MALLOC to macro?
+ if (p == NULL) {
diff --git a/biology/bolt-lmm/files/patch-src_MemoryUtils.hpp b/biology/bolt-lmm/files/patch-src_MemoryUtils.hpp
new file mode 100644
index 000000000000..a9ccbd3d78e7
--- /dev/null
+++ b/biology/bolt-lmm/files/patch-src_MemoryUtils.hpp
@@ -0,0 +1,12 @@
+--- src/MemoryUtils.hpp.orig 2022-03-20 13:40:42 UTC
++++ src/MemoryUtils.hpp
+@@ -31,8 +31,7 @@ void *ALIGNED_MALLOC(uint64 size);
+ #include <mkl.h>
+ #define ALIGNED_FREE mkl_free
+ #else
+-#include <xmmintrin.h>
+-#define ALIGNED_FREE _mm_free
++#define ALIGNED_FREE free
+ #endif
+
+ #define ALIGNED_MALLOC_DOUBLES(numDoubles) (double *) ALIGNED_MALLOC((numDoubles)*sizeof(double))
diff --git a/biology/bolt-lmm/pkg-descr b/biology/bolt-lmm/pkg-descr
index 883572a29a08..63d52a895c54 100644
--- a/biology/bolt-lmm/pkg-descr
+++ b/biology/bolt-lmm/pkg-descr
@@ -2,5 +2,3 @@ The BOLT-LMM software package currently consists of two main algorithms, the
BOLT-LMM algorithm for mixed model association testing, and the BOLT-REML
algorithm for variance components analysis (i.e., partitioning of
SNP-heritability and estimation of genetic correlations).
-
-WWW: https://data.broadinstitute.org/alkesgroup/BOLT-LMM/
diff --git a/biology/bowtie/Makefile b/biology/bowtie/Makefile
index 5fb9ffdff3f0..bf49e6f6b9da 100644
--- a/biology/bowtie/Makefile
+++ b/biology/bowtie/Makefile
@@ -1,29 +1,34 @@
PORTNAME= bowtie
DISTVERSIONPREFIX= v
-DISTVERSION= 1.1.2
-PORTREVISION= 9
+DISTVERSION= 1.3.1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Ultrafast, memory-efficient short read aligner
+WWW= https://bowtie-bio.sourceforge.net/index.shtml
LICENSE= ART10
-# May also work on other 64-bit platforms, but untested
-ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le riscv64
-# FIXME: bowtie-align intermittently dumps core when compiled with clang
-# GCC 4.2 does not provide good performance
-USES= gmake perl5 python:run shebangfix
-USE_GCC= yes
+# c++11-lib is just for GCC 4.2-based systems
+# Remove it when support officially ends
+USES= compiler:c++11-lib gmake perl5 python:run shebangfix
USE_PERL5= run
USE_GITHUB= yes
-SHEBANG_FILES= scripts/*.pl bowtie bowtie-build bowtie-inspect
+SHEBANG_FILES= scripts/*.pl bowtie bowtie-build scripts/bowtie-hbb.sh \
+ bowtie-inspect
GH_ACCOUNT= BenLangmead
OPTIONS_DEFINE= DOCS
+.include <bsd.port.options.mk>
+
+.if ${ARCH:Mpowerpc64*} || ${ARCH} == aarch64 || ${ARCH:Mriscv64*}
+MAKE_ENV= POPCNT_CAPABILITY=0
+.endif
+
post-install:
${MKDIR} ${STAGEDIR}${DATADIR}/scripts
${INSTALL_SCRIPT} \
diff --git a/biology/bowtie/distinfo b/biology/bowtie/distinfo
index ffacca889d6c..fbb7362c14e3 100644
--- a/biology/bowtie/distinfo
+++ b/biology/bowtie/distinfo
@@ -1,2 +1,3 @@
-SHA256 (BenLangmead-bowtie-v1.1.2_GH0.tar.gz) = 717145f12d599e9b3672981f5444fbbdb8e02bfde2a80eba577e28baa4125ba7
-SIZE (BenLangmead-bowtie-v1.1.2_GH0.tar.gz) = 7831346
+TIMESTAMP = 1639406970
+SHA256 (BenLangmead-bowtie-v1.3.1_GH0.tar.gz) = 147d9fe9652f7c5f351bfc0eb012e06981986fb43bd6bdfe88a95c02eabc6573
+SIZE (BenLangmead-bowtie-v1.3.1_GH0.tar.gz) = 7672741
diff --git a/biology/bowtie/files/patch-Makefile b/biology/bowtie/files/patch-Makefile
index 8f3a35cf59f5..dcf2f7089076 100644
--- a/biology/bowtie/files/patch-Makefile
+++ b/biology/bowtie/files/patch-Makefile
@@ -1,52 +1,20 @@
---- Makefile.orig 2015-06-23 16:32:51 UTC
+--- Makefile.orig 2021-12-13 20:33:26 UTC
+++ Makefile
-@@ -8,9 +8,13 @@ bindir = $(prefix)/bin
- SEQAN_DIR = SeqAn-1.1
- SEQAN_INC = -I $(SEQAN_DIR)
- INC = $(SEQAN_INC) -I third_party
--CPP = g++
--CXX = $(CPP)
--CC = gcc
-+
-+# Use ?= to allow environment CPP, CC, CXX to take precedence. This avoids
-+# the need to modify the Makefile on different platforms. Package managers
-+# such as FreeBSD ports, MacPorts, etc. set these variables automatically.
-+CPP ?= g++
-+CXX ?= $(CPP)
-+CC ?= gcc
- HEADERS = $(wildcard *.h)
- BOWTIE_MM = 1
- BOWTIE_SHARED_MEM = 1
-@@ -90,10 +94,10 @@ PREFETCH_LOCALITY = 2
- PREF_DEF = -DPREFETCH_LOCALITY=$(PREFETCH_LOCALITY)
-
- ifeq (1,$(WITH_TBB))
-- LIBS = $(PTHREAD_LIB) -ltbb -ltbbmalloc_proxy
-+ LIBS = ${LDFLAGS} $(PTHREAD_LIB) -ltbb -ltbbmalloc_proxy
- EXTRA_FLAGS += -DWITH_TBB
- else
-- LIBS = $(PTHREAD_LIB)
-+ LIBS = ${LDFLAGS} $(PTHREAD_LIB)
+@@ -146,7 +146,7 @@ ifeq (32,$(BITS))
endif
- SEARCH_LIBS =
-@@ -123,7 +127,7 @@ SEARCH_FRAGMENTS = $(wildcard search_*_p
- VERSION = $(shell cat VERSION)
-
- BITS=32
--ifeq (x86_64,$(shell uname -m))
-+ifeq (amd64,$(shell uname -m))
- BITS=64
- endif
- # msys will always be 32 bit so look at the cpu arch instead.
-@@ -143,8 +147,8 @@ ifeq (32,$(BITS))
- $(error bowtie2 compilation requires a 64-bit platform )
- endif
-
--DEBUG_FLAGS = -O0 -g3 -m64
--RELEASE_FLAGS = -O3 -m64
-+DEBUG_FLAGS = -O0 -g3
-+RELEASE_FLAGS = -O
+ DEBUG_FLAGS = -O0 -g3
+-RELEASE_FLAGS = -O3
++RELEASE_FLAGS =
NOASSERT_FLAGS = -DNDEBUG
FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
+@@ -225,7 +225,7 @@ DEFS=-fno-strict-aliasing \
+ $(MM_DEF) \
+ $(SHMEM_DEF)
+
+-ALL_FLAGS = $(EXTRA_FLAGS) $(CFLAGS) $(CXXFLAGS)
++ALL_FLAGS = $(EXTRA_FLAGS) $(CXXFLAGS)
+ DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS) $(CFLAGS) $(CXXFLAGS)\""
+ RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS) $(CFLAGS) $(CXXFLAGS)\""
+
diff --git a/biology/bowtie/files/patch-ebwt.h b/biology/bowtie/files/patch-ebwt.h
deleted file mode 100644
index 4272bbd8303c..000000000000
--- a/biology/bowtie/files/patch-ebwt.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ebwt.h.orig 2018-11-03 20:51:56 UTC
-+++ ebwt.h
-@@ -860,7 +860,7 @@ public:
- TIndexOffU* ftab() const { return _ftab; }
- TIndexOffU* eftab() const { return _eftab; }
- TIndexOffU* offs() const { return _offs; }
-- uint32_t* isa() const { return _isa; } /* check */
-+ uint32_t* isa() const { return (uint32_t)_isa; } /* check */
- TIndexOffU* plen() const { return _plen; }
- TIndexOffU* rstarts() const { return _rstarts; }
- uint8_t* ebwt() const { return _ebwt; }
diff --git a/biology/bowtie/files/patch-processor__support.h b/biology/bowtie/files/patch-processor__support.h
deleted file mode 100644
index bbfecedb7a3b..000000000000
--- a/biology/bowtie/files/patch-processor__support.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- processor_support.h.orig 2020-07-04 10:42:26 UTC
-+++ processor_support.h
-@@ -49,7 +49,7 @@ class ProcessorSupport { (public)
- #elif defined(USING_GCC_COMPILER)
- __get_cpuid(0x1, &regs.EAX, &regs.EBX, &regs.ECX, &regs.EDX);
- #else
-- std::cerr << “ERROR: please define __cpuid() for this build.\n”;
-+ std::cerr << "ERROR: please define __cpuid() for this build.\n";
- assert(0);
- #endif
- if( !( (regs.ECX & BIT(20)) && (regs.ECX & BIT(23)) ) ) return false;
diff --git a/biology/bowtie/pkg-descr b/biology/bowtie/pkg-descr
index 03d1a2c4269f..79b1d218f585 100644
--- a/biology/bowtie/pkg-descr
+++ b/biology/bowtie/pkg-descr
@@ -1,5 +1,3 @@
Bowtie is an ultrafast, memory-efficient short read aligner. It aligns short
DNA sequences (reads) to the human genome at a rate of over 25 million 35-bp
reads per hour.
-
-WWW: http://bowtie-bio.sourceforge.net/index.shtml
diff --git a/biology/bowtie/pkg-plist b/biology/bowtie/pkg-plist
index e0e8c2056459..0f6efe21b18c 100644
--- a/biology/bowtie/pkg-plist
+++ b/biology/bowtie/pkg-plist
@@ -26,7 +26,9 @@ bin/bowtie-inspect-s
%%DATADIR%%/reads/e_coli_1000_1.fq
%%DATADIR%%/reads/e_coli_1000_2.fa
%%DATADIR%%/reads/e_coli_1000_2.fq
+%%DATADIR%%/reads/e_coli_1000_interleaved.fq
%%DATADIR%%/scripts/best_verify.pl
+%%DATADIR%%/scripts/bowtie-hbb.sh
%%DATADIR%%/scripts/bs_mapability.pl
%%DATADIR%%/scripts/build_test.sh
%%DATADIR%%/scripts/colorize_fasta.pl
@@ -58,6 +60,7 @@ bin/bowtie-inspect-s
%%DATADIR%%/scripts/pe_verify.pl
%%DATADIR%%/scripts/reconcile_alignments.pl
%%DATADIR%%/scripts/reconcile_alignments_pe.pl
+%%DATADIR%%/scripts/run-hbb.sh
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/manual.html
%%PORTDOCS%%%%DOCSDIR%%/release.txt
@@ -81,7 +84,7 @@ bin/bowtie-inspect-s
%%PORTDOCS%%%%DOCSDIR%%/website/old_news.ssi
%%PORTDOCS%%%%DOCSDIR%%/website/other_tools.shtml
%%PORTDOCS%%%%DOCSDIR%%/website/other_tools.ssi
-%%PORTDOCS%%%%DOCSDIR%%/website/push_langmead.sh
+%%PORTDOCS%%%%DOCSDIR%%/website/push.sh
%%PORTDOCS%%%%DOCSDIR%%/website/recent_news.ssi
%%PORTDOCS%%%%DOCSDIR%%/website/rhsidebar.ssi
%%PORTDOCS%%%%DOCSDIR%%/website/top.ssi
diff --git a/biology/bowtie2/Makefile b/biology/bowtie2/Makefile
index 55e778b18b50..857094896002 100644
--- a/biology/bowtie2/Makefile
+++ b/biology/bowtie2/Makefile
@@ -1,16 +1,18 @@
PORTNAME= bowtie2
DISTVERSIONPREFIX= v
-DISTVERSION= 2.4.4
+DISTVERSION= 2.5.3
CATEGORIES= biology perl5 python
MAINTAINER= jwb@FreeBSD.org
COMMENT= Ultrafast, memory-efficient short read aligner
+WWW= https://github.com/BenLangmead/bowtie2
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/LICENSE
-# Requires a 64-bit processor and depends on hard-coded asm instructions
ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le
+ONLY_FOR_ARCHS_REASON= Requires a 64-bit processor
+
RUN_DEPENDS= bash:shells/bash
USES= gmake localbase:ldflags perl5 python shebangfix
diff --git a/biology/bowtie2/distinfo b/biology/bowtie2/distinfo
index 84442482703f..e9a9a0e0ba4c 100644
--- a/biology/bowtie2/distinfo
+++ b/biology/bowtie2/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1621870291
-SHA256 (BenLangmead-bowtie2-v2.4.4_GH0.tar.gz) = ef8272fc1b3e18a30f16cb4b6a4344bf50e1f82fbd3af93dc8194b58e5856f64
-SIZE (BenLangmead-bowtie2-v2.4.4_GH0.tar.gz) = 10582238
+TIMESTAMP = 1705618664
+SHA256 (BenLangmead-bowtie2-v2.5.3_GH0.tar.gz) = 4ac3ece3db011322caab14678b9d80cfc7f75208cdaf0c58b24a6ea0f1a0a60e
+SIZE (BenLangmead-bowtie2-v2.5.3_GH0.tar.gz) = 10635819
SHA256 (simd-everywhere-simde-no-tests-f6a0b3b_GH0.tar.gz) = 9874f22afe8a6cd92770aa194df47db3d0963d80ea233a502b0d557f59763eb8
SIZE (simd-everywhere-simde-no-tests-f6a0b3b_GH0.tar.gz) = 397743
diff --git a/biology/bowtie2/files/patch-Makefile b/biology/bowtie2/files/patch-Makefile
index fb68d5913e52..abbe01f5f982 100644
--- a/biology/bowtie2/files/patch-Makefile
+++ b/biology/bowtie2/files/patch-Makefile
@@ -1,25 +1,11 @@
---- Makefile.orig 2021-05-15 20:10:26 UTC
+--- Makefile.orig 2023-01-21 21:59:18 UTC
+++ Makefile
-@@ -32,7 +32,7 @@ BOWTIE_SHARED_MEM :=
-
- CXXFLAGS += -std=c++11
-
--ARCH = $(shell uname -m)
-+ARCH = $(shell uname -p)
- NGS_VER ?= 2.9.2
- VDB_VER ?= 2.9.2-1
-
-@@ -59,11 +59,11 @@ ifneq (,$(findstring Darwin,$(shell uname)))
+@@ -61,7 +61,7 @@ ifneq (,$(findstring Darwin,$(shell uname)))
endif
BITS := 32
--ifneq (,$(findstring $(shell uname -m), x86_64 amd64))
-+ifneq (,$(findstring $(shell uname -p), x86_64 amd64))
- BITS := 64
- SSE_FLAG := -msse2
- POPCNT_CAPABILITY ?= 1
--else ifneq (,$(findstring $(shell uname -m), aarch64 arm64 s390x ppc64 ppc64le))
-+else ifneq (,$(findstring $(shell uname -p), aarch64 arm64 s390x powerpc64 powerpc64le))
+-ARCH ?= $(shell uname -m)
++ARCH ?= $(shell uname -p)
+ ifneq (,$(findstring $(ARCH), x86_64 amd64))
BITS := 64
- SSE_FLAG :=
- CXXFLAGS += -fopenmp-simd
+ ifeq (1, $(SSE_AVX2))
diff --git a/biology/bowtie2/pkg-descr b/biology/bowtie2/pkg-descr
index 05ac47289c51..79b1d218f585 100644
--- a/biology/bowtie2/pkg-descr
+++ b/biology/bowtie2/pkg-descr
@@ -1,5 +1,3 @@
Bowtie is an ultrafast, memory-efficient short read aligner. It aligns short
DNA sequences (reads) to the human genome at a rate of over 25 million 35-bp
reads per hour.
-
-WWW: https://github.com/BenLangmead/bowtie2
diff --git a/biology/btllib/Makefile b/biology/btllib/Makefile
new file mode 100644
index 000000000000..ca1331d873b2
--- /dev/null
+++ b/biology/btllib/Makefile
@@ -0,0 +1,32 @@
+PORTNAME= btllib
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.7.2
+CATEGORIES= biology devel
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Bioinformatics Technology Lab common code library
+WWW= https://github.com/bcgsc/btllib
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+NOT_FOR_ARCHS= armv6 armv7 i386 mips powerpc # temporary until https://github.com/bcgsc/btllib/issues/117 is fixed
+
+BUILD_DEPENDS= bash:shells/bash \
+ samtools:biology/samtools \
+ cmake:devel/cmake-core
+LIB_DEPENDS= libsdsl.so:devel/sdsl-lite
+RUN_DEPENDS= samtools:biology/samtools
+
+USES= meson pkgconfig python:build shebangfix
+
+SHEBANG_FILES= scripts/*
+
+USE_GITHUB= yes
+GH_ACCOUNT= bcgsc
+GH_TUPLE= p-ranav:argparse:15d745f:argparse/subprojects/argparse \
+ skystrife:cpptoml:fededad:cpptoml/subprojects/cpptoml
+
+BINARY_ALIAS= python3=${PYTHON_CMD} # python3-config=${PYTHON_CMD}-config # installs python binding into a wrong location, see https://github.com/bcgsc/btllib/issues/111
+
+.include <bsd.port.mk>
diff --git a/biology/btllib/distinfo b/biology/btllib/distinfo
new file mode 100644
index 000000000000..6a53ee8cb105
--- /dev/null
+++ b/biology/btllib/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1712636316
+SHA256 (bcgsc-btllib-v1.7.2_GH0.tar.gz) = c406723b15cca7145dd0ec0b75e61fd04e96984609e60d91b9c6ed305c1d5f22
+SIZE (bcgsc-btllib-v1.7.2_GH0.tar.gz) = 880246
+SHA256 (p-ranav-argparse-15d745f_GH0.tar.gz) = f033d4eb4a430b4ae4bf3c2a40e087709bf77462c1f9968ae07828437219a370
+SIZE (p-ranav-argparse-15d745f_GH0.tar.gz) = 105608
+SHA256 (skystrife-cpptoml-fededad_GH0.tar.gz) = dd2d129b67f537ae7d6f8d8d084c8c0d772d0f5b4b3118c1892e67ff536e335e
+SIZE (skystrife-cpptoml-fededad_GH0.tar.gz) = 47398
diff --git a/biology/btllib/files/patch-meson.build b/biology/btllib/files/patch-meson.build
new file mode 100644
index 000000000000..878516f5d78b
--- /dev/null
+++ b/biology/btllib/files/patch-meson.build
@@ -0,0 +1,54 @@
+--- meson.build.orig 2023-07-06 15:52:18 UTC
++++ meson.build
+@@ -1,7 +1,7 @@
+ project('btllib', 'cpp',
+ version : '1.6.2',
+ license : 'GPL3',
+- default_options : [ 'cpp_std=c++17', 'warning_level=3', 'werror=true', 'b_coverage=true' ],
++ default_options : [ 'cpp_std=c++17', 'warning_level=3', 'b_coverage=true' ],
+ meson_version : '>= 0.60.0')
+
+ # Configuration
+@@ -48,22 +48,28 @@ threads_dep = dependency('threads')
+ openmp_dep = dependency('openmp', required : false)
+
+ cmake_options = cmake.subproject_options()
+-cmake_options.set_override_option('werror', 'false')
++#cmake_options.set_override_option('werror', 'false')
+ cmake_options.set_install(false)
+
+ cpptoml_subproject = cmake.subproject('cpptoml', options : cmake_options)
+ cpptomp_dep = cpptoml_subproject.dependency('cpptoml')
+
+-run_command(meson.project_source_root() + '/scripts/prepare-sdsl')
++#run_command(meson.project_source_root() + '/scripts/prepare-sdsl')
+
+-sdsl_subproject = cmake.subproject('sdsl-lite', options : cmake_options)
+-sdsl_dep = sdsl_subproject.dependency('sdsl', include_type: 'system')
++#sdsl_subproject = cmake.subproject('sdsl-lite', options : cmake_options)
+
++#sdsl_dep = sdsl_subproject.dependency('sdsl', include_type: 'system')
++
++pkg = import('pkgconfig')
++sdsl_dep = dependency('sdsl-lite')
++#lib = library('foo', dependencies : [bar])
++#pkg.generate(lib)
++
+ deps = [ threads_dep, openmp_dep, cpptomp_dep, sdsl_dep ]
+
+ # These are unfortunate hacks. Currently, neither cpptoml nor sdsl-lite install their headers (even when set_install(true) is called), and so we need to do it manually
+ meson.add_install_script('scripts/install-cpptoml')
+-meson.add_install_script('scripts/install-sdsl-lite')
++#meson.add_install_script('scripts/install-sdsl-lite')
+
+ argparse_subproject = cmake.subproject('argparse', options : cmake_options)
+ argparse_dep = argparse_subproject.dependency('argparse')
+@@ -126,7 +132,7 @@ run_target('test-wrappers', command: join_paths(rootpa
+ btllib_include = [ include_directories('include'), include_directories('.') ]
+ btllib_sources = run_command('scripts/get-files', 'src').stdout().strip().split()
+
+-btllib_lib = static_library('btllib',
++btllib_lib = shared_library('btllib',
+ btllib_sources,
+ include_directories : btllib_include,
+ dependencies : deps,
diff --git a/biology/btllib/files/patch-src_btllib_status.cpp b/biology/btllib/files/patch-src_btllib_status.cpp
new file mode 100644
index 000000000000..930452d89fad
--- /dev/null
+++ b/biology/btllib/files/patch-src_btllib_status.cpp
@@ -0,0 +1,18 @@
+--- src/btllib/status.cpp.orig 2023-07-21 18:23:40 UTC
++++ src/btllib/status.cpp
+@@ -84,7 +84,7 @@ get_strerror()
+ char buf[buflen];
+ // POSIX and GNU implementation of strerror_r differ, even in function signature
+ // and so we need to check which one is used
+-#if __APPLE__ || \
++#if __APPLE__ || __FreeBSD__ || \
+ ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE)
+ strerror_r(errno, buf, buflen);
+ return buf;
+@@ -111,4 +111,4 @@ check_file_accessibility(const std::string& filepath)
+ btllib::check_error(ret != 0, get_strerror() + ": " + filepath);
+ }
+
+-} // namespace btllib
+\ No newline at end of file
++} // namespace btllib
diff --git a/biology/btllib/files/patch-subprojects_cpptoml_CMakeLists.txt b/biology/btllib/files/patch-subprojects_cpptoml_CMakeLists.txt
new file mode 100644
index 000000000000..d660dd9b08b0
--- /dev/null
+++ b/biology/btllib/files/patch-subprojects_cpptoml_CMakeLists.txt
@@ -0,0 +1,13 @@
+--- subprojects/cpptoml/CMakeLists.txt.orig 2023-05-06 14:38:35 UTC
++++ subprojects/cpptoml/CMakeLists.txt
+@@ -11,8 +11,8 @@ include(CMakePushCheckState)
+
+ cmake_push_check_state()
+
+-option(ENABLE_LIBCXX "Use libc++ for the C++ standard library" ON)
+-option(CPPTOML_BUILD_EXAMPLES "Build examples" ON)
++option(ENABLE_LIBCXX "Use libc++ for the C++ standard library" OFF)
++option(CPPTOML_BUILD_EXAMPLES "Build examples" OFF)
+
+ set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
+
diff --git a/biology/btllib/pkg-descr b/biology/btllib/pkg-descr
new file mode 100644
index 000000000000..c802b1fe9d44
--- /dev/null
+++ b/biology/btllib/pkg-descr
@@ -0,0 +1 @@
+Bioinformatics Technology Lab's common code library in C++.
diff --git a/biology/btllib/pkg-plist b/biology/btllib/pkg-plist
new file mode 100644
index 000000000000..c3beeb0f5b9e
--- /dev/null
+++ b/biology/btllib/pkg-plist
@@ -0,0 +1,32 @@
+bin/indexlr
+bin/mi_bf_generate
+bin/randseq
+include/btllib/aahash.hpp
+include/btllib/bloom_filter.hpp
+include/btllib/counting_bloom_filter-inl.hpp
+include/btllib/counting_bloom_filter.hpp
+include/btllib/cpptoml.h
+include/btllib/cstring.hpp
+include/btllib/data_stream.hpp
+include/btllib/graph.hpp
+include/btllib/hashing_internals.hpp
+include/btllib/indexlr.hpp
+include/btllib/mi_bloom_filter-inl.hpp
+include/btllib/mi_bloom_filter.hpp
+include/btllib/nthash.hpp
+include/btllib/nthash_kmer.hpp
+include/btllib/nthash_seed.hpp
+include/btllib/order_queue.hpp
+include/btllib/process_pipeline.hpp
+include/btllib/randseq.hpp
+include/btllib/seq.hpp
+include/btllib/seq_reader.hpp
+include/btllib/seq_reader_fasta_module.hpp
+include/btllib/seq_reader_fastq_module.hpp
+include/btllib/seq_reader_multiline_fasta_module.hpp
+include/btllib/seq_reader_multiline_fastq_module.hpp
+include/btllib/seq_reader_sam_module.hpp
+include/btllib/seq_writer.hpp
+include/btllib/status.hpp
+include/btllib/util.hpp
+lib/libbtllib.so
diff --git a/biology/bwa/Makefile b/biology/bwa/Makefile
index a6302394411c..eef1e1a5948d 100644
--- a/biology/bwa/Makefile
+++ b/biology/bwa/Makefile
@@ -1,6 +1,7 @@
PORTNAME= bwa
PORTVERSION= 0.7.17
DISTVERSIONPREFIX=v
+PORTREVISION= 2
CATEGORIES= biology
PATCH_SITES= https://github.com/lh3/bwa/commit/
@@ -8,40 +9,31 @@ PATCHFILES= 2a1ae7b6f34a96ea25be007ac9d91e57e9d32284.patch:-p1
MAINTAINER= jwb@FreeBSD.org
COMMENT= Burrows-Wheeler sequence aligner
+WWW= https://sourceforge.net/projects/bio-bwa/
LICENSE= GPLv3
-# From 0.7.9a: Recheck for 0.7.17.
-BROKEN_aarch64= fails to compile: invalid conversion between vector type and integer type
-BROKEN_armv6= fails to compile: invalid conversion between vector type and integer type
-BROKEN_armv7= fails to compile: invalid conversion between vector type and integer type
BROKEN_mips= fails to compile: cc1: unrecognized command line option "-msse2"
BROKEN_mips64= fails to compile: cc1: unrecognized command line option "-msse2"
-BROKEN_powerpc64= fails to compile: ksw.c: emmintrin.h: No such file or directory
-BROKEN_riscv64= fails to compile: invalid conversion between vector type and integer type
-USES= gmake perl5 shebangfix tar:bzip2
+BUILD_DEPENDS= simde>0:devel/simde
+
+USES= gmake localbase perl5 shebangfix tar:bzip2
SHEBANG_FILES= qualfa2fq.pl xa2multi.pl
USE_PERL5= run
USE_GITHUB= yes
GH_ACCOUNT= lh3
-PLIST_FILES= bin/bwa bin/qualfa2fq.pl bin/xa2multi.pl man/man1/bwa.1.gz
-
-.include <bsd.port.options.mk>
+PLIST_FILES= bin/bwa bin/qualfa2fq.pl bin/xa2multi.pl share/man/man1/bwa.1.gz
-.if ${ARCH} == amd64 || ${ARCH} == i386
# Avoid #error in emmintrin.h
-CFLAGS+= -msse2
-.elif ${ARCH} == powerpc64le
-CFLAGS+= -DNO_WARN_X86_INTRINSICS
-USES+= compiler:gcc-c++11-lib
-.endif
+CFLAGS_i386= -msse2
+CFLAGS_amd64= -msse2
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/bwa ${STAGEDIR}${PREFIX}/bin
${INSTALL_SCRIPT} ${WRKSRC}/*.pl ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${WRKSRC}/*.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/*.1 ${STAGEDIR}${PREFIX}/share/man/man1
.include <bsd.port.mk>
diff --git a/biology/bwa/files/patch-ksw.c b/biology/bwa/files/patch-ksw.c
new file mode 100644
index 000000000000..c86cabf2e497
--- /dev/null
+++ b/biology/bwa/files/patch-ksw.c
@@ -0,0 +1,13 @@
+--- ksw.c.orig 2021-12-01 13:48:35 UTC
++++ ksw.c
+@@ -26,7 +26,9 @@
+ #include <stdlib.h>
+ #include <stdint.h>
+ #include <assert.h>
+-#include <emmintrin.h>
++// #include <emmintrin.h>
++#define SIMDE_ENABLE_NATIVE_ALIASES
++#include <simde/x86/sse2.h>
+ #include "ksw.h"
+
+ #ifdef USE_MALLOC_WRAPPERS
diff --git a/biology/bwa/pkg-descr b/biology/bwa/pkg-descr
index 031b7f19fbb2..60f539b01220 100644
--- a/biology/bwa/pkg-descr
+++ b/biology/bwa/pkg-descr
@@ -1,5 +1,3 @@
BWA is a program for aligning sequencing reads against a large reference
genome (e.g. human genome). It has two major components, one for read shorter
than 150bp and the other for longer reads.
-
-WWW: https://sourceforge.net/projects/bio-bwa/
diff --git a/biology/canu/Makefile b/biology/canu/Makefile
index 56ebc0779e5e..2f352aaf22d8 100644
--- a/biology/canu/Makefile
+++ b/biology/canu/Makefile
@@ -1,34 +1,47 @@
PORTNAME= canu
-DISTVERSION= 2.1
-PORTREVISION= 1
+DISTVERSION= 2.2
+PORTREVISION= 3
CATEGORIES= biology java perl5
# Github auto-generated tarballs lack submodules
-MASTER_SITES= https://github.com/marbl/canu/releases/download/v2.1/
+MASTER_SITES= https://github.com/marbl/canu/releases/download/v${DISTVERSION}/
MAINTAINER= jwb@FreeBSD.org
COMMENT= Single molecule sequence assembler
+WWW= https://canu.readthedocs.io/
LICENSE= GPLv2
LICENSE_FILE= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/README.license.GPL
-BROKEN_powerpc64= fails to build: utgcns/libboost/boost/smart_ptr/detail/sp_counted_impl.hpp:81:5: error: 'get_deleter' declared as a 'virtual' field
-NOT_FOR_ARCHS= armv6 armv7 i386 powerpc
-NOT_FOR_ARCHS_REASON= __int128 is not supported on this target
+NOT_FOR_ARCHS= armv6 armv7 i386 mips powerpc powerpcspe
+NOT_FOR_ARCHS_REASON= Requires 64-bit processor
LIB_DEPENDS= libboost_regex.so:devel/boost-libs
RUN_DEPENDS= gnuplot:math/gnuplot
-USES= compiler:c++11-lang gmake localbase perl5
-USE_JAVA= yes
-
+USES= compiler:c++11-lang gmake localbase perl5 tar:xz
+USE_CXXSTD= c++14
+USE_JAVA= 8+
JAVA_RUN= yes
-JAVA_VERSION= 1.8+
-WRKSRC_SUBDIR= src
# Upstream Makefile compiles directly into ${DESTDIR}${PREFIX} rather than
# using a separate install target.
MAKE_ENV= DESTDIR=${WRKSRC} CANU_BUILD_ENV=ports
+WRKSRC_SUBDIR= src
+
+.include <bsd.port.pre.mk>
+
+# Parasail should be unbundled, but that would be a project because it's
+# currently woven into the canu code
+post-extract:
+.if ${ARCH} == "aarch64"
+ ${CP} ${FILESDIR}/cpuid_arm.c ${WRKSRC}/utility/src/parasail/cpuid.c
+.elif ${ARCH} == "powerpc64" || ${ARCH} == "powerpc64le"
+ ${CP} ${FILESDIR}/cpuid_ppc.c ${WRKSRC}/utility/src/parasail/cpuid.c
+.elif ${ARCH} != "amd64"
+ ${CP} ${FILESDIR}/cpuid_any.c ${WRKSRC}/utility/src/parasail/cpuid.c
+.endif
+
pre-configure:
@${REINPLACE_CMD} \
-e 's|-O4||g' \
@@ -54,4 +67,4 @@ do-install:
(cd ${WRKSRC}/build && \
${COPYTREE_SHARE} "lib share" ${STAGEDIR}${PREFIX})
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/biology/canu/distinfo b/biology/canu/distinfo
index 0ddec4d01a04..eace34089e15 100644
--- a/biology/canu/distinfo
+++ b/biology/canu/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1599584712
-SHA256 (canu-2.1.tar.gz) = 73c70d2d6326bdaf471549f2d1eb7a1bf1e0fbf45cdc4a830bd6ce9fe3f3c231
-SIZE (canu-2.1.tar.gz) = 3313120
+TIMESTAMP = 1639774550
+SHA256 (canu-2.2.tar.xz) = e4d0c7b82149114f442ccd39e18f7fe2061c63b28d53700ad896e022b73b7404
+SIZE (canu-2.2.tar.xz) = 2400192
diff --git a/biology/canu/files/cpuid_any.c b/biology/canu/files/cpuid_any.c
new file mode 100644
index 000000000000..be03bd4a479b
--- /dev/null
+++ b/biology/canu/files/cpuid_any.c
@@ -0,0 +1,52 @@
+/**
+ * @file
+ *
+ * @author jeffrey.daily@gmail.com
+ *
+ * Copyright (c) 2015 Battelle Memorial Institute.
+ *
+ * For non-intel platforms, stub out the intel feature tests.
+ */
+#include "config.h"
+
+#include "parasail/cpuid.h"
+
+int parasail_can_use_avx512vbmi()
+{
+ return 0;
+}
+
+int parasail_can_use_avx512bw()
+{
+ return 0;
+}
+
+int parasail_can_use_avx512f()
+{
+ return 0;
+}
+
+int parasail_can_use_avx2()
+{
+ return 0;
+}
+
+int parasail_can_use_sse41()
+{
+ return 0;
+}
+
+int parasail_can_use_sse2()
+{
+ return 0;
+}
+
+int parasail_can_use_altivec()
+{
+ return 0;
+}
+
+int parasail_can_use_neon()
+{
+ return 0;
+}
diff --git a/biology/canu/files/cpuid_arm.c b/biology/canu/files/cpuid_arm.c
new file mode 100644
index 000000000000..3b35be06c087
--- /dev/null
+++ b/biology/canu/files/cpuid_arm.c
@@ -0,0 +1,57 @@
+/**
+ * @file
+ *
+ * @author jeffrey.daily@gmail.com
+ *
+ * Copyright (c) 2015 Battelle Memorial Institute.
+ *
+ * For non-intel platforms, stub out the intel feature tests.
+ */
+#include "config.h"
+
+#include "parasail/cpuid.h"
+
+int parasail_can_use_avx512vbmi()
+{
+ return 0;
+}
+
+int parasail_can_use_avx512bw()
+{
+ return 0;
+}
+
+int parasail_can_use_avx512f()
+{
+ return 0;
+}
+
+int parasail_can_use_avx2()
+{
+ return 0;
+}
+
+int parasail_can_use_sse41()
+{
+ return 0;
+}
+
+int parasail_can_use_sse2()
+{
+ return 0;
+}
+
+int parasail_can_use_altivec()
+{
+ return 0;
+}
+
+int parasail_can_use_neon()
+{
+#if HAVE_NEON
+ return 1;
+#else
+ return 0;
+#endif
+}
+
diff --git a/biology/canu/files/cpuid_ppc.c b/biology/canu/files/cpuid_ppc.c
new file mode 100644
index 000000000000..4a832a90a32c
--- /dev/null
+++ b/biology/canu/files/cpuid_ppc.c
@@ -0,0 +1,57 @@
+/**
+ * @file
+ *
+ * @author jeffrey.daily@gmail.com
+ *
+ * Copyright (c) 2015 Battelle Memorial Institute.
+ *
+ * For non-intel platforms, stub out the intel feature tests.
+ */
+#include "config.h"
+
+#include "parasail/cpuid.h"
+
+int parasail_can_use_avx512vbmi()
+{
+ return 0;
+}
+
+int parasail_can_use_avx512bw()
+{
+ return 0;
+}
+
+int parasail_can_use_avx512f()
+{
+ return 0;
+}
+
+int parasail_can_use_avx2()
+{
+ return 0;
+}
+
+int parasail_can_use_sse41()
+{
+ return 0;
+}
+
+int parasail_can_use_sse2()
+{
+ return 0;
+}
+
+int parasail_can_use_altivec()
+{
+#if HAVE_ALTIVEC
+ return 1;
+#else
+ return 0;
+#endif
+}
+
+int parasail_can_use_neon()
+{
+ return 0;
+}
+
diff --git a/biology/canu/files/patch-utgcns_libboost_boost_smart__ptr_detail_shared__count.hpp b/biology/canu/files/patch-utgcns_libboost_boost_smart__ptr_detail_shared__count.hpp
new file mode 100644
index 000000000000..554c97a04af9
--- /dev/null
+++ b/biology/canu/files/patch-utgcns_libboost_boost_smart__ptr_detail_shared__count.hpp
@@ -0,0 +1,10 @@
+--- utgcns/libboost/boost/smart_ptr/detail/shared_count.hpp.orig 2021-12-18 13:01:24 UTC
++++ utgcns/libboost/boost/smart_ptr/detail/shared_count.hpp
+@@ -25,6 +25,7 @@
+ #include <boost/config.hpp>
+ #include <boost/checked_delete.hpp>
+ #include <boost/throw_exception.hpp>
++#include <boost/detail/sp_typeinfo.hpp>
+ #include <boost/smart_ptr/bad_weak_ptr.hpp>
+ #include <boost/smart_ptr/detail/sp_counted_base.hpp>
+ #include <boost/smart_ptr/detail/sp_counted_impl.hpp>
diff --git a/biology/canu/files/patch-utility_src_utility_files.H b/biology/canu/files/patch-utility_src_utility_files.H
new file mode 100644
index 000000000000..3e72cbe4942b
--- /dev/null
+++ b/biology/canu/files/patch-utility_src_utility_files.H
@@ -0,0 +1,11 @@
+--- utility/src/utility/files.H.orig 2021-12-17 20:57:15 UTC
++++ utility/src/utility/files.H
+@@ -22,7 +22,7 @@
+
+ #include "types.H"
+ #include <vector>
+-
++#include <cmath>
+
+ // Provides a safe and reliable mechanism for reading / writing
+ // binary data.
diff --git a/biology/canu/files/patch-utility_src_utility_system.H b/biology/canu/files/patch-utility_src_utility_system.H
new file mode 100644
index 000000000000..339c577b992d
--- /dev/null
+++ b/biology/canu/files/patch-utility_src_utility_system.H
@@ -0,0 +1,11 @@
+--- utility/src/utility/system.H.orig 2021-12-17 20:57:47 UTC
++++ utility/src/utility/system.H
+@@ -23,7 +23,7 @@
+ #include "types.H"
+
+ #include <signal.h>
+-
++#include <cmath>
+
+
+ double getTime(void);
diff --git a/biology/canu/files/patch-utility_src_utility_types.H b/biology/canu/files/patch-utility_src_utility_types.H
new file mode 100644
index 000000000000..e53536e09c8f
--- /dev/null
+++ b/biology/canu/files/patch-utility_src_utility_types.H
@@ -0,0 +1,11 @@
+--- utility/src/utility/types.H.orig 2021-12-17 20:58:13 UTC
++++ utility/src/utility/types.H
+@@ -55,7 +55,7 @@
+ #include <ctype.h>
+
+ #include <float.h>
+-#include <math.h>
++#include <cmath>
+
+ #include <assert.h>
+ #include <errno.h>
diff --git a/biology/canu/pkg-descr b/biology/canu/pkg-descr
index 9ff1c44b921b..719f42cf95ce 100644
--- a/biology/canu/pkg-descr
+++ b/biology/canu/pkg-descr
@@ -10,5 +10,3 @@ Canu is a hierarchical assembly pipeline which runs in four steps:
Trim corrected sequences
Assemble trimmed corrected sequences
-
-WWW: https://canu.readthedocs.io/
diff --git a/biology/canu/pkg-plist b/biology/canu/pkg-plist
index e3d2f84d51de..d76d4279c35e 100644
--- a/biology/canu/pkg-plist
+++ b/biology/canu/pkg-plist
@@ -1,6 +1,5 @@
bin/alignGFA
bin/bogart
-bin/bogus
bin/canu
bin/canu-time
bin/canu.defaults
@@ -32,6 +31,7 @@ bin/ovStoreIndexer
bin/ovStoreSorter
bin/ovStoreStats
bin/overlapAlign
+bin/overlapCheck
bin/overlapConvert
bin/overlapImport
bin/overlapInCore
@@ -59,6 +59,7 @@ lib/libcanu.a
%%SITE_PERL%%/canu/Grid_Cloud.pm
%%SITE_PERL%%/canu/Grid_DNANexus.pm
%%SITE_PERL%%/canu/Grid_LSF.pm
+%%SITE_PERL%%/canu/Grid_Local.pm
%%SITE_PERL%%/canu/Grid_PBSTorque.pm
%%SITE_PERL%%/canu/Grid_SGE.pm
%%SITE_PERL%%/canu/Grid_Slurm.pm
diff --git a/biology/cd-hit/Makefile b/biology/cd-hit/Makefile
index 66331b1d6629..e6e811ff7b26 100644
--- a/biology/cd-hit/Makefile
+++ b/biology/cd-hit/Makefile
@@ -1,11 +1,12 @@
PORTNAME= cd-hit
DISTVERSIONPREFIX= V
DISTVERSION= 4.8.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Clustering and comparing protein or nucleotide sequences
+WWW= http://weizhong-lab.ucsd.edu/cd-hit/
LICENSE= GPLv2
@@ -16,12 +17,10 @@ GH_ACCOUNT= weizhongli
GH_PROJECT= cdhit
SHEBANG_FILES= ${WRKSRC}/*.pl
+.if exists(/usr/include/omp.h)
MAKE_FLAGS= openmp=yes
-
-.include <bsd.port.options.mk>
-
-.if ${ARCH} == powerpc
-USES+= compiler:gcc-c++11-lib
+.else
+MAKE_FLAGS= openmp=no
.endif
post-patch:
diff --git a/biology/cd-hit/pkg-descr b/biology/cd-hit/pkg-descr
index 1ee003c9c3ba..06848d6e1511 100644
--- a/biology/cd-hit/pkg-descr
+++ b/biology/cd-hit/pkg-descr
@@ -1,4 +1,2 @@
CD-HIT is a very widely used program for clustering and comparing protein or
nucleotide sequences.
-
-WWW: http://weizhong-lab.ucsd.edu/cd-hit/
diff --git a/biology/cdbfasta/Makefile b/biology/cdbfasta/Makefile
index d86dd04c2c9e..cca69dda1744 100644
--- a/biology/cdbfasta/Makefile
+++ b/biology/cdbfasta/Makefile
@@ -1,18 +1,17 @@
-# Created by: Dan Siercks <dsiercks@uwm.edu>
-
PORTNAME= cdbfasta
-PORTVERSION= 2010.07.22
+PORTVERSION= 2023.07.10
CATEGORIES= biology
-MASTER_SITES= http://acadix.biz/Ports/distfiles/
MAINTAINER= jwb@FreeBSD.org
COMMENT= Fast indexing and retrieval of FASTA records from flat file databases
+WWW= https://github.com/gpertea/cdbfasta
-# LICENSE= unspecified
-
-WRKSRC= ${WRKDIR}/${PORTNAME}
+LICENSE= ART20
USES= gmake
+USE_GITHUB= yes
+GH_ACCOUNT= gpertea
+GH_TAGNAME= da8f5ba
PLIST_FILES= bin/cdbfasta bin/cdbyank
diff --git a/biology/cdbfasta/distinfo b/biology/cdbfasta/distinfo
index 0d3ec1700289..88da9ca0f3f0 100644
--- a/biology/cdbfasta/distinfo
+++ b/biology/cdbfasta/distinfo
@@ -1,2 +1,3 @@
-SHA256 (cdbfasta-2010.07.22.tar.gz) = 68767e8b2fb9de5a6d68ee16df73293f65e02f05cf2f747a9dd6b8854766722c
-SIZE (cdbfasta-2010.07.22.tar.gz) = 59735
+TIMESTAMP = 1689089752
+SHA256 (gpertea-cdbfasta-2023.07.10-da8f5ba_GH0.tar.gz) = c32c1b09998ae24333dbf432740ef7d087d4c8987e8131363233242542d048ac
+SIZE (gpertea-cdbfasta-2023.07.10-da8f5ba_GH0.tar.gz) = 63949
diff --git a/biology/cdbfasta/files/patch-Makefile b/biology/cdbfasta/files/patch-Makefile
deleted file mode 100644
index c062b13bf9eb..000000000000
--- a/biology/cdbfasta/files/patch-Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
---- Makefile.orig 2009-12-03 20:17:51 UTC
-+++ Makefile
-@@ -18,7 +18,10 @@ else
- MARCH =
- endif
-
--CC := g++
-+# Use the correct compiler (CXX, not CC) and respect the environment
-+# by using ?=
-+CXX ?= g++
-+
- BASEFLAGS = -Wall ${SEARCHDIRS} $(MARCH) -DENABLE_COMPRESSION=0 -D_FILE_OFFSET_BITS=64 \
- -D_LARGEFILE_SOURCE -fno-exceptions -fno-rtti -fno-strict-aliasing \
- -D_REENTRANT
-@@ -33,30 +36,30 @@ else
- endif
-
- ifeq ($(findstring nommap,$(MAKECMDGOALS)),)
-- CFLAGS = $(DBGFLAGS) $(BASEFLAGS)
-+ CXXFLAGS = $(DBGFLAGS) $(BASEFLAGS)
- else
-- CFLAGS = $(DBGFLAGS) $(BASEFLAGS) -DNO_MMAP
-+ CXXFLAGS = $(DBGFLAGS) $(BASEFLAGS) -DNO_MMAP
- endif
-
- %.o : %.c
-- ${CC} ${CFLAGS} -c $< -o $@
-+ ${CXX} ${CXXFLAGS} -c $< -o $@
-
- %.o : %.cc
-- ${CC} ${CFLAGS} -c $< -o $@
-+ ${CXX} ${CXXFLAGS} -c $< -o $@
-
- %.o : %.C
-- ${CC} ${CFLAGS} -c $< -o $@
-+ ${CXX} ${CXXFLAGS} -c $< -o $@
-
- %.o : %.cpp
-- ${CC} ${CFLAGS} -c $< -o $@
-+ ${CXX} ${CXXFLAGS} -c $< -o $@
-
- %.o : %.cxx
-- ${CC} ${CFLAGS} -c $< -o $@
-+ ${CXX} ${CXXFLAGS} -c $< -o $@
-
- # C/C++ linker
-
--LINKER := g++
--LDFLAGS = -lz
-+LINKER := ${CXX}
-+LDFLAGS = -lz
- #if ENABLE_COMPRESSION is not needed,
- # LDFLAGS =
-
diff --git a/biology/cdbfasta/pkg-descr b/biology/cdbfasta/pkg-descr
index b2908b0cc69f..71336f98157f 100644
--- a/biology/cdbfasta/pkg-descr
+++ b/biology/cdbfasta/pkg-descr
@@ -1,3 +1,2 @@
-Fast indexing and retrieval of FASTA records from flat file data bases.
-
-WWW: https://sourceforge.net/projects/cdbfasta/
+Cdbfasta creates an index file for a multi-FASTA file to facilitate
+fast retrieval of any sequence using cdbyank.
diff --git a/biology/checkm/Makefile b/biology/checkm/Makefile
index 302c1ba374d0..811a6de08dfb 100644
--- a/biology/checkm/Makefile
+++ b/biology/checkm/Makefile
@@ -1,21 +1,22 @@
PORTNAME= CheckM
DISTVERSIONPREFIX= v
-DISTVERSION= 1.0.18
+DISTVERSION= 1.2.2
CATEGORIES= biology python
MAINTAINER= yuri@FreeBSD.org
COMMENT= Quality assessment tool for the microbial genomes
+WWW= https://ecogenomics.github.io/CheckM/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYNUMPY} \
- ${PYTHON_PKGNAMEPREFIX}DendroPy>=4.0.0:science/py-DendroPy@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}matplotlib>=1.3.1:math/py-matplotlib@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pysam>=0.8.3:biology/py-pysam@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}scipy>=0.9.0:science/py-scipy@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}DendroPy>0:science/py-DendroPy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pysam>0:biology/py-pysam@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR}
-USES= python:3.7+
+USES= dos2unix python
USE_GITHUB= yes
GH_ACCOUNT= Ecogenomics
USE_PYTHON= distutils noflavors autoplist
diff --git a/biology/checkm/distinfo b/biology/checkm/distinfo
index 35db37fcbe81..733036b89632 100644
--- a/biology/checkm/distinfo
+++ b/biology/checkm/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1566202999
-SHA256 (Ecogenomics-CheckM-v1.0.18_GH0.tar.gz) = 240184bd7c708cd041d0fc14f81b22af5cb69cb96ae75177aee32effa578ca4e
-SIZE (Ecogenomics-CheckM-v1.0.18_GH0.tar.gz) = 212064
+TIMESTAMP = 1713784123
+SHA256 (Ecogenomics-CheckM-v1.2.2_GH0.tar.gz) = a748b94e93f8d5fecfd0d5b3f17fcb119b25d4b45217e047b2fd742b21e74c0e
+SIZE (Ecogenomics-CheckM-v1.2.2_GH0.tar.gz) = 1017249
diff --git a/biology/checkm/pkg-descr b/biology/checkm/pkg-descr
index a3239bad2ee7..109aed5efe23 100644
--- a/biology/checkm/pkg-descr
+++ b/biology/checkm/pkg-descr
@@ -1,12 +1,11 @@
-CheckM provides a set of tools for assessing the quality of genomes recovered
-from isolates, single cells, or metagenomes. It provides robust estimates of
-genome completeness and contamination by using collocated sets of genes that
-are ubiquitous and single-copy within a phylogenetic lineage. Assessment of
-genome quality can also be examined using plots depicting key genomic
-characteristics (e.g., GC, coding density) which highlight sequences outside
-the expected distributions of a typical genome. CheckM also provides tools for
-identifying genome bins that are likely candidates for merging based on marker
-set compatibility, similarity in genomic characteristics, and proximity within
-a reference genome tree.
-
-WWW: https://ecogenomics.github.io/CheckM/
+CheckM provides a set of tools for assessing the quality of genomes
+recovered from isolates, single cells, or metagenomes.
+It provides robust estimates of genome completeness and contamination
+by using collocated sets of genes that are ubiquitous and single-copy
+within a phylogenetic lineage.
+Assessment of genome quality can also be examined using plots depicting
+key genomic characteristics (e.g., GC, coding density) which highlight
+sequences outside the expected distributions of a typical genome.
+CheckM also provides tools for identifying genome bins that are likely
+candidates for merging based on marker set compatibility, similarity in
+genomic characteristics, and proximity within a reference genome tree.
diff --git a/biology/chip-seq/Makefile b/biology/chip-seq/Makefile
new file mode 100644
index 000000000000..5714a40951dd
--- /dev/null
+++ b/biology/chip-seq/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= chip-seq
+DISTVERSION= 0.1.2
+CATEGORIES= biology python
+MASTER_SITES= # empty
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Metaport for ChIP-Seq analysis
+WWW= https://github.com/auerlab/
+
+LICENSE= BSD2CLAUSE
+
+RUN_DEPENDS= sra-tools>0:biology/sra-tools \
+ fastq-trim>0:biology/fastq-trim \
+ fastqc>0:biology/fastqc \
+ ${PYTHON_PKGNAMEPREFIX}multiqc>0:biology/py-multiqc@${PY_FLAVOR} \
+ biolibc-tools>0:biology/biolibc-tools \
+ bwa>0:biology/bwa \
+ bowtie2>0:biology/bowtie2 \
+ samtools>0:biology/samtools \
+ ${PYTHON_PKGNAMEPREFIX}macs2>0:biology/py-macs2@${PY_FLAVOR} \
+ fasda>0:biology/fasda \
+ peak-classifier>0:biology/peak-classifier \
+ webbrowser>0:www/webbrowser
+
+USES= metaport python
+
+.include <bsd.port.mk>
diff --git a/biology/chip-seq/distinfo b/biology/chip-seq/distinfo
new file mode 100644
index 000000000000..5912638d4af3
--- /dev/null
+++ b/biology/chip-seq/distinfo
@@ -0,0 +1 @@
+TIMESTAMP = 1686777697
diff --git a/biology/chip-seq/pkg-descr b/biology/chip-seq/pkg-descr
new file mode 100644
index 000000000000..d0bdf18d2c71
--- /dev/null
+++ b/biology/chip-seq/pkg-descr
@@ -0,0 +1,2 @@
+Metaport to install tools for typical ChIP-Seq analysis, including QC,
+adapter trimming, alignment, and differential analysis.
diff --git a/biology/clustal-omega/Makefile b/biology/clustal-omega/Makefile
index afc129878f68..52e65cb1c170 100644
--- a/biology/clustal-omega/Makefile
+++ b/biology/clustal-omega/Makefile
@@ -5,6 +5,7 @@ MASTER_SITES= http://www.clustal.org/omega/
MAINTAINER= jwb@FreeBSD.org
COMMENT= Multiple alignment of nucleic acid and protein, replaces clustalw
+WWW= http://www.clustal.org/omega/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/biology/clustal-omega/pkg-descr b/biology/clustal-omega/pkg-descr
index 7c4ad1d69b44..b294b6395cf6 100644
--- a/biology/clustal-omega/pkg-descr
+++ b/biology/clustal-omega/pkg-descr
@@ -4,5 +4,3 @@ of thousands of sequences to be aligned in only a few hours. It will also make
use of multiple processors, where present. In addition, the quality of
alignments is superior to previous versions, as measured by a range of popular
benchmarks.
-
-WWW: http://www.clustal.org/omega/
diff --git a/biology/clustalw/Makefile b/biology/clustalw/Makefile
index 300ea99d5d25..12681db40423 100644
--- a/biology/clustalw/Makefile
+++ b/biology/clustalw/Makefile
@@ -1,19 +1,19 @@
-# Created by: dbader@eece.unm.edu
-
PORTNAME= clustalw
PORTVERSION= 2.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= biology
MASTER_SITES= ftp://ftp.ebi.ac.uk/pub/software/clustalw2/${PORTVERSION}/ \
http://www.clustal.org/download/${PORTVERSION}/
MAINTAINER= jwb@FreeBSD.org
COMMENT= Multiple alignment program for DNA or proteins
+WWW= http://www.clustal.org/
LICENSE= LGPL3
LICENSE_FILE= ${WRKSRC}/COPYING
GNU_CONFIGURE= yes
+CXXFLAGS+= -std=c++14
PLIST_FILES= bin/clustalw bin/clustalw2
diff --git a/biology/clustalw/distinfo b/biology/clustalw/distinfo
index cabc1ee6120f..f7a1333ae0c1 100644
--- a/biology/clustalw/distinfo
+++ b/biology/clustalw/distinfo
@@ -1,2 +1,3 @@
+TIMESTAMP = 1689463032
SHA256 (clustalw-2.1.tar.gz) = e052059b87abfd8c9e695c280bfba86a65899138c82abccd5b00478a80f49486
SIZE (clustalw-2.1.tar.gz) = 350761
diff --git a/biology/clustalw/pkg-descr b/biology/clustalw/pkg-descr
index 0d1088f1ff0e..5d143e5c25a6 100644
--- a/biology/clustalw/pkg-descr
+++ b/biology/clustalw/pkg-descr
@@ -4,5 +4,3 @@ alignments of divergent sequences. It calculates the best match for the
selected sequences, and lines them up so that the identities,
similarities and differences can be seen. Evolutionary relationships
can be seen via viewing Cladograms or Phylograms.
-
-WWW: http://www.clustal.org/
diff --git a/biology/cufflinks/Makefile b/biology/cufflinks/Makefile
index 0de2dda73fec..a737f0a40204 100644
--- a/biology/cufflinks/Makefile
+++ b/biology/cufflinks/Makefile
@@ -1,7 +1,7 @@
PORTNAME= cufflinks
DISTVERSIONPREFIX= v
DISTVERSION= 2.2.1-89
-PORTREVISION= 2
+PORTREVISION= 8
DISTVERSIONSUFFIX= -gdc3b0cb
CATEGORIES= biology
@@ -10,6 +10,7 @@ PATCHFILES+= ea4671149f3054c773d99cea521db75bf7b0658f.patch:-p1 # https://github
MAINTAINER= yuri@FreeBSD.org
COMMENT= Cufflinks assembles transcripts, estimates their abundance, etc
+WWW= https://cole-trapnell-lab.github.io/cufflinks/
LICENSE= BSL
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -18,14 +19,19 @@ LIB_DEPENDS= libboost_system.so:devel/boost-libs \
libhts.so:biology/htslib
USES= autoreconf compiler:c++11-lang eigen:3 gmake python shebangfix
+
SHEBANG_FILES= src/cuffmerge
+
GNU_CONFIGURE= yes
+
USE_GITHUB= yes
GH_ACCOUNT= cole-trapnell-lab
CXXFLAGS+= -I${LOCALBASE}/include/eigen3
CFLAGS+= -I${LOCALBASE}/include/eigen3 # https://github.com/cole-trapnell-lab/cufflinks/issues/113
+CONFLICTS_INSTALL= gffread
+
PLIST_FILES= bin/compress_gtf \
bin/cuffcompare \
bin/cuffdiff \
diff --git a/biology/cufflinks/files/patch-configure.ac b/biology/cufflinks/files/patch-configure.ac
index e40d507ff95b..4347dcbe7503 100644
--- a/biology/cufflinks/files/patch-configure.ac
+++ b/biology/cufflinks/files/patch-configure.ac
@@ -1,6 +1,15 @@
---- configure.ac.orig 2019-05-29 06:53:24 UTC
+--- configure.ac.orig 2019-07-06 16:28:01 UTC
+++ configure.ac
-@@ -77,9 +77,10 @@ case "${host_cpu}-${host_os}" in
+@@ -14,7 +14,7 @@ AC_DEFINE(SVN_REVISION, "svnversion", [SVN Revision])
+ AC_CONFIG_SRCDIR([config.h.in])
+ AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_AUX_DIR([build-aux])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([-Wall tar-pax foreign])
+
+ #AM_PATH_CPPUNIT(1.10.2)
+
+@@ -78,9 +78,10 @@ case "${host_cpu}-${host_os}" in
AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [ext_CFLAGS="-arch x86_64"], []);;
*)
AC_MSG_CHECKING([if gcc accepts -m64])
@@ -14,3 +23,20 @@
esac
AC_ARG_ENABLE(vectorize, [ --enable-vectorize Enable GCC auto-vectorization],
+@@ -111,7 +112,7 @@ AC_ARG_ENABLE(profiling, [ --enable-profiling
+ [ext_LDFLAGS="-lprofiler -ltcmalloc"], [])
+
+ CFLAGS="${generic_CFLAGS} ${ext_CFLAGS} ${user_CFLAGS} ${debug_CFLAGS} ${OPENMP_CFLAGS}"
+-CXXFLAGS="$CFLAGS -std=c++03"
++CXXFLAGS="$CFLAGS -std=c++14"
+ CXXFLAGS="${CXXFLAGS} ${BOOST_CPPFLAGS} ${BAM_CPPFLAGS} ${EIGEN_CPPFLAGS}"
+ user_LDFLAGS="$LDFLAGS"
+ LDFLAGS="${ext_LDFLAGS} ${user_LDFLAGS}"
+@@ -120,7 +121,6 @@ LDFLAGS="${ext_LDFLAGS} ${user_LDFLAGS}"
+ AC_CHECK_MEMBERS([struct sysinfo.totalram], [], [], [#include <sys/sysinfo.h>])
+ AC_CHECK_DECLS([sysctl, CTL_HW, HW_PHYSMEM], [], [], [#include <sys/sysctl.h>])
+
+-AM_INIT_AUTOMAKE([-Wall tar-pax foreign])
+
+ AC_CONFIG_FILES([Makefile
+ src/Makefile])
diff --git a/biology/cufflinks/files/patch-src_GBase.h b/biology/cufflinks/files/patch-src_GBase.h
index d7475a73dcb4..757bd8831c36 100644
--- a/biology/cufflinks/files/patch-src_GBase.h
+++ b/biology/cufflinks/files/patch-src_GBase.h
@@ -1,4 +1,4 @@
---- src/GBase.h.orig 2019-05-25 22:08:19 UTC
+--- src/GBase.h.orig 2019-07-06 16:28:01 UTC
+++ src/GBase.h
@@ -1,6 +1,6 @@
#ifndef G_BASE_DEFINED
@@ -8,3 +8,12 @@
//mostly for MinGW
#define _POSIX_SOURCE
#endif
+@@ -71,7 +71,7 @@ typedef int16_t int16;
+ typedef uint16_t uint16;
+
+ typedef unsigned char uchar;
+-typedef unsigned char byte;
++typedef unsigned char bytex;
+
+ #ifndef MAXUINT
+ #define MAXUINT ((unsigned int)-1)
diff --git a/biology/cufflinks/files/patch-src_codons.cpp b/biology/cufflinks/files/patch-src_codons.cpp
new file mode 100644
index 000000000000..0867df1e5bdf
--- /dev/null
+++ b/biology/cufflinks/files/patch-src_codons.cpp
@@ -0,0 +1,24 @@
+--- src/codons.cpp.orig 2022-07-28 03:23:12 UTC
++++ src/codons.cpp
+@@ -48,9 +48,9 @@ static bool isCodonTableReady=codonTableInit();
+
+ unsigned short packCodon(char n1, char n2, char n3) {
+ //assumes they are uppercase already!
+- byte b1=n1-'A';
+- byte b2=n2-'A';
+- byte b3=n3-'A';
++ bytex b1=n1-'A';
++ bytex b2=n2-'A';
++ bytex b3=n3-'A';
+ b1 |= (b2 << 5);
+ b2 = (b2 >> 3) | (b3 << 2);
+ return ( ((unsigned short)b2) << 8) + b1;
+@@ -68,7 +68,7 @@ bool codonTableInit() {
+
+
+ char Codon::translate() {
+- for (byte i=0;i<3;i++) nuc[i]=toupper(nuc[i]);
++ for (bytex i=0;i<3;i++) nuc[i]=toupper(nuc[i]);
+ unsigned short aacode=packCodon(nuc[0], nuc[1], nuc[2]);
+ return codonTable[aacode];
+ }
diff --git a/biology/cufflinks/files/patch-src_gdna.cpp b/biology/cufflinks/files/patch-src_gdna.cpp
new file mode 100644
index 000000000000..c305e2a0b8b1
--- /dev/null
+++ b/biology/cufflinks/files/patch-src_gdna.cpp
@@ -0,0 +1,34 @@
+--- src/gdna.cpp.orig 2022-07-28 03:26:30 UTC
++++ src/gdna.cpp
+@@ -11,8 +11,8 @@ const char* IUPAC_COMP ="TtGgAaCcAaKkYyWwSsRrMmBbDdHh
+ #define G_2BIT 2 // 10
+ #define T_2BIT 3 // 11
+
+-static byte ntCompTable[256];
+-static byte nt2bit[256]; //maps any character to a 2bit base value (with N = A)
++static bytex ntCompTable[256];
++static bytex nt2bit[256]; //maps any character to a 2bit base value (with N = A)
+ static char v_2bit2nt[4] = {'A','C','G','T'};
+
+ //----------------------
+@@ -21,9 +21,9 @@ static bool gdna_Ready=gDnaInit();
+
+ //----------------------
+
+-byte gdna2bit(char* &nt, int n) {
++bytex gdna2bit(char* &nt, int n) {
+ // Pack n bases into a byte (n can be 1..4)
+-byte out = 0;
++bytex out = 0;
+ while (n && *nt) {
+ n--;
+ out <<= 2;
+@@ -43,7 +43,7 @@ char ntComplement(char c) {
+ return ntCompTable[(int)c];
+ }
+
+-char g2bit2base(byte v2bit) {
++char g2bit2base(bytex v2bit) {
+ return v_2bit2nt[v2bit & 0x03 ];
+ }
+
diff --git a/biology/cufflinks/files/patch-src_gdna.h b/biology/cufflinks/files/patch-src_gdna.h
new file mode 100644
index 000000000000..73ec345a705e
--- /dev/null
+++ b/biology/cufflinks/files/patch-src_gdna.h
@@ -0,0 +1,12 @@
+--- src/gdna.h.orig 2022-07-28 03:14:39 UTC
++++ src/gdna.h
+@@ -9,7 +9,7 @@ char* reverseComplement(char* seq, int slen=0);
+
+ bool gDnaInit();
+
+-byte gdna2bit(char* &nt, int n=4); //pack n bases into a byte (n can be 1..4)
+-char g2bit2base(byte v2bit); //convert the 2-bit value into 'A', 'C', 'G' or 'T'
++bytex gdna2bit(char* &nt, int n=4); //pack n bases into a byte (n can be 1..4)
++char g2bit2base(bytex v2bit); //convert the 2-bit value into 'A', 'C', 'G' or 'T'
+
+ #endif
diff --git a/biology/cufflinks/files/patch-src_gff.cpp b/biology/cufflinks/files/patch-src_gff.cpp
new file mode 100644
index 000000000000..3bca48213b0a
--- /dev/null
+++ b/biology/cufflinks/files/patch-src_gff.cpp
@@ -0,0 +1,11 @@
+--- src/gff.cpp.orig 2022-07-28 03:24:45 UTC
++++ src/gff.cpp
+@@ -21,7 +21,7 @@ const uint gfo_flag_BY_EXON = 0x00000020; //c
+ const uint gfo_flag_DISCARDED = 0x00000100;
+ const uint gfo_flag_LST_KEEP = 0x00000200;
+ const uint gfo_flag_LEVEL_MSK = 0x00FF0000;
+-const byte gfo_flagShift_LEVEL = 16;
++const bytex gfo_flagShift_LEVEL = 16;
+
+ void gffnames_ref(GffNames* &n) {
+ if (n==NULL) n=new GffNames();
diff --git a/biology/cufflinks/files/patch-src_gff.h b/biology/cufflinks/files/patch-src_gff.h
new file mode 100644
index 000000000000..53cb996ef782
--- /dev/null
+++ b/biology/cufflinks/files/patch-src_gff.h
@@ -0,0 +1,34 @@
+--- src/gff.h.orig 2022-07-28 03:20:26 UTC
++++ src/gff.h
+@@ -42,7 +42,7 @@ extern const uint gfo_flag_DISCARDED; //should not be
+ extern const uint gfo_flag_LST_KEEP; //GffObj from GffReader::gflst is to be kept (not deallocated)
+ //when GffReader is destroyed
+ extern const uint gfo_flag_LEVEL_MSK; //hierarchical level: 0 = no parent
+-extern const byte gfo_flagShift_LEVEL;
++extern const bytex gfo_flagShift_LEVEL;
+
+ extern bool gff_show_warnings;
+
+@@ -508,18 +508,18 @@ class GffObj:public GSeg { (public)
+ if (v) flags |= gfo_flag_CHILDREN_PROMOTED;
+ else flags &= ~gfo_flag_CHILDREN_PROMOTED;
+ }
+- void setLevel(byte v) {
++ void setLevel(bytex v) {
+ if (v==0) flags &= ~gfo_flag_LEVEL_MSK;
+ else flags &= ~(((uint)v) << gfo_flagShift_LEVEL);
+ }
+- byte incLevel() {
++ bytex incLevel() {
+ uint v=((flags & gfo_flag_LEVEL_MSK) >> gfo_flagShift_LEVEL);
+ v++;
+ flags &= ~(v << gfo_flagShift_LEVEL);
+ return v;
+ }
+- byte getLevel() {
+- return ((byte)((flags & gfo_flag_LEVEL_MSK) >> gfo_flagShift_LEVEL));
++ bytex getLevel() {
++ return ((bytex)((flags & gfo_flag_LEVEL_MSK) >> gfo_flagShift_LEVEL));
+ }
+
+ bool isValidTranscript() {
diff --git a/biology/cufflinks/pkg-descr b/biology/cufflinks/pkg-descr
index 8fbb1acb5e0b..8e9e4077606f 100644
--- a/biology/cufflinks/pkg-descr
+++ b/biology/cufflinks/pkg-descr
@@ -11,5 +11,3 @@ Berkeley, Steven Salzberg's computational genomics group at the Institute of
Genetic Medicine at Johns Hopkins University, and Barbara Wold's lab at Caltech.
The project is now maintained by Cole Trapnell's lab at the University of
Washington.
-
-WWW: http://cole-trapnell-lab.github.io/cufflinks/
diff --git a/biology/cytoscape/Makefile b/biology/cytoscape/Makefile
index ff126eccfa48..8be09cf415d6 100644
--- a/biology/cytoscape/Makefile
+++ b/biology/cytoscape/Makefile
@@ -7,13 +7,15 @@ DISTFILES= FreeBSD-${PORTNAME}-${PORTVERSION}-maven-repository.tar.gz:maven
MAINTAINER= yuri@FreeBSD.org
COMMENT= Software to visualize molecular interaction networks, gene expression
+WWW= https://www.cytoscape.org
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/api/LICENSE
-BROKEN= fails to build: Cytoscape Third-Party Dependencies (third-party): FAILURE
+BROKEN_armv6= build runs out of memory
+BROKEN_armv7= build runs out of memory
-BUILD_DEPENDS= mvn:devel/maven \
+BUILD_DEPENDS= maven363>0:devel/maven363 \
bash:shells/bash
RUN_DEPENDS= bash:shells/bash
diff --git a/biology/cytoscape/pkg-descr b/biology/cytoscape/pkg-descr
index 478bc554a3db..a3b6bce323dd 100644
--- a/biology/cytoscape/pkg-descr
+++ b/biology/cytoscape/pkg-descr
@@ -2,5 +2,3 @@ Cytoscape is an open source software platform for visualizing complex networks
and integrating these with any type of attribute data. A lot of Apps are
available for various kinds of problem domains, including bioinformatics, social
network analysis, and semantic web.
-
-WWW: http://www.cytoscape.org
diff --git a/biology/ddocent/Makefile b/biology/ddocent/Makefile
index bc27815d529c..735eba8216d7 100644
--- a/biology/ddocent/Makefile
+++ b/biology/ddocent/Makefile
@@ -1,17 +1,16 @@
PORTNAME= dDocent
DISTVERSIONPREFIX= v
DISTVERSION= 2.7.8
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= biology java perl5 python
MAINTAINER= jwb@FreeBSD.org
COMMENT= Bash pipeline for RAD sequencing
+WWW= http://ddocent.com
LICENSE= MIT
-# ddocent test data do not unpack with FreeBSD 11.1 /usr/bin/unzip
-RUN_DEPENDS= unzip>=0:archivers/unzip \
- mawk>=0:lang/mawk \
+RUN_DEPENDS= mawk>=0:lang/mawk \
gawk>=0:lang/gawk \
coreutils>=0:sysutils/coreutils \
gnuplot>=0:math/gnuplot \
diff --git a/biology/ddocent/pkg-descr b/biology/ddocent/pkg-descr
index 84c4e96e7a14..a74299d2a8d0 100644
--- a/biology/ddocent/pkg-descr
+++ b/biology/ddocent/pkg-descr
@@ -3,5 +3,3 @@ any kind of RAD sequencing. If you have a reference already, dDocent can be
used to call SNPs from almost any type of NGS data set. It is designed to run
on Linux based machines with large memory capacity and multiple processing
cores, and it can be modified for use on HPC.
-
-WWW: http://ddocent.com
diff --git a/biology/diamond/Makefile b/biology/diamond/Makefile
index 78dbbf4c10ac..e6b69cfa7132 100644
--- a/biology/diamond/Makefile
+++ b/biology/diamond/Makefile
@@ -1,16 +1,16 @@
PORTNAME= diamond
DISTVERSIONPREFIX= v
-DISTVERSION= 2.0.11-1
-DISTVERSIONSUFFIX= -g810a3904
+DISTVERSION= 2.1.9
CATEGORIES= biology
MAINTAINER= jrm@FreeBSD.org
COMMENT= BLAST-compatible local sequence aligner
+WWW= http://ab.inf.uni-tuebingen.de/software/diamond/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le
USES= cmake
USE_GITHUB= yes
diff --git a/biology/diamond/distinfo b/biology/diamond/distinfo
index cd8e97767a86..7e27159cb67e 100644
--- a/biology/diamond/distinfo
+++ b/biology/diamond/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1625576969
-SHA256 (bbuchfink-diamond-v2.0.11-1-g810a3904_GH0.tar.gz) = 4876be5c8dc0b070ca5208e7833af5d492e0e8928347f8fe63feed9044eec303
-SIZE (bbuchfink-diamond-v2.0.11-1-g810a3904_GH0.tar.gz) = 1473340
+TIMESTAMP = 1707069968
+SHA256 (bbuchfink-diamond-v2.1.9_GH0.tar.gz) = 4cde9df78c63e8aef9df1e3265cd06a93ce1b047d6dba513a1437719b70e9d88
+SIZE (bbuchfink-diamond-v2.1.9_GH0.tar.gz) = 5946668
diff --git a/biology/diamond/pkg-descr b/biology/diamond/pkg-descr
index c625bbcdf61e..803b9b3d4ac9 100644
--- a/biology/diamond/pkg-descr
+++ b/biology/diamond/pkg-descr
@@ -3,5 +3,3 @@ DNA query sequences against a protein reference database (BLASTP and BLASTX
alignment mode). The speedup over BLAST is up to 20,000 on short reads at a
typical sensitivity of 90-99% relative to BLAST depending on the data and
settings.
-
-WWW: http://ab.inf.uni-tuebingen.de/software/diamond/
diff --git a/biology/dsr-pdb/Makefile b/biology/dsr-pdb/Makefile
index 873e2c2a4e12..a84b48dd8241 100644
--- a/biology/dsr-pdb/Makefile
+++ b/biology/dsr-pdb/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dsr-pdb
DISTVERSION= 1.0.3
-PORTREVISION= 5
+PORTREVISION= 12
CATEGORIES= biology
MASTER_SITES= https://graphics.stanford.edu/~drussel/
DISTNAME= ${PORTNAME}
@@ -8,16 +8,20 @@ DIST_SUBDIR= ${PORTNAME}-${DISTVERSION}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Simple C++ PDB reader (reads the protein description format)
+WWW= https://graphics.stanford.edu/~drussel/pdb/
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/COPYING.txt
+BROKEN_aarch64= ld: error: undefined symbol: .mcount (see bug#262709)
+
LIB_DEPENDS= libboost_program_options.so:devel/boost-libs
USES= compiler:c++11-lang gmake libtool localbase:ldflags tar:tgz
-GNU_CONFIGURE= yes
USE_LDCONFIG= yes
+GNU_CONFIGURE= yes
+
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
CXXFLAGS+= -fPIC --std=c++11 # libboost_program_options.so isn't found without --std=c++11
diff --git a/biology/dsr-pdb/files/patch-lib_Makefile.in b/biology/dsr-pdb/files/patch-lib_Makefile.in
new file mode 100644
index 000000000000..58a5ed2003b5
--- /dev/null
+++ b/biology/dsr-pdb/files/patch-lib_Makefile.in
@@ -0,0 +1,13 @@
+- workaround for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262709
+
+--- lib/Makefile.in.orig 2022-03-22 00:02:00 UTC
++++ lib/Makefile.in
+@@ -180,7 +180,7 @@ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ lib_LTLIBRARIES = libdsrpdb.la
+ noinst_HEADERS = pdb_utils.h Residue_data.h
+-AM_CPPFLAGS = -I../include -pg
++AM_CPPFLAGS = -I../include
+ libdsrpdb_la_SOURCES = Residue.cc Protein.cc Residue_data.cc Protein_pdb.cc pdb_utils.cc Model.cc PDB.cc align.cc distance.cc Error_logger.cc
+ libdsrpdb_la_LDFLAGS = -static
+ all: all-am
diff --git a/biology/dsr-pdb/pkg-descr b/biology/dsr-pdb/pkg-descr
index 4cc497313c13..09bf048c3180 100644
--- a/biology/dsr-pdb/pkg-descr
+++ b/biology/dsr-pdb/pkg-descr
@@ -8,5 +8,3 @@ protein from/to a pdb file (which must have only one chain, but can have
multiple models). The second, through the PDB class can handle pdb files with
multiple models and herogens (although these are just passed through and not
currently interpreted).
-
-WWW: https://graphics.stanford.edu/~drussel/pdb/
diff --git a/biology/edlib/Makefile b/biology/edlib/Makefile
index a9e942ed7bb0..3ec16d24a49b 100644
--- a/biology/edlib/Makefile
+++ b/biology/edlib/Makefile
@@ -4,6 +4,7 @@ CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= Fast C++ library for sequence alignment using edit distance
+WWW= https://github.com/Martinsos/edlib
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/biology/edlib/pkg-descr b/biology/edlib/pkg-descr
index cd54c994c275..a39dcc81c330 100644
--- a/biology/edlib/pkg-descr
+++ b/biology/edlib/pkg-descr
@@ -1,4 +1,2 @@
A lightweight and super fast C/C++ library for sequence alignment using edit
distance.
-
-WWW: https://github.com/Martinsos/edlib
diff --git a/biology/emboss/Makefile b/biology/emboss/Makefile
index 24862d3e1732..2f43a2a05769 100644
--- a/biology/emboss/Makefile
+++ b/biology/emboss/Makefile
@@ -1,8 +1,6 @@
-# Created by: Johann Visagie <johann@egenetics.com>
-
PORTNAME= emboss
PORTVERSION= 6.6.0
-PORTREVISION= 5
+PORTREVISION= 7
CATEGORIES= biology
MASTER_SITES= ftp://emboss.open-bio.org/pub/EMBOSS/
DISTNAME= ${PORTNAME:tu}-${PORTVERSION}
@@ -10,6 +8,7 @@ DIST_SUBDIR= ${PORTNAME}
MAINTAINER= wen@FreeBSD.org
COMMENT= Collection of open source tools for genetic sequence analysis
+WWW= http://www.emboss.org/
LICENSE= GPLv2
@@ -18,10 +17,10 @@ BUILD_DEPENDS= clustalw:biology/clustalw \
LIB_DEPENDS= libgd.so:graphics/gd \
libpng.so:graphics/png
-USES= gmake libtool iconv mysql pgsql ssl
+USES= gmake libtool iconv localbase:ldflags pgsql ssl
USE_SUBMAKE= yes
-CONFLICTS= qmail-ldap-[0-9]* digest-[0-9]*
+CONFLICTS= qmail-ldap digest
PREFIX?= ${LOCALBASE}/emboss
NO_MTREE= yes
@@ -29,16 +28,18 @@ GNU_CONFIGURE= yes
USE_LDCONFIG= yes
SUB_FILES= pkg-message emboss-shell
SUB_LIST= PREFIX=${PREFIX} DATADIR=${DATADIR}
-LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_ARGS+=${ICONV_CONFIGURE_ARG}
INSTALL_TARGET= install-strip
DOCSDIR= ${PREFIX}/share/${PORTNAME:tu}/doc
DATADIR= ${PREFIX}/share/${PORTNAME:tu}
-OPTIONS_DEFINE= DOCS X11
+OPTIONS_DEFINE= DOCS MYSQL X11
OPTIONS_DEFAULT= X11
+
DOCS_CONFIGURE_ON= --with-docroot=${DOCSDIR}
+MYSQL_USES= mysql
+MYSQL_VARS= IGNORE_WITH_MYSQL="80 81"
X11_USES= motif xorg
X11_USE= XORG=x11
X11_LIB_DEPENDS= libgd.so:graphics/gd \
@@ -50,6 +51,9 @@ CONFIG_FILE= ${WRKSRC}/emboss/emboss.default.template
post-patch:
@${REINPLACE_CMD} -e 's/-liconv/${ICONV_LIB}/' ${WRKSRC}/configure
+post-build:
+ ${CC} -DEMBOSS_PREFIX="\"${PREFIX}\"" ${FILESDIR}/emboss.c -o ${WRKDIR}/emboss
+
pre-install:
@ ${REINPLACE_CMD} -e 's#%%DATADIR%%#${PREFIX}/share/${PORTNAME:tu}#' ${CONFIG_FILE}
@@ -57,5 +61,6 @@ post-install:
@${MKDIR} ${STAGEDIR}${LOCALBASE}/bin
${INSTALL_SCRIPT} ${WRKDIR}/emboss-shell ${STAGEDIR}${LOCALBASE}/bin
${INSTALL_DATA} ${CONFIG_FILE} ${STAGEDIR}${DATADIR}
+ ${INSTALL_PROGRAM} ${WRKDIR}/emboss ${STAGEDIR}${LOCALBASE}/bin
.include <bsd.port.mk>
diff --git a/biology/emboss/distinfo b/biology/emboss/distinfo
index ea7511984c28..a8e5c23c1cc6 100644
--- a/biology/emboss/distinfo
+++ b/biology/emboss/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1630940920
+TIMESTAMP = 1632518858
SHA256 (emboss/EMBOSS-6.6.0.tar.gz) = 7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e
SIZE (emboss/EMBOSS-6.6.0.tar.gz) = 117962028
diff --git a/biology/emboss/files/emboss.c b/biology/emboss/files/emboss.c
new file mode 100644
index 000000000000..1b6f1deca5df
--- /dev/null
+++ b/biology/emboss/files/emboss.c
@@ -0,0 +1,59 @@
+/***************************************************************************
+ * Description:
+ * Wrapper to turn emboss commands into subcommands. The emboss suite
+ * contains executables that conflict with multiple other software
+ * packages and therefore cannot be safely installed directly under a
+ * standard prefix. This wrapper can be installed under the standard
+ * PATH and used to to execute emboss commands installed under a
+ * private prefix, without altering PATH, activating a special
+ * environment, opening a container, etc. This sub-command paradigm
+ * is already familiar to bioinformaticians thanks to other suites
+ * like samtools, bedtools, etc.
+ *
+ * Example:
+ *
+ * emboss seqret args
+ *
+ * instead of one of the following:
+ *
+ * prefix/bin/seqret args
+ *
+ * env PATH=prefix/bin:$PATH seqret args
+ *
+ * conda activate emboss
+ * seqret args
+ *
+ * Arguments:
+ * The full emboss command you would use if it were in PATH.
+ *
+ * Compile with EMBOSS_PREFIX set to the parent of the bin directory
+ * containing the emboss binaries.
+ *
+ * History:
+ * Date Name Modification
+ * 2021-09-13 Jason Bacon Begin
+ ***************************************************************************/
+
+#include <stdio.h>
+#include <sysexits.h>
+#include <limits.h>
+#include <unistd.h>
+
+#ifndef EMBOSS_PREFIX
+#define EMBOSS_PREFIX "/usr/local/emboss"
+#endif
+
+int main(int argc,char *argv[])
+
+{
+ char cmd[PATH_MAX + 1];
+
+ if ( argc < 2 )
+ {
+ fprintf(stderr, "Usage: %s emboss-command [args]\n", argv[0]);
+ return EX_USAGE;
+ }
+
+ snprintf(cmd, PATH_MAX, "%s/bin/%s", EMBOSS_PREFIX, argv[1]);
+ execv(cmd, argv + 1);
+}
diff --git a/biology/emboss/files/patch-ajax_core_ajfileio.c b/biology/emboss/files/patch-ajax_core_ajfileio.c
new file mode 100644
index 000000000000..b819ff5e1390
--- /dev/null
+++ b/biology/emboss/files/patch-ajax_core_ajfileio.c
@@ -0,0 +1,10 @@
+--- ajax/core/ajfileio.c.orig 2023-12-02 19:03:54 UTC
++++ ajax/core/ajfileio.c
+@@ -31,6 +31,7 @@
+ #include "ajfileio.h"
+ #include "ajutil.h"
+ #include "ajfile.h"
++#include "ajsys.h"
+
+ #include <string.h>
+ #include <errno.h>
diff --git a/biology/emboss/pkg-descr b/biology/emboss/pkg-descr
index 8ae8809941d5..a66f9fa69a18 100644
--- a/biology/emboss/pkg-descr
+++ b/biology/emboss/pkg-descr
@@ -14,5 +14,3 @@ EMBASSY packages are third party applications which have been integrated with
the EMBOSS suite, but which are not included in the base EMBOSS distribution
for licensing or other reasons. The EMBASSY packages live in the
biology/embassy port.
-
-WWW: http://www.emboss.org/
diff --git a/biology/emboss/pkg-plist b/biology/emboss/pkg-plist
index 281c02c28196..f2b9e61952fd 100644
--- a/biology/emboss/pkg-plist
+++ b/biology/emboss/pkg-plist
@@ -77,6 +77,7 @@ bin/edamisid
bin/edamname
bin/edialign
bin/einverted
+%%LOCALBASE%%/bin/emboss
%%LOCALBASE%%/bin/emboss-shell
bin/embossdata
bin/embossupdate
diff --git a/biology/erminej/Makefile b/biology/erminej/Makefile
index 39c19e7d2a25..69b22e7884fb 100644
--- a/biology/erminej/Makefile
+++ b/biology/erminej/Makefile
@@ -6,6 +6,7 @@ DISTNAME= ermineJ-${DISTVERSION}-generic-bundle
MAINTAINER= jwb@FreeBSD.org
COMMENT= Analyses of gene sets such as gene expression profiling studies
+WWW= https://erminej.msl.ubc.ca/
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
diff --git a/biology/erminej/pkg-descr b/biology/erminej/pkg-descr
index 94ccbf50a01b..c27870c90403 100644
--- a/biology/erminej/pkg-descr
+++ b/biology/erminej/pkg-descr
@@ -4,5 +4,3 @@ particular biological pathways are "doing something interesting" in an
experiment that generates long lists of candidates. The software is designed to
be used by biologists with little or no informatics background (but if you do,
you might be interested in the CLI or the R support).
-
-WWW: https://erminej.msl.ubc.ca/
diff --git a/biology/exonerate/Makefile b/biology/exonerate/Makefile
index 41d7fe87714c..07a75d9dd9f5 100644
--- a/biology/exonerate/Makefile
+++ b/biology/exonerate/Makefile
@@ -1,18 +1,19 @@
-# Created by: Motomichi Matsuzaki <mzaki@niid.go.jp>
-
PORTNAME= exonerate
PORTVERSION= 2.4.0
+PORTREVISION= 1
CATEGORIES= biology
MASTER_SITES= http://ftp.ebi.ac.uk/pub/software/vertebrategenomics/exonerate/
MAINTAINER= mzaki@niid.go.jp
COMMENT= Generic tool for sequence alignment
+WWW= https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
USES= gnome pkgconfig
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
USE_GNOME= glib20
TEST_TARGET= check
diff --git a/biology/exonerate/pkg-descr b/biology/exonerate/pkg-descr
index 1cd652065a70..3ec226743b37 100644
--- a/biology/exonerate/pkg-descr
+++ b/biology/exonerate/pkg-descr
@@ -6,5 +6,3 @@ Citation:
Slater, G. S. C. and Birney, E. (2005) Automated generation of heuristics
for biological sequence comparison. BMC Bioinformatics 6:31.
-
-WWW: https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate
diff --git a/biology/exonerate/pkg-plist b/biology/exonerate/pkg-plist
index b3532b0526cd..883b4fac0f38 100644
--- a/biology/exonerate/pkg-plist
+++ b/biology/exonerate/pkg-plist
@@ -25,7 +25,7 @@ bin/fastavalidcds
bin/fasta2esd
bin/fastaannotatecdna
bin/esd2esi
-man/man1/exonerate-server.1.gz
-man/man1/fastautils.1.gz
-man/man1/exonerate.1.gz
-man/man1/ipcress.1.gz
+share/man/man1/exonerate-server.1.gz
+share/man/man1/fastautils.1.gz
+share/man/man1/exonerate.1.gz
+share/man/man1/ipcress.1.gz
diff --git a/biology/fasda/Makefile b/biology/fasda/Makefile
new file mode 100644
index 000000000000..d6d5450cfd1c
--- /dev/null
+++ b/biology/fasda/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= fasda
+DISTVERSION= 0.1.5
+PORTREVISION= 1
+CATEGORIES= biology
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Fast and simple differential analysis
+WWW= https://github.com/auerlab/fasda
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libxtend.so:devel/libxtend libbiolibc.so:biology/biolibc
+RUN_DEPENDS= stringtie>0:biology/stringtie
+
+USES= localbase
+USE_GITHUB= yes
+
+GH_ACCOUNT= auerlab
+
+MAKE_ARGS= MANPREFIX=${PREFIX}/share
+MAKE_ENV= VERSION=${PORTVERSION}
+INSTALL_TARGET= install-strip
+
+pre-build:
+ cd ${WRKSRC} && make depend LOCALBASE=${LOCALBASE}
+
+.include <bsd.port.mk>
diff --git a/biology/fasda/distinfo b/biology/fasda/distinfo
new file mode 100644
index 000000000000..9ada38fe828f
--- /dev/null
+++ b/biology/fasda/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1698151465
+SHA256 (auerlab-fasda-0.1.5_GH0.tar.gz) = 38ff2231259c67e814937f1032808b99fca24763d80dc7a6ad40cc65a518c085
+SIZE (auerlab-fasda-0.1.5_GH0.tar.gz) = 77908
diff --git a/biology/fasda/pkg-descr b/biology/fasda/pkg-descr
new file mode 100644
index 000000000000..7a5c92fa13d8
--- /dev/null
+++ b/biology/fasda/pkg-descr
@@ -0,0 +1,5 @@
+FASDA aims to provide a fast and simple differential analysis tool
+that just works and does not require any knowledge beyond basic Unix
+command-line skills. The code is written entirely in C to maximize
+efficiency and portability, and to provide a simple command-line user
+interface.
diff --git a/biology/fasda/pkg-plist b/biology/fasda/pkg-plist
new file mode 100644
index 000000000000..7b5e06772a0c
--- /dev/null
+++ b/biology/fasda/pkg-plist
@@ -0,0 +1,10 @@
+bin/fasda
+libexec/fasda/abundance
+libexec/fasda/fold-change
+libexec/fasda/normalize
+libexec/fasda/pval-sim
+share/man/man1/fasda-abundance.1.gz
+share/man/man1/fasda-fold-change.1.gz
+share/man/man1/fasda-normalize.1.gz
+share/man/man1/fasda-pval-sim.1.gz
+share/man/man1/fasda.1.gz
diff --git a/biology/fasta/Makefile b/biology/fasta/Makefile
index a9fe7d45afc9..9aa0dae6b1ab 100644
--- a/biology/fasta/Makefile
+++ b/biology/fasta/Makefile
@@ -1,7 +1,6 @@
-# Created by: Johann Visagie <johann@egenetics.com>
-
PORTNAME= fasta
PORTVERSION= 21.1.1
+PORTREVISION= 1
CATEGORIES= biology
MASTER_SITES= http://faculty.virginia.edu/wrpearson/fasta/fasta2/ \
ftp://ftp.ebi.ac.uk/pub/software/unix/fasta/fasta2/
@@ -9,6 +8,7 @@ EXTRACT_SUFX= .shar.Z
MAINTAINER= ports@FreeBSD.org
COMMENT= Collection of programs for searching DNA and protein databases
+WWW= http://fasta.bioch.virginia.edu/
# Converted from NO_CDROM
LICENSE= FASTA
@@ -16,6 +16,8 @@ LICENSE_NAME= fasta
LICENSE_TEXT= May not be sold or incorporated into a commercial product
LICENSE_PERMS= dist-mirror pkg-mirror auto-accept
+CONFLICTS_INSTALL= align
+
WRKSRC= ${WRKDIR}/fasta
SUB_FILES= pkg-message
@@ -37,12 +39,12 @@ post-patch:
post-install:
${INSTALL_MAN} ${MAN_FILES:S,^,${WRKSRC}/,} \
- ${STAGEDIR}${MAN1PREFIX}/man/man1
+ ${STAGEDIR}${PREFIX}/share/man/man1
.for mlink in tfasta lfasta plfasta fastx tfastx
- ${LN} -s fasta.1.gz ${STAGEDIR}${MAN1PREFIX}/man/man1/${mlink}.1.gz
+ ${LN} -s fasta.1.gz ${STAGEDIR}${PREFIX}/share/man/man1/${mlink}.1.gz
.endfor
- ${LN} -s align.1.gz ${STAGEDIR}${MAN1PREFIX}/man/man1/align0.1.gz
- ${LN} -s align.1.gz ${STAGEDIR}${MAN1PREFIX}/man/man1/plalign.1.gz
+ ${LN} -s align.1.gz ${STAGEDIR}${PREFIX}/share/man/man1/align0.1.gz
+ ${LN} -s align.1.gz ${STAGEDIR}${PREFIX}/share/man/man1/plalign.1.gz
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
diff --git a/biology/fasta/pkg-descr b/biology/fasta/pkg-descr
index 4ed94b5e2538..93fe0f1d0e34 100644
--- a/biology/fasta/pkg-descr
+++ b/biology/fasta/pkg-descr
@@ -14,5 +14,3 @@ Methods in Enzymology 183:63- 98).
The FASTA2 suite is distributed freely subject to the condition that it may
not be sold or incorporated into a commercial product.
-
-WWW: http://fasta.bioch.virginia.edu/
diff --git a/biology/fasta/pkg-plist b/biology/fasta/pkg-plist
index a72f2f287977..edd7ed2ce820 100644
--- a/biology/fasta/pkg-plist
+++ b/biology/fasta/pkg-plist
@@ -5,17 +5,17 @@ bin/garnier
bin/lalign
bin/plalign
bin/psgrease
-man/man1/align.1.gz
-man/man1/align0.1.gz
-man/man1/fasta.1.gz
-man/man1/fastx.1.gz
-man/man1/lalign.1.gz
-man/man1/lfasta.1.gz
-man/man1/plalign.1.gz
-man/man1/plfasta.1.gz
-man/man1/prdf.1.gz
-man/man1/prss.1.gz
-man/man1/randseq.1.gz
-man/man1/ssearch.1.gz
-man/man1/tfasta.1.gz
-man/man1/tfastx.1.gz
+share/man/man1/align.1.gz
+share/man/man1/align0.1.gz
+share/man/man1/fasta.1.gz
+share/man/man1/fastx.1.gz
+share/man/man1/lalign.1.gz
+share/man/man1/lfasta.1.gz
+share/man/man1/plalign.1.gz
+share/man/man1/plfasta.1.gz
+share/man/man1/prdf.1.gz
+share/man/man1/prss.1.gz
+share/man/man1/randseq.1.gz
+share/man/man1/ssearch.1.gz
+share/man/man1/tfasta.1.gz
+share/man/man1/tfastx.1.gz
diff --git a/biology/fasta3/Makefile b/biology/fasta3/Makefile
index 9c359e248184..23e6254f09de 100644
--- a/biology/fasta3/Makefile
+++ b/biology/fasta3/Makefile
@@ -1,7 +1,6 @@
-# Created by: Johann Visagie <johann@egenetics.com>
-
PORTNAME= fasta3
PORTVERSION= 36.3.8
+PORTREVISION= 1
CATEGORIES= biology
MASTER_SITES= http://faculty.virginia.edu/wrpearson/fasta/fasta36/
DISTNAME= fasta-${PORTVERSION}
@@ -9,6 +8,7 @@ DIST_SUBDIR= fasta3/2014-01-29
MAINTAINER= wendell@bsd.com.br
COMMENT= Collection of programs for searching DNA and protein databases
+WWW= http://fasta.bioch.virginia.edu/
LICENSE= Fasta
LICENSE_NAME= Fasta program copyright W. Pearson and U.Virginia
@@ -54,10 +54,10 @@ post-install:
.endfor
.for manpage in ${MAN1_FILES}
(cd ${WRKSRC}/doc && ${INSTALL_MAN} ${manpage} \
- ${STAGEDIR}${MAN1PREFIX}/man/man1)
+ ${STAGEDIR}${PREFIX}/share/man/man1)
.endfor
.for links in ${MAN1_LINKS}
- (${LN} -sf fasta36.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/${links})
+ (${LN} -sf fasta36.1 ${STAGEDIR}${PREFIX}/share/man/man1/${links})
.endfor
@${MKDIR} ${STAGEDIR}${DOCSDIR}
.for i in COPYRIGHT FASTA_LIST README
diff --git a/biology/fasta3/pkg-descr b/biology/fasta3/pkg-descr
index f1087103894e..5e4d95374468 100644
--- a/biology/fasta3/pkg-descr
+++ b/biology/fasta3/pkg-descr
@@ -13,5 +13,3 @@ Molecular Biology 132:185-219.
The FASTA3 suite is distributed freely subject to the condition that it may
not be sold or incorporated into a commercial product.
-
-WWW: http://fasta.bioch.virginia.edu/
diff --git a/biology/fasta3/pkg-plist b/biology/fasta3/pkg-plist
index 04a4b4556b69..386aed5d9c4f 100644
--- a/biology/fasta3/pkg-plist
+++ b/biology/fasta3/pkg-plist
@@ -15,27 +15,27 @@ bin/tfasts%%VER%%
bin/tfastx%%VER%%
bin/tfasty%%VER%%
etc/fastlibs.sample
-man/man1/fasta36.1.gz
-man/man1/fastf3.1.gz
-man/man1/fastf35.1.gz
-man/man1/fastm35.1.gz
-man/man1/fasts3.1.gz
-man/man1/fasts35.1.gz
-man/man1/fastx35.1.gz
-man/man1/fasty35.1.gz
-man/man1/ggsearch35.1.gz
-man/man1/lalign35.1.gz
-man/man1/map_db.1.gz
-man/man1/prfx35.1.gz
-man/man1/prss3.1.gz
-man/man1/prss35.1.gz
-man/man1/ps_lav.1.gz
-man/man1/ssearch35.1.gz
-man/man1/tfasta35.1.gz
-man/man1/tfastf35.1.gz
-man/man1/tfasts35.1.gz
-man/man1/tfastx35.1.gz
-man/man1/tfasty35.1.gz
+share/man/man1/fasta36.1.gz
+share/man/man1/fastf3.1.gz
+share/man/man1/fastf35.1.gz
+share/man/man1/fastm35.1.gz
+share/man/man1/fasts3.1.gz
+share/man/man1/fasts35.1.gz
+share/man/man1/fastx35.1.gz
+share/man/man1/fasty35.1.gz
+share/man/man1/ggsearch35.1.gz
+share/man/man1/lalign35.1.gz
+share/man/man1/map_db.1.gz
+share/man/man1/prfx35.1.gz
+share/man/man1/prss3.1.gz
+share/man/man1/prss35.1.gz
+share/man/man1/ps_lav.1.gz
+share/man/man1/ssearch35.1.gz
+share/man/man1/tfasta35.1.gz
+share/man/man1/tfastf35.1.gz
+share/man/man1/tfasts35.1.gz
+share/man/man1/tfastx35.1.gz
+share/man/man1/tfasty35.1.gz
%%PORTDOCS%%%%DOCSDIR%%/COPYRIGHT
%%PORTDOCS%%%%DOCSDIR%%/FASTA_LIST
%%PORTDOCS%%%%DOCSDIR%%/README
diff --git a/biology/fastahack/Makefile b/biology/fastahack/Makefile
index ef572419c199..6158082d20b7 100644
--- a/biology/fastahack/Makefile
+++ b/biology/fastahack/Makefile
@@ -5,6 +5,7 @@ CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Utility for indexing and sequence extraction from FASTA files
+WWW= https://github.com/ekg/fastahack
LICENSE= GPLv2
diff --git a/biology/fastahack/pkg-descr b/biology/fastahack/pkg-descr
index c1ca6d3c68cf..2cdc2e1cbd05 100644
--- a/biology/fastahack/pkg-descr
+++ b/biology/fastahack/pkg-descr
@@ -3,5 +3,3 @@ subsequences from FASTA files. The included Fasta.cpp library provides a FASTA
reader and indexer that can be embedded into applications which would benefit
from directly reading subsequences from FASTA files. The library automatically
handles index file generation and use.
-
-WWW: https://github.com/ekg/fastahack
diff --git a/biology/fastdnaml/Makefile b/biology/fastdnaml/Makefile
index 47e9c9f4f8d9..43010d771944 100644
--- a/biology/fastdnaml/Makefile
+++ b/biology/fastdnaml/Makefile
@@ -1,5 +1,3 @@
-# Created by: Motomichi Matsuzaki <mzaki@e-mail.ne.jp>
-
PORTNAME= fastdnaml
PORTVERSION= 1.2.2
PORTREVISION= 2
@@ -9,6 +7,7 @@ DISTNAME= fastDNAml_${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Faster DNAML, makes phylogenetic trees using maximum likelihood
+WWW= https://www.life.illinois.edu/gary/programs/fastDNAml.html
LICENSE= GPLv2+
diff --git a/biology/fastdnaml/pkg-descr b/biology/fastdnaml/pkg-descr
index 92c534eac604..f7defef9a940 100644
--- a/biology/fastdnaml/pkg-descr
+++ b/biology/fastdnaml/pkg-descr
@@ -6,5 +6,3 @@ fastDNAml is an attempt to solve the same problem as DNAML, but to do so
faster and using less memory, so that larger trees and/or more bootstrap
replicates become tractable. Much of fastDNAml is merely a recoding of the
PHYLIP 3.3 DNAML program from PASCAL to C.
-
-WWW: http://www.life.illinois.edu/gary/programs/fastDNAml.html
diff --git a/biology/fastool/Makefile b/biology/fastool/Makefile
index a7f6de647809..8248abeaeb7d 100644
--- a/biology/fastool/Makefile
+++ b/biology/fastool/Makefile
@@ -4,6 +4,7 @@ CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Simple and quick FastQ and FastA tool for file reading and conversion
+WWW= https://github.com/fstrozzi/Fastool
LICENSE= BSD2CLAUSE
diff --git a/biology/fastool/pkg-descr b/biology/fastool/pkg-descr
index 7743c2a7a44f..b121e863c8ba 100644
--- a/biology/fastool/pkg-descr
+++ b/biology/fastool/pkg-descr
@@ -1,3 +1 @@
Simple and quick FastQ and FastA tool for file reading and conversion.
-
-WWW: https://github.com/fstrozzi/Fastool
diff --git a/biology/fastp/Makefile b/biology/fastp/Makefile
index 2b8ec0278e58..ddd4d84876b1 100644
--- a/biology/fastp/Makefile
+++ b/biology/fastp/Makefile
@@ -1,15 +1,19 @@
PORTNAME= fastp
DISTVERSIONPREFIX= v
-DISTVERSION= 0.22.0
+DISTVERSION= 0.23.4
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Ultra-fast all-in-one FASTQ preprocessor
+WWW= https://github.com/OpenGene/fastp
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= compiler:c++11-lang gmake
+LIB_DEPENDS= libdeflate.so:archivers/libdeflate \
+ libisal.so:devel/isa-l
+
+USES= gmake localbase:ldflags
USE_GITHUB= yes
GH_ACCOUNT= OpenGene
diff --git a/biology/fastp/distinfo b/biology/fastp/distinfo
index 3ecec1406b78..1c215d4d8906 100644
--- a/biology/fastp/distinfo
+++ b/biology/fastp/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1630006835
-SHA256 (OpenGene-fastp-v0.22.0_GH0.tar.gz) = a7ef81cc39daed7ac6bfc254697345c448095539e1b5b45f3a8ab286098be456
-SIZE (OpenGene-fastp-v0.22.0_GH0.tar.gz) = 141257
+TIMESTAMP = 1685547158
+SHA256 (OpenGene-fastp-v0.23.4_GH0.tar.gz) = 4fad6db156e769d46071add8a778a13a5cb5186bc1e1a5f9b1ffd499d84d72b5
+SIZE (OpenGene-fastp-v0.23.4_GH0.tar.gz) = 164071
diff --git a/biology/fastp/files/patch-Makefile b/biology/fastp/files/patch-Makefile
index 595fdc96c6e6..da927edbe011 100644
--- a/biology/fastp/files/patch-Makefile
+++ b/biology/fastp/files/patch-Makefile
@@ -1,42 +1,57 @@
---- Makefile.orig 2020-04-08 07:26:52 UTC
+--- Makefile.orig 2021-10-19 02:19:29 UTC
+++ Makefile
-@@ -3,9 +3,11 @@ DIR_SRC := ./src
+@@ -2,11 +2,13 @@ DIR_INC := ./inc
+ DIR_SRC := ./src
DIR_OBJ := ./obj
- PREFIX ?= /usr/local
-+DESTDIR ?=
- BINDIR ?= $(PREFIX)/bin
- INCLUDE_DIRS ?=
- LIBRARY_DIRS ?=
-+STRIP_CMD ?= strip
+-PREFIX ?= /usr/local
+-BINDIR ?= $(PREFIX)/bin
+-INCLUDE_DIRS ?=
+-LIBRARY_DIRS ?=
++PREFIX ?= /usr/local
++BINDIR ?= $(PREFIX)/bin
++INCLUDE_DIRS ?=
++LIBRARY_DIRS ?=
++STRIP ?= strip
++
SRC := $(wildcard ${DIR_SRC}/*.cpp)
OBJ := $(patsubst %.cpp,${DIR_OBJ}/%.o,$(notdir ${SRC}))
-@@ -15,13 +17,14 @@ TARGET := fastp
+
+@@ -15,15 +17,19 @@ TARGET := fastp
BIN_TARGET := ${TARGET}
CXX ?= g++
--CXXFLAGS := -std=c++11 -g -O3 -I${DIR_INC} $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir)) ${CXXFLAGS}
+-CXXFLAGS := -std=c++11 -pthread -g -O3 -I${DIR_INC} $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir)) ${CXXFLAGS}
++# Optional flags that the user can override by setting CXXFLAGS in the
++# env or make argument
+CXXFLAGS ?= -g -O3
++# Required flags
+CXXFLAGS += -std=c++11 -I${DIR_INC} $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir))
- LIBS := -lz -lpthread
+ LIBS := -lisal -ldeflate -lpthread
+ STATIC_FLAGS := -static -Wl,--no-as-needed -pthread
-LD_FLAGS := $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir)) $(LIBS) $(LD_FLAGS)
++# Append required flags to standard LDFLAGS from env
+LDFLAGS += $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir)) $(LIBS)
+ STATIC_LD_FLAGS := $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir)) $(STATIC_FLAGS) $(LIBS) $(STATIC_LD_FLAGS)
-
+-
${BIN_TARGET}:${OBJ}
- $(CXX) $(OBJ) -o $@ $(LD_FLAGS)
+ $(CXX) $(OBJ) -o $@ $(LDFLAGS)
- ${DIR_OBJ}/%.o:${DIR_SRC}/%.cpp make_obj_dir
- $(CXX) -c $< -o $@ $(CXXFLAGS)
-@@ -38,5 +41,8 @@ make_obj_dir:
+ static:${OBJ}
+ $(CXX) $(OBJ) -o ${BIN_TARGET} $(STATIC_LD_FLAGS)
+@@ -49,6 +55,11 @@ make_obj_dir:
+ mkdir $(DIR_OBJ) ; \
fi
++# Respect DESTDIR for staged installs (used by most package managers)
install:
- install $(TARGET) $(BINDIR)/$(TARGET)
+ install $(TARGET) $(DESTDIR)$(BINDIR)/$(TARGET)
@echo "Installed."
+
++# Many package managers use install-strip target if debugging is not enabled
+install-strip: install
-+ $(STRIP_CMD) $(DESTDIR)$(BINDIR)/$(TARGET)
++ $(STRIP) $(DESTDIR)$(BINDIR)/$(TARGET)
diff --git a/biology/fastp/files/patch-src_main.cpp b/biology/fastp/files/patch-src_main.cpp
new file mode 100644
index 000000000000..28e5bf918991
--- /dev/null
+++ b/biology/fastp/files/patch-src_main.cpp
@@ -0,0 +1,17 @@
+--- src/main.cpp.orig 2021-10-19 02:19:29 UTC
++++ src/main.cpp
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <sysexits.h>
+ #include "fastqreader.h"
+ #include "unittest.h"
+ #include <time.h>
+@@ -18,7 +19,7 @@ int main(int argc, char* argv[]){
+ if(argc == 1) {
+ cerr << "fastp: an ultra-fast all-in-one FASTQ preprocessor" << endl << "version " << FASTP_VER << endl;
+ //cerr << "fastp --help to see the help"<<endl;
+- //return 0;
++ return EX_USAGE;
+ }
+ if (argc == 2 && strcmp(argv[1], "test")==0){
+ UnitTest tester;
diff --git a/biology/fastp/pkg-descr b/biology/fastp/pkg-descr
index e64bd53e0e9c..e799d025d69d 100644
--- a/biology/fastp/pkg-descr
+++ b/biology/fastp/pkg-descr
@@ -1,5 +1,3 @@
fastp is a tool designed to provide fast all-in-one preprocessing for FastQ
files. This tool is developed in C++ with multithreading supported to afford
high performance.
-
-WWW: https://github.com/OpenGene/fastp
diff --git a/biology/fastq-trim/Makefile b/biology/fastq-trim/Makefile
new file mode 100644
index 000000000000..1665ae11e1f1
--- /dev/null
+++ b/biology/fastq-trim/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= fastq-trim
+DISTVERSION= 0.1.3
+PORTREVISION= 1
+CATEGORIES= biology
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Lightening fast sequence read trimmer
+WWW= https://github.com/outpaddling/Fastq-trim
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libbiolibc.so:biology/biolibc libxtend.so:devel/libxtend
+
+USE_GITHUB= yes
+
+GH_ACCOUNT= outpaddling
+
+MAKE_ENV= VERSION=${PORTVERSION} MANPREFIX=${PREFIX}/share
+
+pre-build:
+ (cd ${WRKSRC} && ${MAKE} LOCALBASE=${LOCALBASE} depend)
+
+.include <bsd.port.mk>
diff --git a/biology/fastq-trim/distinfo b/biology/fastq-trim/distinfo
new file mode 100644
index 000000000000..ab3a1f310215
--- /dev/null
+++ b/biology/fastq-trim/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1698152145
+SHA256 (outpaddling-fastq-trim-0.1.3_GH0.tar.gz) = ae40371ee7898308fef5eb20018bb5a8f5022e67307eccfac3d23084cdc0a093
+SIZE (outpaddling-fastq-trim-0.1.3_GH0.tar.gz) = 30596
diff --git a/biology/fastq-trim/pkg-descr b/biology/fastq-trim/pkg-descr
new file mode 100644
index 000000000000..c15f60867a0a
--- /dev/null
+++ b/biology/fastq-trim/pkg-descr
@@ -0,0 +1,6 @@
+Fastq-trim is a lightening fast read trimming tool for QA of
+DNA and RNA reads prior to analyses such as RNA-Seq. it runs
+in a fraction of the time required by popular trimmers and uses
+only a few megabytes of RAM, so it will run almost entirely in
+cache. The design supports adding any number of alignment
+functions, so it can be easily adapted to any trimming needs.
diff --git a/biology/fastq-trim/pkg-plist b/biology/fastq-trim/pkg-plist
new file mode 100644
index 000000000000..f2bb14b061f9
--- /dev/null
+++ b/biology/fastq-trim/pkg-plist
@@ -0,0 +1,75 @@
+bin/fastq-scum
+bin/fastq-trim
+include/fastq-trim-accessors.h
+include/fastq-trim-mutators.h
+include/fastq-trim-rvs.h
+include/fastq-trim.h
+lib/libfastq-trim.a
+share/man/man1/fastq-scum.1.gz
+share/man/man1/fastq-trim.1.gz
+share/man/man3/FASTQ_TRIM_ADAPTER1.3.gz
+share/man/man3/FASTQ_TRIM_ADAPTER1_AE.3.gz
+share/man/man3/FASTQ_TRIM_ADAPTER2.3.gz
+share/man/man3/FASTQ_TRIM_ADAPTER2_AE.3.gz
+share/man/man3/FASTQ_TRIM_ADAPTER_MATCH_FUNCTION.3.gz
+share/man/man3/FASTQ_TRIM_INFILE1.3.gz
+share/man/man3/FASTQ_TRIM_INFILE1_AE.3.gz
+share/man/man3/FASTQ_TRIM_INFILE2.3.gz
+share/man/man3/FASTQ_TRIM_INFILE2_AE.3.gz
+share/man/man3/FASTQ_TRIM_INSTREAM1.3.gz
+share/man/man3/FASTQ_TRIM_INSTREAM1_AE.3.gz
+share/man/man3/FASTQ_TRIM_INSTREAM2.3.gz
+share/man/man3/FASTQ_TRIM_INSTREAM2_AE.3.gz
+share/man/man3/FASTQ_TRIM_MAX_MISMATCH_PERCENT.3.gz
+share/man/man3/FASTQ_TRIM_MIN_LENGTH.3.gz
+share/man/man3/FASTQ_TRIM_MIN_MATCH.3.gz
+share/man/man3/FASTQ_TRIM_MIN_QUAL.3.gz
+share/man/man3/FASTQ_TRIM_OUTFILE1.3.gz
+share/man/man3/FASTQ_TRIM_OUTFILE1_AE.3.gz
+share/man/man3/FASTQ_TRIM_OUTFILE2.3.gz
+share/man/man3/FASTQ_TRIM_OUTFILE2_AE.3.gz
+share/man/man3/FASTQ_TRIM_OUTSTREAM1.3.gz
+share/man/man3/FASTQ_TRIM_OUTSTREAM1_AE.3.gz
+share/man/man3/FASTQ_TRIM_OUTSTREAM2.3.gz
+share/man/man3/FASTQ_TRIM_OUTSTREAM2_AE.3.gz
+share/man/man3/FASTQ_TRIM_PHRED_BASE.3.gz
+share/man/man3/FASTQ_TRIM_POLYA_MIN_LEN.3.gz
+share/man/man3/FASTQ_TRIM_VERBOSE.3.gz
+share/man/man3/fastq_trim_set_adapter1.3.gz
+share/man/man3/fastq_trim_set_adapter1_ae.3.gz
+share/man/man3/fastq_trim_set_adapter1_cpy.3.gz
+share/man/man3/fastq_trim_set_adapter2.3.gz
+share/man/man3/fastq_trim_set_adapter2_ae.3.gz
+share/man/man3/fastq_trim_set_adapter2_cpy.3.gz
+share/man/man3/fastq_trim_set_adapter_match_function.3.gz
+share/man/man3/fastq_trim_set_infile1.3.gz
+share/man/man3/fastq_trim_set_infile1_ae.3.gz
+share/man/man3/fastq_trim_set_infile1_cpy.3.gz
+share/man/man3/fastq_trim_set_infile2.3.gz
+share/man/man3/fastq_trim_set_infile2_ae.3.gz
+share/man/man3/fastq_trim_set_infile2_cpy.3.gz
+share/man/man3/fastq_trim_set_instream1.3.gz
+share/man/man3/fastq_trim_set_instream1_ae.3.gz
+share/man/man3/fastq_trim_set_instream1_cpy.3.gz
+share/man/man3/fastq_trim_set_instream2.3.gz
+share/man/man3/fastq_trim_set_instream2_ae.3.gz
+share/man/man3/fastq_trim_set_instream2_cpy.3.gz
+share/man/man3/fastq_trim_set_max_mismatch_percent.3.gz
+share/man/man3/fastq_trim_set_min_length.3.gz
+share/man/man3/fastq_trim_set_min_match.3.gz
+share/man/man3/fastq_trim_set_min_qual.3.gz
+share/man/man3/fastq_trim_set_outfile1.3.gz
+share/man/man3/fastq_trim_set_outfile1_ae.3.gz
+share/man/man3/fastq_trim_set_outfile1_cpy.3.gz
+share/man/man3/fastq_trim_set_outfile2.3.gz
+share/man/man3/fastq_trim_set_outfile2_ae.3.gz
+share/man/man3/fastq_trim_set_outfile2_cpy.3.gz
+share/man/man3/fastq_trim_set_outstream1.3.gz
+share/man/man3/fastq_trim_set_outstream1_ae.3.gz
+share/man/man3/fastq_trim_set_outstream1_cpy.3.gz
+share/man/man3/fastq_trim_set_outstream2.3.gz
+share/man/man3/fastq_trim_set_outstream2_ae.3.gz
+share/man/man3/fastq_trim_set_outstream2_cpy.3.gz
+share/man/man3/fastq_trim_set_phred_base.3.gz
+share/man/man3/fastq_trim_set_polya_min_len.3.gz
+share/man/man3/fastq_trim_set_verbose.3.gz
diff --git a/biology/fastqc/Makefile b/biology/fastqc/Makefile
index b71a1a9778c6..05f6306c7ec0 100644
--- a/biology/fastqc/Makefile
+++ b/biology/fastqc/Makefile
@@ -1,11 +1,12 @@
PORTNAME= fastqc
-DISTVERSION= 0.11.9
+DISTVERSION= 0.12.1
CATEGORIES= biology java perl5
MASTER_SITES= https://www.bioinformatics.babraham.ac.uk/projects/fastqc/
DISTNAME= ${PORTNAME}_v${DISTVERSIONPREFIX}${DISTVERSION}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Quality control tool for high throughput sequence data
+WWW= https://www.bioinformatics.babraham.ac.uk/projects/fastqc/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
diff --git a/biology/fastqc/distinfo b/biology/fastqc/distinfo
index 55c4a0629f50..230cfc1d46b2 100644
--- a/biology/fastqc/distinfo
+++ b/biology/fastqc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1612358925
-SHA256 (fastqc_v0.11.9.zip) = 15510a176ef798e40325b717cac556509fb218268cfdb9a35ea6776498321369
-SIZE (fastqc_v0.11.9.zip) = 10249221
+TIMESTAMP = 1677972229
+SHA256 (fastqc_v0.12.1.zip) = 5f4dba8780231a25a6b8e11ab2c238601920c9704caa5458d9de559575d58aa7
+SIZE (fastqc_v0.12.1.zip) = 11709692
diff --git a/biology/fastqc/pkg-descr b/biology/fastqc/pkg-descr
index d8cfc6cb88bc..63c71afebdca 100644
--- a/biology/fastqc/pkg-descr
+++ b/biology/fastqc/pkg-descr
@@ -3,5 +3,3 @@ sequence data coming from high throughput sequencing pipelines. It provides a
modular set of analyses which you can use to give a quick impression of whether
your data has any problems of which you should be aware before doing any
further analysis.
-
-WWW: http://www.bioinformatics.babraham.ac.uk/projects/fastqc/
diff --git a/biology/fastqc/pkg-plist b/biology/fastqc/pkg-plist
index ffbb0338d11e..7ff0acbda930 100644
--- a/biology/fastqc/pkg-plist
+++ b/biology/fastqc/pkg-plist
@@ -2,10 +2,49 @@ bin/fastqc
%%DATADIR%%/Configuration/adapter_list.txt
%%DATADIR%%/Configuration/contaminant_list.txt
%%DATADIR%%/Configuration/limits.txt
+%%DATADIR%%/Help/1 Introduction/.svn/entries
+%%DATADIR%%/Help/1 Introduction/.svn/text-base/1.1 What is FastQC.html.svn-base
%%DATADIR%%/Help/1 Introduction/1.1 What is FastQC.html
+%%DATADIR%%/Help/2 Basic Operations/.svn/entries
+%%DATADIR%%/Help/2 Basic Operations/.svn/text-base/2.1 Opening a sequence file.html.svn-base
+%%DATADIR%%/Help/2 Basic Operations/.svn/text-base/2.2 Evaluating Results.html.svn-base
+%%DATADIR%%/Help/2 Basic Operations/.svn/text-base/2.3 Saving a Report.html.svn-base
%%DATADIR%%/Help/2 Basic Operations/2.1 Opening a sequence file.html
%%DATADIR%%/Help/2 Basic Operations/2.2 Evaluating Results.html
%%DATADIR%%/Help/2 Basic Operations/2.3 Saving a Report.html
+%%DATADIR%%/Help/3 Analysis Modules/.svn/entries
+%%DATADIR%%/Help/3 Analysis Modules/.svn/prop-base/duplication_levels.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/prop-base/kmer_profiles.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/prop-base/per_base_gc_content.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/prop-base/per_base_n_content.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/prop-base/per_base_quality.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/prop-base/per_base_sequence_content.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/prop-base/per_sequence_gc_content.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/prop-base/per_sequence_quality.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/prop-base/per_tile_quality.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/prop-base/sequence_length_distribution.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/1 Basic Statistics.html.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/10 Adapter Content.html.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/11 Kmer Content.html.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/12 Per Tile Sequence Quality.html.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/2 Per Base Sequence Quality.html.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/3 Per Sequence Quality Scores.html.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/4 Per Base Sequence Content.html.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/5 Per Sequence GC Content.html.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/6 Per Base N Content.html.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/7 Sequence Length Distribution.html.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/8 Duplicate Sequences.html.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/9 Overrepresented Sequences.html.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/duplication_levels.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/kmer_profiles.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/per_base_gc_content.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/per_base_n_content.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/per_base_quality.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/per_base_sequence_content.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/per_sequence_gc_content.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/per_sequence_quality.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/per_tile_quality.png.svn-base
+%%DATADIR%%/Help/3 Analysis Modules/.svn/text-base/sequence_length_distribution.png.svn-base
%%DATADIR%%/Help/3 Analysis Modules/1 Basic Statistics.html
%%DATADIR%%/Help/3 Analysis Modules/10 Adapter Content.html
%%DATADIR%%/Help/3 Analysis Modules/11 Kmer Content.html
@@ -35,6 +74,7 @@ bin/fastqc
%%DATADIR%%/Templates/fastqc2fo.xsl
%%DATADIR%%/Templates/header_template.html
%%JAVAJARDIR%%/fastqc/cisd-jhdf5.jar
+%%JAVAJARDIR%%/fastqc/htsjdk.jar
%%JAVAJARDIR%%/fastqc/jbzip2-0.9.jar
%%JAVAJARDIR%%/fastqc/net/sourceforge/iharder/base64/Base64$1.class
%%JAVAJARDIR%%/fastqc/net/sourceforge/iharder/base64/Base64$InputStream.class
@@ -116,7 +156,6 @@ bin/fastqc
%%JAVAJARDIR%%/fastqc/org/apache/commons/math3/util/MathUtils.class
%%JAVAJARDIR%%/fastqc/org/apache/commons/math3/util/Precision.class
%%JAVAJARDIR%%/fastqc/org/apache/commons/math3/util/ResizableDoubleArray.class
-%%JAVAJARDIR%%/fastqc/sam-1.103.jar
%%JAVAJARDIR%%/fastqc/uk/ac/babraham/FastQC/Analysis/AnalysisListener.class
%%JAVAJARDIR%%/fastqc/uk/ac/babraham/FastQC/Analysis/AnalysisQueue.class
%%JAVAJARDIR%%/fastqc/uk/ac/babraham/FastQC/Analysis/AnalysisRunner.class
@@ -198,6 +237,9 @@ bin/fastqc
%%JAVAJARDIR%%/fastqc/uk/ac/babraham/FastQC/Statistics/PearsonCorrelation.class
%%JAVAJARDIR%%/fastqc/uk/ac/babraham/FastQC/Utilities/CasavaBasename.class
%%JAVAJARDIR%%/fastqc/uk/ac/babraham/FastQC/Utilities/HotColdColourGradient.class
+%%JAVAJARDIR%%/fastqc/uk/ac/babraham/FastQC/Utilities/ImageSaver/SVGGenerator$SVGGraphics.class
+%%JAVAJARDIR%%/fastqc/uk/ac/babraham/FastQC/Utilities/ImageSaver/SVGGenerator.class
+%%JAVAJARDIR%%/fastqc/uk/ac/babraham/FastQC/Utilities/ImageSaver/SVGImageSaver.class
%%JAVAJARDIR%%/fastqc/uk/ac/babraham/FastQC/Utilities/ImageToBase64.class
%%JAVAJARDIR%%/fastqc/uk/ac/babraham/FastQC/Utilities/MultiMemberGZIPInputStream.class
%%JAVAJARDIR%%/fastqc/uk/ac/babraham/FastQC/Utilities/NameFormatException.class
diff --git a/biology/fasttree/Makefile b/biology/fasttree/Makefile
index 5df2af1cf9a1..560274658cd1 100644
--- a/biology/fasttree/Makefile
+++ b/biology/fasttree/Makefile
@@ -7,17 +7,14 @@ EXTRACT_SUFX= .c
MAINTAINER= jwb@FreeBSD.org
COMMENT= Approximately-maximum-likelihood phylogenetic trees from alignments
+WWW= http://www.microbesonline.org/fasttree/
LICENSE= GPLv2+
-BROKEN_armv6= fails to compile: FastTree-2.1.10.c:305:10: 'omp.h' file not found
-
NO_WRKSUBDIR= yes
PLIST_FILES= bin/FastTree
-.include <bsd.port.options.mk>
-
-.if ${ARCH} == armv7 || ${ARCH} == powerpc
+.if !exists(/usr/include/omp.h)
USES= compiler:gcc-c++11-lib
.endif
diff --git a/biology/fasttree/pkg-descr b/biology/fasttree/pkg-descr
index c8b02a9d8466..fbc3d3f8cbdd 100644
--- a/biology/fasttree/pkg-descr
+++ b/biology/fasttree/pkg-descr
@@ -1,5 +1,3 @@
FastTree infers approximately-maximum-likelihood phylogenetic trees from
alignments of nucleotide or protein sequences. FastTree can handle alignments
with up to a million of sequences in a reasonable amount of time and memory.
-
-WWW: http://www.microbesonline.org/fasttree/
diff --git a/biology/fastx-toolkit/Makefile b/biology/fastx-toolkit/Makefile
index ac8deefde71e..178e25f12f0c 100644
--- a/biology/fastx-toolkit/Makefile
+++ b/biology/fastx-toolkit/Makefile
@@ -1,9 +1,11 @@
PORTNAME= fastx_toolkit
-PORTVERSION= 0.0.14
+DISTVERSION= 0.0.14
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= CLI tools for Short-Reads FASTA/FASTQ files preprocessing
+WWW= http://hannonlab.cshl.edu/fastx_toolkit/
LICENSE= AGPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -17,4 +19,6 @@ USE_GITHUB= yes
GH_ACCOUNT= agordon
GNU_CONFIGURE= yes
+CONFLICTS_INSTALL= autoconf-archive # share/aclocal/ax_c_long_long.m4
+
.include <bsd.port.mk>
diff --git a/biology/fastx-toolkit/distinfo b/biology/fastx-toolkit/distinfo
index edf281a52f1e..9a57875c9b88 100644
--- a/biology/fastx-toolkit/distinfo
+++ b/biology/fastx-toolkit/distinfo
@@ -1,2 +1,3 @@
+TIMESTAMP = 1678210010
SHA256 (agordon-fastx_toolkit-0.0.14_GH0.tar.gz) = af4f9fe59f8c91bdd2d735bdac1fd89f0549b2bc759313fe3b86948056aad1aa
SIZE (agordon-fastx_toolkit-0.0.14_GH0.tar.gz) = 259576
diff --git a/biology/fastx-toolkit/files/patch-configure.ac b/biology/fastx-toolkit/files/patch-configure.ac
new file mode 100644
index 000000000000..e3a18a3e1838
--- /dev/null
+++ b/biology/fastx-toolkit/files/patch-configure.ac
@@ -0,0 +1,10 @@
+--- configure.ac.orig 2023-03-07 17:18:12 UTC
++++ configure.ac
+@@ -31,7 +31,6 @@ dnl fi
+ PKG_CHECK_MODULES([GTEXTUTILS],[gtextutils])
+
+ dnl --enable-wall
+-EXTRA_CHECKS="-Wall -Wextra -Wformat-nonliteral -Wformat-security -Wswitch-default -Wswitch-enum -Wunused-parameter -Wfloat-equal -Werror"
+ AC_ARG_ENABLE(wall,
+ [ --enable-wall Enable many common GCC warnings (-Wall,-Wextra, -Werror etc., default enabled)],
+ [case "${enableval}" in
diff --git a/biology/fastx-toolkit/pkg-descr b/biology/fastx-toolkit/pkg-descr
index b5adb7ef6f36..55b9642bb4b7 100644
--- a/biology/fastx-toolkit/pkg-descr
+++ b/biology/fastx-toolkit/pkg-descr
@@ -1,4 +1,2 @@
The FASTX-Toolkit is a collection of command line tools for Short-Reads
FASTA/FASTQ files preprocessing.
-
-WWW: http://hannonlab.cshl.edu/fastx_toolkit/
diff --git a/biology/figtree/Makefile b/biology/figtree/Makefile
index f28cb0186320..9dd72f07d044 100644
--- a/biology/figtree/Makefile
+++ b/biology/figtree/Makefile
@@ -1,15 +1,19 @@
PORTNAME= figtree
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.4
+DISTVERSION= 1.4.4-14
+DISTVERSIONSUFFIX= -gf9085b6
CATEGORIES= biology education java
MAINTAINER= yuri@FreeBSD.org
COMMENT= Graphical viewer of phylogenetic trees
+WWW= http://tree.bio.ed.ac.uk/software/figtree/
LICENSE= GPLv2
USE_JAVA= yes
USE_ANT= yes
+JAVA_VERSION= 17 # Java 8 fails on aarch64: Internal Error (assembler_aarch64.hpp:237) ...
+
USE_GITHUB= yes
GH_ACCOUNT= rambaut
diff --git a/biology/figtree/distinfo b/biology/figtree/distinfo
index f278a27654ef..888f7a727fff 100644
--- a/biology/figtree/distinfo
+++ b/biology/figtree/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1549226829
-SHA256 (rambaut-figtree-v1.4.4_GH0.tar.gz) = 29a2e7fb2de0fa213aa0bb3003347fe278c28d8273bbc06f1d98cda9dda35d89
-SIZE (rambaut-figtree-v1.4.4_GH0.tar.gz) = 20994009
+TIMESTAMP = 1661665731
+SHA256 (rambaut-figtree-v1.4.4-14-gf9085b6_GH0.tar.gz) = 06e6ddf63dd932150431608e5846bbc1d27f8ac22785c41fe06ad121dc77a259
+SIZE (rambaut-figtree-v1.4.4-14-gf9085b6_GH0.tar.gz) = 20445932
diff --git a/biology/figtree/pkg-descr b/biology/figtree/pkg-descr
index 265151d06d62..be35472ba2e9 100644
--- a/biology/figtree/pkg-descr
+++ b/biology/figtree/pkg-descr
@@ -3,5 +3,3 @@ for producing publication-ready figures. As with most of my programs, it was
written for my own needs so may not be as polished and feature-complete as a
commercial program. In particular it is designed to display summarized and
annotated trees produced by BEAST.
-
-WWW: http://tree.bio.ed.ac.uk/software/figtree/
diff --git a/biology/flash/Makefile b/biology/flash/Makefile
index 82af7793197b..7c33bb9ba325 100644
--- a/biology/flash/Makefile
+++ b/biology/flash/Makefile
@@ -6,6 +6,7 @@ DISTNAME= FLASH-${DISTVERSION}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Fast Length Adjustment of SHort reads
+WWW= https://ccb.jhu.edu/software/FLASH/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/biology/flash/pkg-descr b/biology/flash/pkg-descr
index 65b83f1d2db6..e039a1ae76d9 100644
--- a/biology/flash/pkg-descr
+++ b/biology/flash/pkg-descr
@@ -5,5 +5,3 @@ the original DNA fragments are shorter than twice the length of reads.
The resulting longer reads can significantly improve genome assemblies.
They can also improve transcriptome assembly when FLASH is used to
merge RNA-seq data.
-
-WWW: http://ccb.jhu.edu/software/FLASH/
diff --git a/biology/fluctuate/Makefile b/biology/fluctuate/Makefile
index d2b8fffb5179..3cd3e1e62966 100644
--- a/biology/fluctuate/Makefile
+++ b/biology/fluctuate/Makefile
@@ -1,5 +1,3 @@
-# Created by: Johann Visagie <wjv@FreeBSD.org>
-
PORTNAME= fluctuate
PORTVERSION= 1.40
CATEGORIES= biology
@@ -8,6 +6,7 @@ DISTNAME= ${PORTNAME}1.4.src.doc
MAINTAINER= ports@FreeBSD.org
COMMENT= Program to fit population models
+WWW= https://evolution.genetics.washington.edu/lamarc/fluctuate.html
WRKSRC= ${WRKDIR}/${PORTNAME}1.4
ALL_TARGET= ${PORTNAME}
diff --git a/biology/fluctuate/pkg-descr b/biology/fluctuate/pkg-descr
index 89d9527d9536..1651c31b53d3 100644
--- a/biology/fluctuate/pkg-descr
+++ b/biology/fluctuate/pkg-descr
@@ -7,5 +7,3 @@ Fluctuate forms part of the Lamarc (Likelihood Analysis with Metropolis
Algorithm using Random Coalescence) suite. See:
http://evolution.genetics.washington.edu/lamarc.html
-
-WWW: http://evolution.genetics.washington.edu/lamarc/fluctuate.html
diff --git a/biology/freebayes/Makefile b/biology/freebayes/Makefile
index 225643cec02b..5c3c29cd38b5 100644
--- a/biology/freebayes/Makefile
+++ b/biology/freebayes/Makefile
@@ -1,54 +1,45 @@
PORTNAME= freebayes
DISTVERSIONPREFIX= v
-DISTVERSION= 1.2.0
-PORTREVISION= 3
+DISTVERSION= 1.3.6
+PORTREVISION= 2
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Bayesian haplotype-based polymorphism discovery and genotyping
+WWW= https://github.com/ekg/freebayes
LICENSE= MIT
-BROKEN_aarch64= fails to compile: invalid conversion between vector type and integer type
-BROKEN_armv6= fails to compile: invalid conversion between vector type and integer type
-BROKEN_armv7= fails to compile: invalid conversion between vector type and integer type
-BROKEN_riscv64= fails to compile: invalid conversion between vector type and integer type
+LIB_DEPENDS= libhts.so:biology/htslib
# Submodules use older versions than the ports, so we cannot safely unbundle
# No shared libs are built by the submodules so there will be no conflicts
-USES= compiler:c++11-lang gmake tar:xz
+# Yes, there are actually 2 versions of intervaltree required
+USES= compiler:c++14-lang localbase meson perl5 pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= ekg
-GH_TUPLE= walaj:SeqLib:5941c68:SeqLib/SeqLib-temp \
- jwalabroad:bwa:c02766e:bwa/SeqLib/bwa \
- jwalabroad:fermi-lite:5bc90f8:fermi/SeqLib/fermi-lite \
- samtools:htslib:49fdfbd:htslib/SeqLib/htslib \
- ekg:bamtools:e77a43f:bamtools/bamtools \
- ekg:intervaltree:dbb4c51:interval1/intervaltree \
- vcflib:vcflib:5e3ce04:vcflib/vcflib-temp \
- ekg:fastahack:c68cebb:fastahack/vcflib/fastahack \
+GH_TUPLE= ekg:intervaltree:b90527f:intervaltree/vcflib/intervaltree \
+ ekg:vcflib:d4073c3:vcflib/vcflib-temp \
+ ekg:fastahack:bb33265:fastahack/vcflib/fastahack \
ekg:filevercmp:1a9b779:filevercmp/vcflib/filevercmp \
ekg:fsom:a6ef318:fsom/vcflib/fsom \
- google:googletest:d225acc:google/vcflib/googletest \
- ekg:intervaltree:b704f19:interval2/vcflib/intervaltree \
- ekg:multichoose:73d35da:multichoose/vcflib/multichoose \
- ekg:smithwaterman:84c08d7:smithwaterman/vcflib/smithwaterman \
- ekg:tabixpp:80012f8:tabixpp/vcflib/tabixpp \
- samtools:htslib:0f298ce:hts2/vcflib/tabixpp/htslib
-
-# GCC disables sse2 by default on i386, but it's required for vcflib
-CXXFLAGS+= --std=c++11
-CFLAGS_i386= -msse2
-MAKE_JOBS_UNSAFE= yes
+ google:googletest:d225acc:googletest/vcflib/googletest \
+ ekg:intervaltree:17ddd57:intervaltree/vcflib/intervaltree \
+ edawson:libVCFH:615a06b:libVCFH/vcflib/libVCFH \
+ ekg:multichoose:68733cd:multichoose/vcflib/multichoose \
+ ekg:smithwaterman:2610e25:smithwaterman/vcflib/smithwaterman \
+ ekg:tabixpp:b255df1:tabixpp/vcflib/tabixpp \
+ simd-everywhere:simde-no-tests:2931676:simd/vcflib/src/simde \
+ ingydotnet:test-simple-bash:124673f:testsimplebash/test/test-simple-bash \
+ illusori:bash-tap:c38fbfa:bashtap/test/bash-tap
+USE_PERL5= build
+
+LDFLAGS+= -lexecinfo
PLIST_FILES= bin/bamleftalign bin/freebayes
# GH_TUPLEs cannot seem to share a top-level subdirectory, so we work around
# by dumping the parent in a temp directory and then moving the contents
post-extract:
- ${MV} -n ${WRKSRC}/SeqLib-temp/* ${WRKSRC}/SeqLib
- ${MV} -n ${WRKSRC}/vcflib-temp/* ${WRKSRC}/vcflib
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/bin/* ${STAGEDIR}${PREFIX}/bin
+ ${CP} -r ${WRKSRC}/vcflib-temp/* ${WRKSRC}/vcflib
.include <bsd.port.mk>
diff --git a/biology/freebayes/distinfo b/biology/freebayes/distinfo
index 239c89905abb..22a8193e42eb 100644
--- a/biology/freebayes/distinfo
+++ b/biology/freebayes/distinfo
@@ -1,35 +1,29 @@
-TIMESTAMP = 1523932688
-SHA256 (ekg-freebayes-v1.2.0_GH0.tar.gz) = a5626636112966cac87095365986722d1c871759f03c5a143646da65c416ba8a
-SIZE (ekg-freebayes-v1.2.0_GH0.tar.gz) = 2639725
-SHA256 (walaj-SeqLib-5941c68_GH0.tar.gz) = 0ac2b63f5fd7b1cec20a18ebb6799bf1f9b88d6c7cd95f7dd7410b1b82c8703f
-SIZE (walaj-SeqLib-5941c68_GH0.tar.gz) = 314968
-SHA256 (jwalabroad-bwa-c02766e_GH0.tar.gz) = cce547db0efef8572d63b47d2065f07e36f770fc8a6f15f5cd03d6fa9ab9b1f7
-SIZE (jwalabroad-bwa-c02766e_GH0.tar.gz) = 205546
-SHA256 (jwalabroad-fermi-lite-5bc90f8_GH0.tar.gz) = 2b3b9b637f48dc3239618efd6b55183eef6b6232013c217eb1c319f1dd3da224
-SIZE (jwalabroad-fermi-lite-5bc90f8_GH0.tar.gz) = 248454
-SHA256 (samtools-htslib-49fdfbd_GH0.tar.gz) = 0bc9c7d48e2a439badf5990113ae3e4de9acd05e4c090938236ee40588d115b9
-SIZE (samtools-htslib-49fdfbd_GH0.tar.gz) = 1145082
-SHA256 (ekg-bamtools-e77a43f_GH0.tar.gz) = d3a143636ccedcc54417a2d6d88dd726c7d2c046318620b88c7ba2fb30b01419
-SIZE (ekg-bamtools-e77a43f_GH0.tar.gz) = 540118
-SHA256 (ekg-intervaltree-dbb4c51_GH0.tar.gz) = 1f3ba92a83cb782cf22dfb383b8c93c11c1c88e0b2e5fa434e24668260ecd1f8
-SIZE (ekg-intervaltree-dbb4c51_GH0.tar.gz) = 3780
-SHA256 (vcflib-vcflib-5e3ce04_GH0.tar.gz) = d084c1df7bb0004df18e013da3cbf896b642d853c855aea58ae029abe1d2097a
-SIZE (vcflib-vcflib-5e3ce04_GH0.tar.gz) = 20119782
-SHA256 (ekg-fastahack-c68cebb_GH0.tar.gz) = c6f7186bbe733ff78c25b2afd7e7ba79daa3ecd14a5876ea0b033a43744c876d
-SIZE (ekg-fastahack-c68cebb_GH0.tar.gz) = 17312
+TIMESTAMP = 1644155282
+SHA256 (ekg-freebayes-v1.3.6_GH0.tar.gz) = d668c0b433cc0f11498ace10e48d72a7f0f40ca23b391b72e975ffafd1c13044
+SIZE (ekg-freebayes-v1.3.6_GH0.tar.gz) = 2898209
+SHA256 (ekg-intervaltree-17ddd57_GH0.tar.gz) = c2274e2382f893241847f75940ad15bac9d1e122da4416b0d2fc61ebba527ee1
+SIZE (ekg-intervaltree-17ddd57_GH0.tar.gz) = 72488
+SHA256 (ekg-vcflib-d4073c3_GH0.tar.gz) = 27ed96714eeaa871b8036bcb308db5256b8266cadd2689fbd1dbf3771611b879
+SIZE (ekg-vcflib-d4073c3_GH0.tar.gz) = 19215364
+SHA256 (ekg-fastahack-bb33265_GH0.tar.gz) = f671609e1a8d7cacb00065bf307c90c46116af8e5cea939b06edcdbcc6d4bc2a
+SIZE (ekg-fastahack-bb33265_GH0.tar.gz) = 18760
SHA256 (ekg-filevercmp-1a9b779_GH0.tar.gz) = 34c21d1b58295bca72b92c1cd832a4171b07ec97c19ffc0d4d8ec67e266c6070
SIZE (ekg-filevercmp-1a9b779_GH0.tar.gz) = 3053
SHA256 (ekg-fsom-a6ef318_GH0.tar.gz) = 68351c16d5c4b96142409e38c6828b6199eae44eaa7579bde165734d4832565b
SIZE (ekg-fsom-a6ef318_GH0.tar.gz) = 9686
SHA256 (google-googletest-d225acc_GH0.tar.gz) = 6880e0d51fa80a508ad5674ce483c1c468315faddac10d580b5505e8e7ef6bfa
SIZE (google-googletest-d225acc_GH0.tar.gz) = 1279815
-SHA256 (ekg-intervaltree-b704f19_GH0.tar.gz) = 7e38b5f5873790afbcfdf6adbb621cdf4a1d9f22e28934a8edfe62cd65918f0d
-SIZE (ekg-intervaltree-b704f19_GH0.tar.gz) = 3768
-SHA256 (ekg-multichoose-73d35da_GH0.tar.gz) = af52475d7568863ad8173aebfb6b8b87690118bad8945876b629a2b3c05577cf
-SIZE (ekg-multichoose-73d35da_GH0.tar.gz) = 4697
-SHA256 (ekg-smithwaterman-84c08d7_GH0.tar.gz) = 299c9e28e50977642d1538f8940852976b6db3241619eb1f40b78484b1cde58e
-SIZE (ekg-smithwaterman-84c08d7_GH0.tar.gz) = 38382
-SHA256 (ekg-tabixpp-80012f8_GH0.tar.gz) = 6aecc865673776bec4e2ddb14e629a4798ad36bf8f7639968812a6262675fb3f
-SIZE (ekg-tabixpp-80012f8_GH0.tar.gz) = 3530
-SHA256 (samtools-htslib-0f298ce_GH0.tar.gz) = 829bb54383745fb923ed5d8dabbb6aa8b5d9501601c7a4163276d86aca1196ee
-SIZE (samtools-htslib-0f298ce_GH0.tar.gz) = 1065854
+SHA256 (edawson-libVCFH-615a06b_GH0.tar.gz) = 2774c26c55e1d155fe803b492a745a1d2a3659f4fdbe248d3187ce03edf87223
+SIZE (edawson-libVCFH-615a06b_GH0.tar.gz) = 2295
+SHA256 (ekg-multichoose-68733cd_GH0.tar.gz) = 909baf2e462e43e71ba0d015fbe759c0ab95331c36d6c4ec65e4a92a7b9d3297
+SIZE (ekg-multichoose-68733cd_GH0.tar.gz) = 6558
+SHA256 (ekg-smithwaterman-2610e25_GH0.tar.gz) = f907becb50945d0858d3bf7a64959905712244cbe8455b35ef1102ff893173ce
+SIZE (ekg-smithwaterman-2610e25_GH0.tar.gz) = 39160
+SHA256 (ekg-tabixpp-b255df1_GH0.tar.gz) = 96d9aa41f55f74498e267b582e93e986605913fbd830dca6bf4cac5d9f927bb9
+SIZE (ekg-tabixpp-b255df1_GH0.tar.gz) = 3739
+SHA256 (simd-everywhere-simde-no-tests-2931676_GH0.tar.gz) = 3877e64f51a7368f768b40167e4cdff36a93d3047f722416581834f1eaf40f63
+SIZE (simd-everywhere-simde-no-tests-2931676_GH0.tar.gz) = 203996
+SHA256 (ingydotnet-test-simple-bash-124673f_GH0.tar.gz) = 19b5c27402d955909fcbf601ed02bcd7d9f2aa841e2158ecd93b9ff8f7ec1d98
+SIZE (ingydotnet-test-simple-bash-124673f_GH0.tar.gz) = 6609
+SHA256 (illusori-bash-tap-c38fbfa_GH0.tar.gz) = 5e658965f7c8730d7f29642ebb40b0e0beb701f992e391a1273af3b132ff66b8
+SIZE (illusori-bash-tap-c38fbfa_GH0.tar.gz) = 5826
diff --git a/biology/freebayes/files/patch-Makefile b/biology/freebayes/files/patch-Makefile
deleted file mode 100644
index 9c87b87ffbcb..000000000000
--- a/biology/freebayes/files/patch-Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
---- Makefile.orig 2018-03-23 14:01:01 UTC
-+++ Makefile
-@@ -5,7 +5,7 @@ wbamtools: vcflib/Makefile log
- cd src && $(MAKE) -f Makefile.bamtools
-
- log: src/version_git.h
-- wget -q http://hypervolu.me/freebayes/build/$(shell cat src/version_git.h | grep v | cut -f 3 -d\ | sed s/\"//g) &
-+ # wget -q http://hypervolu.me/freebayes/build/$(shell cat src/version_git.h | grep v | cut -f 3 -d\ | sed s/\"//g) &
-
- src/version_git.h:
- cd src && $(MAKE) autoversion
-@@ -27,7 +27,7 @@ uninstall:
- rm /usr/local/bin/freebayes /usr/local/bin/bamleftalign
-
- test:
-- cd test && make test
-+ cd test && ${MAKE} test
-
- clean:
- cd src && $(MAKE) clean
diff --git a/biology/freebayes/files/patch-SeqLib_bwa_Makefile b/biology/freebayes/files/patch-SeqLib_bwa_Makefile
deleted file mode 100644
index 356ac3bd66ea..000000000000
--- a/biology/freebayes/files/patch-SeqLib_bwa_Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
---- SeqLib/bwa/Makefile.orig 2018-03-23 18:47:04 UTC
-+++ SeqLib/bwa/Makefile
-@@ -1,8 +1,8 @@
--CC= gcc
-+CC ?= gcc
- #CC= clang --analyze
--CFLAGS= -g -Wall -Wno-unused-function -O2
-+CFLAGS ?= -g -Wall -Wno-unused-function -O2
- WRAP_MALLOC=-DUSE_MALLOC_WRAPPERS
--AR= ar
-+AR ?= ar
- DFLAGS= -DHAVE_PTHREAD $(WRAP_MALLOC)
- ## moved is.o bwtiindex.o rope.o to LOBJS
- LOBJS= utils.o kthread.o ksw.o bwt.o bntseq.o bwa.o bwamem.o bwamem_pair.o \
diff --git a/biology/freebayes/files/patch-SeqLib_bwa_bwt__lite.c b/biology/freebayes/files/patch-SeqLib_bwa_bwt__lite.c
deleted file mode 100644
index f664bd55c48a..000000000000
--- a/biology/freebayes/files/patch-SeqLib_bwa_bwt__lite.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- SeqLib/bwa/bwt_lite.c.orig 2018-03-23 18:49:48 UTC
-+++ SeqLib/bwa/bwt_lite.c
-@@ -1,6 +1,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
-+#include <sys/types.h>
- #include "bwt_lite.h"
-
- #ifdef USE_MALLOC_WRAPPERS
diff --git a/biology/freebayes/files/patch-SeqLib_bwa_bwtgap.h b/biology/freebayes/files/patch-SeqLib_bwa_bwtgap.h
deleted file mode 100644
index 4b2e4322b70a..000000000000
--- a/biology/freebayes/files/patch-SeqLib_bwa_bwtgap.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- SeqLib/bwa/bwtgap.h.orig 2018-03-23 18:49:18 UTC
-+++ SeqLib/bwa/bwtgap.h
-@@ -3,6 +3,7 @@
-
- #include "bwt.h"
- #include "bwtaln.h"
-+#include <sys/types.h>
-
- typedef struct { // recursion stack
- u_int32_t info; // score<<21 | i
diff --git a/biology/freebayes/files/patch-SeqLib_bwa_kthread.c b/biology/freebayes/files/patch-SeqLib_bwa_kthread.c
deleted file mode 100644
index 5193e4a2a2ab..000000000000
--- a/biology/freebayes/files/patch-SeqLib_bwa_kthread.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- SeqLib/bwa/kthread.c.orig 2018-03-23 18:48:35 UTC
-+++ SeqLib/bwa/kthread.c
-@@ -1,6 +1,7 @@
- #include <pthread.h>
- #include <stdlib.h>
- #include <limits.h>
-+#include <inttypes.h>
-
- /************
- * kt_for() *
diff --git a/biology/freebayes/files/patch-SeqLib_bwa_rle.h b/biology/freebayes/files/patch-SeqLib_bwa_rle.h
deleted file mode 100644
index 1e6b9580e7c0..000000000000
--- a/biology/freebayes/files/patch-SeqLib_bwa_rle.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- SeqLib/bwa/rle.h.orig 2016-10-13 18:10:17 UTC
-+++ SeqLib/bwa/rle.h
-@@ -30,7 +30,7 @@ extern "C" {
- *** 43+3 codec ***
- ******************/
-
--const uint8_t rle_auxtab[8];
-+extern const uint8_t rle_auxtab[8];
-
- #define RLE_MIN_SPACE 18
- #define rle_nptr(block) ((uint16_t*)(block))
diff --git a/biology/freebayes/files/patch-SeqLib_fermi-lite_Makefile b/biology/freebayes/files/patch-SeqLib_fermi-lite_Makefile
deleted file mode 100644
index ba795955ec76..000000000000
--- a/biology/freebayes/files/patch-SeqLib_fermi-lite_Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
---- SeqLib/fermi-lite/Makefile.orig 2018-03-23 18:50:25 UTC
-+++ SeqLib/fermi-lite/Makefile
-@@ -1,6 +1,6 @@
--CC= gcc
--CFLAGS= -g -Wall -O2 -Wno-unused-function #-fno-inline-functions -fno-inline-functions-called-once
--CPPFLAGS=
-+CC ?= gcc
-+CFLAGS ?= -g -Wall -O2 -Wno-unused-function #-fno-inline-functions -fno-inline-functions-called-once
-+CPPFLAGS ?=
- INCLUDES=
- OBJS= kthread.o misc.o \
- bseq.o htab.o bfc.o \
diff --git a/biology/freebayes/files/patch-SeqLib_fermi-lite_rle.h b/biology/freebayes/files/patch-SeqLib_fermi-lite_rle.h
deleted file mode 100644
index 6ad88b47fde5..000000000000
--- a/biology/freebayes/files/patch-SeqLib_fermi-lite_rle.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- SeqLib/fermi-lite/rle.h.orig 2016-09-01 20:47:53 UTC
-+++ SeqLib/fermi-lite/rle.h
-@@ -30,7 +30,7 @@ extern "C" {
- *** 43+3 codec ***
- ******************/
-
--const uint8_t rle_auxtab[8];
-+extern const uint8_t rle_auxtab[8];
-
- #define RLE_MIN_SPACE 18
- #define rle_nptr(block) ((uint16_t*)(block))
diff --git a/biology/freebayes/files/patch-SeqLib_htslib_Makefile b/biology/freebayes/files/patch-SeqLib_htslib_Makefile
deleted file mode 100644
index e533e6ca5f45..000000000000
--- a/biology/freebayes/files/patch-SeqLib_htslib_Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
---- SeqLib/htslib/Makefile.orig 2017-06-20 12:40:28 UTC
-+++ SeqLib/htslib/Makefile
-@@ -22,20 +22,20 @@
- # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- # DEALINGS IN THE SOFTWARE.
-
--CC = gcc
--AR = ar
--RANLIB = ranlib
-+CC ?= gcc
-+AR ?= ar
-+RANLIB ?= ranlib
-
- # Default libraries to link if configure is not used
- htslib_default_libs = -lz -lm -lbz2 -llzma
-
--CPPFLAGS =
-+CPPFLAGS ?=
- # TODO: probably update cram code to make it compile cleanly with -Wc++-compat
- # For testing strict C99 support add -std=c99 -D_XOPEN_SOURCE=600
- #CFLAGS = -g -Wall -O2 -pedantic -std=c99 -D_XOPEN_SOURCE=600 -D__FUNCTION__=__func__
--CFLAGS = -g -Wall -O2
-+CFLAGS ?= -g -Wall -O2
- EXTRA_CFLAGS_PIC = -fpic
--LDFLAGS =
-+LDFLAGS ?=
- LIBS = $(htslib_default_libs)
-
- prefix = /usr/local
-@@ -86,7 +86,7 @@ BUILT_THRASH_PROGRAMS = \
- test/thrash_threads5 \
- test/thrash_threads6
-
--all: lib-static lib-shared $(BUILT_PROGRAMS) plugins $(BUILT_TEST_PROGRAMS)
-+all: lib-static $(BUILT_PROGRAMS) plugins $(BUILT_TEST_PROGRAMS)
-
- HTSPREFIX =
- include htslib_vars.mk
diff --git a/biology/freebayes/files/patch-src_Makefile b/biology/freebayes/files/patch-src_Makefile
deleted file mode 100644
index cfe34b3b4ead..000000000000
--- a/biology/freebayes/files/patch-src_Makefile
+++ /dev/null
@@ -1,62 +0,0 @@
---- src/Makefile.orig 2018-03-23 14:01:01 UTC
-+++ src/Makefile
-@@ -5,8 +5,9 @@
- ################################################################################
-
- # Compiler
--CXX=g++ ${CXXFLAGS}
--C=gcc
-+CXX ?= g++
-+# CXX += ${CXXFLAGS}
-+CC ?= gcc
-
- export CXXFLAGS
- export C
-@@ -17,7 +18,7 @@ export LIBFLAGS
-
- # Compiler flags
-
--CFLAGS=-O3 -D_FILE_OFFSET_BITS=64 -g
-+CFLAGS += -D_FILE_OFFSET_BITS=64
- #CFLAGS=-O3 -static -D VERBOSE_DEBUG # enables verbose debugging via --debug2
-
- SEQLIB_ROOT=../SeqLib
-@@ -25,7 +26,7 @@ VCFLIB_ROOT=../vcflib
- TABIX_ROOT=$(VCFLIB_ROOT)/tabixpp
- HTSLIB_ROOT=$(SEQLIB_ROOT)/htslib
-
--LIBS = -lz -llzma -lbz2 -lm -lpthread
-+LIBS = -lz -llzma -lbz2 -lm -lpthread -lexecinfo
- INCLUDE = -I../src -I../ttmath -I$(VCFLIB_ROOT)/src/ -I$(VCFLIB_ROOT)/smithwaterman/ -I$(VCFLIB_ROOT)/multichoose/ -I$(VCFLIB_ROOT)/filevercmp/ -I$(VCFLIB_ROOT)/fastahack/ -I$(HTSLIB_ROOT) -I$(SEQLIB_ROOT)
- #INCLUDE = -I../ttmath -I$(BAMTOOLS_ROOT)/src/ -I$(VCFLIB_ROOT)/src/ -I$(TABIX_ROOT)/ -I$(VCFLIB_ROOT)/smithwaterman/ -I$(VCFLIB_ROOT)/multichoose/ -I$(VCFLIB_ROOT)/filevercmp/ -I$(VCFLIB_ROOT)/fastahack/ -I$(HTSLIB_ROOT) -I$(SEQLIB_ROOT) -I$(SEQLIB_ROOT)/htslib
-
-@@ -46,10 +47,10 @@ gprof:
- .PHONY: all static debug profiling gprof
-
- $(HTSLIB_ROOT)/libhts.a:
-- cd $(HTSLIB_ROOT) && make
-+ cd $(HTSLIB_ROOT) && ${MAKE}
-
- $(SEQLIB_ROOT)/src/libseqlib.a:
-- cd $(SEQLIB_ROOT) && ./configure && make
-+ cd $(SEQLIB_ROOT) && ./configure && ${MAKE}
-
- OBJECTS=BedReader.o \
- CNV.o \
-@@ -122,7 +123,7 @@ freebayes.o: freebayes.cpp TryCatch.h $(
- $(CXX) $(CXXFLAGS) $(INCLUDE) -c freebayes.cpp
-
- fastlz.o: fastlz.c fastlz.h
-- $(C) $(CFLAGS) $(INCLUDE) -c fastlz.c
-+ $(CC) $(CFLAGS) $(INCLUDE) -c fastlz.c
-
- Parameters.o: Parameters.cpp Parameters.h Version.h
- $(CXX) $(CXXFLAGS) $(INCLUDE) -c Parameters.cpp
-@@ -277,5 +278,5 @@ autoversion:
-
- clean:
- rm -rf *.o *.cgh *~ freebayes alleles ../bin/freebayes ../bin/alleles ../vcflib/*.o ../vcflib/tabixpp/*.{o,a} tabix.hpp
-- if [ -d $(BAMTOOLS_ROOT)/build ]; then make -C $(BAMTOOLS_ROOT)/build clean; fi
-- make -C $(VCFLIB_ROOT)/smithwaterman clean
-+ if [ -d $(BAMTOOLS_ROOT)/build ]; then ${MAKE} -C $(BAMTOOLS_ROOT)/build clean; fi
-+ ${MAKE} -C $(VCFLIB_ROOT)/smithwaterman clean
diff --git a/biology/freebayes/files/patch-vcflib_Makefile b/biology/freebayes/files/patch-vcflib_Makefile
deleted file mode 100644
index c3df0fb79e6c..000000000000
--- a/biology/freebayes/files/patch-vcflib_Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
---- vcflib/Makefile.orig 2018-03-23 18:36:07 UTC
-+++ vcflib/Makefile
-@@ -136,8 +136,8 @@ all: $(OBJECTS) $(BINS)
-
- GIT_VERSION := $(shell git describe --abbrev=4 --dirty --always)
-
--CXX = g++
--CXXFLAGS = -O3 -D_FILE_OFFSET_BITS=64 -std=c++0x
-+CXX ?= g++
-+CXXFLAGS += -D_FILE_OFFSET_BITS=64 -std=c++0x
- #CXXFLAGS = -O2
- #CXXFLAGS = -pedantic -Wall -Wshadow -Wpointer-arith -Wcast-qual
-
diff --git a/biology/freebayes/pkg-descr b/biology/freebayes/pkg-descr
index 22f5fbd0373c..965b4e71a1bd 100644
--- a/biology/freebayes/pkg-descr
+++ b/biology/freebayes/pkg-descr
@@ -3,5 +3,3 @@ polymorphisms, specifically SNPs (single-nucleotide polymorphisms), indels
(insertions and deletions), MNPs (multi-nucleotide polymorphisms), and complex
events (composite insertion and substitution events) smaller than the length of
a short-read sequencing alignment.
-
-WWW: https://github.com/ekg/freebayes
diff --git a/biology/garlic/Makefile b/biology/garlic/Makefile
index 505b32246c39..e36058e1a4fa 100644
--- a/biology/garlic/Makefile
+++ b/biology/garlic/Makefile
@@ -1,5 +1,3 @@
-# Created by: maho@FreeBSD.org
-
PORTNAME= garlic
PORTVERSION= 1.6
PORTREVISION= 1
@@ -10,6 +8,7 @@ EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= ports@FreeBSD.org
COMMENT= Molecular viewer, editor, and visualization program
+WWW= http://www.zucic.org/garlic/
USES= gmake xorg
USE_XORG= x11
diff --git a/biology/garlic/pkg-descr b/biology/garlic/pkg-descr
index 2ba4614ce8c0..6deb75881605 100644
--- a/biology/garlic/pkg-descr
+++ b/biology/garlic/pkg-descr
@@ -9,5 +9,3 @@ semi-spherical, cylindrical and semi-cylindrical.
The slab position and thickness are visible in a small window.
Atomic bonds as well as atoms are treated as independent drawable objects.
and more.
-
-WWW: http://www.zucic.org/garlic/
diff --git a/biology/gatk/Makefile b/biology/gatk/Makefile
index 11e3971e5dab..d518057376ef 100644
--- a/biology/gatk/Makefile
+++ b/biology/gatk/Makefile
@@ -1,22 +1,24 @@
PORTNAME= gatk
-DISTVERSION= 4.2.0.0
+DISTVERSION= 4.5.0.0
CATEGORIES= biology java
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Variant discovery in high-throughput sequencing data
+WWW= https://gatk.broadinstitute.org/hc/en-us
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.TXT
-BROKEN_FreeBSD_12_powerpc64= fails to build: String index out of range: -1
-
-BUILD_DEPENDS= gradle62:devel/gradle62
+BUILD_DEPENDS= gradle:devel/gradle
USES= gettext-runtime
+USE_JAVA= yes
+
+JAVA_VERSION= 17 # Java 8 fails on aarch64: Internal Error (assembler_aarch64.hpp:237), pid=76025, tid=0x000000000006e359 guarantee(val < (1U << nbits)) failed: Field too big for insn
+
USE_GITHUB= yes
GH_ACCOUNT= broadinstitute
-USE_JAVA= yes
SUB_FILES= ${PORTNAME}.sh
SUB_LIST= PORTVERSION=${PORTVERSION} JAVA=${JAVA}
@@ -28,6 +30,8 @@ DEPS_CACHE_DIR= ${WRKDIR}
PLIST_FILES= bin/${PORTNAME} \
${JAVAJARDIR}/GenomeAnalysisTK-${PORTVERSION}.jar
+BINARY_ALIAS= java=${JAVA}
+
# TODO additionally fetch git-lfs files: https://github.com/broadinstitute/gatk/issues/6395
# to rebuild the deps archive:
@@ -63,7 +67,7 @@ do-fetch:
) && \
${FIND} ${PORTNAME}-${DISTVERSION} -and -exec ${TOUCH} -h -d 1970-01-01T00:00:00Z {} \; && \
${FIND} ${PORTNAME}-${DISTVERSION} -print0 | LC_ALL=C ${SORT} -z | \
- ${TAR} czf ${DISTNAME}${EXTRACT_SUFX} --format=bsdtar --gid 0 --uid 0 --options gzip:!timestamp --no-recursion --null -T - && \
+ ${TAR} czf ${DISTNAME}${EXTRACT_SUFX} --format=ustar --gid 0 --uid 0 --options gzip:!timestamp --no-recursion --null -T - && \
${RM} -r ${PORTNAME}-${DISTVERSION}; \
fi
.endif
@@ -82,7 +86,7 @@ post-extract: # need a separate extract step because the cache is in /tmp, and n
.endif
do-build:
- @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} gradle62 \
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} gradle \
--gradle-user-home ${DEPS_CACHE_DIR}/gradle-${PORTNAME} --project-cache-dir ${DEPS_CACHE_DIR}/gradle-${PORTNAME} \
${GRADLE_ARGS} --build-cache localJar
diff --git a/biology/gatk/distinfo b/biology/gatk/distinfo
index 017c83417aa0..7efe8cb7a921 100644
--- a/biology/gatk/distinfo
+++ b/biology/gatk/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1615661028
-SHA256 (gatk-4.2.0.0-deps.tar.gz) = 12d2415904bae017169a3177ecd86d48f4faa7d862c0b24ccd224f0f6a95b221
-SIZE (gatk-4.2.0.0-deps.tar.gz) = 281152285
-SHA256 (broadinstitute-gatk-4.2.0.0_GH0.tar.gz) = 5766f135e372e122ce92c87e604342229228c8ceb98be1e74d52a7039e208e01
-SIZE (broadinstitute-gatk-4.2.0.0_GH0.tar.gz) = 75705393
+TIMESTAMP = 1702890353
+SHA256 (gatk-4.5.0.0-deps.tar.gz) = b6bf2e6ff9d64198e4ba185b2c09648bef841d274206603d0f6802e134b10cf5
+SIZE (gatk-4.5.0.0-deps.tar.gz) = 883487836
+SHA256 (broadinstitute-gatk-4.5.0.0_GH0.tar.gz) = 39b09548ada317b29f19d6cbc0267301ee3565d575a5d79008a0168e679b98d2
+SIZE (broadinstitute-gatk-4.5.0.0_GH0.tar.gz) = 104455420
diff --git a/biology/gatk/pkg-descr b/biology/gatk/pkg-descr
index 70cd73a443e4..d1c564ee7526 100644
--- a/biology/gatk/pkg-descr
+++ b/biology/gatk/pkg-descr
@@ -9,5 +9,3 @@ Developed in the Data Sciences Platform at the Broad Institute, the toolkit
offers a wide variety of tools with a primary focus on variant discovery and
genotyping. Its powerful processing engine and high-performance computing
features make it capable of taking on projects of any size.
-
-WWW: https://gatk.broadinstitute.org/hc/en-us
diff --git a/biology/gcta/Makefile b/biology/gcta/Makefile
index 67afd90d9a71..a1721656f2ae 100644
--- a/biology/gcta/Makefile
+++ b/biology/gcta/Makefile
@@ -1,27 +1,52 @@
PORTNAME= gcta
-DISTVERSION= 1.26.0
-PORTREVISION= 3
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.94.1
+PORTREVISION= 1
CATEGORIES= biology
-MASTER_SITES= https://cnsgenomics.com/software/gcta/pre_gcta/
-DISTNAME= ${PORTNAME}_${PORTVERSION}_src
MAINTAINER= jwb@FreeBSD.org
COMMENT= Genome-wide Complex Trait Analysis
+WWW= https://cnsgenomics.com/software/gcta/index.html
LICENSE= GPLv3
-LICENSE_FILE= ${WRKSRC}/GNU_General_Public_License_v3.txt
+LICENSE_FILE= ${WRKSRC}/LICENSE
-LIB_DEPENDS= libopenblas.so:math/openblas
+BUILD_DEPENDS= boost-libs>0:devel/boost-libs \
+ spectra>0:math/spectra
+LIB_DEPENDS= libgsl.so:math/gsl \
+ libopenblas.so:math/openblas \
+ libsqlite3.so:databases/sqlite3 \
+ libzstd.so:archivers/zstd
-USES= compiler:c++11-lang dos2unix eigen:3 gmake localbase:ldflags zip
+USES= cmake eigen:3 localbase:ldflags
+USE_GITHUB= yes
-CXXFLAGS+= -I${LOCALBASE}/include/eigen3 -fopenmp
-LDFLAGS+= -lopenblas
+GH_ACCOUNT= jianyangqt
+GH_TUPLE= zhilizheng:plink-ng:3744540:plink/submods/plink-ng
-INSTALL_TARGET= install-strip
-PLIST_FILES= bin/gcta
+CONFIGURE_ENV+= EIGEN3_INCLUDE_DIR=${LOCALBASE}/include/eigen3 \
+ BOOST_INCLUDE_DIR=${LOCALBASE}/include/boost \
+ OPENBLAS=${LOCALBASE} \
+ SPECTRA_INCLUDE_DIR=${LOCALBASE}/include/Spectra
-do-extract:
- ${UNZIP_NATIVE_CMD} -d ${WRKSRC} ${DISTDIR}/${DISTFILES}
+LDFLAGS+= -fopenmp
-.include <bsd.port.mk>
+PLIST_FILES= bin/gcta64 bin/gcta
+
+.include <bsd.port.pre.mk>
+
+# Temporary hack for clang build errors:
+# /usr/ports/biology/gcta/work/gcta-1.94.1/submods/plink-ng/2.0/plink2_base.h:1008:23: error: argument to '__builtin_neon_vshrq_n_v' must be a constant integer
+# return R_CAST(VecW, _mm_srli_epi64(R_CAST(__m128i, vv), ct));
+# /usr/lib/clang/14.0.5/include/arm_neon.h:25260:24: note: expanded from macro 'vshrq_n_u64'
+# __ret = (uint64x2_t) __builtin_neon_vshrq_n_v((int8x16_t)__s0, __p1, 51);
+.if ${ARCH} == aarch64
+USE_GCC= yes
+.endif
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/gcta64 ${STAGEDIR}${PREFIX}/bin
+ ${RLN} ${STAGEDIR}${PREFIX}/bin/gcta64 ${STAGEDIR}${PREFIX}/bin/gcta
+
+.include <bsd.port.post.mk>
diff --git a/biology/gcta/distinfo b/biology/gcta/distinfo
index 9faabb4559b8..9bda3ffe28e6 100644
--- a/biology/gcta/distinfo
+++ b/biology/gcta/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1489125670
-SHA256 (gcta_1.26.0_src.zip) = 554c48f421c93cbaf64b1c300ca507d8e7a56086b5c7d857227fbd4048f42acf
-SIZE (gcta_1.26.0_src.zip) = 198045
+TIMESTAMP = 1697202096
+SHA256 (jianyangqt-gcta-v1.94.1_GH0.tar.gz) = d38841587bef016d7885cc1b3287d7ed0373bd370674130e814e2c5e6a90bfbf
+SIZE (jianyangqt-gcta-v1.94.1_GH0.tar.gz) = 1101577
+SHA256 (zhilizheng-plink-ng-3744540_GH0.tar.gz) = dfa4879bc6bcbe24411451748c7c5dc803e42cafa55b008134f0d123cd933222
+SIZE (zhilizheng-plink-ng-3744540_GH0.tar.gz) = 3222588
diff --git a/biology/gcta/files/patch-CMakeLists.txt b/biology/gcta/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..886a9591c652
--- /dev/null
+++ b/biology/gcta/files/patch-CMakeLists.txt
@@ -0,0 +1,98 @@
+--- CMakeLists.txt.orig 2022-08-03 06:01:52 UTC
++++ CMakeLists.txt
+@@ -3,7 +3,7 @@ SET(CMAKE_INCLUDE_CURRENT_DIR ON)
+ SET(PROJECT_NAME_STR GCTA2)
+ PROJECT(${PROJECT_NAME_STR} C CXX)
+ SET(CMAKE_INCLUDE_CURRENT_DIR ON)
+-SET(CMAKE_CXX_STANDARD 11)
++SET(CMAKE_CXX_STANDARD 14)
+ SET(CMAKE_C_STANDARD 11)
+
+ # get system architecture
+@@ -16,8 +16,8 @@ endif()
+ MESSAGE(FATAL_ERROR "Use the Visual Studio project file which located in gcta_win64 directory")
+ endif()
+
+-if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux" OR "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
+- MESSAGE("Linux and Mac are supported.")
++if("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD" OR "${CMAKE_SYSTEM_NAME}" MATCHES "Linux" OR "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
++ MESSAGE("FreeBSD, Linux and Mac are supported.")
+ else()
+ MESSAGE("Your system: ${CMAKE_SYSTEM_NAME}")
+ MESSAGE(FATAL_ERROR "Only Linux and Mac are currently supported.")
+@@ -43,18 +43,18 @@ INCLUDE_DIRECTORIES("${EIGEN3_INCLUDE_DIR}")
+ ENDIF()
+ INCLUDE_DIRECTORIES("${EIGEN3_INCLUDE_DIR}")
+
+-SET(SPECTRA_LIB "$ENV{SPECTRA_LIB}")
+-IF(NOT SPECTRA_LIB)
+- MESSAGE(FATAL_ERROR "Specify environment variable SPECTRA_LIB to the location of Spectra package")
++SET(SPECTRA_INCLUDE_DIR "$ENV{SPECTRA_INCLUDE_DIR}")
++IF(NOT SPECTRA_INCLUDE_DIR)
++ MESSAGE(FATAL_ERROR "Specify environment variable SPECTRA_INCLUDE_DIR to the location of Spectra package")
+ ENDIF()
+-INCLUDE_DIRECTORIES("${SPECTRA_LIB}")
++INCLUDE_DIRECTORIES("${SPECTRA_INCLUDE_DIR}")
+
+
+-SET(BOOST_LIB "$ENV{BOOST_LIB}")
+-IF(NOT BOOST_LIB)
+- MESSAGE(FATAL_ERROR "Specify environment variable BOOST_LIB to the location of BOOST library")
++SET(BOOST_INCLUDE_DIR "$ENV{BOOST_INCLUDE_DIR}")
++IF(NOT BOOST_INCLUDE_DIR)
++ MESSAGE(FATAL_ERROR "Specify environment variable BOOST_INCLUDE_DIR to the location of BOOST headers")
+ ENDIF()
+-INCLUDE_DIRECTORIES("${BOOST_LIB}")
++INCLUDE_DIRECTORIES("${BOOST_INCLUDE_DIR}")
+
+
+ # PLINK2.0 pgen library;
+@@ -63,13 +63,28 @@ message(STATUS "ARCHITECTURE:${CMAKE_LIBRARY_ARCHITECT
+
+
+ message(STATUS "ARCHITECTURE:${CMAKE_LIBRARY_ARCHITECTURE}")
+-if(CMAKE_LIBRARY_ARCHITECTURE STREQUAL "aarch64")
++if("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD")
+ SET(OPENBLAS "$ENV{OPENBLAS}")
+ IF(NOT OPENBLAS)
+ MESSAGE(FATAL_ERROR "Specify environment variable OPENBLAS to the location of OPENBLAS package")
+ ENDIF()
+ INCLUDE_DIRECTORIES("${OPENBLAS}/include")
+
++ find_library(lib_openblas NAMES openblas PATHS "${OPENBLAS}" "${LOCALBASE}/lib")
++ set(BLAS_LIB ${lib_openblas})
++
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
++ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG")
++ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g")
++ add_compile_options(-fopenmp)
++
++elseif(CMAKE_LIBRARY_ARCHITECTURE STREQUAL "aarch64")
++ SET(OPENBLAS "$ENV{OPENBLAS}")
++ IF(NOT OPENBLAS)
++ MESSAGE(FATAL_ERROR "Specify environment variable OPENBLAS to the location of OPENBLAS package")
++ ENDIF()
++ INCLUDE_DIRECTORIES("${OPENBLAS}/include")
++
+ find_library(lib_openblas NAMES openblas PATHS "${OPENBLAS}" "${OPENBLAS}/lib")
+ set(BLAS_LIB ${lib_openblas})
+
+@@ -169,6 +184,8 @@ if(APPLE)
+ if(APPLE)
+ link_directories(${MKLROOT}/lib)
+ link_directories(/usr/local/lib)
++elseif("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD")
++ link_directories(${LOCALBASE}/lib)
+ else(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ #linux
+ link_directories(${MKLROOT}/../../../lib/intel64)
+@@ -179,6 +196,9 @@ if(APPLE)
+ if(APPLE)
+ # iomp5
+ target_link_libraries(gcta64 ${libs_list} Pgenlib mainV1 z ${BLAS_LIB} sqlite3 zstd_s omp pthread m dl )
++elseif("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD")
++ # FIXME: Clean this up
++ target_link_libraries(gcta64 mainV1 ${libs_list} Pgenlib gsl z sqlite3 zstd -Wl,--start-group ${BLAS_LIB} -Wl,--end-group -Wl,--whole-archive -lpthread -Wl,--no-whole-archive m dl)
+ else()
+ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ # error keeps only
diff --git a/biology/gcta/files/patch-Makefile b/biology/gcta/files/patch-Makefile
deleted file mode 100644
index b4844e0f9cee..000000000000
--- a/biology/gcta/files/patch-Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
---- Makefile.orig 2020-04-15 01:43:44 UTC
-+++ Makefile
-@@ -6,21 +6,27 @@
- # ---------------------------------------------------------------------
-
- # Directory of the target
--OUTPUT = gcta64
-+OUTPUT = gcta
-
- # Compiler
--CXX = g++
-+CXX ?= g++
-
- # EIGEN library
--EIGEN_PATH = ../../../Lib/eigen
-+EIGEN_PATH ?= ../../../Lib/eigen
-
- # Intel MKL library
--MKL_PATH = /opt/intel/mkl
-+MKL_PATH ?= /opt/intel/mkl
-
- # Compiler flags
--CXXFLAGS = -w -O3 -m64 -static -fopenmp -I $(EIGEN_PATH) -DEIGEN_NO_DEBUG -I $(MKL_PATH)/include
--LIB += -static -lz -Wl,--start-group $(MKL_PATH)/lib/intel64/libmkl_intel_lp64.a $(MKL_PATH)/lib/intel64/libmkl_gnu_thread.a $(MKL_PATH)/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -lm -ldl
-+CXXFLAGS ?= -w -O3 -m64 -static -fopenmp -I $(EIGEN_PATH) -DEIGEN_NO_DEBUG -I $(MKL_PATH)/include
-+LDFLAGS += -lz -Wl,--start-group -lpthread -lm -ldl
-
-+MKDIR ?= mkdir
-+DESTDIR ?= .
-+PREFIX ?= /usr/local
-+INSTALL ?= install
-+STRIP ?= strip
-+
- HDR += CommFunc.h \
- cdflib.h \
- dcdflib.h \
-@@ -58,7 +64,7 @@ OBJ = $(SRC:.cpp=.o)
- all : $(OUTPUT)
-
- $(OUTPUT) :
-- $(CXX) $(CXXFLAGS) -o $(OUTPUT) $(OBJ) $(LIB)
-+ $(CXX) $(CXXFLAGS) -o $(OUTPUT) $(OBJ) $(LDFLAGS)
-
- $(OBJ) : $(HDR)
-
-@@ -69,6 +75,13 @@ $(OBJ) : $(HDR)
- $(OUTPUT) : $(OBJ)
-
- FORCE:
-+
-+install:
-+ ${MKDIR} -p ${DESTDIR}${PREFIX}/bin
-+ ${INSTALL} -c ${OUTPUT} ${DESTDIR}${PREFIX}/bin
-+
-+install-strip: install
-+ ${STRIP} ${DESTDIR}${PREFIX}/bin/${OUTPUT}
-
- clean:
- rm -f *.o
diff --git a/biology/gcta/files/patch-eigen__func.h b/biology/gcta/files/patch-eigen__func.h
deleted file mode 100644
index 5325c5975685..000000000000
--- a/biology/gcta/files/patch-eigen__func.h
+++ /dev/null
@@ -1,15 +0,0 @@
---- eigen_func.h.orig 2016-06-22 03:11:01 UTC
-+++ eigen_func.h
-@@ -12,9 +12,9 @@
- #ifndef _EIGENFUNC_H
- #define _EIGENFUNC_H
-
--#ifndef EIGEN_USE_MKL_ALL
--#define EIGEN_USE_MKL_ALL
--#endif
-+//#ifndef EIGEN_USE_MKL_ALL
-+//#define EIGEN_USE_MKL_ALL
-+//#endif
-
- #include "CommFunc.h"
- #include "StatFunc.h"
diff --git a/biology/gcta/files/patch-gcta.h b/biology/gcta/files/patch-gcta.h
deleted file mode 100644
index 07c889655082..000000000000
--- a/biology/gcta/files/patch-gcta.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- gcta.h.orig 2016-06-22 03:11:01 UTC
-+++ gcta.h
-@@ -17,9 +17,9 @@
- #define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
- #endif
-
--#ifndef EIGEN_USE_MKL_ALL
--#define EIGEN_USE_MKL_ALL
--#endif
-+//#ifndef EIGEN_USE_MKL_ALL
-+//#define EIGEN_USE_MKL_ALL
-+//#endif
-
- #include "CommFunc.h"
- #include "StrFunc.h"
-@@ -36,8 +36,11 @@
- #include <unsupported/Eigen/SparseExtra>
- #include <unsupported/Eigen/IterativeSolvers>
- #include <omp.h>
--#include <mkl_cblas.h>
--#include <mkl_lapack.h>
-+#include <cblas.h>
-+#include <lapacke.h>
-+// Looks like openblas, cblas and lapacke are all that's needed
-+//#include <blaspp.h>
-+//#include <lapackpp.h>
-
- using namespace Eigen;
- using namespace std;
diff --git a/biology/gcta/files/patch-include_Matrix.hpp b/biology/gcta/files/patch-include_Matrix.hpp
new file mode 100644
index 000000000000..5039c75580bb
--- /dev/null
+++ b/biology/gcta/files/patch-include_Matrix.hpp
@@ -0,0 +1,24 @@
+--- include/Matrix.hpp.orig 2022-08-03 06:01:52 UTC
++++ include/Matrix.hpp
+@@ -32,7 +32,9 @@ bool _LLT(MatrixType &A, double &logdet){
+ #if GCTA_CPU_x86
+ dpotrf(&uplo, &cols, vi, &cols, &info);
+ #else
+- dpotrf_(&uplo, &cols, vi, &cols, &info);
++ // OpenBLAS 0.3.25 requires a length argument. Is 1 the right value?
++ // Should all dgeqrf_() calls be patched?
++ dpotrf_(&uplo, &cols, vi, &cols, &info, 1);
+ #endif
+ //LOGGER << " LLT time: " << LOGGER.tp("LLT") << std::endl;
+ if(info == 0){
+@@ -41,7 +43,9 @@ bool _LLT(MatrixType &A, double &logdet){
+ #if GCTA_CPU_x86
+ dpotri(&uplo, &cols, vi, &cols, &info);
+ #else
+- dpotri_(&uplo, &cols, vi, &cols, &info);
++ // OpenBLAS 0.3.25 requires a length argument. Is 1 the right value?
++ // Should all doptri_() calls be patched?
++ dpotri_(&uplo, &cols, vi, &cols, &info, 1);
+ #endif
+ //LOGGER << " LLT inverse time: " << LOGGER.tp("LLT_INV") << std::endl;
+ if(info == 0){
diff --git a/biology/gcta/files/patch-include_cpu.h b/biology/gcta/files/patch-include_cpu.h
new file mode 100644
index 000000000000..92a8e4dd1212
--- /dev/null
+++ b/biology/gcta/files/patch-include_cpu.h
@@ -0,0 +1,19 @@
+--- include/cpu.h.orig 2022-08-03 06:01:52 UTC
++++ include/cpu.h
+@@ -13,7 +13,8 @@
+ #define GCTA_ARCH_i386 0
+ #endif
+
+-#if GCTA_ARCH_x86_64 || GCTA_ARCH_i386
++// GCTA_ARCH_x86 is used (mostly) to enable Intel's MKL library
++#if !defined(__FreeBSD__) && (GCTA_ARCH_x86_64 || GCTA_ARCH_i386)
+ #define GCTA_CPU_x86 1
+ #else
+ #define GCTA_CPU_x86 0
+@@ -50,4 +51,4 @@
+ #include <lapack.h>
+ #endif
+
+-#endif //END GCTA_CPU_H
+\ No newline at end of file
++#endif //END GCTA_CPU_H
diff --git a/biology/gcta/files/patch-include_cpu__f77blas.h b/biology/gcta/files/patch-include_cpu__f77blas.h
new file mode 100644
index 000000000000..d887c81d9ade
--- /dev/null
+++ b/biology/gcta/files/patch-include_cpu__f77blas.h
@@ -0,0 +1,18 @@
+--- include/cpu_f77blas.h.orig 2023-10-13 13:10:15 UTC
++++ include/cpu_f77blas.h
+@@ -13,7 +13,7 @@
+ #define GCTA_ARCH_i386 0
+ #endif
+
+-#if GCTA_ARCH_x86_64 || GCTA_ARCH_i386
++#if !defined(__FreeBSD__) && (GCTA_ARCH_x86_64 || GCTA_ARCH_i386)
+ #define GCTA_CPU_x86 1
+ #else
+ #define GCTA_CPU_x86 0
+@@ -46,4 +46,4 @@
+ #include <f77blas.h>
+ #endif
+
+-#endif //END GCTA_F77BLAS_CPU_H
+\ No newline at end of file
++#endif //END GCTA_F77BLAS_CPU_H
diff --git a/biology/gcta/files/patch-ld.cpp b/biology/gcta/files/patch-ld.cpp
deleted file mode 100644
index c806493c1c30..000000000000
--- a/biology/gcta/files/patch-ld.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
---- ld.cpp.orig 2020-04-15 12:56:27 UTC
-+++ ld.cpp
-@@ -1004,7 +1004,9 @@ void gcta::calcu_max_ld_rsq_blk(eigenVector &multi_rsq
- }
-
-
-- SelfAdjointEigenSolver<MatrixXf> pca(rsq_sub.array());
-+ // Fixed compile by removing .array(). Not sure about the validity
-+ // of this change, but it seemed reasonable based on constructor docs.
-+ SelfAdjointEigenSolver<MatrixXf> pca(rsq_sub);
-
- // debug
- // ofstream tmp("tmp_R.txt");
diff --git a/biology/gcta/files/patch-main_mkl.cpp b/biology/gcta/files/patch-main_mkl.cpp
new file mode 100644
index 000000000000..a74cbecfa6fd
--- /dev/null
+++ b/biology/gcta/files/patch-main_mkl.cpp
@@ -0,0 +1,24 @@
+--- main/mkl.cpp.orig 2023-11-20 14:09:49 UTC
++++ main/mkl.cpp
+@@ -365,7 +365,9 @@ bool gcta::comput_inverse_logdet_LDLT_mkl(eigenMatrix
+ #if GCTA_CPU_x86
+ dpotrf(&uplo, &int_n, Vi_mkl, &int_n, &info);
+ #else
+- dpotrf_(&uplo, &int_n, Vi_mkl, &int_n, &info);
++ // OpenBLAS 0.3.25 requires a length argument. Is 1 the right value?
++ // Should all dpotrf_() calls be patched?
++ dpotrf_(&uplo, &int_n, Vi_mkl, &int_n, &info, 1);
+ #endif
+ //LOGGER << "Finished decompose" << endl;
+ //spotrf( &uplo, &n, Vi_mkl, &n, &info );
+@@ -386,7 +388,9 @@ bool gcta::comput_inverse_logdet_LDLT_mkl(eigenMatrix
+ #if GCTA_CPU_x86
+ dpotri(&uplo, &int_n, Vi_mkl, &int_n, &info);
+ #else
+- dpotri_(&uplo, &int_n, Vi_mkl, &int_n, &info);
++ // OpenBLAS 0.3.25 requires a length argument. Is 1 the right value?
++ // Should all dpotri_() calls be patched?
++ dpotri_(&uplo, &int_n, Vi_mkl, &int_n, &info, 1);
+ #endif
+ //LOGGER << "Inverse finished" << endl;
+ //spotri( &uplo, &n, Vi_mkl, &n, &info );
diff --git a/biology/gcta/files/patch-main_option.cpp b/biology/gcta/files/patch-main_option.cpp
new file mode 100644
index 000000000000..fbf3f6c80d69
--- /dev/null
+++ b/biology/gcta/files/patch-main_option.cpp
@@ -0,0 +1,28 @@
+--- main/option.cpp.orig 2023-10-13 13:49:25 UTC
++++ main/option.cpp
+@@ -1112,10 +1112,10 @@ void option(int option_num, char* option_str[])
+
+ #ifdef _WIN32
+ if(chbuf != '\\') ref_ld_dirt = ref_ld_dirt + '\\';
+-#elif defined __linux__ || defined __APPLE__
++#elif defined __FreeBSD__ || defined __linux__ || defined __APPLE__
+ if(chbuf != '/') ref_ld_dirt = ref_ld_dirt + '/';
+ #else
+-#error Only Windows, Mac and Linux are supported.
++#error Only FreeBSD, Windows, Mac and Linux are supported.
+ #endif
+ LOGGER << "--ref-ld-chr " << ref_ld_dirt << endl;
+ } else if (strcmp(argv[i], "--w-ld-chr") == 0) {
+@@ -1124,10 +1124,10 @@ void option(int option_num, char* option_str[])
+ chbuf = w_ld_dirt.back();
+ #ifdef _WIN32
+ if(chbuf != '\\') w_ld_dirt = w_ld_dirt + '\\';
+-#elif defined __linux__ || defined __APPLE__
++#elif defined __FreeBSD__ || defined __linux__ || defined __APPLE__
+ if(chbuf != '/') w_ld_dirt = w_ld_dirt + '/';
+ #else
+-#error Only Windows, Mac and Linux are supported.
++#error Only FreeBSD, Windows, Mac and Linux are supported.
+ #endif
+
+ LOGGER << "--w-ld-chr " << w_ld_dirt << endl;
diff --git a/biology/gcta/files/patch-mkl.cpp b/biology/gcta/files/patch-mkl.cpp
deleted file mode 100644
index b27b6dabfbce..000000000000
--- a/biology/gcta/files/patch-mkl.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
---- mkl.cpp.orig 2020-04-15 00:54:40 UTC
-+++ mkl.cpp
-@@ -357,7 +357,7 @@ bool gcta::comput_inverse_logdet_LDLT_mkl(eigenMatrix
- // MKL's Cholesky decomposition
- int info = 0, int_n = (int) n;
- char uplo = 'L';
-- dpotrf(&uplo, &int_n, Vi_mkl, &int_n, &info);
-+ dpotrf_(&uplo, &int_n, Vi_mkl, &int_n, &info);
- //spotrf( &uplo, &n, Vi_mkl, &n, &info );
- if (info < 0) throw ("Error: Cholesky decomposition failed. Invalid values found in the matrix.\n");
- else if (info > 0) return false;
-@@ -369,7 +369,7 @@ bool gcta::comput_inverse_logdet_LDLT_mkl(eigenMatrix
- }
-
- // Calcualte V inverse
-- dpotri(&uplo, &int_n, Vi_mkl, &int_n, &info);
-+ dpotri_(&uplo, &int_n, Vi_mkl, &int_n, &info);
- //spotri( &uplo, &n, Vi_mkl, &n, &info );
- if (info < 0) throw ("Error: invalid values found in the varaince-covaraince (V) matrix.\n");
- else if (info > 0) return false;
-@@ -405,7 +405,7 @@ bool gcta::comput_inverse_logdet_LU_mkl(eigenMatrix &V
- int LWORK = N*N;
- double *WORK = new double[n * n];
- int INFO;
-- dgetrf(&N, &N, Vi_mkl, &N, IPIV, &INFO);
-+ dgetrf_(&N, &N, Vi_mkl, &N, IPIV, &INFO);
- if (INFO < 0) throw ("Error: LU decomposition failed. Invalid values found in the matrix.\n");
- else if (INFO > 0) {
- delete[] Vi_mkl;
-@@ -418,7 +418,7 @@ bool gcta::comput_inverse_logdet_LU_mkl(eigenMatrix &V
- }
-
- // Calcualte V inverse
-- dgetri(&N, Vi_mkl, &N, IPIV, WORK, &LWORK, &INFO);
-+ dgetri_(&N, Vi_mkl, &N, IPIV, WORK, &LWORK, &INFO);
- if (INFO < 0) throw ("Error: invalid values found in the varaince-covaraince (V) matrix.\n");
- else if (INFO > 0) return false;
- else {
-@@ -453,7 +453,7 @@ bool gcta::comput_inverse_logdet_LU_mkl_array(int n, f
- int LWORK = N*N;
- double *WORK = new double[n * n];
- int INFO;
-- dgetrf(&N, &N, Vi_mkl, &N, IPIV, &INFO);
-+ dgetrf_(&N, &N, Vi_mkl, &N, IPIV, &INFO);
- if (INFO < 0) throw ("Error: LU decomposition failed. Invalid values found in the matrix.\n");
- else if (INFO > 0) {
- delete[] Vi_mkl;
-@@ -467,7 +467,7 @@ bool gcta::comput_inverse_logdet_LU_mkl_array(int n, f
- }
-
- // Calcualte V inverse
-- dgetri(&N, Vi_mkl, &N, IPIV, WORK, &LWORK, &INFO);
-+ dgetri_(&N, Vi_mkl, &N, IPIV, WORK, &LWORK, &INFO);
- if (INFO < 0) throw ("Error: invalid values found in the varaince-covaraince (V) matrix.\n");
- else if (INFO > 0) return (false); // Vi.diagonal()=Vi.diagonal().array()+Vi.diagonal().mean()*1e-3;
- else {
diff --git a/biology/gcta/files/patch-src_Geno.cpp b/biology/gcta/files/patch-src_Geno.cpp
new file mode 100644
index 000000000000..5b51b5533764
--- /dev/null
+++ b/biology/gcta/files/patch-src_Geno.cpp
@@ -0,0 +1,11 @@
+--- src/Geno.cpp.orig 2022-08-03 06:01:52 UTC
++++ src/Geno.cpp
+@@ -2948,7 +2948,7 @@ void Geno::bgen2bed(const vector<uint32_t> &raw_marker
+ }
+ //LOGGER.i(0, "MIDDLE: " + to_string(index) + "NUM_thread: " + to_string(omp_get_max_threads()));
+
+- #pragma omp ordered
++ // Conflict with previous on 2759 #pragma omp ordered
+ save_bed(buf, num_marker);
+ delete[] buf;
+ delete[] dec_data;
diff --git a/biology/gcta/files/patch-src_StatLib.cpp b/biology/gcta/files/patch-src_StatLib.cpp
new file mode 100644
index 000000000000..bde6badd351a
--- /dev/null
+++ b/biology/gcta/files/patch-src_StatLib.cpp
@@ -0,0 +1,19 @@
+--- src/StatLib.cpp.orig 2022-08-03 06:01:52 UTC
++++ src/StatLib.cpp
+@@ -1,3 +1,4 @@
++
+ /*
+ GCTA: a tool for Genome-wide Complex Trait Analysis
+
+@@ -117,8 +118,10 @@ namespace StatLib{
+ dormqr(&side, &t, &n, &n, &n, X, &lda, tau, c,
+ &lda, work, &lwork, &info);
+ #else
++ // OpenBLAS 0.3.25 requires a length argument. Is 1 the right value?
++ // Should all dormqr_() calls be patched?
+ dormqr_(&side, &t, &n, &n, &n, X, &lda, tau, c,
+- &lda, work, &lwork, &info);
++ &lda, work, &lwork, &info, 1, 1);
+ #endif
+ if(info != 0){
+ return false;
diff --git a/biology/gcta/files/patch-src_main.cpp b/biology/gcta/files/patch-src_main.cpp
new file mode 100644
index 000000000000..9c2db2b74814
--- /dev/null
+++ b/biology/gcta/files/patch-src_main.cpp
@@ -0,0 +1,11 @@
+--- src/main.cpp.orig 2023-10-13 13:46:01 UTC
++++ src/main.cpp
+@@ -226,7 +226,7 @@ int main(int argc, char *argv[]){
+
+ #ifdef _WIN32
+ _putenv_s("OMP_NUM_THREADS", to_string(thread_num).c_str());
+- #elif defined __linux__ || defined __APPLE__
++ #elif defined __FreeBSD__ || defined __linux__ || defined __APPLE__
+ setenv("OMP_NUM_THREADS", to_string(thread_num).c_str(), 1);
+ #else
+ #error Only Windows, Mac and Linux are supported.
diff --git a/biology/gcta/pkg-descr b/biology/gcta/pkg-descr
index e4933710da7b..6704dff92f83 100644
--- a/biology/gcta/pkg-descr
+++ b/biology/gcta/pkg-descr
@@ -1,7 +1,5 @@
-GCTA (Genome-wide Complex Trait Analysis) was originally designed to estimate
-the proportion of phenotypic variance explained by genome- or chromosome-wide
-SNPs for complex traits (the GREML method), and has subsequently extended for
-many other analyses to better understand the genetic architecture of complex
-traits.
-
-WWW: http://cnsgenomics.com/software/gcta/index.html
+GCTA (Genome-wide Complex Trait Analysis) was originally designed to
+estimate the proportion of phenotypic variance explained by genome- or
+chromosome-wide SNPs for complex traits (the GREML method), and has
+subsequently extended for many other analyses to better understand the
+genetic architecture of complex traits.
diff --git a/biology/gemma/Makefile b/biology/gemma/Makefile
index 1a4909a1bbf9..1bab682d681b 100644
--- a/biology/gemma/Makefile
+++ b/biology/gemma/Makefile
@@ -1,10 +1,11 @@
PORTNAME= gemma
DISTVERSION= 0.98.3
-PORTREVISION= 1
+PORTREVISION= 4
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Genome-wide Efficient Mixed Model Association
+WWW= https://github.com/genetics-statistics/GEMMA
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/biology/gemma/pkg-descr b/biology/gemma/pkg-descr
index c4f087bd11d8..9db7086ea489 100644
--- a/biology/gemma/pkg-descr
+++ b/biology/gemma/pkg-descr
@@ -1,5 +1,3 @@
GEMMA is a software toolkit for fast application of linear mixed models (LMMs)
and related models to genome-wide association studies (GWAS) and other
large-scale data sets.
-
-WWW: https://github.com/genetics-statistics/GEMMA
diff --git a/biology/generand/Makefile b/biology/generand/Makefile
index dc843a03fbc0..5d003f1d64f4 100644
--- a/biology/generand/Makefile
+++ b/biology/generand/Makefile
@@ -1,9 +1,11 @@
PORTNAME= generand
DISTVERSION= 0.1.2
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Generate random genomic data in FASTA/FASTQ, SAM, or VCF format
+WWW= https://github.com/auerlab/generand
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -11,6 +13,8 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
USE_GITHUB= yes
GH_ACCOUNT= auerlab
-PLIST_FILES= bin/generand man/man1/generand.1.gz
+MAKE_ARGS= MANPREFIX=${PREFIX}/share
+
+PLIST_FILES= bin/generand share/man/man1/generand.1.gz
.include <bsd.port.mk>
diff --git a/biology/generand/pkg-descr b/biology/generand/pkg-descr
index 9330d828888f..7de7deed616a 100644
--- a/biology/generand/pkg-descr
+++ b/biology/generand/pkg-descr
@@ -1,5 +1,3 @@
Generate random genomic data in FASTA/FASTQ, SAM, or VCF format, suitable for
small academic examples or test inputs of arbitrary size. Output can be piped
directly to programs or redirected to a file and edited to taste.
-
-WWW: https://github.com/auerlab/generand
diff --git a/biology/gff2ps/Makefile b/biology/gff2ps/Makefile
index 8b4eaefff8ad..604df87e432e 100644
--- a/biology/gff2ps/Makefile
+++ b/biology/gff2ps/Makefile
@@ -1,5 +1,3 @@
-# Created by: Camson Huynh <chuynh@biolateral.com.au>
-
PORTNAME= gff2ps
PORTVERSION= 0.98l
CATEGORIES= biology
@@ -7,8 +5,9 @@ MASTER_SITES= ftp://genome.crg.es/pub/gff_tools/gff2ps/ \
http://genome.crg.es/software/gfftools/gff2ps_docs/manual/:doc
DISTFILES= ${PORTNAME}_v${PORTVERSION}.gz
-MAINTAINER= egypcio@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Convert gff-formatted genomic data sets to PostScript
+WWW= https://genome.crg.es/software/gfftools/GFF2PS.html
LICENSE= GPLv2+
diff --git a/biology/gff2ps/pkg-descr b/biology/gff2ps/pkg-descr
index ab2374a01ad8..f1674a0793dc 100644
--- a/biology/gff2ps/pkg-descr
+++ b/biology/gff2ps/pkg-descr
@@ -2,5 +2,3 @@ gff2ps is a script program developed with the aim of converting
gff-formatted records into high quality one-dimensional plots in
PostScript. Such plots maybe useful for comparing genomic structures
and to visualizing outputs from genome annotation programs.
-
-WWW: http://genome.crg.es/software/gfftools/GFF2PS.html
diff --git a/biology/gffread/Makefile b/biology/gffread/Makefile
new file mode 100644
index 000000000000..4f9fb8666803
--- /dev/null
+++ b/biology/gffread/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= gffread
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.12.7
+CATEGORIES= biology
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= GFF/GTF format conversions, filtering, FASTA extraction, etc
+WWW= http://ccb.jhu.edu/software/stringtie/gff.shtml #gffread
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= gmake
+USE_GITHUB= yes
+
+GH_ACCOUNT= gpertea
+GH_TUPLE= gpertea:gclib:v${DISTVERSION}:gpertea/gclib
+
+INSTALL_TARGET= install-strip
+
+CONFLICTS_INSTALL= cufflinks
+
+PLIST_FILES= bin/gffread
+
+.include <bsd.port.mk>
diff --git a/biology/gffread/distinfo b/biology/gffread/distinfo
new file mode 100644
index 000000000000..14af8eee92bf
--- /dev/null
+++ b/biology/gffread/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1636511584
+SHA256 (gpertea-gffread-v0.12.7_GH0.tar.gz) = 6f3417090b3beb74f435bf5d462c87475b3c704a8a0d71821f6c1321c47dbbbe
+SIZE (gpertea-gffread-v0.12.7_GH0.tar.gz) = 403734
+SHA256 (gpertea-gclib-v0.12.7_GH0.tar.gz) = 9c74db64c4ee1fb93a6c02fa227258baafc337303f26ce3ba0cf37dfc1ba687f
+SIZE (gpertea-gclib-v0.12.7_GH0.tar.gz) = 259314
diff --git a/biology/gffread/files/patch-Makefile b/biology/gffread/files/patch-Makefile
new file mode 100644
index 000000000000..f78ea90049d9
--- /dev/null
+++ b/biology/gffread/files/patch-Makefile
@@ -0,0 +1,68 @@
+--- Makefile.orig 2021-07-23 14:21:36 UTC
++++ Makefile
+@@ -1,11 +1,11 @@
+-GCLDIR := $(if $(GCLDIR),$(GCLDIR),../gclib)
++GCLDIR := $(if $(GCLDIR),$(GCLDIR),gclib)
+
+ SEARCHDIRS := -I. -I${GCLDIR}
+
+ SYSTYPE := $(shell uname)
+
+ CXX := $(if $(CXX),$(CXX),g++)
+-LINKER := $(if $(LINKER),$(LINKER),g++)
++LINKER := $(if $(LINKER),$(LINKER),${CXX})
+
+ LDFLAGS := $(if $(LDFLAGS),$(LDFLAGS),-g)
+
+@@ -15,7 +15,7 @@ BASEFLAGS := -Wall -Wextra -std=c++11 ${SEARCHDIRS} -
+
+ GCCV8 := $(shell expr `${CXX} -dumpversion | cut -f1 -d.` \>= 8)
+ ifeq "$(GCCV8)" "1"
+- BASEFLAGS += -Wno-class-memaccess
++ # BASEFLAGS += -Wno-class-memaccess
+ endif
+
+ CXXFLAGS := $(if $(CXXFLAGS),$(BASEFLAGS) $(CXXFLAGS),$(BASEFLAGS))
+@@ -33,7 +33,7 @@ else #debug builds
+ LDFLAGS += -pg
+ else
+ #CXXFLAGS += -g -O0 -DNDEBUG
+- CXXFLAGS += -g -O0 -DDEBUG -D_DEBUG -DGDEBUG
++ #CXXFLAGS += -g -O0 -DDEBUG -D_DEBUG -DGDEBUG
+ endif
+ ifneq (,$(filter %memcheck %memdebug, $(MAKECMDGOALS)))
+ #use sanitizer in gcc 4.9+
+@@ -79,11 +79,8 @@ OBJS := ${GCLDIR}/GBase.o ${GCLDIR}/GArgs.o ${GCLDIR}/
+
+ .PHONY : all
+
+-all static release debug memcheck memdebug profile gprof prof: ../gclib gffread
++all static release debug memcheck memdebug profile gprof prof: ${GCLDIR} gffread
+
+-../gclib:
+- git clone https://github.com/gpertea/gclib.git ../gclib
+-
+ $(OBJS) : $(GCLDIR)/GBase.h $(GCLDIR)/gff.h
+ gffread.o : gff_utils.h $(GCLDIR)/GBase.h $(GCLDIR)/gff.h
+ gff_utils.o : gff_utils.h $(GCLDIR)/gff.h
+@@ -97,9 +94,19 @@ gffread: $(OBJS) gffread.o
+
+ # target for removing all object files
+
+-.PHONY : clean
++.PHONY : clean install install-strip
++
+ clean:
+ @${RM} gffread gffread.o* gffread.exe $(OBJS)
+ @${RM} core.*
+
++INSTALL ?= install
++STRIP ?= strip
++PREFIX ?= /usr/local
++DESTDIR ?= .
+
++install:
++ ${INSTALL} -c gffread ${DESTDIR}${PREFIX}/bin
++
++install-strip: install
++ ${STRIP} ${DESTDIR}${PREFIX}/bin/gffread
diff --git a/biology/gffread/pkg-descr b/biology/gffread/pkg-descr
new file mode 100644
index 000000000000..def9446aacb9
--- /dev/null
+++ b/biology/gffread/pkg-descr
@@ -0,0 +1,2 @@
+GFF/GTF utility providing format conversions, filtering, FASTA sequence
+extraction and more.
diff --git a/biology/gmap/Makefile b/biology/gmap/Makefile
index d00f461e151d..acde8f9f3f1c 100644
--- a/biology/gmap/Makefile
+++ b/biology/gmap/Makefile
@@ -1,5 +1,3 @@
-# Created by: Bob Zimmermann <rpz@cse.wustl.edu>
-
PORTNAME= gmap
PORTVERSION= 2020.09.12
CATEGORIES= biology
@@ -8,6 +6,7 @@ DISTNAME= ${PORTNAME}-gsnap-${PORTVERSION:C|\.|-|g}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Genomic Mapping and Alignment Program for mRNA and EST Sequences
+WWW= http://www.gene.com/share/gmap
LICENSE= GMAP
LICENSE_NAME= GMAP License
@@ -15,11 +14,13 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LICENSE_PERMS= dist-mirror pkg-mirror auto-accept
ONLY_FOR_ARCHS= amd64 i386 powerpc64le
-ONLY_FOR_ARCHS_REASON= Upstream supports only x86 and possibly POWER8
+ONLY_FOR_ARCHS_REASON= upstream supports only x86 and possibly POWER8
USES= gmake perl5
GNU_CONFIGURE= yes
+CONFLICTS_INSTALL= cpuid scotch # bin/cpuid bin/gmap
+
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:C|\.|-|g}
CFLAGS+= -fcommon
diff --git a/biology/gmap/pkg-descr b/biology/gmap/pkg-descr
index d09d51fed649..723229d591ae 100644
--- a/biology/gmap/pkg-descr
+++ b/biology/gmap/pkg-descr
@@ -8,5 +8,3 @@ Methodology underlying the program includes a minimal sampling
strategy for genomic mapping, oligomer chaining for approximate
alignment, sandwich DP for splice site detection, and microexon
identification with statistical significance testing.
-
-WWW: http://www.gene.com/share/gmap
diff --git a/biology/gperiodic/Makefile b/biology/gperiodic/Makefile
index 860c98d786da..64541d14b93d 100644
--- a/biology/gperiodic/Makefile
+++ b/biology/gperiodic/Makefile
@@ -1,13 +1,12 @@
-# Created by: Andrey Zakhvatov
-# $MCom: ports/biology/gperiodic/Makefile,v 1.1 2006/09/29 23:42:13 ahze Exp $
-
PORTNAME= gperiodic
PORTVERSION= 3.0.3
+PORTREVISION= 1
CATEGORIES= biology
MASTER_SITES= SF/${PORTNAME}
MAINTAINER= ports@FreeBSD.org
COMMENT= Displays a periodic table of the elements
+WWW= https://sourceforge.net/projects/gperiodic/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/gpl.txt
diff --git a/biology/gperiodic/pkg-descr b/biology/gperiodic/pkg-descr
index c55a21b175b2..1b658ccd0e5e 100644
--- a/biology/gperiodic/pkg-descr
+++ b/biology/gperiodic/pkg-descr
@@ -1,5 +1,3 @@
Gperiodic displays a periodic table of the elements, allowing you to
browse through the elements, and view detailed information about each
element.
-
-WWW: https://sourceforge.net/projects/gperiodic/
diff --git a/biology/graphlan/Makefile b/biology/graphlan/Makefile
index 3ff4720566ab..2b25b1d1f996 100644
--- a/biology/graphlan/Makefile
+++ b/biology/graphlan/Makefile
@@ -11,6 +11,7 @@ DISTFILES= ${PORTNAME}-v${DISTVERSION}-${BB_COMMIT}${EXTRACT_SUFX} \
MAINTAINER= yuri@FreeBSD.org
COMMENT= High-quality circular representations of taxonomic, phylogenetic trees
+WWW= https://bitbucket.org/nsegata/graphlan/wiki/Home
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/license.txt
diff --git a/biology/graphlan/pkg-descr b/biology/graphlan/pkg-descr
index 63604b32715c..21a7612d8fd7 100644
--- a/biology/graphlan/pkg-descr
+++ b/biology/graphlan/pkg-descr
@@ -2,5 +2,3 @@ GraPhlAn is a software tool for producing high-quality circular representations
of taxonomic and phylogenetic trees. GraPhlAn focuses on concise, integrative,
informative, and publication-ready representations of phylogenetically- and
taxonomically-driven investigation.
-
-WWW: https://bitbucket.org/nsegata/graphlan/wiki/Home
diff --git a/biology/groopm/Makefile b/biology/groopm/Makefile
index 9a9b4ce69b9b..9e690ab7d789 100644
--- a/biology/groopm/Makefile
+++ b/biology/groopm/Makefile
@@ -1,11 +1,12 @@
PORTNAME= GroopM
DISTVERSION= 0.3.4
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
MAINTAINER= yuri@FreeBSD.org
COMMENT= Metagenomic binning suite
+WWW= https://ecogenomics.github.io/GroopM/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
@@ -15,7 +16,7 @@ RUN_DEPENDS= ${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}scipy>=0.10.1:science/py-scipy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tables>=2.3:devel/py-tables@${PY_FLAVOR}
-USES= python:3.7+
+USES= python
USE_PYTHON= distutils noflavors autoplist
NO_ARCH= yes
diff --git a/biology/groopm/files/patch-2to3 b/biology/groopm/files/patch-2to3
new file mode 100644
index 000000000000..365000a5d096
--- /dev/null
+++ b/biology/groopm/files/patch-2to3
@@ -0,0 +1,3414 @@
+--- groopm/PCA.py.orig 2014-11-26 01:01:33 UTC
++++ groopm/PCA.py
+@@ -79,7 +79,7 @@ class PCA:
+ try:
+ self.sumvariance /= self.sumvariance[-1]
+ except:
+- print len(A), len(self.sumvariance), len(self.eigen)
++ print(len(A), len(self.sumvariance), len(self.eigen))
+ raise
+
+ self.npc = np.searchsorted( self.sumvariance, fraction ) + 1
+@@ -127,13 +127,13 @@ class Center:
+ def __init__( self, A, axis=0, scale=True, verbose=1 ):
+ self.mean = A.mean(axis=axis)
+ if verbose:
+- print "Center -= A.mean:", self.mean
++ print("Center -= A.mean:", self.mean)
+ A -= self.mean
+ if scale:
+ std = A.std(axis=axis)
+ self.std = np.where( std, std, 1. )
+ if verbose:
+- print "Center /= A.std:", self.std
++ print("Center /= A.std:", self.std)
+ A /= self.std
+ else:
+ self.std = np.ones( A.shape[-1] )
+--- groopm/bin.py.orig 2015-03-06 07:01:36 UTC
++++ groopm/bin.py
+@@ -59,8 +59,8 @@ from numpy import (around as np_around,
+ median as np_median,
+ std as np_std)
+
+-from ellipsoid import EllipsoidTool
+-from groopmExceptions import ModeNotAppropriateException
++from .ellipsoid import EllipsoidTool
++from .groopmExceptions import ModeNotAppropriateException
+
+ np.seterr(all='raise')
+
+@@ -155,7 +155,7 @@ class Bin:
+ """Combine the contigs of another bin with this one"""
+ # consume all the other bins rowIndices
+ if(verbose):
+- print " BIN:",deadBin.id,"will be consumed by BIN:",self.id
++ print(" BIN:",deadBin.id,"will be consumed by BIN:",self.id)
+ self.rowIndices = np.concatenate([self.rowIndices, deadBin.rowIndices])
+ self.binSize = self.rowIndices.shape[0]
+
+@@ -326,7 +326,7 @@ class Bin:
+ try:
+ return ET.getMinVolEllipse(bin_points, retA=retA)
+ except:
+- print bin_points
++ print(bin_points)
+ raise
+ else: # minimum bounding ellipse of a point is 0
+ if retA:
+@@ -474,13 +474,13 @@ class Bin:
+ fig.set_size_inches(10,4)
+ plt.savefig(fileName,dpi=300)
+ except:
+- print "Error saving image:", fileName, sys.exc_info()[0]
++ print("Error saving image:", fileName, sys.exc_info()[0])
+ raise
+ else:
+ try:
+ plt.show()
+ except:
+- print "Error showing image:", sys.exc_info()[0]
++ print("Error showing image:", sys.exc_info()[0])
+ raise
+ del fig
+
+@@ -504,13 +504,13 @@ class Bin:
+ fig.set_size_inches(6,6)
+ plt.savefig(fileName+".png",dpi=300)
+ except:
+- print "Error saving image:", fileName, sys.exc_info()[0]
++ print("Error saving image:", fileName, sys.exc_info()[0])
+ raise
+ elif(show):
+ try:
+ plt.show()
+ except:
+- print "Error showing image:", sys.exc_info()[0]
++ print("Error showing image:", sys.exc_info()[0])
+ raise
+ plt.close(fig)
+ del fig
+@@ -636,8 +636,8 @@ class Bin:
+
+ If you pass through an EllipsoidTool then it will plot the minimum bounding ellipse as well!
+ """
+- disp_vals = np.array(zip([kPCA1[i] for i in self.rowIndices],
+- [kPCA2[i] for i in self.rowIndices]))
++ disp_vals = np.array(list(zip([kPCA1[i] for i in self.rowIndices],
++ [kPCA2[i] for i in self.rowIndices])))
+ disp_lens = np.array([np.sqrt(contigLengths[i]) for i in self.rowIndices])
+
+ # reshape
+@@ -695,7 +695,7 @@ class Bin:
+ data = [str(self.id), str(isLikelyChimeric[self.id]), str(self.totalBP), str(self.binSize), gcm_str, gcs_str]
+ cov_mean = np.mean(covProfiles[self.rowIndices], axis=0)
+ cov_std = np.std(covProfiles[self.rowIndices], axis=0)
+- for i in xrange(0, len(cov_mean)):
++ for i in range(0, len(cov_mean)):
+ data.append('%.4f' % cov_mean[i])
+ data.append('%.4f' % cov_std[i])
+ stream.write(separator.join(data)+"\n")
+--- groopm/binManager.py.orig 2015-03-06 07:02:49 UTC
++++ groopm/binManager.py
+@@ -85,11 +85,11 @@ from scipy.stats import f_oneway, distributions
+ from scipy.cluster.vq import kmeans,vq
+
+ # GroopM imports
+-from profileManager import ProfileManager
+-from bin import Bin, mungeCbar
+-import groopmExceptions as ge
+-from groopmUtils import makeSurePathExists
+-from ellipsoid import EllipsoidTool
++from .profileManager import ProfileManager
++from .bin import Bin, mungeCbar
++from . import groopmExceptions as ge
++from .groopmUtils import makeSurePathExists
++from .ellipsoid import EllipsoidTool
+
+ np_seterr(all='raise')
+
+@@ -182,15 +182,15 @@ class BinManager:
+ if self.PM.numStoits == 3:
+ self.PM.transformedCP = self.PM.covProfiles
+ else:
+- print "Number of stoits != 3. You need to transform"
++ print("Number of stoits != 3. You need to transform")
+ self.PM.transformCP(timer, silent=silent)
+ if not silent:
+- print " Making bin objects"
++ print(" Making bin objects")
+ self.makeBins(self.getBinMembers())
+ if not silent:
+- print " Loaded %d bins from database" % len(self.bins)
++ print(" Loaded %d bins from database" % len(self.bins))
+ if not silent:
+- print " %s" % timer.getTimeStamp()
++ print(" %s" % timer.getTimeStamp())
+ sys_stdout.flush()
+
+ def getBinMembers(self):
+@@ -210,7 +210,7 @@ class BinManager:
+
+ # we need to get the largest BinId in use
+ if len(bin_members) > 0:
+- self.nextFreeBinId = np_max(bin_members.keys())
++ self.nextFreeBinId = np_max(list(bin_members.keys()))
+ return bin_members
+
+ def makeBins(self, binMembers, zeroIsBin=False):
+@@ -224,8 +224,8 @@ class BinManager:
+ self.bins[bid] = Bin(np_array(binMembers[bid]), bid, self.PM.scaleFactor-1)
+ self.bins[bid].makeBinDist(self.PM.transformedCP, self.PM.averageCoverages, self.PM.kmerNormPC1, self.PM.kmerPCs, self.PM.contigGCs, self.PM.contigLengths)
+ if len(invalid_bids) != 0:
+- print "MT bins!"
+- print invalid_bids
++ print("MT bins!")
++ print(invalid_bids)
+ exit(-1)
+
+ def saveBins(self, binAssignments={}, nuke=False):
+@@ -384,7 +384,7 @@ class BinManager:
+ all_links[key] = links[link]
+
+ # sort and return
+- return sorted(all_links.iteritems(), key=itemgetter(1), reverse=True)
++ return sorted(iter(all_links.items()), key=itemgetter(1), reverse=True)
+
+ def getWithinLinkProfiles(self):
+ """Determine the average number of links between contigs for all bins"""
+@@ -468,7 +468,7 @@ class BinManager:
+ (bin_assignment_update, bids) = self.getSplitties(bid, n, mode)
+
+ if(auto and saveBins):
+- print 'here!!!!'
++ print('here!!!!')
+ # charge on through
+ self.deleteBins([bids[0]], force=True) # delete the combined bin
+ # save new bins
+@@ -536,12 +536,12 @@ class BinManager:
+ parts = 0
+ while(not_got_parts):
+ try:
+- parts = int(raw_input("Enter new number of parts:"))
++ parts = int(input("Enter new number of parts:"))
+ except ValueError:
+- print "You need to enter an integer value!"
++ print("You need to enter an integer value!")
+ parts = 0
+ if(1 == parts):
+- print "Don't be a silly sausage!"
++ print("Don't be a silly sausage!")
+ elif(0 != parts):
+ not_got_parts = False
+ self.split(bid,
+@@ -664,7 +664,7 @@ class BinManager:
+ F_cutoff = distributions.f.ppf(confidence, 2, len(dist1)+len(dist2)-2)
+ F_value = f_oneway(dist1,dist2)[0]
+ if tag != "":
+- print "%s [V: %f, C: %f]" % (tag, F_value, F_cutoff)
++ print("%s [V: %f, C: %f]" % (tag, F_value, F_cutoff))
+ return F_value < F_cutoff
+
+ def merge(self, bids, auto=False, manual=False, newBid=False, saveBins=False, verbose=False, printInstructions=True, use_elipses=True):
+@@ -715,11 +715,11 @@ class BinManager:
+ self.deleteBins([tmp_bin.id], force=True)
+ user_option = self.promptOnMerge(bids=[parent_bin.id,dead_bin.id])
+ if(user_option == "N"):
+- print "Merge skipped"
++ print("Merge skipped")
+ ret_val = 1
+ continue_merge=False
+ elif(user_option == "Q"):
+- print "All mergers skipped"
++ print("All mergers skipped")
+ return 0
+ else:
+ ret_val = 2
+@@ -799,7 +799,7 @@ class BinManager:
+ try:
+ del self.PM.binnedRowIndices[row_index]
+ except KeyError:
+- print bid, row_index, "FUNG"
++ print(bid, row_index, "FUNG")
+ self.PM.binIds[row_index] = 0
+
+ bin_assignment_update[row_index] = 0
+@@ -826,7 +826,7 @@ class BinManager:
+ # UI
+
+ def printMergeInstructions(self):
+- raw_input( "****************************************************************\n"
++ input( "****************************************************************\n"
+ " MERGING INSTRUCTIONS - PLEASE READ CAREFULLY\n"
+ "****************************************************************\n"
+ " The computer cannot always be trusted to perform bin mergers\n"
+@@ -836,10 +836,10 @@ class BinManager:
+ " to continue with the merging operation.\n"
+ " The image on the far right shows the bins after merging\n"
+ " Press any key to produce plots...")
+- print "****************************************************************"
++ print("****************************************************************")
+
+ def printSplitInstructions(self):
+- raw_input( "****************************************************************\n"
++ input( "****************************************************************\n"
+ " SPLITTING INSTRUCTIONS - PLEASE READ CAREFULLY\n"
+ "****************************************************************\n"
+ " The computer cannot always be trusted to perform bin splits\n"
+@@ -848,7 +848,7 @@ class BinManager:
+ " be split. Look carefully at each plot and then close the plot\n"
+ " to continue with the splitting operation.\n\n"
+ " Press any key to produce plots...")
+- print "****************************************************************"
++ print("****************************************************************")
+
+ def getPlotterMergeIds(self):
+ """Prompt the user for ids to be merged and check that it's all good"""
+@@ -856,7 +856,7 @@ class BinManager:
+ ret_bids = []
+ while(input_not_ok):
+ ret_bids = []
+- option = raw_input("Please enter 'space' separated bin Ids or 'q' to quit: ")
++ option = input("Please enter 'space' separated bin Ids or 'q' to quit: ")
+ if(option.upper() == 'Q'):
+ return []
+ bids = option.split(" ")
+@@ -866,13 +866,13 @@ class BinManager:
+ i_bid = int(bid)
+ # check that it's in the bins list
+ if(i_bid not in self.bins):
+- print "**Error: bin",bid,"not found"
++ print("**Error: bin",bid,"not found")
+ input_not_ok = True
+ break
+ input_not_ok = False
+ ret_bids.append(i_bid)
+ except ValueError:
+- print "**Error: invalid value:", bid
++ print("**Error: invalid value:", bid)
+ input_not_ok = True
+ break
+ return ret_bids
+@@ -889,19 +889,19 @@ class BinManager:
+ bin_str += " and "+str(bids[i])
+ while(input_not_ok):
+ if(minimal):
+- option = raw_input(" Merge? ("+vrs+") : ")
++ option = input(" Merge? ("+vrs+") : ")
+ else:
+- option = raw_input(" ****WARNING**** About to merge bins"+bin_str+"\n" \
++ option = input(" ****WARNING**** About to merge bins"+bin_str+"\n" \
+ " If you continue you *WILL* overwrite existing bins!\n" \
+ " You have been shown a 3d plot of the bins to be merged.\n" \
+ " Continue only if you're sure this is what you want to do!\n" \
+ " y = yes, n = no, q = no and quit merging\n" \
+ " Merge? ("+vrs+") : ")
+ if(option.upper() in valid_responses):
+- print "****************************************************************"
++ print("****************************************************************")
+ return option.upper()
+ else:
+- print "Error, unrecognised choice '"+option.upper()+"'"
++ print("Error, unrecognised choice '"+option.upper()+"'")
+ minimal = True
+
+ def promptOnSplit(self, parts, mode, minimal=False):
+@@ -911,9 +911,9 @@ class BinManager:
+ vrs = ",".join([str.lower(str(x)) for x in valid_responses])
+ while(input_not_ok):
+ if(minimal):
+- option = raw_input(" Split? ("+vrs+") : ")
++ option = input(" Split? ("+vrs+") : ")
+ else:
+- option = raw_input(" ****WARNING**** About to split bin into "+str(parts)+" parts\n" \
++ option = input(" ****WARNING**** About to split bin into "+str(parts)+" parts\n" \
+ " If you continue you *WILL* overwrite existing bins!\n" \
+ " You have been shown a 3d plot of the bin after splitting.\n" \
+ " Continue only if you're sure this is what you want to do!\n" \
+@@ -923,13 +923,13 @@ class BinManager:
+ " Split? ("+vrs+") : ")
+ if(option.upper() in valid_responses):
+ if(option.upper() == 'K' and mode.upper() == 'KMER' or option.upper() == 'C' and mode.upper() == 'COV' or option.upper() == 'L' and mode.upper() == 'LEN'):
+- print "Error, you are already using that profile to split!"
++ print("Error, you are already using that profile to split!")
+ minimal=True
+ else:
+- print "****************************************************************"
++ print("****************************************************************")
+ return option.upper()
+ else:
+- print "Error, unrecognised choice '"+option.upper()+"'"
++ print("Error, unrecognised choice '"+option.upper()+"'")
+ minimal = True
+
+ def promptOnDelete(self, bids, minimal=False):
+@@ -940,19 +940,19 @@ class BinManager:
+ bids_str = ",".join([str.lower(str(x)) for x in bids])
+ while(input_not_ok):
+ if(minimal):
+- option = raw_input(" Delete? ("+vrs+") : ")
++ option = input(" Delete? ("+vrs+") : ")
+ else:
+- option = raw_input(" ****WARNING**** About to delete bin(s):\n" \
++ option = input(" ****WARNING**** About to delete bin(s):\n" \
+ " "+bids_str+"\n" \
+ " If you continue you *WILL* overwrite existing bins!\n" \
+ " Continue only if you're sure this is what you want to do!\n" \
+ " y = yes, n = no\n"\
+ " Delete? ("+vrs+") : ")
+ if(option.upper() in valid_responses):
+- print "****************************************************************"
++ print("****************************************************************")
+ return option.upper()
+ else:
+- print "Error, unrecognised choice '"+option.upper()+"'"
++ print("Error, unrecognised choice '"+option.upper()+"'")
+ minimal = True
+
+ #------------------------------------------------------------------------------
+@@ -1039,10 +1039,10 @@ class BinManager:
+
+ # find the mean and stdev
+ if(not makeKillList):
+- return (np_mean(np_array(Ms.values())), np_std(np_array(Ms.values())), np_median(np_array(Ss.values())), np_std(np_array(Ss.values())))
++ return (np_mean(np_array(list(Ms.values()))), np_std(np_array(list(Ms.values()))), np_median(np_array(list(Ss.values()))), np_std(np_array(list(Ss.values()))))
+
+ else:
+- cutoff = np_mean(np_array(Ms.values())) + tolerance * np_std(np_array(Ms.values()))
++ cutoff = np_mean(np_array(list(Ms.values()))) + tolerance * np_std(np_array(list(Ms.values())))
+ kill_list = []
+ for bid in Ms:
+ if(Ms[bid] > cutoff):
+@@ -1054,7 +1054,7 @@ class BinManager:
+
+ return a list of potentially confounding kmer indices
+ """
+- print " Measuring kmer type variances"
++ print(" Measuring kmer type variances")
+ means = np_array([])
+ stdevs = np_array([])
+ bids = np_array([])
+@@ -1094,12 +1094,12 @@ class BinManager:
+ return_indices.append(sort_within_indices[i])
+
+ if(plot):
+- print "BETWEEN"
++ print("BETWEEN")
+ for i in range(0,number_to_trim):
+- print names[sort_between_indices[i]]
+- print "WITHIN"
++ print(names[sort_between_indices[i]])
++ print("WITHIN")
+ for i in range(0,number_to_trim):
+- print names[sort_within_indices[i]]
++ print(names[sort_within_indices[i]])
+
+ plt.figure(1)
+ plt.subplot(211)
+@@ -1126,7 +1126,7 @@ class BinManager:
+ stdout = open(fileName, 'w')
+ self.printInner(outFormat, stdout)
+ except:
+- print "Error diverting stout to file:", fileName, exc_info()[0]
++ print("Error diverting stout to file:", fileName, exc_info()[0])
+ raise
+ else:
+ self.printInner(outFormat)
+@@ -1139,14 +1139,14 @@ class BinManager:
+ stream.write(separator.join(["#\"bid\"","\"cid\"","\"length\"","\"GC\""])+"\n")
+ elif(outFormat == 'bins'):
+ header = ["\"bin id\"","\"Likely chimeric\"","\"length (bp)\"","\"# seqs\"","\"GC mean\"","\"GC std\""]
+- for i in xrange(0, len(self.PM.covProfiles[0])):
++ for i in range(0, len(self.PM.covProfiles[0])):
+ header.append("\"Coverage " + str(i+1) + " mean\"")
+ header.append("\"Coverage " + str(i+1) + " std\"")
+ stream.write(separator.join(header) + "\n")
+ elif(outFormat == 'full'):
+ pass
+ else:
+- print "Error: Unrecognised format:", outFormat
++ print("Error: Unrecognised format:", outFormat)
+ return
+
+ for bid in self.getBids():
+@@ -1224,13 +1224,13 @@ class BinManager:
+ try:
+ plt.savefig(fileName,dpi=300)
+ except:
+- print "Error saving image:", fileName, exc_info()[0]
++ print("Error saving image:", fileName, exc_info()[0])
+ raise
+ else:
+ try:
+ plt.show()
+ except:
+- print "Error showing image:", exc_info()[0]
++ print("Error showing image:", exc_info()[0])
+ raise
+
+ plt.close(fig)
+@@ -1344,7 +1344,7 @@ class BinManager:
+ try:
+ plt.show()
+ except:
+- print "Error showing image:", exc_info()[0]
++ print("Error showing image:", exc_info()[0])
+ raise
+
+ plt.close(fig)
+@@ -1369,10 +1369,10 @@ class BinManager:
+ self.bins[bid].makeBinDist(self.PM.transformedCP, self.PM.averageCoverages, self.PM.kmerNormPC1, self.PM.kmerPCs, self.PM.contigGCs, self.PM.contigLengths)
+
+ if(sideBySide):
+- print "Plotting side by side"
+- self.plotSideBySide(self.bins.keys(), tag=FNPrefix, ignoreContigLengths=ignoreContigLengths)
++ print("Plotting side by side")
++ self.plotSideBySide(list(self.bins.keys()), tag=FNPrefix, ignoreContigLengths=ignoreContigLengths)
+ else:
+- print "Plotting bins"
++ print("Plotting bins")
+ for bid in self.getBids():
+ if folder != '':
+ self.bins[bid].plotBin(self.PM.transformedCP, self.PM.contigGCs, self.PM.kmerNormPC1,
+@@ -1387,7 +1387,7 @@ class BinManager:
+ def plotBinCoverage(self, plotEllipses=False, plotContigLengs=False, printID=False):
+ """Make plots of all the bins"""
+
+- print "Plotting first 3 stoits in untransformed coverage space"
++ print("Plotting first 3 stoits in untransformed coverage space")
+
+ # plot contigs in coverage space
+ fig = plt.figure()
+@@ -1452,7 +1452,7 @@ class BinManager:
+ plt.show()
+ plt.close(fig)
+ except:
+- print "Error showing image", exc_info()[0]
++ print("Error showing image", exc_info()[0])
+ raise
+
+ del fig
+@@ -1504,13 +1504,13 @@ class BinManager:
+ fig.set_size_inches(12,6)
+ plt.savefig(fileName,dpi=300)
+ except:
+- print "Error saving image:", fileName, exc_info()[0]
++ print("Error saving image:", fileName, exc_info()[0])
+ raise
+ elif(show):
+ try:
+ plt.show()
+ except:
+- print "Error showing image:", exc_info()[0]
++ print("Error showing image:", exc_info()[0])
+ raise
+ plt.close(fig)
+ del fig
+@@ -1554,7 +1554,7 @@ class BinManager:
+ plt.show()
+ plt.close(fig)
+ except:
+- print "Error showing image", exc_info()[0]
++ print("Error showing image", exc_info()[0])
+ raise
+ del fig
+
+@@ -1563,7 +1563,7 @@ class BinManager:
+ (bin_centroid_points, _bin_centroid_colors, bin_centroid_gc, _bids) = self.findCoreCentres(processChimeric=showChimeric)
+ fig = plt.figure()
+ ax = fig.add_subplot(111, projection='3d')
+- print bin_centroid_gc
++ print(bin_centroid_gc)
+ sc = ax.scatter(bin_centroid_points[:,0], bin_centroid_points[:,1], bin_centroid_points[:,2], edgecolors='k', c=bin_centroid_gc, cmap=self.PM.colorMapGC, vmin=0.0, vmax=1.0)
+ sc.set_edgecolors = sc.set_facecolors = lambda *args:None # disable depth transparency effect
+
+@@ -1588,7 +1588,7 @@ class BinManager:
+ plt.show()
+ plt.close(fig)
+ except:
+- print "Error showing image", exc_info()[0]
++ print("Error showing image", exc_info()[0])
+ raise
+ del fig
+
+--- groopm/cluster.py.orig 2015-03-06 04:42:51 UTC
++++ groopm/cluster.py
+@@ -95,11 +95,11 @@ from scipy.spatial.distance import pdist, squareform,
+ from scipy.misc import imsave
+
+ # GroopM imports
+-from profileManager import ProfileManager
+-from binManager import BinManager
+-from refine import GrubbsTester, RefineEngine
+-from PCA import PCA, Center
+-from groopmExceptions import BinNotFoundException
++from .profileManager import ProfileManager
++from .binManager import BinManager
++from .refine import GrubbsTester, RefineEngine
++from .PCA import PCA, Center
++from .groopmExceptions import BinNotFoundException
+
+ np_seterr(all='raise')
+
+@@ -160,22 +160,22 @@ class ClusterEngine:
+ vrs = ",".join([str.lower(str(x)) for x in valid_responses])
+ while(input_not_ok):
+ if(minimal):
+- option = raw_input(" Overwrite? ("+vrs+") : ")
++ option = input(" Overwrite? ("+vrs+") : ")
+ else:
+- option = raw_input(" ****WARNING**** Database: '"+self.PM.dbFileName+"' has already been clustered.\n" \
++ option = input(" ****WARNING**** Database: '"+self.PM.dbFileName+"' has already been clustered.\n" \
+ " If you continue you *MAY* overwrite existing bins!\n" \
+ " Overwrite? ("+vrs+") : ")
+ if(option.upper() in valid_responses):
+- print "****************************************************************"
++ print("****************************************************************")
+ if(option.upper() == "N"):
+- print "Operation cancelled"
++ print("Operation cancelled")
+ return False
+ else:
+ break
+ else:
+- print "Error, unrecognised choice '"+option.upper()+"'"
++ print("Error, unrecognised choice '"+option.upper()+"'")
+ minimal = True
+- print "Will Overwrite database",self.PM.dbFileName
++ print("Will Overwrite database",self.PM.dbFileName)
+ return True
+
+ #------------------------------------------------------------------------------
+@@ -189,10 +189,10 @@ class ClusterEngine:
+
+ # get some data
+ self.PM.loadData(self.timer, "length >= "+str(coreCut))
+- print " %s" % self.timer.getTimeStamp()
++ print(" %s" % self.timer.getTimeStamp())
+
+ # transform the data
+- print " Loading transformed data"
++ print(" Loading transformed data")
+ self.PM.transformCP(self.timer)
+ # plot the transformed space (if we've been asked to...)
+ #if(self.debugPlots >= 3):
+@@ -201,15 +201,15 @@ class ClusterEngine:
+ # now we can make this guy
+ self.TSpan = np_mean([np_norm(self.PM.corners[i] - self.PM.TCentre) for i in range(self.PM.numStoits)])
+
+- print " %s" % self.timer.getTimeStamp()
++ print(" %s" % self.timer.getTimeStamp())
+
+ # cluster and bin!
+- print "Create cores"
++ print("Create cores")
+ self.initialiseCores(kmerThreshold, coverageThreshold)
+- print " %s" % self.timer.getTimeStamp()
++ print(" %s" % self.timer.getTimeStamp())
+
+ # condense cores
+- print "Refine cores [begin: %d]" % len(self.BM.bins)
++ print("Refine cores [begin: %d]" % len(self.BM.bins))
+ if self.finalPlot:
+ prfx = "CORE"
+ else:
+@@ -217,9 +217,9 @@ class ClusterEngine:
+ self.RE.refineBins(self.timer, auto=True, saveBins=False, plotFinal=prfx, gf=gf)
+
+ # Now save all the stuff to disk!
+- print "Saving bins"
++ print("Saving bins")
+ self.BM.saveBins(nuke=True)
+- print " %s" % self.timer.getTimeStamp()
++ print(" %s" % self.timer.getTimeStamp())
+
+ def initialiseCores(self, kmerThreshold, coverageThreshold):
+ """Process contigs and form CORE bins"""
+@@ -230,8 +230,8 @@ class ClusterEngine:
+ # We can make a heat map and look for hot spots
+ self.populateImageMaps()
+ sub_counter = 0
+- print " .... .... .... .... .... .... .... .... .... ...."
+- print "%4d" % sub_counter,
++ print(" .... .... .... .... .... .... .... .... .... ....")
++ print("%4d" % sub_counter, end=' ')
+ new_line_counter = 0
+ num_bins = 0
+
+@@ -303,13 +303,13 @@ class ClusterEngine:
+ self.updatePostBin(bin)
+
+ new_line_counter += 1
+- print "% 4d" % bin.binSize,
++ print("% 4d" % bin.binSize, end=' ')
+
+ # make the printing prettier
+ if(new_line_counter > 9):
+ new_line_counter = 0
+ sub_counter += 10
+- print "\n%4d" % sub_counter,
++ print("\n%4d" % sub_counter, end=' ')
+
+ if(self.debugPlots >= 1):
+ #***slow plot!
+@@ -317,7 +317,7 @@ class ClusterEngine:
+
+ except BinNotFoundException: pass
+
+- print "\n .... .... .... .... .... .... .... .... .... ...."
++ print("\n .... .... .... .... .... .... .... .... .... ....")
+
+ def findNewClusterCenters(self, kmerThreshold, coverageThreshold):
+ """Find a putative cluster"""
+@@ -498,32 +498,32 @@ class ClusterEngine:
+ k_dist_matrix = squareform(pdist(k_dat, 'cityblock'))
+ k_radius = np_median(np_sort(k_dist_matrix)[:,eps_neighbours])
+ except MemoryError:
+- print "\n"
+- print '*******************************************************************************'
+- print '********************************* ERROR *********************************'
+- print '*******************************************************************************'
+- print 'GroopM is attempting to do some maths on a putative bin which contains:'
+- print
+- print '\t\t%d contigs' % (len(rowIndices))
+- print
+- print 'This has caused your machine to run out of memory.'
+- print 'The most likely cause is that your samples are very different from each other.'
+- print 'You can confirm this by running:'
+- print
+- print '\t\tgroopm explore -m allcontigs %s' % self.PM.dbFileName
+- print
+- print 'If you notice only vertical "spears" of contigs at the corners of the plot then'
+- print 'this means that your samples are very different and you are not getting a good'
+- print 'mapping from all samples to all contigs. You may get more mileage by assembling'
+- print 'and binning your samples separately.'
+- print
+- print 'If you notice "clouds" of contigs then congratulations! You have found a bug.'
+- print 'Please let me know at "%s or via github.com/minillinim/GroopM' % __email__
+- print
+- print 'GroopM is aborting... sorry'
+- print
+- print '*******************************************************************************'
+- print "\n"
++ print("\n")
++ print('*******************************************************************************')
++ print('********************************* ERROR *********************************')
++ print('*******************************************************************************')
++ print('GroopM is attempting to do some maths on a putative bin which contains:')
++ print()
++ print('\t\t%d contigs' % (len(rowIndices)))
++ print()
++ print('This has caused your machine to run out of memory.')
++ print('The most likely cause is that your samples are very different from each other.')
++ print('You can confirm this by running:')
++ print()
++ print('\t\tgroopm explore -m allcontigs %s' % self.PM.dbFileName)
++ print()
++ print('If you notice only vertical "spears" of contigs at the corners of the plot then')
++ print('this means that your samples are very different and you are not getting a good')
++ print('mapping from all samples to all contigs. You may get more mileage by assembling')
++ print('and binning your samples separately.')
++ print()
++ print('If you notice "clouds" of contigs then congratulations! You have found a bug.')
++ print('Please let me know at "%s or via github.com/minillinim/GroopM' % __email__)
++ print()
++ print('GroopM is aborting... sorry')
++ print()
++ print('*******************************************************************************')
++ print("\n")
+ exit(-1)
+
+ # find nearest neighbours to each point in whitened coverage space,
+@@ -1341,7 +1341,7 @@ class HoughPartitioner:
+ diffs *= (len(diffs)-1)
+
+ # make it 2D
+- t_data = np_array(zip(diffs, np_arange(d_len)))
++ t_data = np_array(list(zip(diffs, np_arange(d_len))))
+ ###MMM FIX
+ #im_shape = (int(np_max(t_data, axis=0)[0]+1), d_len)
+ im_shape = (d_len, d_len)
+@@ -1532,7 +1532,7 @@ class HoughPartitioner:
+ if imgTag is not None:
+ # make a pretty picture
+ fff = np_ones(imShape) * 255
+- for p in found_line.keys():
++ for p in list(found_line.keys()):
+ fff[p[0],p[1]] = 220
+ for p in tData:
+ fff[p[0],p[1]] = 0
+@@ -1573,7 +1573,7 @@ class HoughPartitioner:
+ if real_index not in assigned:
+ tmp[real_index] = None
+ assigned[real_index] = None
+- centre = np_array(tmp.keys())
++ centre = np_array(list(tmp.keys()))
+ if len(centre) > 0:
+ return np_array([centre])
+ # nuffin
+@@ -1593,7 +1593,7 @@ class HoughPartitioner:
+ if real_index not in assigned:
+ tmp[real_index] = None
+ assigned[real_index] = None
+- centre = np_array(tmp.keys())
++ centre = np_array(list(tmp.keys()))
+
+ rets = []
+
+@@ -1609,8 +1609,8 @@ class HoughPartitioner:
+ tmp[real_index] = None
+ assigned[real_index] = None
+
+- if len(tmp.keys()) > 0:
+- rets.append(np_array(tmp.keys()))
++ if len(list(tmp.keys())) > 0:
++ rets.append(np_array(list(tmp.keys())))
+
+ else:
+ # otherwise we keep working with ranges
+@@ -1643,8 +1643,8 @@ class HoughPartitioner:
+ tmp[real_index] = None
+ assigned[real_index] = None
+
+- if len(tmp.keys()) > 0:
+- rets.append(np_array(tmp.keys()))
++ if len(list(tmp.keys())) > 0:
++ rets.append(np_array(list(tmp.keys())))
+ else:
+ right_p = self.recursiveSelect(tData,
+ imShape,
+@@ -1723,40 +1723,40 @@ class HoughPartitioner:
+ iry = half_rows + int(r/dr)
+ accumulator[iry, theta_index] -= 1
+ """
+- cos_sin_array = np_array(zip([np_sin(dth * theta_index) for theta_index in range(cols)],
+- [np_cos(dth * theta_index) for theta_index in range(cols)]))
++ cos_sin_array = np_array(list(zip([np_sin(dth * theta_index) for theta_index in range(cols)],
++ [np_cos(dth * theta_index) for theta_index in range(cols)])))
+ Rs = np_array(np_sum(np_reshape([p * cos_sin_array for p in data], (d_len*cols,2)),
+ axis=1)/dr).astype('int') + half_rows
+- Cs = np_array(range(cols)*d_len)
++ Cs = np_array(list(range(cols))*d_len)
+
+ try:
+ flat_indices = Rs * cols + Cs
+ except ValueError:
+- print "\n"
+- print '*******************************************************************************'
+- print '********************************* ERROR *********************************'
+- print '*******************************************************************************'
+- print 'GroopM is attempting to do some maths on a putative bin which contains'
+- print 'too many contigs.'
+- print
+- print 'This has resulted in a buffer overflow in the numpy library... oops.'
+- print 'The most likely cause is that your samples are very different from each other.'
+- print 'You can confirm this by running:'
+- print
+- print '\t\tgroopm explore -c 0 -m allcontigs <dbfilename>'
+- print
+- print 'If you notice only vertical "spears" of contigs at the corners of the plot then'
+- print 'this means that your samples are very different and you are not getting a good'
+- print 'mapping from all samples to all contigs. You may get more mileage by assembling'
+- print 'and binning your samples separately.'
+- print
+- print 'If you notice "clouds" of contigs then congratulations! You have found a bug.'
+- print 'Please let me know at "%s or via github.com/minillinim/GroopM' % __email__
+- print
+- print 'GroopM is aborting... sorry'
+- print
+- print '*******************************************************************************'
+- print "\n"
++ print("\n")
++ print('*******************************************************************************')
++ print('********************************* ERROR *********************************')
++ print('*******************************************************************************')
++ print('GroopM is attempting to do some maths on a putative bin which contains')
++ print('too many contigs.')
++ print()
++ print('This has resulted in a buffer overflow in the numpy library... oops.')
++ print('The most likely cause is that your samples are very different from each other.')
++ print('You can confirm this by running:')
++ print()
++ print('\t\tgroopm explore -c 0 -m allcontigs <dbfilename>')
++ print()
++ print('If you notice only vertical "spears" of contigs at the corners of the plot then')
++ print('this means that your samples are very different and you are not getting a good')
++ print('mapping from all samples to all contigs. You may get more mileage by assembling')
++ print('and binning your samples separately.')
++ print()
++ print('If you notice "clouds" of contigs then congratulations! You have found a bug.')
++ print('Please let me know at "%s or via github.com/minillinim/GroopM' % __email__)
++ print()
++ print('GroopM is aborting... sorry')
++ print()
++ print('*******************************************************************************')
++ print("\n")
+ exit(-1)
+
+ # update the accumulator with integer decrements
+--- groopm/groopm.py.orig 2014-11-26 01:01:33 UTC
++++ groopm/groopm.py
+@@ -52,14 +52,14 @@ __status__ = "Released"
+ import matplotlib as mpl
+
+ # GroopM imports
+-import mstore
+-import cluster
+-import refine
+-import binManager
+-import groopmUtils
+-import groopmTimekeeper as gtime
+-from groopmExceptions import ExtractModeNotAppropriateException
+-from mstore import GMDataManager
++from . import mstore
++from . import cluster
++from . import refine
++from . import binManager
++from . import groopmUtils
++from . import groopmTimekeeper as gtime
++from .groopmExceptions import ExtractModeNotAppropriateException
++from .mstore import GMDataManager
+
+ ###############################################################################
+ ###############################################################################
+@@ -100,12 +100,12 @@ class GroopMOptionsParser():
+ timer = gtime.TimeKeeper()
+ if(options.subparser_name == 'parse'):
+ # parse raw input
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Running in data parsing mode..." % self.GMVersion
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Running in data parsing mode..." % self.GMVersion)
++ print("*******************************************************************************")
+ # check this here:
+ if len(options.bamfiles) < 3:
+- print "Sorry, You must supply at least 3 bamFiles to use GroopM. (You supplied %d)\n Exiting..." % len(options.bamfiles)
++ print("Sorry, You must supply at least 3 bamFiles to use GroopM. (You supplied %d)\n Exiting..." % len(options.bamfiles))
+ return
+ GMdata = mstore.GMDataManager()
+ success = GMdata.createDB(options.bamfiles,
+@@ -116,13 +116,13 @@ class GroopMOptionsParser():
+ force=options.force,
+ threads=options.threads)
+ if not success:
+- print options.dbname,"not updated"
++ print(options.dbname,"not updated")
+
+ elif(options.subparser_name == 'core'):
+ # make bin cores
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Running in core creation mode..." % self.GMVersion
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Running in core creation mode..." % self.GMVersion)
++ print("*******************************************************************************")
+ CE = cluster.ClusterEngine(options.dbname,
+ timer,
+ force=options.force,
+@@ -139,9 +139,9 @@ class GroopMOptionsParser():
+
+ elif(options.subparser_name == 'refine'):
+ # refine bin cores
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Running in core refining mode..." % self.GMVersion
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Running in core refining mode..." % self.GMVersion)
++ print("*******************************************************************************")
+ bids = []
+ #if options.bids is not None:
+ # bids = options.bids
+@@ -158,7 +158,7 @@ class GroopMOptionsParser():
+ pfx="REFINED"
+ else:
+ pfx=""
+- print "Refine bins"
++ print("Refine bins")
+
+ RE.refineBins(timer,
+ auto=auto,
+@@ -167,9 +167,9 @@ class GroopMOptionsParser():
+
+ elif(options.subparser_name == 'recruit'):
+ # make bin cores
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Running in bin expansion mode..." % self.GMVersion
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Running in bin expansion mode..." % self.GMVersion)
++ print("*******************************************************************************")
+ RE = refine.RefineEngine(timer,
+ dbFileName=options.dbname,
+ getUnbinned=True,
+@@ -183,9 +183,9 @@ class GroopMOptionsParser():
+
+ elif(options.subparser_name == 'extract'):
+ # Extract data
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Running in '%s' extraction mode..." % (self.GMVersion, options.mode)
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Running in '%s' extraction mode..." % (self.GMVersion, options.mode))
++ print("*******************************************************************************")
+ bids = []
+ if options.bids is not None:
+ bids = options.bids
+@@ -220,35 +220,35 @@ class GroopMOptionsParser():
+ raise ExtractModeNotAppropriateException("mode: "+ options.mode + " is unknown")
+ elif(options.subparser_name == 'merge'):
+ # make bin cores
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Running in bin merging mode..." % self.GMVersion
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Running in bin merging mode..." % self.GMVersion)
++ print("*******************************************************************************")
+ BM = binManager.BinManager(dbFileName=options.dbname)
+ BM.loadBins(timer, makeBins=True, silent=False)
+ BM.merge(options.bids, options.force, saveBins=True)
+
+ elif(options.subparser_name == 'split'):
+ # make bin cores
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Running in bin splitting mode..." % self.GMVersion
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Running in bin splitting mode..." % self.GMVersion)
++ print("*******************************************************************************")
+ BM = binManager.BinManager(dbFileName=options.dbname)
+ BM.loadBins(timer, makeBins=True, silent=False)
+ BM.split(options.bid, options.parts, mode=options.mode, saveBins=True, auto=options.force)
+
+ elif(options.subparser_name == 'delete'):
+ # make bin cores
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Running in bin deleting mode..." % self.GMVersion
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Running in bin deleting mode..." % self.GMVersion)
++ print("*******************************************************************************")
+ BM = binManager.BinManager(dbFileName=options.dbname)
+ BM.loadBins(timer, makeBins=True, silent=True)#, bids=options.bids)
+ BM.deleteBins(options.bids, force=options.force, saveBins=True, freeBinnedRowIndices=True)
+
+ elif(options.subparser_name == 'plot'):
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Running in bin plotting mode..." % self.GMVersion
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Running in bin plotting mode..." % self.GMVersion)
++ print("*******************************************************************************")
+ BM = binManager.BinManager(dbFileName=options.dbname)
+
+ if options.bids is None:
+@@ -266,9 +266,9 @@ class GroopMOptionsParser():
+
+ elif(options.subparser_name == 'explore'):
+ # make bin cores
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Running in bin '%s' explorer mode..." % (self.GMVersion, options.mode)
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Running in bin '%s' explorer mode..." % (self.GMVersion, options.mode))
++ print("*******************************************************************************")
+ transform=True^options.no_transform
+ bids = []
+ if options.bids is not None:
+@@ -297,13 +297,13 @@ class GroopMOptionsParser():
+ elif (options.mode == 'sidebyside'):
+ BE.plotSideBySide(timer, coreCut=options.cutoff)
+ else:
+- print "**Error: unknown mode:",options.mode
++ print("**Error: unknown mode:",options.mode)
+
+ elif(options.subparser_name == 'flyover'):
+ # make bin cores
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Making a flyover..." % self.GMVersion
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Making a flyover..." % self.GMVersion)
++ print("*******************************************************************************")
+ bids = []
+ if options.bids is not None:
+ bids = options.bids
+@@ -323,9 +323,9 @@ class GroopMOptionsParser():
+
+ elif(options.subparser_name == 'highlight'):
+ # make bin cores
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Running in highlighter mode..." % self.GMVersion
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Running in highlighter mode..." % self.GMVersion)
++ print("*******************************************************************************")
+ bids = []
+ if options.bids is not None:
+ bids = options.bids
+@@ -355,9 +355,9 @@ class GroopMOptionsParser():
+ BM.printBins(options.format, fileName=options.outfile)
+
+ elif(options.subparser_name == 'dump'):
+- print "*******************************************************************************"
+- print " [[GroopM %s]] Running in data dumping mode..." % self.GMVersion
+- print "*******************************************************************************"
++ print("*******************************************************************************")
++ print(" [[GroopM %s]] Running in data dumping mode..." % self.GMVersion)
++ print("*******************************************************************************")
+
+ # prep fields. Do this first cause users are mot likely to
+ # mess this part up!
+@@ -365,8 +365,8 @@ class GroopMOptionsParser():
+ fields = options.fields.split(',')
+ for field in fields:
+ if field not in allowable_fields:
+- print "ERROR: field '%s' not recognised. Allowable fields are:" % field
+- print '\t',",".join(allowable_fields)
++ print("ERROR: field '%s' not recognised. Allowable fields are:" % field)
++ print('\t',",".join(allowable_fields))
+ return
+ if options.separator == '\\t':
+ separator = '\t'
+--- groopm/groopmUtils.py.orig 2014-11-26 01:01:33 UTC
++++ groopm/groopmUtils.py
+@@ -62,8 +62,8 @@ np.seterr(all='raise')
+ from scipy.spatial.distance import cdist, squareform
+
+ # GroopM imports
+-import binManager
+-import mstore
++from . import binManager
++from . import mstore
+
+ # other local imports
+ from bamm.bamExtractor import BamExtractor as BMBE
+@@ -126,16 +126,16 @@ class GMExtractor:
+ import gzip
+ GM_open = gzip.open
+ except:
+- print "Error when guessing contig file mimetype"
++ print("Error when guessing contig file mimetype")
+ raise
+ with GM_open(file_name, "r") as f:
+ contigs = CP.getWantedSeqs(f, self.PM.contigNames, storage=contigs)
+ except:
+- print "Could not parse contig file:",fasta[0],sys.exc_info()[0]
++ print("Could not parse contig file:",fasta[0],sys.exc_info()[0])
+ raise
+
+ # now print out the sequences
+- print "Writing files"
++ print("Writing files")
+ for bid in self.BM.getBids():
+ if self.BM.PM.isLikelyChimeric[bid]:
+ file_name = os.path.join(self.outDir, "%s_bin_%d.chimeric.fna" % (self.prefix, bid))
+@@ -148,9 +148,9 @@ class GMExtractor:
+ if(cid in contigs):
+ f.write(">%s\n%s\n" % (cid, contigs[cid]))
+ else:
+- print "These are not the contigs you're looking for. ( %s )" % (cid)
++ print("These are not the contigs you're looking for. ( %s )" % (cid))
+ except:
+- print "Could not open file for writing:",file_name,sys.exc_info()[0]
++ print("Could not open file for writing:",file_name,sys.exc_info()[0])
+ raise
+
+ def extractReads(self,
+@@ -177,7 +177,7 @@ class GMExtractor:
+ self.BM.loadBins(timer, makeBins=True,silent=False,bids=self.bids)
+ self.PM = self.BM.PM
+
+- print "Extracting reads"
++ print("Extracting reads")
+
+ # work out a set of targets to pass to the parser
+ targets = []
+@@ -268,16 +268,16 @@ class BinExplorer:
+ transform = self.transform,
+ cutOff=coreCut)
+ if len(self.BM.bins) == 0:
+- print "Sorry, no bins to plot"
++ print("Sorry, no bins to plot")
+ else:
+- print "Plotting image"
++ print("Plotting image")
+ if self.bids == []:
+ self.bids = self.BM.getBids()
+
+ if testing:
+ # ignore labelling files provided
+ self.binLabelsFile = "none"
+- raw_input( "****************************************************************\n"
++ input( "****************************************************************\n"
+ " IMAGE MAKING INSTRUCTIONS - PLEASE READ CAREFULLY\n"
+ "****************************************************************\n"
+ " You are using GroopM in highlight mode. Congratulations!\n"
+@@ -290,7 +290,7 @@ class BinExplorer:
+ " parameters to what you saw here, set bin labels, contig colours...\n\n"
+ " Good Luck!\n\n"
+ " Press return to continue...")
+- print "****************************************************************"
++ print("****************************************************************")
+
+ # bids as labels and randomise colours
+ self.LP = LabelParser(self.BM.getBids())
+@@ -457,9 +457,9 @@ class BinExplorer:
+ cutOff=coreCut,
+ getUnbinned=True,)
+ if len(self.BM.bins) == 0:
+- print "Sorry, no bins to plot"
++ print("Sorry, no bins to plot")
+ else:
+- print "Plotting flyover"
++ print("Plotting flyover")
+
+ import itertools
+ all_bids = self.BM.getBids()
+@@ -475,7 +475,7 @@ class BinExplorer:
+ elev_increment = total_elev_shift / total_frames
+ self.BM.setColorMap(self.cmString)
+
+- print "Need",total_frames,"frames:"
++ print("Need",total_frames,"frames:")
+
+ """
+ Handle taking out bins as "fade packets", assign indices to a list
+@@ -510,17 +510,17 @@ class BinExplorer:
+ # make the fade schedule for the remaining bins
+ remaining_frames = float(total_frames - fade_schedules[0])
+ num_fade_gs = float(len(fade_groups) - 1)
+- fade_schedules += [len(i) for i in self.splitCeil(range(int(remaining_frames)), int(num_fade_gs))]
++ fade_schedules += [len(i) for i in self.splitCeil(list(range(int(remaining_frames))), int(num_fade_gs))]
+
+ if False:
+- print len(self.BM.getBids()), num_fade_gs
+- print fade_groups
+- print fade_schedules
++ print(len(self.BM.getBids()), num_fade_gs)
++ print(fade_groups)
++ print(fade_schedules)
+
+ # plot all contigs first and then fade out
+ fig = plt.figure()
+ while len(fade_groups) >= 1:
+- print "Rendering frame: %d of: %d" % (int(current_frame),int(total_frames))
++ print("Rendering frame: %d of: %d" % (int(current_frame),int(total_frames)))
+ # get the next fade group and fade schedule
+ faders = fade_groups.pop(0)
+ fade_schedule = fade_schedules.pop(0)
+@@ -555,16 +555,16 @@ class BinExplorer:
+ bids=self.bids,
+ transform=self.transform)
+ if len(self.BM.bins) == 0:
+- print "Sorry, no bins to plot"
++ print("Sorry, no bins to plot")
+ else:
+- print "Plotting bin profiles"
++ print("Plotting bin profiles")
+ self.BM.setColorMap(self.cmString)
+ self.BM.plotProfileDistributions()
+
+ def plotContigs(self, timer, coreCut, all=False):
+ """plot contigs"""
+ if all:
+- print "Plotting all contigs"
++ print("Plotting all contigs")
+ self.PM.plotAll(timer, coreCut, transform=self.transform, ignoreContigLengths=self.ignoreContigLengths)
+ else:
+ self.BM.loadBins(timer,
+@@ -574,9 +574,9 @@ class BinExplorer:
+ transform=self.transform,
+ cutOff=coreCut)
+ if len(self.BM.bins) == 0:
+- print "Sorry, no bins to plot"
++ print("Sorry, no bins to plot")
+ else:
+- print "Plotting binned contigs"
++ print("Plotting binned contigs")
+ self.BM.setColorMap(self.cmString)
+ if self.bids == []:
+ self.bids = self.BM.getBids()
+@@ -592,9 +592,9 @@ class BinExplorer:
+ cutOff=coreCut,
+ transform=self.transform)
+ if len(self.BM.bins) == 0:
+- print "Sorry, no bins to plot"
++ print("Sorry, no bins to plot")
+ else:
+- print "Plotting bin assignments"
++ print("Plotting bin assignments")
+ if self.bids == []:
+ self.bids = self.BM.getBids()
+
+@@ -696,9 +696,9 @@ class BinExplorer:
+ transform=self.transform,
+ cutOff=coreCut)
+ if len(self.BM.bins) == 0:
+- print "Sorry, no bins to plot"
++ print("Sorry, no bins to plot")
+ else:
+- print "Plotting bin points"
++ print("Plotting bin points")
+ self.BM.setColorMap(self.cmString)
+ self.BM.plotBinPoints()
+
+@@ -726,9 +726,9 @@ class BinExplorer:
+ self.BM.setColorMap(self.cmString)
+
+ if len(self.BM.bins) == 0:
+- print "Sorry, no bins to plot"
++ print("Sorry, no bins to plot")
+ else:
+- print "Plotting side by side graphs"
++ print("Plotting side by side graphs")
+ (bin_centroid_points, bin_centroid_colors, bin_centroid_gc, bin_ids) = self.BM.findCoreCentres()
+ self.plotCoresVsContigs(bin_centroid_points, bin_centroid_colors)
+
+@@ -743,15 +743,15 @@ class BinExplorer:
+ bids=self.bids,
+ transform=self.transform)
+ if len(self.BM.bins) == 0:
+- print "Sorry, no bins to plot"
++ print("Sorry, no bins to plot")
+ else:
+- print "Plotting bin IDs"
++ print("Plotting bin IDs")
+ self.BM.setColorMap(self.cmString)
+ self.BM.plotBinIds()
+
+ def plotUnbinned(self, timer, coreCut):
+ """Plot all contigs over a certain length which are unbinned"""
+- print "Plotting unbinned contigs"
++ print("Plotting unbinned contigs")
+ self.PM.plotUnbinned(timer, coreCut, transform=self.transform, ignoreContigLengths=self.ignoreContigLengths)
+
+ def plotSideBySide(self, timer, coreCut):
+@@ -763,7 +763,7 @@ class BinExplorer:
+ transform=self.transform,
+ cutOff=coreCut)
+ if len(self.BM.bins) == 0:
+- print "Sorry, no bins to plot"
++ print("Sorry, no bins to plot")
+ else:
+ self.BM.setColorMap(self.cmString)
+ self.BM.plotBins(sideBySide=True,
+@@ -779,9 +779,9 @@ class BinExplorer:
+ transform=self.transform,
+ cutOff=coreCut)
+ if len(self.BM.bins) == 0:
+- print "Sorry, no bins to plot"
++ print("Sorry, no bins to plot")
+ else:
+- print "Plotting all bins together"
++ print("Plotting all bins together")
+ self.BM.setColorMap(self.cmString)
+ if self.bids == []:
+ p_bids = self.BM.getBids()
+@@ -832,7 +832,7 @@ class BinExplorer:
+ plt.show()
+ plt.close(fig)
+ except:
+- print "Error showing image", sys.exc_info()[0]
++ print("Error showing image", sys.exc_info()[0])
+ raise
+ del fig
+ else:
+@@ -859,7 +859,7 @@ class BinExplorer:
+ plt.savefig(f_name1,dpi=dpi,format=format)
+ plt.close(fig)
+ except:
+- print "Error saving image",f_name1, sys.exc_info()[0]
++ print("Error saving image",f_name1, sys.exc_info()[0])
+ raise
+ del fig
+
+@@ -893,7 +893,7 @@ class BinExplorer:
+ plt.savefig(f_name2,dpi=dpi,format=format)
+ plt.close(fig)
+ except:
+- print "Error saving image",f_name1, sys.exc_info()[0]
++ print("Error saving image",f_name1, sys.exc_info()[0])
+ raise
+ del fig
+
+@@ -1137,9 +1137,9 @@ class LabelParser:
+ try:
+ self.contig2Cols[name_2_row_index[cid]] = self.rgb(fields[1])
+ except KeyError:
+- print "ERROR: contig name %s not recognised" % cid
++ print("ERROR: contig name %s not recognised" % cid)
+ except:
+- print "ERROR: parsing labels file: %s" % labelFileName
++ print("ERROR: parsing labels file: %s" % labelFileName)
+ raise
+
+ # now we parse the rest of the contig names and colour the null colour
+@@ -1178,7 +1178,7 @@ class LabelParser:
+ except IndexError: pass
+ self.loaded[bid] = True
+ except:
+- print "ERROR parsing labels file: %s" % labelFileName
++ print("ERROR parsing labels file: %s" % labelFileName)
+ raise
+
+ def setDefaultBinLabels(self, bids):
+@@ -1192,7 +1192,7 @@ class LabelParser:
+ S = 1.0
+ V = 1.0
+ if setLoaded:
+- for bid in self.bin2Str.keys():
++ for bid in list(self.bin2Str.keys()):
+ self.loaded[bid] = True
+ num_bins = len(self.bin2Str)
+ offset = 0.5
+@@ -1201,7 +1201,7 @@ class LabelParser:
+ cols = [htr(H, S, V) for H in Hs]
+ np.random.shuffle(cols)
+ i = 0
+- for bid in self.bin2Str.keys():
++ for bid in list(self.bin2Str.keys()):
+ if self.loaded[bid]:
+ # assign the color we picked
+ self.bin2Cols[bid] = cols[i]
+--- groopm/mstore.py.orig 2015-03-06 04:42:41 UTC
++++ groopm/mstore.py
+@@ -58,7 +58,7 @@ import numpy as np
+ from scipy.spatial.distance import cdist, squareform
+
+ # GroopM imports
+-from PCA import PCA, Center
++from .PCA import PCA, Center
+
+ # BamM imports
+ try:
+@@ -66,7 +66,7 @@ try:
+ from bamm.cWrapper import *
+ from bamm.bamFile import BM_coverageType as BMCT
+ except ImportError:
+- print """ERROR: There was an error importing BamM. This probably means that
++ print("""ERROR: There was an error importing BamM. This probably means that
+ BamM is not installed properly or not in your PYTHONPATH. Installation
+ instructions for BamM are located at:
+
+@@ -79,7 +79,7 @@ you still encounter this error. Please lodge a bug rep
+
+ Exiting...
+ --------------------------------------------------------------------------------
+-"""
++""")
+ import sys
+ sys.exit(-1)
+
+@@ -217,12 +217,12 @@ class GMDataManager:
+ if(not force):
+ user_option = self.promptOnOverwrite(dbFileName)
+ if(user_option != "Y"):
+- print "Operation cancelled"
++ print("Operation cancelled")
+ return False
+ else:
+- print "Overwriting database",dbFileName
++ print("Overwriting database",dbFileName)
+ except IOError as e:
+- print "Creating new database", dbFileName
++ print("Creating new database", dbFileName)
+
+ # create the db
+ try:
+@@ -251,19 +251,19 @@ class GMDataManager:
+ import gzip
+ GM_open = gzip.open
+ except:
+- print "Error when guessing contig file mimetype"
++ print("Error when guessing contig file mimetype")
+ raise
+ try:
+ with GM_open(contigsFile, "r") as f:
+ try:
+ (con_names, con_gcs, con_lengths, con_ksigs) = conParser.parse(f, cutoff, kse)
+ num_cons = len(con_names)
+- cid_2_indices = dict(zip(con_names, range(num_cons)))
++ cid_2_indices = dict(list(zip(con_names, list(range(num_cons)))))
+ except:
+- print "Error parsing contigs"
++ print("Error parsing contigs")
+ raise
+ except:
+- print "Could not parse contig file:",contigsFile,exc_info()[0]
++ print("Could not parse contig file:",contigsFile,exc_info()[0])
+ raise
+
+ #------------------------
+@@ -280,15 +280,15 @@ class GMDataManager:
+ if len(bad_indices) > 0:
+ # report the bad contigs to the user
+ # and strip them before writing to the DB
+- print "****************************************************************"
+- print " IMPORTANT! - there are %d contigs with 0 coverage" % len(bad_indices)
+- print " across all stoits. They will be ignored:"
+- print "****************************************************************"
+- for i in xrange(0, min(5, len(bad_indices))):
+- print con_names[bad_indices[i]]
++ print("****************************************************************")
++ print(" IMPORTANT! - there are %d contigs with 0 coverage" % len(bad_indices))
++ print(" across all stoits. They will be ignored:")
++ print("****************************************************************")
++ for i in range(0, min(5, len(bad_indices))):
++ print(con_names[bad_indices[i]])
+ if len(bad_indices) > 5:
+- print '(+ %d additional contigs)' % (len(bad_indices)-5)
+- print "****************************************************************"
++ print('(+ %d additional contigs)' % (len(bad_indices)-5))
++ print("****************************************************************")
+
+ con_names = con_names[good_indices]
+ con_lengths = con_lengths[good_indices]
+@@ -314,14 +314,14 @@ class GMDataManager:
+ expectedrows=num_cons
+ )
+ except:
+- print "Error creating KMERSIG table:", exc_info()[0]
++ print("Error creating KMERSIG table:", exc_info()[0])
+ raise
+
+ # compute the PCA of the ksigs and store these too
+ pc_ksigs, sumvariance = conParser.PCAKSigs(con_ksigs)
+
+ db_desc = []
+- for i in xrange(0, len(pc_ksigs[0])):
++ for i in range(0, len(pc_ksigs[0])):
+ db_desc.append(('pc' + str(i+1), float))
+
+ try:
+@@ -332,7 +332,7 @@ class GMDataManager:
+ expectedrows=num_cons
+ )
+ except:
+- print "Error creating KMERVALS table:", exc_info()[0]
++ print("Error creating KMERVALS table:", exc_info()[0])
+ raise
+
+ #------------------------
+@@ -378,7 +378,7 @@ class GMDataManager:
+ title="Bam based coverage",
+ expectedrows=num_cons)
+ except:
+- print "Error creating coverage table:", exc_info()[0]
++ print("Error creating coverage table:", exc_info()[0])
+ raise
+
+ # transformed coverages
+@@ -392,7 +392,7 @@ class GMDataManager:
+ title="Transformed coverage",
+ expectedrows=num_cons)
+ except:
+- print "Error creating transformed coverage table:", exc_info()[0]
++ print("Error creating transformed coverage table:", exc_info()[0])
+ raise
+
+ # transformed coverage corners
+@@ -406,7 +406,7 @@ class GMDataManager:
+ title="Transformed coverage corners",
+ expectedrows=len(stoitColNames))
+ except:
+- print "Error creating transformed coverage corner table:", exc_info()[0]
++ print("Error creating transformed coverage corner table:", exc_info()[0])
+ raise
+
+ # normalised coverages
+@@ -418,16 +418,16 @@ class GMDataManager:
+ title="Normalised coverage",
+ expectedrows=num_cons)
+ except:
+- print "Error creating normalised coverage table:", exc_info()[0]
++ print("Error creating normalised coverage table:", exc_info()[0])
+ raise
+
+ #------------------------
+ # Add a table for the contigs
+ #------------------------
+ self.setBinAssignments((h5file, meta_group),
+- image=zip(con_names,
++ image=list(zip(con_names,
+ [0]*num_cons,
+- con_lengths, con_gcs)
++ con_lengths, con_gcs))
+ )
+
+ #------------------------
+@@ -435,7 +435,7 @@ class GMDataManager:
+ #------------------------
+ self.initBinStats((h5file, meta_group))
+
+- print " %s" % timer.getTimeStamp()
++ print(" %s" % timer.getTimeStamp())
+
+ #------------------------
+ # contig links
+@@ -454,9 +454,9 @@ class GMDataManager:
+ title="ContigLinks",
+ expectedrows=len(rowwise_links))
+ except:
+- print "Error creating links table:", exc_info()[0]
++ print("Error creating links table:", exc_info()[0])
+ raise
+- print " %s" % timer.getTimeStamp()
++ print(" %s" % timer.getTimeStamp())
+
+ #------------------------
+ # Add metadata
+@@ -475,12 +475,12 @@ class GMDataManager:
+
+ # kmer signature variance table
+ pc_var = [sumvariance[0]]
+- for i in xrange(1, len(sumvariance)):
++ for i in range(1, len(sumvariance)):
+ pc_var.append(sumvariance[i]-sumvariance[i-1])
+ pc_var = tuple(pc_var)
+
+ db_desc = []
+- for i in xrange(0, len(pc_var)):
++ for i in range(0, len(pc_var)):
+ db_desc.append(('pc' + str(i+1) + '_var', float))
+
+ try:
+@@ -491,20 +491,20 @@ class GMDataManager:
+ expectedrows=1
+ )
+ except:
+- print "Error creating tmp_kpca_variance table:", exc_info()[0]
++ print("Error creating tmp_kpca_variance table:", exc_info()[0])
+ raise
+
+ except:
+- print "Error creating database:", dbFileName, exc_info()[0]
++ print("Error creating database:", dbFileName, exc_info()[0])
+ raise
+
+- print "****************************************************************"
+- print "Data loaded successfully!"
+- print " ->",num_cons,"contigs"
+- print " ->",len(stoitColNames),"BAM files"
+- print "Written to: '"+dbFileName+"'"
+- print "****************************************************************"
+- print " %s" % timer.getTimeStamp()
++ print("****************************************************************")
++ print("Data loaded successfully!")
++ print(" ->",num_cons,"contigs")
++ print(" ->",len(stoitColNames),"BAM files")
++ print("Written to: '"+dbFileName+"'")
++ print("****************************************************************")
++ print(" %s" % timer.getTimeStamp())
+
+ # all good!
+ return True
+@@ -516,17 +516,17 @@ class GMDataManager:
+ vrs = ",".join([str.lower(str(x)) for x in valid_responses])
+ while(input_not_ok):
+ if(minimal):
+- option = raw_input(" Overwrite? ("+vrs+") : ")
++ option = input(" Overwrite? ("+vrs+") : ")
+ else:
+
+- option = raw_input(" ****WARNING**** Database: '"+dbFileName+"' exists.\n" \
++ option = input(" ****WARNING**** Database: '"+dbFileName+"' exists.\n" \
+ " If you continue you *WILL* delete any previous analyses!\n" \
+ " Overwrite? ("+vrs+") : ")
+ if(option.upper() in valid_responses):
+- print "****************************************************************"
++ print("****************************************************************")
+ return option.upper()
+ else:
+- print "Error, unrecognised choice '"+option.upper()+"'"
++ print("Error, unrecognised choice '"+option.upper()+"'")
+ minimal = True
+
+ #------------------------------------------------------------------------------
+@@ -538,7 +538,7 @@ class GMDataManager:
+ this_DB_version = self.getGMDBFormat(dbFileName)
+ if __current_GMDB_version__ == this_DB_version:
+ if not silent:
+- print " GroopM DB version (%s) up to date" % this_DB_version
++ print(" GroopM DB version (%s) up to date" % this_DB_version)
+ return
+
+ # now, if we get here then we need to do some work
+@@ -558,14 +558,14 @@ class GMDataManager:
+
+ def upgradeDB_0_to_1(self, dbFileName):
+ """Upgrade a GM db from version 0 to version 1"""
+- print "*******************************************************************************\n"
+- print " *** Upgrading GM DB from version 0 to version 1 ***"
+- print ""
+- print " please be patient..."
+- print ""
++ print("*******************************************************************************\n")
++ print(" *** Upgrading GM DB from version 0 to version 1 ***")
++ print("")
++ print(" please be patient...")
++ print("")
+ # the change in this version is that we'll be saving the first
+ # two kmerSig PCA's in a separate table
+- print " Calculating and storing the kmerSig PCAs"
++ print(" Calculating and storing the kmerSig PCAs")
+
+ # compute the PCA of the ksigs
+ ksigs = self.getKmerSigs(dbFileName)
+@@ -585,26 +585,26 @@ class GMDataManager:
+ expectedrows=num_cons
+ )
+ except:
+- print "Error creating KMERVALS table:", exc_info()[0]
++ print("Error creating KMERVALS table:", exc_info()[0])
+ raise
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ # update the formatVersion field and we're done
+ self.setGMDBFormat(dbFileName, 1)
+- print "*******************************************************************************"
++ print("*******************************************************************************")
+
+ def upgradeDB_1_to_2(self, dbFileName):
+ """Upgrade a GM db from version 1 to version 2"""
+- print "*******************************************************************************\n"
+- print " *** Upgrading GM DB from version 1 to version 2 ***"
+- print ""
+- print " please be patient..."
+- print ""
++ print("*******************************************************************************\n")
++ print(" *** Upgrading GM DB from version 1 to version 2 ***")
++ print("")
++ print(" please be patient...")
++ print("")
+ # the change in this version is that we'll be saving a variable number of kmerSig PCA's
+ # and GC information for each contig
+- print " Calculating and storing the kmer signature PCAs"
++ print(" Calculating and storing the kmer signature PCAs")
+
+ # grab any data needed from database before opening if for modification
+ bin_ids = self.getBins(dbFileName)
+@@ -617,7 +617,7 @@ class GMDataManager:
+ num_cons = len(pc_ksigs)
+
+ db_desc = []
+- for i in xrange(0, len(pc_ksigs[0])):
++ for i in range(0, len(pc_ksigs[0])):
+ db_desc.append(('pc' + str(i+1), float))
+
+ try:
+@@ -639,11 +639,11 @@ class GMDataManager:
+ h5file.renameNode(pg, 'kpca', 'tmp_kpca', overwrite=True)
+
+ except:
+- print "Error creating kpca table:", exc_info()[0]
++ print("Error creating kpca table:", exc_info()[0])
+ raise
+
+ # Add GC
+- contigFile = raw_input('\nPlease specify fasta file containing the bam reference sequences: ')
++ contigFile = input('\nPlease specify fasta file containing the bam reference sequences: ')
+ with open(contigFile, "r") as f:
+ try:
+ contigInfo = {}
+@@ -657,7 +657,7 @@ class GMDataManager:
+ con_gcs = np.array([contigInfo[cid][1] for cid in con_names])
+ con_lengths = np.array([contigInfo[cid][0] for cid in con_names])
+ except:
+- print "Error parsing contigs"
++ print("Error parsing contigs")
+ raise
+
+ # remove any contigs not in the current DB (these were removed due to having zero coverage)
+@@ -670,27 +670,27 @@ class GMDataManager:
+
+ mg = h5file.getNode('/', name='meta')
+ self.setBinAssignments((h5file, mg),
+- image=zip(con_names,
++ image=list(zip(con_names,
+ bin_ids,
+- con_lengths, con_gcs)
++ con_lengths, con_gcs))
+ )
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ # update the formatVersion field and we're done
+ self.setGMDBFormat(dbFileName, 2)
+- print "*******************************************************************************"
++ print("*******************************************************************************")
+
+ def upgradeDB_2_to_3(self, dbFileName):
+ """Upgrade a GM db from version 2 to version 3"""
+- print "*******************************************************************************\n"
+- print " *** Upgrading GM DB from version 2 to version 3 ***"
+- print ""
+- print " please be patient..."
+- print ""
++ print("*******************************************************************************\n")
++ print(" *** Upgrading GM DB from version 2 to version 3 ***")
++ print("")
++ print(" please be patient...")
++ print("")
+ # the change in this version is that we'll be saving the variance for each kmerSig PCA
+- print " Calculating and storing variance of kmer signature PCAs"
++ print(" Calculating and storing variance of kmer signature PCAs")
+
+ # compute the PCA of the ksigs
+ conParser = ContigParser()
+@@ -699,12 +699,12 @@ class GMDataManager:
+
+ # calcualte variance of each PC
+ pc_var = [sumvariance[0]]
+- for i in xrange(1, len(sumvariance)):
++ for i in range(1, len(sumvariance)):
+ pc_var.append(sumvariance[i]-sumvariance[i-1])
+ pc_var = tuple(pc_var)
+
+ db_desc = []
+- for i in xrange(0, len(pc_var)):
++ for i in range(0, len(pc_var)):
+ db_desc.append(('pc' + str(i+1) + '_var', float))
+
+ try:
+@@ -726,26 +726,26 @@ class GMDataManager:
+ h5file.renameNode(meta, 'kpca_variance', 'tmp_kpca_variance', overwrite=True)
+
+ except:
+- print "Error creating kpca_variance table:", exc_info()[0]
++ print("Error creating kpca_variance table:", exc_info()[0])
+ raise
+ except:
+- print "Error opening DB:", dbFileName, exc_info()[0]
++ print("Error opening DB:", dbFileName, exc_info()[0])
+ raise
+
+ # update the formatVersion field and we're done
+ self.setGMDBFormat(dbFileName, 3)
+- print "*******************************************************************************"
++ print("*******************************************************************************")
+
+ def upgradeDB_3_to_4(self, dbFileName):
+ """Upgrade a GM db from version 3 to version 4"""
+- print "*******************************************************************************\n"
+- print " *** Upgrading GM DB from version 3 to version 4 ***"
+- print ""
+- print " please be patient..."
+- print ""
++ print("*******************************************************************************\n")
++ print(" *** Upgrading GM DB from version 3 to version 4 ***")
++ print("")
++ print(" please be patient...")
++ print("")
+ # the change in this version is that we'll be saving the variance for each kmerSig PCA
+- print " Adding chimeric flag for each bin."
+- print " !!! Groopm core must be run again for this flag to be properly set. !!!"
++ print(" Adding chimeric flag for each bin.")
++ print(" !!! Groopm core must be run again for this flag to be properly set. !!!")
+
+ # read existing data in 'bins' table
+ try:
+@@ -755,7 +755,7 @@ class GMDataManager:
+ for row in all_rows:
+ ret_dict[row[0]] = row[1]
+ except:
+- print "Error opening DB:", dbFileName, exc_info()[0]
++ print("Error opening DB:", dbFileName, exc_info()[0])
+ raise
+
+ # write new table with chimeric flag set to False by default
+@@ -785,28 +785,28 @@ class GMDataManager:
+ title="Bin information",
+ expectedrows=1)
+ except:
+- print "Error creating META table:", exc_info()[0]
++ print("Error creating META table:", exc_info()[0])
+ raise
+
+ h5file.renameNode(mg, 'bins', 'tmp_bins', overwrite=True)
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ # update the formatVersion field and we're done
+ self.setGMDBFormat(dbFileName, 4)
+- print "*******************************************************************************"
++ print("*******************************************************************************")
+
+ def upgradeDB_4_to_5(self, dbFileName):
+ """Upgrade a GM db from version 4 to version 5"""
+- print "*******************************************************************************\n"
+- print " *** Upgrading GM DB from version 4 to version 5 ***"
+- print ""
+- print " please be patient..."
+- print ""
++ print("*******************************************************************************\n")
++ print(" *** Upgrading GM DB from version 4 to version 5 ***")
++ print("")
++ print(" please be patient...")
++ print("")
+ # the change in this version is that we'll be saving the transformed coverage coords
+- print " Saving transformed coverage profiles"
+- print " You will not need to re-run parse or core due to this change"
++ print(" Saving transformed coverage profiles")
++ print(" You will not need to re-run parse or core due to this change")
+
+ # we need to get the raw coverage profiles and the kmerPCA1 data
+ indices = self.getConditionalIndices(dbFileName, silent=False, checkUpgrade=False)
+@@ -849,7 +849,7 @@ class GMDataManager:
+ title="Bam based coverage",
+ expectedrows=CT.numContigs)
+ except:
+- print "Error creating coverage table:", exc_info()[0]
++ print("Error creating coverage table:", exc_info()[0])
+ raise
+
+ h5file.renameNode(profile_group, 'coverage', 'tmp_coverages', overwrite=True)
+@@ -865,7 +865,7 @@ class GMDataManager:
+ title="Transformed coverage",
+ expectedrows=CT.numContigs)
+ except:
+- print "Error creating transformed coverage table:", exc_info()[0]
++ print("Error creating transformed coverage table:", exc_info()[0])
+ raise
+
+ # transformed coverage corners
+@@ -879,7 +879,7 @@ class GMDataManager:
+ title="Transformed coverage corners",
+ expectedrows=CT.numStoits)
+ except:
+- print "Error creating transformed coverage corner table:", exc_info()[0]
++ print("Error creating transformed coverage corner table:", exc_info()[0])
+ raise
+
+
+@@ -892,7 +892,7 @@ class GMDataManager:
+ title="Normalised coverage",
+ expectedrows=CT.numContigs)
+ except:
+- print "Error creating normalised coverage table:", exc_info()[0]
++ print("Error creating normalised coverage table:", exc_info()[0])
+ raise
+
+ # stoit col names may have been shuffled
+@@ -912,7 +912,7 @@ class GMDataManager:
+
+ # update the formatVersion field and we're done
+ self.setGMDBFormat(dbFileName, 5)
+- print "*******************************************************************************"
++ print("*******************************************************************************")
+
+
+ #------------------------------------------------------------------------------
+@@ -925,7 +925,7 @@ class GMDataManager:
+ with tables.openFile(dbFileName, mode='r') as h5file:
+ full_record = [list(x) for x in h5file.root.links.links.readWhere("contig1 >= 0")]
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ if indices == []:
+@@ -958,7 +958,7 @@ class GMDataManager:
+ with tables.openFile(dbFileName, mode='r') as h5file:
+ return np.array([x.nrow for x in h5file.root.meta.contigs.where(condition)])
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def getCoverageProfiles(self, dbFileName, condition='', indices=np.array([])):
+@@ -972,7 +972,7 @@ class GMDataManager:
+ condition = "cid != ''" # no condition breaks everything!
+ return np.array([list(h5file.root.profile.coverage[x.nrow]) for x in h5file.root.meta.contigs.where(condition)])
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def getTransformedCoverageProfiles(self, dbFileName, condition='', indices=np.array([])):
+@@ -986,7 +986,7 @@ class GMDataManager:
+ condition = "cid != ''" # no condition breaks everything!
+ return np.array([list(h5file.root.profile.transCoverage[x.nrow]) for x in h5file.root.meta.contigs.where(condition)])
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def getNormalisedCoverageProfiles(self, dbFileName, condition='', indices=np.array([])):
+@@ -1000,12 +1000,12 @@ class GMDataManager:
+ condition = "cid != ''" # no condition breaks everything!
+ return np.array([list(h5file.root.profile.normCoverage[x.nrow]) for x in h5file.root.meta.contigs.where(condition)])
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def nukeBins(self, dbFileName):
+ """Reset all bin information, completely"""
+- print " Clearing all old bin information from",dbFileName
++ print(" Clearing all old bin information from",dbFileName)
+ self.setBinStats(dbFileName, [])
+ self.setNumBins(dbFileName, 0)
+ self.setBinAssignments(dbFileName, updates={}, nuke=True)
+@@ -1061,13 +1061,13 @@ class GMDataManager:
+ title="Bin information",
+ expectedrows=1)
+ except:
+- print "Error creating META table:", exc_info()[0]
++ print("Error creating META table:", exc_info()[0])
+ raise
+
+ # rename the tmp table to overwrite
+ h5file.renameNode(mg, 'bins', 'tmp_bins', overwrite=True)
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def getBinStats(self, dbFileName):
+@@ -1085,7 +1085,7 @@ class GMDataManager:
+
+ return ret_dict
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+ return {}
+
+@@ -1100,7 +1100,7 @@ class GMDataManager:
+ condition = "cid != ''" # no condition breaks everything!
+ return np.array([list(x)[1] for x in h5file.root.meta.contigs.readWhere(condition)]).ravel()
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def setBinAssignments(self, storage, updates=None, image=None, nuke=False):
+@@ -1135,17 +1135,17 @@ class GMDataManager:
+ bins = self.getBins(dbFileName)
+
+ # now apply the updates
+- for tr in updates.keys():
++ for tr in list(updates.keys()):
+ bins[tr] = updates[tr]
+
+ # and build the image
+- image = np.array(zip(contig_names, bins, contig_lengths, contig_gcs),
++ image = np.array(list(zip(contig_names, bins, contig_lengths, contig_gcs)),
+ dtype=db_desc)
+
+ try:
+ h5file = tables.openFile(dbFileName, mode='a')
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+ meta_group = h5file.getNode('/', name='meta')
+ closeh5 = True
+@@ -1157,7 +1157,7 @@ class GMDataManager:
+ image = np.array(image,
+ dtype=db_desc)
+ else:
+- print "get with the program dude"
++ print("get with the program dude")
+ return
+
+ # now we write the data
+@@ -1174,7 +1174,7 @@ class GMDataManager:
+ title="Contig information",
+ expectedrows=num_cons)
+ except:
+- print "Error creating CONTIG table:", exc_info()[0]
++ print("Error creating CONTIG table:", exc_info()[0])
+ raise
+
+ # rename the tmp table to overwrite
+@@ -1193,7 +1193,7 @@ class GMDataManager:
+ condition = "cid != ''" # no condition breaks everything!
+ return np.array([list(x)[0] for x in h5file.root.meta.contigs.readWhere(condition)]).ravel()
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def getContigLengths(self, dbFileName, condition='', indices=np.array([])):
+@@ -1207,7 +1207,7 @@ class GMDataManager:
+ condition = "cid != ''" # no condition breaks everything!
+ return np.array([list(x)[2] for x in h5file.root.meta.contigs.readWhere(condition)]).ravel()
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def getContigGCs(self, dbFileName, condition='', indices=np.array([])):
+@@ -1221,7 +1221,7 @@ class GMDataManager:
+ condition = "cid != ''" # no condition breaks everything!
+ return np.array([list(x)[3] for x in h5file.root.meta.contigs.readWhere(condition)]).ravel()
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def getKmerSigs(self, dbFileName, condition='', indices=np.array([])):
+@@ -1235,7 +1235,7 @@ class GMDataManager:
+ condition = "cid != ''" # no condition breaks everything!
+ return np.array([list(h5file.root.profile.kms[x.nrow]) for x in h5file.root.meta.contigs.where(condition)])
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def getKmerPCAs(self, dbFileName, condition='', indices=np.array([])):
+@@ -1249,7 +1249,7 @@ class GMDataManager:
+ condition = "cid != ''" # no condition breaks everything!
+ return np.array([list(h5file.root.profile.kpca[x.nrow]) for x in h5file.root.meta.contigs.where(condition)])
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ #------------------------------------------------------------------------------
+@@ -1261,7 +1261,7 @@ class GMDataManager:
+ with tables.openFile(dbFileName, mode='r') as h5file:
+ return np.array(list(h5file.root.meta.kpca_variance[0]))
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def getTransformedCoverageCorners(self, dbFileName):
+@@ -1270,7 +1270,7 @@ class GMDataManager:
+ with tables.openFile(dbFileName, mode='r') as h5file:
+ return np.array([list(x) for x in h5file.root.meta.transCoverageCorners.read()])
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def setMeta(self, h5file, metaData, overwrite=False):
+@@ -1310,7 +1310,7 @@ class GMDataManager:
+ "Descriptive data",
+ expectedrows=1)
+ except:
+- print "Error creating META table:", exc_info()[0]
++ print("Error creating META table:", exc_info()[0])
+ raise
+
+ if overwrite:
+@@ -1324,7 +1324,7 @@ class GMDataManager:
+ # theres only one value
+ return h5file.root.meta.meta.read()[fieldName][0]
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def setGMDBFormat(self, dbFileName, version):
+@@ -1344,7 +1344,7 @@ class GMDataManager:
+ with tables.openFile(dbFileName, mode='a', rootUEP="/") as h5file:
+ self.setMeta(h5file, meta_data, overwrite=True)
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def getGMDBFormat(self, dbFileName):
+@@ -1397,7 +1397,7 @@ class GMDataManager:
+ with tables.openFile(dbFileName, mode='a', rootUEP="/") as h5file:
+ self.setMeta(h5file, meta_data, overwrite=True)
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def getNumBins(self, dbFileName):
+@@ -1417,7 +1417,7 @@ class GMDataManager:
+ with tables.openFile(dbFileName, mode='r') as h5file:
+ return h5file.root.meta.meta.read()['clustered']
+ except:
+- print "Error opening database:", dbFileName, exc_info()[0]
++ print("Error opening database:", dbFileName, exc_info()[0])
+ raise
+
+ def setClustered(self, dbFileName, state):
+@@ -1437,7 +1437,7 @@ class GMDataManager:
+ with tables.openFile(dbFileName, mode='a', rootUEP="/") as h5file:
+ self.setMeta(h5file, meta_data, overwrite=True)
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ def isComplete(self, dbFileName):
+@@ -1446,7 +1446,7 @@ class GMDataManager:
+ with tables.openFile(dbFileName, mode='r') as h5file:
+ return h5file.root.meta.meta.read()['complete']
+ except:
+- print "Error opening database:", dbFileName, exc_info()[0]
++ print("Error opening database:", dbFileName, exc_info()[0])
+ raise
+
+ def setComplete(self, dbFileName, state):
+@@ -1466,7 +1466,7 @@ class GMDataManager:
+ with tables.openFile(dbFileName, mode='a', rootUEP="/") as h5file:
+ self.setMeta(h5file, meta_data, overwrite=True)
+ except:
+- print "Error opening DB:",dbFileName, exc_info()[0]
++ print("Error opening DB:",dbFileName, exc_info()[0])
+ raise
+
+ #------------------------------------------------------------------------------
+@@ -1543,7 +1543,7 @@ class GMDataManager:
+ fh.write(separator+data_converters[j](data_arrays[j][i]))
+ fh.write('\n')
+ except:
+- print "Error opening output file %s for writing" % outFile
++ print("Error opening output file %s for writing" % outFile)
+ raise
+
+ ###############################################################################
+@@ -1574,7 +1574,7 @@ class ContigParser:
+
+ def parse(self, contigFile, cutoff, kse):
+ """Do the heavy lifting of parsing"""
+- print "Parsing contigs"
++ print("Parsing contigs")
+ contigInfo = {} # save everything here first so we can sort accordingly
+ for cid,seq in self.readFasta(contigFile):
+ if len(seq) >= cutoff:
+@@ -1619,7 +1619,7 @@ class ContigParser:
+
+ def getWantedSeqs(self, contigFile, wanted, storage={}):
+ """Do the heavy lifting of parsing"""
+- print "Parsing contigs"
++ print("Parsing contigs")
+ for cid,seq in self.readFasta(contigFile):
+ if(cid in wanted):
+ storage[cid] = seq
+@@ -1696,7 +1696,7 @@ class KmerSigEngine:
+ returns a tuple of floats which is the kmer sig
+ """
+ # tmp storage
+- sig = dict(zip(self.kmerCols, [0.0] * self.numMers))
++ sig = dict(list(zip(self.kmerCols, [0.0] * self.numMers)))
+ # the number fo kmers in this sequence
+ num_mers = len(seq)-self.kLen+1
+ for i in range(0,num_mers):
+@@ -1710,7 +1710,7 @@ class KmerSigEngine:
+ try:
+ return tuple([sig[x] / num_mers for x in self.kmerCols])
+ except ZeroDivisionError:
+- print "***WARNING*** Sequence '%s' is not playing well with the kmer signature engine " % seq
++ print("***WARNING*** Sequence '%s' is not playing well with the kmer signature engine " % seq)
+ return tuple([0.0] * self.numMers)
+
+ ###############################################################################
+@@ -1724,7 +1724,7 @@ class BamParser:
+
+ def parse(self, bamFiles, contigNames, cid2Indices, threads):
+ """Parse multiple bam files and store the results in the main DB"""
+- print "Parsing BAM files using %d threads" % threads
++ print("Parsing BAM files using %d threads" % threads)
+
+ BP = BMBP(BMCT(CT.P_MEAN_TRIMMED, 5, 5))
+ BP.parseBams(bamFiles,
+@@ -1736,8 +1736,8 @@ class BamParser:
+ # we need to make sure that the ordering of contig names is consistent
+ # first we get a dict that connects a contig name to the index in
+ # the coverages array
+- con_name_lookup = dict(zip(BP.BFI.contigNames,
+- range(len(BP.BFI.contigNames))))
++ con_name_lookup = dict(list(zip(BP.BFI.contigNames,
++ list(range(len(BP.BFI.contigNames))))))
+
+ # Next we build the cov_sigs array by appending the coverage
+ # profiles in the same order. We need to handle the case where
+@@ -1799,7 +1799,7 @@ class CoverageTransformer:
+ self.kmerNormPC1 = kmerNormPC1
+ self.covProfiles = coverageProfiles
+ self.stoitColNames = stoitColNames
+- self.indices = range(self.numContigs)
++ self.indices = list(range(self.numContigs))
+ self.scaleFactor = scaleFactor
+
+ # things we care about!
+@@ -1814,8 +1814,8 @@ class CoverageTransformer:
+ shrinkFn = lambda x:x
+
+ if(not silent):
+- print " Reticulating splines"
+- print " Dimensionality reduction"
++ print(" Reticulating splines")
++ print(" Dimensionality reduction")
+
+ unit_vectors = [(np.cos(i*2*np.pi/self.numStoits),np.sin(i*2*np.pi/self.numStoits)) for i in range(self.numStoits)]
+
+@@ -1954,13 +1954,13 @@ class CoverageTransformer:
+ # so we need to make sure that we get all the nodes in the ordering list
+ trier = 0 # start of a new disjoint ring
+ ordering = [trier]
+- while len(ordering) < len(lr_dict.keys()):
++ while len(ordering) < len(list(lr_dict.keys())):
+ try:
+ adding_index = lr_dict[trier][0] # ok IF this guy has a registered neighbour
+ if adding_index in ordering: # NOT ok if the neighbour is already in the list
+ raise IndexError()
+ ordering.append(adding_index)
+- while len(ordering) < len(lr_dict.keys()): # try consume the entire ring
++ while len(ordering) < len(list(lr_dict.keys())): # try consume the entire ring
+ # len(ordering) >= 2
+ last = ordering[-1]
+ if lr_dict[last][0] == ordering[-2]: # bi-directionality means this will always work
+@@ -1973,7 +1973,7 @@ class CoverageTransformer:
+ # stick (2 city system)
+ while(trier in ordering): # find the next index NOT in the ordering
+ trier += 1
+- if trier < len(lr_dict.keys()): # make sure it makes sense
++ if trier < len(list(lr_dict.keys())): # make sure it makes sense
+ ordering.append(trier)
+ break
+ else:
+@@ -1985,14 +1985,14 @@ class CoverageTransformer:
+ # single point
+ while(trier in ordering):
+ trier += 1
+- if trier < len(lr_dict.keys()): # make sure it makes sense
++ if trier < len(list(lr_dict.keys())): # make sure it makes sense
+ ordering.append(trier)
+
+ # sanity check
+ if len(ordering) != self.numStoits:
+- print "WATTUP, ordering is looking wrong!"
+- print ordering
+- print lr_dict
++ print("WATTUP, ordering is looking wrong!")
++ print(ordering)
++ print(lr_dict)
+
+ # reshuffle the contig order!
+ # yay for bubble sort!
+--- groopm/profileManager.py.orig 2015-03-06 07:00:49 UTC
++++ groopm/profileManager.py
+@@ -96,10 +96,10 @@ from scipy.spatial import KDTree as kdt
+ from scipy.stats import f_oneway, distributions
+
+ # GroopM imports
+-from PCA import PCA, Center
+-from mstore import GMDataManager
+-from bin import Bin, mungeCbar
+-import groopmExceptions as ge
++from .PCA import PCA, Center
++from .mstore import GMDataManager
++from .bin import Bin, mungeCbar
++from . import groopmExceptions as ge
+
+ np_seterr(all='raise')
+
+@@ -179,7 +179,7 @@ class ProfileManager:
+ if(silent):
+ verbose=False
+ if verbose:
+- print "Loading data from:", self.dbFileName
++ print("Loading data from:", self.dbFileName)
+
+ try:
+ self.numStoits = self.getNumStoits()
+@@ -188,19 +188,19 @@ class ProfileManager:
+ condition=condition,
+ silent=silent)
+ if(verbose):
+- print " Loaded indices with condition:", condition
++ print(" Loaded indices with condition:", condition)
+ self.numContigs = len(self.indices)
+
+ if self.numContigs == 0:
+- print " ERROR: No contigs loaded using condition:", condition
++ print(" ERROR: No contigs loaded using condition:", condition)
+ return
+
+ if(not silent):
+- print " Working with: %d contigs" % self.numContigs
++ print(" Working with: %d contigs" % self.numContigs)
+
+ if(loadCovProfiles):
+ if(verbose):
+- print " Loading coverage profiles"
++ print(" Loading coverage profiles")
+ self.covProfiles = self.dataManager.getCoverageProfiles(self.dbFileName, indices=self.indices)
+ self.normCoverages = self.dataManager.getNormalisedCoverageProfiles(self.dbFileName, indices=self.indices)
+
+@@ -209,14 +209,14 @@ class ProfileManager:
+
+ if loadRawKmers:
+ if(verbose):
+- print " Loading RAW kmer sigs"
++ print(" Loading RAW kmer sigs")
+ self.kmerSigs = self.dataManager.getKmerSigs(self.dbFileName, indices=self.indices)
+
+ if(loadKmerPCs):
+ self.kmerPCs = self.dataManager.getKmerPCAs(self.dbFileName, indices=self.indices)
+
+ if(verbose):
+- print " Loading PCA kmer sigs (" + str(len(self.kmerPCs[0])) + " dimensional space)"
++ print(" Loading PCA kmer sigs (" + str(len(self.kmerPCs[0])) + " dimensional space)")
+
+ self.kmerNormPC1 = np_copy(self.kmerPCs[:,0])
+ self.kmerNormPC1 -= np_min(self.kmerNormPC1)
+@@ -226,26 +226,26 @@ class ProfileManager:
+ self.kmerVarPC = self.dataManager.getKmerVarPC(self.dbFileName, indices=self.indices)
+
+ if(verbose):
+- print " Loading PCA kmer variance (total variance: %.2f" % np_sum(self.kmerVarPC) + ")"
++ print(" Loading PCA kmer variance (total variance: %.2f" % np_sum(self.kmerVarPC) + ")")
+
+ if(loadContigNames):
+ if(verbose):
+- print " Loading contig names"
++ print(" Loading contig names")
+ self.contigNames = self.dataManager.getContigNames(self.dbFileName, indices=self.indices)
+
+ if(loadContigLengths):
+ self.contigLengths = self.dataManager.getContigLengths(self.dbFileName, indices=self.indices)
+ if(verbose):
+- print " Loading contig lengths (Total: %d BP)" % ( sum(self.contigLengths) )
++ print(" Loading contig lengths (Total: %d BP)" % ( sum(self.contigLengths) ))
+
+ if(loadContigGCs):
+ self.contigGCs = self.dataManager.getContigGCs(self.dbFileName, indices=self.indices)
+ if(verbose):
+- print " Loading contig GC ratios (Average GC: %0.3f)" % ( np_mean(self.contigGCs) )
++ print(" Loading contig GC ratios (Average GC: %0.3f)" % ( np_mean(self.contigGCs) ))
+
+ if(makeColors):
+ if(verbose):
+- print " Creating color map"
++ print(" Creating color map")
+
+ # use HSV to RGB to generate colors
+ S = 1 # SAT and VAL remain fixed at 1. Reduce to make
+@@ -254,7 +254,7 @@ class ProfileManager:
+
+ if(loadBins):
+ if(verbose):
+- print " Loading bin assignments"
++ print(" Loading bin assignments")
+
+ self.binIds = self.dataManager.getBins(self.dbFileName, indices=self.indices)
+
+@@ -289,7 +289,7 @@ class ProfileManager:
+ self.stoitColNames = self.getStoitColNames()
+
+ except:
+- print "Error loading DB:", self.dbFileName, exc_info()[0]
++ print("Error loading DB:", self.dbFileName, exc_info()[0])
+ raise
+
+ def reduceIndices(self, deadRowIndices):
+@@ -419,7 +419,7 @@ class ProfileManager:
+ # we'd like to take it down to about 1500 or so RI's
+ # but we'd like to do this in a repeatable way
+ ideal_contig_num = 1500
+- sub_cons = range(len(self.indices))
++ sub_cons = list(range(len(self.indices)))
+ while len(sub_cons) > ideal_contig_num:
+ # select every second contig when sorted by norm cov
+ cov_sorted = np_argsort(self.normCoverages[sub_cons])
+@@ -497,7 +497,7 @@ class ProfileManager:
+ def transformCP(self, timer, silent=False, nolog=False):
+ """Do the main transformation on the coverage profile data"""
+ if(not silent):
+- print " Reticulating splines"
++ print(" Reticulating splines")
+ self.transformedCP = self.dataManager.getTransformedCoverageProfiles(self.dbFileName, indices=self.indices)
+ self.corners = self.dataManager.getTransformedCoverageCorners(self.dbFileName)
+ self.TCentre = np_mean(self.corners, axis=0)
+@@ -530,7 +530,7 @@ class ProfileManager:
+ def createColorMapHSV(self):
+ S = 1.0
+ V = 1.0
+- return LinearSegmentedColormap.from_list('GC', [htr((1.0 + np_sin(np_pi * (val/1000.0) - np_pi/2))/2., S, V) for val in xrange(0, 1000)], N=1000)
++ return LinearSegmentedColormap.from_list('GC', [htr((1.0 + np_sin(np_pi * (val/1000.0) - np_pi/2))/2., S, V) for val in range(0, 1000)], N=1000)
+
+ def setColorMap(self, colorMapStr):
+ if colorMapStr == 'HSV':
+@@ -617,7 +617,7 @@ class ProfileManager:
+ if self.numStoits == 3:
+ self.transformedCP = self.covProfiles
+ else:
+- print "Number of stoits != 3. You need to transform"
++ print("Number of stoits != 3. You need to transform")
+ self.transformCP(timer)
+
+ fig = plt.figure()
+@@ -633,7 +633,7 @@ class ProfileManager:
+ plt.show()
+ plt.close(fig)
+ except:
+- print "Error showing image", exc_info()[0]
++ print("Error showing image", exc_info()[0])
+ raise
+ del fig
+
+@@ -646,7 +646,7 @@ class ProfileManager:
+ if self.numStoits == 3:
+ self.transformedCP = self.covProfiles
+ else:
+- print "Number of stoits != 3. You need to transform"
++ print("Number of stoits != 3. You need to transform")
+ self.transformCP(timer)
+
+ fig = plt.figure()
+@@ -691,7 +691,7 @@ class ProfileManager:
+ plt.show()
+ plt.close(fig)
+ except:
+- print "Error showing image", exc_info()[0]
++ print("Error showing image", exc_info()[0])
+ raise
+ del fig
+
+@@ -801,7 +801,7 @@ class ProfileManager:
+ ax = fig.add_subplot(111, projection='3d')
+ if len(restrictedBids) == 0:
+ if highlight is None:
+- print "BF:", np_shape(self.transformedCP)
++ print("BF:", np_shape(self.transformedCP))
+ if ignoreContigLengths:
+ sc = ax.scatter(self.transformedCP[:,0],
+ self.transformedCP[:,1],
+@@ -895,7 +895,7 @@ class ProfileManager:
+ marker='.')
+ sc.set_edgecolors = sc.set_facecolors = lambda *args:None # disable depth transparency effect
+
+- print np_shape(disp_vals), np_shape(hide_vals), np_shape(self.transformedCP)
++ print(np_shape(disp_vals), np_shape(hide_vals), np_shape(self.transformedCP))
+
+ # render color bar
+ cbar = plt.colorbar(sc, shrink=0.5)
+@@ -914,7 +914,7 @@ class ProfileManager:
+ r_cols = np_append(r_cols, self.contigGCs[i])
+ num_added += 1
+ r_trans = np_reshape(r_trans, (num_added,3))
+- print np_shape(r_trans)
++ print(np_shape(r_trans))
+ #r_cols = np_reshape(r_cols, (num_added,3))
+ sc = ax.scatter(r_trans[:,0],
+ r_trans[:,1],
+@@ -958,13 +958,13 @@ class ProfileManager:
+ fig.set_size_inches(primaryWidth,primaryWidth)
+ plt.savefig(fileName,dpi=dpi,format=format)
+ except:
+- print "Error saving image",fileName, exc_info()[0]
++ print("Error saving image",fileName, exc_info()[0])
+ raise
+ elif(show):
+ try:
+ plt.show()
+ except:
+- print "Error showing image", exc_info()[0]
++ print("Error showing image", exc_info()[0])
+ raise
+ if del_fig:
+ plt.close(fig)
+@@ -1075,13 +1075,13 @@ class ProfileManager:
+ fig.set_size_inches(primaryWidth,primaryWidth)
+ plt.savefig(fileName,dpi=dpi,format=format)
+ except:
+- print "Error saving image",fileName, exc_info()[0]
++ print("Error saving image",fileName, exc_info()[0])
+ raise
+ else:
+ try:
+ plt.show()
+ except:
+- print "Error showing image", exc_info()[0]
++ print("Error showing image", exc_info()[0])
+ raise
+
+ ###############################################################################
+--- groopm/refine.py.orig 2014-11-26 01:01:33 UTC
++++ groopm/refine.py
+@@ -87,11 +87,11 @@ from scipy.spatial import KDTree as kdt
+ from scipy.spatial.distance import cdist, squareform, pdist
+
+ # GroopM imports
+-from binManager import BinManager
+-from ellipsoid import EllipsoidTool
+-from PCA import PCA, Center
+-import groopmExceptions as ge
+-from som import SOM
++from .binManager import BinManager
++from .ellipsoid import EllipsoidTool
++from .PCA import PCA, Center
++from . import groopmExceptions as ge
++from .som import SOM
+ np_seterr(all='raise')
+
+ ###############################################################################
+@@ -150,23 +150,23 @@ class RefineEngine:
+ ignoreRanges=True
+
+ if auto:
+- print " Start automatic bin refinement"
+- num_binned = len(self.PM.binnedRowIndices.keys())
++ print(" Start automatic bin refinement")
++ num_binned = len(list(self.PM.binnedRowIndices.keys()))
+ perc = "%.2f" % round((float(num_binned)/float(self.PM.numContigs))*100,2)
+- print " ",num_binned,"contigs across",len(self.BM.bins.keys()),"cores (",perc,"% )"
++ print(" ",num_binned,"contigs across",len(list(self.BM.bins.keys())),"cores (",perc,"% )")
+
+ graph = self.autoRefineBins(timer, makeGraph=gf!="")
+ if graph is not None:
+- print " Writing graph to:", gf
++ print(" Writing graph to:", gf)
+ try:
+ with open(gf, "w") as gv_fh:
+ gv_fh.write(graph)
+ except:
+- print "Error writing graph to:", gf
++ print("Error writing graph to:", gf)
+
+- num_binned = len(self.PM.binnedRowIndices.keys())
++ num_binned = len(list(self.PM.binnedRowIndices.keys()))
+ perc = "%.2f" % round((float(num_binned)/float(self.PM.numContigs))*100,2)
+- print " ",num_binned,"contigs across",len(self.BM.bins.keys()),"cores (",perc,"% )"
++ print(" ",num_binned,"contigs across",len(list(self.BM.bins.keys())),"cores (",perc,"% )")
+
+ if plotFinal != "":
+ bids = self.BM.getBids()
+@@ -196,28 +196,28 @@ class RefineEngine:
+ user_option = self.promptOnPlotterRefine()
+
+ if(user_option == 'Q'):
+- print '\nBye!'
++ print('\nBye!')
+ return
+
+ elif(user_option == 'C'):
+- print "Select colormap:"
+- print " 1. HSV"
+- print " 2. Accent"
+- print " 3. Blues"
+- print " 4. Spectral"
+- print " 5. Grayscale"
+- print " 6. Discrete (14 colors)"
+- print " 7. Discrete paired (14 colors)"
++ print("Select colormap:")
++ print(" 1. HSV")
++ print(" 2. Accent")
++ print(" 3. Blues")
++ print(" 4. Spectral")
++ print(" 5. Grayscale")
++ print(" 6. Discrete (14 colors)")
++ print(" 7. Discrete paired (14 colors)")
+
+ bValid = False
+ while(not bValid):
+ try:
+- colormap_id = int(raw_input(" Enter colormap number (e.g., 1): "))
++ colormap_id = int(input(" Enter colormap number (e.g., 1): "))
+ if colormap_id < 1 or colormap_id > 7:
+ raise ValueError('Invalid colormap id.')
+ bValid = True
+ except ValueError:
+- print "Colormap must be specified as a number between 1 and 7."
++ print("Colormap must be specified as a number between 1 and 7.")
+
+ if colormap_id == 1:
+ self.PM.setColorMap('HSV')
+@@ -238,19 +238,19 @@ class RefineEngine:
+ if use_elipses:
+ ET = None
+ use_elipses = False
+- print "\nEllipses off"
++ print("\nEllipses off")
+ else:
+ ET = self.ET
+ use_elipses = True
+- print "\nEllipses on"
++ print("\nEllipses on")
+
+ elif(user_option == 'X'):
+ if show_chimeric_bins:
+ show_chimeric_bins = False
+- print "\nHiding likely chimeric bins."
++ print("\nHiding likely chimeric bins.")
+ else:
+ show_chimeric_bins = True
+- print "\nShowing likely chimeric bins."
++ print("\nShowing likely chimeric bins.")
+
+ elif(user_option == 'R'):
+ self.BM.plotBinIds(ignoreRanges=ignoreRanges, showChimeric=show_chimeric_bins)
+@@ -277,7 +277,7 @@ class RefineEngine:
+ have_range = False
+ while(not have_range):
+ try:
+- gc_range_str = raw_input(" Enter GC range to examine (e.g., 0.5-0.6): ")
++ gc_range_str = input(" Enter GC range to examine (e.g., 0.5-0.6): ")
+
+ if '-' not in gc_range_str:
+ raise ValueError('Incorrectly formatted GC range.')
+@@ -289,7 +289,7 @@ class RefineEngine:
+
+ have_range = True
+ except ValueError:
+- print "GC ranges must be entered as 'a-b' (e.g., 0.5-0.6)."
++ print("GC ranges must be entered as 'a-b' (e.g., 0.5-0.6).")
+ self.BM.plotBinIds(gc_range=gc_range, ignoreRanges=ignoreRanges)
+
+ elif(user_option == 'B'):
+@@ -299,17 +299,17 @@ class RefineEngine:
+ while(not have_bid):
+ have_bid = True
+ try:
+- usr_bids = raw_input(" Enter 'space' seperated bin id(s) to plot: ")
++ usr_bids = input(" Enter 'space' seperated bin id(s) to plot: ")
+ bids = [int(i) for i in usr_bids.split(" ")]
+ if bids == [-1]:
+ bids = self.BM.getBids()
+ else:
+ for bid in bids:
+ if bid not in self.BM.bins:
+- print "ERROR: Bin %d not found!" % bid
++ print("ERROR: Bin %d not found!" % bid)
+ have_bid &= False
+ except ValueError:
+- print "You need to enter an integer value!"
++ print("You need to enter an integer value!")
+
+ if len(bids) > 0:
+ self.BM.plotSelectBins(bids, plotMers=True, ET=ET)
+@@ -320,22 +320,22 @@ class RefineEngine:
+ have_parts = False
+ while(not have_bid):
+ try:
+- bid = int(raw_input(" Enter bid to split: "))
++ bid = int(input(" Enter bid to split: "))
+ if bid not in self.BM.bins:
+- print "ERROR: Bin %d not found!" % bid
++ print("ERROR: Bin %d not found!" % bid)
+ else:
+ have_bid = True
+ except ValueError:
+- print "You need to enter an integer value!"
++ print("You need to enter an integer value!")
+ while(not have_parts):
+ try:
+- parts = int(raw_input(" Enter number of parts to split into: "))
++ parts = int(input(" Enter number of parts to split into: "))
+ if(parts < 2):
+- print "ERROR: Need to choose 2 or more parts"
++ print("ERROR: Need to choose 2 or more parts")
+ else:
+ have_parts = True
+ except ValueError:
+- print "You need to enter an integer value!"
++ print("You need to enter an integer value!")
+ self.BM.split(bid,
+ parts,
+ mode='kmer',
+@@ -350,23 +350,23 @@ class RefineEngine:
+ have_radius = False
+ while(not have_bid):
+ try:
+- bid = int(raw_input(" Enter bid of interest: "))
++ bid = int(input(" Enter bid of interest: "))
+ if bid not in self.BM.bins:
+- print "ERROR: Bin %d not found!" % bid
++ print("ERROR: Bin %d not found!" % bid)
+ else:
+ have_bid = True
+ except ValueError:
+- print "You need to enter an integer value!"
++ print("You need to enter an integer value!")
+ while(not have_radius):
+ try:
+- usr_radius = raw_input(" Enter radius to select from [default 100]: ")
++ usr_radius = input(" Enter radius to select from [default 100]: ")
+ if usr_radius == "":
+ radius = 100
+ else:
+ radius = int(usr_radius)
+ have_radius = True
+ except ValueError:
+- print "You need to enter an integer value!"
++ print("You need to enter an integer value!")
+
+ # we need to find all points in an area about the centroid of
+ # this bin
+@@ -397,9 +397,9 @@ class RefineEngine:
+ # reshape
+ disp_vals = np_reshape(disp_vals, (num_points, 3))
+
+- print " Points are located in bins:"
++ print(" Points are located in bins:")
+ for seen_bid in seen_bids:
+- print " %d - %d occurances" % (seen_bid, len(seen_bids[seen_bid]))
++ print(" %d - %d occurances" % (seen_bid, len(seen_bids[seen_bid])))
+
+ fig = plt.figure()
+ ax = fig.add_subplot(1,1,1, projection='3d')
+@@ -423,7 +423,7 @@ class RefineEngine:
+ try:
+ plt.show()
+ except:
+- print "Error showing image:", sys.exc_info()[0]
++ print("Error showing image:", sys.exc_info()[0])
+ raise
+ plt.close(fig)
+ del fig
+@@ -459,7 +459,7 @@ class RefineEngine:
+ # identify and remove outlier bins
+ if markLikelyChimeric:
+ nuked = self.markLikelyChimericBins()
+- print " %s" % timer.getTimeStamp()
++ print(" %s" % timer.getTimeStamp())
+ sys_stdout.flush()
+
+ if makeGraph:
+@@ -472,7 +472,7 @@ class RefineEngine:
+ # merge bins together
+ if mergeSimilarBins:
+ self.mergeSimilarBins(graph=graph, verbose=False)
+- print " %s" % timer.getTimeStamp()
++ print(" %s" % timer.getTimeStamp())
+ sys_stdout.flush()
+
+ if plotAfterOB:
+@@ -485,12 +485,12 @@ class RefineEngine:
+ self.PM.contigGCs,
+ self.PM.contigLengths)
+ self.BM.plotBins(FNPrefix="AFTER_OB", ET=self.ET)
+- print " %s" % timer.getTimeStamp()
++ print(" %s" % timer.getTimeStamp())
+ sys_stdout.flush()
+
+ if shuffleRefine:
+ nuked = self.shuffleRefineContigs(timer)
+- print " %s" % timer.getTimeStamp()
++ print(" %s" % timer.getTimeStamp())
+ sys_stdout.flush()
+ if makeGraph:
+ # Make sure we know these guys were deleted
+@@ -501,7 +501,7 @@ class RefineEngine:
+
+ if removeDuds:
+ nuked = self.removeDuds()
+- print " %s" % timer.getTimeStamp()
++ print(" %s" % timer.getTimeStamp())
+ sys_stdout.flush()
+ if makeGraph:
+ # Make sure we know these guys were deleted
+@@ -516,7 +516,7 @@ class RefineEngine:
+ def markLikelyChimericBins(self, verbose=False):
+ """ Identify bins which contain mixed genomes based on GC.
+ Small bins are nuked, large bins are flagged as chimeric. """
+- print " Identifying possible chimeric bins"
++ print(" Identifying possible chimeric bins")
+ sys_stdout.flush()
+
+ # first we need to build a distribution!
+@@ -553,8 +553,8 @@ class RefineEngine:
+ freeBinnedRowIndices=True,
+ saveBins=False)
+
+- print " Identified %d likely chimeric bin(s), removed %d small chimeric bin(s)" % (num_chimeric_bins, len(dead_bins))
+- print " %s" % ",".join(str(u) for u in dead_bins)
++ print(" Identified %d likely chimeric bin(s), removed %d small chimeric bin(s)" % (num_chimeric_bins, len(dead_bins)))
++ print(" %s" % ",".join(str(u) for u in dead_bins))
+ return dead_bins
+
+ def mergeSimilarBins(self, verbose=False, graph=None, silent=False):
+@@ -565,7 +565,7 @@ class RefineEngine:
+ orig_num_bins = len(self.BM.getNonChimericBinIds())
+
+ if not silent:
+- print " Merging similar bins (%d) with kCut %0.2f (+/-%0.3f) cCut %0.2f (+/-%0.3f)" % (orig_num_bins, kCutMedian, kCutStd, cCutMedian, cCutStd)
++ print(" Merging similar bins (%d) with kCut %0.2f (+/-%0.3f) cCut %0.2f (+/-%0.3f)" % (orig_num_bins, kCutMedian, kCutStd, cCutMedian, cCutStd))
+
+ # identify merging groups and then merge them
+ mergers = self.findMergeGroups(kCutMedian, kCutStd, cCutMedian, cCutStd, verbose=verbose)
+@@ -575,7 +575,7 @@ class RefineEngine:
+ bins_removed = self.combineMergers(merge, kCutMedian, kCutStd, cCutMedian, cCutStd, graph=graph)
+ num_bins_removed += len(bins_removed)
+ if not silent:
+- print " Merged %d of %d cores leaving %d cores total" % (num_bins_removed, orig_num_bins, len(self.BM.getNonChimericBinIds()))
++ print(" Merged %d of %d cores leaving %d cores total" % (num_bins_removed, orig_num_bins, len(self.BM.getNonChimericBinIds())))
+
+ return num_bins_removed
+
+@@ -666,10 +666,10 @@ class RefineEngine:
+ common_neighbors = set(cov_neighbor_list).intersection(set(kmer_neighbor_list))
+
+ if verbose:
+- print "++++++++++"
+- print bid, cov_neighbor_list
+- print bid, kmer_neighbor_list
+- print bid, common_neighbors
++ print("++++++++++")
++ print(bid, cov_neighbor_list)
++ print(bid, kmer_neighbor_list)
++ print(bid, common_neighbors)
+
+ # test each neighbor in turn
+ for i, neighbor_index in enumerate(common_neighbors):
+@@ -680,8 +680,8 @@ class RefineEngine:
+ merged_query_bid = merged_bins[merged_query_bid]
+
+ if verbose:
+- print "++++++++++"
+- print base_bid, query_bid, merged_base_bid, merged_query_bid
++ print("++++++++++")
++ print(base_bid, query_bid, merged_base_bid, merged_query_bid)
+ #-----
+ # TIME WASTERS
+
+@@ -689,7 +689,7 @@ class RefineEngine:
+ seen_key = self.BM.makeBidKey(base_bid, query_bid)
+ if(seen_key in processed_pairs or merged_base_bid == merged_query_bid):
+ if verbose:
+- print "TW"
++ print("TW")
+ continue
+ processed_pairs[seen_key] = True
+
+@@ -708,7 +708,7 @@ class RefineEngine:
+ )
+ if lengths_wrong:
+ if verbose:
+- print "LW"
++ print("LW")
+ continue
+
+ #-----
+@@ -719,15 +719,15 @@ class RefineEngine:
+ c_dist_bw = self.cDistBetweenBins(base_bin, query_bin)
+
+ if verbose:
+- print 'k_dist_bw, c_dist_bw'
+- print k_dist_bw, c_dist_bw
+- print '---------------------'
++ print('k_dist_bw, c_dist_bw')
++ print(k_dist_bw, c_dist_bw)
++ print('---------------------')
+
+
+ if k_dist_bw < kCutMedian and c_dist_bw < cCutMedian:
+ if verbose:
+- print 'MERGED'
+- print '---------------------'
++ print('MERGED')
++ print('---------------------')
+
+ if merged_query_bid < merged_base_bid:
+ merged_bins[merged_base_bid] = merged_query_bid
+@@ -773,7 +773,7 @@ class RefineEngine:
+
+ if not INTT:
+ if verbose:
+- print "KINTT"
++ print("KINTT")
+ continue
+ #-----
+ # MINIMUM BOUNDING COVERAGE ELLIPSOID
+@@ -802,7 +802,7 @@ class RefineEngine:
+
+ if not intersects:
+ if verbose:
+- print "CINTT"
++ print("CINTT")
+ continue
+
+ # We only get here if we're going to merge the bins
+@@ -869,7 +869,7 @@ class RefineEngine:
+ cur_bin = self.BM.getBin(cur_bid)
+
+ dists = []
+- for i in xrange(1, len(sorted_bid)):
++ for i in range(1, len(sorted_bid)):
+ frag_bid = sorted_bid[i]
+ frag_bin = self.BM.getBin(frag_bid)
+
+@@ -1069,14 +1069,14 @@ class RefineEngine:
+ iterations=800,
+ silent=silent,
+ weightImgFileNamePrefix=animateFilePrefix)
+- print " --"
+- print " %s" % timer.getTimeStamp()
++ print(" --")
++ print(" %s" % timer.getTimeStamp())
+ if render:
+ SS.renderWeights("S1")
+
+ if maskBoundaries:
+ if not silent:
+- print " Creating boundary mask"
++ print(" Creating boundary mask")
+ # make a boundary mask
+ if render:
+ SS.makeBoundaryMask(plotMaskFile="S2.png")
+@@ -1086,23 +1086,23 @@ class RefineEngine:
+ if defineBins:
+ # assign regions on som surface to specific bins
+ if not silent:
+- print " Defining bin regions"
++ print(" Defining bin regions")
+ SS.defineBinRegions(bids, training_data, render=render)
+ if render:
+ SS.renderBoundaryMask("S5.png")
+ if maskBoundaries:
+ # mask out regions where we don't like it
+ if not silent:
+- print " Masking SOM classifier"
++ print(" Masking SOM classifier")
+ SS.maskBoundaries(addNoise=False, doFlat=True)
+ if render:
+ SS.renderWeights("S6")
+
+- print " %s" % timer.getTimeStamp()
++ print(" %s" % timer.getTimeStamp())
+ if retrain:
+ # retrain bin regions using contigs from the bin
+ if not silent:
+- print " Retraining SOM classifier"
++ print(" Retraining SOM classifier")
+ for i in range(len(bids)):
+ bid = bids[i]
+ sys_stdout.write("\r Retraining on bin: %d (%d of %d)" % (bid, i+1, len(bids)))
+@@ -1117,7 +1117,7 @@ class RefineEngine:
+ render=render)
+ if render:
+ SS.renderWeights("gg")
+- print " --"
++ print(" --")
+
+ if render:
+ SS.renderWeights("S7")
+@@ -1148,8 +1148,8 @@ class RefineEngine:
+
+ # now we'd like to centre the weights and mask within an
+ # appropriately sized square
+- min_p = np_min(maskPoints.keys(), axis=0)
+- max_p = np_max(maskPoints.keys(), axis=0)
++ min_p = np_min(list(maskPoints.keys()), axis=0)
++ max_p = np_max(list(maskPoints.keys()), axis=0)
+ diffs = max_p - min_p
+ small_side = np_min(diffs)
+ sweights = np_copy(SS.weights.nodes[min_p[0]:min_p[0]+diffs[0]+1,min_p[1]:min_p[1]+diffs[1]+1])
+@@ -1158,7 +1158,7 @@ class RefineEngine:
+ # shift and mask out all other bins
+ shifted_mask_points = {}
+ shifted_bin_mask = np_ones((diffs[0]+1,diffs[1]+1))
+- for (r,c) in maskPoints.keys():
++ for (r,c) in list(maskPoints.keys()):
+ shift = maskPoints[(r,c)] - min_p
+ shifted_bin_mask[shift[0],shift[1]] = 0
+ shifted_mask_points[(shift[0], shift[1])] = shift
+@@ -1174,7 +1174,7 @@ class RefineEngine:
+
+ #SS.weights.renderSurface("D_%d.png"%bid, nodes=sweights)
+ # update the torusMesh values appropriately
+- for (r,c) in maskPoints.keys():
++ for (r,c) in list(maskPoints.keys()):
+ shift = maskPoints[(r,c)] - min_p
+ SS.weights.nodes[r,c] = sweights[shift[0], shift[1]]
+ SS.weights.fixFlatNodes()
+@@ -1185,7 +1185,7 @@ class RefineEngine:
+
+ def shuffleRefineContigs(self, timer, inclusivity=2):
+ """refine bins by shuffling contigs around"""
+- print " Start shuffle refinement"
++ print(" Start shuffle refinement")
+
+ # first, build a SOM
+ bids = self.BM.getBids()
+@@ -1198,7 +1198,7 @@ class RefineEngine:
+ defineBins=True,
+ retrain=True)
+
+- print " %s" % timer.getTimeStamp()
++ print(" %s" % timer.getTimeStamp())
+
+ # now do the shuffle refinement, keep an eye out for
+ new_assignments = {}
+@@ -1280,30 +1280,30 @@ class RefineEngine:
+ nones[old_bid] = 1
+
+
+- if False:
+- print " ------------------------------------------------------"
+- print " BID ORIG CHGE SAME NEWS NONE TOTAL"
+- print " ------------------------------------------------------"
++ if False:
++ print(" ------------------------------------------------------")
++ print(" BID ORIG CHGE SAME NEWS NONE TOTAL")
++ print(" ------------------------------------------------------")
+ for bid in bids:
+- print " %4d %5d " % (bid, self.BM.bins[bid].binSize),
++ print(" %4d %5d " % (bid, self.BM.bins[bid].binSize), end=' ')
+ if bid in wrongs:
+- print "%04d " % wrongs[bid],
++ print("%04d " % wrongs[bid], end=' ')
+ else:
+- print "0000 ",
++ print("0000 ", end=' ')
+ if bid in rights:
+- print "%04d " % rights[bid],
++ print("%04d " % rights[bid], end=' ')
+ else:
+- print "0000 ",
++ print("0000 ", end=' ')
+ if bid in news:
+- print "%04d " % news[bid],
++ print("%04d " % news[bid], end=' ')
+ else:
+- print "0000 ",
++ print("0000 ", end=' ')
+ if bid in nones:
+- print "%04d " % nones[bid],
++ print("%04d " % nones[bid], end=' ')
+ else:
+- print "0000 ",
+- print "%04d " % len(new_assignments[bid])
+- print "\n ---------------------------------------------"
++ print("0000 ", end=' ')
++ print("%04d " % len(new_assignments[bid]))
++ print("\n ---------------------------------------------")
+
+ # now get ready for saving.
+ # first, we nuke all non-chimeric bins
+@@ -1335,7 +1335,7 @@ class RefineEngine:
+
+ def removeDuds(self, ms=20, mv=1000000, verbose=False):
+ """Run this after refining to remove scrappy leftovers"""
+- print " Removing dud cores (min %d contigs or %d bp)" % (ms, mv)
++ print(" Removing dud cores (min %d contigs or %d bp)" % (ms, mv))
+ deleters = []
+ for bid in self.BM.getBids():
+ self.BM.bins[bid]
+@@ -1343,13 +1343,13 @@ class RefineEngine:
+ # delete this chap!
+ deleters.append(bid)
+ if verbose:
+- print "duds", deleters
++ print("duds", deleters)
+ if len(deleters) > 0:
+ self.BM.deleteBins(deleters,
+ force=True,
+ freeBinnedRowIndices=True,
+ saveBins=False)
+- print " Removed %d cores leaving %d cores" % (len(deleters), len(self.BM.bins))
++ print(" Removed %d cores leaving %d cores" % (len(deleters), len(self.BM.bins)))
+ return deleters
+
+ #------------------------------------------------------------------------------
+@@ -1509,7 +1509,7 @@ class RefineEngine:
+ step_size = float(len(row_indices)) / sample_size
+ si = []
+ index = 0.0
+- for _i in xrange(0, sample_size):
++ for _i in range(0, sample_size):
+ si.append(row_indices[sorted_indices[int(index)]])
+ index += step_size
+
+@@ -1568,10 +1568,10 @@ class RefineEngine:
+ indices2 = bin2.rowIndices
+
+ angles = []
+- for i in xrange(0, min(len(bin1.rowIndices), max_in_bin)):
++ for i in range(0, min(len(bin1.rowIndices), max_in_bin)):
+ r1 = indices1[i]
+
+- for j in xrange(0, min(len(bin2.rowIndices), max_in_bin)):
++ for j in range(0, min(len(bin2.rowIndices), max_in_bin)):
+ r2 = indices2[j]
+ try:
+ ang = np_arccos(np_dot(self.PM.covProfiles[r1], self.PM.covProfiles[r2]) /
+@@ -2051,7 +2051,7 @@ class RefineEngine:
+
+ def recruitWrapper(self, timer, inclusivity=2, step=200, nukeAll=False, saveBins=False):
+ """Recuit more contigs to the bins"""
+- print "Recruiting unbinned contigs"
++ print("Recruiting unbinned contigs")
+
+ # make a list of all the cov and kmer vals
+ total_expanded = 0
+@@ -2090,9 +2090,9 @@ class RefineEngine:
+
+ # talk to the user
+ perc_binned = float(total_binned)/float(total_contigs)
+- print " Planned steps = ", steps
+- print " BEGIN: %0.4f" % perc_binned +"%"+" of %d requested contigs in bins" % total_contigs
+- print " %d contigs unbinned" % total_unbinned
++ print(" Planned steps = ", steps)
++ print(" BEGIN: %0.4f" % perc_binned +"%"+" of %d requested contigs in bins" % total_contigs)
++ print(" %d contigs unbinned" % total_unbinned)
+
+ # build the classifier on all the existing bins
+ (SS, minz, maxz, side) = self.buildSOM(timer,
+@@ -2100,7 +2100,7 @@ class RefineEngine:
+ defineBins=True,
+ retrain=True)
+
+- print " %s" % timer.getTimeStamp()
++ print(" %s" % timer.getTimeStamp())
+
+ # go through the steps we decided on
+ affected_bids = list(np_copy(self.BM.getBids()))
+@@ -2132,7 +2132,7 @@ class RefineEngine:
+ block -= minz
+ block /= maxz
+
+- print " Recruiting contigs above: %d (%d contigs)" % (cutoff, len(unbinned_rows))
++ print(" Recruiting contigs above: %d (%d contigs)" % (cutoff, len(unbinned_rows)))
+
+ for i in range(len(unbinned_rows)):
+ putative_bid = SS.classifyContig(block[i])
+@@ -2159,21 +2159,21 @@ class RefineEngine:
+ for row_index in new_binned:
+ del unbinned[row_index]
+
+- print " Recruited: %d contigs" % this_step_binned
+- print " %s" % timer.getTimeStamp()
++ print(" Recruited: %d contigs" % this_step_binned)
++ print(" %s" % timer.getTimeStamp())
+ sys_stdout.flush()
+
+ # talk to the user
+ perc_recruited = float(total_expanded)/float(total_unbinned)
+ perc_binned = float(total_binned)/float(total_contigs)
+- print " Recruited %0.4f" % perc_recruited +"%"+" of %d unbinned contigs" % total_unbinned
+- print " END: %0.4f" % perc_binned +"%"+" of %d requested contigs in bins" % total_contigs
+- print " %s" % timer.getTimeStamp()
++ print(" Recruited %0.4f" % perc_recruited +"%"+" of %d unbinned contigs" % total_unbinned)
++ print(" END: %0.4f" % perc_binned +"%"+" of %d requested contigs in bins" % total_contigs)
++ print(" %s" % timer.getTimeStamp())
+ sys_stdout.flush()
+
+ # now save
+ if(saveBins):
+- print "Saving bins"
++ print("Saving bins")
+ self.BM.saveBins()
+
+ #------------------------------------------------------------------------------
+@@ -2183,7 +2183,7 @@ class RefineEngine:
+ """Output a valid graphviz dot file"""
+ op = "digraph refine {\n"
+ # render nodes
+- for bid in graph[0].keys():
++ for bid in list(graph[0].keys()):
+ op += graph[0][bid]
+ # render edges
+ op += "\n".join(graph[1])
+@@ -2191,7 +2191,7 @@ class RefineEngine:
+ return op
+
+ def printRefinePlotterInstructions(self):
+- raw_input( "****************************************************************\n"
++ input( "****************************************************************\n"
+ " REFINING INSTRUCTIONS - PLEASE READ CAREFULLY\n"+
+ "****************************************************************\n"
+ " You have chosen to refine in plotter mode. Congratulations!\n"
+@@ -2201,7 +2201,7 @@ class RefineEngine:
+ " Follow the instructions to merge or split these bins\n\n"
+ " Good Luck!\n\n"
+ " Press return to continue...")
+- print "****************************************************************"
++ print("****************************************************************")
+
+ def promptOnPlotterRefine(self, minimal=False):
+ """Find out what the user wishes to do next when refining bins"""
+@@ -2210,9 +2210,9 @@ class RefineEngine:
+ vrs = ",".join([str.lower(str(x)) for x in valid_responses])
+ while(input_not_ok):
+ if(minimal):
+- option = raw_input(" What next? ("+vrs+") : ")
++ option = input(" What next? ("+vrs+") : ")
+ else:
+- option = raw_input("\n Please choose from the following options:\n" \
++ option = input("\n Please choose from the following options:\n" \
+ "------------------------------------------------------------\n" \
+ " r = plot entire space using bin ids\n" \
+ " p = plot entire space with bins as points\n" \
+@@ -2231,7 +2231,7 @@ class RefineEngine:
+ if(option.upper() in valid_responses):
+ return option.upper()
+ else:
+- print "Error, unrecognised choice '"+option+"'"
++ print("Error, unrecognised choice '"+option+"'")
+ minimal=True
+
+ def PCA2Col(self, PCAs):
+@@ -2409,7 +2409,7 @@ class GrubbsTester:
+ idx = 999
+
+ if verbose:
+- print np_mean(compVals+[maxVal]), np_std(compVals+[maxVal], ddof=1), maxVal, v, idx, self.critVs[idx], v > self.critVs[idx]
++ print(np_mean(compVals+[maxVal]), np_std(compVals+[maxVal], ddof=1), maxVal, v, idx, self.critVs[idx], v > self.critVs[idx])
+
+ return v > self.critVs[idx]
+
+--- groopm/som.py.orig 2014-11-26 01:01:33 UTC
++++ groopm/som.py
+@@ -1,5 +1,5 @@
+ #!/usr/bin/env python
+-from __future__ import division
++
+ ###############################################################################
+ # #
+ # som.py #
+@@ -77,12 +77,13 @@ from math import log, exp
+ import numpy as np
+ from scipy.spatial.distance import cdist
+ from PIL import Image, ImageDraw
++from functools import reduce
+ np.seterr(all='raise')
+
+ # GroopM imports
+-from torusMesh import TorusMesh as TM
+-from rainbow import Rainbow
+-import groopmExceptions as ge
++from .torusMesh import TorusMesh as TM
++from .rainbow import Rainbow
++from . import groopmExceptions as ge
+
+ ###############################################################################
+ ###############################################################################
+@@ -193,7 +194,7 @@ class SOM:
+ # we only need to return a tuple
+ nt = self.makeNTuple(s_bid,q_bid)
+ neighbours[nt] = True
+- return neighbours.keys()
++ return list(neighbours.keys())
+
+ def makeNTuple(self, bid1, bid2):
+ """A way for making standard tuples from bids"""
+@@ -228,7 +229,7 @@ class SOM:
+ """
+
+ if not silent:
+- print " Start SOM training. Side: %d Max: %d iterations" % (self.side, iterations)
++ print(" Start SOM training. Side: %d Max: %d iterations" % (self.side, iterations))
+
+ if radius == 0.0:
+ radius = self.radius
+@@ -376,7 +377,7 @@ class SOM:
+ weights = np.clip(weights + deltasheet[rows:2*rows,cols:2*cols], 0, 1)
+ else:
+ delta_fold = deltasheet[rows:2*rows,cols:2*cols]
+- for (r,c) in mask.keys():
++ for (r,c) in list(mask.keys()):
+ weights[r,c] = np.clip(weights[r,c] + delta_fold[r,c], 0, 1)
+ flat_nodes = weights.reshape((rows*cols, self.dimension))
+
+@@ -386,7 +387,7 @@ class SOM:
+ # make a tmp image, perhaps
+ if(weightImgFileNamePrefix != ""):
+ filename = "%s_%04d.jpg" % (weightImgFileNamePrefix, i)
+- print " writing: %s" % filename
++ print(" writing: %s" % filename)
+ self.weights.renderSurface(filename)
+
+ return weights
+@@ -467,7 +468,7 @@ class SOM:
+ # get all the points within this region
+ points = self.floodFill(startR, startC, self.boundaryMask)
+ collision_bid = 0
+- for (r,c) in points.keys():
++ for (r,c) in list(points.keys()):
+ if self.binAssignments[r,c] != 0:
+ if self.binAssignments[r,c] != bid:
+ # we have already assigned this point to a bin
+@@ -487,7 +488,7 @@ class SOM:
+ # rebuild the mask with a new cutoff
+ mc = mc/2
+ mask = np.copy(self.boundaryMask)
+- for (r,c) in points.keys():
++ for (r,c) in list(points.keys()):
+ if self.VS_flat[r,c] > mc:
+ mask[r,c] = 1.
+ else:
+@@ -497,15 +498,15 @@ class SOM:
+ new_points = self.floodFill(startR, startC, mask)
+ #print len(collision_points.keys()), len(new_points.keys())
+ #print collision_points.keys()[0] in new_points
+- if len(collision_points.keys()) == 0 or len(new_points.keys()) == 0:
++ if len(list(collision_points.keys())) == 0 or len(list(new_points.keys())) == 0:
+ continue
+ # there should be no overlap
+- if collision_points.keys()[0] not in new_points:
++ if list(collision_points.keys())[0] not in new_points:
+ # we have resolved the issue
+ resolved = True
+ # now we need to fix the binAssignments and boundary mask
+ self.boundaryMask = mask
+- for (r,c) in points.keys():
++ for (r,c) in list(points.keys()):
+ if (r,c) in new_points:
+ # assign this point to the new bid
+ self.binAssignments[r,c] = bid
+@@ -517,7 +518,7 @@ class SOM:
+ break
+
+ if not resolved:
+- print "Cannot repair map, bin %d may be incorrectly merged with bin %d" % (bid, collision_bid)
++ print("Cannot repair map, bin %d may be incorrectly merged with bin %d" % (bid, collision_bid))
+ return
+
+ def makeBinMask(self, profile, fileName="", dim=False):
+@@ -526,7 +527,7 @@ class SOM:
+ points = self.floodFill(r, c, self.boundaryMask)
+ if fileName != "":
+ ret_mask = np.ones_like(self.boundaryMask)
+- for (r,c) in points.keys():
++ for (r,c) in list(points.keys()):
+ ret_mask[r,c] = 0
+ self.renderBoundaryMask(fileName, mask=ret_mask)
+
+@@ -600,7 +601,7 @@ class SOM:
+ img = img.resize((self.weights.columns*10, self.weights.rows*10),Image.NEAREST)
+ img.save(filename)
+ except:
+- print sys.exc_info()[0]
++ print(sys.exc_info()[0])
+ raise
+
+ def renderBoundaryMask(self, fileName, mask=None, colMap=None):
+@@ -625,7 +626,7 @@ class SOM:
+ img = img.resize((self.side*10, self.side*10),Image.NEAREST)
+ img.save(fileName)
+ except:
+- print sys.exc_info()[0]
++ print(sys.exc_info()[0])
+ raise
+
+ def transColour(self, val):
+@@ -659,7 +660,7 @@ class SOM:
+ img = img.resize((self.weights.columns*10, self.weights.rows*10),Image.NEAREST)
+ img.save(fileName)
+ except:
+- print sys.exc_info()[0]
++ print(sys.exc_info()[0])
+ raise
+
+ ###############################################################################
+--- groopm/torusMesh.py.orig 2014-11-26 01:01:33 UTC
++++ groopm/torusMesh.py
+@@ -250,7 +250,7 @@ class TorusMesh:
+ img = img.resize((columns*10, rows*10),Image.NEAREST)
+ img.save(fileName)
+ except:
+- print sys.exc_info()[0]
++ print(sys.exc_info()[0])
+ raise
+
+ ###############################################################################
diff --git a/biology/groopm/pkg-descr b/biology/groopm/pkg-descr
index 969de4b5f1c1..c2b7085ec3b0 100644
--- a/biology/groopm/pkg-descr
+++ b/biology/groopm/pkg-descr
@@ -3,5 +3,3 @@ dynamics (differential coverage) to accurately (and almost automatically)
extract population genomes from multi-sample metagenomic datasets.
GroopM is largely parameter-free. Use: groopm -h for more info.
-
-WWW: http://ecogenomics.github.io/GroopM/
diff --git a/biology/haplohseq/Makefile b/biology/haplohseq/Makefile
index 368c3bb04ed2..9233e3cee525 100644
--- a/biology/haplohseq/Makefile
+++ b/biology/haplohseq/Makefile
@@ -1,17 +1,18 @@
PORTNAME= haplohseq
DISTVERSION= 0.1.2
-PORTREVISION= 3
+PORTREVISION= 11
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Identify regions of allelic imbalance
+WWW= https://sites.google.com/site/integrativecancergenomics/software/haplohseq
LICENSE= MIT
LIB_DEPENDS= libboost_system.so:devel/boost-libs
RUN_DEPENDS= R-cran-optparse>0:devel/R-cran-optparse
-USES= compiler:c++11-lang gmake localbase:ldflags python:3.6+
+USES= compiler:c++14-lang gmake localbase:ldflags python
USE_GITHUB= yes
GH_ACCOUNT= outpaddling
@@ -19,6 +20,7 @@ GH_ACCOUNT= outpaddling
OPTIONS_DEFINE= EXAMPLES
MAKEFILE= makefile
+CXXFLAGS+= -std=c++14
LDFLAGS+= -lpthread
MAKE_ENV= STRIP=${STRIP}
diff --git a/biology/haplohseq/pkg-descr b/biology/haplohseq/pkg-descr
index 751d6d58268d..57173a7ea340 100644
--- a/biology/haplohseq/pkg-descr
+++ b/biology/haplohseq/pkg-descr
@@ -2,5 +2,3 @@ Haplohseq identifies regions of allelic imbalance (AI) in sequencing data
obtained from impure samples where AI events exist in a potentially low
proportion of cells in the sample. Input to the software includes a VCF file
of genotypes and estimated phased genotypes.
-
-WWW: https://sites.google.com/site/integrativecancergenomics/software/haplohseq
diff --git a/biology/hhsuite/Makefile b/biology/hhsuite/Makefile
index fc24fac30c34..36bda4005cdb 100644
--- a/biology/hhsuite/Makefile
+++ b/biology/hhsuite/Makefile
@@ -1,14 +1,18 @@
PORTNAME= hhsuite
DISTVERSIONPREFIX= v
DISTVERSION= 3.3.0
+PORTREVISION= 3
CATEGORIES= biology science
MAINTAINER= yuri@FreeBSD.org
COMMENT= Remote protein homology detection suite
+WWW= https://github.com/soedinglab/hh-suite
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
+NOT_FOR_ARCHS= armv6 armv7 i386 mips powerpc powerpcspe # not for 32-bit architectures, see https://github.com/soedinglab/hh-suite/issues/322#issuecomment-1264416293
+
LIB_DEPENDS= libmpi.so:net/openmpi
USES= compiler:c++11-lang cmake perl5 python shebangfix
@@ -19,13 +23,19 @@ GH_PROJECT= hh-suite
LDFLAGS+= -Wl,-rpath,${LOCALBASE}/mpi/openmpi/lib -L${LOCALBASE}/mpi/openmpi/lib -lmpi # force linking to openmpi, and not to mpich
+.if !exists(/usr/include/omp.h)
+PLIST_SUB+= OPENMP="@comment "
+.else
+PLIST_SUB+= OPENMP=""
+.endif
+
.include <bsd.port.options.mk>
.if ${ARCH} == aarch64
CMAKE_ON= HAVE_ARM8
.elif ${ARCH} == amd64 || ${ARCH} == i386
CMAKE_ON= HAVE_SSE2
-.elif ${ARCH:Mpowerpc64*}
+.elif ${ARCH} == powerpc64le
CMAKE_ON= HAVE_POWER8
.endif
diff --git a/biology/hhsuite/files/patch-lib_simde_simde_x86_sse2.h b/biology/hhsuite/files/patch-lib_simde_simde_x86_sse2.h
new file mode 100644
index 000000000000..898d98065043
--- /dev/null
+++ b/biology/hhsuite/files/patch-lib_simde_simde_x86_sse2.h
@@ -0,0 +1,11 @@
+--- lib/simde/simde/x86/sse2.h.orig 2022-10-01 09:24:35 UTC
++++ lib/simde/simde/x86/sse2.h
+@@ -6591,7 +6591,7 @@ simde_x_mm_negate_pd(simde__m128d a) {
+
+ #if defined(SIMDE_POWER_ALTIVEC_P9_NATIVE)
+ r_.altivec_f64 = vec_neg(a_.altivec_f64);
+- #elif defined(SIMDE_ARM_NEON_A32V7_NATIVE)
++ #elif defined(SIMDE_ARM_NEON_A64V8_NATIVE)
+ r_.neon_f64 = vnegq_f64(a_.neon_f64);
+ #elif defined(SIMDE_WASM_SIMD128d_NATIVE)
+ r_.wasm_v128d = wasm_f64x2_neg(a_.wasm_v128d);
diff --git a/biology/hhsuite/files/patch-src_CMakeLists.txt b/biology/hhsuite/files/patch-src_CMakeLists.txt
new file mode 100644
index 000000000000..a073eb7f342c
--- /dev/null
+++ b/biology/hhsuite/files/patch-src_CMakeLists.txt
@@ -0,0 +1,32 @@
+- remove -mcpu=native based on fallout messages from armv7
+
+--- src/CMakeLists.txt.orig 2022-08-04 16:05:31 UTC
++++ src/CMakeLists.txt
+@@ -53,17 +53,17 @@ if (NATIVE_ARCH AND (ARCH_FLAGS STREQUAL ""))
+ message(WARNING "At least SSE4.1 is needed for best performance")
+ endif ()
+ # clang has a problem with march=native on travis
+- if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.0.0")
+- set(ARCH_FLAGS "${SSE_FLAGS}")
+- else()
+- set(ARCH_FLAGS "-march=native")
+- endif()
++ #if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.0.0")
++ # set(ARCH_FLAGS "${SSE_FLAGS}")
++ #else()
++ # set(ARCH_FLAGS "-march=native")
++ #endif()
+ else ()
+- if (PPC64)
+- set(ARCH_FLAGS "-mcpu=native")
+- else ()
+- set(ARCH_FLAGS "-march=native")
+- endif ()
++ #if (PPC64)
++ # set(ARCH_FLAGS "-mcpu=native")
++ #else ()
++ # set(ARCH_FLAGS "-march=native")
++ #endif ()
+ endif ()
+ endif ()
+
diff --git a/biology/hhsuite/files/patch-src_a3m__compress.cpp b/biology/hhsuite/files/patch-src_a3m__compress.cpp
new file mode 100644
index 000000000000..a0c6629306a9
--- /dev/null
+++ b/biology/hhsuite/files/patch-src_a3m__compress.cpp
@@ -0,0 +1,12 @@
+--- src/a3m_compress.cpp.orig 2024-02-04 09:18:03 UTC
++++ src/a3m_compress.cpp
+@@ -12,6 +12,9 @@
+ #include <omp.h>
+ #endif
+
++#include <functional> // for std::ptr_fun
++
++
+ int compressed_a3m::compress_a3m(std::istream* input,
+ ffindex_index_t* ffindex_sequence_database_index,
+ char* ffindex_sequence_database_data, std::ostream* output) {
diff --git a/biology/hhsuite/pkg-descr b/biology/hhsuite/pkg-descr
index 5d2df6f41513..bec4ff368560 100644
--- a/biology/hhsuite/pkg-descr
+++ b/biology/hhsuite/pkg-descr
@@ -4,5 +4,3 @@ factor 4 and HHblits by a factor 2 over the previous version 2.0.16. HHblits3 is
~10x faster than PSI-BLAST and ~20x faster than HMMER3. Jobs to perform HHsearch
and HHblits searches with many query profile HMMs can be parallelized over cores
and over servers in a cluster using OpenMP and message passing interface (MPI).
-
-WWW: https://github.com/soedinglab/hh-suite
diff --git a/biology/hhsuite/pkg-plist b/biology/hhsuite/pkg-plist
index c0088e8470e1..7b43c4fe3173 100644
--- a/biology/hhsuite/pkg-plist
+++ b/biology/hhsuite/pkg-plist
@@ -17,17 +17,17 @@ bin/ffindex_reduce
bin/ffindex_unpack
bin/hhalign
bin/hhalign_mpi
-bin/hhalign_omp
+%%OPENMP%%bin/hhalign_omp
bin/hhblits
-bin/hhblits_ca3m
+%%OPENMP%%bin/hhblits_ca3m
bin/hhblits_mpi
-bin/hhblits_omp
+%%OPENMP%%bin/hhblits_omp
bin/hhconsensus
bin/hhfilter
bin/hhmake
bin/hhsearch
bin/hhsearch_mpi
-bin/hhsearch_omp
+%%OPENMP%%bin/hhsearch_omp
%%DATADIR%%/data/context_data.crf
%%DATADIR%%/data/context_data.lib
%%DATADIR%%/data/cs219.lib
diff --git a/biology/hisat2/Makefile b/biology/hisat2/Makefile
index 0b440ca813c0..da8449466d81 100644
--- a/biology/hisat2/Makefile
+++ b/biology/hisat2/Makefile
@@ -1,28 +1,30 @@
PORTNAME= hisat2
-DISTVERSION= 2.1.0-23
-DISTVERSIONSUFFIX= -g20f333e
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.2.1
+PORTREVISION= 2
CATEGORIES= biology perl5 python
MAINTAINER= jwb@FreeBSD.org
COMMENT= Alignment program for mapping next-generation sequencing reads
+WWW= https://ccb.jhu.edu/software/hisat2/index.shtml
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-# May work on other 64-bit archs, untested
-ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le riscv64
ONLY_FOR_ARCHS_REASON= 64-bit code, some assembly language
-USES= gmake perl5 python shebangfix
+BUILD_DEPENDS= simde>0:devel/simde
+
+USES= gmake localbase perl5 python shebangfix
USE_GITHUB= yes
-SHEBANG_FILES= hisat2 hisat2-build hisat2-inspect *.py \
- scripts/*.sh scripts/*.pl \
- hisatgenotype_modules/*.py \
- hisatgenotype_scripts/*.py \
- hisatgenotype_scripts/*.sh
-GH_ACCOUNT= infphilo
+SHEBANG_FILES= hisat2 hisat2-build hisat2-inspect \
+ *.py */*.py */*/*.py */*/*/*.py \
+ scripts/*.sh evaluation/tests/HLA_novel/scripts/*.sh \
+ scripts/*.pl docs_jhu/*.pl
+GH_ACCOUNT= DaehwanKimLab
-MAKEFILE= ${FILESDIR}/Makefile.pkg
+CFLAGS+= -Wno-deprecated-declarations -Wno-char-subscripts -fsigned-char
.include <bsd.port.mk>
diff --git a/biology/hisat2/distinfo b/biology/hisat2/distinfo
index 0807a6365a28..7cfdc88f2291 100644
--- a/biology/hisat2/distinfo
+++ b/biology/hisat2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1547001889
-SHA256 (infphilo-hisat2-2.1.0-23-g20f333e_GH0.tar.gz) = 7327fa50f51cd1a0fefe1a379cfeb2f06eefdbbe8f49b04b0d79332080f6be57
-SIZE (infphilo-hisat2-2.1.0-23-g20f333e_GH0.tar.gz) = 3972398
+TIMESTAMP = 1637941870
+SHA256 (DaehwanKimLab-hisat2-v2.2.1_GH0.tar.gz) = f3f4f867d0a6b1f880d64efc19deaa5788c62050e0a4d614ce98b3492f702599
+SIZE (DaehwanKimLab-hisat2-v2.2.1_GH0.tar.gz) = 6761242
diff --git a/biology/hisat2/files/Makefile.pkg b/biology/hisat2/files/Makefile.pkg
deleted file mode 100644
index 451fd441c793..000000000000
--- a/biology/hisat2/files/Makefile.pkg
+++ /dev/null
@@ -1,446 +0,0 @@
-#
-# Generic Makefile for package managers
-# J Bacon <bacon4000@gmail.com>
-#
-# This Makefile respects standard make variables provided by package
-# managers, such as CXX, CXXFLAGS, etc. It is intended to work on
-# any POSIX platform. Default behaviour should be similar to the
-# original Makefile.
-#
-# This file is part of HISAT2.
-#
-# HISAT 2 is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# HISAT 2 is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with HISAT. If not, see <http://www.gnu.org/licenses/>.
-#
-
-INC =
-GCC_PREFIX = $(shell dirname `which gcc`)
-GCC_SUFFIX =
-
-CC ?= $(GCC_PREFIX)/gcc$(GCC_SUFFIX)
-CPP ?= $(GCC_PREFIX)/g++$(GCC_SUFFIX)
-CXX ?= $(CPP)
-CXXFLAGS ?= -O2 -Wall
-INSTALL ?= install
-
-HEADERS = $(wildcard *.h)
-BOWTIE_MM = 1
-BOWTIE_SHARED_MEM = 0
-
-MACOS = 0
-ifneq (,$(findstring Darwin,$(shell uname)))
- MACOS = 1
-endif
-
-# EXTRA_FLAGS += -DPOPCNT_CAPABILITY
-INC += -I third_party
-
-MM_DEF =
-
-ifeq (1,$(BOWTIE_MM))
- MM_DEF = -DBOWTIE_MM
-endif
-
-SHMEM_DEF =
-
-ifeq (1,$(BOWTIE_SHARED_MEM))
- SHMEM_DEF = -DBOWTIE_SHARED_MEM
-endif
-
-PTHREAD_PKG =
-PTHREAD_LIB = -lpthread
-
-SEARCH_LIBS =
-BUILD_LIBS =
-INSPECT_LIBS =
-
-USE_SRA = 0
-SRA_DEF =
-SRA_LIB =
-SERACH_INC =
-ifeq (1,$(USE_SRA))
- SRA_DEF = -DUSE_SRA
- SRA_LIB = -lncbi-ngs-c++-static -lngs-c++-static -lncbi-vdb-static -ldl
- SEARCH_INC += -I$(NCBI_NGS_DIR)/include -I$(NCBI_VDB_DIR)/include
- SEARCH_LIBS += -L$(NCBI_NGS_DIR)/lib64 -L$(NCBI_VDB_DIR)/lib64
-endif
-
-LIBS = $(PTHREAD_LIB)
-
-SHARED_CPPS = ccnt_lut.cpp ref_read.cpp alphabet.cpp shmem.cpp \
- edit.cpp gfm.cpp \
- reference.cpp ds.cpp multikey_qsort.cpp limit.cpp \
- random_source.cpp tinythread.cpp
-SEARCH_CPPS = qual.cpp pat.cpp \
- read_qseq.cpp aligner_seed_policy.cpp \
- aligner_seed.cpp \
- aligner_seed2.cpp \
- aligner_sw.cpp \
- aligner_sw_driver.cpp aligner_cache.cpp \
- aligner_result.cpp ref_coord.cpp mask.cpp \
- pe.cpp aln_sink.cpp dp_framer.cpp \
- scoring.cpp presets.cpp unique.cpp \
- simple_func.cpp \
- random_util.cpp \
- aligner_bt.cpp sse_util.cpp \
- aligner_swsse.cpp outq.cpp \
- aligner_swsse_loc_i16.cpp \
- aligner_swsse_ee_i16.cpp \
- aligner_swsse_loc_u8.cpp \
- aligner_swsse_ee_u8.cpp \
- aligner_driver.cpp \
- splice_site.cpp
-
-SEARCH_OBJS = qual.o pat.o \
- read_qseq.o aligner_seed_policy.o \
- aligner_seed.o \
- aligner_seed2.o \
- aligner_sw.o \
- aligner_sw_driver.o aligner_cache.o \
- aligner_result.o ref_coord.o mask.o \
- pe.o aln_sink.o dp_framer.o \
- scoring.o presets.o unique.o \
- simple_func.o \
- random_util.o \
- aligner_bt.o sse_util.o \
- aligner_swsse.o outq.o \
- aligner_swsse_loc_i16.o \
- aligner_swsse_ee_i16.o \
- aligner_swsse_loc_u8.o \
- aligner_swsse_ee_u8.o \
- aligner_driver.o \
- splice_site.o
-
-BUILD_CPPS = diff_sample.cpp
-
-HISAT2_CPPS_MAIN = $(SEARCH_CPPS) hisat2_main.cpp
-HISAT2_BUILD_CPPS_MAIN = $(BUILD_CPPS) hisat2_build_main.cpp
-
-SEARCH_FRAGMENTS = $(wildcard search_*_phase*.c)
-VERSION = $(shell cat VERSION)
-
-DEBUG_FLAGS = $(CXXFLAGS) -O0 -g3
-DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\""
-RELEASE_FLAGS = $(CXXFLAGS)
-RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\""
-NOASSERT_FLAGS = -DNDEBUG
-FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
-
-ifeq (1,$(USE_SRA))
- ifeq (1, $(MACOS))
- DEBUG_FLAGS += -mmacosx-version-min=10.6
- RELEASE_FLAGS += -mmacosx-version-min=10.6
- endif
-endif
-
-
-HISAT2_BIN_LIST = hisat2-build-s \
- hisat2-build-l \
- hisat2-align-s \
- hisat2-align-l \
- hisat2-inspect-s \
- hisat2-inspect-l
-HISAT2_BIN_LIST_AUX = hisat2-build-s-debug \
- hisat2-build-l-debug \
- hisat2-align-s-debug \
- hisat2-align-l-debug \
- hisat2-inspect-s-debug \
- hisat2-inspect-l-debug
-
-GENERAL_LIST = $(wildcard scripts/*.sh) \
- $(wildcard scripts/*.pl) \
- $(wildcard *.py) \
- $(wildcard hisatgenotype_modules/*.py) \
- $(wildcard hisatgenotype_scripts/*.py) \
- doc/manual.inc.html \
- doc/README \
- doc/style.css \
- $(wildcard example/index/*.ht2) \
- $(wildcard example/reads/*.fa) \
- example/reference/22_20-21M.fa \
- example/reference/22_20-21M.snp \
- $(PTHREAD_PKG) \
- hisat2 \
- hisat2-build \
- hisat2-inspect \
- AUTHORS \
- LICENSE \
- NEWS \
- MANUAL \
- MANUAL.markdown \
- TUTORIAL \
- VERSION
-
-ifeq (1,$(WINDOWS))
- HISAT2_BIN_LIST := $(HISAT2_BIN_LIST) hisat2.bat hisat2-build.bat hisat2-inspect.bat
-endif
-
-# This is helpful on Windows under MinGW/MSYS, where Make might go for
-# the Windows FIND tool instead.
-FIND=$(shell which find)
-
-SRC_PKG_LIST = $(wildcard *.h) \
- $(wildcard *.hh) \
- $(wildcard *.c) \
- $(wildcard *.cpp) \
- doc/strip_markdown.pl \
- Makefile \
- $(GENERAL_LIST)
-
-BIN_PKG_LIST = $(GENERAL_LIST)
-
-.PHONY: all allall both both-debug install
-
-all: $(HISAT2_BIN_LIST)
-
-allall: $(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX)
-
-both: hisat2-align-s hisat2-align-l hisat2-build-s hisat2-build-l
-
-both-debug: hisat2-align-s-debug hisat2-align-l-debug hisat2-build-s-debug hisat2-build-l-debug
-
-DEFS=-fno-strict-aliasing \
- -DHISAT2_VERSION="\"`cat VERSION`\"" \
- -DBUILD_HOST="\"`hostname`\"" \
- -DBUILD_TIME="\"`date`\"" \
- -DCOMPILER_VERSION="\"`$(CXX) -v 2>&1 | tail -1`\"" \
- $(FILE_FLAGS) \
- $(PREF_DEF) \
- $(MM_DEF) \
- $(SHMEM_DEF)
-
-#
-# hisat-bp targets
-#
-
-hisat-bp-bin: hisat_bp.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
- $(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) -DBOWTIE2 $(NOASSERT_FLAGS) \
- $(INC) \
- -o $@ $< \
- $(SHARED_CPPS) $(HISAT_CPPS_MAIN) \
- $(LIBS) $(SEARCH_LIBS)
-
-hisat-bp-bin-debug: hisat_bp.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
- $(CXX) $(DEBUG_FLAGS) \
- $(DEBUG_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) -DBOWTIE2 \
- $(INC) \
- -o $@ $< \
- $(SHARED_CPPS) $(HISAT_CPPS_MAIN) \
- $(LIBS) $(SEARCH_LIBS)
-
-
-#
-# hisat2-build targets
-#
-
-hisat2-build-s: hisat2_build.cpp $(SHARED_CPPS) $(HEADERS)
- $(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) -DBOWTIE2 $(NOASSERT_FLAGS) -DMASSIVE_DATA_RLCSA \
- $(INC) \
- -o $@ $< \
- $(SHARED_CPPS) $(HISAT2_BUILD_CPPS_MAIN) \
- $(LIBS) $(BUILD_LIBS)
-
-hisat2-build-l: hisat2_build.cpp $(SHARED_CPPS) $(HEADERS)
- $(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) -DBOWTIE2 -DBOWTIE_64BIT_INDEX $(NOASSERT_FLAGS) \
- $(INC) \
- -o $@ $< \
- $(SHARED_CPPS) $(HISAT2_BUILD_CPPS_MAIN) \
- $(LIBS) $(BUILD_LIBS)
-
-hisat2-build-s-debug: hisat2_build.cpp $(SHARED_CPPS) $(HEADERS)
- $(CXX) $(DEBUG_FLAGS) $(DEBUG_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) -DBOWTIE2 -DMASSIVE_DATA_RLCSA \
- $(INC) \
- -o $@ $< \
- $(SHARED_CPPS) $(HISAT2_BUILD_CPPS_MAIN) \
- $(LIBS) $(BUILD_LIBS)
-
-hisat2-build-l-debug: hisat2_build.cpp $(SHARED_CPPS) $(HEADERS)
- $(CXX) $(DEBUG_FLAGS) $(DEBUG_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) -DBOWTIE2 -DBOWTIE_64BIT_INDEX \
- $(INC) \
- -o $@ $< \
- $(SHARED_CPPS) $(HISAT2_BUILD_CPPS_MAIN) \
- $(LIBS) $(BUILD_LIBS)
-
-#
-# hisat2 targets
-#
-
-hisat2-align-s: hisat2.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
- $(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) $(SRA_DEF) -DBOWTIE2 $(NOASSERT_FLAGS) \
- $(INC) $(SEARCH_INC) \
- -o $@ $< \
- $(SHARED_CPPS) $(HISAT2_CPPS_MAIN) \
- $(LIBS) $(SRA_LIB) $(SEARCH_LIBS)
-
-hisat2-align-l: hisat2.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
- $(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) $(SRA_DEF) -DBOWTIE2 -DBOWTIE_64BIT_INDEX $(NOASSERT_FLAGS) \
- $(INC) $(SEARCH_INC) \
- -o $@ $< \
- $(SHARED_CPPS) $(HISAT2_CPPS_MAIN) \
- $(LIBS) $(SRA_LIB) $(SEARCH_LIBS)
-
-hisat2-align-s-debug: hisat2.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
- $(CXX) $(DEBUG_FLAGS) \
- $(DEBUG_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) $(SRA_DEF) -DBOWTIE2 \
- $(INC) $(SEARCH_INC) \
- -o $@ $< \
- $(SHARED_CPPS) $(HISAT2_CPPS_MAIN) \
- $(LIBS) $(SRA_LIB) $(SEARCH_LIBS)
-
-hisat2-align-l-debug: hisat2.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
- $(CXX) $(DEBUG_FLAGS) \
- $(DEBUG_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) $(SRA_DEF) -DBOWTIE2 -DBOWTIE_64BIT_INDEX \
- $(INC) $(SEARCH_INC) \
- -o $@ $< \
- $(SHARED_CPPS) $(HISAT2_CPPS_MAIN) \
- $(LIBS) $(SRA_LIB) $(SEARCH_LIBS)
-
-#
-# hisat2-inspect targets
-#
-
-hisat2-inspect-s: hisat2_inspect.cpp $(HEADERS) $(SHARED_CPPS)
- $(CXX) $(RELEASE_FLAGS) \
- $(RELEASE_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) -DBOWTIE2 -DHISAT2_INSPECT_MAIN \
- $(INC) -I . \
- -o $@ $< \
- $(SHARED_CPPS) \
- $(LIBS) $(INSPECT_LIBS)
-
-hisat2-inspect-l: hisat2_inspect.cpp $(HEADERS) $(SHARED_CPPS)
- $(CXX) $(RELEASE_FLAGS) \
- $(RELEASE_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) -DBOWTIE2 -DBOWTIE_64BIT_INDEX -DHISAT2_INSPECT_MAIN \
- $(INC) -I . \
- -o $@ $< \
- $(SHARED_CPPS) \
- $(LIBS) $(INSPECT_LIBS)
-
-hisat2-inspect-s-debug: hisat2_inspect.cpp $(HEADERS) $(SHARED_CPPS)
- $(CXX) $(DEBUG_FLAGS) \
- $(DEBUG_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) -DBOWTIE2 -DHISAT2_INSPECT_MAIN \
- $(INC) -I . \
- -o $@ $< \
- $(SHARED_CPPS) \
- $(LIBS) $(INSPECT_LIBS)
-
-hisat2-inspect-l-debug: hisat2_inspect.cpp $(HEADERS) $(SHARED_CPPS)
- $(CXX) $(DEBUG_FLAGS) \
- $(DEBUG_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) -DBOWTIE2 -DBOWTIE_64BIT_INDEX -DHISAT2_INSPECT_MAIN \
- $(INC) -I . \
- -o $@ $< \
- $(SHARED_CPPS) \
- $(LIBS) $(INSPECT_LIBS)
-
-%.o: %.cpp
- $(CXX) -c $(RELEASE_FLAGS) \
- $(RELEASE_DEFS) $(EXTRA_FLAGS) \
- $(DEFS) -DBOWTIE2 -DHISAT2_INSPECT_MAIN \
- $(INC) -I . $< -o $@ $<
-
-hisat2: ;
-
-hisat2.bat:
- echo "@echo off" > hisat2.bat
- echo "perl %~dp0/hisat2 %*" >> hisat2.bat
-
-hisat2-build.bat:
- echo "@echo off" > hisat2-build.bat
- echo "python %~dp0/hisat2-build %*" >> hisat2-build.bat
-
-hisat2-inspect.bat:
- echo "@echo off" > hisat2-inspect.bat
- echo "python %~dp0/hisat2-inspect %*" >> hisat2-inspect.bat
-
-
-.PHONY: hisat2-src
-hisat2-src: $(SRC_PKG_LIST)
- chmod a+x scripts/*.sh scripts/*.pl
- mkdir .src.tmp
- mkdir .src.tmp/hisat2-$(VERSION)
- zip tmp.zip $(SRC_PKG_LIST)
- mv tmp.zip .src.tmp/hisat2-$(VERSION)
- cd .src.tmp/hisat2-$(VERSION) ; unzip tmp.zip ; rm -f tmp.zip
- cd .src.tmp ; zip -r hisat2-$(VERSION)-source.zip hisat2-$(VERSION)
- cp .src.tmp/hisat2-$(VERSION)-source.zip .
- rm -rf .src.tmp
-
-.PHONY: hisat2-bin
-hisat2-bin: $(BIN_PKG_LIST) $(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX)
- chmod a+x scripts/*.sh scripts/*.pl
- rm -rf .bin.tmp
- mkdir .bin.tmp
- mkdir .bin.tmp/hisat2-$(VERSION)
- if [ -f hisat2.exe ] ; then \
- zip tmp.zip $(BIN_PKG_LIST) $(addsuffix .exe,$(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX)) ; \
- else \
- zip tmp.zip $(BIN_PKG_LIST) $(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX) ; \
- fi
- mv tmp.zip .bin.tmp/hisat2-$(VERSION)
- cd .bin.tmp/hisat2-$(VERSION) ; unzip tmp.zip ; rm -f tmp.zip
- cd .bin.tmp ; zip -r hisat2-$(VERSION)-$(BITS).zip hisat2-$(VERSION)
- cp .bin.tmp/hisat2-$(VERSION)-$(BITS).zip .
- rm -rf .bin.tmp
-
-.PHONY: doc
-doc: doc/manual.inc.html MANUAL
-
-doc/manual.inc.html: MANUAL.markdown
- pandoc -T "HISAT2 Manual" -o $@ \
- --from markdown --to HTML --toc $^
- perl -i -ne \
- '$$w=0 if m|^</body>|;print if $$w;$$w=1 if m|^<body>|;' $@
-
-MANUAL: MANUAL.markdown
- perl doc/strip_markdown.pl < $^ > $@
-
-# Install per filesystem hierarchy standard:
-# https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
-
-.PHONY: install
-install:
- mkdir -p ${DESTDIR}${PREFIX}/bin
- ${INSTALL} -c -s ${HISAT2_BIN_LIST} ${DESTDIR}${PREFIX}/bin
- ${INSTALL} -c hisat2 hisat2-build hisat2-inspect \
- ${DESTDIR}${PREFIX}/bin
-
- mkdir -p ${DESTDIR}${PREFIX}/libexec/hisat2
- ${INSTALL} -c scripts/*.sh scripts/*.pl *.py \
- hisatgenotype_modules/hisat*.py \
- hisatgenotype_scripts/*.py hisatgenotype_scripts/*.sh \
- ${DESTDIR}${PREFIX}/libexec/hisat2
-
-.PHONY: clean
-clean:
- rm -f $(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX) \
- $(addsuffix .exe,$(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX)) \
- hisat2-src.zip hisat2-bin.zip
- rm -f core.* .tmp.head
- rm -rf *.dSYM
-
-.PHONY: push-doc
-push-doc: doc/manual.inc.html
- scp doc/*.*html doc/indexes.txt salz-dmz:/ccb/salz7-data/www/ccb.jhu.edu/html/software/hisat2/
diff --git a/biology/hisat2/files/patch-Makefile b/biology/hisat2/files/patch-Makefile
new file mode 100644
index 000000000000..b3027907ae07
--- /dev/null
+++ b/biology/hisat2/files/patch-Makefile
@@ -0,0 +1,80 @@
+--- Makefile.orig 2020-07-24 20:07:54 UTC
++++ Makefile
+@@ -23,9 +23,11 @@
+ INC =
+ GCC_PREFIX = $(shell dirname `which gcc`)
+ GCC_SUFFIX =
+-CC = $(GCC_PREFIX)/gcc$(GCC_SUFFIX)
+-CPP = $(GCC_PREFIX)/g++$(GCC_SUFFIX)
+-CXX = $(CPP)
++CC ?= $(GCC_PREFIX)/gcc$(GCC_SUFFIX)
++CPP ?= $(GCC_PREFIX)/g++$(GCC_SUFFIX)
++CXX ?= $(CPP)
++INSTALL ?= install
++
+ HEADERS = $(wildcard *.h)
+ BOWTIE_MM = 1
+ BOWTIE_SHARED_MEM = 0
+@@ -55,7 +57,7 @@ ifneq (,$(findstring Darwin,$(shell uname)))
+ MACOS = 1
+ endif
+
+-EXTRA_FLAGS += -DPOPCNT_CAPABILITY -std=c++11
++EXTRA_FLAGS += -std=c++11
+ INC += -I. -I third_party
+
+ MM_DEF =
+@@ -152,31 +154,9 @@ HISAT2_REPEAT_CPPS_MAIN = $(REPEAT_CPPS) $(BUILD_CPPS)
+ SEARCH_FRAGMENTS = $(wildcard search_*_phase*.c)
+ VERSION = $(shell cat VERSION)
+
+-# Convert BITS=?? to a -m flag
+-BITS=32
+-ifeq (x86_64,$(shell uname -m))
+-BITS=64
+-endif
+-# msys will always be 32 bit so look at the cpu arch instead.
+-ifneq (,$(findstring AMD64,$(PROCESSOR_ARCHITEW6432)))
+- ifeq (1,$(MINGW))
+- BITS=64
+- endif
+-endif
+-BITS_FLAG =
+-
+-ifeq (32,$(BITS))
+- BITS_FLAG = -m32
+-endif
+-
+-ifeq (64,$(BITS))
+- BITS_FLAG = -m64
+-endif
+-SSE_FLAG=-msse2
+-
+ DEBUG_FLAGS = -O0 -g3 $(BITS_FLAG) $(SSE_FLAG)
+ DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\""
+-RELEASE_FLAGS = -O3 $(BITS_FLAG) $(SSE_FLAG) -funroll-loops -g3
++RELEASE_FLAGS = $(CXXFLAGS)
+ RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\""
+ NOASSERT_FLAGS = -DNDEBUG
+ FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
+@@ -553,6 +533,20 @@ doc/manual.inc.html: MANUAL.markdown
+
+ MANUAL: MANUAL.markdown
+ perl doc/strip_markdown.pl < $^ > $@
++
++# Install per filesystem hierarchy standard:
++# https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
++
++.PHONY: install
++install:
++ mkdir -p ${DESTDIR}${PREFIX}/bin
++ ${INSTALL} -c -s ${HISAT2_BIN_LIST} ${DESTDIR}${PREFIX}/bin
++ ${INSTALL} -c hisat2 hisat2-build hisat2-inspect \
++ ${DESTDIR}${PREFIX}/bin
++
++ mkdir -p ${DESTDIR}${PREFIX}/libexec/hisat2
++ ${INSTALL} -c scripts/*.sh scripts/*.pl scripts/*.py *.py \
++ ${DESTDIR}${PREFIX}/libexec/hisat2
+
+ .PHONY: clean
+ clean:
diff --git a/biology/hisat2/files/patch-aligner__sw.h b/biology/hisat2/files/patch-aligner__sw.h
new file mode 100644
index 000000000000..24a24028ee6c
--- /dev/null
+++ b/biology/hisat2/files/patch-aligner__sw.h
@@ -0,0 +1,17 @@
+--- aligner_sw.h.orig 2020-07-24 20:07:54 UTC
++++ aligner_sw.h
+@@ -66,11 +66,13 @@
+
+ #define INLINE_CUPS
+
++#define SIMDE_ENABLE_NATIVE_ALIASES
++
++#include <simde/x86/sse2.h>
+ #include <stdint.h>
+ #include <iostream>
+ #include <limits>
+ #include "threading.h"
+-#include <emmintrin.h>
+ #include "aligner_sw_common.h"
+ #include "aligner_sw_nuc.h"
+ #include "ds.h"
diff --git a/biology/hisat2/files/patch-processor__support.h b/biology/hisat2/files/patch-processor__support.h
new file mode 100644
index 000000000000..e85c19b63f84
--- /dev/null
+++ b/biology/hisat2/files/patch-processor__support.h
@@ -0,0 +1,21 @@
+--- processor_support.h.orig 2020-07-24 20:07:54 UTC
++++ processor_support.h
+@@ -12,7 +12,7 @@
+
+ #if defined(__INTEL_COMPILER)
+ # define USING_INTEL_COMPILER
+-#elif defined(__GNUC__)
++#elif defined(__GNUC__) && (defined(__amd64__) || defined(__i386__))
+ # define USING_GCC_COMPILER
+ # include <cpuid.h>
+ #elif defined(_MSC_VER)
+@@ -52,8 +52,7 @@ class ProcessorSupport { (public)
+ #elif defined(USING_GCC_COMPILER)
+ __get_cpuid(0x1, &regs.EAX, &regs.EBX, &regs.ECX, &regs.EDX);
+ #else
+- std::cerr << "ERROR: please define __cpuid() for this build.\n";
+- assert(0);
++ return false;
+ #endif
+ if( !( (regs.ECX & BIT(20)) && (regs.ECX & BIT(23)) ) ) return false;
+ }
diff --git a/biology/hisat2/files/patch-sse__util.h b/biology/hisat2/files/patch-sse__util.h
new file mode 100644
index 000000000000..0241493cad77
--- /dev/null
+++ b/biology/hisat2/files/patch-sse__util.h
@@ -0,0 +1,17 @@
+--- sse_util.h.orig 2021-11-27 23:25:39 UTC
++++ sse_util.h
+@@ -20,11 +20,13 @@
+ #ifndef SSE_UTIL_H_
+ #define SSE_UTIL_H_
+
++#define SIMDE_ENABLE_NATIVE_ALIASES
++#include <simde/x86/sse2.h>
++
+ #include "assert_helpers.h"
+ #include "ds.h"
+ #include "limit.h"
+ #include <iostream>
+-#include <emmintrin.h>
+
+ class EList_m128i {
+ public:
diff --git a/biology/hisat2/pkg-descr b/biology/hisat2/pkg-descr
index c9b62e50c1b6..b2a627c14e97 100644
--- a/biology/hisat2/pkg-descr
+++ b/biology/hisat2/pkg-descr
@@ -1,5 +1,3 @@
HISAT2 is a fast and sensitive alignment program for mapping next-generation
sequencing reads (both DNA and RNA) to a population of human genomes (as well
as to a single reference genome).
-
-WWW: https://ccb.jhu.edu/software/hisat2/index.shtml
diff --git a/biology/hisat2/pkg-plist b/biology/hisat2/pkg-plist
index 8b92bbe4f588..b6d115a7a015 100644
--- a/biology/hisat2/pkg-plist
+++ b/biology/hisat2/pkg-plist
@@ -7,9 +7,8 @@ bin/hisat2-build-s
bin/hisat2-inspect
bin/hisat2-inspect-l
bin/hisat2-inspect-s
-libexec/hisat2/compare_HLA_Omixon.py
+bin/hisat2-repeat
libexec/hisat2/convert_quals.pl
-libexec/hisat2/extract_Omixon_HLA.py
libexec/hisat2/extract_exons.py
libexec/hisat2/extract_splice_sites.py
libexec/hisat2/gen_2b_occ_lookup.pl
@@ -19,21 +18,8 @@ libexec/hisat2/hisat2_extract_exons.py
libexec/hisat2/hisat2_extract_snps_haplotypes_UCSC.py
libexec/hisat2/hisat2_extract_snps_haplotypes_VCF.py
libexec/hisat2/hisat2_extract_splice_sites.py
+libexec/hisat2/hisat2_read_statistics.py
libexec/hisat2/hisat2_simulate_reads.py
-libexec/hisat2/hisatgenotype.py
-libexec/hisat2/hisatgenotype_HLA_genotyping_PGs.py
-libexec/hisat2/hisatgenotype_assembly_graph.py
-libexec/hisat2/hisatgenotype_build_genome.py
-libexec/hisat2/hisatgenotype_convert_codis.py
-libexec/hisat2/hisatgenotype_extract_codis_data.py
-libexec/hisat2/hisatgenotype_extract_cyp_data.py
-libexec/hisat2/hisatgenotype_extract_reads.py
-libexec/hisat2/hisatgenotype_extract_vars.py
-libexec/hisat2/hisatgenotype_gene_typing.py
-libexec/hisat2/hisatgenotype_hla_cyp.py
-libexec/hisat2/hisatgenotype_locus.py
-libexec/hisat2/hisatgenotype_locus_samples.py
-libexec/hisat2/hisatgenotype_typing_common.py
libexec/hisat2/infer_fraglen.pl
libexec/hisat2/make_a_thaliana_tair.sh
libexec/hisat2/make_b_taurus_UMD3.sh
@@ -49,7 +35,9 @@ libexec/hisat2/make_grch37_snp_tran.sh
libexec/hisat2/make_grch37_snp_tran_ercc.sh
libexec/hisat2/make_grch37_tran.sh
libexec/hisat2/make_grch38.sh
+libexec/hisat2/make_grch38_rep.sh
libexec/hisat2/make_grch38_snp.sh
+libexec/hisat2/make_grch38_snp_rep.sh
libexec/hisat2/make_grch38_snp_tran.sh
libexec/hisat2/make_grch38_snp_tran_ercc.sh
libexec/hisat2/make_grch38_tran.sh
@@ -74,8 +62,5 @@ libexec/hisat2/make_sc3.sh
libexec/hisat2/make_wbcel235.sh
libexec/hisat2/make_wbcel235_tran.sh
libexec/hisat2/make_zm3_snp_tran_ercc.sh
-libexec/hisat2/run_extract_CP.sh
-libexec/hisat2/run_extract_ILMN.sh
-libexec/hisat2/run_genotype_build.sh
-libexec/hisat2/run_hisat2_build.sh
-libexec/hisat2/run_type_CP.sh
+libexec/hisat2/sa.py
+libexec/hisat2/validate_repeat.py
diff --git a/biology/hmmer/Makefile b/biology/hmmer/Makefile
index ab84a5876401..f5097d816ada 100644
--- a/biology/hmmer/Makefile
+++ b/biology/hmmer/Makefile
@@ -1,12 +1,12 @@
-# Created by: barnhart@genetics.wustl.edu
-
PORTNAME= hmmer
-PORTVERSION= 3.3
+PORTVERSION= 3.3.2
+PORTREVISION= 1
CATEGORIES= biology
MASTER_SITES= http://eddylab.org/software/hmmer/
MAINTAINER= mzaki@e-mail.ne.jp
COMMENT= Profile hidden Markov models for biological sequence analysis
+WWW= http://hmmer.org/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -14,15 +14,16 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64
ONLY_FOR_ARCHS_REASON= requires SSE2 or AltiVec instructions
-USES= compiler:c11 gmake perl5 python:3.5+,test shebangfix
+USES= compiler:c11 gmake perl5 python:test shebangfix
+USE_PERL5= test
+SHEBANG_FILES= easel/devkit/*
+SHEBANG_GLOB= *.pl *.py
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
MAKE_ARGS= V=1
TEST_TARGET= check
-USE_PERL5= test
-SHEBANG_GLOB= *.pl *.py
-SHEBANG_FILES= easel/devkit/*
OPTIONS_DEFINE= DOCS EXAMPLES TEST
@@ -31,14 +32,11 @@ EXAMPLES= 7LESS_DROME HBB_HUMAN MADE1.hmm MADE1.sto \
Pkinase.hmm Pkinase.sto dna_target.fa fn3.hmm fn3.sto \
globins4.hmm globins4.sto globins45.fa
-TEST_VARS= use_perl5=build
TEST_BUILD_DEPENDS= ${PYTHON_VERSION}:lang/python${PYTHON_SUFFIX}
+TEST_VARS= use_perl5=build
post-build-TEST-on: pre-test do-test
-pre-test:
- ${FIND} ${WRKSRC} -type f \( -name Makefile -or -name sqc \) -exec ${GREP} -q 'python3 ' {} \; -print | ${XARGS} ${SED} -i.bak 's/python3 /${PYTHON_VERSION} /'
-
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/*
@@ -50,4 +48,7 @@ post-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${EXAMPLES:S,^,${WRKSRC}/tutorial/,} ${STAGEDIR}${EXAMPLESDIR}
+pre-test:
+ ${FIND} ${WRKSRC} -type f \( -name Makefile -or -name sqc \) -exec ${GREP} -q 'python3 ' {} \; -print | ${XARGS} ${SED} -i.bak 's/python3 /${PYTHON_VERSION} /'
+
.include <bsd.port.mk>
diff --git a/biology/hmmer/distinfo b/biology/hmmer/distinfo
index 4af97cebbada..edb75ddf6465 100644
--- a/biology/hmmer/distinfo
+++ b/biology/hmmer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1578579116
-SHA256 (hmmer-3.3.tar.gz) = 0186bf40af67032666014971ed8ddc3cf2834bebc2be5b3bc0304a93e763736c
-SIZE (hmmer-3.3.tar.gz) = 18614771
+TIMESTAMP = 1665491511
+SHA256 (hmmer-3.3.2.tar.gz) = 92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69
+SIZE (hmmer-3.3.2.tar.gz) = 18213049
diff --git a/biology/hmmer/files/patch-src_hmmc2.c b/biology/hmmer/files/patch-src_hmmc2.c
deleted file mode 100644
index 8d16156a130c..000000000000
--- a/biology/hmmer/files/patch-src_hmmc2.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/hmmc2.c.orig 2019-11-18 13:23:12 UTC
-+++ src/hmmc2.c
-@@ -334,7 +334,7 @@ int main(int argc, char *argv[])
- n = sizeof(sstatus);
- total += n;
- if ((size = readn(sock, &sstatus, n)) == -1) {
-- if(errno == 104 || errno == 0){
-+ if(errno == ECONNRESET || errno == 0){
- // connection was reset, usually because server exited
- fprintf(stderr, "Daemon exited, shutting down\n");
- exit(0);
diff --git a/biology/hmmer/pkg-descr b/biology/hmmer/pkg-descr
index 1643fd56843d..85d97e06125e 100644
--- a/biology/hmmer/pkg-descr
+++ b/biology/hmmer/pkg-descr
@@ -6,5 +6,3 @@ Given a multiple sequence alignment as input, HMMER builds a statistical
model called a "hidden Markov model" which can then be used as a query into
a sequence database to find (and/or align) additional homologues of the
sequence family.
-
-WWW: http://hmmer.org/
diff --git a/biology/hmmer/pkg-plist b/biology/hmmer/pkg-plist
index 03cffa252089..854e831b8df2 100644
--- a/biology/hmmer/pkg-plist
+++ b/biology/hmmer/pkg-plist
@@ -17,27 +17,27 @@ bin/makehmmerdb
bin/nhmmer
bin/nhmmscan
bin/phmmer
-man/man1/alimask.1.gz
-man/man1/hmmalign.1.gz
-man/man1/hmmbuild.1.gz
-man/man1/hmmc2.1.gz
-man/man1/hmmconvert.1.gz
-man/man1/hmmemit.1.gz
-man/man1/hmmer.1.gz
-man/man1/hmmfetch.1.gz
-man/man1/hmmlogo.1.gz
-man/man1/hmmpgmd.1.gz
-man/man1/hmmpgmd_shard.1.gz
-man/man1/hmmpress.1.gz
-man/man1/hmmscan.1.gz
-man/man1/hmmsearch.1.gz
-man/man1/hmmsim.1.gz
-man/man1/hmmstat.1.gz
-man/man1/jackhmmer.1.gz
-man/man1/makehmmerdb.1.gz
-man/man1/nhmmer.1.gz
-man/man1/nhmmscan.1.gz
-man/man1/phmmer.1.gz
+share/man/man1/alimask.1.gz
+share/man/man1/hmmalign.1.gz
+share/man/man1/hmmbuild.1.gz
+share/man/man1/hmmc2.1.gz
+share/man/man1/hmmconvert.1.gz
+share/man/man1/hmmemit.1.gz
+share/man/man1/hmmer.1.gz
+share/man/man1/hmmfetch.1.gz
+share/man/man1/hmmlogo.1.gz
+share/man/man1/hmmpgmd.1.gz
+share/man/man1/hmmpgmd_shard.1.gz
+share/man/man1/hmmpress.1.gz
+share/man/man1/hmmscan.1.gz
+share/man/man1/hmmsearch.1.gz
+share/man/man1/hmmsim.1.gz
+share/man/man1/hmmstat.1.gz
+share/man/man1/jackhmmer.1.gz
+share/man/man1/makehmmerdb.1.gz
+share/man/man1/nhmmer.1.gz
+share/man/man1/nhmmscan.1.gz
+share/man/man1/phmmer.1.gz
%%PORTDOCS%%%%DOCSDIR%%/Userguide.pdf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/7LESS_DROME
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/HBB_HUMAN
diff --git a/biology/htslib/Makefile b/biology/htslib/Makefile
index ec7ab0ab4d8d..5a844cef433c 100644
--- a/biology/htslib/Makefile
+++ b/biology/htslib/Makefile
@@ -1,13 +1,13 @@
-# Created by: Reed A. Cartwright <cartwright@asu.edu>
-
PORTNAME= htslib
-DISTVERSION= 1.13
+DISTVERSION= 1.17
+PORTREVISION= 1
CATEGORIES= biology devel
# Github generated distfiles are incomplete, so use custom tarball
MASTER_SITES= https://github.com/samtools/htslib/releases/download/${DISTVERSION}/
MAINTAINER= jwb@FreeBSD.org
COMMENT= C library for high-throughput sequencing data formats
+WWW= https://www.htslib.org/
LICENSE= BSD3CLAUSE MIT
LICENSE_COMB= multi
@@ -21,6 +21,10 @@ USE_PERL5= test
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+MAKE_ARGS_armv6= HTS_HAVE_NEON=
+MAKE_ARGS_armv7= HTS_HAVE_NEON=
+MAKE_ARGS= $(MAKE_ARGS_$(ARCH))
PATHFIX_MAKEFILEIN= Makefile
SHEBANG_FILES= test/*.pl
diff --git a/biology/htslib/distinfo b/biology/htslib/distinfo
index dc4bf1b4ea09..24c398cacc3c 100644
--- a/biology/htslib/distinfo
+++ b/biology/htslib/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1626039683
-SHA256 (htslib-1.13.tar.bz2) = f2407df9f97f0bb6b07656579e41a1ca5100464067b6b21bf962a2ea4b0efd65
-SIZE (htslib-1.13.tar.bz2) = 4226834
+TIMESTAMP = 1677245487
+SHA256 (htslib-1.17.tar.bz2) = 763779288c40f07646ec7ad98b96c378c739171d162ad98398868783b721839f
+SIZE (htslib-1.17.tar.bz2) = 4619884
diff --git a/biology/htslib/files/patch-Makefile b/biology/htslib/files/patch-Makefile
index 7f91465d2ccd..eb6fb7f85901 100644
--- a/biology/htslib/files/patch-Makefile
+++ b/biology/htslib/files/patch-Makefile
@@ -1,33 +1,14 @@
---- Makefile.orig 2021-03-20 15:53:14 UTC
+--- Makefile.orig 2023-02-24 13:35:28 UTC
+++ Makefile
-@@ -53,13 +53,14 @@ man5dir = $(mandir)/man5
- man7dir = $(mandir)/man7
- pkgconfigdir= $(prefix)/libdata/pkgconfig
-
--MKDIR_P = mkdir -p
--INSTALL = install -p
--INSTALL_DATA = $(INSTALL) -m 644
--INSTALL_DIR = $(MKDIR_P) -m 755
--INSTALL_LIB = $(INSTALL_DATA)
--INSTALL_MAN = $(INSTALL_DATA)
+@@ -60,9 +60,9 @@ INSTALL = install -p
+ INSTALL_DATA = $(INSTALL) -m 644
+ INSTALL_DIR = $(MKDIR_P) -m 755
+ LIB_PERM = 644
+-INSTALL_LIB = $(INSTALL) -m $(LIB_PERM)
++INSTALL_LIB = $(BSD_INSTALL_LIB)
+ INSTALL_MAN = $(INSTALL_DATA)
-INSTALL_PROGRAM = $(INSTALL)
-+# Use ports BSD_INSTALL_PROGRAM to strip if WITH_DEBUG is not set
-+MKDIR_P = mkdir -p
-+INSTALL = install -p
-+INSTALL_DATA = ${BSD_INSTALL_DATA}
-+INSTALL_DIR = $(MKDIR_P)
-+INSTALL_LIB = ${BSD_INSTALL_LIB}
-+INSTALL_MAN = ${BSD_INSTALL_MAN}
-+INSTALL_PROGRAM = ${BSD_INSTALL_PROGRAM}
++INSTALL_PROGRAM = $(BSD_INSTALL_PROGRAM)
# Set by config.mk if plugins are enabled
plugindir =
-@@ -102,7 +103,7 @@ BUILT_THRASH_PROGRAMS = \
- test/thrash_threads6 \
- test/thrash_threads7
-
--all: lib-static lib-shared $(BUILT_PROGRAMS) plugins $(BUILT_TEST_PROGRAMS) \
-+all: lib-static lib-shared $(BUILT_PROGRAMS) plugins \
- htslib_static.mk htslib-uninstalled.pc
-
- ALL_CPPFLAGS = -I. $(CPPFLAGS)
diff --git a/biology/htslib/files/patch-htscodecs_htscodecs_rANS__static32x16pr__neon.c b/biology/htslib/files/patch-htscodecs_htscodecs_rANS__static32x16pr__neon.c
new file mode 100644
index 000000000000..577a3d651321
--- /dev/null
+++ b/biology/htslib/files/patch-htscodecs_htscodecs_rANS__static32x16pr__neon.c
@@ -0,0 +1,11 @@
+--- htscodecs/htscodecs/rANS_static32x16pr_neon.c.orig 2023-04-17 21:11:08 UTC
++++ htscodecs/htscodecs/rANS_static32x16pr_neon.c
+@@ -32,7 +32,7 @@
+ */
+
+ #include "config.h"
+-#ifdef __ARM_NEON
++#if defined(__ARM_NEON) && defined(__aarch64__)
+ #include <arm_neon.h>
+
+ #include <limits.h>
diff --git a/biology/htslib/files/patch-htscodecs_htscodecs_rANS__static4x16pr.c b/biology/htslib/files/patch-htscodecs_htscodecs_rANS__static4x16pr.c
new file mode 100644
index 000000000000..8f3e883eec42
--- /dev/null
+++ b/biology/htslib/files/patch-htscodecs_htscodecs_rANS__static4x16pr.c
@@ -0,0 +1,11 @@
+--- htscodecs/htscodecs/rANS_static4x16pr.c.orig 2023-04-17 21:13:50 UTC
++++ htscodecs/htscodecs/rANS_static4x16pr.c
+@@ -1006,7 +1006,7 @@ unsigned char *(*rans_dec_func(int do_simd, int order)
+ }
+ }
+
+-#elif defined(__ARM_NEON)
++#elif defined(__ARM_NEON) && defined(__aarch64__)
+
+ #if defined(__linux__) || defined(__FreeBSD__)
+ #include <sys/auxv.h>
diff --git a/biology/htslib/pkg-descr b/biology/htslib/pkg-descr
index f5684283ff81..050ad06ba93e 100644
--- a/biology/htslib/pkg-descr
+++ b/biology/htslib/pkg-descr
@@ -1,5 +1,3 @@
HTSlib is an implementation of a unified C library for accessing common file
formats, such as SAM, CRAM, VCF, and BCF, used for high-throughput sequencing
data. It is the core library used by samtools and bcftools.
-
-WWW: https://www.htslib.org/
diff --git a/biology/htslib/pkg-plist b/biology/htslib/pkg-plist
index e2ebe3a2e8d6..8c97aa84399c 100644
--- a/biology/htslib/pkg-plist
+++ b/biology/htslib/pkg-plist
@@ -34,10 +34,10 @@ lib/libhts.so
lib/libhts.so.%%PORTVERSION%%
lib/libhts.so.3
libdata/pkgconfig/htslib.pc
-man/man1/bgzip.1.gz
-man/man1/htsfile.1.gz
-man/man1/tabix.1.gz
-man/man5/faidx.5.gz
-man/man5/sam.5.gz
-man/man5/vcf.5.gz
-man/man7/htslib-s3-plugin.7.gz
+share/man/man1/bgzip.1.gz
+share/man/man1/htsfile.1.gz
+share/man/man1/tabix.1.gz
+share/man/man5/faidx.5.gz
+share/man/man5/sam.5.gz
+share/man/man5/vcf.5.gz
+share/man/man7/htslib-s3-plugin.7.gz
diff --git a/biology/hyphy/Makefile b/biology/hyphy/Makefile
index 99d7ada92851..97bceda17ba2 100644
--- a/biology/hyphy/Makefile
+++ b/biology/hyphy/Makefile
@@ -1,18 +1,21 @@
PORTNAME= hyphy
-DISTVERSION= 2.5.32
+DISTVERSION= 2.5.60
CATEGORIES= biology
MAINTAINER= jrm@FreeBSD.org
COMMENT= Hypothesis testing using Phylogenies
+WWW= https://www.hyphy.org/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-ONLY_FOR_ARCHS= amd64 i386
+ONLY_FOR_ARCHS= aarch64 amd64 i386 powerpc powerpc64 powerpc64le
LIB_DEPENDS= libcurl.so:ftp/curl
+TEST_DEPENDS= bash:shells/bash
+
+USES= cmake:insource,testing localbase:ldflags # tests fail in outsource build, see https://github.com/veg/hyphy/issues/1528
-USES= cmake localbase:ldflags
USE_GITHUB= yes
GH_ACCOUNT= veg
diff --git a/biology/hyphy/distinfo b/biology/hyphy/distinfo
index 948d3cd0569a..ebff1227db85 100644
--- a/biology/hyphy/distinfo
+++ b/biology/hyphy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1629465228
-SHA256 (veg-hyphy-2.5.32_GH0.tar.gz) = e47be24b3de21a7a29eec6256cba7481ac8a98437d49eb682aefa5de2f4350ce
-SIZE (veg-hyphy-2.5.32_GH0.tar.gz) = 5346015
+TIMESTAMP = 1713128763
+SHA256 (veg-hyphy-2.5.60_GH0.tar.gz) = bc3a5062ee3cee47de16c394189fb8a5feed48f9a8c12302432d6faa7f2ac301
+SIZE (veg-hyphy-2.5.60_GH0.tar.gz) = 5599910
diff --git a/biology/hyphy/pkg-descr b/biology/hyphy/pkg-descr
index 6358bab50caa..ea76d24046ea 100644
--- a/biology/hyphy/pkg-descr
+++ b/biology/hyphy/pkg-descr
@@ -5,5 +5,3 @@ analyses. Additionally, HyPhy features support for parallel computing
environments via message passing interface, MPI and it can be compiled as a
shared library and called from other programming environments such as Python and
R.
-
-WWW: http://www.hyphy.org/
diff --git a/biology/hyphy/pkg-plist b/biology/hyphy/pkg-plist
index 588863cbd1fd..3491aaa1b191 100644
--- a/biology/hyphy/pkg-plist
+++ b/biology/hyphy/pkg-plist
@@ -147,6 +147,9 @@ bin/hyphy
%%DATADIR%%/TemplateBatchFiles/ModelTest.bf
%%DATADIR%%/TemplateBatchFiles/MolClockAllRoots.bf
%%DATADIR%%/TemplateBatchFiles/MolecularClock.bf
+%%DATADIR%%/TemplateBatchFiles/MSS-joint-fitter.bf
+%%DATADIR%%/TemplateBatchFiles/MSS-selector-2.bf
+%%DATADIR%%/TemplateBatchFiles/MSS-selector.bf
%%DATADIR%%/TemplateBatchFiles/NeighborJoining.bf
%%DATADIR%%/TemplateBatchFiles/NielsenYang.bf
%%DATADIR%%/TemplateBatchFiles/NucModelCompare.bf
@@ -188,6 +191,8 @@ bin/hyphy
%%DATADIR%%/TemplateBatchFiles/SelectionAnalyses/SingleOmega.bf
%%DATADIR%%/TemplateBatchFiles/SelectionAnalyses/aBSREL.bf
%%DATADIR%%/TemplateBatchFiles/SelectionAnalyses/contrast-fel.bf
+%%DATADIR%%/TemplateBatchFiles/SelectionAnalyses/contrast-meme.bf
+%%DATADIR%%/TemplateBatchFiles/SelectionAnalyses/error-filter.bf
%%DATADIR%%/TemplateBatchFiles/SelectionAnalyses/modules/grid_compute.ibf
%%DATADIR%%/TemplateBatchFiles/SelectionAnalyses/modules/io_functions.ibf
%%DATADIR%%/TemplateBatchFiles/SelectionAnalyses/modules/selection_lib.ibf
diff --git a/biology/igv/Makefile b/biology/igv/Makefile
index 9803043d22a8..5790923a7571 100644
--- a/biology/igv/Makefile
+++ b/biology/igv/Makefile
@@ -1,6 +1,7 @@
PORTNAME= igv
DISTVERSIONPREFIX= v
-DISTVERSION= 2.9.4
+DISTVERSION= 2.16.0
+PORTREVISION= 1
CATEGORIES= biology java
MASTER_SITES= http://software.broadinstitute.org/software/igv/sites/cancerinformatics.org.igv/files/images/:img
DISTFILES= tools.png:img
@@ -9,12 +10,11 @@ EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Visualization tool for genomic datasets
+WWW= https://software.broadinstitute.org/software/igv/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/license.txt
-BROKEN_FreeBSD_11= FAILURE: Build failed with an exception.
-
BUILD_DEPENDS= openjfx14>0:java/openjfx14 \
gradle:devel/gradle6
RUN_DEPENDS= openjfx14>0:java/openjfx14
diff --git a/biology/igv/distinfo b/biology/igv/distinfo
index 6f96ea31b8f8..55851a42c34e 100644
--- a/biology/igv/distinfo
+++ b/biology/igv/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1616904994
-SHA256 (igv-2.9.4/tools.png) = 7a619d7770da008d1bc23a60a07f416625ba3a404a3656b8d1bda0de97415d1c
-SIZE (igv-2.9.4/tools.png) = 5139
-SHA256 (igv-2.9.4/igv-2.9.4-deps.tar.gz) = 034056e5d8f5ddbd4575fd337d81cfe7fdea172e1ae8a043103dae2aa74be070
-SIZE (igv-2.9.4/igv-2.9.4-deps.tar.gz) = 54460338
-SHA256 (igv-2.9.4/igvteam-igv-v2.9.4_GH0.tar.gz) = 1c40f286fd0baf62a8f1b813d535200f8829fc489ba40944b2c8483b66c3b4a1
-SIZE (igv-2.9.4/igvteam-igv-v2.9.4_GH0.tar.gz) = 121959982
+TIMESTAMP = 1676844022
+SHA256 (igv-2.16.0/tools.png) = 7a619d7770da008d1bc23a60a07f416625ba3a404a3656b8d1bda0de97415d1c
+SIZE (igv-2.16.0/tools.png) = 5139
+SHA256 (igv-2.16.0/igv-2.16.0-deps.tar.gz) = 0d853bfafd5a2688f467b76a57bef2c40043f4f62f69f1c40acbe101ec98919f
+SIZE (igv-2.16.0/igv-2.16.0-deps.tar.gz) = 29906082
+SHA256 (igv-2.16.0/igvteam-igv-v2.16.0_GH0.tar.gz) = 1f214e539f8efb726246d6e1f8c3dab9d8fcd8fbe36042f03f052ee73afac2cb
+SIZE (igv-2.16.0/igvteam-igv-v2.16.0_GH0.tar.gz) = 53395541
diff --git a/biology/igv/pkg-descr b/biology/igv/pkg-descr
index 9a9d574c4838..8630add0a5bd 100644
--- a/biology/igv/pkg-descr
+++ b/biology/igv/pkg-descr
@@ -2,5 +2,3 @@ The Integrative Genomics Viewer (IGV) is a high-performance visualization tool
for interactive exploration of large, integrated genomic datasets. It supports
a wide variety of data types, including array-based and next-generation sequence
data, and genomic annotations.
-
-WWW: https://software.broadinstitute.org/software/igv/
diff --git a/biology/igv/pkg-plist b/biology/igv/pkg-plist
index 28e6071b98ea..c198824feb0e 100644
--- a/biology/igv/pkg-plist
+++ b/biology/igv/pkg-plist
@@ -1,13 +1,13 @@
bin/igv
%%JAVAJARDIR%%/igv/AbsoluteLayout-RELEASE110.jar
-%%JAVAJARDIR%%/igv/annotations-2.15.67.jar
-%%JAVAJARDIR%%/igv/apache-client-2.15.67.jar
-%%JAVAJARDIR%%/igv/arns-2.15.67.jar
-%%JAVAJARDIR%%/igv/auth-2.15.67.jar
-%%JAVAJARDIR%%/igv/aws-core-2.15.67.jar
-%%JAVAJARDIR%%/igv/aws-json-protocol-2.15.67.jar
-%%JAVAJARDIR%%/igv/aws-query-protocol-2.15.67.jar
-%%JAVAJARDIR%%/igv/aws-xml-protocol-2.15.67.jar
+%%JAVAJARDIR%%/igv/annotations-2.16.7.jar
+%%JAVAJARDIR%%/igv/apache-client-2.16.7.jar
+%%JAVAJARDIR%%/igv/arns-2.16.7.jar
+%%JAVAJARDIR%%/igv/auth-2.16.7.jar
+%%JAVAJARDIR%%/igv/aws-core-2.16.7.jar
+%%JAVAJARDIR%%/igv/aws-json-protocol-2.16.7.jar
+%%JAVAJARDIR%%/igv/aws-query-protocol-2.16.7.jar
+%%JAVAJARDIR%%/igv/aws-xml-protocol-2.16.7.jar
%%JAVAJARDIR%%/igv/batik-awt-util-1.11.jar
%%JAVAJARDIR%%/igv/batik-codec-1.11.jar
%%JAVAJARDIR%%/igv/batik-constants-1.11.jar
@@ -18,26 +18,27 @@ bin/igv
%%JAVAJARDIR%%/igv/batik-transcoder-1.11.jar
%%JAVAJARDIR%%/igv/batik-util-1.11.jar
%%JAVAJARDIR%%/igv/batik-xml-1.11.jar
-%%JAVAJARDIR%%/igv/cognitoidentity-2.15.67.jar
+%%JAVAJARDIR%%/igv/cognitoidentity-2.16.7.jar
%%JAVAJARDIR%%/igv/commons-codec-1.11.jar
-%%JAVAJARDIR%%/igv/commons-collections-20040616.jar
%%JAVAJARDIR%%/igv/commons-compress-1.19.jar
-%%JAVAJARDIR%%/igv/commons-configuration-1.10.jar
%%JAVAJARDIR%%/igv/commons-io-2.6.jar
%%JAVAJARDIR%%/igv/commons-jexl-2.1.1.jar
-%%JAVAJARDIR%%/igv/commons-lang-2.6.jar
%%JAVAJARDIR%%/igv/commons-lang3-3.9.jar
%%JAVAJARDIR%%/igv/commons-logging-1.2.jar
%%JAVAJARDIR%%/igv/commons-math3-3.6.1.jar
-%%JAVAJARDIR%%/igv/dsiutils-2.3.3.jar
%%JAVAJARDIR%%/igv/eventstream-1.0.1.jar
-%%JAVAJARDIR%%/igv/fastutil-7.0.12.jar
+%%JAVAJARDIR%%/igv/genomes/129S1_SvImJ.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/1kg_ref.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/1kg_v37.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/1kg_v37_alias.tab
+%%JAVAJARDIR%%/igv/genomes/2019-03-21_Creinhardtii_CC-503_v5.5.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/2019-03-21_Creinhardtii_CC-503_v5.6.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/2019-03-21_Creinhardtii_CC-503_v5.6_Cp+Mt_v4.4.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/ABaumannii_ATCC_17978.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/ABaumannii_AYE_uid61637.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/AGPv3.31.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/ASM294v2.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/ASM985889v3.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/AgamP3.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/Aplysia.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/B73.chrom.sizes
@@ -48,6 +49,8 @@ bin/igv
%%JAVAJARDIR%%/igv/genomes/EBV_Type2.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/Foxy4287.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/GCF_000233375.1.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/GCF_000364345.1.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/GCF_016920785.1.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/GSM552910.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/GSM552910_alias.tab
%%JAVAJARDIR%%/igv/genomes/Glamblia_2.0.chrom.sizes
@@ -114,10 +117,12 @@ bin/igv
%%JAVAJARDIR%%/igv/genomes/bosTau7.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/bosTau7_alias.tab
%%JAVAJARDIR%%/igv/genomes/bosTau8.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/bosTau9.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/ca21.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/canFam2.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/canFam3.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/canFam4.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/canFam5.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/candida.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/cavPor3.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/ce10.chrom.sizes
@@ -134,27 +139,34 @@ bin/igv
%%JAVAJARDIR%%/igv/genomes/dmel_5.9.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/dmel_r5.22.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/dmel_r5.33.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/dmel_r5.9.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/equCab2.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/felCat5.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/galGal3.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/galGal4.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/galGal5.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/galGal6.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/gasAcu1.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/gmax10.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/gmax8.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/gorGor4.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/gorGor6.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/hg16.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/hg17.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/hg18.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/hg19.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/hg19_alias.tab
%%JAVAJARDIR%%/igv/genomes/hg38.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/hg38_1kg.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/laevis_7.1.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/lmjr.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/lmjr_4.0.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/lmjr_4.0_alias.tab
+%%JAVAJARDIR%%/igv/genomes/macFas5_chrom.sizes
%%JAVAJARDIR%%/igv/genomes/me49.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/mg8.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/mm10.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/mm39.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/mm7.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/mm8.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/mm9.chrom.sizes
@@ -166,18 +178,23 @@ bin/igv
%%JAVAJARDIR%%/igv/genomes/osativa_6.1_alias.tab
%%JAVAJARDIR%%/igv/genomes/osativa_7.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/oviAri3.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/panPan2.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/panTro2.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/panTro3.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/panTro4.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/panTro5.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/panTro6.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/ppatens_1.2.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/pvivax.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/pvivax_alias.tab
+%%JAVAJARDIR%%/igv/genomes/rheMac10.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/rheMac2.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/rheMac3.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/rheMac8.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/rn4.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/rn5.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/rn6.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/rn7.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/sacCer1.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/sacCer2.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/sacCer2_alias.tab
@@ -192,6 +209,7 @@ bin/igv
%%JAVAJARDIR%%/igv/genomes/spur_2.1.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/spur_2.5.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/spur_3.0.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/susScr11.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/susScr3.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/susScrofa.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/taeGut1.chrom.sizes
@@ -210,54 +228,48 @@ bin/igv
%%JAVAJARDIR%%/igv/genomes/tcas_2.0.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/tcas_3.0.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/vvinifera.chrom.sizes
+%%JAVAJARDIR%%/igv/genomes/ws235.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/ws241.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/xenTro2.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/xenTro9.chrom.sizes
%%JAVAJARDIR%%/igv/genomes/zebrafish.chrom.sizes
-%%JAVAJARDIR%%/igv/goby-io-3.3.1.jar
%%JAVAJARDIR%%/igv/gson-2.8.5.jar
%%JAVAJARDIR%%/igv/guava-27.0.1-jre.jar
-%%JAVAJARDIR%%/igv/htsjdk-2.23.0.jar
-%%JAVAJARDIR%%/igv/http-client-spi-2.15.67.jar
+%%JAVAJARDIR%%/igv/htsjdk-3.0.0.jar
+%%JAVAJARDIR%%/igv/http-client-spi-2.16.7.jar
%%JAVAJARDIR%%/igv/httpclient-4.5.13.jar
%%JAVAJARDIR%%/igv/httpcore-4.4.13.jar
-%%JAVAJARDIR%%/igv/icb-utils-2.0.2.jar
%%JAVAJARDIR%%/igv/igv.jar
%%JAVAJARDIR%%/igv/j2objc-annotations-1.1.jar
-%%JAVAJARDIR%%/igv/jackson-annotations-2.10.5.jar
-%%JAVAJARDIR%%/igv/jackson-core-2.10.5.jar
-%%JAVAJARDIR%%/igv/jackson-databind-2.10.5.1.jar
+%%JAVAJARDIR%%/igv/jackson-annotations-2.12.1.jar
+%%JAVAJARDIR%%/igv/jackson-core-2.12.1.jar
+%%JAVAJARDIR%%/igv/jackson-databind-2.12.1.jar
%%JAVAJARDIR%%/igv/jide-common-3.7.3.jar
-%%JAVAJARDIR%%/igv/jsap-3.0.0.jar
-%%JAVAJARDIR%%/igv/log4j-1.2-api-2.11.0.jar
-%%JAVAJARDIR%%/igv/log4j-api-2.11.0.jar
-%%JAVAJARDIR%%/igv/log4j-core-2.11.0.jar
-%%JAVAJARDIR%%/igv/metrics-spi-2.15.67.jar
-%%JAVAJARDIR%%/igv/netty-buffer-4.1.53.Final.jar
-%%JAVAJARDIR%%/igv/netty-codec-4.1.53.Final.jar
-%%JAVAJARDIR%%/igv/netty-codec-http-4.1.53.Final.jar
-%%JAVAJARDIR%%/igv/netty-common-4.1.53.Final.jar
-%%JAVAJARDIR%%/igv/netty-handler-4.1.53.Final.jar
-%%JAVAJARDIR%%/igv/netty-nio-client-2.15.67.jar
+%%JAVAJARDIR%%/igv/metrics-spi-2.16.7.jar
+%%JAVAJARDIR%%/igv/mjson-1.4.1.jar
+%%JAVAJARDIR%%/igv/netty-buffer-4.1.59.Final.jar
+%%JAVAJARDIR%%/igv/netty-codec-4.1.59.Final.jar
+%%JAVAJARDIR%%/igv/netty-codec-http-4.1.59.Final.jar
+%%JAVAJARDIR%%/igv/netty-common-4.1.59.Final.jar
+%%JAVAJARDIR%%/igv/netty-handler-4.1.59.Final.jar
+%%JAVAJARDIR%%/igv/netty-nio-client-2.16.7.jar
%%JAVAJARDIR%%/igv/netty-reactive-streams-2.0.4.jar
%%JAVAJARDIR%%/igv/netty-reactive-streams-http-2.0.4.jar
-%%JAVAJARDIR%%/igv/netty-resolver-4.1.53.Final.jar
-%%JAVAJARDIR%%/igv/netty-transport-4.1.53.Final.jar
-%%JAVAJARDIR%%/igv/netty-transport-native-epoll-4.1.53.Final-linux-x86_64.jar
-%%JAVAJARDIR%%/igv/netty-transport-native-unix-common-4.1.53.Final.jar
+%%JAVAJARDIR%%/igv/netty-resolver-4.1.59.Final.jar
+%%JAVAJARDIR%%/igv/netty-transport-4.1.59.Final.jar
+%%JAVAJARDIR%%/igv/netty-transport-native-epoll-4.1.59.Final-linux-x86_64.jar
+%%JAVAJARDIR%%/igv/netty-transport-native-unix-common-4.1.59.Final.jar
%%JAVAJARDIR%%/igv/ngs-java-2.9.0.jar
-%%JAVAJARDIR%%/igv/profiles-2.15.67.jar
-%%JAVAJARDIR%%/igv/protobuf-java-3.7.0-rc1.jar
-%%JAVAJARDIR%%/igv/protocol-core-2.15.67.jar
+%%JAVAJARDIR%%/igv/profiles-2.16.7.jar
+%%JAVAJARDIR%%/igv/protocol-core-2.16.7.jar
%%JAVAJARDIR%%/igv/reactive-streams-1.0.3.jar
-%%JAVAJARDIR%%/igv/regions-2.15.67.jar
-%%JAVAJARDIR%%/igv/s3-2.15.67.jar
-%%JAVAJARDIR%%/igv/sdk-core-2.15.67.jar
+%%JAVAJARDIR%%/igv/regions-2.16.7.jar
+%%JAVAJARDIR%%/igv/s3-2.16.7.jar
+%%JAVAJARDIR%%/igv/sdk-core-2.16.7.jar
%%JAVAJARDIR%%/igv/slf4j-api-1.7.28.jar
-%%JAVAJARDIR%%/igv/slf4j-simple-1.7.26.jar
-%%JAVAJARDIR%%/igv/snappy-java-1.1.7.3.jar
-%%JAVAJARDIR%%/igv/sts-2.15.67.jar
+%%JAVAJARDIR%%/igv/snappy-java-1.1.8.4.jar
+%%JAVAJARDIR%%/igv/sts-2.16.7.jar
%%JAVAJARDIR%%/igv/swing-layout-1.0.3.jar
-%%JAVAJARDIR%%/igv/utils-2.15.67.jar
+%%JAVAJARDIR%%/igv/utils-2.16.7.jar
%%JAVAJARDIR%%/igv/xmlgraphics-commons-2.3.jar
share/pixmaps/igv.png
diff --git a/biology/infernal/Makefile b/biology/infernal/Makefile
index 5c1717abd965..74ed79a152b0 100644
--- a/biology/infernal/Makefile
+++ b/biology/infernal/Makefile
@@ -1,10 +1,12 @@
PORTNAME= infernal
-PORTVERSION= 1.1.3
+PORTVERSION= 1.1.4
+PORTREVISION= 1
CATEGORIES= biology
MASTER_SITES= http://eddylab.org/infernal/
MAINTAINER= mzaki@e-mail.ne.jp
COMMENT= Search sequence databases for structural RNA homologs
+WWW= http://eddylab.org/infernal/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -12,15 +14,16 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 powerpc64le powerpcspe
ONLY_FOR_ARCHS_REASON= requires SSE2 or AltiVec instructions
-USES= compiler:c11 gmake perl5 python:3.5+,test shebangfix
+USES= compiler:c11 gmake perl5 python:test shebangfix
+USE_PERL5= test
+SHEBANG_FILES= easel/devkit/*
+SHEBANG_GLOB= *.pl *.py
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
MAKE_ARGS= V=1
TEST_TARGET= check
-USE_PERL5= test
-SHEBANG_GLOB= *.pl *.py
-SHEBANG_FILES= easel/devkit/*
OPTIONS_DEFINE= DOCS EXAMPLES TEST
@@ -33,14 +36,11 @@ EXAMPLES= 5S_rRNA.c.cm 5S_rRNA.sto \
tRNA5-hand.c.cm tRNA5-hand.sto tRNA5-mrum.out \
tRNA5-noss.sto tRNA5.c.cm tRNA5.sto
-TEST_VARS= use_perl5=build
TEST_BUILD_DEPENDS= ${PYTHON_VERSION}:lang/python${PYTHON_SUFFIX}
+TEST_VARS= use_perl5=build
post-build-TEST-on: pre-test do-test
-pre-test:
- ${FIND} ${WRKSRC} -type f \( -name Makefile -or -name sqc \) -exec ${GREP} -q 'python3 ' {} \; -print | ${XARGS} ${SED} -i.bak 's/python3 /${PYTHON_VERSION} /'
-
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/*
@@ -52,4 +52,7 @@ post-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${EXAMPLES:S,^,${WRKSRC}/tutorial/,} ${STAGEDIR}${EXAMPLESDIR}
+pre-test:
+ ${FIND} ${WRKSRC} -type f \( -name Makefile -or -name sqc \) -exec ${GREP} -q 'python3 ' {} \; -print | ${XARGS} ${SED} -i.bak 's/python3 /${PYTHON_VERSION} /'
+
.include <bsd.port.mk>
diff --git a/biology/infernal/distinfo b/biology/infernal/distinfo
index 9f362448abc8..80865c942e66 100644
--- a/biology/infernal/distinfo
+++ b/biology/infernal/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1578660730
-SHA256 (infernal-1.1.3.tar.gz) = 3b98a6a3a0e7b01aa077a0caf1e958223c4d8f80a69a4eb602ca59a3475da85e
-SIZE (infernal-1.1.3.tar.gz) = 29910035
+TIMESTAMP = 1665487539
+SHA256 (infernal-1.1.4.tar.gz) = f9493c7dee9fbf25f6405706818883d24b9f5e455121a0662c96c8f0307f95fc
+SIZE (infernal-1.1.4.tar.gz) = 29499238
diff --git a/biology/infernal/files/patch-hmmer_src_hmmc2.c b/biology/infernal/files/patch-hmmer_src_hmmc2.c
deleted file mode 100644
index 5bd86cf55247..000000000000
--- a/biology/infernal/files/patch-hmmer_src_hmmc2.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- hmmer/src/hmmc2.c.orig 2019-11-19 19:30:04 UTC
-+++ hmmer/src/hmmc2.c
-@@ -334,7 +334,7 @@ int main(int argc, char *argv[])
- n = sizeof(sstatus);
- total += n;
- if ((size = readn(sock, &sstatus, n)) == -1) {
-- if(errno == 104 || errno == 0){
-+ if(errno == ECONNRESET || errno == 0){
- // connection was reset, usually because server exited
- fprintf(stderr, "Daemon exited, shutting down\n");
- exit(0);
diff --git a/biology/infernal/files/patch-src_Makefile.in b/biology/infernal/files/patch-src_Makefile.in
deleted file mode 100644
index 7afaa0ab41ea..000000000000
--- a/biology/infernal/files/patch-src_Makefile.in
+++ /dev/null
@@ -1,19 +0,0 @@
---- src/Makefile.in.orig 2019-11-19 19:28:55 UTC
-+++ src/Makefile.in
-@@ -27,6 +27,7 @@ CC = @CC@
- CFLAGS = @CFLAGS@
- PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
- PIC_CFLAGS = @PIC_CFLAGS@
-+SIMD_CFLAGS = @SSE_CFLAGS@ @VMX_CFLAGS@
- CPPFLAGS = @CPPFLAGS@
- LDFLAGS = @LDFLAGS@
- DEFS = @DEFS@
-@@ -200,7 +201,7 @@ ${PROGS}: % : %.o libinfernal.a ../${HMM
- ${QUIET_GEN}${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${DEFS} ${LDFLAGS} ${MYLIBDIRS} -o $@ $@.o ${MPILIBS} ${LIBS}
-
- .c.o:
-- ${QUIET_CC}${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${DEFS} ${CPPFLAGS} ${MYINCDIRS} -o $@ -c $<
-+ ${QUIET_CC}${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} ${CPPFLAGS} ${MYINCDIRS} -o $@ -c $<
-
- ${ITESTS}: % : %.o libinfernal.a ../${HMMERDIR}/src/libhmmer.a ../${ESLDIR}/libeasel.a ${HDRS} config.h
- ${QUIET_GEN}${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${DEFS} ${LDFLAGS} ${MYLIBDIRS} -o $@ $@.o ${MPILIBS} ${LIBS}
diff --git a/biology/infernal/pkg-descr b/biology/infernal/pkg-descr
index 7436fa4f7d8f..fe137f9c4e33 100644
--- a/biology/infernal/pkg-descr
+++ b/biology/infernal/pkg-descr
@@ -5,10 +5,8 @@ It is based on Covariance Model (CM), which scores a combination of sequence
consensus and RNA secondary structure consensus, and thus is more capable of
identifying RNA homologs than using primary sequence profile.
-The Rfam database of RNA families is based on Infernal.
+The Rfam database of RNA families is based on Infernal.
Citation:
Nawrocki & Eddy (2013) Infernal 1.1: 100-fold faster RNA homology searches,
Bioinformatics 29: 2933-2935.
-
-WWW: http://eddylab.org/infernal/
diff --git a/biology/infernal/pkg-plist b/biology/infernal/pkg-plist
index 770ce65d633d..9282b4f46c55 100644
--- a/biology/infernal/pkg-plist
+++ b/biology/infernal/pkg-plist
@@ -8,17 +8,17 @@ bin/cmpress
bin/cmscan
bin/cmsearch
bin/cmstat
-man/man1/cmalign.1.gz
-man/man1/cmbuild.1.gz
-man/man1/cmcalibrate.1.gz
-man/man1/cmconvert.1.gz
-man/man1/cmemit.1.gz
-man/man1/cmfetch.1.gz
-man/man1/cmpress.1.gz
-man/man1/cmscan.1.gz
-man/man1/cmsearch.1.gz
-man/man1/cmstat.1.gz
-man/man1/infernal.1.gz
+share/man/man1/cmalign.1.gz
+share/man/man1/cmbuild.1.gz
+share/man/man1/cmcalibrate.1.gz
+share/man/man1/cmconvert.1.gz
+share/man/man1/cmemit.1.gz
+share/man/man1/cmfetch.1.gz
+share/man/man1/cmpress.1.gz
+share/man/man1/cmscan.1.gz
+share/man/man1/cmsearch.1.gz
+share/man/man1/cmstat.1.gz
+share/man/man1/infernal.1.gz
%%PORTDOCS%%%%DOCSDIR%%/Userguide.pdf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/5S_rRNA.c.cm
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/5S_rRNA.sto
diff --git a/biology/iolib/Makefile b/biology/iolib/Makefile
index 6e509abc1b81..9bc898878e15 100644
--- a/biology/iolib/Makefile
+++ b/biology/iolib/Makefile
@@ -1,12 +1,12 @@
-# Created by: Wen Heping <wenheping@gmail.com>
-
PORTNAME= io_lib
DISTVERSIONPREFIX= ${PORTNAME}-
DISTVERSION= 1-14-10
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= ports@FreeBSD.org
COMMENT= General purpose trace file (and Experiment File) reading interface
+WWW= https://staden.sourceforge.net/
LICENSE= BSD3CLAUSE
@@ -18,8 +18,11 @@ USE_GITHUB= yes
GH_ACCOUNT= jkbonfield
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
LDFLAGS+= -lpthread
+CONFLICTS_INSTALL= filters scramble # bin/scramble
+
.include <bsd.port.mk>
diff --git a/biology/iolib/pkg-descr b/biology/iolib/pkg-descr
index f24eca9853db..6275b2d7d589 100644
--- a/biology/iolib/pkg-descr
+++ b/biology/iolib/pkg-descr
@@ -3,5 +3,3 @@ general purpose trace file (and Experiment File) reading interface.
The programmer simply calls the (eg) read_reading to create a "Read"
C structure with the data loaded into memory. It has been compiled
and tested on a variety of Unix systems, MacOS X and MS Windows.
-
-WWW: http://staden.sourceforge.net/
diff --git a/biology/iolib/pkg-plist b/biology/iolib/pkg-plist
index ba22771956d1..e38239a9a97d 100644
--- a/biology/iolib/pkg-plist
+++ b/biology/iolib/pkg-plist
@@ -89,27 +89,27 @@ lib/libstaden-read.a
lib/libstaden-read.so
lib/libstaden-read.so.13
lib/libstaden-read.so.13.0.0
-man/man1/scramble.1.gz
-man/man1/srf2fasta.1.gz
-man/man1/srf2fastq.1.gz
-man/man1/srf_index_hash.1.gz
-man/man1/srf_info.1.gz
-man/man1/srf_list.1.gz
-man/man3/ExperimentFile.3.gz
-man/man3/exp2read.3.gz
-man/man3/fread_reading.3.gz
-man/man3/fread_scf.3.gz
-man/man3/fwrite_reading.3.gz
-man/man3/fwrite_scf.3.gz
-man/man3/read2exp.3.gz
-man/man3/read2scf.3.gz
-man/man3/read_allocate.3.gz
-man/man3/read_deallocate.3.gz
-man/man3/read_reading.3.gz
-man/man3/read_scf.3.gz
-man/man3/read_scf_header.3.gz
-man/man3/scf2read.3.gz
-man/man3/write_reading.3.gz
-man/man3/write_scf.3.gz
-man/man3/write_scf_header.3.gz
-man/man4/Read.4.gz
+share/man/man1/scramble.1.gz
+share/man/man1/srf2fasta.1.gz
+share/man/man1/srf2fastq.1.gz
+share/man/man1/srf_index_hash.1.gz
+share/man/man1/srf_info.1.gz
+share/man/man1/srf_list.1.gz
+share/man/man3/ExperimentFile.3.gz
+share/man/man3/exp2read.3.gz
+share/man/man3/fread_reading.3.gz
+share/man/man3/fread_scf.3.gz
+share/man/man3/fwrite_reading.3.gz
+share/man/man3/fwrite_scf.3.gz
+share/man/man3/read2exp.3.gz
+share/man/man3/read2scf.3.gz
+share/man/man3/read_allocate.3.gz
+share/man/man3/read_deallocate.3.gz
+share/man/man3/read_reading.3.gz
+share/man/man3/read_scf.3.gz
+share/man/man3/read_scf_header.3.gz
+share/man/man3/scf2read.3.gz
+share/man/man3/write_reading.3.gz
+share/man/man3/write_scf.3.gz
+share/man/man3/write_scf_header.3.gz
+share/man/man4/Read.4.gz
diff --git a/biology/iqtree/Makefile b/biology/iqtree/Makefile
index 48852759c0e9..5752c102500c 100644
--- a/biology/iqtree/Makefile
+++ b/biology/iqtree/Makefile
@@ -1,11 +1,11 @@
PORTNAME= iqtree
DISTVERSIONPREFIX= v
-DISTVERSION= 2.0.6
-PORTREVISION= 2
+DISTVERSION= 2.3.2
CATEGORIES= biology
MAINTAINER= jrm@FreeBSD.org
COMMENT= Efficient phylogenomic software by maximum likelihood
+WWW= http://www.iqtree.org/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -18,13 +18,14 @@ BROKEN_powerpc64= fails to build: GCC version must be at least 4.8!
LIB_DEPENDS= libboost_filesystem.so:devel/boost-libs
-USES= cmake compiler:c++11-lang eigen:3
+USES= cmake eigen:3
USE_GITHUB= yes
-GH_ACCOUNT= Cibiv
-GH_PROJECT= IQ-TREE
+GH_PROJECT= iqtree2
+GH_TUPLE= tothuhien:lsd2:26ba127:iqtree2/lsd2
PLIST_FILES= bin/iqtree
-PORTEXAMPLES= example.cf example.nex example.phy models.nex
+PORTEXAMPLES= custom_distributions.txt example.cf example.nex example.phy \
+ models.nex tree.nwk
OPTIONS_DEFINE= EXAMPLES
diff --git a/biology/iqtree/distinfo b/biology/iqtree/distinfo
index 66b7e2e26f98..4b5ff2269f5f 100644
--- a/biology/iqtree/distinfo
+++ b/biology/iqtree/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1590834014
-SHA256 (Cibiv-IQ-TREE-v2.0.6_GH0.tar.gz) = 64cdad4a9aff7cbeb27512c0127c4e85fb7f2a5dee51adc9109143fb6191a42e
-SIZE (Cibiv-IQ-TREE-v2.0.6_GH0.tar.gz) = 5265191
+TIMESTAMP = 1713099860
+SHA256 (iqtree-iqtree2-v2.3.2_GH0.tar.gz) = c1f97b5fba459561739f4213e7014f29049e070f0cbe2a20473279b372e3c12e
+SIZE (iqtree-iqtree2-v2.3.2_GH0.tar.gz) = 6161544
+SHA256 (tothuhien-lsd2-26ba127_GH0.tar.gz) = 63226da0e326d9fc47c54e8e380d48e51e923ccc25bd7f286d49b9f49028d1c4
+SIZE (tothuhien-lsd2-26ba127_GH0.tar.gz) = 1079490
diff --git a/biology/iqtree/files/patch-CMakeLists.txt b/biology/iqtree/files/patch-CMakeLists.txt
index 6bf4993090a9..d52f30670d91 100644
--- a/biology/iqtree/files/patch-CMakeLists.txt
+++ b/biology/iqtree/files/patch-CMakeLists.txt
@@ -1,9 +1,9 @@
---- CMakeLists.txt.orig 2021-01-11 20:50:45 UTC
+--- CMakeLists.txt.orig 2023-09-05 01:20:58 UTC
+++ CMakeLists.txt
-@@ -323,7 +323,7 @@ if (NOT IQTREE_FLAGS MATCHES "single")
-
- if(CLANG AND APPLE)
- link_directories(${PROJECT_SOURCE_DIR}/libmac)
+@@ -398,7 +398,7 @@ if (NOT IQTREE_FLAGS MATCHES "single")
+ else()
+ link_directories(${PROJECT_SOURCE_DIR}/libmac)
+ endif()
- elseif (WIN32 OR UNIX)
+ elseif (WIN32 OR UNIX AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
if (BINARY32)
diff --git a/biology/iqtree/pkg-descr b/biology/iqtree/pkg-descr
index 5e10f7dbdebe..390d55f7e9a8 100644
--- a/biology/iqtree/pkg-descr
+++ b/biology/iqtree/pkg-descr
@@ -11,5 +11,3 @@ As input IQ-TREE accepts all common sequence alignment formats including PHYLIP,
FASTA, Nexus, Clustal and MSF. As output IQ-TREE will write a self-readable
report file (name suffix .iqtree), a NEWICK tree file (.treefile) which can be
visualized by tree viewer programs such as FigTree, Dendroscope or iTOL.
-
-WWW: http://www.iqtree.org/
diff --git a/biology/jalview/Makefile b/biology/jalview/Makefile
index b41d1b9abf27..5b1a44b7f8bc 100644
--- a/biology/jalview/Makefile
+++ b/biology/jalview/Makefile
@@ -1,7 +1,5 @@
-# Created by: Fernan Aguero <fernan@iib.unsam.edu.ar>
-
PORTNAME= jalview
-DISTVERSION= 2.11.1.4
+DISTVERSION= 2.11.2.5
CATEGORIES= biology java
MASTER_SITES= https://www.jalview.org/source/
DISTNAME= ${PORTNAME}_${DISTVERSION:S/./_/g}
@@ -10,13 +8,12 @@ EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Viewer and editor for multiple sequence alignments
+WWW= https://www.jalview.org
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-BROKEN_FreeBSD_11= gradle daemon systematically fails on 11: The message received from the daemon indicates that the daemon has disappeared.
-
-BUILD_DEPENDS= gradle:devel/gradle6
+BUILD_DEPENDS= gradle761:devel/gradle761
USE_JAVA= yes
JAVA_VERSION= 11
@@ -61,13 +58,13 @@ PLIST_FILES= bin/jalview \
${DATADIR}/jalview.jar
do-build:
- @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} gradle \
+ @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} gradle761 \
--gradle-user-home ${DEPS_CACHE_DIR}/gradle-${PORTNAME} --project-cache-dir ${DEPS_CACHE_DIR}/gradle-${PORTNAME} \
${GRADLE_ARGS} --build-cache shadowJar
do-install:
${INSTALL_SCRIPT} ${WRKDIR}/jalview.sh ${STAGEDIR}${PREFIX}/bin/jalview
@${MKDIR} ${STAGEDIR}${DATADIR}
- ${INSTALL_DATA} ${WRKSRC}/build/libs/jalview-all-${DISTVERSION}-j${JAVA_VERSION}.jar ${STAGEDIR}${DATADIR}/jalview.jar
+ ${INSTALL_DATA} ${WRKSRC}/build/libs/jalview-all-TEST-j11.jar ${STAGEDIR}${DATADIR}/jalview.jar
.include <bsd.port.mk>
diff --git a/biology/jalview/distinfo b/biology/jalview/distinfo
index 1a5fba7ea4d9..66576f639c72 100644
--- a/biology/jalview/distinfo
+++ b/biology/jalview/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1619390838
-SHA256 (jalview_2_11_1_4.tar.gz) = 30c0a89bbaf58bc5fd15fd7b167768d21cda1431676f28e22669fd5a342396eb
-SIZE (jalview_2_11_1_4.tar.gz) = 103154170
-SHA256 (jalview-2.11.1.4-deps.tar.gz) = 93e88557841d295146aa5f9144e22a8774c9699c9a6a43a4a25673148d91c7d9
-SIZE (jalview-2.11.1.4-deps.tar.gz) = 21061379
+TIMESTAMP = 1665557435
+SHA256 (jalview_2_11_2_5.tar.gz) = dcb7211fe55db9b598281f2025787defdfbe8ce048141df7c38501ad4554c998
+SIZE (jalview_2_11_2_5.tar.gz) = 211101247
+SHA256 (jalview-2.11.2.5-deps.tar.gz) = 9eff680720f3f56f9d07f8b416c63d5460220f0562471e7c796cc28dce3b5182
+SIZE (jalview-2.11.2.5-deps.tar.gz) = 88745285
diff --git a/biology/jalview/pkg-descr b/biology/jalview/pkg-descr
index f8f1378b879d..5e06e95e9ced 100644
--- a/biology/jalview/pkg-descr
+++ b/biology/jalview/pkg-descr
@@ -18,5 +18,3 @@ o User predefined or custom colour schemes to colour alignments or groups.
o Sequence feature retrieval and display on the alignment.
o Print your alignment with colours and annotations.
o Output alignments as HTML pages, images (PNG) or postscript (EPS).
-
-WWW: https://www.jalview.org
diff --git a/biology/jellyfish/Makefile b/biology/jellyfish/Makefile
index 4079f92b3c4f..d66105b1ba96 100644
--- a/biology/jellyfish/Makefile
+++ b/biology/jellyfish/Makefile
@@ -1,24 +1,27 @@
PORTNAME= Jellyfish
DISTVERSIONPREFIX= v
DISTVERSION= 2.3.0
-PORTREVISION= 1
+PORTREVISION= 4
CATEGORIES= biology
+MASTER_SITES= https://github.com/gmarcais/${PORTNAME}/releases/download/v2.3.0/ # Custom distfile reduces dependencies
+DISTNAME= ${PORTNAME:tl}-${DISTVERSION}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Fast, memory-efficient counting of k-mers in DNA
+WWW= http://www.genome.umd.edu/jellyfish.html
-LICENSE= GPLv3+
-LICENSE_FILE= ${WRKSRC}/LICENSE
+LICENSE= BSD3CLAUSE GPLv3+
+LICENSE_COMB= dual
+LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/LICENSE-BSD-3-Clause
+LICENSE_FILE_GPLv3+ = ${WRKSRC}/LICENSE-GPL-3.0
-BUILD_DEPENDS= yaggo:devel/yaggo
LIB_DEPENDS= libhts.so:biology/htslib
-USES= autoreconf compiler:c++11-lib gmake libtool pathfix pkgconfig
+USES= compiler:c++11-lib libtool
USE_LDCONFIG= yes
-USE_GITHUB= yes
GNU_CONFIGURE= yes
-GH_ACCOUNT= gmarcais
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
INSTALL_TARGET= install-strip
PLIST_SUB= VER=${PORTVERSION}
diff --git a/biology/jellyfish/distinfo b/biology/jellyfish/distinfo
index 8e77167cbbfa..9cb65c74783b 100644
--- a/biology/jellyfish/distinfo
+++ b/biology/jellyfish/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1629646709
-SHA256 (gmarcais-Jellyfish-v2.3.0_GH0.tar.gz) = 23819da9edb579a0cfb8baac9eff473a9477f4f749930cdb754dce1d117495cd
-SIZE (gmarcais-Jellyfish-v2.3.0_GH0.tar.gz) = 679144
+TIMESTAMP = 1631812776
+SHA256 (jellyfish-2.3.0.tar.gz) = e195b7cf7ba42a90e5e112c0ed27894cd7ac864476dc5fb45ab169f5b930ea5a
+SIZE (jellyfish-2.3.0.tar.gz) = 1151287
diff --git a/biology/jellyfish/pkg-descr b/biology/jellyfish/pkg-descr
index b1741329c04e..4b5859e3963a 100644
--- a/biology/jellyfish/pkg-descr
+++ b/biology/jellyfish/pkg-descr
@@ -3,5 +3,3 @@ A k-mer is a substring of length k, and counting the occurrences of all such
substrings is a central step in many analyses of DNA sequence. JELLYFISH can
count k-mers quickly by using an efficient encoding of a hash table and by
exploiting the "compare-and-swap" CPU instruction to increase parallelism.
-
-WWW: http://www.genome.umd.edu/jellyfish.html
diff --git a/biology/jellyfish/pkg-plist b/biology/jellyfish/pkg-plist
index 5ba3b5f5967b..c64b5673b696 100644
--- a/biology/jellyfish/pkg-plist
+++ b/biology/jellyfish/pkg-plist
@@ -54,4 +54,4 @@ lib/libjellyfish-2.0.so
lib/libjellyfish-2.0.so.2
lib/libjellyfish-2.0.so.2.0.0
libdata/pkgconfig/jellyfish-2.0.pc
-man/man1/jellyfish.1.gz
+share/man/man1/jellyfish.1.gz
diff --git a/biology/kallisto/Makefile b/biology/kallisto/Makefile
index 996d22ee8720..8774208d9097 100644
--- a/biology/kallisto/Makefile
+++ b/biology/kallisto/Makefile
@@ -1,18 +1,22 @@
PORTNAME= kallisto
DISTVERSIONPREFIX= v
-DISTVERSION= 0.46.1
+DISTVERSION= 0.50.1
PORTEPOCH= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Quantify abundances of transcripts from RNA-Seq data
+WWW= https://pachterlab.github.io/kallisto/about.html
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/license.txt
-BUILD_DEPENDS= autoconf>=0:devel/autoconf
+ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le riscv64
+ONLY_FOR_ARCHS_REASON= Requires a 64-bit processor
+
LIB_DEPENDS= libhdf5.so:science/hdf5 \
- libsz.so:science/szip
+ libsz.so:science/libaec \
+ libhts.so:biology/htslib
USES= cmake:noninja compiler:c++11-lang gmake localbase:ldflags
USE_GITHUB= yes
@@ -27,12 +31,17 @@ EXAMPLES_PLIST_FILES= bin/kallisto-test
# hdf5 is being phased out and is no longer built in by default, but is still
# required for Sleuth (requires kallisto bootstrap estimates) and other
# downstream tools. Remove this after Sleuth et al catch up.
-CMAKE_ARGS+= -DUSE_HDF5:BOOL=ON
+CMAKE_ARGS+= -DUSE_HDF5:BOOL=ON -DUSE_BAM:BOOL=ON
+# WIP: Remove before committing
+CMAKE_ARGS+= -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
MAKE_JOBS_UNSAFE= yes
-LDFLAGS+= -lz
+LDFLAGS+= -lhts -lz
OPTIONS_DEFINE= EXAMPLES
+post-extract:
+ ${RM} -rf ${WRKSRC}/ext/htslib
+
post-install-EXAMPLES-on:
${INSTALL_SCRIPT} ${WRKDIR}/kallisto-test ${STAGEDIR}${PREFIX}/bin
cd ${WRKSRC}/test && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
diff --git a/biology/kallisto/distinfo b/biology/kallisto/distinfo
index 98722ba0c842..f01c0d8e6e1c 100644
--- a/biology/kallisto/distinfo
+++ b/biology/kallisto/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1595454023
-SHA256 (pachterlab-kallisto-v0.46.1_GH0.tar.gz) = 492ef081395e8858fcd9832aceb8b61c79358f00afb45e6709146c0fb51dd231
-SIZE (pachterlab-kallisto-v0.46.1_GH0.tar.gz) = 2254560
+TIMESTAMP = 1698923323
+SHA256 (pachterlab-kallisto-v0.50.1_GH0.tar.gz) = 030752bab3b0e33cd3f23f6d8feddd74194e5513532ffbf23519e84db2a86d34
+SIZE (pachterlab-kallisto-v0.50.1_GH0.tar.gz) = 5947303
diff --git a/biology/kallisto/files/kallisto-test.in b/biology/kallisto/files/kallisto-test.in
index f713e9dc44c2..952063e4e66b 100644..100755
--- a/biology/kallisto/files/kallisto-test.in
+++ b/biology/kallisto/files/kallisto-test.in
@@ -17,6 +17,20 @@ usage()
##########################################################################
+# Function description:
+# Pause until user presses return
+##########################################################################
+
+pause()
+{
+ local junk
+
+ printf "Press return to continue..."
+ read junk
+}
+
+
+##########################################################################
# Main
##########################################################################
@@ -32,9 +46,20 @@ fi
cp -iR %%EXAMPLESDIR%% "$dir"
cd "$dir"
-kallisto index -i transcripts.idx transcripts.fasta.gz
-kallisto quant -i transcripts.idx -o output -b 100 reads_1.fastq.gz reads_2.fastq.gz
+kallisto index --index=transcripts.idx transcripts.fasta.gz
+pause
+
+kallisto quant --index=transcripts.idx --genomebam --chromosomes=chrom.txt \
+ --gtf=transcripts.gtf.gz --output-dir=output \
+ --boostrap-samples=100 reads_1.fastq.gz reads_2.fastq.gz
+pause
+
ls -l output
+pause
+
+# Test genomebam
+samtools view output/pseudoalignments.bam | more
+
more output/abundance.tsv
cat << EOM
diff --git a/biology/kallisto/files/patch-CMakeLists.txt b/biology/kallisto/files/patch-CMakeLists.txt
index b122ef10d345..0eff9653f86c 100644
--- a/biology/kallisto/files/patch-CMakeLists.txt
+++ b/biology/kallisto/files/patch-CMakeLists.txt
@@ -1,11 +1,71 @@
---- CMakeLists.txt.orig 2020-07-22 22:36:50 UTC
+--- CMakeLists.txt.orig 2023-06-27 10:45:00 UTC
+++ CMakeLists.txt
-@@ -42,7 +42,7 @@ ExternalProject_Add(htslib
- BUILD_IN_SOURCE 1
- CONFIGURE_COMMAND autoheader && autoconf && ${PROJECT_SOURCE_DIR}/ext/htslib/configure
- --prefix=${PREFIX} --disable-bz2 --disable-lzma --disable-libcurl
+@@ -33,10 +33,11 @@ if(${CMAKE_VERSION} VERSION_LESS 3.1)
+ # remove this block once CMake >=3.1 has fixated in the ecosystem
+ add_compile_options(-std=c++11)
+ else()
++ # Use c++11 to silence warnings
+ include(CheckCXXCompilerFlag)
+- check_cxx_compiler_flag(-std=c++17 COMPILER_SUPPORTS_CXX17)
++ check_cxx_compiler_flag(-std=c++11 COMPILER_SUPPORTS_CXX17)
+ if(COMPILER_SUPPORTS_CXX17)
+- set(CMAKE_CXX_STANDARD 17)
++ set(CMAKE_CXX_STANDARD 11)
+ else()
+ set(CMAKE_CXX_STANDARD 11)
+ endif()
+@@ -44,9 +45,7 @@ else()
+ set(CMAKE_CXX_EXTENSIONS OFF)
+ endif()
+
+-#add_compile_options(-Wall -Wno-unused-function)
+-add_compile_options(-Wno-subobject-linkage) # Suppress bifrost warning
+-set(PROJECT_BIFROST_CMAKE_CXX_FLAGS "-Wno-subobject-linkage -Wno-return-type") # Suppress bifrost warning
++set(PROJECT_BIFROST_CMAKE_CXX_FLAGS "-Wno-return-type") # Suppress bifrost warning
+
+ if(LINK MATCHES static)
+ message("static build")
+@@ -56,42 +55,16 @@ ENDIF(LINK MATCHES static)
+
+
+ include(ExternalProject)
+-if (USE_BAM)
+-ExternalProject_Add(htslib
+- PREFIX ${PROJECT_SOURCE_DIR}/ext/htslib
+- SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/htslib
+- BUILD_IN_SOURCE 1
+- CONFIGURE_COMMAND autoreconf -i && autoheader && autoconf && ${PROJECT_SOURCE_DIR}/ext/htslib/configure
+- --prefix=${PREFIX} --disable-bz2 --disable-lzma --disable-libcurl
- BUILD_COMMAND make lib-static
-+ BUILD_COMMAND gmake lib-static
+- INSTALL_COMMAND ""
+-)
+-endif(USE_BAM)
+
+ ExternalProject_Add(bifrost
+ PREFIX ${PROJECT_SOURCE_DIR}/ext/bifrost
+ SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/bifrost
+ BUILD_IN_SOURCE 1
+ CONFIGURE_COMMAND mkdir -p build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=${PREFIX} -DCMAKE_CXX_FLAGS=${PROJECT_BIFROST_CMAKE_CXX_FLAGS}
+- BUILD_COMMAND cd build && make
++ BUILD_COMMAND cd build && gmake
INSTALL_COMMAND ""
)
+-if (ZLIBNG)
+- message("zlib-ng enabled.")
+- ExternalProject_Add(zlib-ng
+- PREFIX ${PROJECT_SOURCE_DIR}/ext/zlib-ng
+- SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/zlib-ng
+- BUILD_IN_SOURCE 1
+- CONFIGURE_COMMAND mkdir -p zlib-ng && cd zlib-ng && cmake .. -DZLIB_COMPAT=ON -DZLIB_ENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=${PREFIX}
+- BUILD_COMMAND cd zlib-ng && make
+- INSTALL_COMMAND ""
+- )
+-endif(ZLIBNG)
+-
+-if (USE_BAM)
+-include_directories(${htslib_PREFIX}/src/htslib)
+-endif(USE_BAM)
+ include_directories(${EXT_PROJECTS_DIR}/bifrost/build/src)
+
+ ExternalProject_Get_Property(bifrost install_dir)
diff --git a/biology/kallisto/files/patch-ext_bifrost_CMakeLists.txt b/biology/kallisto/files/patch-ext_bifrost_CMakeLists.txt
new file mode 100644
index 000000000000..d25cf028cfdd
--- /dev/null
+++ b/biology/kallisto/files/patch-ext_bifrost_CMakeLists.txt
@@ -0,0 +1,40 @@
+--- ext/bifrost/CMakeLists.txt.orig 2023-06-27 10:45:00 UTC
++++ ext/bifrost/CMakeLists.txt
+@@ -7,18 +7,12 @@ find_package(Threads REQUIRED)
+ # To enable a larger default k-mer size, replace MAX_KMER_SIZE with a larger multiple of 32: actual maximum k-mer size will be MAX_KMER_SIZE-1.
+ SET(MAX_KMER_SIZE "32" CACHE STRING "MAX_KMER_SIZE")
+ SET(MAX_GMER_SIZE "${MAX_KMER_SIZE}" CACHE STRING "MAX_GMER_SIZE")
+-# Enable architecture optimizations
+-SET(COMPILATION_ARCH "native" CACHE STRING "COMPILATION_ARCH")
+-# Enable AVX2 instructions
+-SET(ENABLE_AVX2 "ON" CACHE STRING "ENABLE_AVX2")
++SET(CMAKE_VERBOSE_MAKEFILE "ON")
+
+ # Set some default compile flags
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+
+-set_property(SOURCE BlockedBloomFilter.cpp APPEND_STRING PROPERTY COMPILE_FLAGS " -funroll-loops")
+-
+-
+ #check if we are on arm64 and apple, if so, disable AVX2
+ if(APPLE AND CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
+ message("Disabling AVX2 instructions on arm64")
+@@ -30,8 +24,6 @@ if(COMPILATION_ARCH MATCHES "OFF")
+ message("Disabling native architecture compilation (including AVX2)")
+ else(COMPILATION_ARCH MATCHES "OFF")
+ message("Compilation architecture: ${COMPILATION_ARCH}")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=${COMPILATION_ARCH}")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${COMPILATION_ARCH}")
+ endif(COMPILATION_ARCH MATCHES "OFF")
+
+ if(ENABLE_AVX2 MATCHES "OFF")
+@@ -56,7 +48,7 @@ else(CMAKE_BUILD_TYPE MATCHES Debug)
+ set(CMAKE_EXE_LINKER_FLAGS "-pg")
+ else(CMAKE_BUILD_TYPE MATCHES Profile)
+ message("Build type: Release")
+- add_compile_options(-O3)
++ add_compile_options(-O2)
+ endif(CMAKE_BUILD_TYPE MATCHES Profile)
+ endif(CMAKE_BUILD_TYPE MATCHES Debug)
+
diff --git a/biology/kallisto/files/patch-ext_bifrost_src_strict__fstream.hpp b/biology/kallisto/files/patch-ext_bifrost_src_strict__fstream.hpp
new file mode 100644
index 000000000000..1a4191325e7c
--- /dev/null
+++ b/biology/kallisto/files/patch-ext_bifrost_src_strict__fstream.hpp
@@ -0,0 +1,11 @@
+--- ext/bifrost/src/strict_fstream.hpp.orig 2023-07-06 14:11:32 UTC
++++ ext/bifrost/src/strict_fstream.hpp
+@@ -64,7 +64,7 @@ static std::string strerror()
+ } else {
+ return "Unknown error (" + std::to_string(err_num) + ")";
+ }
+-#elif ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE) || defined(__APPLE__) || defined(__MUSL__)
++#elif ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE) || defined(__APPLE__) || defined(__MUSL__) || defined(__FreeBSD__)
+ // XSI-compliant strerror_r()
+ const int err_num = errno; // See above
+ if (strerror_r(err_num, buff.data(), buff.size()) == 0) {
diff --git a/biology/kallisto/files/patch-ext_htslib_configure.ac b/biology/kallisto/files/patch-ext_htslib_configure.ac
deleted file mode 100644
index 0482cc554c45..000000000000
--- a/biology/kallisto/files/patch-ext_htslib_configure.ac
+++ /dev/null
@@ -1,11 +0,0 @@
---- ext/htslib/configure.ac.orig 2019-11-04 16:28:52 UTC
-+++ ext/htslib/configure.ac
-@@ -23,7 +23,7 @@
- # DEALINGS IN THE SOFTWARE.
-
- dnl Process this file with autoconf to produce a configure script
--AC_INIT([HTSlib], m4_esyscmd_s([make print-version]),
-+AC_INIT([HTSlib], [1.4.1],
- [samtools-help@lists.sourceforge.net], [], [http://www.htslib.org/])
- AC_PREREQ(2.63) dnl This version introduced 4-argument AC_CHECK_HEADER
- AC_CONFIG_SRCDIR(hts.c)
diff --git a/biology/kallisto/files/patch-src_CMakeLists.txt b/biology/kallisto/files/patch-src_CMakeLists.txt
new file mode 100644
index 000000000000..87cd4b49b02d
--- /dev/null
+++ b/biology/kallisto/files/patch-src_CMakeLists.txt
@@ -0,0 +1,24 @@
+--- src/CMakeLists.txt.orig 2023-06-27 10:45:00 UTC
++++ src/CMakeLists.txt
+@@ -3,12 +3,6 @@ file(GLOB headers *.h *.hpp)
+
+ list(REMOVE_ITEM sources main.cpp)
+
+-if (USE_BAM)
+-include_directories(../ext/htslib)
+-endif(USE_BAM)
+-
+-add_compile_options(-Wno-subobject-linkage) # Suppress bifrost warning
+-
+ add_library(kallisto_core ${sources} ${headers})
+ target_include_directories(kallisto_core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+
+@@ -17,7 +11,7 @@ add_executable(kallisto main.cpp)
+ find_package( Threads REQUIRED )
+ ExternalProject_Get_Property(bifrost install_dir)
+ if (USE_BAM)
+-target_link_libraries(kallisto kallisto_core pthread ${CMAKE_CURRENT_SOURCE_DIR}/../ext/htslib/libhts.a ${install_dir}/build/src/libbifrost.a)
++target_link_libraries(kallisto kallisto_core pthread hts ${install_dir}/build/src/libbifrost.a)
+ else()
+ target_link_libraries(kallisto kallisto_core pthread ${install_dir}/build/src/libbifrost.a)
+ endif(USE_BAM)
diff --git a/biology/kallisto/files/patch-src_kseq.h b/biology/kallisto/files/patch-src_kseq.h
new file mode 100644
index 000000000000..f7712a023fda
--- /dev/null
+++ b/biology/kallisto/files/patch-src_kseq.h
@@ -0,0 +1,12 @@
+--- src/kseq.h.orig 2019-11-04 16:28:52 UTC
++++ src/kseq.h
+@@ -32,6 +32,9 @@
+ #include <string.h>
+ #include <stdlib.h>
+
++// Prevent redefinition of kstring_t below
++#include <htslib/kstring.h>
++
+ #define KS_SEP_SPACE 0 // isspace(): \t, \n, \v, \f, \r
+ #define KS_SEP_TAB 1 // isspace() && !' '
+ #define KS_SEP_LINE 2 // line separator: "\n" (Unix) or "\r\n" (Windows)
diff --git a/biology/kallisto/files/patch-src_main.cpp b/biology/kallisto/files/patch-src_main.cpp
new file mode 100644
index 000000000000..2eadc428781c
--- /dev/null
+++ b/biology/kallisto/files/patch-src_main.cpp
@@ -0,0 +1,10 @@
+--- src/main.cpp.orig 2023-11-02 11:38:09 UTC
++++ src/main.cpp
+@@ -11,6 +11,7 @@
+ #include <limits>
+
+ #include <cstdio>
++#include <unistd.h> // rmdir()
+
+ #include "common.h"
+ #include "ProcessReads.h"
diff --git a/biology/kallisto/pkg-descr b/biology/kallisto/pkg-descr
index 4f06ae7e4127..de9c8d8c3d2b 100644
--- a/biology/kallisto/pkg-descr
+++ b/biology/kallisto/pkg-descr
@@ -2,5 +2,3 @@ Kallisto is a program for quantifying abundances of transcripts from RNA-Seq
data, or more generally of target sequences using high-throughput sequencing
reads. It is based on the novel idea of pseudoalignment for rapidly determining
the compatibility of reads with targets, without the need for alignment.
-
-WWW: https://pachterlab.github.io/kallisto/about.html
diff --git a/biology/kmcp/Makefile b/biology/kmcp/Makefile
new file mode 100644
index 000000000000..766256b0ce9c
--- /dev/null
+++ b/biology/kmcp/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= kmcp
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.9.4
+PORTREVISION= 4
+CATEGORIES= biology
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Accurate metagenomic profiling & fast large-scale genome searching
+WWW= https://bioinf.shenwei.me/kmcp/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= go:modules
+
+GO_MODULE= github.com/shenwei356/kmcp
+GO_TARGET= ./kmcp
+
+PLIST_FILES= bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/biology/kmcp/distinfo b/biology/kmcp/distinfo
new file mode 100644
index 000000000000..7d8eb9d13586
--- /dev/null
+++ b/biology/kmcp/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1695014681
+SHA256 (go/biology_kmcp/kmcp-v0.9.4/v0.9.4.mod) = 2da501ebee323ed29adca5bdfb763eb7b2d4359eb432366975af4acb10027926
+SIZE (go/biology_kmcp/kmcp-v0.9.4/v0.9.4.mod) = 1809
+SHA256 (go/biology_kmcp/kmcp-v0.9.4/v0.9.4.zip) = 1d3f8097c9ec42f9a4cad33bf42cc036c39c719ae41b709a432eec8f33e39dfb
+SIZE (go/biology_kmcp/kmcp-v0.9.4/v0.9.4.zip) = 68581517
diff --git a/biology/kmcp/files/patch-vendor_github.com_shenwei356_pand_select__other.go b/biology/kmcp/files/patch-vendor_github.com_shenwei356_pand_select__other.go
new file mode 100644
index 000000000000..8b9ea9af937e
--- /dev/null
+++ b/biology/kmcp/files/patch-vendor_github.com_shenwei356_pand_select__other.go
@@ -0,0 +1,11 @@
+--- vendor/github.com/shenwei356/pand/select_other.go.orig 2023-03-24 18:40:11 UTC
++++ vendor/github.com/shenwei356/pand/select_other.go
+@@ -1,7 +1,7 @@
+ // we adopt the similar method to choose platform relevant function from:
+ // https://github.com/clausecker/pospop
+
+-//go:build !amd64 && !386
++//go:build !amd64
+
+ package pand
+
diff --git a/biology/kmcp/files/patch-vendor_github.com_shenwei356_pospop_select__generic.go b/biology/kmcp/files/patch-vendor_github.com_shenwei356_pospop_select__generic.go
new file mode 100644
index 000000000000..4f440fbb68a7
--- /dev/null
+++ b/biology/kmcp/files/patch-vendor_github.com_shenwei356_pospop_select__generic.go
@@ -0,0 +1,9 @@
+--- vendor/github.com/shenwei356/pospop/select_generic.go.orig 2023-03-23 01:18:29 UTC
++++ vendor/github.com/shenwei356/pospop/select_generic.go
+@@ -7,6 +7,3 @@ package pospop
+
+ // generic variants only
+ var count8funcs = []count8impl{{count8generic, "generic", true}}
+-var count16funcs = []count16impl{{count16generic, "generic", true}}
+-var count32funcs = []count32impl{{count32generic, "generic", true}}
+-var count64funcs = []count64impl{{count64generic, "generic", true}}
diff --git a/biology/kmcp/pkg-descr b/biology/kmcp/pkg-descr
new file mode 100644
index 000000000000..9343e3654a75
--- /dev/null
+++ b/biology/kmcp/pkg-descr
@@ -0,0 +1,4 @@
+KMCP: accurate metagenomic profiling of both prokaryotic and viral populations
+by pseudo-mapping.
+
+See also: https://github.com/shenwei356/kmcp
diff --git a/biology/lamarc/Makefile b/biology/lamarc/Makefile
index 686c1a87c31e..46f4e102635a 100644
--- a/biology/lamarc/Makefile
+++ b/biology/lamarc/Makefile
@@ -1,5 +1,3 @@
-# Created by: Johann Visagie <wjv@FreeBSD.org>
-
PORTNAME= lamarc
PORTVERSION= 2.1.8
DISTVERSIONSUFFIX= -src
@@ -10,25 +8,28 @@ MASTER_SITES= http://evolution.genetics.washington.edu/lamarc/download/
MAINTAINER= ports@FreeBSD.org
COMMENT= Package of programs for computing population parameters
+WWW= https://evolution.genetics.washington.edu/lamarc/
LICENSE= APACHE20
-USE_CXXSTD= c++98
+BROKEN_FreeBSD_14= fails to compile: no matching function for call to 'make_pair'
-WRKSRC= ${WRKDIR}/${DISTNAME:S,${DISTVERSIONSUFFIX},,}
+USE_CXXSTD= c++98
GNU_CONFIGURE= yes
-PORTDOCS= *
+WRKSRC= ${WRKDIR}/${DISTNAME:S,${DISTVERSIONSUFFIX},,}
+
PLIST_FILES= bin/${PORTNAME}
+PORTDOCS= *
OPTIONS_DEFINE= WXGTK DOCS
-WXGTK_USE= WX=2.8
-WXGTK_VARS= WX_CONF_ARGS=absolute
-WXGTK_PLIST_FILES= bin/lam_conv
-WXGTK_CONFIGURE_OFF= --disable-converter
WXGTK_BROKEN= does not build
+WXGTK_USE= WX=3.0
+WXGTK_CONFIGURE_OFF= --disable-converter
+WXGTK_PLIST_FILES= bin/lam_conv
+WXGTK_VARS= WX_CONF_ARGS=absolute
post-patch:
@${REINPLACE_CMD} -e \
diff --git a/biology/lamarc/pkg-descr b/biology/lamarc/pkg-descr
index c7f535b33e3e..2cbf87342f74 100644
--- a/biology/lamarc/pkg-descr
+++ b/biology/lamarc/pkg-descr
@@ -3,5 +3,3 @@ Coalescence) is a package of programs for computing population parameters
such as population size, population growth rate and migration rates. It does
this by using likelihoods for samples of data (sequences, microsatellites,
and electrophoretic polymorphisms) from populations.
-
-WWW: http://evolution.genetics.washington.edu/lamarc/
diff --git a/biology/libbigwig/Makefile b/biology/libbigwig/Makefile
index 62239103ff1e..f0884f1f31a2 100644
--- a/biology/libbigwig/Makefile
+++ b/biology/libbigwig/Makefile
@@ -1,32 +1,31 @@
PORTNAME= libbigwig
-DISTVERSION= 0.4.6
+DISTVERSION= 0.4.7
CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= C library for handling bigWig files (containing genomic data)
+WWW= https://github.com/dpryan79/libBigWig
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libcurl.so:ftp/curl
-USES= gmake localbase:ldflags
+USES= cmake:testing localbase:ldflags
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= dpryan79
GH_PROJECT= libBigWig
-MAKE_ARGS= LDFLAGS=-L${LOCALBASE}/lib
+CMAKE_ON= BUILD_SHARED_LIBS
+CMAKE_TESTING_ON= ENABLE_TESTING # unclear how to run tests, see https://github.com/dpryan79/libBigWig/issues/63
+CMAKE_TESTING_TARGET=
-PLIST_FILES= include/bigWig.h \
- include/bigWigIO.h \
- include/bwCommon.h \
- include/bwValues.h \
- lib/libBigWig.a \
+PLIST_FILES= include/libbigwig/bigWig.h \
+ include/libbigwig/bigWigIO.h \
+ include/libbigwig/bwCommon.h \
+ include/libbigwig/bwValues.h \
lib/libBigWig.so
-post-stage:
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libBigWig.so
-
.include <bsd.port.mk>
diff --git a/biology/libbigwig/distinfo b/biology/libbigwig/distinfo
index 05d7b21ec99a..feb3500be752 100644
--- a/biology/libbigwig/distinfo
+++ b/biology/libbigwig/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1614989298
-SHA256 (dpryan79-libBigWig-0.4.6_GH0.tar.gz) = eb4ecbd3ae428474a57dab969fa7564ae755310da65be68efa18969e0d132a9e
-SIZE (dpryan79-libBigWig-0.4.6_GH0.tar.gz) = 300805
+TIMESTAMP = 1689575069
+SHA256 (dpryan79-libBigWig-0.4.7_GH0.tar.gz) = 8e057797011d93fa00e756600898af4fe6ca2d48959236efc9f296abe94916d9
+SIZE (dpryan79-libBigWig-0.4.7_GH0.tar.gz) = 302341
diff --git a/biology/libbigwig/files/patch-bwValues.c b/biology/libbigwig/files/patch-bwValues.c
new file mode 100644
index 000000000000..af1a590abdb8
--- /dev/null
+++ b/biology/libbigwig/files/patch-bwValues.c
@@ -0,0 +1,29 @@
+--- bwValues.c.orig 2023-12-28 21:21:29 UTC
++++ bwValues.c
+@@ -6,7 +6,7 @@
+ #include <zlib.h>
+ #include <errno.h>
+
+-static uint32_t roundup(uint32_t v) {
++static uint32_t bwRoundup(uint32_t v) {
+ v--;
+ v |= v >> 1;
+ v |= v >> 2;
+@@ -347,7 +347,7 @@ static bwOverlappingIntervals_t *pushIntervals(bwOverl
+ //Returns NULL on error, in which case o has been free()d
+ static bwOverlappingIntervals_t *pushIntervals(bwOverlappingIntervals_t *o, uint32_t start, uint32_t end, float value) {
+ if(o->l+1 >= o->m) {
+- o->m = roundup(o->l+1);
++ o->m = bwRoundup(o->l+1);
+ o->start = realloc(o->start, o->m * sizeof(uint32_t));
+ if(!o->start) goto error;
+ o->end = realloc(o->end, o->m * sizeof(uint32_t));
+@@ -367,7 +367,7 @@ static bbOverlappingEntries_t *pushBBIntervals(bbOverl
+
+ static bbOverlappingEntries_t *pushBBIntervals(bbOverlappingEntries_t *o, uint32_t start, uint32_t end, char *str, int withString) {
+ if(o->l+1 >= o->m) {
+- o->m = roundup(o->l+1);
++ o->m = bwRoundup(o->l+1);
+ o->start = realloc(o->start, o->m * sizeof(uint32_t));
+ if(!o->start) goto error;
+ o->end = realloc(o->end, o->m * sizeof(uint32_t));
diff --git a/biology/libbigwig/pkg-descr b/biology/libbigwig/pkg-descr
index b4f28a1aa6cb..600908d5c054 100644
--- a/biology/libbigwig/pkg-descr
+++ b/biology/libbigwig/pkg-descr
@@ -1,3 +1 @@
A C library for reading/parsing local and remote bigWig and bigBed files.
-
-WWW: https://github.com/dpryan79/libBigWig
diff --git a/biology/libcombine/Makefile b/biology/libcombine/Makefile
new file mode 100644
index 000000000000..81ed203b5b35
--- /dev/null
+++ b/biology/libcombine/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= libcombine
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.2.20
+CATEGORIES= biology
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= C++ library for working with the COMBINE archive format
+WWW= https://sbml.org/software/libsbml/
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+LIB_DEPENDS= libsbml.so:biology/libsbml
+
+USES= cmake:testing compiler:c++11-lang gnome localbase:ldflags
+USE_GNOME= libxml2
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= sbmlteam
+GH_PROJECT= libCombine
+GH_TUPLE= fbergmann:zipper:c56a27f:zipper/submodules/zipper \
+ sebastiandev:minizip:e3a8cb7:zipper_minizip/submodules/zipper/minizip
+
+CMAKE_OFF= BUILD_TEST
+CMAKE_TESTING_ON= BUILD_TEST # tests fail to build, see https://github.com/sbmlteam/libCombine/issues/58
+
+LDFLAGS+= -lsbml # FindSBML.cmake fails to set this link flag
+
+.include <bsd.port.mk>
diff --git a/biology/libcombine/distinfo b/biology/libcombine/distinfo
new file mode 100644
index 000000000000..8b2474e0d7af
--- /dev/null
+++ b/biology/libcombine/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1670484063
+SHA256 (sbmlteam-libCombine-v0.2.20_GH0.tar.gz) = 2b4f76d479490b6b503217bb8135cf05a924c22fc8307e6829b82a586f67d3c1
+SIZE (sbmlteam-libCombine-v0.2.20_GH0.tar.gz) = 1525273
+SHA256 (fbergmann-zipper-c56a27f_GH0.tar.gz) = 32375fc560c2419603de4b1f4dfc30e99434e8fdc285537219571f77899e037a
+SIZE (fbergmann-zipper-c56a27f_GH0.tar.gz) = 124812
+SHA256 (sebastiandev-minizip-e3a8cb7_GH0.tar.gz) = 14492faf0694bf075312626ffba0fe6fcfccb450001db5b01fece2134d69a75d
+SIZE (sebastiandev-minizip-e3a8cb7_GH0.tar.gz) = 85593
diff --git a/biology/libcombine/files/patch-CMakeLists.txt b/biology/libcombine/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..bec79c56523e
--- /dev/null
+++ b/biology/libcombine/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2022-12-07 09:35:06 UTC
++++ CMakeLists.txt
+@@ -44,7 +44,7 @@ set(LIBCOMBINE_VERSION "${LIBCOMBINE_VERSION_MAJOR}.${
+ set(PACKAGE_NAME "libCombine")
+
+ project(libCombine VERSION "${LIBCOMBINE_VERSION_MAJOR}.${LIBCOMBINE_VERSION_MINOR}.${LIBCOMBINE_VERSION_PATCH}"
+- LANGUAGES CXX)
++ LANGUAGES C CXX)
+
+ set(CMAKE_CXX_STANDARD 11)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
diff --git a/biology/libcombine/files/patch-CMakeModules_FindLIBSBML.cmake b/biology/libcombine/files/patch-CMakeModules_FindLIBSBML.cmake
new file mode 100644
index 000000000000..c7d6e386f2c3
--- /dev/null
+++ b/biology/libcombine/files/patch-CMakeModules_FindLIBSBML.cmake
@@ -0,0 +1,23 @@
+--- CMakeModules/FindLIBSBML.cmake.orig 2022-10-21 06:11:59 UTC
++++ CMakeModules/FindLIBSBML.cmake
+@@ -124,9 +124,7 @@ endif (NOT LIBSBML_INCLUDE_DIR)
+
+
+ find_library(LIBSBML_LIBRARY
+- NAMES sbml-static
+- sbml
+- libsbml-static
++ NAMES sbml
+ libsbml
+ PATHS $ENV{LIBSBML_DIR}/lib
+ $ENV{LIBSBML_DIR}
+@@ -144,8 +142,7 @@ find_library(LIBSBML_LIBRARY
+
+ if (NOT LIBSBML_LIBRARY)
+ find_library(LIBSBML_LIBRARY
+- NAMES sbml-static
+- sbml)
++ NAMES sbml)
+ endif (NOT LIBSBML_LIBRARY)
+
+ if (NOT LIBSBML_LIBRARY)
diff --git a/biology/libcombine/files/patch-dev_generated_CMakeLists.txt b/biology/libcombine/files/patch-dev_generated_CMakeLists.txt
new file mode 100644
index 000000000000..5907bbf5a841
--- /dev/null
+++ b/biology/libcombine/files/patch-dev_generated_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- dev/generated/CMakeLists.txt.orig 2022-10-21 06:12:43 UTC
++++ dev/generated/CMakeLists.txt
+@@ -221,7 +221,7 @@ endif(WITH_SWIG)
+ # Locate libsbml
+ #
+ find_library(LIBSBML_LIBRARY
+- NAMES libsbml-static.lib sbml-static libsbml.lib sbml
++ NAMES libsbml.lib sbml
+ PATHS ${LIBCOMBINE_DEPENDENCY_DIR}/lib
+ /usr/local/lib
+ /usr/lib
diff --git a/biology/libcombine/pkg-descr b/biology/libcombine/pkg-descr
new file mode 100644
index 000000000000..6cee46bab321
--- /dev/null
+++ b/biology/libcombine/pkg-descr
@@ -0,0 +1,4 @@
+LibCombine implements a C++ API library providing support for the Combine
+Archive. The library is written after the likeness of libSBML (and in fact some
+classes have been generated using DEVISER). Thus even thought he core is
+written in C++, the classes can be accessed via SWIG from .NET, Java and Python.
diff --git a/biology/libcombine/pkg-plist b/biology/libcombine/pkg-plist
new file mode 100644
index 000000000000..85a990f0ada3
--- /dev/null
+++ b/biology/libcombine/pkg-plist
@@ -0,0 +1,43 @@
+include/combine/combinearchive.h
+include/combine/knownformats.h
+include/combine/omexdescription.h
+include/combine/util.h
+include/combine/vcard.h
+include/omex/CaBase.h
+include/omex/CaConstructorException.h
+include/omex/CaContent.h
+include/omex/CaCrossRef.h
+include/omex/CaError.h
+include/omex/CaErrorLog.h
+include/omex/CaErrorTable.h
+include/omex/CaListOf.h
+include/omex/CaListOfContents.h
+include/omex/CaListOfCrossRefs.h
+include/omex/CaNamespaces.h
+include/omex/CaOmexManifest.h
+include/omex/CaReader.h
+include/omex/CaTypeCodes.h
+include/omex/CaTypes.h
+include/omex/CaVisitor.h
+include/omex/CaWriter.h
+include/omex/common/CaOperationReturnValues.h
+include/omex/common/combinefwd.h
+include/omex/common/common.h
+include/omex/common/extern.h
+include/omex/common/libcombine-config-common.h
+include/omex/common/libcombine-config.h
+include/omex/common/libcombine-namespace.h
+include/omex/common/libcombine-version.h
+lib/cmake/Combine-config-version.cmake
+lib/cmake/Combine-config.cmake
+lib/cmake/Combine-static-config-version.cmake
+lib/cmake/Combine-static-config.cmake
+lib/cmake/Combine-static-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Combine-static-targets.cmake
+lib/cmake/Combine-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Combine-targets.cmake
+lib/libCombine-static.a
+lib/libCombine.so
+lib/libCombine.so.0
+lib/libCombine.so.0.2.20
+share/cmake/Modules/FindLIBCOMBINE.cmake
diff --git a/biology/libgff/Makefile b/biology/libgff/Makefile
new file mode 100644
index 000000000000..7fa18c100fe4
--- /dev/null
+++ b/biology/libgff/Makefile
@@ -0,0 +1,17 @@
+PORTNAME= libgff
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.0.0
+CATEGORIES= biology
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= GFF/GTF parsing library based on GCLib
+WWW= https://github.com/COMBINE-lab/libgff
+
+LICENSE= BSL
+LICENSE_FILE= ${WRKSRC}/BoostLicense.txt
+
+USES= cmake
+USE_GITHUB= yes
+GH_ACCOUNT= COMBINE-lab
+
+.include <bsd.port.mk>
diff --git a/biology/libgff/distinfo b/biology/libgff/distinfo
new file mode 100644
index 000000000000..9bb01692e5c1
--- /dev/null
+++ b/biology/libgff/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1631451501
+SHA256 (COMBINE-lab-libgff-v2.0.0_GH0.tar.gz) = 7656b19459a7ca7d2fd0fcec4f2e0fd0deec1b4f39c703a114e8f4c22d82a99c
+SIZE (COMBINE-lab-libgff-v2.0.0_GH0.tar.gz) = 102152
diff --git a/biology/libgff/pkg-descr b/biology/libgff/pkg-descr
new file mode 100644
index 000000000000..4645fa1911e8
--- /dev/null
+++ b/biology/libgff/pkg-descr
@@ -0,0 +1,9 @@
+This is an attempt to perform a simple "libraryfication" of the GFF/GTF
+parsing code that is used in GFFRead codebase. There are not many
+(any?) relatively lightweight GTF/GFF parsers exposing a C++ interface,
+and the goal of this library is to provide this functionality without
+the necessity of drawing in a heavy-weight dependency like SeqAn. Note:
+This library draws directly from the code in GFFRead and GCLib, and
+exists primarily to remove functionality (and hence code) that is
+unnecessary for our downstream purposes. In the future, it may be
+appropriate to just replace this library wholesale with GCLib.
diff --git a/biology/libgff/pkg-plist b/biology/libgff/pkg-plist
new file mode 100644
index 000000000000..474ea892d185
--- /dev/null
+++ b/biology/libgff/pkg-plist
@@ -0,0 +1,14 @@
+include/GArgs.h
+include/GBase.h
+include/GFaSeqGet.h
+include/GFastaIndex.h
+include/GHash.hh
+include/GList.hh
+include/GStr.h
+include/GVec.hh
+include/codons.h
+include/gdna.h
+include/gff.h
+lib/libgff.a
+lib/libgff/cmake/libgffConfig.cmake
+lib/libgff/cmake/libgffConfigVersion.cmake
diff --git a/biology/libgtextutils/Makefile b/biology/libgtextutils/Makefile
index 6de2b7cf460e..2911dd8858a0 100644
--- a/biology/libgtextutils/Makefile
+++ b/biology/libgtextutils/Makefile
@@ -4,6 +4,7 @@ CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Gordon's text utilities
+WWW= https://github.com/agordon/libgtextutils
LICENSE= AGPLv3
diff --git a/biology/libgtextutils/pkg-descr b/biology/libgtextutils/pkg-descr
index 827b3c0e6495..477e136d3b52 100644
--- a/biology/libgtextutils/pkg-descr
+++ b/biology/libgtextutils/pkg-descr
@@ -1,3 +1 @@
Gordon's text utilities.
-
-WWW: https://github.com/agordon/libgtextutils
diff --git a/biology/libneurosim/Makefile b/biology/libneurosim/Makefile
new file mode 100644
index 000000000000..e98c3171a7b0
--- /dev/null
+++ b/biology/libneurosim/Makefile
@@ -0,0 +1,35 @@
+PORTNAME= libneurosim
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.2.0
+CATEGORIES= biology
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Common interfaces for neuronal simulators
+WWW= https://github.com/INCF/libneurosim
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+USES= autoreconf gmake libtool
+USE_LDCONFIG= yes
+
+GNU_CONFIGURE= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= INCF
+
+INSTALL_TARGET= install-strip
+
+BINARY_ALIAS= aclocal-1.15=aclocal automake-1.15=automake # workaround for the outdated aclocal-1.15 & automake-1.15 somehow placed into libltdl/Makefile
+
+OPTIONS_DEFINE= PYTHON
+OPTIONS_DEFAULT= PYTHON
+OPTIONS_SUB= yes
+
+PYTHON_CONFIGURE_ON= --with-python=${PYTHON_VER:R}
+PYTHON_USES= python
+
+pre-build: # ignore failure of the first run of the build command that always fails first, see https://github.com/INCF/libneurosim/issues/21
+ @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} || ${TRUE}
+
+.include <bsd.port.mk>
diff --git a/biology/libneurosim/distinfo b/biology/libneurosim/distinfo
new file mode 100644
index 000000000000..697b456e39a0
--- /dev/null
+++ b/biology/libneurosim/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1633636734
+SHA256 (INCF-libneurosim-v1.2.0_GH0.tar.gz) = 372fa0d8fb31950370f1d27bff4865e1200456239f4ea382c267d9a310175f83
+SIZE (INCF-libneurosim-v1.2.0_GH0.tar.gz) = 33695
diff --git a/biology/libneurosim/pkg-descr b/biology/libneurosim/pkg-descr
new file mode 100644
index 000000000000..cc54119944de
--- /dev/null
+++ b/biology/libneurosim/pkg-descr
@@ -0,0 +1,11 @@
+libneurosim is a general library that provides interfaces and common utility
+code for neuronal simulators.
+
+Currently it provides the ConnectionGenerator interface.
+
+The ConnectionGenerator API is a standard interface supporting efficient
+generation of network connectivity during model setup in neuronal network
+simulators. It is intended as an abstraction isolating both sides of the API:
+any simulator can use a given connection generator and a given simulator can use
+any library providing the ConnectionGenerator interface. It was initially
+developed to support the use of libcsa from NEST.
diff --git a/biology/libneurosim/pkg-plist b/biology/libneurosim/pkg-plist
new file mode 100644
index 000000000000..5da69290ed22
--- /dev/null
+++ b/biology/libneurosim/pkg-plist
@@ -0,0 +1,13 @@
+include/neurosim/config.h
+include/neurosim/connection_generator.h
+include/neurosim/connection_generator_V2_0.h
+%%PYTHON%%include/neurosim/pyneurosim.h
+include/neurosim/version.h
+lib/libneurosim.a
+lib/libneurosim.so
+lib/libneurosim.so.0
+lib/libneurosim.so.0.0.0
+%%PYTHON%%lib/libpy3neurosim.a
+%%PYTHON%%lib/libpy3neurosim.so
+%%PYTHON%%lib/libpy3neurosim.so.0
+%%PYTHON%%lib/libpy3neurosim.so.0.0.0
diff --git a/biology/libnuml/Makefile b/biology/libnuml/Makefile
new file mode 100644
index 000000000000..67dd0f9f954d
--- /dev/null
+++ b/biology/libnuml/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= libnuml
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.1.6
+CATEGORIES= biology devel
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= C++ library for Numerical Markup Language
+WWW= https://github.com/NuML/NuML
+
+LICENSE= LGPL21
+
+LIB_DEPENDS= libsbml.so:biology/libsbml
+
+USES= cmake gnome
+USE_GNOME= libxml2
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= NuML
+GH_PROJECT= NuML
+
+WRKSRC_SUBDIR= ${PORTNAME}
+
+post-install:
+ # no need to install LICENSE, README, VERSION
+ @${RM} -r ${STAGEDIR}${DATADIR}
+ # workaround for https://github.com/NuML/NuML/issues/26
+ ${RM} -r ${STAGEDIR}${PREFIX}/share/cmake
+
+.include <bsd.port.mk>
diff --git a/biology/libnuml/distinfo b/biology/libnuml/distinfo
new file mode 100644
index 000000000000..d0f2a6d8ab88
--- /dev/null
+++ b/biology/libnuml/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1650763295
+SHA256 (NuML-NuML-v1.1.6_GH0.tar.gz) = 1b51cd51bfe7e9c4e0bcd69f86d8199a23ebe9ea931d4f112b3f6e1666e4f2c8
+SIZE (NuML-NuML-v1.1.6_GH0.tar.gz) = 3425639
diff --git a/biology/libnuml/pkg-descr b/biology/libnuml/pkg-descr
new file mode 100644
index 000000000000..7a0c8087057e
--- /dev/null
+++ b/biology/libnuml/pkg-descr
@@ -0,0 +1,4 @@
+The Numerical Markup Language (NuML) aims to standardize the exchange and
+archiving of numerical results. NuML originates from the numerical aspects of
+the Systems Biology Results Markup Language (SBRML) with the aim of re-using it
+in multiple other standardization efforts.
diff --git a/biology/libnuml/pkg-plist b/biology/libnuml/pkg-plist
new file mode 100644
index 000000000000..ffd50b651e2a
--- /dev/null
+++ b/biology/libnuml/pkg-plist
@@ -0,0 +1,44 @@
+include/numl/AtomicDescription.h
+include/numl/AtomicValue.h
+include/numl/CompositeDescription.h
+include/numl/CompositeValue.h
+include/numl/Dimension.h
+include/numl/DimensionDescription.h
+include/numl/NMBase.h
+include/numl/NUMLDocument.h
+include/numl/NUMLError.h
+include/numl/NUMLErrorLog.h
+include/numl/NUMLErrorTable.h
+include/numl/NUMLList.h
+include/numl/NUMLNamespaces.h
+include/numl/NUMLReader.h
+include/numl/NUMLSimpleTester.h
+include/numl/NUMLTypeCodes.h
+include/numl/NUMLTypes.h
+include/numl/NUMLVisitor.h
+include/numl/NUMLWriter.h
+include/numl/OntologyTerm.h
+include/numl/ResultComponent.h
+include/numl/Tuple.h
+include/numl/TupleDescription.h
+include/numl/common/common.h
+include/numl/common/extern.h
+include/numl/common/libnuml-config-common.h
+include/numl/common/libnuml-config-unix.h
+include/numl/common/libnuml-config-win.h
+include/numl/common/libnuml-config.h
+include/numl/common/libnuml-namespace.h
+include/numl/common/libnuml-package.h
+include/numl/common/libnuml-version.h
+include/numl/common/numlfwd.h
+include/numl/common/operationReturnValues.h
+lib/cmake/numl-config-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/numl-config-version.cmake
+lib/cmake/numl-config.cmake
+lib/cmake/numl-static-config-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/numl-static-config-version.cmake
+lib/cmake/numl-static-config.cmake
+lib/libnuml-static.a
+lib/libnuml.so
+lib/libnuml.so.1
+lib/libnuml.so.1.1.6
diff --git a/biology/libsbml/Makefile b/biology/libsbml/Makefile
index 4e6d0e186774..719c12face77 100644
--- a/biology/libsbml/Makefile
+++ b/biology/libsbml/Makefile
@@ -1,33 +1,57 @@
-# Created by: Wen Heping <wenheping@gmail.com>
-
PORTNAME= libsbml
-PORTVERSION= 5.19.0
+PORTVERSION= 5.20.2
+DISTVERSIONPREFIX= v
CATEGORIES= biology devel
-MASTER_SITES= SF/sbml/libsbml/${PORTVERSION}/stable
-DISTNAME= libSBML-${PORTVERSION}-core-src
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= API Library for Working with SBML File
+WWW= https://sbml.org/software/libsbml/ \
+ https://synonym.caltech.edu/ \
+ https://github.com/sbmlteam/libsbml
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/COPYING.txt
-USES= cmake iconv:build pathfix
+USES= cmake:testing iconv:build pathfix
-CMAKE_OFF= EXIT_ON_ERROR LIBSBML_USE_STRICT_INCLUDES PYTHON_USE_API2_WARNINGS WITH_ALL_PACKAGES WITH_CHECK WITH_CPP_NAMESPACE WITH_CSHARP WITH_DOXYGEN WITH_JAVA WITH_JAVASCRIPT WITH_MATLAB WITH_OCTAVE WITH_PERL WITH_PHP WITH_R WITH_STABLE_PACKAGES WITH_WALL
-CMAKE_ON= LIBSBML_SHARED_VERSION WITH_BZIP2 WITH_SWIG WITH_ZLIB
+CMAKE_OFF= EXIT_ON_ERROR \
+ LIBSBML_USE_STRICT_INCLUDES \
+ PYTHON_USE_API2_WARNINGS \
+ WITH_ALL_PACKAGES \
+ WITH_CHECK \
+ WITH_CPP_NAMESPACE \
+ WITH_CSHARP \
+ WITH_DOXYGEN \
+ WITH_JAVA \
+ WITH_JAVASCRIPT \
+ WITH_MATLAB \
+ WITH_OCTAVE \
+ WITH_PERL \
+ WITH_PHP \
+ WITH_R \
+ WITH_STABLE_PACKAGES \
+ WITH_WALL
+CMAKE_ON= LIBSBML_SHARED_VERSION \
+ WITH_BZIP2 \
+ WITH_SWIG \
+ WITH_THREADSAFE_PARSER \
+ WITH_ZLIB
+CMAKE_TESTING_ON= WITH_CHECK
USE_CXXSTD= c++98
USE_LDCONFIG= yes
-WRKSRC= ${WRKDIR}/libsbml-${PORTVERSION}
PLIST_SUB= PORTVERSION=${PORTVERSION}
+USE_GITHUB= yes
+GH_ACCOUNT= sbmlteam
+
OPTIONS_DEFINE= EXAMPLES PYTHON RUBY
OPTIONS_SINGLE= XML
OPTIONS_SINGLE_XML= EXPAT LIBXML2 XERCES
OPTIONS_DEFAULT=LIBXML2 PYTHON
OPTIONS_SUB= yes
+EXAMPLES_CMAKE_BOOL= WITH_EXAMPLES
EXPAT_CMAKE_BOOL= WITH_EXPAT
EXPAT_LIB_DEPENDS= libexpat.so:textproc/expat2
LIBXML2_CMAKE_BOOL= WITH_LIBXML
@@ -39,7 +63,7 @@ PYTHON_USES= python
PYTHON_CMAKE_ON= WITH_SWIG
RUBY_BUILD_DEPENDS= swig:devel/swig
RUBY_CMAKE_BOOL= WITH_RUBY
-RUBY_USE= ruby=yes
+RUBY_USES= ruby
XERCES_CMAKE_BOOL= WITH_XERCES
XERCES_LIB_DEPENDS= libxerces-c.so:textproc/xerces-c3
@@ -47,7 +71,7 @@ post-patch:
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' ${WRKSRC}/CMakeLists.txt
post-install-EXAMPLES-on:
- ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} '! -name *Makefile*'
+ ${MV} ${STAGEDIR}${DATADIR}/examples ${STAGEDIR}${EXAMPLESDIR}
+ ${RMDIR} ${STAGEDIR}${DATADIR}
.include <bsd.port.mk>
diff --git a/biology/libsbml/distinfo b/biology/libsbml/distinfo
index 2610d16e3336..f4800bc48845 100644
--- a/biology/libsbml/distinfo
+++ b/biology/libsbml/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1607539653
-SHA256 (libSBML-5.19.0-core-src.tar.gz) = 9d2837378e77a8732588d481327bb10c721ec06dd6cd72f8041d67d3b53d4e56
-SIZE (libSBML-5.19.0-core-src.tar.gz) = 14600103
+TIMESTAMP = 1696001262
+SHA256 (sbmlteam-libsbml-v5.20.2_GH0.tar.gz) = a196cab964b0b41164d4118ef20523696510bbfd264a029df00091305a1af540
+SIZE (sbmlteam-libsbml-v5.20.2_GH0.tar.gz) = 28799745
diff --git a/biology/libsbml/files/patch-CMakeLists.txt b/biology/libsbml/files/patch-CMakeLists.txt
index 16351bdf126e..037277324c79 100644
--- a/biology/libsbml/files/patch-CMakeLists.txt
+++ b/biology/libsbml/files/patch-CMakeLists.txt
@@ -1,9 +1,56 @@
---- CMakeLists.txt.orig 2020-11-19 11:17:49 UTC
+--- CMakeLists.txt.orig 2023-04-03 10:48:28 UTC
+++ CMakeLists.txt
-@@ -1297,22 +1297,6 @@ endif()
+@@ -430,8 +430,6 @@ if(WITH_EXPAT)
+ set(LIBSBML_XML_LIBRARY_INCLUDE ${EXPAT_INCLUDE_DIR})
+ set(LIBSBML_XML_LIBRARY_LIBS ${EXPAT_LIBRARY})
+
+- list(APPEND LIBSBML_FIND_MODULES "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/FindEXPAT.cmake")
+-
+ endif(WITH_EXPAT)
+
+
+@@ -452,8 +450,6 @@ if(WITH_LIBXML)
+ set(LIBSBML_XML_LIBRARY_INCLUDE ${LIBXML_INCLUDE_DIR})
+ set(LIBSBML_XML_LIBRARY_LIBS ${LIBXML_LIBRARY})
+
+- list(APPEND LIBSBML_FIND_MODULES "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/FindLIBXML.cmake")
+-
+ endif(WITH_LIBXML)
+
+
+@@ -473,8 +469,6 @@ if(WITH_XERCES)
+ set(LIBSBML_XML_LIBRARY_INCLUDE ${XERCES_INCLUDE_DIR})
+ set(LIBSBML_XML_LIBRARY_LIBS ${XERCES_LIBRARY})
+
+- list(APPEND LIBSBML_FIND_MODULES "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/FindXERCES.cmake")
+-
+ endif(WITH_XERCES)
###############################################################################
- #
+@@ -498,7 +492,6 @@ if(WITH_BZIP2)
+ set(USE_BZ2 ON)
+ add_definitions( -DUSE_BZ2 )
+ list(APPEND SWIG_EXTRA_ARGS -DUSE_BZ2)
+- list(APPEND LIBSBML_FIND_MODULES "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/FindBZ2.cmake")
+ endif(WITH_BZIP2)
+
+
+@@ -608,8 +601,6 @@ valid. It should contain the file zlib.h, but it does
+ INTERFACE_INCLUDE_DIRECTORIES "${LIBZ_INCLUDE_DIR}")
+ endif()
+
+- list(APPEND LIBSBML_FIND_MODULES "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/FindZLIB.cmake")
+-
+ endif(WITH_ZLIB)
+
+ # install find scripts only for used dependencies
+@@ -981,22 +972,6 @@ if(WITH_DOXYGEN)
+ add_subdirectory(docs)
+ endif()
+
+-
+-###############################################################################
+-#
-# Install documentation
-#
-
@@ -17,9 +64,6 @@
-)
-
-install(FILES ${DOCUMENTATION_FILES} DESTINATION ${MISC_PREFIX})
--
--###############################################################################
--#
- # Write libsbml.pc
- #
+ ###############################################################################
+ #
diff --git a/biology/libsbml/pkg-descr b/biology/libsbml/pkg-descr
index bd9fa0520885..0e8c7548b241 100644
--- a/biology/libsbml/pkg-descr
+++ b/biology/libsbml/pkg-descr
@@ -7,7 +7,3 @@ LibSBML understands all Levels and Versions of SBML, as well as the
SBML Layout proposal by Gauges, Rost, Sahle and Wegner. It's written in
ISO C and C++ but can be used from all the languages listed in the
right-hand box.
-
-WWW: http://www.sbml.org/
-WWW: https://github.com/sbmlteam/libsbml
-WWW: https://synonym.caltech.edu/
diff --git a/biology/libsbml/pkg-plist b/biology/libsbml/pkg-plist
index b357279ef9f7..7a382979c5e4 100644
--- a/biology/libsbml/pkg-plist
+++ b/biology/libsbml/pkg-plist
@@ -75,6 +75,7 @@ include/sbml/compress/zip.h
include/sbml/compress/zipfstream.h
include/sbml/conversion/ConversionOption.h
include/sbml/conversion/ConversionProperties.h
+include/sbml/conversion/ExpressionAnalyser.h
include/sbml/conversion/SBMLConverter.h
include/sbml/conversion/SBMLConverterRegister.h
include/sbml/conversion/SBMLConverterRegistry.h
@@ -87,6 +88,7 @@ include/sbml/conversion/SBMLLevel1Version1Converter.h
include/sbml/conversion/SBMLLevelVersionConverter.h
include/sbml/conversion/SBMLLocalParameterConverter.h
include/sbml/conversion/SBMLRateOfConverter.h
+include/sbml/conversion/SBMLRateRuleConverter.h
include/sbml/conversion/SBMLReactionConverter.h
include/sbml/conversion/SBMLRuleConverter.h
include/sbml/conversion/SBMLStripPackageConverter.h
@@ -196,53 +198,31 @@ include/sbml/xml/XercesHandler.h
include/sbml/xml/XercesNamespaces.h
include/sbml/xml/XercesParser.h
include/sbml/xml/XercesTranscode.h
-lib/libsbml-static.a
-lib/libsbml.so
-lib/libsbml.so.5
-lib/libsbml.so.%%PORTVERSION%%
-libdata/pkgconfig/libsbml.pc
-lib/cmake/sbml-config-release.cmake
lib/cmake/sbml-config-version.cmake
lib/cmake/sbml-config.cmake
-lib/cmake/sbml-static-config-release.cmake
lib/cmake/sbml-static-config-version.cmake
lib/cmake/sbml-static-config.cmake
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/libsbml.pth
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/libsbml/_libsbml.so
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/libsbml/libsbml.py
+lib/cmake/sbml-static-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/sbml-static-targets.cmake
+lib/cmake/sbml-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/sbml-targets.cmake
+lib/libsbml-static.a
+lib/libsbml.so
+lib/libsbml.so.5
+lib/libsbml.so.%%PORTVERSION%%
+%%PYTHON_SITELIBDIR%%/libsbml.pth
+%%PYTHON_SITELIBDIR%%/libsbml/_libsbml.so
+%%PYTHON_SITELIBDIR%%/libsbml/libsbml.py
%%RUBY%%%%RUBY_SITEARCHLIBDIR%%/libSBML.so
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/CMakeLists.txt
+libdata/pkgconfig/libsbml.pc
+@comment share/cmake/Modules/FindBZ2.cmake
+@comment share/cmake/Modules/FindCHECK.cmake
+@comment share/cmake/Modules/FindEXPAT.cmake
+share/cmake/Modules/FindLIBSBML.cmake
+@comment share/cmake/Modules/FindLIBXML.cmake
+@comment share/cmake/Modules/FindXERCES.cmake
+@comment share/cmake/Modules/FindZLIB.cmake
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README.txt
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/CMakeLists.txt
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/FormulaGraphvizFormatter.h
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/addCVTerms.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/addModelHistory.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/addingEvidenceCodes_1.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/addingEvidenceCodes_2.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/appendAnnotation.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/convertSBML.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/createExampleSBML.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/drawMath.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/echoSBML.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/evaluateMath.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printAnnotation.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printMath.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printNotes.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printRegisteredPackages.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printSBML.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printSupported.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printUnits.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/promoteParameters.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/readSBML.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/stripPackage.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/translateL3Math.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/translateMath.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/unsetAnnotation.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/unsetNotes.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/util.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/util.h
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/validateSBML.c
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/CMakeLists.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/addCVTerms.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/addCustomValidator.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/addModelHistory.cpp
@@ -258,15 +238,6 @@ lib/cmake/sbml-static-config.cmake
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/getAllElementsWithNotes.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/inferUnits.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/inlineFunctionDefintions.cpp
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/layout/CMakeLists.txt
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/layout/addLayout.cpp
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/layout/convertLayout.cpp
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/layout/example1-L3.cpp
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/layout/example1.cpp
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/layout/example2-L3.cpp
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/layout/example2.cpp
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/layout/example3-L3.cpp
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/layout/example3.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/printAnnotation.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/printMath.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/printNotes.cpp
@@ -278,6 +249,7 @@ lib/cmake/sbml-static-config.cmake
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/readSBML.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/renameSId.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/rngvalidator.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/setAnnotation.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/setIdFromNames.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/setNamesFromIds.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/stripPackage.cpp
@@ -288,219 +260,95 @@ lib/cmake/sbml-static-config.cmake
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/util.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/util.h
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c++/validateSBML.cpp
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/CMakeLists.txt
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/GetAllElementsWithNotes.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/SetIdFromNames.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/addCVTerms.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/addCustomValidator.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/addModelHistory.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/addingEvidenceCodes_1.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/addingEvidenceCodes_2.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/appendAnnotation.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/callExternalValidator.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/convertSBML.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/createExampleSBML.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/echoSBML.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/evaluateCustomMath.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/inlineInitialAssignments.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/layout/CMakeLists.txt
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/layout/example1-L3.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/printAnnotation.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/printMath.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/printNotes.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/printRegisteredPackages.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/printSBML.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/printUnits.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/printsupported.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/promoteParameters.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/readSBML.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/replaceOneFD.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/stripPackage.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/translateMath.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/unsetAnnotation.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/unsetNotes.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csharp/validateSBML.cs
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/CMakeLists.txt
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/README.txt
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/addCVTerms.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/addCustomValidator.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/addModelHistory.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/addingEvidenceCodes_1.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/addingEvidenceCodes_2.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/appendAnnotation.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/callExternalValidator.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/convertSBML.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/createExampleSBML.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/echoSBML.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/evaluateCustomMath.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/evaluateMath.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/getAllElementsWithNotes.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/inlineInitialAssignments.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/layout/CMakeLists.txt
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/layout/SimpleLayoutConverter.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/layout/layout_example1.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/layout/layout_example1_L3.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/printAnnotation.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/printMath.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/printNotes.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/printRegisteredPackages.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/printSBML.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/printUnits.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/printsupported.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/promoteParameters.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/readSBML.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/replaceOneFD.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/setIdFromNames.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/stripPackage.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/translateMath.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/unsetAnnotation.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/unsetNotes.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/validateSBML.java
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/addCVTerms.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/addModelHistory.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/addingEvidenceCodes_1.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/addingEvidenceCodes_2.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/appendAnnotation.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/callExternalValidator.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/convertSBML.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/createExampleSBML.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/echoSBML.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/printAnnotation.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/printMath.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/printNotes.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/printRegisteredPackages.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/printSBML.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/printUnits.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/printsupported.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/promoteParameters.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/readSBML.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/stripPackage.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/translateMath.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/unsetAnnotation.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/unsetNotes.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/javascript/validateSBML.js
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/layout-package.cmake
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/layout/README.txt
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/addCVTerms.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/addCustomValidator.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/addModelHistory.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/addingEvidenceCodes_1.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/addingEvidenceCodes_2.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/appendAnnotation.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/callExternalValidator.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/convertSBML.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/createExampleSBML.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/echoSBML.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/evaluateMath.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/extractReactionInfo.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/extractReactions.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/layout/example1-L3.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/printAnnotation.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/printMath.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/printNotes.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/printRegisteredPackages.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/printSBML.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/printUnits.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/printsupported.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/promoteParameters.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/readSBML.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/renameSId.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/stripPackage.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/translateMath.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/unsetAnnotation.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/unsetNotes.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/perl/validateSBML.pl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/php/createExampleSBML.php
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/php/echoSBML.php
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/php/validateSBML.php
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/addCVTerms.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/addCustomValidator.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/addModelHistory.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/addingEvidenceCodes_1.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/addingEvidenceCodes_2.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/append_to_note.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/appendAnnotation.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/callExternalValidator.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/convertSBML.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/createExampleSBML.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/createSimpleModel.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/echoSBML.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/evaluateCustomMath.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/getAllElementsWithNotes.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/inlineFunctionDefinitions.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/inlineInitialAssignments.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/layout/convertLayout.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/layout/example1-L3.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/layout/example1.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/printAnnotation.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/printMath.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/printNotes.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/printRegisteredPackages.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/printSBML.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/printUnits.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/printsupported.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/promoteParameters.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/readSBML.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/renameSId.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/replaceOneFD.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/setIdFromNames.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/stringInput.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/stripPackage.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/translateMath.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/unsetAnnotation.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/unsetNotes.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/validateSBML.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/validateSBMLWithCallback.py
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/addCVTerms.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/addModelHistory.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/addingEvidenceCodes_1.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/addingEvidenceCodes_2.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/appendAnnotation.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/convertSBML.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/createExampleSBML.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/echoSBML.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/evaluateMath.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/printAnnotation.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/printMath.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/printNotes.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/printRegisteredPackages.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/printSBML.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/printSupported.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/printUnits.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/promoteParameters.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/readSBML.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/stripPackage.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/translateMath.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/unsetAnnotation.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/unsetNotes.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/r/validateSBML.R
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/addCVTerms.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/addCustomValidator.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/addModelHistory.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/addingEvidenceCodes_1.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/addingEvidenceCodes_2.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/appendAnnotation.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/callExternalValidator.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/convertSBML.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/createExampleSBML.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/echoSBML.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/layout/example1-L3.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/printAnnotation.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/printMath.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/printNotes.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/printRegisteredPackages.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/printSBML.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/printUnits.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/printsupported.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/promoteParameters.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/readSBML.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/stripPackage.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/translateMath.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/unsetAnnotation.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/unsetNotes.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ruby/validateSBML.rb
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/README.txt
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-2/README.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/FormulaGraphvizFormatter.h
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/addCVTerms.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/addModelHistory.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/addingEvidenceCodes_1.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/addingEvidenceCodes_2.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/appendAnnotation.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/convertSBML.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/createExampleSBML.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/drawMath.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/echoSBML.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/evaluateMath.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printAnnotation.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printMath.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printNotes.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printRegisteredPackages.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printSBML.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printSupported.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/printUnits.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/promoteParameters.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/readSBML.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/stripPackage.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/translateL3Math.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/translateMath.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/unsetAnnotation.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/unsetNotes.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/util.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/util.h
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/validateSBML.c
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/addCVTerms.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/addCustomValidator.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/addModelHistory.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/add_function_definition.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/addingEvidenceCodes_1.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/addingEvidenceCodes_2.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/appendAnnotation.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/append_to_note.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/callExternalValidator.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/convertSBML.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/createExampleSBML.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/createSimpleModel.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/echoSBML.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/evaluateCustomMath.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/getAllElementsWithNotes.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/inlineFunctionDefinitions.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/inlineInitialAssignments.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/printAnnotation.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/printMath.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/printNotes.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/printRegisteredPackages.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/printSBML.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/printUnits.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/printsupported.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/promoteParameters.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/readSBML.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/renameSId.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/replaceOneFD.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/setIdFromNames.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/setNamesFromIds.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/stringInput.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/stripPackage.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/translateMath.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/unsetAnnotation.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/unsetNotes.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/validateSBML.py
+%%PORTEXAMPLES%%%%PYTHON%%%%EXAMPLESDIR%%/python/validateSBMLWithCallback.py
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/addCVTerms.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/addCustomValidator.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/addModelHistory.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/addingEvidenceCodes_1.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/addingEvidenceCodes_2.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/appendAnnotation.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/callExternalValidator.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/convertSBML.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/createExampleSBML.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/echoSBML.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/printAnnotation.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/printMath.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/printNotes.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/printRegisteredPackages.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/printSBML.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/printUnits.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/printsupported.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/promoteParameters.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/readSBML.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/stripPackage.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/translateMath.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/unsetAnnotation.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/unsetNotes.rb
+%%PORTEXAMPLES%%%%RUBY%%%%EXAMPLESDIR%%/ruby/validateSBML.rb
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-2/algebraicrules.xml
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-2/assignmentrules.xml
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-2/boundarycondition.xml
@@ -513,7 +361,6 @@ lib/cmake/sbml-static-config.cmake
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-2/overdetermined.xml
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-2/twodimensional.xml
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-2/units.xml
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-3/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-3/algebraicrules.xml
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-3/assignmentrules.xml
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-3/boundarycondition.xml
@@ -531,4 +378,3 @@ lib/cmake/sbml-static-config.cmake
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-3/overdetermined.xml
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-3/twoalgebraicrules.xml
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample-models/from-spec/level-3/twodimensional.xml
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/xslt/layout/layout2svg.xsl
diff --git a/biology/libsedml/Makefile b/biology/libsedml/Makefile
new file mode 100644
index 000000000000..c979cd8bc72f
--- /dev/null
+++ b/biology/libsedml/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= libsedml
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.0.32
+CATEGORIES= biology devel
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= C++ SED-ML library
+WWW= https://github.com/fbergmann/libSEDML
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS= libsbml>0:biology/libsbml \
+ libnuml>0:biology/libnuml # statically linked, even into a shared library, see https://github.com/fbergmann/libSEDML/issues/155
+RUN_DEPENDS= libsbml>0:biology/libsbml \
+ libnuml>0:biology/libnuml # when static lib libnuml.a is fixed these should be run-time dependency
+
+USES= cmake compiler:c++11-lang gnome
+USE_GNOME= libxml2
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= fbergmann
+GH_PROJECT= libSEDML
+
+post-install:
+ # no need to install LICENSE, README, VERSION
+ @${RM} -r ${STAGEDIR}${DATADIR}
+ # workaround for https://github.com/fbergmann/libSEDML/issues/163
+ ${RM} -r ${STAGEDIR}${PREFIX}/share/cmake
+
+# the project builds static libs with -fPIC, see https://github.com/fbergmann/libSEDML/issues/155
+
+.include <bsd.port.mk>
diff --git a/biology/libsedml/distinfo b/biology/libsedml/distinfo
new file mode 100644
index 000000000000..7f650a78b96f
--- /dev/null
+++ b/biology/libsedml/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1654751397
+SHA256 (fbergmann-libSEDML-v2.0.32_GH0.tar.gz) = 95f0781c19e73bb86618cce1678f4238f3cc11abe070b49f2a25e869071b8069
+SIZE (fbergmann-libSEDML-v2.0.32_GH0.tar.gz) = 966584
diff --git a/biology/libsedml/files/patch-CMakeLists.txt b/biology/libsedml/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..d3511e327290
--- /dev/null
+++ b/biology/libsedml/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2022-06-07 11:34:09 UTC
++++ CMakeLists.txt
+@@ -73,7 +73,7 @@ set(LIBSEDML_DOTTED_VERSION ${LIBSEDML_VERSION})
+ set(PACKAGE_NAME "libSEDML")
+
+ project (libsedml VERSION "${LIBSEDML_VERSION_MAJOR}.${LIBSEDML_VERSION_MINOR}.${LIBSEDML_VERSION_PATCH}"
+- LANGUAGES CXX)
++ LANGUAGES C CXX)
+
+ set(CMAKE_CXX_STANDARD 11)
+ set(CMAKE_CXX_STANDARD_REQUIRED YES)
diff --git a/biology/libsedml/pkg-descr b/biology/libsedml/pkg-descr
new file mode 100644
index 000000000000..4922781b05ad
--- /dev/null
+++ b/biology/libsedml/pkg-descr
@@ -0,0 +1,2 @@
+The libSEDML project makes use of libSBML XML layer as well as code generation
+as starting point to produce a library for reading and writing of SED-ML models.
diff --git a/biology/libsedml/pkg-plist b/biology/libsedml/pkg-plist
new file mode 100644
index 000000000000..eca7bc710ba9
--- /dev/null
+++ b/biology/libsedml/pkg-plist
@@ -0,0 +1,119 @@
+include/sedml/SedAbstractCurve.h
+include/sedml/SedAbstractTask.h
+include/sedml/SedAddXML.h
+include/sedml/SedAdjustableParameter.h
+include/sedml/SedAlgorithm.h
+include/sedml/SedAlgorithmParameter.h
+include/sedml/SedAnalysis.h
+include/sedml/SedAppliedDimension.h
+include/sedml/SedAxis.h
+include/sedml/SedBase.h
+include/sedml/SedBounds.h
+include/sedml/SedChange.h
+include/sedml/SedChangeAttribute.h
+include/sedml/SedChangeXML.h
+include/sedml/SedComputeChange.h
+include/sedml/SedConstructorException.h
+include/sedml/SedCurve.h
+include/sedml/SedDataDescription.h
+include/sedml/SedDataGenerator.h
+include/sedml/SedDataRange.h
+include/sedml/SedDataSet.h
+include/sedml/SedDataSource.h
+include/sedml/SedDocument.h
+include/sedml/SedElementFilter.h
+include/sedml/SedError.h
+include/sedml/SedErrorLog.h
+include/sedml/SedErrorTable.h
+include/sedml/SedExperimentReference.h
+include/sedml/SedFigure.h
+include/sedml/SedFill.h
+include/sedml/SedFitExperiment.h
+include/sedml/SedFitMapping.h
+include/sedml/SedFunctionalRange.h
+include/sedml/SedLeastSquareObjectiveFunction.h
+include/sedml/SedLine.h
+include/sedml/SedListOf.h
+include/sedml/SedListOfAdjustableParameters.h
+include/sedml/SedListOfAlgorithmParameters.h
+include/sedml/SedListOfAppliedDimensions.h
+include/sedml/SedListOfChanges.h
+include/sedml/SedListOfCurves.h
+include/sedml/SedListOfDataDescriptions.h
+include/sedml/SedListOfDataGenerators.h
+include/sedml/SedListOfDataSets.h
+include/sedml/SedListOfDataSources.h
+include/sedml/SedListOfExperimentReferences.h
+include/sedml/SedListOfFitExperiments.h
+include/sedml/SedListOfFitMappings.h
+include/sedml/SedListOfModels.h
+include/sedml/SedListOfOutputs.h
+include/sedml/SedListOfParameters.h
+include/sedml/SedListOfRanges.h
+include/sedml/SedListOfSetValues.h
+include/sedml/SedListOfSimulations.h
+include/sedml/SedListOfSlices.h
+include/sedml/SedListOfStyles.h
+include/sedml/SedListOfSubPlots.h
+include/sedml/SedListOfSubTasks.h
+include/sedml/SedListOfSurfaces.h
+include/sedml/SedListOfTasks.h
+include/sedml/SedListOfVariables.h
+include/sedml/SedMarker.h
+include/sedml/SedModel.h
+include/sedml/SedNamespaces.h
+include/sedml/SedObjective.h
+include/sedml/SedOneStep.h
+include/sedml/SedOutput.h
+include/sedml/SedParameter.h
+include/sedml/SedParameterEstimationReport.h
+include/sedml/SedParameterEstimationResultPlot.h
+include/sedml/SedParameterEstimationTask.h
+include/sedml/SedPlot.h
+include/sedml/SedPlot2D.h
+include/sedml/SedPlot3D.h
+include/sedml/SedRange.h
+include/sedml/SedReader.h
+include/sedml/SedRemoveXML.h
+include/sedml/SedRepeatedTask.h
+include/sedml/SedReport.h
+include/sedml/SedSetValue.h
+include/sedml/SedShadedArea.h
+include/sedml/SedSimulation.h
+include/sedml/SedSlice.h
+include/sedml/SedSteadyState.h
+include/sedml/SedStyle.h
+include/sedml/SedSubPlot.h
+include/sedml/SedSubTask.h
+include/sedml/SedSurface.h
+include/sedml/SedTask.h
+include/sedml/SedTypeCodes.h
+include/sedml/SedTypes.h
+include/sedml/SedUniformRange.h
+include/sedml/SedUniformTimeCourse.h
+include/sedml/SedVariable.h
+include/sedml/SedVectorRange.h
+include/sedml/SedVisitor.h
+include/sedml/SedWaterfallPlot.h
+include/sedml/SedWriter.h
+include/sedml/common/SedOperationReturnValues.h
+include/sedml/common/SedmlEnumerations.h
+include/sedml/common/common.h
+include/sedml/common/extern.h
+include/sedml/common/libsedml-config-common.h
+include/sedml/common/libsedml-config.h
+include/sedml/common/libsedml-namespace.h
+include/sedml/common/libsedml-version.h
+include/sedml/common/sedmlfwd.h
+lib/cmake/sedml-config-version.cmake
+lib/cmake/sedml-config.cmake
+lib/cmake/sedml-static-config-version.cmake
+lib/cmake/sedml-static-config.cmake
+lib/cmake/sedml-static-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/sedml-static-targets.cmake
+lib/cmake/sedml-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/sedml-targets.cmake
+lib/libsedml-static.a
+lib/libsedml.so
+lib/libsedml.so.2
+lib/libsedml.so.2.0.32
diff --git a/biology/linux-foldingathome/Makefile b/biology/linux-foldingathome/Makefile
index 2c019027e65a..5118ba878abb 100644
--- a/biology/linux-foldingathome/Makefile
+++ b/biology/linux-foldingathome/Makefile
@@ -1,5 +1,3 @@
-# Created by: Yonatan <onatan@gmail.com>
-
PORTNAME= foldingathome
DISTVERSION= 7.6.21
CATEGORIES= biology linux
@@ -10,6 +8,7 @@ EXTRACT_SUFX= .x86_64.rpm
MAINTAINER= 0mp@FreeBSD.org
COMMENT= Folding@home Client
+WWW= https://foldingathome.org/
# Distribution without permission is prohibited
LICENSE= FAHSL
@@ -19,7 +18,7 @@ LICENSE_PERMS= no-dist-mirror no-dist-sell no-pkg-mirror no-pkg-sell \
auto-accept
ONLY_FOR_ARCHS= amd64
-ONLY_FOR_ARCHS_REASON= The i386 client has not been ported
+ONLY_FOR_ARCHS_REASON= has not been ported to this architecture
USES= dos2unix linux
DOS2UNIX_FILES= usr/share/doc/fahclient/*
diff --git a/biology/linux-foldingathome/pkg-descr b/biology/linux-foldingathome/pkg-descr
index 24805755d3ce..ce8eef79c359 100644
--- a/biology/linux-foldingathome/pkg-descr
+++ b/biology/linux-foldingathome/pkg-descr
@@ -13,5 +13,3 @@ proteins do not fold correctly (i.e. "misfold"), there can be serious
consequences, including many well known diseases, such as Alzheimer's,
Mad Cow (BSE), CJD, ALS, Huntington's, Parkinson's disease, and many
cancers and cancer-related syndromes.
-
-WWW: https://foldingathome.org/
diff --git a/biology/locarna/Makefile b/biology/locarna/Makefile
new file mode 100644
index 000000000000..a6c74fd931e6
--- /dev/null
+++ b/biology/locarna/Makefile
@@ -0,0 +1,39 @@
+PORTNAME= locarna
+DISTVERSION= 2.0.0
+PORTREVISION= 1
+CATEGORIES= biology
+MASTER_SITES= https://github.com/s-will/LocARNA/releases/download/v${DISTVERSION}/
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= LocARNA provides several tools for the structural analysis of RNA
+WWW= https://github.com/s-will/LocARNA
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= ${LOCALBASE}/lib/libRNA.a:biology/viennarna
+LIB_DEPENDS= libgmp.so:math/gmp \
+ libgsl.so:math/gsl \
+ libmpfr.so:math/mpfr
+TEST_DEPENDS= bash:shells/bash \
+ catch>0:devel/catch
+
+USES= autoreconf gmake libtool perl5 pkgconfig shebangfix
+USE_LDCONFIG= yes
+USE_CXXSTD= c++14 # workaround for https://github.com/s-will/LocARNA/issues/82 (LocARNA uses the removed STL method)
+
+CXXFLAGS+= -I${LOCALBASE}/include/catch2 # use external catch
+
+SHEBANG_FILES= src/Utils/locarna_mcc \
+ src/Tests/test_programs
+
+GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
+
+INSTALL_TARGET= install-strip
+TEST_TARGET= check # one test fails, see https://github.com/s-will/LocARNA/issues/81
+
+post-extract: # unbundle catch, see https://github.com/s-will/LocARNA/issues/80
+ @${RM} ${WRKSRC}/src/Tests/catch.hpp
+
+.include <bsd.port.mk>
diff --git a/biology/locarna/distinfo b/biology/locarna/distinfo
new file mode 100644
index 000000000000..1b872dee9ea6
--- /dev/null
+++ b/biology/locarna/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1689540878
+SHA256 (locarna-2.0.0.tar.gz) = 3be0d2cac7f7451f8b741983e22803b546de2074d837b425fb1b69ccc718ebbc
+SIZE (locarna-2.0.0.tar.gz) = 3049455
diff --git a/biology/locarna/pkg-descr b/biology/locarna/pkg-descr
new file mode 100644
index 000000000000..dd5376f2a390
--- /dev/null
+++ b/biology/locarna/pkg-descr
@@ -0,0 +1,13 @@
+LocARNA is a collection of alignment tools for the structural analysis of RNA.
+Given a set of RNA sequences, LocARNA simultaneously aligns and predicts common
+structures for your RNAs. In this way, LocARNA performs Sankoff-like alignment
+and is in particular suited for analyzing sets of related RNAs without known
+common structure.
+
+LocARNA distinguishes itself from many other Sankoff-style multiple alignment
+programs by its performance and low memory complexity, high accuracy, and
+richness of features. As unique features, it offers structure-local alignment,
+flexible structure and anchor constraints, and provides efficient computation of
+reliabilities in sequence-structure alignment. The package offers a robust core
+of features and is used as experimental platform for the incorporation of new
+features in RNA sequence-structure alignment.
diff --git a/biology/locarna/pkg-plist b/biology/locarna/pkg-plist
new file mode 100644
index 000000000000..aaf183bf0bec
--- /dev/null
+++ b/biology/locarna/pkg-plist
@@ -0,0 +1,134 @@
+bin/LocARNA_RNAz.pm
+bin/RNAz.pm
+bin/aln-seqs.pl
+bin/aln2fa.pl
+bin/alnsel.pl
+bin/average-dot.pl
+bin/benchmark-plot.R
+bin/dot2pp
+bin/exparna_p
+bin/exploc_p
+bin/gen-reliab-dot.pl
+bin/locarna
+bin/locarna-mea.pl
+bin/locarna-motif-scan
+bin/locarna_deviation
+bin/locarna_mcc
+bin/locarna_p
+bin/locarna_rnafold_pp
+bin/locarnap-predict-and-plot.pl
+bin/locarnap-realign-all.pl
+bin/locarnap-revcomp.pl
+bin/locarnap-revisit-RNAz-hits.pl
+bin/locarnap_fit
+bin/locarnate
+bin/mlocarna
+bin/mlocarna_nnames
+bin/plot-bmprobs
+bin/pp2dot
+bin/reliability-profile.pl
+bin/ribosum2cc
+bin/sparse
+include/LocARNA-2.0/LocARNA/aligner.hh
+include/LocARNA-2.0/LocARNA/aligner_impl.hh
+include/LocARNA-2.0/LocARNA/aligner_n.hh
+include/LocARNA-2.0/LocARNA/aligner_p.hh
+include/LocARNA-2.0/LocARNA/aligner_p.icc
+include/LocARNA-2.0/LocARNA/aligner_params.hh
+include/LocARNA-2.0/LocARNA/aligner_restriction.hh
+include/LocARNA-2.0/LocARNA/alignment.hh
+include/LocARNA-2.0/LocARNA/alignment_impl.hh
+include/LocARNA-2.0/LocARNA/alphabet.hh
+include/LocARNA-2.0/LocARNA/alphabet.icc
+include/LocARNA-2.0/LocARNA/anchor_constraints.hh
+include/LocARNA-2.0/LocARNA/arc_matches.hh
+include/LocARNA-2.0/LocARNA/aux.hh
+include/LocARNA-2.0/LocARNA/base_pair_filter.hh
+include/LocARNA-2.0/LocARNA/basepairs.hh
+include/LocARNA-2.0/LocARNA/confusion_matrix.hh
+include/LocARNA-2.0/LocARNA/discrete_distribution.hh
+include/LocARNA-2.0/LocARNA/edge_probs.hh
+include/LocARNA-2.0/LocARNA/edge_probs.icc
+include/LocARNA-2.0/LocARNA/exact_matcher.hh
+include/LocARNA-2.0/LocARNA/ext_rna_data.hh
+include/LocARNA-2.0/LocARNA/ext_rna_data_impl.hh
+include/LocARNA-2.0/LocARNA/free_endgaps.hh
+include/LocARNA-2.0/LocARNA/global_stopwatch.hh
+include/LocARNA-2.0/LocARNA/infty_int.hh
+include/LocARNA-2.0/LocARNA/main_helper.icc
+include/LocARNA-2.0/LocARNA/matrices.hh
+include/LocARNA-2.0/LocARNA/matrix.hh
+include/LocARNA-2.0/LocARNA/mcc_matrices.hh
+include/LocARNA-2.0/LocARNA/multiple_alignment.hh
+include/LocARNA-2.0/LocARNA/named_arguments.hh
+include/LocARNA-2.0/LocARNA/options.hh
+include/LocARNA-2.0/LocARNA/pfold_params.hh
+include/LocARNA-2.0/LocARNA/quadmath.hh
+include/LocARNA-2.0/LocARNA/ribofit.hh
+include/LocARNA-2.0/LocARNA/ribofit_will2014.icc
+include/LocARNA-2.0/LocARNA/ribofit_will2014.ihh
+include/LocARNA-2.0/LocARNA/ribosum.hh
+include/LocARNA-2.0/LocARNA/ribosum85_60.icc
+include/LocARNA-2.0/LocARNA/rna_data.hh
+include/LocARNA-2.0/LocARNA/rna_data_impl.hh
+include/LocARNA-2.0/LocARNA/rna_ensemble.hh
+include/LocARNA-2.0/LocARNA/rna_ensemble_impl.hh
+include/LocARNA-2.0/LocARNA/rna_structure.hh
+include/LocARNA-2.0/LocARNA/scoring.hh
+include/LocARNA-2.0/LocARNA/scoring_fwd.hh
+include/LocARNA-2.0/LocARNA/sequence.hh
+include/LocARNA-2.0/LocARNA/sequence_annotation.hh
+include/LocARNA-2.0/LocARNA/sparse_matrix.hh
+include/LocARNA-2.0/LocARNA/sparse_vector.hh
+include/LocARNA-2.0/LocARNA/sparse_vector_base.hh
+include/LocARNA-2.0/LocARNA/sparsification_mapper.hh
+include/LocARNA-2.0/LocARNA/std_help_text.ihh
+include/LocARNA-2.0/LocARNA/stopwatch.hh
+include/LocARNA-2.0/LocARNA/stral_score.hh
+include/LocARNA-2.0/LocARNA/string1.hh
+include/LocARNA-2.0/LocARNA/trace_controller.hh
+include/LocARNA-2.0/LocARNA/tuples.hh
+include/LocARNA-2.0/LocARNA/zip.hh
+lib/libLocARNA-2.0.a
+lib/libLocARNA-2.0.so
+lib/libLocARNA-2.0.so.1
+lib/libLocARNA-2.0.so.1.0.4
+lib/perl/MLocarna.pm
+lib/perl/MLocarna/Aux.pm
+lib/perl/MLocarna/MatchProbs.pm
+lib/perl/MLocarna/NameNormalizer.pm
+lib/perl/MLocarna/PairwiseAligners.pm
+lib/perl/MLocarna/SparseMatrix.pm
+lib/perl/MLocarna/Tree.pm
+lib/perl/MLocarna/threaded.pm
+lib/perl/MLocarna/unthreaded.pm
+libdata/pkgconfig/LocARNA-2.0.pc
+share/man/man1/aln-seqs.pl.1.gz
+share/man/man1/aln2fa.pl.1.gz
+share/man/man1/alnsel.pl.1.gz
+share/man/man1/average-dot.pl.1.gz
+share/man/man1/dot2pp.1.gz
+share/man/man1/exparna_p.1.gz
+share/man/man1/exploc_p.1.gz
+share/man/man1/gen-reliab-dot.pl.1.gz
+share/man/man1/locarna-mea.pl.1.gz
+share/man/man1/locarna-motif-scan.1.gz
+share/man/man1/locarna.1.gz
+share/man/man1/locarna_deviation.1.gz
+share/man/man1/locarna_mcc.1.gz
+share/man/man1/locarna_p.1.gz
+share/man/man1/locarna_rnafold_pp.1.gz
+share/man/man1/locarnap-predict-and-plot.pl.1.gz
+share/man/man1/locarnap-realign-all.pl.1.gz
+share/man/man1/locarnap-revcomp.pl.1.gz
+share/man/man1/locarnap-revisit-RNAz-hits.pl.1.gz
+share/man/man1/locarnap_fit.1.gz
+share/man/man1/locarnate.1.gz
+share/man/man1/mlocarna.1.gz
+share/man/man1/mlocarna_nnames.1.gz
+share/man/man1/plot-bmprobs.1.gz
+share/man/man1/pp2dot.1.gz
+share/man/man1/reliability-profile.pl.1.gz
+share/man/man1/ribosum2cc.1.gz
+share/man/man1/sparse.1.gz
+%%DATADIR%%/Matrices/RIBOSUM85_60
diff --git a/biology/mafft/Makefile b/biology/mafft/Makefile
index 8ace22cf09b4..30feff66324b 100644
--- a/biology/mafft/Makefile
+++ b/biology/mafft/Makefile
@@ -1,13 +1,13 @@
-# Created by: Fernan Aguero <fernan@iib.unsam.edu.ar>
-
PORTNAME= mafft
-PORTVERSION= 7.266
+PORTVERSION= 7.267
+PORTREVISION= 1
CATEGORIES= biology
MASTER_SITES= http://mafft.cbrc.jp/alignment/software/
DISTNAME= ${PORTNAME}-${PORTVERSION}-without-extensions-src
MAINTAINER= cartwright@asu.edu
COMMENT= Multiple alignment program for amino acid or nucleotide sequences
+WWW= https://mafft.cbrc.jp/alignment/software/
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/license
@@ -29,14 +29,6 @@ MAKE_ENV= INSTALL_LIB="${INSTALL_LIB}" \
MKDIR="${MKDIR}" \
LN="${LN}"
-.include <bsd.port.options.mk>
-
-post-patch:
-.if ${ARCH} == sparc64
- @${REINPLACE_CMD} -e 's|ENABLE_MULTITHREAD = -Denablemultithread||' \
- ${BUILD_WRKSRC}/Makefile
-.endif
-
post-install:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
@${MKDIR} ${STAGEDIR}${DOCSDIR}
diff --git a/biology/mafft/distinfo b/biology/mafft/distinfo
index 82b25f1f2b56..7fb66c313af8 100644
--- a/biology/mafft/distinfo
+++ b/biology/mafft/distinfo
@@ -1,2 +1,3 @@
-SHA256 (mafft-7.266-without-extensions-src.tgz) = 59d4921e13377bb2c8e1f0a007e94b3e698e2c546ce8facc9daa530bc673e707
-SIZE (mafft-7.266-without-extensions-src.tgz) = 440576
+TIMESTAMP = 1634878254
+SHA256 (mafft-7.267-without-extensions-src.tgz) = 60526e38d3faf3e8d96d9a2e2ecfc9662f0e61c71ed2bc35d07c769703ee86f6
+SIZE (mafft-7.267-without-extensions-src.tgz) = 435174
diff --git a/biology/mafft/files/patch-core_Makefile b/biology/mafft/files/patch-core_Makefile
index 24857082308f..e2b90212d597 100644
--- a/biology/mafft/files/patch-core_Makefile
+++ b/biology/mafft/files/patch-core_Makefile
@@ -9,7 +9,7 @@
+prefix = ${STAGEDIR}${PREFIX}
+LIBDIR = $(prefix)/libexec/mafft
+BINDIR = $(prefix)/bin
-+MANDIR = $(prefix)/man/man1
++MANDIR = $(prefix)/share/man/man1
#MNO_CYGWIN = -mno-cygwin
diff --git a/biology/mafft/pkg-descr b/biology/mafft/pkg-descr
index 9343adf34816..c9756bdb796d 100644
--- a/biology/mafft/pkg-descr
+++ b/biology/mafft/pkg-descr
@@ -12,5 +12,3 @@ Recent developments in the MAFFT multiple sequence alignment program.
K. Katoh, K. Misawa, K. Kuma and T. Miyata (Nucleic Acids Res. 30:
3059-3066, 2002) MAFFT: a novel method for rapid multiple sequence
alignment based on fast Fourier transform.
-
-WWW: http://mafft.cbrc.jp/alignment/software/
diff --git a/biology/mafft/pkg-plist b/biology/mafft/pkg-plist
index 37594a5eaf41..cc321ee51a33 100644
--- a/biology/mafft/pkg-plist
+++ b/biology/mafft/pkg-plist
@@ -49,8 +49,8 @@ libexec/mafft/sextet5
libexec/mafft/splittbfast
libexec/mafft/tbfast
libexec/mafft/version
-man/man1/mafft-homologs.1.gz
-man/man1/mafft.1.gz
+share/man/man1/mafft-homologs.1.gz
+share/man/man1/mafft.1.gz
%%PORTDOCS%%%%DOCSDIR%%/readme
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sample.dpparttree
diff --git a/biology/mapm3/Makefile b/biology/mapm3/Makefile
index 9a951c92640c..8350c70b8b2d 100644
--- a/biology/mapm3/Makefile
+++ b/biology/mapm3/Makefile
@@ -1,5 +1,3 @@
-# Created by: Tassilo Philipp <tphilipp@potion-studios.com>
-
PORTNAME= mapm3
PORTVERSION= 3.0
PORTREVISION= 1
@@ -12,6 +10,7 @@ DISTNAME= mapm3-source
MAINTAINER= tphilipp@potion-studios.com
COMMENT= Constructs linkage maps of markers segregating in experimental crosses
+WWW= http://www.broad.mit.edu/ftp/distribution/software/mapmaker3/
LICENSE= MAPMAKER
LICENSE_NAME= Whitehead Institute Mapmaker license
diff --git a/biology/mapm3/pkg-descr b/biology/mapm3/pkg-descr
index cf03caeaf049..d6f5a91c02f3 100644
--- a/biology/mapm3/pkg-descr
+++ b/biology/mapm3/pkg-descr
@@ -9,5 +9,3 @@ MAPMAKER/QTL is a companion program to MAPMAKER/EXP which allows one to map
genes controlling polygenic quantitative traits in F2 intercrosses and BC1
backcrosses relative to a genetic linkage map. More information on MAPMAKER/QTL
can be found in the technical report (included with MAPMAKER/QTL).
-
-WWW: http://www.broad.mit.edu/ftp/distribution/software/mapmaker3/
diff --git a/biology/mashmap/Makefile b/biology/mashmap/Makefile
new file mode 100644
index 000000000000..3ea631b2fb3f
--- /dev/null
+++ b/biology/mashmap/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= mashmap
+DISTVERSIONPREFIX= v
+DISTVERSION= 3.1.3
+CATEGORIES= biology
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Fast approximate aligner for long DNA sequences
+WWW= https://github.com/marbl/MashMap
+
+LICENSE= PD
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+BROKEN_armv7= compilation fails: fatal error: unknown type name '__uint128_t'
+BROKEN_i386= compilation fails: fatal error: unknown type name '__uint128_t'
+BROKEN_powerpc= compilation fails: fatal error: unknown type name '__uint128_t'
+
+LIB_DEPENDS= libgsl.so:math/gsl \
+ libhts.so:biology/htslib
+
+USES= cmake compiler:c++17-lang localbase:ldflags pkgconfig
+
+USE_GITHUB= yes
+GH_ACCOUNT= marbl
+GH_PROJECT= MashMap
+
+CMAKE_ON= USE_HTSLIB
+CMAKE_OFF= OPTIMIZE_FOR_NATIVE
+
+OPTIONS_DEFINE= NATIVE
+
+NATIVE_CMAKE_BOOL= OPTIMIZE_FOR_NATIVE
+
+PLIST_FILES= bin/mashmap \
+ bin/mashmap-align
+
+.include <bsd.port.mk>
diff --git a/biology/mashmap/distinfo b/biology/mashmap/distinfo
new file mode 100644
index 000000000000..8830cb134d4f
--- /dev/null
+++ b/biology/mashmap/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1704429274
+SHA256 (marbl-MashMap-v3.1.3_GH0.tar.gz) = 7719dd6b3c25e650e16218252eaae7dbf424a10890d717ec3ad0920b102fd05a
+SIZE (marbl-MashMap-v3.1.3_GH0.tar.gz) = 25919699
diff --git a/biology/mashmap/pkg-descr b/biology/mashmap/pkg-descr
new file mode 100644
index 000000000000..4460733166d2
--- /dev/null
+++ b/biology/mashmap/pkg-descr
@@ -0,0 +1,11 @@
+MashMap implements a fast and approximate algorithm for computing local
+alignment boundaries between long DNA sequences. It can be useful for mapping
+genome assembly or long reads (PacBio/ONT) to reference genome(s). Given a
+minimum alignment length and an identity threshold for the desired local
+alignments, Mashmap computes alignment boundaries and identity estimates using
+k-mers. It does not compute the alignments explicitly, but rather estimates an
+unbiased k-mer based Jaccard similarity using a combination of minmers (a novel
+winnowing scheme) and MinHash. This is then converted to an estimate of sequence
+identity using the Mash distance. An appropriate k-mer sampling rate is
+automatically determined using the given minimum local alignment length and
+identity thresholds.
diff --git a/biology/megahit/Makefile b/biology/megahit/Makefile
new file mode 100644
index 000000000000..379440059baa
--- /dev/null
+++ b/biology/megahit/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= megahit
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.2.9
+PORTREVISION= 1
+CATEGORIES= biology
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Ultra-fast single-node large and complex metagenomics assembly
+WWW= https://github.com/voutcn/megahit
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+ONLY_FOR_ARCHS= amd64 powerpc64 powerpc64le riscv64
+ONLY_FOR_ARCHS_REASON= "Uses specific 64-bit CPU features"
+
+USES= cmake python shebangfix
+SHEBANG_FILES= src/megahit
+USE_GITHUB= yes
+GH_ACCOUNT= voutcn
+
+CFLAGS+= -pthread
+
+.include <bsd.port.mk>
diff --git a/biology/megahit/distinfo b/biology/megahit/distinfo
new file mode 100644
index 000000000000..a70a74294d7a
--- /dev/null
+++ b/biology/megahit/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1669058254
+SHA256 (voutcn-megahit-v1.2.9_GH0.tar.gz) = 09026eb07cc4e2d24f58b0a13f7a826ae8bb73da735a47cb1cbe6e4693118852
+SIZE (voutcn-megahit-v1.2.9_GH0.tar.gz) = 268591
diff --git a/biology/megahit/files/patch-CMakeLists.txt b/biology/megahit/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..d879052c7f02
--- /dev/null
+++ b/biology/megahit/files/patch-CMakeLists.txt
@@ -0,0 +1,17 @@
+--- CMakeLists.txt.orig 2019-10-15 02:51:03 UTC
++++ CMakeLists.txt
+@@ -42,13 +42,12 @@ find_package(OpenMP REQUIRED)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DXXH_INLINE_ALL -ftemplate-depth=3000")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unused-function")
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprefetch-loop-arrays -funroll-loops")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__XROOT__='\"${CMAKE_SOURCE_DIR}/src\"'")
+ #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__XFILE__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'")
+
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${ZLIB_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
+
+-set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
++set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g -ggdb -O1 -D_LIBCPP_DEBUG -D_GLIBCXX_DEBUG")
+
+ if (COVERAGE)
diff --git a/biology/megahit/pkg-descr b/biology/megahit/pkg-descr
new file mode 100644
index 000000000000..8bf2914062fd
--- /dev/null
+++ b/biology/megahit/pkg-descr
@@ -0,0 +1,4 @@
+MEGAHIT is a single node assembler for large and complex metagenomics NGS
+reads, such as soil. It makes use of succinct de Bruijn graph (SdBG) to achieve
+low memory assembly. MEGAHIT can optionally utilize a CUDA-enabled GPU to
+accelerate its SdBG contstruction.
diff --git a/biology/megahit/pkg-plist b/biology/megahit/pkg-plist
new file mode 100644
index 000000000000..cda27e5d670d
--- /dev/null
+++ b/biology/megahit/pkg-plist
@@ -0,0 +1,14 @@
+bin/megahit
+bin/megahit_core
+bin/megahit_core_no_hw_accel
+bin/megahit_core_popcnt
+bin/megahit_toolkit
+%%DATADIR%%/test_data/empty.fa
+%%DATADIR%%/test_data/generate_random_fasta.py
+%%DATADIR%%/test_data/loop.fa
+%%DATADIR%%/test_data/r1.il.fa.gz
+%%DATADIR%%/test_data/r2.il.fa.bz2
+%%DATADIR%%/test_data/r3_1.fa
+%%DATADIR%%/test_data/r3_2.fa
+%%DATADIR%%/test_data/r4.fa
+%%DATADIR%%/test_data/ref.fa
diff --git a/biology/metaeuk/Makefile b/biology/metaeuk/Makefile
new file mode 100644
index 000000000000..4799c0202787
--- /dev/null
+++ b/biology/metaeuk/Makefile
@@ -0,0 +1,49 @@
+PORTNAME= metaeuk
+DISTVERSION= 6
+DISTVERSIONSUFFIX= -a5d39d9
+PORTREVISION= 2
+CATEGORIES= biology
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Gene discovery and annotation for large-scale eukaryotic metagenomics
+WWW= https://github.com/soedinglab/metaeuk
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENCE.md
+
+NOT_FOR_ARCHS= armv6 armv7 i386 mips powerpc # 32-bit platforms produce wrong results based on https://github.com/soedinglab/metaeuk/issues/85#issuecomment-1888379107
+NOT_FOR_ARCHS+= powerpc64 # many modules produce wrong results on big-endian architectures
+BROKEN_powerpc64le= clang crashes, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276268
+
+BUILD_DEPENDS= xxd:editors/vim
+TEST_DEPENDS= bash:shells/bash
+
+USES= cmake perl5 shebangfix
+USE_PERL5= build
+
+USE_GITHUB= yes
+GH_ACCOUNT= soedinglab
+GH_TUPLE= soedinglab:metaeuk-regression:6404519:metaeuk_regression/tests \
+ soedinglab:MMseqs2-Regression:f69b185:MMseqs2_Regression/lib/mmseqs/util/regression
+
+SHEBANG_GLOB= *.sh
+
+PLIST_FILES= bin/metaeuk
+
+OPTIONS_DEFINE= NATIVE
+
+NATIVE_CMAKE_BOOL= NATIVE_ARCH
+
+.include <bsd.port.options.mk>
+
+.if !exists(/usr/include/omp.h) || ${ARCH} == powerpc64le # https://github.com/soedinglab/metaeuk/issues/85, https://github.com/llvm/llvm-project/issues/63807
+CMAKE_ARGS+= -DREQUIRE_OPENMP:BOOL=OFF
+
+post-patch: # workaround for https://github.com/soedinglab/metaeuk/issues/55
+ @${REINPLACE_CMD} -e 's|set(REQUIRE_OPENMP 1 |set(REQUIRE_OPENMP 0 |' ${WRKSRC}/lib/mmseqs/src/CMakeLists.txt
+.endif
+
+do-test:
+ @cd ${WRKSRC}/tests && ./run.sh ${STAGEDIR}${PREFIX}/bin/metaeuk
+
+.include <bsd.port.mk>
diff --git a/biology/metaeuk/distinfo b/biology/metaeuk/distinfo
new file mode 100644
index 000000000000..cb642b65977d
--- /dev/null
+++ b/biology/metaeuk/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1669423980
+SHA256 (soedinglab-metaeuk-6-a5d39d9_GH0.tar.gz) = be19c26f5bdb7dcdd7bc48172105afecf19e5a2e5555edb3ba0c4aa0e4aac126
+SIZE (soedinglab-metaeuk-6-a5d39d9_GH0.tar.gz) = 13145257
+SHA256 (soedinglab-metaeuk-regression-6404519_GH0.tar.gz) = 5ac6c7438dc23374de5304564020e13ee7a6af99e60495083d74a5a272719b4d
+SIZE (soedinglab-metaeuk-regression-6404519_GH0.tar.gz) = 6719192
+SHA256 (soedinglab-MMseqs2-Regression-f69b185_GH0.tar.gz) = 3774e16182cf8ce33d83c8c5170a57ebcec1ba137318d4762a89fd25c2890e78
+SIZE (soedinglab-MMseqs2-Regression-f69b185_GH0.tar.gz) = 27714150
diff --git a/biology/metaeuk/pkg-descr b/biology/metaeuk/pkg-descr
new file mode 100644
index 000000000000..2ab6502d6c02
--- /dev/null
+++ b/biology/metaeuk/pkg-descr
@@ -0,0 +1,8 @@
+MetaEuk is a modular toolkit designed for large-scale gene discovery and
+annotation in eukaryotic metagenomic contigs. MetaEuk combines the fast and
+sensitive homology search capabilities of MMseqs2 with a dynamic programming
+procedure to recover optimal exons sets. It reduces redundancies in multiple
+discoveries of the same gene and resolves conflicting gene predictions on the
+same strand. MetaEuk is GPLv3-licensed open source software that is implemented
+in C++ and available for Linux and macOS. The software is designed to run
+efficiently on multiple cores.
diff --git a/biology/migrate/Makefile b/biology/migrate/Makefile
index 0e5867011a63..dc129ce6614f 100644
--- a/biology/migrate/Makefile
+++ b/biology/migrate/Makefile
@@ -1,28 +1,33 @@
-# Created by: Johann Visagie <wjv@FreeBSD.org>
-
PORTNAME= migrate
-PORTVERSION= 3.6.11
+DISTVERSION= 5.0.6
+PORTREVISION= 2
CATEGORIES= biology
-MASTER_SITES= http://popgen.sc.fsu.edu/currentversions/
+MASTER_SITES= https://peterbeerli.com/migrate-html5/download_version4/
DISTNAME= ${PORTNAME}-${PORTVERSION}.src
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= eduardo@FreeBSD.org
COMMENT= Program to estimate population sizes and migration rates
+WWW= https://popgen.sc.fsu.edu/Migrate/Migrate-n.html
-BROKEN_armv6= fails to build: make[2]: cannot open makefile
-BROKEN_armv7= fails to build: make[2]: cannot open makefile
-BROKEN_mips= fails to build: make[2]: cannot open makefile
-BROKEN_riscv64= fails to build: make[2]: cannot open makefile
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/../README
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/src
-EXTRACT_AFTER_ARGS=--exclude zlib
+# Waiting on build reports, 2024-03-27
+#BROKEN_armv6= fails to build: make[2]: cannot open makefile
+#BROKEN_armv7= fails to build: make[2]: cannot open makefile
+#BROKEN_mips= fails to build: make[2]: cannot open makefile
+#BROKEN_riscv64= fails to build: make[2]: cannot open makefile
GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --with-zlib=system
CONFIGURE_ENV= ac_cv_prog_GMAKE="${MAKE}"
-MAKE_ARGS= PRETTYCFLAGS="${CFLAGS} -DNOJPEG -DNOZLIB -DNOPNG -Iharu \
- -DPRETTY -lstdc++"
+MAKE_ARGS= PRETTYCFLAGS="${CFLAGS} -DNOJPEG -DNOZLIB -DNOPNG -Iharu -DPRETTY -lstdc++"
+
+CONFLICTS_INSTALL= py*-sqlalchemy-migrate # bin/migrate
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/src
-PORTDOCS= HISTORY README README_PARALLEL_GENERAL ${PORTNAME}.html
+PORTDOCS= ${PORTNAME}.html HISTORY README README_PARALLEL_GENERAL
PORTEXAMPLES= *
OPTIONS_DEFINE= DOCS EXAMPLES THREAD
@@ -31,16 +36,16 @@ THREAD_ALL_TARGET= thread
post-patch:
@${REINPLACE_CMD} -e 's|="-O "|="$$CFLAGS"|g' ${WRKSRC}/configure
- @${REINPLACE_CMD} -e '/PRETTY$$/d' ${WRKSRC}/definitions.h
+ @${REINPLACE_CMD} -e '/PRETTY$$/d' ${WRKSRC}/src/definitions.h
@${REINPLACE_CMD} -e 's|-O3||g' ${WRKSRC}/haru/makefile.gcc
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}-n ${STAGEDIR}${PREFIX}/bin
${LN} -sf ${PORTNAME}-n ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 \
- ${STAGEDIR}${MAN1PREFIX}/man/man1
+ ${STAGEDIR}${PREFIX}/share/man/man1
${LN} -sf ${PORTNAME}.1 \
- ${STAGEDIR}${MAN1PREFIX}/man/man1/${PORTNAME}-n.1
+ ${STAGEDIR}${PREFIX}/share/man/man1/${PORTNAME}-n.1
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
diff --git a/biology/migrate/distinfo b/biology/migrate/distinfo
index 6d0ec05f83bb..78c41212132a 100644
--- a/biology/migrate/distinfo
+++ b/biology/migrate/distinfo
@@ -1,2 +1,3 @@
-SHA256 (migrate-3.6.11.src.tar.gz) = a9ba06a4e995a45b8d04037f5f2da23e1fe64a2f3565189bdd50c62c6fe01fb8
-SIZE (migrate-3.6.11.src.tar.gz) = 27809896
+TIMESTAMP = 1712647301
+SHA256 (migrate-5.0.6.src.tar.gz) = b7092847d2fa54f5327b5d8e0b4079c343f1731c8a6a29fa464842b302c47708
+SIZE (migrate-5.0.6.src.tar.gz) = 19317248
diff --git a/biology/migrate/files/patch-Makefile.in b/biology/migrate/files/patch-Makefile.in
index 814875b4b1a8..0119cb51c758 100644
--- a/biology/migrate/files/patch-Makefile.in
+++ b/biology/migrate/files/patch-Makefile.in
@@ -1,18 +1,11 @@
---- Makefile.in.orig 2015-06-24 02:57:05 UTC
+--- Makefile.in.orig 2024-03-27 11:13:06 UTC
+++ Makefile.in
-@@ -89,7 +89,7 @@ PAPERFORMAT = @PAPERFORMAT@
- # -DINTEGRATEDLIKE may be used to get a marginal likelihood different to the current thermodynamic integr and harmonic mean [does not work]
- # -UEP calculates unique event polymorphism [not checked in a long time -- most likely does not work]
- NEWSTUFF = -DNEXUSTREE
--COMMONFLAGS = $(ARCH) $(MACOSVERSION) $(NEWSTUFF) $(HAVE_ZNZ) -DHIGHBITS -DHAVE_CONFIG_H -DHAVE_MALLOCWRAP $(CFLAGS_MT) $(HARDWARECFLAGS)
-+COMMONFLAGS = $(MACOSVERSION) $(NEWSTUFF) $(HAVE_ZNZ) -DHIGHBITS -DHAVE_CONFIG_H -DHAVE_MALLOCWRAP $(CFLAGS_MT) $(HARDWARECFLAGS)
+@@ -94,7 +94,7 @@ NEWSTUFF =
+ # -DTHERMOCHECK prints heated likelihood into mixfile (needs to be added the parmfile)
+ #NEWSTUFF = -DNEWVERSION
+ NEWSTUFF =
+-COMMONFLAGS = $(ARCH) $(MACOSVERSION) $(NEWSTUFF) $(HAVE_ZNZ) -DNEXUSTREE -DHIGHBITS -DHAVE_CONFIG_H -DHAVE_MALLOCWRAP $(CFLAGS_MT) $(HARDWARECFLAGS)
++COMMONFLAGS = $(MACOSVERSION) $(NEWSTUFF) $(HAVE_ZNZ) -DNEXUSTREE -DHIGHBITS -DHAVE_CONFIG_H -DHAVE_MALLOCWRAP $(CFLAGS_MT) $(HARDWARECFLAGS)
+ VALGRINDCOMMONFLAGS = $(ARCH) $(MACOSVERSION) $(NEWSTUFF) $(HAVE_ZNZ) -DHIGHBITS -DHAVE_CONFIG_H -DHAVE_MALLOCWRAP $(CFLAGS_MT)
#
# combine the common flags with the version number and subversion number
- COMMONVFLAGS = $(COMMONFLAGS) -DMIGRATESUBVERSION=\"\\\"$(MIGRATESUBVERSION)\\\"\"
-@@ -544,4 +544,4 @@ parallel_short_test::
- #----------------------------------------------------------------
- # BEAGLE
- beagle:
-- $(MAKE) $(NAME) "CFLAGS = $(DEBUGCFLAGS) $(BEAGLEFLAGS) $(PRETTYCFLAGS)" "LIBS = $(PDFLIB) $(LIBS)" "LDFLAGS =$(LDFLAGS) $(EXCEPTIONS) `pkg-config /Users/beerli/src/beagle-lib/hmsbeagle-1.0.pc --cflags --libs` -framework OpenCL"
-\ No newline at end of file
-+ $(MAKE) $(NAME) "CFLAGS = $(DEBUGCFLAGS) $(BEAGLEFLAGS) $(PRETTYCFLAGS)" "LIBS = $(PDFLIB) $(LIBS)" "LDFLAGS =$(LDFLAGS) $(EXCEPTIONS) `pkg-config /Users/beerli/src/beagle-lib/hmsbeagle-1.0.pc --cflags --libs` -framework OpenCL"
diff --git a/biology/migrate/pkg-descr b/biology/migrate/pkg-descr
index 4d341599607a..4085eebd24ff 100644
--- a/biology/migrate/pkg-descr
+++ b/biology/migrate/pkg-descr
@@ -2,5 +2,3 @@ Migrate estimates effective population sizes and past migration rates between
two or "n" populations assuming a migration matrix model with asymmetric
migration rates and different subpopulation sizes. The n-population migrate
can use sequence data, microsatellite data or electrophoretic data.
-
-WWW: http://popgen.sc.fsu.edu/Migrate/Migrate-n.html
diff --git a/biology/migrate/pkg-plist b/biology/migrate/pkg-plist
index a8b1e971bab9..47e0f4c1bdc8 100644
--- a/biology/migrate/pkg-plist
+++ b/biology/migrate/pkg-plist
@@ -1,7 +1,7 @@
bin/migrate
bin/migrate-n
-man/man1/migrate-n.1.gz
-man/man1/migrate.1.gz
+share/man/man1/migrate-n.1.gz
+share/man/man1/migrate.1.gz
%%PORTDOCS%%%%DOCSDIR%%/graphics/librarian.gif
%%PORTDOCS%%%%DOCSDIR%%/graphics/mail.gif
%%PORTDOCS%%%%DOCSDIR%%/graphics/migrate.gif
diff --git a/biology/minimap2/Makefile b/biology/minimap2/Makefile
index dd5213d9851f..996f251ee469 100644
--- a/biology/minimap2/Makefile
+++ b/biology/minimap2/Makefile
@@ -1,24 +1,27 @@
PORTNAME= minimap2
DISTVERSIONPREFIX= v
-DISTVERSION= 2.22
+DISTVERSION= 2.28
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Pairwise aligner for genomic and spliced nucleotide sequences
+WWW= https://github.com/lh3/minimap2
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-ONLY_FOR_ARCHS= amd64 i386
-ONLY_FOR_ARCHS_REASON= Hard-coded SSE instructions
+BUILD_DEPENDS= simde>0:devel/simde
-USES= gmake
+USES= gmake localbase
USE_GITHUB= yes
GH_ACCOUNT= lh3
-MAKE_ARGS+= CFLAGS+=-Wextra
ALL_TARGET= extra
INSTALL_TARGET= install-strip
+MAKEFILE= Makefile.simde
+MAKE_ARGS= MAN1DIR=${PREFIX}/share/man/man1
+
.include <bsd.port.mk>
diff --git a/biology/minimap2/distinfo b/biology/minimap2/distinfo
index e52728d52312..27ba854d0f42 100644
--- a/biology/minimap2/distinfo
+++ b/biology/minimap2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1629640993
-SHA256 (lh3-minimap2-v2.22_GH0.tar.gz) = b625a7580d9b5996f2553ee90ffcec84870bd9b88c009c9d71e8c1c648c53ed6
-SIZE (lh3-minimap2-v2.22_GH0.tar.gz) = 251821
+TIMESTAMP = 1713393837
+SHA256 (lh3-minimap2-v2.28_GH0.tar.gz) = 5ea6683b4184b5c49f6dbaef2bc5b66155e405888a0790d1b21fd3c93e474278
+SIZE (lh3-minimap2-v2.28_GH0.tar.gz) = 260341
diff --git a/biology/minimap2/files/patch-Makefile b/biology/minimap2/files/patch-Makefile.simde
index 79c9c3617b38..5d5e0ccf482c 100644
--- a/biology/minimap2/files/patch-Makefile
+++ b/biology/minimap2/files/patch-Makefile.simde
@@ -1,47 +1,52 @@
---- Makefile.orig 2021-05-27 19:26:04 UTC
-+++ Makefile
-@@ -1,5 +1,9 @@
+--- Makefile.simde.orig 2021-11-18 22:11:48 UTC
++++ Makefile.simde
+@@ -1,13 +1,26 @@
-CFLAGS= -g -Wall -O2 -Wc++-compat #-Wextra
--CPPFLAGS= -DHAVE_KALLOC
+-CPPFLAGS= -DHAVE_KALLOC -DUSE_SIMDE -DSIMDE_ENABLE_NATIVE_ALIASES
+-INCLUDES= -Ilib/simde
+-OBJS= kthread.o kalloc.o misc.o bseq.o sketch.o sdust.o options.o index.o lchain.o align.o hit.o map.o format.o pe.o seed.o esterr.o splitidx.o \
+- ksw2_extz2_simde.o ksw2_extd2_simde.o ksw2_exts2_simde.o ksw2_ll_simde.o
+
+# Makefile patches rejected by upstream
+
+CFLAGS?= -g -Wall -O2
-+CFLAGS+= -Wc++-compat #-Wextra
++CFLAGS+= -Wc++-compat -DUSE_SIMDE -DSIMDE_ENABLE_NATIVE_ALIASES -D__SSE2__
+CPPFLAGS?= -DHAVE_KALLOC
- INCLUDES=
- OBJS= kthread.o kalloc.o misc.o bseq.o sketch.o sdust.o options.o index.o \
- lchain.o align.o hit.o seed.o map.o format.o pe.o esterr.o splitidx.o \
-@@ -8,6 +12,15 @@ PROG= minimap2
++OBJS= kthread.o kalloc.o misc.o bseq.o sketch.o sdust.o options.o \
++ index.o lchain.o align.o hit.o map.o format.o pe.o seed.o \
++ esterr.o splitidx.o ksw2_extz2_simde.o ksw2_extd2_simde.o \
++ ksw2_exts2_simde.o ksw2_ll_simde.o
+ PROG= minimap2
PROG_EXTRA= sdust minimap2-lite
LIBS= -lm -lz -lpthread
+PREFIX?= /usr/local
+MAN1DIR?= ${PREFIX}/man/man1
+DATADIR?= ${PREFIX}/share/minimap2
-+
+
+MKDIR?= mkdir
-+CP?= cp
++CP?= cp
+INSTALL?= install
+STRIP?= strip
+
- ifeq ($(arm_neon),) # if arm_neon is not defined
- ifeq ($(sse2only),) # if sse2only is not defined
- OBJS+=ksw2_extz2_sse41.o ksw2_extd2_sse41.o ksw2_exts2_sse41.o ksw2_extz2_sse2.o ksw2_extd2_sse2.o ksw2_exts2_sse2.o ksw2_dispatch.o
-@@ -34,7 +47,7 @@ ifneq ($(tsan),)
+ ifneq ($(arm_neon),) # if arm_neon is defined
+ ifeq ($(aarch64),) #if aarch64 is not defined
+ CFLAGS+=-D_FILE_OFFSET_BITS=64 -mfpu=neon -fsigned-char
+@@ -26,7 +39,7 @@ ifneq ($(tsan),)
LIBS+=-fsanitize=thread
endif
-.PHONY:all extra clean depend
-+.PHONY:all extra install clean depend
++.PHONY:all extra install install-strip clean depend
.SUFFIXES:.c .o
.c.o:
-@@ -96,6 +109,21 @@ ksw2_exts2_neon.o:ksw2_exts2_sse.c ksw2.h kalloc.h
- $(CC) -c $(CFLAGS) $(CPPFLAGS) -DKSW_SSE2_ONLY -D__SSE2__ $(INCLUDES) $< -o $@
+@@ -61,6 +74,22 @@ ksw2_exts2_simde.o:ksw2_exts2_sse.c ksw2.h kalloc.h
+ $(CC) -c $(CFLAGS) -msse4.1 $(CPPFLAGS) $(INCLUDES) $< -o $@
# other non-file targets
+
++
+install: all
+ ${MKDIR} -p ${DESTDIR}${PREFIX}/bin
+ ${MKDIR} -p ${DESTDIR}${MAN1DIR}
diff --git a/biology/minimap2/files/patch-example.c b/biology/minimap2/files/patch-example.c
new file mode 100644
index 000000000000..aaa89ec16f41
--- /dev/null
+++ b/biology/minimap2/files/patch-example.c
@@ -0,0 +1,11 @@
+--- example.c.orig 2021-11-30 15:26:24 UTC
++++ example.c
+@@ -44,7 +44,7 @@ int main(int argc, char *argv[])
+ for (j = 0; j < n_reg; ++j) { // traverse hits and print them out
+ mm_reg1_t *r = &reg[j];
+ assert(r->p); // with MM_F_CIGAR, this should not be NULL
+- printf("%s\t%d\t%d\t%d\t%c\t", ks->name.s, ks->seq.l, r->qs, r->qe, "+-"[r->rev]);
++ printf("%s\t%zu\t%d\t%d\t%c\t", ks->name.s, ks->seq.l, r->qs, r->qe, "+-"[r->rev]);
+ printf("%s\t%d\t%d\t%d\t%d\t%d\t%d\tcg:Z:", mi->seq[r->rid].name, mi->seq[r->rid].len, r->rs, r->re, r->mlen, r->blen, r->mapq);
+ for (i = 0; i < r->p->n_cigar; ++i) // IMPORTANT: this gives the CIGAR in the aligned regions. NO soft/hard clippings!
+ printf("%d%c", r->p->cigar[i]>>4, MM_CIGAR_STR[r->p->cigar[i]&0xf]);
diff --git a/biology/minimap2/pkg-descr b/biology/minimap2/pkg-descr
index a9d86305f0f5..d0a8f4d1b41d 100644
--- a/biology/minimap2/pkg-descr
+++ b/biology/minimap2/pkg-descr
@@ -1,18 +1,10 @@
Minimap2 is a versatile sequence alignment program that aligns DNA or mRNA
sequences against a large reference database. Typical use cases include:
-
(1) mapping PacBio or Oxford Nanopore genomic reads to the human genome
-
(2) finding overlaps between long reads with error rate up to ~15%
-
(3) splice-aware alignment of PacBio Iso-Seq or Nanopore cDNA or Direct RNA
readsagainst a reference genome
-
(4) aligning Illumina single- or paired-end reads
-
(5) assembly-to-assembly alignment
-
(6) full-genome alignment between two closely related species with divergence
below ~15%
-
-WWW: https://github.com/lh3/minimap2
diff --git a/biology/minimap2/pkg-plist b/biology/minimap2/pkg-plist
index 1d11d4c99c2f..742d1eb1b3f7 100644
--- a/biology/minimap2/pkg-plist
+++ b/biology/minimap2/pkg-plist
@@ -1,7 +1,7 @@
bin/minimap2
bin/minimap2-lite
bin/sdust
-man/man1/minimap2.1.gz
+share/man/man1/minimap2.1.gz
%%DATADIR%%/test/MT-human.fa
%%DATADIR%%/test/MT-orang.fa
%%DATADIR%%/test/q-inv.fa
diff --git a/biology/mmseqs2/Makefile b/biology/mmseqs2/Makefile
index 4c7f440b96c2..0595f54412d7 100644
--- a/biology/mmseqs2/Makefile
+++ b/biology/mmseqs2/Makefile
@@ -5,6 +5,7 @@ CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Ultra fast and sensitive sequence search and clustering suite
+WWW= https://github.com/soedinglab/MMseqs2
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE.md
@@ -25,6 +26,10 @@ LDFLAGS+= -lpthread
PLIST_FILES= bin/mmseqs ${DATADIR}/bash-completion.sh
+.if !exists(/usr/include/omp.h)
+CMAKE_ARGS+= -DREQUIRE_OPENMP=0
+.endif
+
.include <bsd.port.pre.mk>
.if ${ARCH} == "amd64" && empty(CFLAGS:M*march=native*)
diff --git a/biology/mmseqs2/pkg-descr b/biology/mmseqs2/pkg-descr
index 128056f15f39..9c359124e272 100644
--- a/biology/mmseqs2/pkg-descr
+++ b/biology/mmseqs2/pkg-descr
@@ -6,5 +6,3 @@ and servers and exhibits very good scalability. MMseqs2 can run 10000 times
faster than BLAST. At 100 times its speed it achieves almost the same
sensitivity. It can perform profile searches with the same sensitivity as
PSI-BLAST at over 400 times its speed.
-
-WWW: https://github.com/soedinglab/MMseqs2
diff --git a/biology/molden/Makefile b/biology/molden/Makefile
index 101b12f668b9..70ac7ed8beb3 100644
--- a/biology/molden/Makefile
+++ b/biology/molden/Makefile
@@ -1,50 +1,50 @@
-# Created by: Ryo MIYAMOTO <rmiya@cc.hirosaki-u.ac.jp>
-
PORTNAME= molden
-DISTVERSION= 5.8.2
-PORTREVISION= 4
+DISTVERSION= 7.1
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= biology
-MASTER_SITES= ftp://ftp.cmbi.umcn.nl/pub/molgraph/molden/
-DISTNAME= ${PORTNAME}${PORTVERSION}
+MASTER_SITES= https://ftp.science.ru.nl/Molden/
+DISTNAME= ${PORTNAME}${DISTVERSION}
MAINTAINER= jmd@FreeBSD.org
COMMENT= Display molecular orbitals and electron densities in 2D and 3D
+WWW= https://www.theochem.ru.nl/molden/
LICENSE= Molden
-LICENSE_NAME= Molden
+LICENSE_NAME= Molden License
LICENSE_FILE= ${WRKSRC}/CopyRight
-# free for academic, non profit usage; do not re-distribute source and executable.
-LICENSE_PERMS= auto-accept
+LICENSE_PERMS= auto-accept dist-mirror pkg-mirror # free for academic, non profit use
-WRKSRC= ${WRKDIR}/${PORTNAME}${PORTVERSION:R}
+BUILD_DEPENDS= makedepend:devel/makedepend
USES= fortran gl gmake xorg
-USE_XORG= x11
+USE_XORG= x11 xmu
USE_GL= gl glu
+
MAKEFILE= makefile
-MAKE_JOBS_UNSAFE=yes
CFLAGS+= -D${OPSYS:tu} -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 \
-I${LOCALBASE}/include -Wno-return-type
PORTDOCS= *
PORTDATA= *
-PLIST_FILES= bin/ambfor bin/gmolden bin/molden bin/surf
+
+PLIST_FILES= bin/ambfor \
+ bin/ambmd \
+ bin/gmolden \
+ bin/molden \
+ bin/surf
PORTSCOUT= limit:^5\.0\.
OPTIONS_DEFINE= DATA DOCS
OPTIONS_DEFAULT= DATA
-post-patch:
- @${REINPLACE_CMD} -e \
- 's|^CC |#CC | ; \
- s|^FC |#FC | ; \
- s|/usr/X11R6|${LOCALBASE}| ; \
- s|$$(LIBS)|$$(LIBS) $$(LDFLAGS)| ; \
- s|-lXmu|| ; \
- /depend/s|^|#|' ${WRKSRC}/makefile
+post-extract:
+ # remove object modules
+ @${FIND} ${WRKSRC} -name "*.o" | ${XARGS} ${RM}
+ # remove pre-built executables
+ @${RM} ${WRKSRC}/bin/*
post-configure:
@${ECHO_MSG} "********************"
@@ -54,11 +54,8 @@ post-configure:
@${ECHO_MSG} "********************"
do-install:
-.for i in molden gmolden
- (cd ${WRKSRC} && ${INSTALL_PROGRAM} ${i} ${STAGEDIR}${PREFIX}/bin)
-.endfor
-.for i in ambfor surf
- (cd ${WRKSRC}/${i} && ${INSTALL_PROGRAM} ${i} ${STAGEDIR}/${PREFIX}/bin)
+.for e in molden gmolden ambfor ambmd surf
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/${e} ${STAGEDIR}${PREFIX}/bin
.endfor
do-install-DATA-on:
@@ -69,7 +66,7 @@ do-install-DATA-on:
do-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
+ cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
.include <bsd.port.pre.mk>
diff --git a/biology/molden/distinfo b/biology/molden/distinfo
index f5bedab276c4..c661feebb345 100644
--- a/biology/molden/distinfo
+++ b/biology/molden/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1541594934
-SHA256 (molden5.8.2.tar.gz) = 65a24db9e80b4fb6038cc1e57c7d6e2457414812c9389bc651af7cb33f01dbe9
-SIZE (molden5.8.2.tar.gz) = 5770998
+TIMESTAMP = 1657929531
+SHA256 (molden7.1.tar.gz) = 98a39f0aa1667c14c36f40c0251522984245e5ba282af8fbc8a2f06079e40d43
+SIZE (molden7.1.tar.gz) = 14645590
diff --git a/biology/molden/files/patch-ambfor-makefile b/biology/molden/files/patch-ambfor-makefile
deleted file mode 100644
index 5b71286b335f..000000000000
--- a/biology/molden/files/patch-ambfor-makefile
+++ /dev/null
@@ -1,28 +0,0 @@
---- ambfor/makefile.orig 2015-05-02 19:49:10 UTC
-+++ ambfor/makefile
-@@ -12,12 +12,12 @@
- #
- #
-
--CFLAGS = -c -g ${EXT}
-+CFLAGS += -c
- #FC = g77
--FC = gfortran
--FFLAGS = -c -g -ffast-math -funroll-loops -O3
-+#FC = gfortran
-+#FFLAGS = -c -g -ffast-math -funroll-loops -O3
- LIBS = -lm
--LDR = ${FC} -g
-+LDR = ${FC}
- EXT :=
-
- ifeq ($(uname), Darwin)
-@@ -56,7 +56,7 @@ ambmd: md.o verlet.o qvdw.o allocmd.o $(
- $(LDR) -o ambmd md.o verlet.o qvdw.o allocmd.o $(OBJS) $(LIBS)
-
- ambfor.o: ambfor.f
-- ${FC} -c -g -ffast-math -funroll-loops -o ambfor.o ambfor.f
-+ ${FC} -c ${FFLAGS} -o ambfor.o ambfor.f
-
- allocmd.o: alloc.c
- $(CC) $(CFLAGS) -DMD -c alloc.c -o allocmd.o
diff --git a/biology/molden/files/patch-makefile b/biology/molden/files/patch-makefile
new file mode 100644
index 000000000000..b5cba7470955
--- /dev/null
+++ b/biology/molden/files/patch-makefile
@@ -0,0 +1,48 @@
+- pass supplied FFLAGS to the build
+
+--- makefile.orig 2022-01-21 11:28:48 UTC
++++ makefile
+@@ -107,7 +107,7 @@ ifneq ($(comgcc), $(empty))
+ EXTRAZ = -Wno-implicit-function-declaration
+ EXT = ${EXTRAZ}
+ endif
+-FFLAGS = -g ${AFLAG}
++FFLAGS += -g ${AFLAG}
+ LIBS = -L/usr/X11R6/lib -lX11 -lm
+ ifeq ($(AFLAG),"-m64")
+ LIBS = -L/usr/X11R6/lib64 -lX11 -lm
+@@ -132,12 +132,12 @@ ifeq ($(uname), Darwin)
+ #
+ CC=cc
+ CFLAGS= -std=gnu89 -Wno-return-type -DDARWIN -I/usr/X11R6/include -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 -Wno-logical-op-parentheses
+-FFLAGS=-O3 -funroll-loops -fallow-argument-mismatch
++FFLAGS+=-O3 -funroll-loops -fallow-argument-mismatch
+
+ LIBS = -L/usr/X11R6/lib -lX11 -lm
+ LIBSG = -L/usr/X11R6/lib -lGLU "-Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib" -lGL -lXmu -lX11 -lm
+ EXT= -std=gnu89 -Wno-return-type -DDARWIN ${EXTRAZ}
+-FFLAGS=-O3 -funroll-loops
++FFLAGS+=-O3 -funroll-loops
+ LIBS = -L/usr/X11R6/lib -lX11 -lm
+ LIBSG = -L/usr/X11R6/lib -lGLU "-Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib" -lGL -lXmu -lX11 -lm
+ CFLAGS= -g -std=gnu89 -Wno-return-type -DDARWIN -I/usr/X11R6/include -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 -Wno-logical-op-parentheses -Wno-tautological-pointer-compare -Wno-tautological-constant-out-of-range-compare -fallow-argument-mismatch
+@@ -307,16 +307,16 @@ gmolden: $(OBJS) src/mpdum.o src/xwingl.o
+ mv gmolden bin/gmolden
+
+ ambfor/ambfor: src/ambfor/*.f src/ambfor/*.c
+- $(MAKE) -C src/ambfor FC=${FC} LDR="${LDR}" EXT="${EXT}"
++ $(MAKE) -C src/ambfor FC=${FC} LDR="${LDR}" EXT="${EXT}" FFLAGS="$(FFLAGS)"
+ mv src/ambfor/ambfor bin/ambfor
+
+ ambfor/ambmd: src/ambfor/*.f src/ambfor/*.c
+- $(MAKE) -C src/ambfor ambmd FC=${FC} LDR="${LDR}" EXT="${EXT}"
++ $(MAKE) -C src/ambfor ambmd FC=${FC} LDR="${LDR}" EXT="${EXT}" FFLAGS="$(FFLAGS)" FFLAGS="$(FFLAGS)"
+ mv src/ambfor/ambmd bin/ambmd
+
+ surf/surf: src/surf/*.h src/surf/*.c
+ $(MAKE) -C src/surf depend
+- $(MAKE) -C src/surf EXT="${EXT}"
++ $(MAKE) -C src/surf EXT="${EXT}" FFLAGS="$(FFLAGS)"
+ mv src/surf/surf bin/surf
+
+ # noxwin will not work as long as the old ocglbck calls arent in dummys
diff --git a/biology/molden/files/patch-src_surf_Makefile b/biology/molden/files/patch-src_surf_Makefile
new file mode 100644
index 000000000000..ca1673d9c3cf
--- /dev/null
+++ b/biology/molden/files/patch-src_surf_Makefile
@@ -0,0 +1,13 @@
+- disable ex: it breaks the build, not sure why is it there
+
+--- src/surf/Makefile.orig 2022-07-15 23:19:54 UTC
++++ src/surf/Makefile
+@@ -58,7 +58,7 @@ depend: $(DEPEND)
+ @ echo '$$r makedep' >>eddep
+ @ echo 'w' >>eddep
+ @ cp Makefile Makefile.bak
+- @ ex - Makefile < eddep
++ #@ ex - Makefile < eddep
+ @ rm eddep makedep
+ @ echo ' ' >> Makefile
+ @ echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
diff --git a/biology/molden/files/patch-src_surf_utils.c b/biology/molden/files/patch-src_surf_utils.c
new file mode 100644
index 000000000000..bc05318375f8
--- /dev/null
+++ b/biology/molden/files/patch-src_surf_utils.c
@@ -0,0 +1,21 @@
+- fix return statements in the function the returns int
+
+--- src/surf/utils.c.orig 2022-07-15 23:20:39 UTC
++++ src/surf/utils.c
+@@ -91,7 +91,7 @@ float radius;
+ disc = radius*radius - DOTPROD3(EO, EO);
+ if (FP_EQ_EPS(disc, 0, GP_EPS*GP_EPS))
+ { VEC3_ASN_OP(int_point, =, ray_pt);
+- return;
++ return -1;
+ }
+
+ one_by_sq_dir_mag = 1.0/DOTPROD3(ray_dir, ray_dir);
+@@ -107,6 +107,7 @@ float radius;
+ { t = v*one_by_sq_dir_mag - sqrt(disc*one_by_sq_dir_mag);
+ VEC3_V_OP_V_OP_S(int_point, ray_pt, +, ray_dir, *, t);
+ }
++ return -1;
+ }
+
+ /*----------------------------------------------------------------------------------
diff --git a/biology/molden/files/patch-src_xwin.c b/biology/molden/files/patch-src_xwin.c
new file mode 100644
index 000000000000..b16dab11bff8
--- /dev/null
+++ b/biology/molden/files/patch-src_xwin.c
@@ -0,0 +1,10 @@
+- disable GLIBC symbols specific to linux
+
+--- src/xwin.c.orig 2022-07-15 23:09:11 UTC
++++ src/xwin.c
+@@ -1,4 +1,4 @@
+-#ifndef DARWIN
++#if !defined(DARWIN) && !defined(__FreeBSD__)
+ __asm__(".symver memcpy,memcpy@GLIBC_2.2.5");
+ __asm__(".symver memmove,memmove@GLIBC_2.2.5");
+ __asm__(".symver log,log@GLIBC_2.2.5");
diff --git a/biology/molden/files/patch-surf-Makefile b/biology/molden/files/patch-surf-Makefile
deleted file mode 100644
index 94b6eea01746..000000000000
--- a/biology/molden/files/patch-surf-Makefile
+++ /dev/null
@@ -1,789 +0,0 @@
---- surf/Makefile.orig 2015-05-02 19:48:48 UTC
-+++ surf/Makefile
-@@ -1,12 +1,8 @@
- # Compilation flags
--#CC = cc
--CC = cc
- INCLUDE = -I.
- #LINCLUDE = -lcurses -ltermcap -lm
- LINCLUDE = -lm
--OPT_CFLAGS = -O2 $(FLAGS) $(INCLUDE)
- #CFLAGS = -g $(FLAGS) $(INCLUDE)
--CFLAGS = -O2 $(FLAGS) $(INCLUDE) ${EXT}
-
- ifeq ($(uname), Darwin)
- #
-@@ -73,670 +69,117 @@ depend: $(DEPEND)
- # DO NOT DELETE
-
- surf.o: surf.h /usr/include/stdio.h /usr/include/sys/cdefs.h
--surf.o: /usr/include/sys/_symbol_aliasing.h
--surf.o: /usr/include/sys/_posix_availability.h /usr/include/Availability.h
--surf.o: /usr/include/AvailabilityInternal.h /usr/include/_types.h
--surf.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
--surf.o: /usr/include/i386/_types.h /usr/include/sys/_pthread/_pthread_types.h
--surf.o: /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_size_t.h
--surf.o: /usr/include/sys/_types/_null.h /usr/include/sys/stdio.h
--surf.o: /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h
--surf.o: /usr/include/secure/_stdio.h /usr/include/secure/_common.h
--surf.o: /usr/include/math.h /usr/include/stdlib.h /usr/include/sys/wait.h
--surf.o: /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h
--surf.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
--surf.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
--surf.o: /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h
--surf.o: /usr/include/mach/i386/_structs.h
--surf.o: /usr/include/sys/_pthread/_pthread_attr_t.h
--surf.o: /usr/include/sys/_types/_sigaltstack.h
--surf.o: /usr/include/sys/_types/_ucontext.h
--surf.o: /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h
--surf.o: /usr/include/sys/resource.h /usr/include/stdint.h
--surf.o: /usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h
--surf.o: /usr/include/sys/_types/_int32_t.h /usr/include/sys/_types/_int64_t.h
--surf.o: /usr/include/_types/_uint8_t.h /usr/include/_types/_uint16_t.h
--surf.o: /usr/include/_types/_uint32_t.h /usr/include/_types/_uint64_t.h
--surf.o: /usr/include/sys/_types/_intptr_t.h
--surf.o: /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h
--surf.o: /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h
--surf.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
--surf.o: /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h
--surf.o: /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h
--surf.o: /usr/include/sys/_types/_ct_rune_t.h
--surf.o: /usr/include/sys/_types/_rune_t.h /usr/include/sys/_types/_wchar_t.h
--surf.o: /usr/include/machine/types.h /usr/include/i386/types.h
--surf.o: /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h
--surf.o: /usr/include/string.h /usr/include/sys/_types/_rsize_t.h
--surf.o: /usr/include/sys/_types/_errno_t.h /usr/include/strings.h
--surf.o: /usr/include/secure/_string.h /usr/include/sys/time.h
--surf.o: /usr/include/sys/_types/_fd_def.h /usr/include/sys/_types/_timespec.h
--surf.o: /usr/include/sys/_types/_time_t.h
--surf.o: /usr/include/sys/_types/_suseconds_t.h
--surf.o: /usr/include/sys/_types/_fd_setsize.h
--surf.o: /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h
--surf.o: /usr/include/sys/_types/_fd_isset.h
--surf.o: /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_copy.h
--surf.o: /usr/include/time.h /usr/include/sys/_types/_clock_t.h
--surf.o: /usr/include/sys/_select.h linalg.h
-+surf.o: /usr/include/sys/_null.h /usr/include/sys/_types.h
-+surf.o: /usr/include/machine/_types.h /usr/include/math.h
-+surf.o: /usr/include/machine/_limits.h /usr/include/stdlib.h
-+surf.o: /usr/include/string.h /usr/include/strings.h /usr/include/sys/time.h
-+surf.o: /usr/include/sys/_timeval.h /usr/include/sys/types.h
-+surf.o: /usr/include/machine/endian.h /usr/include/sys/_pthreadtypes.h
-+surf.o: /usr/include/sys/select.h /usr/include/sys/_sigset.h
-+surf.o: /usr/include/sys/timespec.h /usr/include/time.h linalg.h
- io.o: surf.h /usr/include/stdio.h /usr/include/sys/cdefs.h
--io.o: /usr/include/sys/_symbol_aliasing.h
--io.o: /usr/include/sys/_posix_availability.h /usr/include/Availability.h
--io.o: /usr/include/AvailabilityInternal.h /usr/include/_types.h
--io.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
--io.o: /usr/include/i386/_types.h /usr/include/sys/_pthread/_pthread_types.h
--io.o: /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_size_t.h
--io.o: /usr/include/sys/_types/_null.h /usr/include/sys/stdio.h
--io.o: /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h
--io.o: /usr/include/secure/_stdio.h /usr/include/secure/_common.h
--io.o: /usr/include/math.h /usr/include/stdlib.h /usr/include/sys/wait.h
--io.o: /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h
--io.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
--io.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
--io.o: /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h
--io.o: /usr/include/mach/i386/_structs.h
--io.o: /usr/include/sys/_pthread/_pthread_attr_t.h
--io.o: /usr/include/sys/_types/_sigaltstack.h
--io.o: /usr/include/sys/_types/_ucontext.h /usr/include/sys/_types/_sigset_t.h
--io.o: /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h
--io.o: /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h
--io.o: /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h
--io.o: /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h
--io.o: /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h
--io.o: /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h
--io.o: /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h
--io.o: /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h
--io.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
--io.o: /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h
--io.o: /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h
--io.o: /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h
--io.o: /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h
--io.o: /usr/include/i386/types.h /usr/include/sys/_types/_dev_t.h
--io.o: /usr/include/sys/_types/_mode_t.h /usr/include/string.h
--io.o: /usr/include/sys/_types/_rsize_t.h /usr/include/sys/_types/_errno_t.h
--io.o: /usr/include/strings.h /usr/include/secure/_string.h
--io.o: /usr/include/sys/time.h /usr/include/sys/_types/_fd_def.h
--io.o: /usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_time_t.h
--io.o: /usr/include/sys/_types/_suseconds_t.h
--io.o: /usr/include/sys/_types/_fd_setsize.h /usr/include/sys/_types/_fd_set.h
--io.o: /usr/include/sys/_types/_fd_clr.h /usr/include/sys/_types/_fd_isset.h
--io.o: /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_copy.h
--io.o: /usr/include/time.h /usr/include/sys/_types/_clock_t.h
--io.o: /usr/include/sys/_select.h linalg.h
-+io.o: /usr/include/sys/_null.h /usr/include/sys/_types.h
-+io.o: /usr/include/machine/_types.h /usr/include/math.h
-+io.o: /usr/include/machine/_limits.h /usr/include/stdlib.h
-+io.o: /usr/include/string.h /usr/include/strings.h /usr/include/sys/time.h
-+io.o: /usr/include/sys/_timeval.h /usr/include/sys/types.h
-+io.o: /usr/include/machine/endian.h /usr/include/sys/_pthreadtypes.h
-+io.o: /usr/include/sys/select.h /usr/include/sys/_sigset.h
-+io.o: /usr/include/sys/timespec.h /usr/include/time.h linalg.h
- compute.o: surf.h /usr/include/stdio.h /usr/include/sys/cdefs.h
--compute.o: /usr/include/sys/_symbol_aliasing.h
--compute.o: /usr/include/sys/_posix_availability.h /usr/include/Availability.h
--compute.o: /usr/include/AvailabilityInternal.h /usr/include/_types.h
--compute.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
--compute.o: /usr/include/i386/_types.h
--compute.o: /usr/include/sys/_pthread/_pthread_types.h
--compute.o: /usr/include/sys/_types/_va_list.h
--compute.o: /usr/include/sys/_types/_size_t.h /usr/include/sys/_types/_null.h
--compute.o: /usr/include/sys/stdio.h /usr/include/sys/_types/_off_t.h
--compute.o: /usr/include/sys/_types/_ssize_t.h /usr/include/secure/_stdio.h
--compute.o: /usr/include/secure/_common.h /usr/include/math.h
--compute.o: /usr/include/stdlib.h /usr/include/sys/wait.h
--compute.o: /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h
--compute.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
--compute.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
--compute.o: /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h
--compute.o: /usr/include/mach/i386/_structs.h
--compute.o: /usr/include/sys/_pthread/_pthread_attr_t.h
--compute.o: /usr/include/sys/_types/_sigaltstack.h
--compute.o: /usr/include/sys/_types/_ucontext.h
--compute.o: /usr/include/sys/_types/_sigset_t.h
--compute.o: /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h
--compute.o: /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h
--compute.o: /usr/include/sys/_types/_int16_t.h
--compute.o: /usr/include/sys/_types/_int32_t.h
--compute.o: /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h
--compute.o: /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h
--compute.o: /usr/include/_types/_uint64_t.h
--compute.o: /usr/include/sys/_types/_intptr_t.h
--compute.o: /usr/include/sys/_types/_uintptr_t.h
--compute.o: /usr/include/_types/_intmax_t.h /usr/include/_types/_uintmax_t.h
--compute.o: /usr/include/sys/_types/_timeval.h /usr/include/machine/endian.h
--compute.o: /usr/include/i386/endian.h /usr/include/sys/_endian.h
--compute.o: /usr/include/libkern/_OSByteOrder.h
--compute.o: /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h
--compute.o: /usr/include/sys/_types/_ct_rune_t.h
--compute.o: /usr/include/sys/_types/_rune_t.h
--compute.o: /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h
--compute.o: /usr/include/i386/types.h /usr/include/sys/_types/_dev_t.h
--compute.o: /usr/include/sys/_types/_mode_t.h /usr/include/string.h
--compute.o: /usr/include/sys/_types/_rsize_t.h
--compute.o: /usr/include/sys/_types/_errno_t.h /usr/include/strings.h
--compute.o: /usr/include/secure/_string.h /usr/include/sys/time.h
--compute.o: /usr/include/sys/_types/_fd_def.h
--compute.o: /usr/include/sys/_types/_timespec.h
--compute.o: /usr/include/sys/_types/_time_t.h
--compute.o: /usr/include/sys/_types/_suseconds_t.h
--compute.o: /usr/include/sys/_types/_fd_setsize.h
--compute.o: /usr/include/sys/_types/_fd_set.h
--compute.o: /usr/include/sys/_types/_fd_clr.h
--compute.o: /usr/include/sys/_types/_fd_isset.h
--compute.o: /usr/include/sys/_types/_fd_zero.h
--compute.o: /usr/include/sys/_types/_fd_copy.h /usr/include/time.h
--compute.o: /usr/include/sys/_types/_clock_t.h /usr/include/sys/_select.h
--compute.o: linalg.h chull.h dual.h
-+compute.o: /usr/include/sys/_null.h /usr/include/sys/_types.h
-+compute.o: /usr/include/machine/_types.h /usr/include/math.h
-+compute.o: /usr/include/machine/_limits.h /usr/include/stdlib.h
-+compute.o: /usr/include/string.h /usr/include/strings.h
-+compute.o: /usr/include/sys/time.h /usr/include/sys/_timeval.h
-+compute.o: /usr/include/sys/types.h /usr/include/machine/endian.h
-+compute.o: /usr/include/sys/_pthreadtypes.h /usr/include/sys/select.h
-+compute.o: /usr/include/sys/_sigset.h /usr/include/sys/timespec.h
-+compute.o: /usr/include/time.h linalg.h chull.h dual.h
- dual.o: surf.h /usr/include/stdio.h /usr/include/sys/cdefs.h
--dual.o: /usr/include/sys/_symbol_aliasing.h
--dual.o: /usr/include/sys/_posix_availability.h /usr/include/Availability.h
--dual.o: /usr/include/AvailabilityInternal.h /usr/include/_types.h
--dual.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
--dual.o: /usr/include/i386/_types.h /usr/include/sys/_pthread/_pthread_types.h
--dual.o: /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_size_t.h
--dual.o: /usr/include/sys/_types/_null.h /usr/include/sys/stdio.h
--dual.o: /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h
--dual.o: /usr/include/secure/_stdio.h /usr/include/secure/_common.h
--dual.o: /usr/include/math.h /usr/include/stdlib.h /usr/include/sys/wait.h
--dual.o: /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h
--dual.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
--dual.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
--dual.o: /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h
--dual.o: /usr/include/mach/i386/_structs.h
--dual.o: /usr/include/sys/_pthread/_pthread_attr_t.h
--dual.o: /usr/include/sys/_types/_sigaltstack.h
--dual.o: /usr/include/sys/_types/_ucontext.h
--dual.o: /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h
--dual.o: /usr/include/sys/resource.h /usr/include/stdint.h
--dual.o: /usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h
--dual.o: /usr/include/sys/_types/_int32_t.h /usr/include/sys/_types/_int64_t.h
--dual.o: /usr/include/_types/_uint8_t.h /usr/include/_types/_uint16_t.h
--dual.o: /usr/include/_types/_uint32_t.h /usr/include/_types/_uint64_t.h
--dual.o: /usr/include/sys/_types/_intptr_t.h
--dual.o: /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h
--dual.o: /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h
--dual.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
--dual.o: /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h
--dual.o: /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h
--dual.o: /usr/include/sys/_types/_ct_rune_t.h
--dual.o: /usr/include/sys/_types/_rune_t.h /usr/include/sys/_types/_wchar_t.h
--dual.o: /usr/include/machine/types.h /usr/include/i386/types.h
--dual.o: /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h
--dual.o: /usr/include/string.h /usr/include/sys/_types/_rsize_t.h
--dual.o: /usr/include/sys/_types/_errno_t.h /usr/include/strings.h
--dual.o: /usr/include/secure/_string.h /usr/include/sys/time.h
--dual.o: /usr/include/sys/_types/_fd_def.h /usr/include/sys/_types/_timespec.h
--dual.o: /usr/include/sys/_types/_time_t.h
--dual.o: /usr/include/sys/_types/_suseconds_t.h
--dual.o: /usr/include/sys/_types/_fd_setsize.h
--dual.o: /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h
--dual.o: /usr/include/sys/_types/_fd_isset.h
--dual.o: /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_copy.h
--dual.o: /usr/include/time.h /usr/include/sys/_types/_clock_t.h
--dual.o: /usr/include/sys/_select.h linalg.h dual.h chull.h
-+dual.o: /usr/include/sys/_null.h /usr/include/sys/_types.h
-+dual.o: /usr/include/machine/_types.h /usr/include/math.h
-+dual.o: /usr/include/machine/_limits.h /usr/include/stdlib.h
-+dual.o: /usr/include/string.h /usr/include/strings.h /usr/include/sys/time.h
-+dual.o: /usr/include/sys/_timeval.h /usr/include/sys/types.h
-+dual.o: /usr/include/machine/endian.h /usr/include/sys/_pthreadtypes.h
-+dual.o: /usr/include/sys/select.h /usr/include/sys/_sigset.h
-+dual.o: /usr/include/sys/timespec.h /usr/include/time.h linalg.h dual.h
-+dual.o: chull.h
- utils.o: surf.h /usr/include/stdio.h /usr/include/sys/cdefs.h
--utils.o: /usr/include/sys/_symbol_aliasing.h
--utils.o: /usr/include/sys/_posix_availability.h /usr/include/Availability.h
--utils.o: /usr/include/AvailabilityInternal.h /usr/include/_types.h
--utils.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
--utils.o: /usr/include/i386/_types.h
--utils.o: /usr/include/sys/_pthread/_pthread_types.h
--utils.o: /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_size_t.h
--utils.o: /usr/include/sys/_types/_null.h /usr/include/sys/stdio.h
--utils.o: /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h
--utils.o: /usr/include/secure/_stdio.h /usr/include/secure/_common.h
--utils.o: /usr/include/math.h /usr/include/stdlib.h /usr/include/sys/wait.h
--utils.o: /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h
--utils.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
--utils.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
--utils.o: /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h
--utils.o: /usr/include/mach/i386/_structs.h
--utils.o: /usr/include/sys/_pthread/_pthread_attr_t.h
--utils.o: /usr/include/sys/_types/_sigaltstack.h
--utils.o: /usr/include/sys/_types/_ucontext.h
--utils.o: /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h
--utils.o: /usr/include/sys/resource.h /usr/include/stdint.h
--utils.o: /usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h
--utils.o: /usr/include/sys/_types/_int32_t.h
--utils.o: /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h
--utils.o: /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h
--utils.o: /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h
--utils.o: /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h
--utils.o: /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h
--utils.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
--utils.o: /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h
--utils.o: /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h
--utils.o: /usr/include/sys/_types/_ct_rune_t.h
--utils.o: /usr/include/sys/_types/_rune_t.h /usr/include/sys/_types/_wchar_t.h
--utils.o: /usr/include/machine/types.h /usr/include/i386/types.h
--utils.o: /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h
--utils.o: /usr/include/string.h /usr/include/sys/_types/_rsize_t.h
--utils.o: /usr/include/sys/_types/_errno_t.h /usr/include/strings.h
--utils.o: /usr/include/secure/_string.h /usr/include/sys/time.h
--utils.o: /usr/include/sys/_types/_fd_def.h
--utils.o: /usr/include/sys/_types/_timespec.h
--utils.o: /usr/include/sys/_types/_time_t.h
--utils.o: /usr/include/sys/_types/_suseconds_t.h
--utils.o: /usr/include/sys/_types/_fd_setsize.h
--utils.o: /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h
--utils.o: /usr/include/sys/_types/_fd_isset.h
--utils.o: /usr/include/sys/_types/_fd_zero.h
--utils.o: /usr/include/sys/_types/_fd_copy.h /usr/include/time.h
--utils.o: /usr/include/sys/_types/_clock_t.h /usr/include/sys/_select.h
--utils.o: linalg.h
-+utils.o: /usr/include/sys/_null.h /usr/include/sys/_types.h
-+utils.o: /usr/include/machine/_types.h /usr/include/math.h
-+utils.o: /usr/include/machine/_limits.h /usr/include/stdlib.h
-+utils.o: /usr/include/string.h /usr/include/strings.h /usr/include/sys/time.h
-+utils.o: /usr/include/sys/_timeval.h /usr/include/sys/types.h
-+utils.o: /usr/include/machine/endian.h /usr/include/sys/_pthreadtypes.h
-+utils.o: /usr/include/sys/select.h /usr/include/sys/_sigset.h
-+utils.o: /usr/include/sys/timespec.h /usr/include/time.h linalg.h
- lp.o: surf.h /usr/include/stdio.h /usr/include/sys/cdefs.h
--lp.o: /usr/include/sys/_symbol_aliasing.h
--lp.o: /usr/include/sys/_posix_availability.h /usr/include/Availability.h
--lp.o: /usr/include/AvailabilityInternal.h /usr/include/_types.h
--lp.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
--lp.o: /usr/include/i386/_types.h /usr/include/sys/_pthread/_pthread_types.h
--lp.o: /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_size_t.h
--lp.o: /usr/include/sys/_types/_null.h /usr/include/sys/stdio.h
--lp.o: /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h
--lp.o: /usr/include/secure/_stdio.h /usr/include/secure/_common.h
--lp.o: /usr/include/math.h /usr/include/stdlib.h /usr/include/sys/wait.h
--lp.o: /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h
--lp.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
--lp.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
--lp.o: /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h
--lp.o: /usr/include/mach/i386/_structs.h
--lp.o: /usr/include/sys/_pthread/_pthread_attr_t.h
--lp.o: /usr/include/sys/_types/_sigaltstack.h
--lp.o: /usr/include/sys/_types/_ucontext.h /usr/include/sys/_types/_sigset_t.h
--lp.o: /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h
--lp.o: /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h
--lp.o: /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h
--lp.o: /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h
--lp.o: /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h
--lp.o: /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h
--lp.o: /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h
--lp.o: /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h
--lp.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
--lp.o: /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h
--lp.o: /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h
--lp.o: /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h
--lp.o: /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h
--lp.o: /usr/include/i386/types.h /usr/include/sys/_types/_dev_t.h
--lp.o: /usr/include/sys/_types/_mode_t.h /usr/include/string.h
--lp.o: /usr/include/sys/_types/_rsize_t.h /usr/include/sys/_types/_errno_t.h
--lp.o: /usr/include/strings.h /usr/include/secure/_string.h
--lp.o: /usr/include/sys/time.h /usr/include/sys/_types/_fd_def.h
--lp.o: /usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_time_t.h
--lp.o: /usr/include/sys/_types/_suseconds_t.h
--lp.o: /usr/include/sys/_types/_fd_setsize.h /usr/include/sys/_types/_fd_set.h
--lp.o: /usr/include/sys/_types/_fd_clr.h /usr/include/sys/_types/_fd_isset.h
--lp.o: /usr/include/sys/_types/_fd_zero.h /usr/include/sys/_types/_fd_copy.h
--lp.o: /usr/include/time.h /usr/include/sys/_types/_clock_t.h
--lp.o: /usr/include/sys/_select.h linalg.h
-+lp.o: /usr/include/sys/_null.h /usr/include/sys/_types.h
-+lp.o: /usr/include/machine/_types.h /usr/include/math.h
-+lp.o: /usr/include/machine/_limits.h /usr/include/stdlib.h
-+lp.o: /usr/include/string.h /usr/include/strings.h /usr/include/sys/time.h
-+lp.o: /usr/include/sys/_timeval.h /usr/include/sys/types.h
-+lp.o: /usr/include/machine/endian.h /usr/include/sys/_pthreadtypes.h
-+lp.o: /usr/include/sys/select.h /usr/include/sys/_sigset.h
-+lp.o: /usr/include/sys/timespec.h /usr/include/time.h linalg.h
- chull.o: surf.h /usr/include/stdio.h /usr/include/sys/cdefs.h
--chull.o: /usr/include/sys/_symbol_aliasing.h
--chull.o: /usr/include/sys/_posix_availability.h /usr/include/Availability.h
--chull.o: /usr/include/AvailabilityInternal.h /usr/include/_types.h
--chull.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
--chull.o: /usr/include/i386/_types.h
--chull.o: /usr/include/sys/_pthread/_pthread_types.h
--chull.o: /usr/include/sys/_types/_va_list.h /usr/include/sys/_types/_size_t.h
--chull.o: /usr/include/sys/_types/_null.h /usr/include/sys/stdio.h
--chull.o: /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h
--chull.o: /usr/include/secure/_stdio.h /usr/include/secure/_common.h
--chull.o: /usr/include/math.h /usr/include/stdlib.h /usr/include/sys/wait.h
--chull.o: /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h
--chull.o: /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h
--chull.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
--chull.o: /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h
--chull.o: /usr/include/mach/i386/_structs.h
--chull.o: /usr/include/sys/_pthread/_pthread_attr_t.h
--chull.o: /usr/include/sys/_types/_sigaltstack.h
--chull.o: /usr/include/sys/_types/_ucontext.h
--chull.o: /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h
--chull.o: /usr/include/sys/resource.h /usr/include/stdint.h
--chull.o: /usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h
--chull.o: /usr/include/sys/_types/_int32_t.h
--chull.o: /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h
--chull.o: /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h
--chull.o: /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h
--chull.o: /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h
--chull.o: /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h
--chull.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
--chull.o: /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h
--chull.o: /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h
--chull.o: /usr/include/sys/_types/_ct_rune_t.h
--chull.o: /usr/include/sys/_types/_rune_t.h /usr/include/sys/_types/_wchar_t.h
--chull.o: /usr/include/machine/types.h /usr/include/i386/types.h
--chull.o: /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h
--chull.o: /usr/include/string.h /usr/include/sys/_types/_rsize_t.h
--chull.o: /usr/include/sys/_types/_errno_t.h /usr/include/strings.h
--chull.o: /usr/include/secure/_string.h /usr/include/sys/time.h
--chull.o: /usr/include/sys/_types/_fd_def.h
--chull.o: /usr/include/sys/_types/_timespec.h
--chull.o: /usr/include/sys/_types/_time_t.h
--chull.o: /usr/include/sys/_types/_suseconds_t.h
--chull.o: /usr/include/sys/_types/_fd_setsize.h
--chull.o: /usr/include/sys/_types/_fd_set.h /usr/include/sys/_types/_fd_clr.h
--chull.o: /usr/include/sys/_types/_fd_isset.h
--chull.o: /usr/include/sys/_types/_fd_zero.h
--chull.o: /usr/include/sys/_types/_fd_copy.h /usr/include/time.h
--chull.o: /usr/include/sys/_types/_clock_t.h /usr/include/sys/_select.h
--chull.o: linalg.h chull.h
-+chull.o: /usr/include/sys/_null.h /usr/include/sys/_types.h
-+chull.o: /usr/include/machine/_types.h /usr/include/math.h
-+chull.o: /usr/include/machine/_limits.h /usr/include/stdlib.h
-+chull.o: /usr/include/string.h /usr/include/strings.h /usr/include/sys/time.h
-+chull.o: /usr/include/sys/_timeval.h /usr/include/sys/types.h
-+chull.o: /usr/include/machine/endian.h /usr/include/sys/_pthreadtypes.h
-+chull.o: /usr/include/sys/select.h /usr/include/sys/_sigset.h
-+chull.o: /usr/include/sys/timespec.h /usr/include/time.h linalg.h chull.h
- tessel_cases.o: surf.h /usr/include/stdio.h /usr/include/sys/cdefs.h
--tessel_cases.o: /usr/include/sys/_symbol_aliasing.h
--tessel_cases.o: /usr/include/sys/_posix_availability.h
--tessel_cases.o: /usr/include/Availability.h
--tessel_cases.o: /usr/include/AvailabilityInternal.h /usr/include/_types.h
--tessel_cases.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
--tessel_cases.o: /usr/include/i386/_types.h
--tessel_cases.o: /usr/include/sys/_pthread/_pthread_types.h
--tessel_cases.o: /usr/include/sys/_types/_va_list.h
--tessel_cases.o: /usr/include/sys/_types/_size_t.h
--tessel_cases.o: /usr/include/sys/_types/_null.h /usr/include/sys/stdio.h
--tessel_cases.o: /usr/include/sys/_types/_off_t.h
--tessel_cases.o: /usr/include/sys/_types/_ssize_t.h
--tessel_cases.o: /usr/include/secure/_stdio.h /usr/include/secure/_common.h
--tessel_cases.o: /usr/include/math.h /usr/include/stdlib.h
--tessel_cases.o: /usr/include/sys/wait.h /usr/include/sys/_types/_pid_t.h
--tessel_cases.o: /usr/include/sys/_types/_id_t.h /usr/include/sys/signal.h
--tessel_cases.o: /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h
--tessel_cases.o: /usr/include/i386/signal.h /usr/include/machine/_mcontext.h
--tessel_cases.o: /usr/include/i386/_mcontext.h
--tessel_cases.o: /usr/include/mach/i386/_structs.h
--tessel_cases.o: /usr/include/sys/_pthread/_pthread_attr_t.h
--tessel_cases.o: /usr/include/sys/_types/_sigaltstack.h
--tessel_cases.o: /usr/include/sys/_types/_ucontext.h
--tessel_cases.o: /usr/include/sys/_types/_sigset_t.h
--tessel_cases.o: /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h
--tessel_cases.o: /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h
--tessel_cases.o: /usr/include/sys/_types/_int16_t.h
--tessel_cases.o: /usr/include/sys/_types/_int32_t.h
--tessel_cases.o: /usr/include/sys/_types/_int64_t.h
--tessel_cases.o: /usr/include/_types/_uint8_t.h
--tessel_cases.o: /usr/include/_types/_uint16_t.h
--tessel_cases.o: /usr/include/_types/_uint32_t.h
--tessel_cases.o: /usr/include/_types/_uint64_t.h
--tessel_cases.o: /usr/include/sys/_types/_intptr_t.h
--tessel_cases.o: /usr/include/sys/_types/_uintptr_t.h
--tessel_cases.o: /usr/include/_types/_intmax_t.h
--tessel_cases.o: /usr/include/_types/_uintmax_t.h
--tessel_cases.o: /usr/include/sys/_types/_timeval.h
--tessel_cases.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
--tessel_cases.o: /usr/include/sys/_endian.h
--tessel_cases.o: /usr/include/libkern/_OSByteOrder.h
--tessel_cases.o: /usr/include/libkern/i386/_OSByteOrder.h
--tessel_cases.o: /usr/include/alloca.h /usr/include/sys/_types/_ct_rune_t.h
--tessel_cases.o: /usr/include/sys/_types/_rune_t.h
--tessel_cases.o: /usr/include/sys/_types/_wchar_t.h
--tessel_cases.o: /usr/include/machine/types.h /usr/include/i386/types.h
--tessel_cases.o: /usr/include/sys/_types/_dev_t.h
--tessel_cases.o: /usr/include/sys/_types/_mode_t.h /usr/include/string.h
--tessel_cases.o: /usr/include/sys/_types/_rsize_t.h
--tessel_cases.o: /usr/include/sys/_types/_errno_t.h /usr/include/strings.h
--tessel_cases.o: /usr/include/secure/_string.h /usr/include/sys/time.h
--tessel_cases.o: /usr/include/sys/_types/_fd_def.h
--tessel_cases.o: /usr/include/sys/_types/_timespec.h
--tessel_cases.o: /usr/include/sys/_types/_time_t.h
--tessel_cases.o: /usr/include/sys/_types/_suseconds_t.h
--tessel_cases.o: /usr/include/sys/_types/_fd_setsize.h
--tessel_cases.o: /usr/include/sys/_types/_fd_set.h
--tessel_cases.o: /usr/include/sys/_types/_fd_clr.h
--tessel_cases.o: /usr/include/sys/_types/_fd_isset.h
--tessel_cases.o: /usr/include/sys/_types/_fd_zero.h
--tessel_cases.o: /usr/include/sys/_types/_fd_copy.h /usr/include/time.h
--tessel_cases.o: /usr/include/sys/_types/_clock_t.h /usr/include/sys/_select.h
--tessel_cases.o: linalg.h dual.h
-+tessel_cases.o: /usr/include/sys/_null.h /usr/include/sys/_types.h
-+tessel_cases.o: /usr/include/machine/_types.h /usr/include/math.h
-+tessel_cases.o: /usr/include/machine/_limits.h /usr/include/stdlib.h
-+tessel_cases.o: /usr/include/string.h /usr/include/strings.h
-+tessel_cases.o: /usr/include/sys/time.h /usr/include/sys/_timeval.h
-+tessel_cases.o: /usr/include/sys/types.h /usr/include/machine/endian.h
-+tessel_cases.o: /usr/include/sys/_pthreadtypes.h /usr/include/sys/select.h
-+tessel_cases.o: /usr/include/sys/_sigset.h /usr/include/sys/timespec.h
-+tessel_cases.o: /usr/include/time.h linalg.h dual.h
- tessel_patches.o: surf.h /usr/include/stdio.h /usr/include/sys/cdefs.h
--tessel_patches.o: /usr/include/sys/_symbol_aliasing.h
--tessel_patches.o: /usr/include/sys/_posix_availability.h
--tessel_patches.o: /usr/include/Availability.h
--tessel_patches.o: /usr/include/AvailabilityInternal.h /usr/include/_types.h
--tessel_patches.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
--tessel_patches.o: /usr/include/i386/_types.h
--tessel_patches.o: /usr/include/sys/_pthread/_pthread_types.h
--tessel_patches.o: /usr/include/sys/_types/_va_list.h
--tessel_patches.o: /usr/include/sys/_types/_size_t.h
--tessel_patches.o: /usr/include/sys/_types/_null.h /usr/include/sys/stdio.h
--tessel_patches.o: /usr/include/sys/_types/_off_t.h
--tessel_patches.o: /usr/include/sys/_types/_ssize_t.h
--tessel_patches.o: /usr/include/secure/_stdio.h /usr/include/secure/_common.h
--tessel_patches.o: /usr/include/math.h /usr/include/stdlib.h
--tessel_patches.o: /usr/include/sys/wait.h /usr/include/sys/_types/_pid_t.h
--tessel_patches.o: /usr/include/sys/_types/_id_t.h /usr/include/sys/signal.h
--tessel_patches.o: /usr/include/sys/appleapiopts.h
--tessel_patches.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
--tessel_patches.o: /usr/include/machine/_mcontext.h
--tessel_patches.o: /usr/include/i386/_mcontext.h
--tessel_patches.o: /usr/include/mach/i386/_structs.h
--tessel_patches.o: /usr/include/sys/_pthread/_pthread_attr_t.h
--tessel_patches.o: /usr/include/sys/_types/_sigaltstack.h
--tessel_patches.o: /usr/include/sys/_types/_ucontext.h
--tessel_patches.o: /usr/include/sys/_types/_sigset_t.h
--tessel_patches.o: /usr/include/sys/_types/_uid_t.h
--tessel_patches.o: /usr/include/sys/resource.h /usr/include/stdint.h
--tessel_patches.o: /usr/include/sys/_types/_int8_t.h
--tessel_patches.o: /usr/include/sys/_types/_int16_t.h
--tessel_patches.o: /usr/include/sys/_types/_int32_t.h
--tessel_patches.o: /usr/include/sys/_types/_int64_t.h
--tessel_patches.o: /usr/include/_types/_uint8_t.h
--tessel_patches.o: /usr/include/_types/_uint16_t.h
--tessel_patches.o: /usr/include/_types/_uint32_t.h
--tessel_patches.o: /usr/include/_types/_uint64_t.h
--tessel_patches.o: /usr/include/sys/_types/_intptr_t.h
--tessel_patches.o: /usr/include/sys/_types/_uintptr_t.h
--tessel_patches.o: /usr/include/_types/_intmax_t.h
--tessel_patches.o: /usr/include/_types/_uintmax_t.h
--tessel_patches.o: /usr/include/sys/_types/_timeval.h
--tessel_patches.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
--tessel_patches.o: /usr/include/sys/_endian.h
--tessel_patches.o: /usr/include/libkern/_OSByteOrder.h
--tessel_patches.o: /usr/include/libkern/i386/_OSByteOrder.h
--tessel_patches.o: /usr/include/alloca.h /usr/include/sys/_types/_ct_rune_t.h
--tessel_patches.o: /usr/include/sys/_types/_rune_t.h
--tessel_patches.o: /usr/include/sys/_types/_wchar_t.h
--tessel_patches.o: /usr/include/machine/types.h /usr/include/i386/types.h
--tessel_patches.o: /usr/include/sys/_types/_dev_t.h
--tessel_patches.o: /usr/include/sys/_types/_mode_t.h /usr/include/string.h
--tessel_patches.o: /usr/include/sys/_types/_rsize_t.h
--tessel_patches.o: /usr/include/sys/_types/_errno_t.h /usr/include/strings.h
--tessel_patches.o: /usr/include/secure/_string.h /usr/include/sys/time.h
--tessel_patches.o: /usr/include/sys/_types/_fd_def.h
--tessel_patches.o: /usr/include/sys/_types/_timespec.h
--tessel_patches.o: /usr/include/sys/_types/_time_t.h
--tessel_patches.o: /usr/include/sys/_types/_suseconds_t.h
--tessel_patches.o: /usr/include/sys/_types/_fd_setsize.h
--tessel_patches.o: /usr/include/sys/_types/_fd_set.h
--tessel_patches.o: /usr/include/sys/_types/_fd_clr.h
--tessel_patches.o: /usr/include/sys/_types/_fd_isset.h
--tessel_patches.o: /usr/include/sys/_types/_fd_zero.h
--tessel_patches.o: /usr/include/sys/_types/_fd_copy.h /usr/include/time.h
--tessel_patches.o: /usr/include/sys/_types/_clock_t.h
--tessel_patches.o: /usr/include/sys/_select.h linalg.h
-+tessel_patches.o: /usr/include/sys/_null.h /usr/include/sys/_types.h
-+tessel_patches.o: /usr/include/machine/_types.h /usr/include/math.h
-+tessel_patches.o: /usr/include/machine/_limits.h /usr/include/stdlib.h
-+tessel_patches.o: /usr/include/string.h /usr/include/strings.h
-+tessel_patches.o: /usr/include/sys/time.h /usr/include/sys/_timeval.h
-+tessel_patches.o: /usr/include/sys/types.h /usr/include/machine/endian.h
-+tessel_patches.o: /usr/include/sys/_pthreadtypes.h /usr/include/sys/select.h
-+tessel_patches.o: /usr/include/sys/_sigset.h /usr/include/sys/timespec.h
-+tessel_patches.o: /usr/include/time.h linalg.h
- tessel_convex.o: surf.h /usr/include/stdio.h /usr/include/sys/cdefs.h
--tessel_convex.o: /usr/include/sys/_symbol_aliasing.h
--tessel_convex.o: /usr/include/sys/_posix_availability.h
--tessel_convex.o: /usr/include/Availability.h
--tessel_convex.o: /usr/include/AvailabilityInternal.h /usr/include/_types.h
--tessel_convex.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
--tessel_convex.o: /usr/include/i386/_types.h
--tessel_convex.o: /usr/include/sys/_pthread/_pthread_types.h
--tessel_convex.o: /usr/include/sys/_types/_va_list.h
--tessel_convex.o: /usr/include/sys/_types/_size_t.h
--tessel_convex.o: /usr/include/sys/_types/_null.h /usr/include/sys/stdio.h
--tessel_convex.o: /usr/include/sys/_types/_off_t.h
--tessel_convex.o: /usr/include/sys/_types/_ssize_t.h
--tessel_convex.o: /usr/include/secure/_stdio.h /usr/include/secure/_common.h
--tessel_convex.o: /usr/include/math.h /usr/include/stdlib.h
--tessel_convex.o: /usr/include/sys/wait.h /usr/include/sys/_types/_pid_t.h
--tessel_convex.o: /usr/include/sys/_types/_id_t.h /usr/include/sys/signal.h
--tessel_convex.o: /usr/include/sys/appleapiopts.h
--tessel_convex.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
--tessel_convex.o: /usr/include/machine/_mcontext.h
--tessel_convex.o: /usr/include/i386/_mcontext.h
--tessel_convex.o: /usr/include/mach/i386/_structs.h
--tessel_convex.o: /usr/include/sys/_pthread/_pthread_attr_t.h
--tessel_convex.o: /usr/include/sys/_types/_sigaltstack.h
--tessel_convex.o: /usr/include/sys/_types/_ucontext.h
--tessel_convex.o: /usr/include/sys/_types/_sigset_t.h
--tessel_convex.o: /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h
--tessel_convex.o: /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h
--tessel_convex.o: /usr/include/sys/_types/_int16_t.h
--tessel_convex.o: /usr/include/sys/_types/_int32_t.h
--tessel_convex.o: /usr/include/sys/_types/_int64_t.h
--tessel_convex.o: /usr/include/_types/_uint8_t.h
--tessel_convex.o: /usr/include/_types/_uint16_t.h
--tessel_convex.o: /usr/include/_types/_uint32_t.h
--tessel_convex.o: /usr/include/_types/_uint64_t.h
--tessel_convex.o: /usr/include/sys/_types/_intptr_t.h
--tessel_convex.o: /usr/include/sys/_types/_uintptr_t.h
--tessel_convex.o: /usr/include/_types/_intmax_t.h
--tessel_convex.o: /usr/include/_types/_uintmax_t.h
--tessel_convex.o: /usr/include/sys/_types/_timeval.h
--tessel_convex.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
--tessel_convex.o: /usr/include/sys/_endian.h
--tessel_convex.o: /usr/include/libkern/_OSByteOrder.h
--tessel_convex.o: /usr/include/libkern/i386/_OSByteOrder.h
--tessel_convex.o: /usr/include/alloca.h /usr/include/sys/_types/_ct_rune_t.h
--tessel_convex.o: /usr/include/sys/_types/_rune_t.h
--tessel_convex.o: /usr/include/sys/_types/_wchar_t.h
--tessel_convex.o: /usr/include/machine/types.h /usr/include/i386/types.h
--tessel_convex.o: /usr/include/sys/_types/_dev_t.h
--tessel_convex.o: /usr/include/sys/_types/_mode_t.h /usr/include/string.h
--tessel_convex.o: /usr/include/sys/_types/_rsize_t.h
--tessel_convex.o: /usr/include/sys/_types/_errno_t.h /usr/include/strings.h
--tessel_convex.o: /usr/include/secure/_string.h /usr/include/sys/time.h
--tessel_convex.o: /usr/include/sys/_types/_fd_def.h
--tessel_convex.o: /usr/include/sys/_types/_timespec.h
--tessel_convex.o: /usr/include/sys/_types/_time_t.h
--tessel_convex.o: /usr/include/sys/_types/_suseconds_t.h
--tessel_convex.o: /usr/include/sys/_types/_fd_setsize.h
--tessel_convex.o: /usr/include/sys/_types/_fd_set.h
--tessel_convex.o: /usr/include/sys/_types/_fd_clr.h
--tessel_convex.o: /usr/include/sys/_types/_fd_isset.h
--tessel_convex.o: /usr/include/sys/_types/_fd_zero.h
--tessel_convex.o: /usr/include/sys/_types/_fd_copy.h /usr/include/time.h
--tessel_convex.o: /usr/include/sys/_types/_clock_t.h
--tessel_convex.o: /usr/include/sys/_select.h linalg.h
-+tessel_convex.o: /usr/include/sys/_null.h /usr/include/sys/_types.h
-+tessel_convex.o: /usr/include/machine/_types.h /usr/include/math.h
-+tessel_convex.o: /usr/include/machine/_limits.h /usr/include/stdlib.h
-+tessel_convex.o: /usr/include/string.h /usr/include/strings.h
-+tessel_convex.o: /usr/include/sys/time.h /usr/include/sys/_timeval.h
-+tessel_convex.o: /usr/include/sys/types.h /usr/include/machine/endian.h
-+tessel_convex.o: /usr/include/sys/_pthreadtypes.h /usr/include/sys/select.h
-+tessel_convex.o: /usr/include/sys/_sigset.h /usr/include/sys/timespec.h
-+tessel_convex.o: /usr/include/time.h linalg.h
- tessel_concave.o: surf.h /usr/include/stdio.h /usr/include/sys/cdefs.h
--tessel_concave.o: /usr/include/sys/_symbol_aliasing.h
--tessel_concave.o: /usr/include/sys/_posix_availability.h
--tessel_concave.o: /usr/include/Availability.h
--tessel_concave.o: /usr/include/AvailabilityInternal.h /usr/include/_types.h
--tessel_concave.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
--tessel_concave.o: /usr/include/i386/_types.h
--tessel_concave.o: /usr/include/sys/_pthread/_pthread_types.h
--tessel_concave.o: /usr/include/sys/_types/_va_list.h
--tessel_concave.o: /usr/include/sys/_types/_size_t.h
--tessel_concave.o: /usr/include/sys/_types/_null.h /usr/include/sys/stdio.h
--tessel_concave.o: /usr/include/sys/_types/_off_t.h
--tessel_concave.o: /usr/include/sys/_types/_ssize_t.h
--tessel_concave.o: /usr/include/secure/_stdio.h /usr/include/secure/_common.h
--tessel_concave.o: /usr/include/math.h /usr/include/stdlib.h
--tessel_concave.o: /usr/include/sys/wait.h /usr/include/sys/_types/_pid_t.h
--tessel_concave.o: /usr/include/sys/_types/_id_t.h /usr/include/sys/signal.h
--tessel_concave.o: /usr/include/sys/appleapiopts.h
--tessel_concave.o: /usr/include/machine/signal.h /usr/include/i386/signal.h
--tessel_concave.o: /usr/include/machine/_mcontext.h
--tessel_concave.o: /usr/include/i386/_mcontext.h
--tessel_concave.o: /usr/include/mach/i386/_structs.h
--tessel_concave.o: /usr/include/sys/_pthread/_pthread_attr_t.h
--tessel_concave.o: /usr/include/sys/_types/_sigaltstack.h
--tessel_concave.o: /usr/include/sys/_types/_ucontext.h
--tessel_concave.o: /usr/include/sys/_types/_sigset_t.h
--tessel_concave.o: /usr/include/sys/_types/_uid_t.h
--tessel_concave.o: /usr/include/sys/resource.h /usr/include/stdint.h
--tessel_concave.o: /usr/include/sys/_types/_int8_t.h
--tessel_concave.o: /usr/include/sys/_types/_int16_t.h
--tessel_concave.o: /usr/include/sys/_types/_int32_t.h
--tessel_concave.o: /usr/include/sys/_types/_int64_t.h
--tessel_concave.o: /usr/include/_types/_uint8_t.h
--tessel_concave.o: /usr/include/_types/_uint16_t.h
--tessel_concave.o: /usr/include/_types/_uint32_t.h
--tessel_concave.o: /usr/include/_types/_uint64_t.h
--tessel_concave.o: /usr/include/sys/_types/_intptr_t.h
--tessel_concave.o: /usr/include/sys/_types/_uintptr_t.h
--tessel_concave.o: /usr/include/_types/_intmax_t.h
--tessel_concave.o: /usr/include/_types/_uintmax_t.h
--tessel_concave.o: /usr/include/sys/_types/_timeval.h
--tessel_concave.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
--tessel_concave.o: /usr/include/sys/_endian.h
--tessel_concave.o: /usr/include/libkern/_OSByteOrder.h
--tessel_concave.o: /usr/include/libkern/i386/_OSByteOrder.h
--tessel_concave.o: /usr/include/alloca.h /usr/include/sys/_types/_ct_rune_t.h
--tessel_concave.o: /usr/include/sys/_types/_rune_t.h
--tessel_concave.o: /usr/include/sys/_types/_wchar_t.h
--tessel_concave.o: /usr/include/machine/types.h /usr/include/i386/types.h
--tessel_concave.o: /usr/include/sys/_types/_dev_t.h
--tessel_concave.o: /usr/include/sys/_types/_mode_t.h /usr/include/string.h
--tessel_concave.o: /usr/include/sys/_types/_rsize_t.h
--tessel_concave.o: /usr/include/sys/_types/_errno_t.h /usr/include/strings.h
--tessel_concave.o: /usr/include/secure/_string.h /usr/include/sys/time.h
--tessel_concave.o: /usr/include/sys/_types/_fd_def.h
--tessel_concave.o: /usr/include/sys/_types/_timespec.h
--tessel_concave.o: /usr/include/sys/_types/_time_t.h
--tessel_concave.o: /usr/include/sys/_types/_suseconds_t.h
--tessel_concave.o: /usr/include/sys/_types/_fd_setsize.h
--tessel_concave.o: /usr/include/sys/_types/_fd_set.h
--tessel_concave.o: /usr/include/sys/_types/_fd_clr.h
--tessel_concave.o: /usr/include/sys/_types/_fd_isset.h
--tessel_concave.o: /usr/include/sys/_types/_fd_zero.h
--tessel_concave.o: /usr/include/sys/_types/_fd_copy.h /usr/include/time.h
--tessel_concave.o: /usr/include/sys/_types/_clock_t.h
--tessel_concave.o: /usr/include/sys/_select.h linalg.h
-+tessel_concave.o: /usr/include/sys/_null.h /usr/include/sys/_types.h
-+tessel_concave.o: /usr/include/machine/_types.h /usr/include/math.h
-+tessel_concave.o: /usr/include/machine/_limits.h /usr/include/stdlib.h
-+tessel_concave.o: /usr/include/string.h /usr/include/strings.h
-+tessel_concave.o: /usr/include/sys/time.h /usr/include/sys/_timeval.h
-+tessel_concave.o: /usr/include/sys/types.h /usr/include/machine/endian.h
-+tessel_concave.o: /usr/include/sys/_pthreadtypes.h /usr/include/sys/select.h
-+tessel_concave.o: /usr/include/sys/_sigset.h /usr/include/sys/timespec.h
-+tessel_concave.o: /usr/include/time.h linalg.h
- tessel_torus.o: surf.h /usr/include/stdio.h /usr/include/sys/cdefs.h
--tessel_torus.o: /usr/include/sys/_symbol_aliasing.h
--tessel_torus.o: /usr/include/sys/_posix_availability.h
--tessel_torus.o: /usr/include/Availability.h
--tessel_torus.o: /usr/include/AvailabilityInternal.h /usr/include/_types.h
--tessel_torus.o: /usr/include/sys/_types.h /usr/include/machine/_types.h
--tessel_torus.o: /usr/include/i386/_types.h
--tessel_torus.o: /usr/include/sys/_pthread/_pthread_types.h
--tessel_torus.o: /usr/include/sys/_types/_va_list.h
--tessel_torus.o: /usr/include/sys/_types/_size_t.h
--tessel_torus.o: /usr/include/sys/_types/_null.h /usr/include/sys/stdio.h
--tessel_torus.o: /usr/include/sys/_types/_off_t.h
--tessel_torus.o: /usr/include/sys/_types/_ssize_t.h
--tessel_torus.o: /usr/include/secure/_stdio.h /usr/include/secure/_common.h
--tessel_torus.o: /usr/include/math.h /usr/include/stdlib.h
--tessel_torus.o: /usr/include/sys/wait.h /usr/include/sys/_types/_pid_t.h
--tessel_torus.o: /usr/include/sys/_types/_id_t.h /usr/include/sys/signal.h
--tessel_torus.o: /usr/include/sys/appleapiopts.h /usr/include/machine/signal.h
--tessel_torus.o: /usr/include/i386/signal.h /usr/include/machine/_mcontext.h
--tessel_torus.o: /usr/include/i386/_mcontext.h
--tessel_torus.o: /usr/include/mach/i386/_structs.h
--tessel_torus.o: /usr/include/sys/_pthread/_pthread_attr_t.h
--tessel_torus.o: /usr/include/sys/_types/_sigaltstack.h
--tessel_torus.o: /usr/include/sys/_types/_ucontext.h
--tessel_torus.o: /usr/include/sys/_types/_sigset_t.h
--tessel_torus.o: /usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h
--tessel_torus.o: /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h
--tessel_torus.o: /usr/include/sys/_types/_int16_t.h
--tessel_torus.o: /usr/include/sys/_types/_int32_t.h
--tessel_torus.o: /usr/include/sys/_types/_int64_t.h
--tessel_torus.o: /usr/include/_types/_uint8_t.h
--tessel_torus.o: /usr/include/_types/_uint16_t.h
--tessel_torus.o: /usr/include/_types/_uint32_t.h
--tessel_torus.o: /usr/include/_types/_uint64_t.h
--tessel_torus.o: /usr/include/sys/_types/_intptr_t.h
--tessel_torus.o: /usr/include/sys/_types/_uintptr_t.h
--tessel_torus.o: /usr/include/_types/_intmax_t.h
--tessel_torus.o: /usr/include/_types/_uintmax_t.h
--tessel_torus.o: /usr/include/sys/_types/_timeval.h
--tessel_torus.o: /usr/include/machine/endian.h /usr/include/i386/endian.h
--tessel_torus.o: /usr/include/sys/_endian.h
--tessel_torus.o: /usr/include/libkern/_OSByteOrder.h
--tessel_torus.o: /usr/include/libkern/i386/_OSByteOrder.h
--tessel_torus.o: /usr/include/alloca.h /usr/include/sys/_types/_ct_rune_t.h
--tessel_torus.o: /usr/include/sys/_types/_rune_t.h
--tessel_torus.o: /usr/include/sys/_types/_wchar_t.h
--tessel_torus.o: /usr/include/machine/types.h /usr/include/i386/types.h
--tessel_torus.o: /usr/include/sys/_types/_dev_t.h
--tessel_torus.o: /usr/include/sys/_types/_mode_t.h /usr/include/string.h
--tessel_torus.o: /usr/include/sys/_types/_rsize_t.h
--tessel_torus.o: /usr/include/sys/_types/_errno_t.h /usr/include/strings.h
--tessel_torus.o: /usr/include/secure/_string.h /usr/include/sys/time.h
--tessel_torus.o: /usr/include/sys/_types/_fd_def.h
--tessel_torus.o: /usr/include/sys/_types/_timespec.h
--tessel_torus.o: /usr/include/sys/_types/_time_t.h
--tessel_torus.o: /usr/include/sys/_types/_suseconds_t.h
--tessel_torus.o: /usr/include/sys/_types/_fd_setsize.h
--tessel_torus.o: /usr/include/sys/_types/_fd_set.h
--tessel_torus.o: /usr/include/sys/_types/_fd_clr.h
--tessel_torus.o: /usr/include/sys/_types/_fd_isset.h
--tessel_torus.o: /usr/include/sys/_types/_fd_zero.h
--tessel_torus.o: /usr/include/sys/_types/_fd_copy.h /usr/include/time.h
--tessel_torus.o: /usr/include/sys/_types/_clock_t.h /usr/include/sys/_select.h
--tessel_torus.o: linalg.h
--
--# DEPENDENCIES MUST END AT END OF FILE
--# IF YOU PUT STUFF HERE IT WILL GO AWAY
--# see make depend above
--
-+tessel_torus.o: /usr/include/sys/_null.h /usr/include/sys/_types.h
-+tessel_torus.o: /usr/include/machine/_types.h /usr/include/math.h
-+tessel_torus.o: /usr/include/machine/_limits.h /usr/include/stdlib.h
-+tessel_torus.o: /usr/include/string.h /usr/include/strings.h
-+tessel_torus.o: /usr/include/sys/time.h /usr/include/sys/_timeval.h
-+tessel_torus.o: /usr/include/sys/types.h /usr/include/machine/endian.h
-+tessel_torus.o: /usr/include/sys/_pthreadtypes.h /usr/include/sys/select.h
-+tessel_torus.o: /usr/include/sys/_sigset.h /usr/include/sys/timespec.h
-+tessel_torus.o: /usr/include/time.h linalg.h
diff --git a/biology/molden/files/patch-xwin.c b/biology/molden/files/patch-xwin.c
deleted file mode 100644
index 482160e326b6..000000000000
--- a/biology/molden/files/patch-xwin.c
+++ /dev/null
@@ -1,32 +0,0 @@
---- xwin.c.orig 2018-11-07 12:54:20 UTC
-+++ xwin.c
-@@ -4218,8 +4218,12 @@ void makeRasterFont(Display *dpy);
- #include <math.h>
-
- #include <fcntl.h>
--#if defined(__APPLE__) || defined(__FreeBSD__)
-+#if defined(__APPLE__)
- #include <copyfile.h>
-+#elif defined(__FreeBSD__)
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#include <sys/uio.h>
- #else
- #include <sys/sendfile.h>
- #endif
-@@ -4238,9 +4242,14 @@ int OSCopyFile(const char* source, const
- }
-
- //Here we use kernel-space copying for performance reasons
--#if defined(__APPLE__) || defined(__FreeBSD__)
-+#if defined(__APPLE__)
- //fcopyfile works on FreeBSD and OS X 10.5+
- int result = fcopyfile(input, output, 0, COPYFILE_ALL);
-+#elif defined(__FreeBSD__)
-+ off_t bytesCopied = 0;
-+ struct stat fileinfo = {0};
-+ fstat(input, &fileinfo);
-+ int result = sendfile(output, input, 0/*ofset*/, fileinfo.st_size, 0/*hdtr*/, &bytesCopied, 0/*flags*/);
- #else
- //sendfile will work with non-socket output (i.e. regular file) on Linux 2.6.33+
- off_t bytesCopied = 0;
diff --git a/biology/molden/pkg-descr b/biology/molden/pkg-descr
index f27324fc3da3..31e2afd484d7 100644
--- a/biology/molden/pkg-descr
+++ b/biology/molden/pkg-descr
@@ -1,14 +1,22 @@
-Visualizing the results of molecular orbital calculations
- 1) MO program: gaussian, gamess, mopac, etc.
- 2) display molecule in 3D: geo-opt, single-point, nomal mode (animation)
- 3) density: contour plot or 3D view for electron density and MO coefficient
-Everything what you want about MO calculation can be seen.
-
-By the distribution policy of the author;
- * Only the latest version is supplied.
- * Users must get the `distfiles' from the original site.
- * Do not re-distribute the source and the executable.
- * Using a not-so-latest version is prohibited, because
- the author may only respond about the latest version.
-
-WWW: http://www.cmbi.ru.nl/molden/
+Molden is a package for displaying Molecular Density from the Ab Initio packages
+GAMESS-UK, GAMESS-US and GAUSSIAN and the Semi-Empirical packages Mopac/Ampac,
+it also supports a number of other programs via the Molden Format. Molden reads
+all the required information from the GAMESS / GAUSSIAN outputfile. Molden is
+capable of displaying Molecular Orbitals, the electron density and the Molecular
+minus Atomic density. Either the spherically averaged atomic density or the
+oriented ground state atomic density can be subtracted for a number of standard
+basis sets. Molden supports contour plots, 3-d grid plots with hidden lines and
+a combination of both. It can write a variety of graphics instructions;
+postscript, XWindows, VRML, povray, OpenGL, tekronix4014, hpgl, hp2392 and
+Figure. Both Xwindows and OpenGL versions of Molden are also capable of
+importing and displaying of chemx, PDB, and a variety of mopac/ampac files and
+lots of other formats. Molden also can animate reaction paths and molecular
+vibrations. It can calculate and display the true or Multipole Derived
+Electrostatic Potential and atomic charges can be fitted to the Electrostatic
+Potential calculated on a Connolly surface. Molden also features an stand alone
+forcefield program ambfor, which can optimise geometries with the combined Amber
+(protein) and GAFF (small molecules) force fields. Atom typing can be done
+automatically and interactively from within Molden, as well as firing
+optimisation jobs. Molden has a powerful Z-matrix editor which give full control
+over the geometry and allows you to build molecules from scratch, including
+polypeptides.
diff --git a/biology/mopac/Makefile b/biology/mopac/Makefile
deleted file mode 100644
index be4d5d0d4924..000000000000
--- a/biology/mopac/Makefile
+++ /dev/null
@@ -1,44 +0,0 @@
-# Created by: Ryo MIYAMOTO <rmiya@cc.hirosaki-u.ac.jp>
-
-PORTNAME= mopac
-PORTVERSION= 7.${MOPAC_SUBVERSION}
-PORTREVISION= 8
-PORTEPOCH= 1
-CATEGORIES= biology
-MASTER_SITES= http://bioinformatics.org/ghemical/download/%SUBDIR%/
-MASTER_SITE_SUBDIR= release20111012 current
-DISTNAME= mopac7-${MOPAC_SUBVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Semi-empirical (MNDO, etc.) molecular orbital calculation
-
-LICENSE= GPLv2+
-
-USES= fortran gmake libtool pathfix
-GNU_CONFIGURE= yes
-INSTALL_TARGET= install-strip
-USE_LDCONFIG= yes
-
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
-
-PORTEXAMPLES= *
-
-OPTIONS_DEFINE= EXAMPLES
-
-MOPAC_SUBVERSION= 1.15
-
-post-patch:
- @${REINPLACE_CMD} -e '/usage/s|run_||g' \
- -e 's|./src/mopac7|${PREFIX}/libexec/mopac7|g' \
- ${WRKSRC}/run_${PORTNAME}7
-
-post-install:
- ${INSTALL_SCRIPT} ${WRKSRC}/run_${PORTNAME}7 \
- ${STAGEDIR}${PREFIX}/bin/${PORTNAME}7
- ${INSTALL_PROGRAM} ${WRKSRC}/fortran/.libs/${PORTNAME}7 \
- ${STAGEDIR}${PREFIX}/libexec/${PORTNAME}7
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/test
- ${INSTALL_DATA} ${WRKSRC}/tests/*.dat ${STAGEDIR}${EXAMPLESDIR}/test
-
-.include <bsd.port.mk>
diff --git a/biology/mopac/distinfo b/biology/mopac/distinfo
deleted file mode 100644
index c602dce61834..000000000000
--- a/biology/mopac/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (mopac7-1.15.tar.gz) = 6d7ac5d78522db70f7794fd816cea32829cfa9e93774202fe80ba5a54375fbaa
-SIZE (mopac7-1.15.tar.gz) = 764547
diff --git a/biology/mopac/pkg-descr b/biology/mopac/pkg-descr
deleted file mode 100644
index ebe8b3e0d5c5..000000000000
--- a/biology/mopac/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-MOPAC7, semi-empirical (MNDO, AM1, PM3, MINDO/3) quantum-chemical
-calculation written by James J. P. Stewart and co-workers.
-
-WWW: http://bioinformatics.org/ghemical/
diff --git a/biology/mopac/pkg-plist b/biology/mopac/pkg-plist
deleted file mode 100644
index 662c639fbc56..000000000000
--- a/biology/mopac/pkg-plist
+++ /dev/null
@@ -1,8 +0,0 @@
-bin/mopac7
-include/mopac7/libmopac7.h
-lib/libmopac7.a
-lib/libmopac7.so
-lib/libmopac7.so.1
-lib/libmopac7.so.1.0.13
-libdata/pkgconfig/libmopac7.pc
-libexec/mopac7
diff --git a/biology/mothur/Makefile b/biology/mothur/Makefile
index f26f63bd48fe..695bcdc7fefc 100644
--- a/biology/mothur/Makefile
+++ b/biology/mothur/Makefile
@@ -1,10 +1,11 @@
PORTNAME= mothur
DISTVERSIONPREFIX= v
-DISTVERSION= 1.46.1
+DISTVERSION= 1.48.0
CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= Software for bioinformatics of the microbial ecology community
+WWW= https://www.mothur.org/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE.md
@@ -13,6 +14,7 @@ BUILD_DEPENDS= bash:shells/bash
USES= compiler:c++11-lang gmake localbase readline
USE_GITHUB= yes
+#USE_CXXSTD= c++11 # not all C++ files are compiled with -std=c++11 which causes failure in addtargets2.cpp due to a collision of the 'byte' symbol with std::byte
MAKE_ARGS= INSTALL_DIR=${STAGEDIR}${PREFIX}/bin
@@ -22,6 +24,12 @@ BINARY_ALIAS= g++=${CXX}
PLIST_FILES= bin/${PORTNAME}
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 ))
+USES+= llvm:max=15
+.endif
+
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
diff --git a/biology/mothur/distinfo b/biology/mothur/distinfo
index 66ac666fa9a1..075596197498 100644
--- a/biology/mothur/distinfo
+++ b/biology/mothur/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1630572964
-SHA256 (mothur-mothur-v1.46.1_GH0.tar.gz) = 29b500b3c92d726cde34922f697f2e47f0b7127d76d9a6fb167cc2b8ba3d00fd
-SIZE (mothur-mothur-v1.46.1_GH0.tar.gz) = 1637738
+TIMESTAMP = 1652984425
+SHA256 (mothur-mothur-v1.48.0_GH0.tar.gz) = 9494406abd8d14b821782ab9db811f045ded9424f28f01234ee6764d4e78941d
+SIZE (mothur-mothur-v1.48.0_GH0.tar.gz) = 1652711
diff --git a/biology/mothur/pkg-descr b/biology/mothur/pkg-descr
index ab9fc4156df2..3c83103a551f 100644
--- a/biology/mothur/pkg-descr
+++ b/biology/mothur/pkg-descr
@@ -1,4 +1,2 @@
This project seeks to develop a single piece of open-source, expandable software
to fill the bioinformatics needs of the microbial ecology community.
-
-WWW: https://www.mothur.org/
diff --git a/biology/mrbayes/Makefile b/biology/mrbayes/Makefile
index b3faab5813fe..0d5b9c070f20 100644
--- a/biology/mrbayes/Makefile
+++ b/biology/mrbayes/Makefile
@@ -1,5 +1,3 @@
-# Created by: mzaki@biol.s.u-tokyo.ac.jp
-
PORTNAME= mrbayes
DISTVERSIONPREFIX= v
DISTVERSION= 3.2.7
@@ -8,6 +6,7 @@ CATEGORIES= biology
MAINTAINER= mzaki@e-mail.ne.jp
COMMENT= Bayesian inference of phylogeny
+WWW= https://nbisweden.github.io/MrBayes/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/biology/mrbayes/pkg-descr b/biology/mrbayes/pkg-descr
index 4f09989a08b0..c82a3fd9a25f 100644
--- a/biology/mrbayes/pkg-descr
+++ b/biology/mrbayes/pkg-descr
@@ -7,5 +7,3 @@ using Bayes's theorem. The posterior probability distribution of trees is
impossible to calculate analytically; instead, MrBayes uses a simulation
technique called Markov chain Monte Carlo (or MCMC) to approximate the
posterior probabilities of trees.
-
-WWW: http://nbisweden.github.io/MrBayes/
diff --git a/biology/mummer/Makefile b/biology/mummer/Makefile
index caf51c66a7a7..94f25d9b70c4 100644
--- a/biology/mummer/Makefile
+++ b/biology/mummer/Makefile
@@ -1,5 +1,3 @@
-# Created by: Tony Maher
-
PORTNAME= mummer
DISTVERSIONPREFIX= v
DISTVERSION= 4.0.0beta2-2
@@ -9,6 +7,7 @@ CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= Modular system for rapid whole genome alignment
+WWW= https://mummer.sourceforge.net/
LICENSE= ART10
LICENSE_FILE= ${WRKSRC}/LICENSE.md
@@ -22,6 +21,8 @@ USE_GITHUB= yes
GH_ACCOUNT= ${PORTNAME}4
USE_LDCONFIG= yes
+CONFLICTS_INSTALL= ??-libgd libgd
+
SHEBANG_FILES= scripts/*.pl
perl_OLD_CMD= __PERL_PATH
_SHEBANG_REINPLACE_ARGS+= -e "s|__BIN_DIR|${PREFIX}/bin|g;s|__AUX_BIN_DIR|${PREFIX}/libexec/mummer|g;s|__SCRIPT_DIR|${PREFIX}/libexec/mummer|g"
diff --git a/biology/mummer/pkg-descr b/biology/mummer/pkg-descr
index f6e5ccf079fd..5df556ab4af5 100644
--- a/biology/mummer/pkg-descr
+++ b/biology/mummer/pkg-descr
@@ -2,5 +2,3 @@ MUMmer is a modular system for the rapid whole genome alignment of finished
or draft sequence. This package provides an efficient suffix tree library,
seed-and-extend alignment, SNP detection, repeat detection, and
visualization tools.
-
-WWW: http://mummer.sourceforge.net/
diff --git a/biology/muscle/Makefile b/biology/muscle/Makefile
index 41766d51a72c..dd6b31a9a07f 100644
--- a/biology/muscle/Makefile
+++ b/biology/muscle/Makefile
@@ -1,5 +1,3 @@
-# Created by: Motomichi Matsuzaki <mzaki@biol.s.u-tokyo.ac.jp>
-
PORTNAME= muscle
PORTVERSION= 3.8.1551
CATEGORIES= biology
@@ -8,6 +6,7 @@ DISTNAME= ${PORTNAME}_src_${PORTVERSION}
MAINTAINER= mzaki@e-mail.ne.jp
COMMENT= MUltiple Sequence Comparison by Log-Expectation
+WWW= https://www.drive5.com/muscle/
LICENSE= PD
diff --git a/biology/muscle/pkg-descr b/biology/muscle/pkg-descr
index b03741e4d7fc..4b45f6b39c26 100644
--- a/biology/muscle/pkg-descr
+++ b/biology/muscle/pkg-descr
@@ -18,5 +18,3 @@ reduced time and space complexity. BMC Bioinformatics 5(1): 113.
The NAR paper gives only a brief overview of the algorithm and
implementation details. For a full discussion of the method and many of
the non-default options that it offers, please see the BMC paper.
-
-WWW: http://www.drive5.com/muscle/
diff --git a/biology/ncbi-blast+/Makefile b/biology/ncbi-blast+/Makefile
index 0dbc23f38920..5e3ccea79b43 100644
--- a/biology/ncbi-blast+/Makefile
+++ b/biology/ncbi-blast+/Makefile
@@ -1,5 +1,6 @@
PORTNAME= ncbi-blast+
-DISTVERSION= 2.12.0
+DISTVERSION= 2.14.1
+PORTREVISION= 3
CATEGORIES= biology perl5 python
MASTER_SITES= https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ \
https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/${PORTVERSION}/
@@ -7,10 +8,14 @@ DISTNAME= ncbi-blast-${PORTVERSION}+-src
MAINTAINER= jwb@FreeBSD.org
COMMENT= NCBI implementation of Basic Local Alignment Search Tool
+WWW= https://blast.ncbi.nlm.nih.gov
LICENSE= PD
LICENSE_FILE= ${WRKSRC}/scripts/projects/blast/LICENSE
+ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le riscv64
+ONLY_FOR_ARCHS_REASON= Requires 64-bit processor
+
LIB_DEPENDS= libpcre.so:devel/pcre \
liblmdb.so:databases/lmdb \
liblzo2.so:archivers/lzo2 \
@@ -27,11 +32,13 @@ LIB_DEPENDS= libpcre.so:devel/pcre \
libsqlite3.so:databases/sqlite3 \
libuv.so:devel/libuv \
libnghttp2.so:www/libnghttp2 \
- libgrpc.so:devel/grpc
+ libgrpc.so:devel/grpc \
+ libzstd.so:archivers/zstd \
+ libdw.so:devel/elfutils
RUN_DEPENDS= p5-List-MoreUtils>=0:lang/p5-List-MoreUtils \
p5-JSON>=0:converters/p5-JSON
-USES= compiler:c++14-lang gmake localbase:ldflags shebangfix perl5 python:3.6+
+USES= compiler:c++14-lang gmake localbase:ldflags shebangfix perl5 python
USE_LDCONFIG= yes
SHEBANG_FILES= src/app/blast/legacy_blast.pl \
@@ -47,8 +54,14 @@ GNU_CONFIGURE= yes
# a postinstall mv.
CONFIGURE_ARGS= AR="ar cr" --without-boost --libdir=${PREFIX}/lib/ncbi-tools++
+CONFLICTS_INSTALL= ncbi-cxx-toolkit
+
WRKSRC_SUBDIR= c++
+.if !exists(/usr/include/omp.h)
+CONFIGURE_ARGS+= --without-openmp
+.endif
+
.include <bsd.port.pre.mk>
.if ${CHOSEN_COMPILER_TYPE} == gcc
diff --git a/biology/ncbi-blast+/distinfo b/biology/ncbi-blast+/distinfo
index 94e598262859..4af49f2b46ea 100644
--- a/biology/ncbi-blast+/distinfo
+++ b/biology/ncbi-blast+/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1625068343
-SHA256 (ncbi-blast-2.12.0+-src.tar.gz) = fda3c9c9d488cad6c1880a98a236d842bcf3610e3e702af61f7a48cf0a714b88
-SIZE (ncbi-blast-2.12.0+-src.tar.gz) = 58245348
+TIMESTAMP = 1692973880
+SHA256 (ncbi-blast-2.14.1+-src.tar.gz) = 712c2dbdf0fb13cc1c2d4f4ef5dd1ce4b06c3b57e96dfea8f23e6e99f5b1650e
+SIZE (ncbi-blast-2.14.1+-src.tar.gz) = 28258487
diff --git a/biology/ncbi-blast+/files/patch-src_objtools_blast_seqdb__reader_test_seqdb__perf.cpp b/biology/ncbi-blast+/files/patch-src_objtools_blast_seqdb__reader_test_seqdb__perf.cpp
index f15e73c87671..3ea6f61a5619 100644
--- a/biology/ncbi-blast+/files/patch-src_objtools_blast_seqdb__reader_test_seqdb__perf.cpp
+++ b/biology/ncbi-blast+/files/patch-src_objtools_blast_seqdb__reader_test_seqdb__perf.cpp
@@ -1,21 +1,21 @@
---- src/objtools/blast/seqdb_reader/test/seqdb_perf.cpp.orig 2021-01-10 02:28:53 UTC
+--- src/objtools/blast/seqdb_reader/test/seqdb_perf.cpp.orig 2021-10-14 12:36:57 UTC
+++ src/objtools/blast/seqdb_reader/test/seqdb_perf.cpp
-@@ -137,7 +137,8 @@ CSeqDBPerfApp::x_ScanDatabase()
- }
+@@ -138,7 +138,8 @@ CSeqDBPerfApp::x_ScanDatabase()
LOG_POST(Info << "Will go over " << oids2iterate.size() << " sequences");
--#if defined(NCBI_COMPILER_GCC) && (NCBI_COMPILER_VERSION >= 900)
-+#if defined(NCBI_COMPILER_GCC) && (NCBI_COMPILER_VERSION >= 900) || \
+ #if (defined(NCBI_COMPILER_GCC) && (NCBI_COMPILER_VERSION >= 900)) || \
+- (defined(NCBI_COMPILER_ICC) && (NCBI_COMPILER_VERSION >= 2100))
++ (defined(NCBI_COMPILER_ICC) && (NCBI_COMPILER_VERSION >= 2100)) || \
+ defined(NCBI_COMPILER_LLVM_CLANG)
#pragma omp parallel default(none) num_threads(m_DbHandles.size()) \
shared(oids2iterate,kScanUncompressed) if(m_DbHandles.size() > 1)
#else
-@@ -208,7 +209,8 @@ CSeqDBPerfApp::x_InitApplicationData()
-
+@@ -210,7 +211,8 @@ CSeqDBPerfApp::x_InitApplicationData()
if (args["multi_threaded_creation"]) {
--#if defined(NCBI_COMPILER_GCC) && (NCBI_COMPILER_VERSION >= 900)
-+#if defined(NCBI_COMPILER_GCC) && (NCBI_COMPILER_VERSION >= 900) || \
+ #if (defined(NCBI_COMPILER_GCC) && (NCBI_COMPILER_VERSION >= 900)) || \
+- (defined(NCBI_COMPILER_ICC) && (NCBI_COMPILER_VERSION >= 2100))
++ (defined(NCBI_COMPILER_ICC) && (NCBI_COMPILER_VERSION >= 2100)) ||
+ defined(NCBI_COMPILER_LLVM_CLANG)
#pragma omp parallel default(none) shared(kDbName, kNumThreads, kSeqType) num_threads(kNumThreads)
#else
diff --git a/biology/ncbi-blast+/pkg-descr b/biology/ncbi-blast+/pkg-descr
index 19fcc057c3f0..0d7c1d401bef 100644
--- a/biology/ncbi-blast+/pkg-descr
+++ b/biology/ncbi-blast+/pkg-descr
@@ -3,5 +3,3 @@ between sequences. The program compares nucleotide or protein sequences to
sequence databases and calculates the statistical significance of matches.
BLAST can be used to infer functional and evolutionary relationships between
sequences as well as help identify members of gene families.
-
-WWW: http://blast.ncbi.nlm.nih.gov
diff --git a/biology/ncbi-blast+/pkg-plist b/biology/ncbi-blast+/pkg-plist
index db5c2ec247a9..a48efb2375e8 100644
--- a/biology/ncbi-blast+/pkg-plist
+++ b/biology/ncbi-blast+/pkg-plist
@@ -20,6 +20,7 @@ bin/get_species_taxids.sh
bin/legacy_blast.pl
bin/lmdbxx_sample
bin/makeblastdb
+bin/makeclusterdb
bin/makembindex
bin/makeprofiledb
bin/project_tree_builder
@@ -30,7 +31,6 @@ bin/run_with_lock
bin/seedtop
bin/segmasker
bin/seqdb_demo
-bin/seqdb_perf
bin/tblastn
bin/tblastx
bin/update_blastdb.pl
@@ -211,6 +211,12 @@ include/ncbi-tools++/algo/blast/proteinkmer/blastkmerresults.hpp
include/ncbi-tools++/algo/blast/proteinkmer/blastkmerutils.hpp
include/ncbi-tools++/algo/blast/proteinkmer/kblastapi.hpp
include/ncbi-tools++/algo/blast/proteinkmer/mhfile.hpp
+include/ncbi-tools++/algo/blast/vdb/blastn_vdb_args.hpp
+include/ncbi-tools++/algo/blast/vdb/seqsrc_vdb.h
+include/ncbi-tools++/algo/blast/vdb/tblastn_vdb_args.hpp
+include/ncbi-tools++/algo/blast/vdb/vdb2blast_util.hpp
+include/ncbi-tools++/algo/blast/vdb/vdbalias.hpp
+include/ncbi-tools++/algo/blast/vdb/vdbblast_local.hpp
include/ncbi-tools++/algo/dustmask/sdust.tex
include/ncbi-tools++/algo/dustmask/symdust.hpp
include/ncbi-tools++/algo/segmask/segmask.hpp
@@ -257,6 +263,7 @@ include/ncbi-tools++/cgi/cgiapp.hpp
include/ncbi-tools++/cgi/cgiapp_cached.hpp
include/ncbi-tools++/cgi/cgictx.hpp
include/ncbi-tools++/cgi/error_codes.hpp
+include/ncbi-tools++/cgi/fcgiapp_mt.hpp
include/ncbi-tools++/cgi/impl/cgi_entry_reader.hpp
include/ncbi-tools++/cgi/ncbicgi.hpp
include/ncbi-tools++/cgi/ncbicgir.hpp
@@ -277,6 +284,7 @@ include/ncbi-tools++/common/ncbi_package_ver.h
include/ncbi-tools++/common/ncbi_pch_impl.hpp
include/ncbi-tools++/common/ncbi_revision.h
include/ncbi-tools++/common/ncbi_sanitizers.h
+include/ncbi-tools++/common/ncbi_sc_version.h
include/ncbi-tools++/common/ncbi_skew_guard.h
include/ncbi-tools++/common/ncbi_source_ver.cmake_nodep
include/ncbi-tools++/common/ncbi_source_ver.h
@@ -287,6 +295,11 @@ include/ncbi-tools++/common/test_data_path.h
include/ncbi-tools++/connect/connect_export.h
include/ncbi-tools++/connect/email_diag_handler.hpp
include/ncbi-tools++/connect/error_codes.hpp
+include/ncbi-tools++/connect/ext/ncbi_crypt.h
+include/ncbi-tools++/connect/ext/ncbi_dblb.h
+include/ncbi-tools++/connect/ext/ncbi_dblb_svcmapper.hpp
+include/ncbi-tools++/connect/ext/ncbi_ifconf.h
+include/ncbi-tools++/connect/ext/ncbi_localnet.h
include/ncbi-tools++/connect/impl/connect_misc.hpp
include/ncbi-tools++/connect/impl/ncbi_uv_nghttp2.hpp
include/ncbi-tools++/connect/impl/server_connection.hpp
@@ -313,7 +326,6 @@ include/ncbi-tools++/connect/ncbi_http_connector.h
include/ncbi-tools++/connect/ncbi_http_session.hpp
include/ncbi-tools++/connect/ncbi_iprange.h
include/ncbi-tools++/connect/ncbi_ipv6.h
-include/ncbi-tools++/connect/ncbi_lbos.hpp
include/ncbi-tools++/connect/ncbi_localip.h
include/ncbi-tools++/connect/ncbi_localip.hpp
include/ncbi-tools++/connect/ncbi_mbedtls.h
@@ -383,6 +395,7 @@ include/ncbi-tools++/connect/services/srv_connections.hpp
include/ncbi-tools++/connect/services/srv_connections_expt.hpp
include/ncbi-tools++/connect/services/util.hpp
include/ncbi-tools++/connect/threaded_server.hpp
+include/ncbi-tools++/corelib/atomic_util.hpp
include/ncbi-tools++/corelib/blob_storage.hpp
include/ncbi-tools++/corelib/ddumpable.hpp
include/ncbi-tools++/corelib/env_reg.hpp
@@ -416,6 +429,7 @@ include/ncbi-tools++/corelib/mswin_export.h
include/ncbi-tools++/corelib/mswin_no_popup.h
include/ncbi-tools++/corelib/ncbi_autoinit.hpp
include/ncbi-tools++/corelib/ncbi_base64.h
+include/ncbi-tools++/corelib/ncbi_base_build_ver.h
include/ncbi-tools++/corelib/ncbi_bswap.hpp
include/ncbi-tools++/corelib/ncbi_config.hpp
include/ncbi-tools++/corelib/ncbi_cookies.hpp
@@ -549,40 +563,10 @@ include/ncbi-tools++/html/page.hpp
include/ncbi-tools++/html/pager.hpp
include/ncbi-tools++/html/selection.hpp
include/ncbi-tools++/html/writer_htmlenc.hpp
+include/ncbi-tools++/misc/drmaa2.hpp
include/ncbi-tools++/misc/error_codes.hpp
include/ncbi-tools++/misc/jsonwrapp/jsonwrapp.hpp
-include/ncbi-tools++/misc/jsonwrapp/jsonwrapp10.hpp
include/ncbi-tools++/misc/jsonwrapp/jsonwrapp11.hpp
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/__NCBI_read_me.txt
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/allocators.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/document.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/encodedstream.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/encodings.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/error/en.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/error/error.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/filereadstream.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/filewritestream.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/internal/biginteger.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/internal/diyfp.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/internal/dtoa.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/internal/ieee754.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/internal/itoa.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/internal/meta.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/internal/pow10.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/internal/stack.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/internal/strfunc.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/internal/strtod.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/license.txt
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/memorybuffer.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/memorystream.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/msinttypes/inttypes.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/msinttypes/stdint.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/pointer.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/prettywriter.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/rapidjson.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/reader.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/stringbuffer.h
-include/ncbi-tools++/misc/jsonwrapp/rapidjson10/writer.h
include/ncbi-tools++/misc/jsonwrapp/rapidjson11/__NCBI_read_me.txt
include/ncbi-tools++/misc/jsonwrapp/rapidjson11/allocators.h
include/ncbi-tools++/misc/jsonwrapp/rapidjson11/document.h
@@ -605,6 +589,7 @@ include/ncbi-tools++/misc/jsonwrapp/rapidjson11/internal/stack.h
include/ncbi-tools++/misc/jsonwrapp/rapidjson11/internal/strfunc.h
include/ncbi-tools++/misc/jsonwrapp/rapidjson11/internal/strtod.h
include/ncbi-tools++/misc/jsonwrapp/rapidjson11/internal/swap.h
+include/ncbi-tools++/misc/jsonwrapp/rapidjson11/istreamasync.h
include/ncbi-tools++/misc/jsonwrapp/rapidjson11/istreamwrapper.h
include/ncbi-tools++/misc/jsonwrapp/rapidjson11/license.txt
include/ncbi-tools++/misc/jsonwrapp/rapidjson11/memorybuffer.h
@@ -625,13 +610,11 @@ include/ncbi-tools++/ncbi_random_macro.h
include/ncbi-tools++/ncbi_source_ver.h
include/ncbi-tools++/ncbiconf.h
include/ncbi-tools++/ncbiconf_unix.h
-include/ncbi-tools++/objects/access/.cvsignore
include/ncbi-tools++/objects/access/.gitignore
include/ncbi-tools++/objects/access/Link_set.hpp
include/ncbi-tools++/objects/access/Link_set_.hpp
include/ncbi-tools++/objects/access/NCBI_Access_module.hpp
include/ncbi-tools++/objects/access/access__.hpp
-include/ncbi-tools++/objects/biblio/.cvsignore
include/ncbi-tools++/objects/biblio/.gitignore
include/ncbi-tools++/objects/biblio/Affil.hpp
include/ncbi-tools++/objects/biblio/Affil_.hpp
@@ -695,7 +678,6 @@ include/ncbi-tools++/objects/biblio/Title_.hpp
include/ncbi-tools++/objects/biblio/biblio__.hpp
include/ncbi-tools++/objects/biblio/biblio_macros.hpp
include/ncbi-tools++/objects/biblio/citation_base.hpp
-include/ncbi-tools++/objects/biotree/.cvsignore
include/ncbi-tools++/objects/biotree/.gitignore
include/ncbi-tools++/objects/biotree/BioTreeContainer.hpp
include/ncbi-tools++/objects/biotree/BioTreeContainer_.hpp
@@ -715,7 +697,6 @@ include/ncbi-tools++/objects/biotree/NodeSet.hpp
include/ncbi-tools++/objects/biotree/NodeSet_.hpp
include/ncbi-tools++/objects/biotree/Node_.hpp
include/ncbi-tools++/objects/biotree/biotree__.hpp
-include/ncbi-tools++/objects/blast/.cvsignore
include/ncbi-tools++/objects/blast/.gitignore
include/ncbi-tools++/objects/blast/Blas_get_searc_resul_reply.hpp
include/ncbi-tools++/objects/blast/Blas_get_searc_resul_reply_.hpp
@@ -846,10 +827,11 @@ include/ncbi-tools++/objects/blast/blast__.hpp
include/ncbi-tools++/objects/blast/blastclient.hpp
include/ncbi-tools++/objects/blast/blastclient_.hpp
include/ncbi-tools++/objects/blast/names.hpp
-include/ncbi-tools++/objects/blastdb/.cvsignore
include/ncbi-tools++/objects/blastdb/.gitignore
include/ncbi-tools++/objects/blastdb/Blast_db_mask_info.hpp
include/ncbi-tools++/objects/blastdb/Blast_db_mask_info_.hpp
+include/ncbi-tools++/objects/blastdb/Blast_db_metadata.hpp
+include/ncbi-tools++/objects/blastdb/Blast_db_metadata_.hpp
include/ncbi-tools++/objects/blastdb/Blast_def_line.hpp
include/ncbi-tools++/objects/blastdb/Blast_def_line_.hpp
include/ncbi-tools++/objects/blastdb/Blast_def_line_set.hpp
@@ -861,7 +843,6 @@ include/ncbi-tools++/objects/blastdb/Blast_mask_list_.hpp
include/ncbi-tools++/objects/blastdb/NCBI_BlastDL_module.hpp
include/ncbi-tools++/objects/blastdb/blastdb__.hpp
include/ncbi-tools++/objects/blastdb/defline_extra.hpp
-include/ncbi-tools++/objects/blastxml/.cvsignore
include/ncbi-tools++/objects/blastxml/.gitignore
include/ncbi-tools++/objects/blastxml/BlastOutput.hpp
include/ncbi-tools++/objects/blastxml/BlastOutput_.hpp
@@ -877,7 +858,6 @@ include/ncbi-tools++/objects/blastxml/Parameters_.hpp
include/ncbi-tools++/objects/blastxml/Statistics.hpp
include/ncbi-tools++/objects/blastxml/Statistics_.hpp
include/ncbi-tools++/objects/blastxml/blastxml__.hpp
-include/ncbi-tools++/objects/blastxml2/.cvsignore
include/ncbi-tools++/objects/blastxml2/.gitignore
include/ncbi-tools++/objects/blastxml2/BlastOutput2.hpp
include/ncbi-tools++/objects/blastxml2/BlastOutput2_.hpp
@@ -909,7 +889,6 @@ include/ncbi-tools++/objects/blastxml2/Statistics_.hpp
include/ncbi-tools++/objects/blastxml2/Target.hpp
include/ncbi-tools++/objects/blastxml2/Target_.hpp
include/ncbi-tools++/objects/blastxml2/blastxml2__.hpp
-include/ncbi-tools++/objects/cdd/.cvsignore
include/ncbi-tools++/objects/cdd/.gitignore
include/ncbi-tools++/objects/cdd/Algorithm_type.hpp
include/ncbi-tools++/objects/cdd/Algorithm_type_.hpp
@@ -979,7 +958,6 @@ include/ncbi-tools++/objects/cdd/Update_align_.hpp
include/ncbi-tools++/objects/cdd/Update_comment.hpp
include/ncbi-tools++/objects/cdd/Update_comment_.hpp
include/ncbi-tools++/objects/cdd/cdd__.hpp
-include/ncbi-tools++/objects/cn3d/.cvsignore
include/ncbi-tools++/objects/cn3d/.gitignore
include/ncbi-tools++/objects/cn3d/Cn3d_GL_matrix.hpp
include/ncbi-tools++/objects/cn3d/Cn3d_GL_matrix_.hpp
@@ -1023,7 +1001,6 @@ include/ncbi-tools++/objects/cn3d/Cn3d_view_settings.hpp
include/ncbi-tools++/objects/cn3d/Cn3d_view_settings_.hpp
include/ncbi-tools++/objects/cn3d/NCBI_Cn3d_module.hpp
include/ncbi-tools++/objects/cn3d/cn3d__.hpp
-include/ncbi-tools++/objects/coords/.cvsignore
include/ncbi-tools++/objects/coords/.gitignore
include/ncbi-tools++/objects/coords/HGVS_Coordinate.hpp
include/ncbi-tools++/objects/coords/HGVS_Coordinate_.hpp
@@ -1036,7 +1013,6 @@ include/ncbi-tools++/objects/dbsnp/primary_track/dbsnp.pb.h
include/ncbi-tools++/objects/dbsnp/primary_track/dbsnp_mock.grpc.pb.h
include/ncbi-tools++/objects/dbsnp/primary_track/impl/snpptis_impl.hpp
include/ncbi-tools++/objects/dbsnp/primary_track/snpptis.hpp
-include/ncbi-tools++/objects/docsum/.cvsignore
include/ncbi-tools++/objects/docsum/.gitignore
include/ncbi-tools++/objects/docsum/Assay.hpp
include/ncbi-tools++/objects/docsum/Assay_.hpp
@@ -1064,7 +1040,6 @@ include/ncbi-tools++/objects/docsum/Rs_.hpp
include/ncbi-tools++/objects/docsum/Ss.hpp
include/ncbi-tools++/objects/docsum/Ss_.hpp
include/ncbi-tools++/objects/docsum/docsum__.hpp
-include/ncbi-tools++/objects/entrez2/.cvsignore
include/ncbi-tools++/objects/entrez2/.gitignore
include/ncbi-tools++/objects/entrez2/E2Reply.hpp
include/ncbi-tools++/objects/entrez2/E2Reply_.hpp
@@ -1144,7 +1119,6 @@ include/ncbi-tools++/objects/entrez2/NCBI_Entrez2_module.hpp
include/ncbi-tools++/objects/entrez2/entrez2__.hpp
include/ncbi-tools++/objects/entrez2/entrez2_client.hpp
include/ncbi-tools++/objects/entrez2/entrez2_client_.hpp
-include/ncbi-tools++/objects/entrezgene/.cvsignore
include/ncbi-tools++/objects/entrezgene/.gitignore
include/ncbi-tools++/objects/entrezgene/Entrezgene.hpp
include/ncbi-tools++/objects/entrezgene/Entrezgene_.hpp
@@ -1164,7 +1138,6 @@ include/ncbi-tools++/objects/entrezgene/Other_source_.hpp
include/ncbi-tools++/objects/entrezgene/Xtra_Terms.hpp
include/ncbi-tools++/objects/entrezgene/Xtra_Terms_.hpp
include/ncbi-tools++/objects/entrezgene/entrezgene__.hpp
-include/ncbi-tools++/objects/featdef/.cvsignore
include/ncbi-tools++/objects/featdef/.gitignore
include/ncbi-tools++/objects/featdef/FeatDef.hpp
include/ncbi-tools++/objects/featdef/FeatDefGroupSet.hpp
@@ -1180,7 +1153,6 @@ include/ncbi-tools++/objects/featdef/FeatMolType.hpp
include/ncbi-tools++/objects/featdef/FeatMolType_.hpp
include/ncbi-tools++/objects/featdef/NCBI_FeatDef_module.hpp
include/ncbi-tools++/objects/featdef/featdef__.hpp
-include/ncbi-tools++/objects/gbproj/.cvsignore
include/ncbi-tools++/objects/gbproj/.gitignore
include/ncbi-tools++/objects/gbproj/AbstractProjectItem.hpp
include/ncbi-tools++/objects/gbproj/AbstractProjectItem_.hpp
@@ -1212,7 +1184,6 @@ include/ncbi-tools++/objects/gbproj/ViewMemento_.hpp
include/ncbi-tools++/objects/gbproj/gbproj__.hpp
include/ncbi-tools++/objects/gbproj/gbproj_export.h
include/ncbi-tools++/objects/gbproj/igbproject.hpp
-include/ncbi-tools++/objects/gbseq/.cvsignore
include/ncbi-tools++/objects/gbseq/.gitignore
include/ncbi-tools++/objects/gbseq/GBAltSeqData.hpp
include/ncbi-tools++/objects/gbseq/GBAltSeqData_.hpp
@@ -1252,7 +1223,6 @@ include/ncbi-tools++/objects/gbseq/GBXref.hpp
include/ncbi-tools++/objects/gbseq/GBXref_.hpp
include/ncbi-tools++/objects/gbseq/NCBI_GBSeq_module.hpp
include/ncbi-tools++/objects/gbseq/gbseq__.hpp
-include/ncbi-tools++/objects/general/.cvsignore
include/ncbi-tools++/objects/general/.gitignore
include/ncbi-tools++/objects/general/Date.hpp
include/ncbi-tools++/objects/general/Date_.hpp
@@ -1277,7 +1247,6 @@ include/ncbi-tools++/objects/general/general__.hpp
include/ncbi-tools++/objects/general/general_exception.hpp
include/ncbi-tools++/objects/general/general_macros.hpp
include/ncbi-tools++/objects/general/uoconv.hpp
-include/ncbi-tools++/objects/genesbyloc/.cvsignore
include/ncbi-tools++/objects/genesbyloc/.gitignore
include/ncbi-tools++/objects/genesbyloc/GBL_Data.hpp
include/ncbi-tools++/objects/genesbyloc/GBL_Data_.hpp
@@ -1287,7 +1256,6 @@ include/ncbi-tools++/objects/genesbyloc/GBL_Reply.hpp
include/ncbi-tools++/objects/genesbyloc/GBL_Reply_.hpp
include/ncbi-tools++/objects/genesbyloc/NCBI_GenesByLoc_module.hpp
include/ncbi-tools++/objects/genesbyloc/genesbyloc__.hpp
-include/ncbi-tools++/objects/genomecoll/.cvsignore
include/ncbi-tools++/objects/genomecoll/.gitignore
include/ncbi-tools++/objects/genomecoll/GCClientRequest.hpp
include/ncbi-tools++/objects/genomecoll/GCClientRequest_.hpp
@@ -1360,7 +1328,6 @@ include/ncbi-tools++/objects/genomecoll/gencoll_client__.hpp
include/ncbi-tools++/objects/genomecoll/genome_collection__.hpp
include/ncbi-tools++/objects/genomecoll/genomic_collections_cli.hpp
include/ncbi-tools++/objects/genomecoll/genomic_collections_cli_.hpp
-include/ncbi-tools++/objects/homologene/.cvsignore
include/ncbi-tools++/objects/homologene/.gitignore
include/ncbi-tools++/objects/homologene/HG_Alignment.hpp
include/ncbi-tools++/objects/homologene/HG_AlignmentSet.hpp
@@ -1390,7 +1357,6 @@ include/ncbi-tools++/objects/homologene/HG_Stats.hpp
include/ncbi-tools++/objects/homologene/HG_Stats_.hpp
include/ncbi-tools++/objects/homologene/HomoloGene_module.hpp
include/ncbi-tools++/objects/homologene/homologene__.hpp
-include/ncbi-tools++/objects/id1/.cvsignore
include/ncbi-tools++/objects/id1/.gitignore
include/ncbi-tools++/objects/id1/Entry_complexities.hpp
include/ncbi-tools++/objects/id1/Entry_complexities_.hpp
@@ -1412,7 +1378,6 @@ include/ncbi-tools++/objects/id1/NCBI_ID1Access_module.hpp
include/ncbi-tools++/objects/id1/id1__.hpp
include/ncbi-tools++/objects/id1/id1_client.hpp
include/ncbi-tools++/objects/id1/id1_client_.hpp
-include/ncbi-tools++/objects/id2/.cvsignore
include/ncbi-tools++/objects/id2/.gitignore
include/ncbi-tools++/objects/id2/ID2S_Reply_Get_Chunk.hpp
include/ncbi-tools++/objects/id2/ID2S_Reply_Get_Chunk_.hpp
@@ -1474,7 +1439,6 @@ include/ncbi-tools++/objects/id2/id2_client.hpp
include/ncbi-tools++/objects/id2/id2_client_.hpp
include/ncbi-tools++/objects/id2/id2processor.hpp
include/ncbi-tools++/objects/id2/id2processor_interface.hpp
-include/ncbi-tools++/objects/insdseq/.cvsignore
include/ncbi-tools++/objects/insdseq/.gitignore
include/ncbi-tools++/objects/insdseq/INSDAltSeqData.hpp
include/ncbi-tools++/objects/insdseq/INSDAltSeqData_.hpp
@@ -1514,7 +1478,6 @@ include/ncbi-tools++/objects/insdseq/INSDXref.hpp
include/ncbi-tools++/objects/insdseq/INSDXref_.hpp
include/ncbi-tools++/objects/insdseq/INSD_INSDSeq_module.hpp
include/ncbi-tools++/objects/insdseq/insdseq__.hpp
-include/ncbi-tools++/objects/macro/.cvsignore
include/ncbi-tools++/objects/macro/.gitignore
include/ncbi-tools++/objects/macro/AECRParse_action.hpp
include/ncbi-tools++/objects/macro/AECRParse_action_.hpp
@@ -1876,7 +1839,6 @@ include/ncbi-tools++/objects/macro/Word_substitution_set_.hpp
include/ncbi-tools++/objects/macro/Xref_type.hpp
include/ncbi-tools++/objects/macro/Xref_type_.hpp
include/ncbi-tools++/objects/macro/macro__.hpp
-include/ncbi-tools++/objects/medlars/.cvsignore
include/ncbi-tools++/objects/medlars/.gitignore
include/ncbi-tools++/objects/medlars/Medlars_entry.hpp
include/ncbi-tools++/objects/medlars/Medlars_entry_.hpp
@@ -1884,7 +1846,6 @@ include/ncbi-tools++/objects/medlars/Medlars_record.hpp
include/ncbi-tools++/objects/medlars/Medlars_record_.hpp
include/ncbi-tools++/objects/medlars/NCBI_Medlars_module.hpp
include/ncbi-tools++/objects/medlars/medlars__.hpp
-include/ncbi-tools++/objects/medline/.cvsignore
include/ncbi-tools++/objects/medline/.gitignore
include/ncbi-tools++/objects/medline/DocRef.hpp
include/ncbi-tools++/objects/medline/DocRef_.hpp
@@ -1902,7 +1863,6 @@ include/ncbi-tools++/objects/medline/Medline_si.hpp
include/ncbi-tools++/objects/medline/Medline_si_.hpp
include/ncbi-tools++/objects/medline/NCBI_Medline_module.hpp
include/ncbi-tools++/objects/medline/medline__.hpp
-include/ncbi-tools++/objects/mim/.cvsignore
include/ncbi-tools++/objects/mim/.gitignore
include/ncbi-tools++/objects/mim/Mim_allelic_variant.hpp
include/ncbi-tools++/objects/mim/Mim_allelic_variant_.hpp
@@ -1935,7 +1895,6 @@ include/ncbi-tools++/objects/mim/mim__.hpp
include/ncbi-tools++/objects/misc/error_codes.hpp
include/ncbi-tools++/objects/misc/sequence_macros.hpp
include/ncbi-tools++/objects/misc/sequence_util_macros.hpp
-include/ncbi-tools++/objects/mla/.cvsignore
include/ncbi-tools++/objects/mla/.gitignore
include/ncbi-tools++/objects/mla/Error_val.hpp
include/ncbi-tools++/objects/mla/Error_val_.hpp
@@ -1953,7 +1912,6 @@ include/ncbi-tools++/objects/mla/Title_type_.hpp
include/ncbi-tools++/objects/mla/mla__.hpp
include/ncbi-tools++/objects/mla/mla_client.hpp
include/ncbi-tools++/objects/mla/mla_client_.hpp
-include/ncbi-tools++/objects/mmdb1/.cvsignore
include/ncbi-tools++/objects/mmdb1/.gitignore
include/ncbi-tools++/objects/mmdb1/Atom.hpp
include/ncbi-tools++/objects/mmdb1/Atom_.hpp
@@ -2016,7 +1974,6 @@ include/ncbi-tools++/objects/mmdb1/Residue_graph_pntr_.hpp
include/ncbi-tools++/objects/mmdb1/Residue_id.hpp
include/ncbi-tools++/objects/mmdb1/Residue_id_.hpp
include/ncbi-tools++/objects/mmdb1/mmdb1__.hpp
-include/ncbi-tools++/objects/mmdb2/.cvsignore
include/ncbi-tools++/objects/mmdb2/.gitignore
include/ncbi-tools++/objects/mmdb2/Alternate_conformation_id.hpp
include/ncbi-tools++/objects/mmdb2/Alternate_conformation_id_.hpp
@@ -2064,7 +2021,6 @@ include/ncbi-tools++/objects/mmdb2/T_mesh_.hpp
include/ncbi-tools++/objects/mmdb2/Triangles.hpp
include/ncbi-tools++/objects/mmdb2/Triangles_.hpp
include/ncbi-tools++/objects/mmdb2/mmdb2__.hpp
-include/ncbi-tools++/objects/mmdb3/.cvsignore
include/ncbi-tools++/objects/mmdb3/.gitignore
include/ncbi-tools++/objects/mmdb3/Align_stats.hpp
include/ncbi-tools++/objects/mmdb3/Align_stats_.hpp
@@ -2142,7 +2098,6 @@ include/ncbi-tools++/objects/mmdb3/Trans_matrix_.hpp
include/ncbi-tools++/objects/mmdb3/Transform.hpp
include/ncbi-tools++/objects/mmdb3/Transform_.hpp
include/ncbi-tools++/objects/mmdb3/mmdb3__.hpp
-include/ncbi-tools++/objects/ncbimime/.cvsignore
include/ncbi-tools++/objects/ncbimime/.gitignore
include/ncbi-tools++/objects/ncbimime/Biostruc_align.hpp
include/ncbi-tools++/objects/ncbimime/Biostruc_align_.hpp
@@ -2164,7 +2119,6 @@ include/ncbi-tools++/objects/ncbimime/NCBI_Mime_module.hpp
include/ncbi-tools++/objects/ncbimime/Ncbi_mime_asn1.hpp
include/ncbi-tools++/objects/ncbimime/Ncbi_mime_asn1_.hpp
include/ncbi-tools++/objects/ncbimime/ncbimime__.hpp
-include/ncbi-tools++/objects/objprt/.cvsignore
include/ncbi-tools++/objects/objprt/.gitignore
include/ncbi-tools++/objects/objprt/NCBI_ObjPrt_module.hpp
include/ncbi-tools++/objects/objprt/PrintForm.hpp
@@ -2188,7 +2142,6 @@ include/ncbi-tools++/objects/objprt/TemplateName_.hpp
include/ncbi-tools++/objects/objprt/UserFormat.hpp
include/ncbi-tools++/objects/objprt/UserFormat_.hpp
include/ncbi-tools++/objects/objprt/objprt__.hpp
-include/ncbi-tools++/objects/omssa/.cvsignore
include/ncbi-tools++/objects/omssa/.gitignore
include/ncbi-tools++/objects/omssa/MSBioseq.hpp
include/ncbi-tools++/objects/omssa/MSBioseqSet.hpp
@@ -2276,7 +2229,6 @@ include/ncbi-tools++/objects/omssa/NameValue.hpp
include/ncbi-tools++/objects/omssa/NameValue_.hpp
include/ncbi-tools++/objects/omssa/OMSSA_module.hpp
include/ncbi-tools++/objects/omssa/omssa__.hpp
-include/ncbi-tools++/objects/pcassay/.cvsignore
include/ncbi-tools++/objects/pcassay/.gitignore
include/ncbi-tools++/objects/pcassay/NCBI_PCAssay_module.hpp
include/ncbi-tools++/objects/pcassay/PC_AnnotatedXRef.hpp
@@ -2312,7 +2264,35 @@ include/ncbi-tools++/objects/pcassay/PC_RealMinMax_.hpp
include/ncbi-tools++/objects/pcassay/PC_ResultType.hpp
include/ncbi-tools++/objects/pcassay/PC_ResultType_.hpp
include/ncbi-tools++/objects/pcassay/pcassay__.hpp
-include/ncbi-tools++/objects/pcsubstance/.cvsignore
+include/ncbi-tools++/objects/pcassay2/.gitignore
+include/ncbi-tools++/objects/pcassay2/NCBI_PCAssay2_module.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AnnotatedXRef.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AnnotatedXRef_.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssayContainer.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssayContainer_.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssayDRAttr.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssayDRAttr_.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssayData.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssayData_.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssayDescription.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssayDescription_.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssayResults.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssayResults_.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssaySubmit.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssaySubmit_.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssayTargetInfo.hpp
+include/ncbi-tools++/objects/pcassay2/PC_AssayTargetInfo_.hpp
+include/ncbi-tools++/objects/pcassay2/PC_CategorizedComment.hpp
+include/ncbi-tools++/objects/pcassay2/PC_CategorizedComment_.hpp
+include/ncbi-tools++/objects/pcassay2/PC_ConcentrationAttr.hpp
+include/ncbi-tools++/objects/pcassay2/PC_ConcentrationAttr_.hpp
+include/ncbi-tools++/objects/pcassay2/PC_IntegerMinMax.hpp
+include/ncbi-tools++/objects/pcassay2/PC_IntegerMinMax_.hpp
+include/ncbi-tools++/objects/pcassay2/PC_RealMinMax.hpp
+include/ncbi-tools++/objects/pcassay2/PC_RealMinMax_.hpp
+include/ncbi-tools++/objects/pcassay2/PC_ResultType.hpp
+include/ncbi-tools++/objects/pcassay2/PC_ResultType_.hpp
+include/ncbi-tools++/objects/pcassay2/pcassay2__.hpp
include/ncbi-tools++/objects/pcsubstance/.gitignore
include/ncbi-tools++/objects/pcsubstance/NCBI_PCSubstance_module.hpp
include/ncbi-tools++/objects/pcsubstance/PC_AtomInt.hpp
@@ -2331,6 +2311,8 @@ include/ncbi-tools++/objects/pcsubstance/PC_BondType.hpp
include/ncbi-tools++/objects/pcsubstance/PC_BondType_.hpp
include/ncbi-tools++/objects/pcsubstance/PC_Bonds.hpp
include/ncbi-tools++/objects/pcsubstance/PC_Bonds_.hpp
+include/ncbi-tools++/objects/pcsubstance/PC_Bracket.hpp
+include/ncbi-tools++/objects/pcsubstance/PC_Bracket_.hpp
include/ncbi-tools++/objects/pcsubstance/PC_Compound.hpp
include/ncbi-tools++/objects/pcsubstance/PC_CompoundType.hpp
include/ncbi-tools++/objects/pcsubstance/PC_CompoundType_.hpp
@@ -2353,6 +2335,8 @@ include/ncbi-tools++/objects/pcsubstance/PC_DrawAnnotations.hpp
include/ncbi-tools++/objects/pcsubstance/PC_DrawAnnotations_.hpp
include/ncbi-tools++/objects/pcsubstance/PC_Element.hpp
include/ncbi-tools++/objects/pcsubstance/PC_Element_.hpp
+include/ncbi-tools++/objects/pcsubstance/PC_Group.hpp
+include/ncbi-tools++/objects/pcsubstance/PC_Group_.hpp
include/ncbi-tools++/objects/pcsubstance/PC_ID.hpp
include/ncbi-tools++/objects/pcsubstance/PC_ID_.hpp
include/ncbi-tools++/objects/pcsubstance/PC_InfoData.hpp
@@ -2390,7 +2374,6 @@ include/ncbi-tools++/objects/pcsubstance/PC_Urn_.hpp
include/ncbi-tools++/objects/pcsubstance/PC_XRefData.hpp
include/ncbi-tools++/objects/pcsubstance/PC_XRefData_.hpp
include/ncbi-tools++/objects/pcsubstance/pcsubstance__.hpp
-include/ncbi-tools++/objects/proj/.cvsignore
include/ncbi-tools++/objects/proj/.gitignore
include/ncbi-tools++/objects/proj/NCBI_Project_module.hpp
include/ncbi-tools++/objects/proj/Projdesc.hpp
@@ -2404,7 +2387,6 @@ include/ncbi-tools++/objects/proj/Project_id_.hpp
include/ncbi-tools++/objects/proj/Project_item.hpp
include/ncbi-tools++/objects/proj/Project_item_.hpp
include/ncbi-tools++/objects/proj/proj__.hpp
-include/ncbi-tools++/objects/pub/.cvsignore
include/ncbi-tools++/objects/pub/.gitignore
include/ncbi-tools++/objects/pub/NCBI_Pub_module.hpp
include/ncbi-tools++/objects/pub/Pub.hpp
@@ -2415,7 +2397,6 @@ include/ncbi-tools++/objects/pub/Pub_set.hpp
include/ncbi-tools++/objects/pub/Pub_set_.hpp
include/ncbi-tools++/objects/pub/pub__.hpp
include/ncbi-tools++/objects/pub/pub_macros.hpp
-include/ncbi-tools++/objects/pubmed/.cvsignore
include/ncbi-tools++/objects/pubmed/.gitignore
include/ncbi-tools++/objects/pubmed/NCBI_PubMed_module.hpp
include/ncbi-tools++/objects/pubmed/Pubmed_entry.hpp
@@ -2423,7 +2404,6 @@ include/ncbi-tools++/objects/pubmed/Pubmed_entry_.hpp
include/ncbi-tools++/objects/pubmed/Pubmed_url.hpp
include/ncbi-tools++/objects/pubmed/Pubmed_url_.hpp
include/ncbi-tools++/objects/pubmed/pubmed__.hpp
-include/ncbi-tools++/objects/remap/.cvsignore
include/ncbi-tools++/objects/remap/.gitignore
include/ncbi-tools++/objects/remap/NCBI_Remap_module.hpp
include/ncbi-tools++/objects/remap/RMReply.hpp
@@ -2445,7 +2425,6 @@ include/ncbi-tools++/objects/remap/Remap_result_.hpp
include/ncbi-tools++/objects/remap/remap__.hpp
include/ncbi-tools++/objects/remap/remap_client.hpp
include/ncbi-tools++/objects/remap/remap_client_.hpp
-include/ncbi-tools++/objects/scoremat/.cvsignore
include/ncbi-tools++/objects/scoremat/.gitignore
include/ncbi-tools++/objects/scoremat/BlockProperty.hpp
include/ncbi-tools++/objects/scoremat/BlockProperty_.hpp
@@ -2473,7 +2452,6 @@ include/ncbi-tools++/objects/scoremat/Site_annot_.hpp
include/ncbi-tools++/objects/scoremat/Site_annot_set.hpp
include/ncbi-tools++/objects/scoremat/Site_annot_set_.hpp
include/ncbi-tools++/objects/scoremat/scoremat__.hpp
-include/ncbi-tools++/objects/seq/.cvsignore
include/ncbi-tools++/objects/seq/.gitignore
include/ncbi-tools++/objects/seq/Align_def.hpp
include/ncbi-tools++/objects/seq/Align_def_.hpp
@@ -2575,7 +2553,6 @@ include/ncbi-tools++/objects/seq/seqlocinfo.hpp
include/ncbi-tools++/objects/seq/seqport_util.hpp
include/ncbi-tools++/objects/seq/so_map.hpp
include/ncbi-tools++/objects/seq/sofa_type.hpp
-include/ncbi-tools++/objects/seqalign/.cvsignore
include/ncbi-tools++/objects/seqalign/.gitignore
include/ncbi-tools++/objects/seqalign/Dense_diag.hpp
include/ncbi-tools++/objects/seqalign/Dense_diag_.hpp
@@ -2617,7 +2594,6 @@ include/ncbi-tools++/objects/seqalign/Std_seg_.hpp
include/ncbi-tools++/objects/seqalign/seqalign__.hpp
include/ncbi-tools++/objects/seqalign/seqalign_exception.hpp
include/ncbi-tools++/objects/seqalign/seqalign_macros.hpp
-include/ncbi-tools++/objects/seqblock/.cvsignore
include/ncbi-tools++/objects/seqblock/.gitignore
include/ncbi-tools++/objects/seqblock/EMBL_General_module.hpp
include/ncbi-tools++/objects/seqblock/EMBL_block.hpp
@@ -2647,7 +2623,6 @@ include/ncbi-tools++/objects/seqblock/SP_block.hpp
include/ncbi-tools++/objects/seqblock/SP_block_.hpp
include/ncbi-tools++/objects/seqblock/seqblock__.hpp
include/ncbi-tools++/objects/seqblock/seqblock_macros.hpp
-include/ncbi-tools++/objects/seqcode/.cvsignore
include/ncbi-tools++/objects/seqcode/.gitignore
include/ncbi-tools++/objects/seqcode/NCBI_SeqCode_module.hpp
include/ncbi-tools++/objects/seqcode/Seq_code_set.hpp
@@ -2659,7 +2634,6 @@ include/ncbi-tools++/objects/seqcode/Seq_code_type_.hpp
include/ncbi-tools++/objects/seqcode/Seq_map_table.hpp
include/ncbi-tools++/objects/seqcode/Seq_map_table_.hpp
include/ncbi-tools++/objects/seqcode/seqcode__.hpp
-include/ncbi-tools++/objects/seqedit/.cvsignore
include/ncbi-tools++/objects/seqedit/.gitignore
include/ncbi-tools++/objects/seqedit/NCBI_SeqEdit_module.hpp
include/ncbi-tools++/objects/seqedit/SeqEdit_Cmd.hpp
@@ -2709,7 +2683,6 @@ include/ncbi-tools++/objects/seqedit/SeqEdit_Cmd_SetDescr_.hpp
include/ncbi-tools++/objects/seqedit/SeqEdit_Id.hpp
include/ncbi-tools++/objects/seqedit/SeqEdit_Id_.hpp
include/ncbi-tools++/objects/seqedit/seqedit__.hpp
-include/ncbi-tools++/objects/seqfeat/.cvsignore
include/ncbi-tools++/objects/seqfeat/.gitignore
include/ncbi-tools++/objects/seqfeat/BinomialOrgName.hpp
include/ncbi-tools++/objects/seqfeat/BinomialOrgName_.hpp
@@ -2831,7 +2804,6 @@ include/ncbi-tools++/objects/seqfeat/Variation_ref.hpp
include/ncbi-tools++/objects/seqfeat/Variation_ref_.hpp
include/ncbi-tools++/objects/seqfeat/seqfeat__.hpp
include/ncbi-tools++/objects/seqfeat/seqfeat_macros.hpp
-include/ncbi-tools++/objects/seqloc/.cvsignore
include/ncbi-tools++/objects/seqloc/.gitignore
include/ncbi-tools++/objects/seqloc/Giimport_id.hpp
include/ncbi-tools++/objects/seqloc/Giimport_id_.hpp
@@ -2868,7 +2840,6 @@ include/ncbi-tools++/objects/seqloc/Textseq_id.hpp
include/ncbi-tools++/objects/seqloc/Textseq_id_.hpp
include/ncbi-tools++/objects/seqloc/seqloc__.hpp
include/ncbi-tools++/objects/seqloc/seqloc_macros.hpp
-include/ncbi-tools++/objects/seqres/.cvsignore
include/ncbi-tools++/objects/seqres/.gitignore
include/ncbi-tools++/objects/seqres/Byte_graph.hpp
include/ncbi-tools++/objects/seqres/Byte_graph_.hpp
@@ -2880,7 +2851,6 @@ include/ncbi-tools++/objects/seqres/Real_graph_.hpp
include/ncbi-tools++/objects/seqres/Seq_graph.hpp
include/ncbi-tools++/objects/seqres/Seq_graph_.hpp
include/ncbi-tools++/objects/seqres/seqres__.hpp
-include/ncbi-tools++/objects/seqset/.cvsignore
include/ncbi-tools++/objects/seqset/.gitignore
include/ncbi-tools++/objects/seqset/Bioseq_set.hpp
include/ncbi-tools++/objects/seqset/Bioseq_set_.hpp
@@ -2891,7 +2861,6 @@ include/ncbi-tools++/objects/seqset/gb_release_file.hpp
include/ncbi-tools++/objects/seqset/seqset__.hpp
include/ncbi-tools++/objects/seqset/seqset_exception.hpp
include/ncbi-tools++/objects/seqset/seqset_macros.hpp
-include/ncbi-tools++/objects/seqsplit/.cvsignore
include/ncbi-tools++/objects/seqsplit/.gitignore
include/ncbi-tools++/objects/seqsplit/ID2S_Bioseq_Ids.hpp
include/ncbi-tools++/objects/seqsplit/ID2S_Bioseq_Ids_.hpp
@@ -2949,7 +2918,6 @@ include/ncbi-tools++/objects/seqsplit/ID2S_Split_Info.hpp
include/ncbi-tools++/objects/seqsplit/ID2S_Split_Info_.hpp
include/ncbi-tools++/objects/seqsplit/NCBI_Seq_split_module.hpp
include/ncbi-tools++/objects/seqsplit/seqsplit__.hpp
-include/ncbi-tools++/objects/seqtable/.cvsignore
include/ncbi-tools++/objects/seqtable/.gitignore
include/ncbi-tools++/objects/seqtable/BVector_data.hpp
include/ncbi-tools++/objects/seqtable/BVector_data_.hpp
@@ -2977,7 +2945,6 @@ include/ncbi-tools++/objects/seqtable/Seq_table_.hpp
include/ncbi-tools++/objects/seqtable/impl/delta_cache.hpp
include/ncbi-tools++/objects/seqtable/seq_table_exception.hpp
include/ncbi-tools++/objects/seqtable/seqtable__.hpp
-include/ncbi-tools++/objects/seqtest/.cvsignore
include/ncbi-tools++/objects/seqtest/.gitignore
include/ncbi-tools++/objects/seqtest/NCBI_SeqTest_module.hpp
include/ncbi-tools++/objects/seqtest/SeqTestResults.hpp
@@ -2987,7 +2954,6 @@ include/ncbi-tools++/objects/seqtest/Seq_test_result_.hpp
include/ncbi-tools++/objects/seqtest/Seq_test_result_set.hpp
include/ncbi-tools++/objects/seqtest/Seq_test_result_set_.hpp
include/ncbi-tools++/objects/seqtest/seqtest__.hpp
-include/ncbi-tools++/objects/submit/.cvsignore
include/ncbi-tools++/objects/submit/.gitignore
include/ncbi-tools++/objects/submit/Contact_info.hpp
include/ncbi-tools++/objects/submit/Contact_info_.hpp
@@ -2998,7 +2964,6 @@ include/ncbi-tools++/objects/submit/Submit_block.hpp
include/ncbi-tools++/objects/submit/Submit_block_.hpp
include/ncbi-tools++/objects/submit/submit__.hpp
include/ncbi-tools++/objects/submit/submit_macros.hpp
-include/ncbi-tools++/objects/taxon1/.cvsignore
include/ncbi-tools++/objects/taxon1/.gitignore
include/ncbi-tools++/objects/taxon1/NCBI_Taxon1_module.hpp
include/ncbi-tools++/objects/taxon1/Taxon1_data.hpp
@@ -3018,7 +2983,6 @@ include/ncbi-tools++/objects/taxon1/Taxon2_data_.hpp
include/ncbi-tools++/objects/taxon1/local_taxon.hpp
include/ncbi-tools++/objects/taxon1/taxon1.hpp
include/ncbi-tools++/objects/taxon1/taxon1__.hpp
-include/ncbi-tools++/objects/taxon3/.cvsignore
include/ncbi-tools++/objects/taxon3/.gitignore
include/ncbi-tools++/objects/taxon3/NCBI_Taxon3_module.hpp
include/ncbi-tools++/objects/taxon3/SequenceOfInt.hpp
@@ -3043,7 +3007,6 @@ include/ncbi-tools++/objects/taxon3/cached_taxon3.hpp
include/ncbi-tools++/objects/taxon3/itaxon3.hpp
include/ncbi-tools++/objects/taxon3/taxon3.hpp
include/ncbi-tools++/objects/taxon3/taxon3__.hpp
-include/ncbi-tools++/objects/tinyseq/.cvsignore
include/ncbi-tools++/objects/tinyseq/.gitignore
include/ncbi-tools++/objects/tinyseq/NCBI_TSeq_module.hpp
include/ncbi-tools++/objects/tinyseq/TSeq.hpp
@@ -3051,7 +3014,6 @@ include/ncbi-tools++/objects/tinyseq/TSeqSet.hpp
include/ncbi-tools++/objects/tinyseq/TSeqSet_.hpp
include/ncbi-tools++/objects/tinyseq/TSeq_.hpp
include/ncbi-tools++/objects/tinyseq/tinyseq__.hpp
-include/ncbi-tools++/objects/trackmgr/.cvsignore
include/ncbi-tools++/objects/trackmgr/.gitignore
include/ncbi-tools++/objects/trackmgr/NCBI_TrackManager_module.hpp
include/ncbi-tools++/objects/trackmgr/TMgr_ACL_AccessLevel.hpp
@@ -3211,7 +3173,6 @@ include/ncbi-tools++/objects/trackmgr/trackmgr_client.hpp
include/ncbi-tools++/objects/trackmgr/trackmgr_client_.hpp
include/ncbi-tools++/objects/trackmgr/trackmgr_export.h
include/ncbi-tools++/objects/trackmgr/trackset_client.hpp
-include/ncbi-tools++/objects/valerr/.cvsignore
include/ncbi-tools++/objects/valerr/.gitignore
include/ncbi-tools++/objects/valerr/NCBI_ValErrors_module.hpp
include/ncbi-tools++/objects/valerr/ValidErrItem.hpp
@@ -3219,7 +3180,6 @@ include/ncbi-tools++/objects/valerr/ValidErrItem_.hpp
include/ncbi-tools++/objects/valerr/ValidError.hpp
include/ncbi-tools++/objects/valerr/ValidError_.hpp
include/ncbi-tools++/objects/valerr/valerr__.hpp
-include/ncbi-tools++/objects/valid/.cvsignore
include/ncbi-tools++/objects/valid/.gitignore
include/ncbi-tools++/objects/valid/Comment_rule.hpp
include/ncbi-tools++/objects/valid/Comment_rule_.hpp
@@ -3239,7 +3199,6 @@ include/ncbi-tools++/objects/valid/Phrase_list_.hpp
include/ncbi-tools++/objects/valid/Severity_level.hpp
include/ncbi-tools++/objects/valid/Severity_level_.hpp
include/ncbi-tools++/objects/valid/valid__.hpp
-include/ncbi-tools++/objects/variation/.cvsignore
include/ncbi-tools++/objects/variation/.gitignore
include/ncbi-tools++/objects/variation/NCBI_VariationPackage_module.hpp
include/ncbi-tools++/objects/variation/VariantPlacement.hpp
@@ -3251,7 +3210,6 @@ include/ncbi-tools++/objects/variation/VariationMethod.hpp
include/ncbi-tools++/objects/variation/VariationMethod_.hpp
include/ncbi-tools++/objects/variation/Variation_.hpp
include/ncbi-tools++/objects/variation/variation__.hpp
-include/ncbi-tools++/objects/variation_libs/dbsnp/search_by_rsid/.cvsignore
include/ncbi-tools++/objects/variation_libs/dbsnp/search_by_rsid/.gitignore
include/ncbi-tools++/objects/variation_libs/dbsnp/search_by_rsid/Error.hpp
include/ncbi-tools++/objects/variation_libs/dbsnp/search_by_rsid/Error_.hpp
@@ -3261,7 +3219,6 @@ include/ncbi-tools++/objects/variation_libs/dbsnp/search_by_rsid/Placement_.hpp
include/ncbi-tools++/objects/variation_libs/dbsnp/search_by_rsid/SearchByRsIdReply.hpp
include/ncbi-tools++/objects/variation_libs/dbsnp/search_by_rsid/SearchByRsIdReply_.hpp
include/ncbi-tools++/objects/variation_libs/dbsnp/search_by_rsid/search_by_rsid__.hpp
-include/ncbi-tools++/objects/variation_libs/dbsnp/tooltip_service/.cvsignore
include/ncbi-tools++/objects/variation_libs/dbsnp/tooltip_service/.gitignore
include/ncbi-tools++/objects/variation_libs/dbsnp/tooltip_service/DbsnpTooltipData.hpp
include/ncbi-tools++/objects/variation_libs/dbsnp/tooltip_service/DbsnpTooltipData_.hpp
@@ -3275,7 +3232,6 @@ include/ncbi-tools++/objects/variation_libs/dbsnp/tooltip_service/DbsnpTooltipSe
include/ncbi-tools++/objects/variation_libs/dbsnp/tooltip_service/DbsnpTooltipServiceReply_.hpp
include/ncbi-tools++/objects/variation_libs/dbsnp/tooltip_service/NCBI_dbsnp_tooltips_module.hpp
include/ncbi-tools++/objects/variation_libs/dbsnp/tooltip_service/dbsnp_tooltip_service__.hpp
-include/ncbi-tools++/objects/varrep/.cvsignore
include/ncbi-tools++/objects/varrep/.gitignore
include/ncbi-tools++/objects/varrep/AaInterval.hpp
include/ncbi-tools++/objects/varrep/AaInterval_.hpp
@@ -3552,13 +3508,13 @@ include/ncbi-tools++/objtools/blast/seqdb_writer/writedb_general.hpp
include/ncbi-tools++/objtools/blast/seqdb_writer/writedb_isam.hpp
include/ncbi-tools++/objtools/blast/seqdb_writer/writedb_lmdb.hpp
include/ncbi-tools++/objtools/blast/services/blast_services.hpp
-include/ncbi-tools++/objtools/cleanup/autogenerated_cleanup.hpp
include/ncbi-tools++/objtools/cleanup/capitalization_string.hpp
include/ncbi-tools++/objtools/cleanup/cleanup.hpp
include/ncbi-tools++/objtools/cleanup/cleanup_change.hpp
include/ncbi-tools++/objtools/cleanup/cleanup_message.hpp
include/ncbi-tools++/objtools/cleanup/cleanup_pub.hpp
include/ncbi-tools++/objtools/cleanup/fix_feature_id.hpp
+include/ncbi-tools++/objtools/cleanup/huge_file_cleanup.hpp
include/ncbi-tools++/objtools/data_loaders/blastdb/bdbloader.hpp
include/ncbi-tools++/objtools/data_loaders/blastdb/bdbloader_rmt.hpp
include/ncbi-tools++/objtools/data_loaders/blastdb/blastdb_adapter.hpp
@@ -3622,6 +3578,7 @@ include/ncbi-tools++/objtools/edit/cds_fix.hpp
include/ncbi-tools++/objtools/edit/dblink_field.hpp
include/ncbi-tools++/objtools/edit/edit_error.hpp
include/ncbi-tools++/objtools/edit/edit_exception.hpp
+include/ncbi-tools++/objtools/edit/eutils_updater.hpp
include/ncbi-tools++/objtools/edit/external_annots.hpp
include/ncbi-tools++/objtools/edit/feattable_edit.hpp
include/ncbi-tools++/objtools/edit/feature_propagate.hpp
@@ -3630,6 +3587,11 @@ include/ncbi-tools++/objtools/edit/gap_trim.hpp
include/ncbi-tools++/objtools/edit/gaps_edit.hpp
include/ncbi-tools++/objtools/edit/gb_block_field.hpp
include/ncbi-tools++/objtools/edit/gene_utils.hpp
+include/ncbi-tools++/objtools/edit/huge_asn_loader.hpp
+include/ncbi-tools++/objtools/edit/huge_asn_macro_reader.hpp
+include/ncbi-tools++/objtools/edit/huge_asn_reader.hpp
+include/ncbi-tools++/objtools/edit/huge_file.hpp
+include/ncbi-tools++/objtools/edit/huge_file_process.hpp
include/ncbi-tools++/objtools/edit/link_cds_mrna.hpp
include/ncbi-tools++/objtools/edit/loc_edit.hpp
include/ncbi-tools++/objtools/edit/mail_report.hpp
@@ -3637,6 +3599,7 @@ include/ncbi-tools++/objtools/edit/parse_text_options.hpp
include/ncbi-tools++/objtools/edit/promote.hpp
include/ncbi-tools++/objtools/edit/pub_fix.hpp
include/ncbi-tools++/objtools/edit/publication_edit.hpp
+include/ncbi-tools++/objtools/edit/pubmed_updater.hpp
include/ncbi-tools++/objtools/edit/remote_updater.hpp
include/ncbi-tools++/objtools/edit/rna_edit.hpp
include/ncbi-tools++/objtools/edit/seq_edit.hpp
@@ -3658,7 +3621,705 @@ include/ncbi-tools++/objtools/eutils/api/esearch.hpp
include/ncbi-tools++/objtools/eutils/api/espell.hpp
include/ncbi-tools++/objtools/eutils/api/esummary.hpp
include/ncbi-tools++/objtools/eutils/api/eutils.hpp
-include/ncbi-tools++/objtools/eutils/egquery/.cvsignore
+include/ncbi-tools++/objtools/eutils/efetch/.gitignore
+include/ncbi-tools++/objtools/eutils/efetch/Abs.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Abs_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Abstract.hpp
+include/ncbi-tools++/objtools/eutils/efetch/AbstractText.hpp
+include/ncbi-tools++/objtools/eutils/efetch/AbstractText_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Abstract_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/AccessionNumber.hpp
+include/ncbi-tools++/objtools/eutils/efetch/AccessionNumberList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/AccessionNumberList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/AccessionNumber_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Acronym.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Acronym_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Affiliation.hpp
+include/ncbi-tools++/objtools/eutils/efetch/AffiliationInfo.hpp
+include/ncbi-tools++/objtools/eutils/efetch/AffiliationInfo_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Affiliation_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Agency.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Agency_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/And.hpp
+include/ncbi-tools++/objtools/eutils/efetch/And_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Annotation.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Annotation_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Annotation_xml.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Annotation_xml_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Apply.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Apply_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Apply_content.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Apply_content_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Approx.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Approx_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arccos.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arccos_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arccosh.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arccosh_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arccot.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arccot_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arccoth.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arccoth_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arccsc.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arccsc_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arccsch.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arccsch_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arcsec.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arcsec_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arcsech.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arcsech_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arcsin.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arcsin_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arcsinh.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arcsinh_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arctan.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arctan_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arctanh.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arctanh_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arg.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Arg_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Article.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ArticleDate.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ArticleDate_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ArticleId.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ArticleIdList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ArticleIdList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ArticleId_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ArticleTitle.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ArticleTitle_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Article_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Author.hpp
+include/ncbi-tools++/objtools/eutils/efetch/AuthorList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/AuthorList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Author_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/B.hpp
+include/ncbi-tools++/objtools/eutils/efetch/B_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/BeginningDate.hpp
+include/ncbi-tools++/objtools/eutils/efetch/BeginningDate_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Bind.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Bind_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Bind_content.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Bind_content_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Book.hpp
+include/ncbi-tools++/objtools/eutils/efetch/BookDocument.hpp
+include/ncbi-tools++/objtools/eutils/efetch/BookDocumentSet.hpp
+include/ncbi-tools++/objtools/eutils/efetch/BookDocumentSet_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/BookDocument_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/BookTitle.hpp
+include/ncbi-tools++/objtools/eutils/efetch/BookTitle_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Book_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Bvar.hpp
+include/ncbi-tools++/objtools/eutils/efetch/BvarQ.hpp
+include/ncbi-tools++/objtools/eutils/efetch/BvarQ_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Bvar_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Card.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Card_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cartesianproduct.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cartesianproduct_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cbytes.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cbytes_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Ceiling.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Ceiling_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cerror.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cerror_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Chemical.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ChemicalList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ChemicalList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Chemical_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Ci.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Ci_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Ci_content.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Ci_content_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Citation.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CitationSubset.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CitationSubset_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Citation_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cn.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cn_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cn_content.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cn_content_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Codomain.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Codomain_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CoiStatement.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CoiStatement_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CollectionTitle.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CollectionTitle_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CollectiveName.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CollectiveName_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CommentsCorrections.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CommentsCorrectionsList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CommentsCorrectionsList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CommentsCorrections_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Complexes.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Complexes_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Compose.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Compose_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Condition.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Condition_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Conjugate.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Conjugate_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ContExp.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ContExp_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ContractNumber.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ContractNumber_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ContributionDate.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ContributionDate_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CopyrightInformation.hpp
+include/ncbi-tools++/objtools/eutils/efetch/CopyrightInformation_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cos.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cos_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cosh.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cosh_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cot.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cot_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Coth.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Coth_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Country.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Country_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cs.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Cs_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Csc.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Csc_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Csch.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Csch_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Csymbol.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Csymbol_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Csymbol_content.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Csymbol_content_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Curl.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Curl_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DataBank.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DataBankList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DataBankList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DataBankName.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DataBankName_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DataBank_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DateCompleted.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DateCompleted_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DateRevised.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DateRevised_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Day.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Day_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Declare.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Declare_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Degree.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Degree_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DeleteCitation.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DeleteCitation_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DeleteDocument.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DeleteDocument_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DescriptorName.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DescriptorName_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Determinant.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Determinant_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Diff.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Diff_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DispFormula.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DispFormula_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Divergence.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Divergence_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Divide.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Divide_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Domain.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DomainQ.hpp
+include/ncbi-tools++/objtools/eutils/efetch/DomainQ_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Domain_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Domainofapplication.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Domainofapplication_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ELocationID.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ELocationID_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Edition.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Edition_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Emptyset.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Emptyset_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/EndPage.hpp
+include/ncbi-tools++/objtools/eutils/efetch/EndPage_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/EndingDate.hpp
+include/ncbi-tools++/objtools/eutils/efetch/EndingDate_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Eq.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Eq_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Equivalent.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Equivalent_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Eulergamma.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Eulergamma_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Exists.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Exists_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Exp.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Exp_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Exponentiale.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Exponentiale_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Factorial.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Factorial_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Factorof.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Factorof_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/False.hpp
+include/ncbi-tools++/objtools/eutils/efetch/False_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Floor.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Floor_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Fn.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Fn_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Forall.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Forall_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ForeName.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ForeName_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Gcd.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Gcd_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/GeneSymbol.hpp
+include/ncbi-tools++/objtools/eutils/efetch/GeneSymbolList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/GeneSymbolList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/GeneSymbol_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/GeneralNote.hpp
+include/ncbi-tools++/objtools/eutils/efetch/GeneralNote_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Geq.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Geq_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Grad.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Grad_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Grant.hpp
+include/ncbi-tools++/objtools/eutils/efetch/GrantID.hpp
+include/ncbi-tools++/objtools/eutils/efetch/GrantID_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/GrantList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/GrantList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Grant_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Gt.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Gt_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/History.hpp
+include/ncbi-tools++/objtools/eutils/efetch/History_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Hour.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Hour_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/I.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ISOAbbreviation.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ISOAbbreviation_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ISSN.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ISSNLinking.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ISSNLinking_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ISSN_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/I_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Ident.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Ident_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Identifier.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Identifier_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Image.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Image_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Imaginary.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Imaginary_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Imaginaryi.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Imaginaryi_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ImpliedMrow.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ImpliedMrow_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Implies.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Implies_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/In.hpp
+include/ncbi-tools++/objtools/eutils/efetch/In_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Infinity.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Infinity_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Initials.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Initials_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Int.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Int_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Integers.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Integers_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Intersect.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Intersect_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Interval.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Interval_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Inverse.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Inverse_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Investigator.hpp
+include/ncbi-tools++/objtools/eutils/efetch/InvestigatorList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/InvestigatorList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Investigator_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Isbn.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Isbn_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Issue.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Issue_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Item.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ItemList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ItemList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Item_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Journal.hpp
+include/ncbi-tools++/objtools/eutils/efetch/JournalIssue.hpp
+include/ncbi-tools++/objtools/eutils/efetch/JournalIssue_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Journal_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Keyword.hpp
+include/ncbi-tools++/objtools/eutils/efetch/KeywordList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/KeywordList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Keyword_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Lambda.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Lambda_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Language.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Language_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Laplacian.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Laplacian_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/LastName.hpp
+include/ncbi-tools++/objtools/eutils/efetch/LastName_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Lcm.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Lcm_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Leq.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Leq_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Limit.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Limit_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/List.hpp
+include/ncbi-tools++/objtools/eutils/efetch/List_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Ln.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Ln_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/LocationLabel.hpp
+include/ncbi-tools++/objtools/eutils/efetch/LocationLabel_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Log.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Log_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Logbase.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Logbase_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Lowlimit.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Lowlimit_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Lt.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Lt_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Maction.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Maction_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Maligngroup.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Maligngroup_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Malignmark.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Malignmark_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Math.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MathExpression.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MathExpression_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Math_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Matrix.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Matrix_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Matrixrow.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Matrixrow_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Max.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Max_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mean.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mean_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Median.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Median_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Medium.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Medium_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MedlineCitation.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MedlineCitation_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MedlineDate.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MedlineDate_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MedlineJournalInfo.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MedlineJournalInfo_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MedlinePgn.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MedlinePgn_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MedlineTA.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MedlineTA_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Menclose.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Menclose_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Merror.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Merror_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MeshHeading.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MeshHeadingList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MeshHeadingList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MeshHeading_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mfenced.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mfenced_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mfrac.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mfrac_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mglyph.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mglyph_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mi.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mi_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Min.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Min_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Minus.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Minus_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Minute.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Minute_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mlabeledtr.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mlabeledtr_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mlongdiv.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mlongdiv_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mmultiscripts.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mmultiscripts_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mn.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mn_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mo.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mo_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mode.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mode_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Moment.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Moment_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Momentabout.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Momentabout_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Month.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Month_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mover.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mover_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mpadded.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mpadded_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mphantom.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mphantom_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mprescripts.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mprescripts_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mroot.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mroot_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mrow.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mrow_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Ms.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Ms_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mscarries.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mscarries_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mscarry.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mscarry_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msgroup.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msgroup_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msline.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msline_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mspace.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mspace_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msqrt.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msqrt_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msrow.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MsrowExpression.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MsrowExpression_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msrow_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mstack.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MstackExpression.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MstackExpression_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mstack_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mstyle.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mstyle_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msub.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msub_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msubsup.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msubsup_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msup.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Msup_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mtable.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mtable_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mtd.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mtd_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mtext.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mtext_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mtr.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Mtr_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MultiScriptExpression.hpp
+include/ncbi-tools++/objtools/eutils/efetch/MultiScriptExpression_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Munder.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Munder_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Munderover.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Munderover_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/NameOfSubstance.hpp
+include/ncbi-tools++/objtools/eutils/efetch/NameOfSubstance_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Naturalnumbers.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Naturalnumbers_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Neq.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Neq_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/NlmUniqueID.hpp
+include/ncbi-tools++/objtools/eutils/efetch/NlmUniqueID_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/None.hpp
+include/ncbi-tools++/objtools/eutils/efetch/None_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Not.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Not_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Notanumber.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Notanumber_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Note.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Note_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Notin.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Notin_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Notprsubset.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Notprsubset_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Notsubset.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Notsubset_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/NumberOfReferences.hpp
+include/ncbi-tools++/objtools/eutils/efetch/NumberOfReferences_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Object.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ObjectList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ObjectList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Object_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Or.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Or_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/OtherAbstract.hpp
+include/ncbi-tools++/objtools/eutils/efetch/OtherAbstract_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/OtherID.hpp
+include/ncbi-tools++/objtools/eutils/efetch/OtherID_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Otherwise.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Otherwise_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Outerproduct.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Outerproduct_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PMID.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PMID_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Pagination.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Pagination_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Param.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Param_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Partialdiff.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Partialdiff_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PersonalNameSubject.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PersonalNameSubjectList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PersonalNameSubjectList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PersonalNameSubject_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Pi.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Pi_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Piece.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Piece_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Piecewise.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Piecewise_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Plus.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Plus_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Power.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Power_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Primes.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Primes_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Product.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Product_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Prsubset.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Prsubset_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubDate.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubDate_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubMedPubDate.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubMedPubDate_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PublicationStatus.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PublicationStatus_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PublicationType.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PublicationTypeList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PublicationTypeList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PublicationType_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Publisher.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PublisherLocation.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PublisherLocation_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PublisherName.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PublisherName_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Publisher_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubmedArticle.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubmedArticleSet.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubmedArticleSet_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubmedArticle_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubmedBookArticle.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubmedBookArticleSet.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubmedBookArticleSet_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubmedBookArticle_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubmedBookData.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubmedBookData_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubmedData.hpp
+include/ncbi-tools++/objtools/eutils/efetch/PubmedData_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/QualifierName.hpp
+include/ncbi-tools++/objtools/eutils/efetch/QualifierName_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Quotient.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Quotient_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Rationals.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Rationals_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Real.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Real_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Reals.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Reals_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/RefSource.hpp
+include/ncbi-tools++/objtools/eutils/efetch/RefSource_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Reference.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ReferenceList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ReferenceList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Reference_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/RegistryNumber.hpp
+include/ncbi-tools++/objtools/eutils/efetch/RegistryNumber_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Reln.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Reln_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Rem.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Rem_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ReportNumber.hpp
+include/ncbi-tools++/objtools/eutils/efetch/ReportNumber_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Root.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Root_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Scalarproduct.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Scalarproduct_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sdev.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sdev_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Season.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Season_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sec.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sec_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sech.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sech_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Second.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Second_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Section.hpp
+include/ncbi-tools++/objtools/eutils/efetch/SectionTitle.hpp
+include/ncbi-tools++/objtools/eutils/efetch/SectionTitle_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Section_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sections.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sections_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Selector.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Selector_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Semantics.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Semantics_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sep.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sep_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Set.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Set_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Setdiff.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Setdiff_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Share.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Share_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sin.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sin_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sinh.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sinh_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/SpaceFlightMission.hpp
+include/ncbi-tools++/objtools/eutils/efetch/SpaceFlightMission_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/StartPage.hpp
+include/ncbi-tools++/objtools/eutils/efetch/StartPage_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sub.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sub_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Subset.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Subset_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Suffix.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Suffix_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sum.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sum_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sup.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Sup_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/SupplMeshList.hpp
+include/ncbi-tools++/objtools/eutils/efetch/SupplMeshList_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/SupplMeshName.hpp
+include/ncbi-tools++/objtools/eutils/efetch/SupplMeshName_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/TableCellExpression.hpp
+include/ncbi-tools++/objtools/eutils/efetch/TableCellExpression_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/TableRowExpression.hpp
+include/ncbi-tools++/objtools/eutils/efetch/TableRowExpression_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Tan.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Tan_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Tanh.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Tanh_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Tendsto.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Tendsto_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Text.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Text_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Times.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Times_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Title.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Title_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Token_content.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Token_content_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Transpose.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Transpose_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/True.hpp
+include/ncbi-tools++/objtools/eutils/efetch/True_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/U.hpp
+include/ncbi-tools++/objtools/eutils/efetch/URL.hpp
+include/ncbi-tools++/objtools/eutils/efetch/URL_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/U_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Union.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Union_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Uplimit.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Uplimit_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Variance.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Variance_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Vector.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Vector_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Vectorproduct.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Vectorproduct_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/VernacularTitle.hpp
+include/ncbi-tools++/objtools/eutils/efetch/VernacularTitle_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Volume.hpp
+include/ncbi-tools++/objtools/eutils/efetch/VolumeTitle.hpp
+include/ncbi-tools++/objtools/eutils/efetch/VolumeTitle_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Volume_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Xor.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Xor_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Year.hpp
+include/ncbi-tools++/objtools/eutils/efetch/Year_.hpp
+include/ncbi-tools++/objtools/eutils/efetch/efetch__.hpp
+include/ncbi-tools++/objtools/eutils/efetch/efetch_module.hpp
include/ncbi-tools++/objtools/eutils/egquery/.gitignore
include/ncbi-tools++/objtools/eutils/egquery/EGQueryResult.hpp
include/ncbi-tools++/objtools/eutils/egquery/EGQueryResult_.hpp
@@ -3668,7 +4329,6 @@ include/ncbi-tools++/objtools/eutils/egquery/ResultItem_.hpp
include/ncbi-tools++/objtools/eutils/egquery/Result_.hpp
include/ncbi-tools++/objtools/eutils/egquery/egquery__.hpp
include/ncbi-tools++/objtools/eutils/egquery/egquery_module.hpp
-include/ncbi-tools++/objtools/eutils/ehistory/.cvsignore
include/ncbi-tools++/objtools/eutils/ehistory/.gitignore
include/ncbi-tools++/objtools/eutils/ehistory/EHistoryItem.hpp
include/ncbi-tools++/objtools/eutils/ehistory/EHistoryItem_.hpp
@@ -3676,7 +4336,6 @@ include/ncbi-tools++/objtools/eutils/ehistory/EHistoryResult.hpp
include/ncbi-tools++/objtools/eutils/ehistory/EHistoryResult_.hpp
include/ncbi-tools++/objtools/eutils/ehistory/ehistory__.hpp
include/ncbi-tools++/objtools/eutils/ehistory/ehistory_module.hpp
-include/ncbi-tools++/objtools/eutils/einfo/.cvsignore
include/ncbi-tools++/objtools/eutils/einfo/.gitignore
include/ncbi-tools++/objtools/eutils/einfo/DbInfo.hpp
include/ncbi-tools++/objtools/eutils/einfo/DbInfo_.hpp
@@ -3694,7 +4353,6 @@ include/ncbi-tools++/objtools/eutils/einfo/LinkList_.hpp
include/ncbi-tools++/objtools/eutils/einfo/Link_.hpp
include/ncbi-tools++/objtools/eutils/einfo/einfo__.hpp
include/ncbi-tools++/objtools/eutils/einfo/einfo_module.hpp
-include/ncbi-tools++/objtools/eutils/elink/.cvsignore
include/ncbi-tools++/objtools/eutils/elink/.gitignore
include/ncbi-tools++/objtools/eutils/elink/ELinkResult.hpp
include/ncbi-tools++/objtools/eutils/elink/ELinkResult_.hpp
@@ -3732,7 +4390,6 @@ include/ncbi-tools++/objtools/eutils/elink/Url.hpp
include/ncbi-tools++/objtools/eutils/elink/Url_.hpp
include/ncbi-tools++/objtools/eutils/elink/elink__.hpp
include/ncbi-tools++/objtools/eutils/elink/elink_module.hpp
-include/ncbi-tools++/objtools/eutils/epost/.cvsignore
include/ncbi-tools++/objtools/eutils/epost/.gitignore
include/ncbi-tools++/objtools/eutils/epost/EPostResult.hpp
include/ncbi-tools++/objtools/eutils/epost/EPostResult_.hpp
@@ -3740,7 +4397,6 @@ include/ncbi-tools++/objtools/eutils/epost/InvalidIdList.hpp
include/ncbi-tools++/objtools/eutils/epost/InvalidIdList_.hpp
include/ncbi-tools++/objtools/eutils/epost/epost__.hpp
include/ncbi-tools++/objtools/eutils/epost/epost_module.hpp
-include/ncbi-tools++/objtools/eutils/esearch/.cvsignore
include/ncbi-tools++/objtools/eutils/esearch/.gitignore
include/ncbi-tools++/objtools/eutils/esearch/ESearchResult.hpp
include/ncbi-tools++/objtools/eutils/esearch/ESearchResult_.hpp
@@ -3760,7 +4416,6 @@ include/ncbi-tools++/objtools/eutils/esearch/WarningList.hpp
include/ncbi-tools++/objtools/eutils/esearch/WarningList_.hpp
include/ncbi-tools++/objtools/eutils/esearch/esearch__.hpp
include/ncbi-tools++/objtools/eutils/esearch/esearch_module.hpp
-include/ncbi-tools++/objtools/eutils/espell/.cvsignore
include/ncbi-tools++/objtools/eutils/espell/.gitignore
include/ncbi-tools++/objtools/eutils/espell/ESpellResult.hpp
include/ncbi-tools++/objtools/eutils/espell/ESpellResult_.hpp
@@ -3768,7 +4423,6 @@ include/ncbi-tools++/objtools/eutils/espell/SpelledQuery.hpp
include/ncbi-tools++/objtools/eutils/espell/SpelledQuery_.hpp
include/ncbi-tools++/objtools/eutils/espell/espell__.hpp
include/ncbi-tools++/objtools/eutils/espell/espell_module.hpp
-include/ncbi-tools++/objtools/eutils/esummary/.cvsignore
include/ncbi-tools++/objtools/eutils/esummary/.gitignore
include/ncbi-tools++/objtools/eutils/esummary/DocSum.hpp
include/ncbi-tools++/objtools/eutils/esummary/DocSum_.hpp
@@ -3778,7 +4432,6 @@ include/ncbi-tools++/objtools/eutils/esummary/Item.hpp
include/ncbi-tools++/objtools/eutils/esummary/Item_.hpp
include/ncbi-tools++/objtools/eutils/esummary/esummary__.hpp
include/ncbi-tools++/objtools/eutils/esummary/esummary_module.hpp
-include/ncbi-tools++/objtools/eutils/uilist/.cvsignore
include/ncbi-tools++/objtools/eutils/uilist/.gitignore
include/ncbi-tools++/objtools/eutils/uilist/IdList.hpp
include/ncbi-tools++/objtools/eutils/uilist/IdList_.hpp
@@ -3861,9 +4514,9 @@ include/ncbi-tools++/objtools/readers/format_guess_ex.hpp
include/ncbi-tools++/objtools/readers/getfeature.hpp
include/ncbi-tools++/objtools/readers/gff2_data.hpp
include/ncbi-tools++/objtools/readers/gff2_reader.hpp
+include/ncbi-tools++/objtools/readers/gff3_location_merger.hpp
include/ncbi-tools++/objtools/readers/gff3_reader.hpp
include/ncbi-tools++/objtools/readers/gff_base_columns.hpp
-include/ncbi-tools++/objtools/readers/gff_reader.hpp
include/ncbi-tools++/objtools/readers/glimmer_reader.hpp
include/ncbi-tools++/objtools/readers/gtf_reader.hpp
include/ncbi-tools++/objtools/readers/gvf_reader.hpp
@@ -3874,6 +4527,7 @@ include/ncbi-tools++/objtools/readers/message_listener.hpp
include/ncbi-tools++/objtools/readers/microarray_reader.hpp
include/ncbi-tools++/objtools/readers/mod_error.hpp
include/ncbi-tools++/objtools/readers/mod_reader.hpp
+include/ncbi-tools++/objtools/readers/objhook_lambdas.hpp
include/ncbi-tools++/objtools/readers/phrap.hpp
include/ncbi-tools++/objtools/readers/psl_reader.hpp
include/ncbi-tools++/objtools/readers/read_util.hpp
@@ -4000,6 +4654,45 @@ include/ncbi-tools++/serial/serializable.hpp
include/ncbi-tools++/serial/serialutil.hpp
include/ncbi-tools++/serial/streamiter.hpp
include/ncbi-tools++/serial/typeinfo.hpp
+include/ncbi-tools++/sra/data_loaders/bam/bamloader.hpp
+include/ncbi-tools++/sra/data_loaders/bam/impl/bamloader_impl.hpp
+include/ncbi-tools++/sra/data_loaders/csra/csraloader.hpp
+include/ncbi-tools++/sra/data_loaders/csra/impl/csraloader_impl.hpp
+include/ncbi-tools++/sra/data_loaders/snp/id2snp.hpp
+include/ncbi-tools++/sra/data_loaders/snp/id2snp_entry.hpp
+include/ncbi-tools++/sra/data_loaders/snp/id2snp_params.h
+include/ncbi-tools++/sra/data_loaders/snp/impl/id2snp_impl.hpp
+include/ncbi-tools++/sra/data_loaders/snp/impl/snploader_impl.hpp
+include/ncbi-tools++/sra/data_loaders/snp/snploader.hpp
+include/ncbi-tools++/sra/data_loaders/sra/impl/sraloader_impl.hpp
+include/ncbi-tools++/sra/data_loaders/sra/sraloader.hpp
+include/ncbi-tools++/sra/data_loaders/vdbgraph/impl/vdbgraphloader_impl.hpp
+include/ncbi-tools++/sra/data_loaders/vdbgraph/vdbgraphloader.hpp
+include/ncbi-tools++/sra/data_loaders/wgs/impl/wgsloader_impl.hpp
+include/ncbi-tools++/sra/data_loaders/wgs/wgsloader.hpp
+include/ncbi-tools++/sra/error_codes.hpp
+include/ncbi-tools++/sra/readers/bam/bamgraph.hpp
+include/ncbi-tools++/sra/readers/bam/bamindex.hpp
+include/ncbi-tools++/sra/readers/bam/bamread.hpp
+include/ncbi-tools++/sra/readers/bam/bamread_base.hpp
+include/ncbi-tools++/sra/readers/bam/bgzf.hpp
+include/ncbi-tools++/sra/readers/bam/cache_with_lock.hpp
+include/ncbi-tools++/sra/readers/bam/vdbfile.hpp
+include/ncbi-tools++/sra/readers/ncbi_traces_path.hpp
+include/ncbi-tools++/sra/readers/sra/csraread.hpp
+include/ncbi-tools++/sra/readers/sra/exception.hpp
+include/ncbi-tools++/sra/readers/sra/graphread.hpp
+include/ncbi-tools++/sra/readers/sra/impl/snpread_packed.hpp
+include/ncbi-tools++/sra/readers/sra/impl/wgs-contig.h
+include/ncbi-tools++/sra/readers/sra/impl/wgsresolver_impl.hpp
+include/ncbi-tools++/sra/readers/sra/kdbread.hpp
+include/ncbi-tools++/sra/readers/sra/limited_resource_map.hpp
+include/ncbi-tools++/sra/readers/sra/sdk.hpp
+include/ncbi-tools++/sra/readers/sra/snpread.hpp
+include/ncbi-tools++/sra/readers/sra/sraread.hpp
+include/ncbi-tools++/sra/readers/sra/vdbread.hpp
+include/ncbi-tools++/sra/readers/sra/wgsread.hpp
+include/ncbi-tools++/sra/readers/sra/wgsresolver.hpp
include/ncbi-tools++/util/align_range.hpp
include/ncbi-tools++/util/align_range_coll.hpp
include/ncbi-tools++/util/align_range_oper.hpp
@@ -4008,6 +4701,7 @@ include/ncbi-tools++/util/ascii85.hpp
include/ncbi-tools++/util/bitset/bitset_debug.hpp
include/ncbi-tools++/util/bitset/bitset_pool.hpp
include/ncbi-tools++/util/bitset/bm.h
+include/ncbi-tools++/util/bitset/bm3vl.h
include/ncbi-tools++/util/bitset/bm64.h
include/ncbi-tools++/util/bitset/bmaggregator.h
include/ncbi-tools++/util/bitset/bmalgo.h
@@ -4021,6 +4715,7 @@ include/ncbi-tools++/util/bitset/bmbmatrix.h
include/ncbi-tools++/util/bitset/bmbmi1.h
include/ncbi-tools++/util/bitset/bmbmi2.h
include/ncbi-tools++/util/bitset/bmbuffer.h
+include/ncbi-tools++/util/bitset/bmbvimport.h
include/ncbi-tools++/util/bitset/bmconst.h
include/ncbi-tools++/util/bitset/bmdbg.h
include/ncbi-tools++/util/bitset/bmdef.h
@@ -4056,6 +4751,7 @@ include/ncbi-tools++/util/bitset/ncbi_bitset.hpp
include/ncbi-tools++/util/bitset/ncbi_bitset_alloc.hpp
include/ncbi-tools++/util/bitset/ncbi_bitset_util.hpp
include/ncbi-tools++/util/bitset/readme
+include/ncbi-tools++/util/bitset/sse2neon.h
include/ncbi-tools++/util/buffer_writer.hpp
include/ncbi-tools++/util/bytesrc.hpp
include/ncbi-tools++/util/cache/cache_async.hpp
@@ -4079,6 +4775,7 @@ include/ncbi-tools++/util/compress/zlib.hpp
include/ncbi-tools++/util/compress/zlib/zconf.h
include/ncbi-tools++/util/compress/zlib/zlib.h
include/ncbi-tools++/util/compress/zlib/zutil.h
+include/ncbi-tools++/util/compress/zstd.hpp
include/ncbi-tools++/util/creaders/alnread.h
include/ncbi-tools++/util/creaders/creaders_export.h
include/ncbi-tools++/util/data_histogram.hpp
@@ -4095,8 +4792,15 @@ include/ncbi-tools++/util/histogram_binning.hpp
include/ncbi-tools++/util/icanceled.hpp
include/ncbi-tools++/util/id_mux.hpp
include/ncbi-tools++/util/impl/compile_time_bits.hpp
+include/ncbi-tools++/util/impl/const_tuple.hpp
+include/ncbi-tools++/util/impl/ct_bitset_cxx14.hpp
+include/ncbi-tools++/util/impl/ct_bitset_cxx17.hpp
include/ncbi-tools++/util/impl/ct_crc32.hpp
+include/ncbi-tools++/util/impl/ct_string_cxx14.hpp
+include/ncbi-tools++/util/impl/ct_string_cxx17.hpp
+include/ncbi-tools++/util/impl/ctsort_cxx14.hpp
include/ncbi-tools++/util/impl/floating_point_comparison.hpp
+include/ncbi-tools++/util/impl/generated_fsm.hpp
include/ncbi-tools++/util/itransaction.hpp
include/ncbi-tools++/util/itree.hpp
include/ncbi-tools++/util/itree.inl
@@ -4113,6 +4817,7 @@ include/ncbi-tools++/util/math/matrix.hpp
include/ncbi-tools++/util/math/miscmath.h
include/ncbi-tools++/util/math/promote.hpp
include/ncbi-tools++/util/md5.hpp
+include/ncbi-tools++/util/message_queue.hpp
include/ncbi-tools++/util/miscmath.h
include/ncbi-tools++/util/multi_writer.hpp
include/ncbi-tools++/util/multipattern_search.hpp
@@ -4130,6 +4835,9 @@ include/ncbi-tools++/util/rangemap.hpp
include/ncbi-tools++/util/rangemap.inl
include/ncbi-tools++/util/reader_writer.hpp
include/ncbi-tools++/util/regexp.hpp
+include/ncbi-tools++/util/regexp/ctre/LICENSE
+include/ncbi-tools++/util/regexp/ctre/ctre-unicode.hpp
+include/ncbi-tools++/util/regexp/ctre/ctre.hpp
include/ncbi-tools++/util/regexp/pcre.h
include/ncbi-tools++/util/regexp/pcrecpp.h
include/ncbi-tools++/util/regexp/pcrecpparg.h
@@ -4218,6 +4926,8 @@ lib/ncbi-tools++/libcomposition_adjustment-static.a
lib/ncbi-tools++/libcomposition_adjustment.a
lib/ncbi-tools++/libconnect-static.a
lib/ncbi-tools++/libconnect.a
+lib/ncbi-tools++/libconnext-static.a
+lib/ncbi-tools++/libconnext.a
lib/ncbi-tools++/libconnssl-static.a
lib/ncbi-tools++/libconnssl.a
lib/ncbi-tools++/libdbapi-static.a
@@ -4231,6 +4941,8 @@ lib/ncbi-tools++/libdbsnp_tooltip_service-static.a
lib/ncbi-tools++/libdbsnp_tooltip_service.a
lib/ncbi-tools++/libdocsum-static.a
lib/ncbi-tools++/libdocsum.a
+lib/ncbi-tools++/libefetch-static.a
+lib/ncbi-tools++/libefetch.a
lib/ncbi-tools++/libegquery-static.a
lib/ncbi-tools++/libegquery.a
lib/ncbi-tools++/libehistory-static.a
@@ -4342,6 +5054,8 @@ lib/ncbi-tools++/libomssa-static.a
lib/ncbi-tools++/libomssa.a
lib/ncbi-tools++/libpcassay-static.a
lib/ncbi-tools++/libpcassay.a
+lib/ncbi-tools++/libpcassay2-static.a
+lib/ncbi-tools++/libpcassay2.a
lib/ncbi-tools++/libpcsubstance-static.a
lib/ncbi-tools++/libpcsubstance.a
lib/ncbi-tools++/libproj-static.a
@@ -4436,6 +5150,8 @@ lib/ncbi-tools++/libxcompress-static.a
lib/ncbi-tools++/libxcompress.a
lib/ncbi-tools++/libxconnect-static.a
lib/ncbi-tools++/libxconnect.a
+lib/ncbi-tools++/libxconnext-static.a
+lib/ncbi-tools++/libxconnext.a
lib/ncbi-tools++/libxconnserv-static.a
lib/ncbi-tools++/libxconnserv.a
lib/ncbi-tools++/libxcser-static.a
diff --git a/biology/ncbi-cxx-toolkit/Makefile b/biology/ncbi-cxx-toolkit/Makefile
index 49d024208177..fb7fff520847 100644
--- a/biology/ncbi-cxx-toolkit/Makefile
+++ b/biology/ncbi-cxx-toolkit/Makefile
@@ -1,25 +1,34 @@
PORTNAME= ncbi-cxx-toolkit
-DISTVERSION= 25_0_0
+DISTVERSIONPREFIX= release-
+DISTVERSION= 28.0.3
+PORTREVISION= 1
CATEGORIES= biology science devel
-MASTER_SITES= ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/2021/Aug_18_2021/
-DISTNAME= ncbi_cxx--${DISTVERSION}
MAINTAINER= yuri@FreeBSD.org
COMMENT= NCBI C++ Toolkit
+WWW= https://ncbi.github.io/cxx-toolkit/
LICENSE= PD
LICENSE_FILE= ${WRKSRC}/doc/public/LICENSE
-BROKEN_FreeBSD_11= libxconnserv.so, not found (try using -rpath or -rpath-link)
+BROKEN_armv6= platform not defined for FreeBSD arm, see https://github.com/ncbi/ncbi-cxx-toolkit-public/issues/2
+BROKEN_armv7= link fails due to a missing function, see https://github.com/ncbi/ncbi-cxx-toolkit-public/issues/8
-LIB_DEPENDS= libcdd.so:math/cddlib \
+LIB_DEPENDS= libbz2.so:archivers/bzip2 \
+ libcdd.so:math/cddlib \
liblmdb.so:databases/lmdb \
- libpcre.so:devel/pcre
+ libpcre.so:devel/pcre \
+ libunwind.so:devel/libunwind \
+ libzstd.so:archivers/zstd
RUN_DEPENDS= bash:shells/bash
-USES= compiler:c++11-lang gmake mysql perl5 python shebangfix ssl xorg
+USES= compiler:c++17-lang gmake mysql perl5 python shebangfix ssl xorg
USE_XORG= x11 xpm
+USE_GITHUB= yes
+GH_ACCOUNT= ncbi
+GH_PROJECT= ${PORTNAME}-public
+
SHEBANG_FILES= src/app/blast/get_species_taxids.sh
SHEBANG_GLOB= *.pl *.py
@@ -27,24 +36,19 @@ GNU_CONFIGURE= yes
CONFIGURE_ARGS= --without-debug --with-dll --without-static \
--without-vdb
-WRKSRC= ${WRKDIR}/public-${DISTVERSION:S/_/./g}-2021-08-18-11-21-29
+CONFLICTS_INSTALL= dakota libxdiff ncbi-blast+ ncbi-toolkit proj \
+ py*-speedtest-cli # bin/blast_formatter bin/speedtest bin/test_regexp lib/libeutils.so lib/libproj.so lib/libxdiff.so
post-install:
# strip
@${FIND} ${STAGEDIR}${PREFIX}/bin -type f | ${GREP} -v -E '\.(sh|py|pl)$$' | ${XARGS} ${STRIP_CMD}
@${FIND} ${STAGEDIR}${PREFIX}/lib -name "*.so" | ${XARGS} ${STRIP_CMD}
- # remove an empty directory
- #@${RMDIR} ${STAGEDIR}${PREFIX}/include/ncbi-tools++/objtools/data_loaders/genbank/psg
- @${RMDIR} \
- ${STAGEDIR}${PREFIX}/include/ncbi-tools++/algo/ms/formats \
- ${STAGEDIR}${PREFIX}/include/ncbi-tools++/algo/ms
- # remove the conflicting file
+ # remove the conflicting files
@${RM} \
${STAGEDIR}${PREFIX}/lib/libcdd.so \
${STAGEDIR}${PREFIX}/lib/liblmdb.so
# autoplist: thousands of files
@cd ${STAGEDIR}${PREFIX} && \
- ${RMDIR} include/ncbi-tools++/algo/blast/bl2api include/ncbi-tools++/objtools/test && \
${FIND} * -type f -or -type l >> ${TMPPLIST}
.include <bsd.port.mk>
diff --git a/biology/ncbi-cxx-toolkit/distinfo b/biology/ncbi-cxx-toolkit/distinfo
index d85ae212645c..bbf6b145974a 100644
--- a/biology/ncbi-cxx-toolkit/distinfo
+++ b/biology/ncbi-cxx-toolkit/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1629878632
-SHA256 (ncbi_cxx--25_0_0.tar.gz) = 0158971349839b69ea96b3b88db774ac1692befd9910c040a00186e841ef5ed5
-SIZE (ncbi_cxx--25_0_0.tar.gz) = 95801019
+TIMESTAMP = 1712138582
+SHA256 (ncbi-ncbi-cxx-toolkit-public-release-28.0.3_GH0.tar.gz) = 070ba25981a77b9fd1bdb261c3f51f7819ea73dca99fa77a9ef806e252ab4367
+SIZE (ncbi-ncbi-cxx-toolkit-public-release-28.0.3_GH0.tar.gz) = 57037085
diff --git a/biology/ncbi-cxx-toolkit/files/patch-src_build-system_configure b/biology/ncbi-cxx-toolkit/files/patch-src_build-system_configure
deleted file mode 100644
index c6ca30fee2c4..000000000000
--- a/biology/ncbi-cxx-toolkit/files/patch-src_build-system_configure
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/build-system/configure.orig 2020-09-27 04:51:28 UTC
-+++ src/build-system/configure
-@@ -8080,6 +8080,7 @@ case "$compiler:$ncbi_compiler_ver" in
- ICC:??.?.? | \
- ICC:??.?.?.* ) ncbi_compiler_sed='s/\([0-9][0-9]\)\.\([0-9]\)\.\([0-9]\).*/\1\2\3/' ;;
- *:?.?.?) ncbi_compiler_sed='s/\([0-9]\)\.\([0-9]\)\.\([0-9]\)/\1\2\3/' ;;
-+ *:??.?.?) ncbi_compiler_sed='s/\([1-9][0-9]\)\.\([0-9]\)\.\([0-9]\)/\1\2\3/' ;;
- *:?.??*) ncbi_compiler_sed='s/\([0-9]\)\.\([0-9][0-9]\).*/\1\2/' ;;
- *:?.?) ncbi_compiler_sed='s/\([0-9]\).\([0-9]\)/\1\20/' ;;
- *:?) ncbi_compiler_sed='s/\([0-9]\)/\100/' ;;
diff --git a/biology/ncbi-cxx-toolkit/pkg-descr b/biology/ncbi-cxx-toolkit/pkg-descr
index d318cdf7ac0e..68fbd9687f3b 100644
--- a/biology/ncbi-cxx-toolkit/pkg-descr
+++ b/biology/ncbi-cxx-toolkit/pkg-descr
@@ -20,5 +20,3 @@ It contains:
* Biological Sequences Retrieval and Processing Library
* Portable FLTK and OpenGL based GUI and graphic libraries
* XmlWrapp (XML parsing and handling, XSLT, XPath)
-
-WWW: https://ncbi.github.io/cxx-toolkit/
diff --git a/biology/ncbi-entrez-direct/Makefile b/biology/ncbi-entrez-direct/Makefile
index 7ece210acd5e..933fd7d55791 100644
--- a/biology/ncbi-entrez-direct/Makefile
+++ b/biology/ncbi-entrez-direct/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ncbi-entrez-direct
DISTVERSION= 14.9.20210423
-PORTREVISION= 1
+PORTREVISION= 20
CATEGORIES= biology perl5
MASTER_SITES= ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/versions/${PORTVERSION}/
DISTFILES= edirect.tar.gz
@@ -8,6 +8,7 @@ DIST_SUBDIR= edirect-${PORTVERSION}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Access to the NCBI's suite of interconnected databases
+WWW= https://www.ncbi.nlm.nih.gov/books/NBK179288/
LICENSE= PD
@@ -20,6 +21,8 @@ RUN_DEPENDS= p5-libwww>=0:www/p5-libwww \
USES= go:modules perl5 shebangfix
USE_GITHUB= nodefault
+CONFLICTS_INSTALL= ebook-tools p5-XML-Compile # bin/einfo bin/xml2json
+
# Dependency versions:
# make clean extract
# cd ${WRKSRC}/cmd
@@ -37,12 +40,12 @@ GH_TUPLE= fatih:color:v1.10.0:a/${GHSD}/fatih/color \
mattn:go-isatty:v0.0.12:g/${GHSD}/mattn/go-isatty \
fiam:gounidecode:8deddbd03fec:h/${GHSD}/fiam/gounidecode \
golang:text:v0.3.5:i/${GLSD}/x/text \
- golang:sys:d5e6a3e2c0ae:j/${GLSD}/x/sys
+ golang:sys:v0.5.0:j/${GLSD}/x/sys
SHEBANG_FILES= nquire edirect.pl word-at-a-time accn-at-a-time \
amino-acid-composition between-two-genes exclude-uid-lists \
filter-stop-words intersect-uid-lists phrase-search \
- skip-if-file-exists theme-aliases test-edirect hgvs2spdi
+ skip-if-file-exists theme-aliases test-edirect hgvs2spdi
PSCRIPTS= efetch efilter einfo elink epost esearch esummary nquire
SCRIPTS= accn-at-a-time amino-acid-composition archive-pubmed \
@@ -73,7 +76,7 @@ pre-configure:
do-build:
@${CP} ${FILESDIR}/modules.txt ${WRKSRC}/cmd/vendor
@${CP} -R ${WRKSRC}/eutils ${WRKSRC}/cmd/vendor
- @cd ${WRKSRC}/cmd && ${FILESDIR}/build-cmd
+ @cd ${WRKSRC}/cmd && ${SETENV} ${MAKE_ENV} ${FILESDIR}/build-cmd
do-install:
cd ${WRKSRC} && ${INSTALL_SCRIPT} ${SCRIPTS} ${STAGEDIR}${PREFIX}/bin
diff --git a/biology/ncbi-entrez-direct/distinfo b/biology/ncbi-entrez-direct/distinfo
index e959f316b0e8..563875c07842 100644
--- a/biology/ncbi-entrez-direct/distinfo
+++ b/biology/ncbi-entrez-direct/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1619443745
+TIMESTAMP = 1678294976
SHA256 (edirect-14.9.20210423/edirect.tar.gz) = 9d6534226164fc5dfae7abcf25bfdbd08db068b27f1c13b8a3c4681cda5b0cea
SIZE (edirect-14.9.20210423/edirect.tar.gz) = 829737
SHA256 (edirect-14.9.20210423/fatih-color-v1.10.0_GH0.tar.gz) = a00342a7ffb8b119346dce56e152a111cbb9eab3970c429cc2ed4272aec2858e
@@ -19,5 +19,5 @@ SHA256 (edirect-14.9.20210423/fiam-gounidecode-8deddbd03fec_GH0.tar.gz) = b763f4
SIZE (edirect-14.9.20210423/fiam-gounidecode-8deddbd03fec_GH0.tar.gz) = 190666
SHA256 (edirect-14.9.20210423/golang-text-v0.3.5_GH0.tar.gz) = f85d1185ba116cd40ef8cf702fe1d960ed41d039c08fd314dbeb5866f3166f27
SIZE (edirect-14.9.20210423/golang-text-v0.3.5_GH0.tar.gz) = 8348127
-SHA256 (edirect-14.9.20210423/golang-sys-d5e6a3e2c0ae_GH0.tar.gz) = 6cd44aa33cb0fc4caedadde44b3a943bece0aa67d803c00bfb09b03222845f19
-SIZE (edirect-14.9.20210423/golang-sys-d5e6a3e2c0ae_GH0.tar.gz) = 1539001
+SHA256 (edirect-14.9.20210423/golang-sys-v0.5.0_GH0.tar.gz) = 810c8f1b7704674971ab6b2b614aba20a5a1765018fd2c639f528dbbcbf88b1f
+SIZE (edirect-14.9.20210423/golang-sys-v0.5.0_GH0.tar.gz) = 1429723
diff --git a/biology/ncbi-entrez-direct/files/modules.txt b/biology/ncbi-entrez-direct/files/modules.txt
index bf713fd9c42b..77a6af417917 100644
--- a/biology/ncbi-entrez-direct/files/modules.txt
+++ b/biology/ncbi-entrez-direct/files/modules.txt
@@ -1,32 +1,39 @@
# eutils v0.0.0-00010101000000-000000000000 => ../eutils
-## explicit
+## explicit; go 1.15
eutils
# github.com/fatih/color v1.10.0
-## explicit
+## explicit; go 1.13
github.com/fatih/color
# github.com/fiam/gounidecode v0.0.0-20150629112515-8deddbd03fec
## explicit
github.com/fiam/gounidecode/unidecode
# github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813
+## explicit
github.com/gedex/inflector
# github.com/klauspost/cpuid v1.3.1
+## explicit; go 1.12
github.com/klauspost/cpuid
# github.com/mattn/go-colorable v0.1.8
+## explicit; go 1.13
github.com/mattn/go-colorable
# github.com/mattn/go-isatty v0.0.12
+## explicit; go 1.12
github.com/mattn/go-isatty
# github.com/pbnjay/memory v0.0.0-20201129165224-b12e5d931931
+## explicit
github.com/pbnjay/memory
# github.com/stretchr/testify v1.7.0
-## explicit
+## explicit; go 1.13
# github.com/surge/glog v0.0.0-20141108051140-2578deb2b95c
## explicit
# github.com/surgebase/porter2 v0.0.0-20150829210152-56e4718818e8
## explicit
github.com/surgebase/porter2
-# golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae
+# golang.org/x/sys v0.5.0
+## explicit; go 1.17
golang.org/x/sys/unix
# golang.org/x/text v0.3.5
+## explicit; go 1.11
golang.org/x/text/runes
golang.org/x/text/transform
golang.org/x/text/unicode/norm
diff --git a/biology/ncbi-entrez-direct/files/patch-cmd_go.mod b/biology/ncbi-entrez-direct/files/patch-cmd_go.mod
new file mode 100644
index 000000000000..84d5b957c08e
--- /dev/null
+++ b/biology/ncbi-entrez-direct/files/patch-cmd_go.mod
@@ -0,0 +1,29 @@
+--- cmd/go.mod.orig 2023-03-08 17:07:24 UTC
++++ cmd/go.mod
+@@ -1,6 +1,6 @@
+ module edirect
+
+-go 1.15
++go 1.17
+
+ replace eutils => ../eutils
+
+@@ -8,7 +8,17 @@ require (
+ eutils v0.0.0-00010101000000-000000000000
+ github.com/fatih/color v1.10.0
+ github.com/fiam/gounidecode v0.0.0-20150629112515-8deddbd03fec
++ github.com/surgebase/porter2 v0.0.0-20150829210152-56e4718818e8
++)
++
++require (
++ github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect
++ github.com/klauspost/cpuid v1.3.1 // indirect
++ github.com/mattn/go-colorable v0.1.8 // indirect
++ github.com/mattn/go-isatty v0.0.12 // indirect
++ github.com/pbnjay/memory v0.0.0-20201129165224-b12e5d931931 // indirect
+ github.com/stretchr/testify v1.7.0 // indirect
+ github.com/surge/glog v0.0.0-20141108051140-2578deb2b95c // indirect
+- github.com/surgebase/porter2 v0.0.0-20150829210152-56e4718818e8
++ golang.org/x/sys v0.5.0 // indirect
++ golang.org/x/text v0.3.5 // indirect
+ )
diff --git a/biology/ncbi-entrez-direct/files/patch-cmd_go.sum b/biology/ncbi-entrez-direct/files/patch-cmd_go.sum
new file mode 100644
index 000000000000..6b3d64b34b93
--- /dev/null
+++ b/biology/ncbi-entrez-direct/files/patch-cmd_go.sum
@@ -0,0 +1,15 @@
+--- cmd/go.sum.orig 2023-03-08 17:10:13 UTC
++++ cmd/go.sum
+@@ -26,10 +26,11 @@ github.com/surgebase/porter2 v0.0.0-20150829210152-56e
+ golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae h1:/WDfKMnPU+m5M4xB+6x4kaepxRw6jWvR5iDRdvjHgy8=
+ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
++golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
++golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+ golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ=
+ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
+ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/biology/ncbi-entrez-direct/pkg-descr b/biology/ncbi-entrez-direct/pkg-descr
index b8215012904c..c61898844e65 100644
--- a/biology/ncbi-entrez-direct/pkg-descr
+++ b/biology/ncbi-entrez-direct/pkg-descr
@@ -1,5 +1,3 @@
Entrez Direct (EDirect) provides access to the NCBI's suite of interconnected
databases (publication, sequence, structure, gene, variation, expression, etc.)
from a UNIX terminal window.
-
-WWW: https://www.ncbi.nlm.nih.gov/books/NBK179288/
diff --git a/biology/ncbi-toolkit/Makefile b/biology/ncbi-toolkit/Makefile
index ffae0c32fe3c..7580e6a47537 100644
--- a/biology/ncbi-toolkit/Makefile
+++ b/biology/ncbi-toolkit/Makefile
@@ -1,8 +1,6 @@
-# Created by: tonym
-
PORTNAME= ncbi-toolkit
DISTVERSION= 2017.01.06 # containing BLAST v2.2.27 (? is this true)
-PORTREVISION= 6
+PORTREVISION= 9
CATEGORIES= biology
MASTER_SITES= ftp://ftp.ncbi.nlm.nih.gov/toolbox/ncbi_tools/old/${PORTVERSION:S/.//g}/
DISTNAME= ncbi
@@ -10,6 +8,7 @@ DIST_SUBDIR= ${PORTNAME}-${PORTVERSION}
MAINTAINER= yuri@FreeBSD.org
COMMENT= NCBI development toolkit, including BLAST 2 and GenBank/Entrez support
+WWW= https://www.ncbi.nlm.nih.gov/IEB/ToolBox/MainPage/index.html
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libgmp.so:math/gmp \
@@ -26,10 +25,21 @@ LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
USES= gettext-runtime iconv jpeg motif xorg
USE_XORG= x11 xau xext xft xmu xrender xt
+CONFLICTS_INSTALL= fhist # bin/test_regexp man/man1/fmerge.1.gz
+
SUB_FILES= pkg-message
OPTIONS_DEFINE= DOCS
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400079 || ( ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 ))
+CFLAGS+= -Wno-error=int-conversion
+.if ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302507 && ${OSVERSION} < 1400000 )
+CFLAGS+= -Wno-error=incompatible-function-pointer-types
+.endif
+.endif
+
post-patch:
@${REINPLACE_CMD} -e \
's|/usr/X11R6|${LOCALBASE}|g' ${WRKSRC}/make/makedis.csh
@@ -67,7 +77,7 @@ do-install:
cd ${WRKSRC}/include/connect && ${INSTALL_DATA} *.h \
${STAGEDIR}${PREFIX}/include/${DISTNAME}/connect
cd ${WRKSRC}/doc/man && ${INSTALL_MAN} * \
- ${STAGEDIR}${MANPREFIX}/man/man1
+ ${STAGEDIR}${PREFIX}/share/man/man1
@${MKDIR} ${STAGEDIR}${DATADIR}
cd ${WRKSRC}/data && ${INSTALL_DATA} * ${STAGEDIR}${DATADIR}
diff --git a/biology/ncbi-toolkit/pkg-descr b/biology/ncbi-toolkit/pkg-descr
index 2c44aef32154..96b9fdeb3261 100644
--- a/biology/ncbi-toolkit/pkg-descr
+++ b/biology/ncbi-toolkit/pkg-descr
@@ -15,5 +15,3 @@ From the README:
any changes required by our data production needs. Nontheless, many people
have found it a useful and stable basis for a number of tools and
applications.
-
-WWW: https://www.ncbi.nlm.nih.gov/IEB/ToolBox/MainPage/index.html
diff --git a/biology/ncbi-toolkit/pkg-plist b/biology/ncbi-toolkit/pkg-plist
index 24f92e502b77..bf585a76b534 100644
--- a/biology/ncbi-toolkit/pkg-plist
+++ b/biology/ncbi-toolkit/pkg-plist
@@ -579,49 +579,49 @@ lib/ncbi/libregexp.a
lib/ncbi/libvibgif.a
lib/ncbi/libvibnet.a
lib/ncbi/libvibrant.a
-man/man1/Psequin.1.gz
-man/man1/asn2all.1.gz
-man/man1/asn2asn.1.gz
-man/man1/asn2ff.1.gz
-man/man1/asn2fsa.1.gz
-man/man1/asn2gb.1.gz
-man/man1/asn2idx.1.gz
-man/man1/asn2xml.1.gz
-man/man1/asndhuff.1.gz
-man/man1/asndisc.1.gz
-man/man1/asnmacro.1.gz
-man/man1/asntool.1.gz
-man/man1/asnval.1.gz
-man/man1/blastcl3.1.gz
-man/man1/cdscan.1.gz
-man/man1/checksub.1.gz
-man/man1/cleanasn.1.gz
-man/man1/ddv.1.gz
-man/man1/debruijn.1.gz
-man/man1/entrez2.1.gz
-man/man1/errhdr.1.gz
-man/man1/fa2htgs.1.gz
-man/man1/findspl.1.gz
-man/man1/fmerge.1.gz
-man/man1/gbseqget.1.gz
-man/man1/gene2xml.1.gz
-man/man1/getmesh.1.gz
-man/man1/getpub.1.gz
-man/man1/gil2bin.1.gz
-man/man1/idfetch.1.gz
-man/man1/indexpub.1.gz
-man/man1/insdseqget.1.gz
-man/man1/makeset.1.gz
-man/man1/nps2gps.1.gz
-man/man1/sbtedit.1.gz
-man/man1/sortbyquote.1.gz
-man/man1/spidey.1.gz
-man/man1/subfuse.1.gz
-man/man1/tbl2asn.1.gz
-man/man1/trna2sap.1.gz
-man/man1/trna2tbl.1.gz
-man/man1/udv.1.gz
-man/man1/vecscreen.1.gz
+share/man/man1/Psequin.1.gz
+share/man/man1/asn2all.1.gz
+share/man/man1/asn2asn.1.gz
+share/man/man1/asn2ff.1.gz
+share/man/man1/asn2fsa.1.gz
+share/man/man1/asn2gb.1.gz
+share/man/man1/asn2idx.1.gz
+share/man/man1/asn2xml.1.gz
+share/man/man1/asndhuff.1.gz
+share/man/man1/asndisc.1.gz
+share/man/man1/asnmacro.1.gz
+share/man/man1/asntool.1.gz
+share/man/man1/asnval.1.gz
+share/man/man1/blastcl3.1.gz
+share/man/man1/cdscan.1.gz
+share/man/man1/checksub.1.gz
+share/man/man1/cleanasn.1.gz
+share/man/man1/ddv.1.gz
+share/man/man1/debruijn.1.gz
+share/man/man1/entrez2.1.gz
+share/man/man1/errhdr.1.gz
+share/man/man1/fa2htgs.1.gz
+share/man/man1/findspl.1.gz
+share/man/man1/fmerge.1.gz
+share/man/man1/gbseqget.1.gz
+share/man/man1/gene2xml.1.gz
+share/man/man1/getmesh.1.gz
+share/man/man1/getpub.1.gz
+share/man/man1/gil2bin.1.gz
+share/man/man1/idfetch.1.gz
+share/man/man1/indexpub.1.gz
+share/man/man1/insdseqget.1.gz
+share/man/man1/makeset.1.gz
+share/man/man1/nps2gps.1.gz
+share/man/man1/sbtedit.1.gz
+share/man/man1/sortbyquote.1.gz
+share/man/man1/spidey.1.gz
+share/man/man1/subfuse.1.gz
+share/man/man1/tbl2asn.1.gz
+share/man/man1/trna2sap.1.gz
+share/man/man1/trna2tbl.1.gz
+share/man/man1/udv.1.gz
+share/man/man1/vecscreen.1.gz
%%PORTDOCS%%%%DOCSDIR%%/FAQ.txt
%%PORTDOCS%%%%DOCSDIR%%/README.asn2xml
%%PORTDOCS%%%%DOCSDIR%%/README.sdk
diff --git a/biology/ncbi-vdb/Makefile b/biology/ncbi-vdb/Makefile
index a5d0c8811989..33f50ec07dd5 100644
--- a/biology/ncbi-vdb/Makefile
+++ b/biology/ncbi-vdb/Makefile
@@ -1,10 +1,11 @@
PORTNAME= ncbi-vdb
DISTVERSION= 2.11.0
-PORTREVISION= 1
+PORTREVISION= 6
CATEGORIES= biology
MAINTAINER= mzaki@niid.go.jp
COMMENT= NCBI's virtualized back-end for accessing Sequence Read Archive
+WWW= https://github.com/ncbi/ncbi-vdb/wiki
LICENSE= PD
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/biology/ncbi-vdb/files/patch-hdf5 b/biology/ncbi-vdb/files/patch-hdf5
new file mode 100644
index 000000000000..0566ee28dc25
--- /dev/null
+++ b/biology/ncbi-vdb/files/patch-hdf5
@@ -0,0 +1,30 @@
+--- interfaces/ext/hdf5/H5Opublic.h.orig 2021-03-15 18:16:43 UTC
++++ interfaces/ext/hdf5/H5Opublic.h
+@@ -150,8 +150,13 @@ H5_DLL hid_t H5Oopen_by_idx(hid_t loc_id, const char *
+ H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id);
+ H5_DLL htri_t H5Oexists_by_name(hid_t loc_id, const char *name, hid_t lapl_id);
+ H5_DLL herr_t H5Oget_info(hid_t loc_id, H5O_info_t *oinfo);
++#if H5_VERSION_GE(1,12,0)
++H5_DLL herr_t H5Oget_info_by_name(hid_t loc_id, const char *name, H5O_info_t *oinfo, unsigned fields,
++ hid_t lapl_id);
++#else
+ H5_DLL herr_t H5Oget_info_by_name(hid_t loc_id, const char *name, H5O_info_t *oinfo,
+ hid_t lapl_id);
++#endif
+ H5_DLL herr_t H5Oget_info_by_idx(hid_t loc_id, const char *group_name,
+ H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info_t *oinfo,
+ hid_t lapl_id);
+--- libs/hdf5/hdf5dir.c.orig 2021-03-15 18:16:43 UTC
++++ libs/hdf5/hdf5dir.c
+@@ -292,7 +292,11 @@ rc_t CC HDF5DirVisitUpdate ( HDF5Dir *self, bool recur
+ static uint32_t HDF5DirPathTypeOnBuffer( const HDF5Dir *self, const char *buffer )
+ {
+ H5O_info_t obj_info;
++#if H5_VERSION_GE(1,12,0)
++ herr_t h5e = H5Oget_info_by_name( self->hdf5_handle, buffer, &obj_info, H5O_INFO_BASIC, H5P_DEFAULT );
++#else
+ herr_t h5e = H5Oget_info_by_name( self->hdf5_handle, buffer, &obj_info, H5P_DEFAULT );
++#endif
+ if ( h5e >= 0 )
+ {
+ switch( obj_info.type )
diff --git a/biology/ncbi-vdb/pkg-descr b/biology/ncbi-vdb/pkg-descr
index a2adb0aa97c0..217941143274 100644
--- a/biology/ncbi-vdb/pkg-descr
+++ b/biology/ncbi-vdb/pkg-descr
@@ -3,5 +3,3 @@ The 'front-end' API are provided by biology/ngs-sdk port.
Although the GitHub repository also contains Java and Python codes,
this port currently builds only C- and C++-based libraries.
-
-WWW: https://github.com/ncbi/ncbi-vdb/wiki
diff --git a/biology/ngs-sdk/Makefile b/biology/ngs-sdk/Makefile
index 8ac3c93758ab..4bba0411e5f7 100644
--- a/biology/ngs-sdk/Makefile
+++ b/biology/ngs-sdk/Makefile
@@ -1,18 +1,21 @@
PORTNAME= ngs
-DISTVERSION= 2.11.1
+DISTVERSION= 3.0.1
CATEGORIES= biology
PKGNAMESUFFIX= -sdk
MAINTAINER= yuri@FreeBSD.org
COMMENT= Tools and libraries for using data in the INSDC Sequence Read Archives
+WWW= https://github.com/ncbi/ngs
LICENSE= PD
LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_aarch64= fails to configure: unsupported architecture 'FreeBSD'
+BROKEN_armv6= fails to configure: unsupported architecture 'FreeBSD':'arm'
+BROKEN_armv7= fails to configure: unsupported architecture 'FreeBSD':'arm'
BROKEN_riscv64= fails to configure: unsupported architecture 'FreeBSD'
-NOT_FOR_ARCHS= powerpc64
-NOT_FOR_ARCHS_REASON= os-arch.prl needs to be taught about powerpc64
+NOT_FOR_ARCHS= powerpc powerpc64 powerpc64le
+NOT_FOR_ARCHS_REASON= os-arch.prl needs to be taught about powerpc64, etc
USES= compiler:c++11-lang gmake perl5
USE_PERL5= build
@@ -38,6 +41,6 @@ do-install: # install target from the project breaks: https://github.com/ncbi/ng
# The above command installs broken-looking static libs with symlinks.
# This is intentional, see comments https://github.com/ncbi/ncbi-vdb/issues/36#issuecomment-817990790 This may change in future versions.
# strip
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libngs-sdk.so.${DISTVERSION}
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libngs-sdk.so.2.11.2
.include <bsd.port.mk>
diff --git a/biology/ngs-sdk/distinfo b/biology/ngs-sdk/distinfo
index 2ce5d901ca91..d469194b424e 100644
--- a/biology/ngs-sdk/distinfo
+++ b/biology/ngs-sdk/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1629303705
-SHA256 (ncbi-ngs-2.11.1_GH0.tar.gz) = f39c56bbfdb0bdacdd5e86b5d3b65c448df17e419f3f533b1a0168e99f532553
-SIZE (ncbi-ngs-2.11.1_GH0.tar.gz) = 1101141
+TIMESTAMP = 1687816957
+SHA256 (ncbi-ngs-3.0.1_GH0.tar.gz) = 0c326aa1744a689c67d2ee7ef8097ec962fdc1529ddbfd63eb0987a23e76d48e
+SIZE (ncbi-ngs-3.0.1_GH0.tar.gz) = 1101663
diff --git a/biology/ngs-sdk/files/patch-ngs-sdk_setup_konfigure.perl b/biology/ngs-sdk/files/patch-ngs-sdk_setup_konfigure.perl
index 5fc8fb532a2c..3d4ce73cdafd 100644
--- a/biology/ngs-sdk/files/patch-ngs-sdk_setup_konfigure.perl
+++ b/biology/ngs-sdk/files/patch-ngs-sdk_setup_konfigure.perl
@@ -1,6 +1,9 @@
---- ngs-sdk/setup/konfigure.perl.orig 2021-08-18 16:26:23 UTC
+- patch includes removal of '-arch i386' trying to fix build on i386:
+- see https://github.com/ncbi/ngs/issues/39
+
+--- ngs-sdk/setup/konfigure.perl.orig 2022-11-15 17:37:36 UTC
+++ ngs-sdk/setup/konfigure.perl
-@@ -225,7 +225,7 @@ if ($OS eq 'linux') {
+@@ -225,7 +225,7 @@ println $MARCH unless ($AUTORUN);
print "checking machine architecture... " unless ($AUTORUN);
println $MARCH unless ($AUTORUN);
@@ -9,7 +12,7 @@
println "configure: error: unsupported architecture '$OSTYPE':'$MARCH'";
exit 1;
}
-@@ -312,6 +312,8 @@ my $BITS;
+@@ -312,6 +312,8 @@ if ($MARCH =~ /x86_64/i) {
if ($MARCH =~ /x86_64/i) {
$BITS = 64;
@@ -35,3 +38,20 @@
} elsif ($OSTYPE =~ /darwin/i) {
$LPFX = 'lib';
$OBJX = 'o';
+@@ -386,14 +398,14 @@ if ($TOOLS =~ /gcc$/) {
+ my $versionMin = '-mmacosx-version-min=10.10';
+ $CP = "$CPP -c $versionMin";
+ if ($BITS ne '32_64') {
+- $ARCH_FL = '-arch i386' if ($BITS == 32);
++ $ARCH_FL = '' if ($BITS == 32);
+ $OPT = '-O3';
+ $AR = 'ar rc';
+ $LD = "clang $ARCH_FL";
+ $LP = "$CPP $versionMin $ARCH_FL";
+ } else {
+ $MAKE_MANIFEST = '( echo "$^" > $@/manifest )';
+- $ARCH_FL = '-arch i386 -arch x86_64';
++ $ARCH_FL = '-arch x86_64';
+ $OPT = '-O3';
+ $AR = 'libtool -static -o';
+ $LD = "clang -Wl,-arch_multiple $ARCH_FL -Wl,-all_load";
diff --git a/biology/ngs-sdk/pkg-descr b/biology/ngs-sdk/pkg-descr
index b52c80174755..84ac784d4a9c 100644
--- a/biology/ngs-sdk/pkg-descr
+++ b/biology/ngs-sdk/pkg-descr
@@ -8,5 +8,3 @@ ncbi-vdb.
The API is currently expressed in C++, Java and Python languages. The design
makes it possible to maintain a high degree of similarity between the code in
one language and code in another - especially between C++ and Java.
-
-WWW: https://github.com/ncbi/ngs
diff --git a/biology/ngs-sdk/pkg-plist b/biology/ngs-sdk/pkg-plist
index 4b46d04f486c..958bceed7edc 100644
--- a/biology/ngs-sdk/pkg-plist
+++ b/biology/ngs-sdk/pkg-plist
@@ -90,11 +90,11 @@ include/ngs/unix/x86_64/atomic32.h
lib/libngs-adapt-c++-static.a
lib/libngs-adapt-c++.a
lib/libngs-adapt-c++.a.2
-lib/libngs-adapt-c++.a.2.11.1
+lib/libngs-adapt-c++.a.2.11.2
lib/libngs-c++-static.a
lib/libngs-c++.a
lib/libngs-c++.a.2
-lib/libngs-c++.a.2.11.1
+lib/libngs-c++.a.2.11.2
lib/libngs-sdk.so
lib/libngs-sdk.so.2
-lib/libngs-sdk.so.2.11.1
+lib/libngs-sdk.so.2.11.2
diff --git a/biology/p5-AcePerl/Makefile b/biology/p5-AcePerl/Makefile
index 8b3b051a37f7..287a32515731 100644
--- a/biology/p5-AcePerl/Makefile
+++ b/biology/p5-AcePerl/Makefile
@@ -1,5 +1,3 @@
-# Created by: Johann Visagie <johann@egenetics.com>
-
PORTNAME= AcePerl
PORTVERSION= 1.92
PORTREVISION= 5
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Perl5 interface to the ACEDB genome database system
+WWW= https://metacpan.org/release/AcePerl
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-AcePerl/pkg-descr b/biology/p5-AcePerl/pkg-descr
index aa6d66f91abc..d1ca850aea30 100644
--- a/biology/p5-AcePerl/pkg-descr
+++ b/biology/p5-AcePerl/pkg-descr
@@ -1,5 +1,3 @@
AcePerl is an object-oriented Perl interface for the ACEDB genome database
system. It provides functionality for connecting to remote ACEDB databases,
performing queries, fetching ACE objects, and updating databases.
-
-WWW: https://metacpan.org/release/AcePerl
diff --git a/biology/p5-Bio-ASN1-EntrezGene/Makefile b/biology/p5-Bio-ASN1-EntrezGene/Makefile
index e6a362aeefc3..54c77498bcf0 100644
--- a/biology/p5-Bio-ASN1-EntrezGene/Makefile
+++ b/biology/p5-Bio-ASN1-EntrezGene/Makefile
@@ -1,5 +1,3 @@
-# Created by: Mauricio Herrera Cuadra <mauricio@arareko.net>
-
PORTNAME= Bio-ASN1-EntrezGene
PORTVERSION= 1.73
PORTREVISION= 2
@@ -10,6 +8,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Regular expression-based Perl Parser for NCBI Entrez Gene
+WWW= https://metacpan.org/release/Bio-ASN1-EntrezGene
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-Bio-ASN1-EntrezGene/pkg-descr b/biology/p5-Bio-ASN1-EntrezGene/pkg-descr
index 16fb17f53f4c..ce2ab0a2d15b 100644
--- a/biology/p5-Bio-ASN1-EntrezGene/pkg-descr
+++ b/biology/p5-Bio-ASN1-EntrezGene/pkg-descr
@@ -7,5 +7,3 @@ gene record.
The parser will report error & line number if input data does not conform
to the NCBI Entrez Gene genome annotation file format.
-
-WWW: https://metacpan.org/release/Bio-ASN1-EntrezGene
diff --git a/biology/p5-Bio-Cluster/Makefile b/biology/p5-Bio-Cluster/Makefile
index 0416f878e37b..bf526b8497d3 100644
--- a/biology/p5-Bio-Cluster/Makefile
+++ b/biology/p5-Bio-Cluster/Makefile
@@ -1,5 +1,3 @@
-# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
PORTNAME= Bio-Cluster
PORTVERSION= 1.7.3
PORTREVISION= 1
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= BioPerl cluster modules
+WWW= https://metacpan.org/release/Bio-Cluster
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-Bio-Cluster/pkg-descr b/biology/p5-Bio-Cluster/pkg-descr
index dabe27a0eb2f..1a62a2db162a 100644
--- a/biology/p5-Bio-Cluster/pkg-descr
+++ b/biology/p5-Bio-Cluster/pkg-descr
@@ -1,4 +1,2 @@
Bio::Cluster is the BioPerl cluster modules. Classes and modules here describe
the basic structure for a cluster of BioPerl objects.
-
-WWW: https://metacpan.org/release/Bio-Cluster
diff --git a/biology/p5-Bio-Coordinate/Makefile b/biology/p5-Bio-Coordinate/Makefile
index f81fbb662c30..e3541ac7ac2b 100644
--- a/biology/p5-Bio-Coordinate/Makefile
+++ b/biology/p5-Bio-Coordinate/Makefile
@@ -1,5 +1,3 @@
-# Created by: Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
PORTNAME= Bio-Coordinate
PORTVERSION= 1.007001
CATEGORIES= biology perl5
@@ -8,6 +6,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Modules for working with biological coordinates
+WWW= https://metacpan.org/release/Bio-Coordinate
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-Bio-Coordinate/pkg-descr b/biology/p5-Bio-Coordinate/pkg-descr
index 358dc4e3a716..fd6f701519a2 100644
--- a/biology/p5-Bio-Coordinate/pkg-descr
+++ b/biology/p5-Bio-Coordinate/pkg-descr
@@ -1,4 +1,2 @@
Bio::Coordinate classes are used for working with various biological coordinate
systems. See Bio::Coordinate::Collection and Bio::Collection::Pair for examples.
-
-WWW: https://metacpan.org/release/Bio-Coordinate
diff --git a/biology/p5-Bio-DB-EMBL/Makefile b/biology/p5-Bio-DB-EMBL/Makefile
index 65558a87888d..107045db80c4 100644
--- a/biology/p5-Bio-DB-EMBL/Makefile
+++ b/biology/p5-Bio-DB-EMBL/Makefile
@@ -1,5 +1,3 @@
-# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
PORTNAME= Bio-DB-EMBL
PORTVERSION= 1.7.4
CATEGORIES= biology perl5
@@ -8,6 +6,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Database object interface for EMBL entry retrieval
+WWW= https://metacpan.org/release/Bio-DB-EMBL
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-Bio-DB-EMBL/pkg-descr b/biology/p5-Bio-DB-EMBL/pkg-descr
index eabf5d8ec13f..d195a025fbef 100644
--- a/biology/p5-Bio-DB-EMBL/pkg-descr
+++ b/biology/p5-Bio-DB-EMBL/pkg-descr
@@ -7,5 +7,3 @@ servers in different geographical locations.
The functionality of this module is inherited from Bio::DB::DBFetch which
implements Bio::DB::WebDBSeqI.
-
-WWW: https://metacpan.org/release/Bio-DB-EMBL
diff --git a/biology/p5-Bio-DB-NCBIHelper/Makefile b/biology/p5-Bio-DB-NCBIHelper/Makefile
index a3a25ef50f68..0ed7fdfe2855 100644
--- a/biology/p5-Bio-DB-NCBIHelper/Makefile
+++ b/biology/p5-Bio-DB-NCBIHelper/Makefile
@@ -1,17 +1,16 @@
-# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
PORTNAME= Bio-DB-NCBIHelper
-PORTVERSION= 1.7.7
+PORTVERSION= 1.7.8
CATEGORIES= biology perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Collection of routines useful for queries to NCBI databases
+WWW= https://metacpan.org/release/Bio-DB-NCBIHelper
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
-LICENSE_FILE= ${WRKSRC}/LICENSE
+LICENSE_FILE_GPLv1+ = ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${RUN_DEPENDS}
RUN_DEPENDS= p5-Bio-ASN1-EntrezGene>=0:biology/p5-Bio-ASN1-EntrezGene \
diff --git a/biology/p5-Bio-DB-NCBIHelper/distinfo b/biology/p5-Bio-DB-NCBIHelper/distinfo
index ce2432a5dbfc..a5b3d788c780 100644
--- a/biology/p5-Bio-DB-NCBIHelper/distinfo
+++ b/biology/p5-Bio-DB-NCBIHelper/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1625323535
-SHA256 (Bio-DB-NCBIHelper-1.7.7.tar.gz) = b90bfbbaaa772c8da023130c2e3f85b5a0cd6decc4973cd615a3334410627b5c
-SIZE (Bio-DB-NCBIHelper-1.7.7.tar.gz) = 45290
+TIMESTAMP = 1703227832
+SHA256 (Bio-DB-NCBIHelper-1.7.8.tar.gz) = f8e2a739c872608a24003a642a686b6e9c72af59a3bc0aceea6e5a5c2ea5ecbf
+SIZE (Bio-DB-NCBIHelper-1.7.8.tar.gz) = 45770
diff --git a/biology/p5-Bio-DB-NCBIHelper/pkg-descr b/biology/p5-Bio-DB-NCBIHelper/pkg-descr
index 2fa0d08cfb54..973b2a225d39 100644
--- a/biology/p5-Bio-DB-NCBIHelper/pkg-descr
+++ b/biology/p5-Bio-DB-NCBIHelper/pkg-descr
@@ -2,5 +2,3 @@ Bio::DB::NCBIHelper provides a single place to setup some common methods for
querying NCBI web databases. This module just centralizes the methods for
constructing a URL for querying NCBI GenBank and NCBI GenPept and the common
HTML stripping done in postprocess_data().
-
-WWW: https://metacpan.org/release/Bio-DB-NCBIHelper
diff --git a/biology/p5-Bio-Das-Lite/Makefile b/biology/p5-Bio-Das-Lite/Makefile
index 73b0d1f65d4e..c4dee3e28fc5 100644
--- a/biology/p5-Bio-Das-Lite/Makefile
+++ b/biology/p5-Bio-Das-Lite/Makefile
@@ -1,5 +1,3 @@
-# Created by: Wen Heping <wen@FreeBSD.org>
-
PORTNAME= Bio-Das-Lite
PORTVERSION= 2.11
PORTREVISION= 1
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Perl extension for the DAS (HTTP+XML) Protocol
+WWW= https://metacpan.org/release/Bio-Das-Lite
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-Bio-Das-Lite/pkg-descr b/biology/p5-Bio-Das-Lite/pkg-descr
index 6e6adfbe58e1..c445fb35a15d 100644
--- a/biology/p5-Bio-Das-Lite/pkg-descr
+++ b/biology/p5-Bio-Das-Lite/pkg-descr
@@ -1,4 +1,2 @@
p5-Bio-Das-Lite is an implementation of a client for the DAS protocol (XML
over HTTP primarily for biological-data).
-
-WWW: https://metacpan.org/release/Bio-Das-Lite
diff --git a/biology/p5-Bio-Das/Makefile b/biology/p5-Bio-Das/Makefile
index 5ccbb5c42cc3..40e614c5b9da 100644
--- a/biology/p5-Bio-Das/Makefile
+++ b/biology/p5-Bio-Das/Makefile
@@ -1,5 +1,3 @@
-# Created by: Razi Khaja <razi@genet.sickkids.on.ca>
-
PORTNAME= Bio-Das
PORTVERSION= 1.17
PORTREVISION= 4
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Client-side library for Distributed Genome Annotation System
+WWW= https://metacpan.org/release/Bio-Das
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-Bio-Das/pkg-descr b/biology/p5-Bio-Das/pkg-descr
index ada0f0f0d13d..1960d71abd23 100644
--- a/biology/p5-Bio-Das/pkg-descr
+++ b/biology/p5-Bio-Das/pkg-descr
@@ -4,5 +4,3 @@ version 1.5. This system is described at http://biodas.org. Both
unencrypted (http:) and SSL-encrypted (https:) DAS servers are sup-
ported. (To run SSL, you will need IO::Socket::SSL and Net::SSLeay
installed).
-
-WWW: https://metacpan.org/release/Bio-Das
diff --git a/biology/p5-Bio-FeatureIO/Makefile b/biology/p5-Bio-FeatureIO/Makefile
index 26e0f9f6c6b3..64d0ec0e3687 100644
--- a/biology/p5-Bio-FeatureIO/Makefile
+++ b/biology/p5-Bio-FeatureIO/Makefile
@@ -1,5 +1,3 @@
-# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
PORTNAME= Bio-FeatureIO
PORTVERSION= 1.6.905
CATEGORIES= biology perl5
@@ -8,6 +6,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Handler for FeatureIO
+WWW= https://metacpan.org/release/Bio-FeatureIO
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-Bio-FeatureIO/pkg-descr b/biology/p5-Bio-FeatureIO/pkg-descr
index 205c78e7c659..32f80cd41310 100644
--- a/biology/p5-Bio-FeatureIO/pkg-descr
+++ b/biology/p5-Bio-FeatureIO/pkg-descr
@@ -15,5 +15,3 @@ The idea is that you request a stream object for a particular format. All the
stream objects have a notion of an internal file that is read from or written
to. A particular FeatureIO object instance is configured for either input or
output. A specific example of a stream object is the Bio::FeatureIO::gff object.
-
-WWW: https://metacpan.org/release/Bio-FeatureIO
diff --git a/biology/p5-Bio-GFF3/Makefile b/biology/p5-Bio-GFF3/Makefile
index ac0b9f0ecf6b..764bafe929f6 100644
--- a/biology/p5-Bio-GFF3/Makefile
+++ b/biology/p5-Bio-GFF3/Makefile
@@ -1,5 +1,3 @@
-# Created by: Wen Heping <wenheping@gmail.com>
-
PORTNAME= Bio-GFF3
PORTVERSION= 2.0
PORTREVISION= 2
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Fast low-level functions for parsing and formatting GFF3
+WWW= https://metacpan.org/release/Bio-GFF3
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-Bio-GFF3/pkg-descr b/biology/p5-Bio-GFF3/pkg-descr
index a33c55b90369..5dfc77b2e7bf 100644
--- a/biology/p5-Bio-GFF3/pkg-descr
+++ b/biology/p5-Bio-GFF3/pkg-descr
@@ -1,5 +1,3 @@
Bio::GFF3 are low-level, fast functions for parsing GFF version 3 files.
All they do is convert back and forth between low-level Perl data
structures and GFF3 text.
-
-WWW: https://metacpan.org/release/Bio-GFF3
diff --git a/biology/p5-Bio-Glite/Makefile b/biology/p5-Bio-Glite/Makefile
index d80c6fefe950..4dad9a47d1b3 100644
--- a/biology/p5-Bio-Glite/Makefile
+++ b/biology/p5-Bio-Glite/Makefile
@@ -1,5 +1,3 @@
-# Created by: Wen Heping <wenheping@gmail.com>
-
PORTNAME= Bio-Glite
PORTVERSION= 0.10
PORTREVISION= 2
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Perl Interface to G-language
+WWW= https://metacpan.org/release/Bio-Glite
BUILD_DEPENDS= ${RUN_DEPENDS}
RUN_DEPENDS= p5-libwww>=5:www/p5-libwww
diff --git a/biology/p5-Bio-Glite/pkg-descr b/biology/p5-Bio-Glite/pkg-descr
index 5c45dfee7a31..5ffd64ee6945 100644
--- a/biology/p5-Bio-Glite/pkg-descr
+++ b/biology/p5-Bio-Glite/pkg-descr
@@ -14,5 +14,3 @@ Disadvantages includes:
1. Slower analysis speed
2. Internet connection is required
3. No other software interfaces such as the G-language Shell
-
-WWW: https://metacpan.org/release/Bio-Glite
diff --git a/biology/p5-Bio-Graphics/Makefile b/biology/p5-Bio-Graphics/Makefile
index 27f4b0aad89e..1c3eace8eb44 100644
--- a/biology/p5-Bio-Graphics/Makefile
+++ b/biology/p5-Bio-Graphics/Makefile
@@ -1,5 +1,3 @@
-# Created by: wen@FreeBSD.org
-
PORTNAME= Bio-Graphics
PORTVERSION= 2.40
PORTREVISION= 2
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Generate GD Images of Bio::Seq Objects
+WWW= https://metacpan.org/release/Bio-Graphics
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-Bio-Graphics/pkg-descr b/biology/p5-Bio-Graphics/pkg-descr
index b99d8f8ba9bf..eb638da3134b 100644
--- a/biology/p5-Bio-Graphics/pkg-descr
+++ b/biology/p5-Bio-Graphics/pkg-descr
@@ -1,4 +1,2 @@
p5-Bio-Graphics is a simple GD-based renderer (diagram drawer)
for DNA and protein sequences.
-
-WWW: https://metacpan.org/release/Bio-Graphics
diff --git a/biology/p5-Bio-MAGETAB/Makefile b/biology/p5-Bio-MAGETAB/Makefile
index f145366b25d8..c4fb02ed6956 100644
--- a/biology/p5-Bio-MAGETAB/Makefile
+++ b/biology/p5-Bio-MAGETAB/Makefile
@@ -1,5 +1,3 @@
-# Created by: Wen Heping <wenheping@gmail.com>
-
PORTNAME= Bio-MAGETAB
PORTVERSION= 1.31
PORTREVISION= 2
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Data model and utility API for the MAGE-TAB format
+WWW= https://metacpan.org/release/Bio-MAGETAB
LICENSE= GPLv2
diff --git a/biology/p5-Bio-MAGETAB/pkg-descr b/biology/p5-Bio-MAGETAB/pkg-descr
index 98c165946540..9585a396b627 100644
--- a/biology/p5-Bio-MAGETAB/pkg-descr
+++ b/biology/p5-Bio-MAGETAB/pkg-descr
@@ -4,5 +4,3 @@ have test suites; the exceptions include the modules involved in
export of MAGE-TAB documents, which are still a little experimental in
nature. The API is mostly finalised (and fully documented), but some
details may yet change where necessary to improve usability.
-
-WWW: https://metacpan.org/release/Bio-MAGETAB
diff --git a/biology/p5-Bio-NEXUS/Makefile b/biology/p5-Bio-NEXUS/Makefile
index 73f484e93f8a..9bd1470cf23b 100644
--- a/biology/p5-Bio-NEXUS/Makefile
+++ b/biology/p5-Bio-NEXUS/Makefile
@@ -1,5 +1,3 @@
-# Created by: Wen Heping <wenheping@gmail.com>
-
PORTNAME= Bio-NEXUS
PORTVERSION= 0.78
PORTREVISION= 1
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Object-oriented Perl API for the NEXUS file format
+WWW= https://metacpan.org/release/Bio-NEXUS
BUILD_DEPENDS= ${RUN_DEPENDS}
RUN_DEPENDS= p5-Clone-PP>=1.02:devel/p5-Clone-PP
diff --git a/biology/p5-Bio-NEXUS/pkg-descr b/biology/p5-Bio-NEXUS/pkg-descr
index da13bfca9d12..6a9e71108245 100644
--- a/biology/p5-Bio-NEXUS/pkg-descr
+++ b/biology/p5-Bio-NEXUS/pkg-descr
@@ -10,5 +10,3 @@ so on. This package also contains the demonstration applications
nexplot.pl (plot character data with a tree) and nextool.pl
(allowing programmatic editing, e.g., selecting particular
clades or subsets of data).
-
-WWW: https://metacpan.org/release/Bio-NEXUS
diff --git a/biology/p5-Bio-Phylo/Makefile b/biology/p5-Bio-Phylo/Makefile
index 4242851d0119..61093e52c484 100644
--- a/biology/p5-Bio-Phylo/Makefile
+++ b/biology/p5-Bio-Phylo/Makefile
@@ -1,5 +1,3 @@
-# Created by: Aaron Dalton <aaron@FreeBSD.org>
-
PORTNAME= Bio-Phylo
PORTVERSION= 2.0.1
DISTVERSIONPREFIX= v
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Phylogenetic analysis using Perl
+WWW= https://metacpan.org/release/Bio-Phylo
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-Bio-Phylo/pkg-descr b/biology/p5-Bio-Phylo/pkg-descr
index 90e77b750bc5..a286fd6d9071 100644
--- a/biology/p5-Bio-Phylo/pkg-descr
+++ b/biology/p5-Bio-Phylo/pkg-descr
@@ -1,5 +1,3 @@
This is the base class for the Bio::Phylo package. All other modules
inherit from it, the methods defined here are applicable to all. Consult
the manual for usage examples: Bio::Phylo::Manual.
-
-WWW: https://metacpan.org/release/Bio-Phylo
diff --git a/biology/p5-Bio-SCF/Makefile b/biology/p5-Bio-SCF/Makefile
index 1a1aaef6e60a..88685f19c21b 100644
--- a/biology/p5-Bio-SCF/Makefile
+++ b/biology/p5-Bio-SCF/Makefile
@@ -1,5 +1,3 @@
-# Created by: Wen Heping <wenheping@gmail.com>
-
PORTNAME= Bio-SCF
PORTVERSION= 1.03
PORTREVISION= 2
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= wen@FreeBSD.org
COMMENT= Read and Update SCF Chromatographic Sequence Files
+WWW= https://metacpan.org/release/Bio-SCF
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-Bio-SCF/pkg-descr b/biology/p5-Bio-SCF/pkg-descr
index 4b199e1a8c85..ee7aeeb48615 100644
--- a/biology/p5-Bio-SCF/pkg-descr
+++ b/biology/p5-Bio-SCF/pkg-descr
@@ -2,5 +2,3 @@ Bio::SCF module allows you to read and update (in a restricted
way) SCF chromatographic sequence files. It is an interface to
Roger Staden's io-lib. See the installation directions for further
instructions.
-
-WWW: https://metacpan.org/release/Bio-SCF
diff --git a/biology/p5-Bio-Variation/Makefile b/biology/p5-Bio-Variation/Makefile
index 3794ca64e3c2..3db6be6b6934 100644
--- a/biology/p5-Bio-Variation/Makefile
+++ b/biology/p5-Bio-Variation/Makefile
@@ -1,5 +1,3 @@
-# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
PORTNAME= Bio-Variation
PORTVERSION= 1.7.5
CATEGORIES= biology perl5
@@ -8,6 +6,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= BioPerl variation-related functionality
+WWW= https://metacpan.org/release/Bio-Variation
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-Bio-Variation/pkg-descr b/biology/p5-Bio-Variation/pkg-descr
index 29d4524c634e..9fafea118ff1 100644
--- a/biology/p5-Bio-Variation/pkg-descr
+++ b/biology/p5-Bio-Variation/pkg-descr
@@ -1,3 +1 @@
Bio::Variation::* provides BioPerl variation-related functionality.
-
-WWW: https://metacpan.org/release/Bio-Variation
diff --git a/biology/p5-BioPerl-Run/Makefile b/biology/p5-BioPerl-Run/Makefile
index a4c7a1246fa9..61bdf13df294 100644
--- a/biology/p5-BioPerl-Run/Makefile
+++ b/biology/p5-BioPerl-Run/Makefile
@@ -1,5 +1,3 @@
-# Created by: Mauricio Herrera Cuadra <mauricio@arareko.net>
-
PORTNAME= BioPerl-Run
PORTVERSION= 1.007003
CATEGORIES= biology perl5
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Wrapper modules for common bioinformatics tools
+WWW= https://github.com/bioperl/bioperl-run
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/biology/p5-BioPerl-Run/pkg-descr b/biology/p5-BioPerl-Run/pkg-descr
index 4139c169c6d3..a14b7b965751 100644
--- a/biology/p5-BioPerl-Run/pkg-descr
+++ b/biology/p5-BioPerl-Run/pkg-descr
@@ -1,5 +1,3 @@
Bioperl-run contain modules that provides a PERL interface to various
bioinformatics applications. This allows various applications to be used
with common Bioperl objects.
-
-WWW: https://github.com/bioperl/bioperl-run
diff --git a/biology/p5-BioPerl/Makefile b/biology/p5-BioPerl/Makefile
index 64b0a207811e..f91c0a5be426 100644
--- a/biology/p5-BioPerl/Makefile
+++ b/biology/p5-BioPerl/Makefile
@@ -1,16 +1,15 @@
-# Created by: Johann Visagie <johann@egenetics.com>
-
PORTNAME= BioPerl
-PORTVERSION= 1.007007
-PORTREVISION= 1
+PORTVERSION= 1.007008
CATEGORIES= biology perl5
MASTER_SITES= CPAN
MASTER_SITE_SUBDIR= CPAN:CJFIELDS
PKGNAMEPREFIX= p5-
-DISTNAME= ${PORTNAME}-${PORTVERSION:R}${PORTVERSION:E:S|00|.|g}
+DISTNAME= BioPerl-${PORTVERSION:R}${PORTVERSION:E:S|00|.|g}
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Collection of Perl modules for bioinformatics
+WWW= https://metacpan.org/dist/BioPerl \
+ https://bioperl.org/
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
@@ -30,12 +29,11 @@ RUN_DEPENDS= p5-Data-Stag>=0:devel/p5-Data-Stag \
p5-Test-Most>=0:devel/p5-Test-Most \
p5-Test-RequiresInternet>=0:devel/p5-Test-RequiresInternet \
p5-URI>=0:net/p5-URI \
- p5-XML-DOM-XPath>=0:textproc/p5-XML-DOM-XPath \
p5-XML-DOM>=0:textproc/p5-XML-DOM \
p5-XML-LibXML>=0:textproc/p5-XML-LibXML \
+ p5-XML-SAX>=0:textproc/p5-XML-SAX \
p5-XML-SAX-Base>=0:textproc/p5-XML-SAX-Base \
p5-XML-SAX-Writer>=0:textproc/p5-XML-SAX-Writer \
- p5-XML-SAX>=0:textproc/p5-XML-SAX \
p5-XML-Twig>=0:textproc/p5-XML-Twig \
p5-XML-Writer>=0:textproc/p5-XML-Writer \
p5-YAML>=0:textproc/p5-YAML \
diff --git a/biology/p5-BioPerl/distinfo b/biology/p5-BioPerl/distinfo
index 35db2f57ddf6..01ab232e2aa9 100644
--- a/biology/p5-BioPerl/distinfo
+++ b/biology/p5-BioPerl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1575793851
-SHA256 (BioPerl-1.7.7.tar.gz) = 730e2bd38b7550bf6bbd5bca50d019a70cca514559702c1389d770ff69cff1bb
-SIZE (BioPerl-1.7.7.tar.gz) = 7532782
+TIMESTAMP = 1696904108
+SHA256 (BioPerl-1.7.8.tar.gz) = c490a3be7715ea6e4305efd9710e5edab82dabc55fd786b6505b550a30d71738
+SIZE (BioPerl-1.7.8.tar.gz) = 7527658
diff --git a/biology/p5-BioPerl/pkg-descr b/biology/p5-BioPerl/pkg-descr
index bfdb8ca5a5b9..44ac2e49cf03 100644
--- a/biology/p5-BioPerl/pkg-descr
+++ b/biology/p5-BioPerl/pkg-descr
@@ -7,5 +7,3 @@ genomics applications.
(For an interesting aside on "How Perl saved the Human Genome Project", see
http://www.bioperl.org/wiki/How_Perl_saved_human_genome)
-
-WWW: https://bioperl.org/
diff --git a/biology/p5-BioPerl/pkg-plist b/biology/p5-BioPerl/pkg-plist
index afa3cb8732ea..1851c68dcf25 100644
--- a/biology/p5-BioPerl/pkg-plist
+++ b/biology/p5-BioPerl/pkg-plist
@@ -384,7 +384,6 @@ bin/bp_unflatten_seq
%%SITE_PERL%%/Bio/SeqIO/gbxml.pm
%%SITE_PERL%%/Bio/SeqIO/gcg.pm
%%SITE_PERL%%/Bio/SeqIO/genbank.pm
-%%SITE_PERL%%/Bio/SeqIO/interpro.pm
%%SITE_PERL%%/Bio/SeqIO/kegg.pm
%%SITE_PERL%%/Bio/SeqIO/largefasta.pm
%%SITE_PERL%%/Bio/SeqIO/locuslink.pm
@@ -896,7 +895,6 @@ bin/bp_unflatten_seq
%%PERL5_MAN3%%/Bio::SeqIO::gbxml.3.gz
%%PERL5_MAN3%%/Bio::SeqIO::gcg.3.gz
%%PERL5_MAN3%%/Bio::SeqIO::genbank.3.gz
-%%PERL5_MAN3%%/Bio::SeqIO::interpro.3.gz
%%PERL5_MAN3%%/Bio::SeqIO::kegg.3.gz
%%PERL5_MAN3%%/Bio::SeqIO::largefasta.3.gz
%%PERL5_MAN3%%/Bio::SeqIO::locuslink.3.gz
diff --git a/biology/p5-TrimGalore/Makefile b/biology/p5-TrimGalore/Makefile
index b3de61f2fe99..7bfb87576a66 100644
--- a/biology/p5-TrimGalore/Makefile
+++ b/biology/p5-TrimGalore/Makefile
@@ -3,8 +3,9 @@ DISTVERSION= 0.6.5
CATEGORIES= biology perl5 python
PKGNAMEPREFIX= p5-
-MAINTAINER= jwb@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Wrapper around Cutadapt and FastQC for adapter and quality trimming
+WWW= https://github.com/FelixKrueger/TrimGalore
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -13,7 +14,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cutadapt>=2.5:biology/py-cutadapt@${PY_FLAVO
fastqc>0:biology/fastqc
# Future: Can 3.4+ be determined from cutadapt dep?
-USES= perl5 python:env,3.4+ shebangfix
+USES= perl5 python:env shebangfix
USE_PERL5= run
USE_GITHUB= yes
diff --git a/biology/p5-TrimGalore/pkg-descr b/biology/p5-TrimGalore/pkg-descr
index 849448684845..bffcd2c6951f 100644
--- a/biology/p5-TrimGalore/pkg-descr
+++ b/biology/p5-TrimGalore/pkg-descr
@@ -1,4 +1,2 @@
Wrapper around Cutadapt and FastQC to consistently apply adapter and quality
trimming to FastQ files, with extra functionality for RRBS data.
-
-WWW: https://github.com/FelixKrueger/TrimGalore
diff --git a/biology/p5-transdecoder/Makefile b/biology/p5-transdecoder/Makefile
index 4764a26a1b4f..cc5ea8d2a42d 100644
--- a/biology/p5-transdecoder/Makefile
+++ b/biology/p5-transdecoder/Makefile
@@ -1,12 +1,12 @@
PORTNAME= transdecoder
DISTVERSIONPREFIX= TransDecoder-v
-DISTVERSION= 5.4.0
-PORTREVISION= 2
+DISTVERSION= 5.7.1
CATEGORIES= biology perl5
PKGNAMEPREFIX= p5-
MAINTAINER= jwb@FreeBSD.org
COMMENT= Identify candidate coding regions within transcript sequences
+WWW= https://transdecoder.github.io/
LICENSE= BSD3CLAUSE
diff --git a/biology/p5-transdecoder/distinfo b/biology/p5-transdecoder/distinfo
index fdf185b1cb55..c5d717b029ce 100644
--- a/biology/p5-transdecoder/distinfo
+++ b/biology/p5-transdecoder/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1540225907
-SHA256 (transdecoder-TransDecoder-TransDecoder-v5.4.0_GH0.tar.gz) = a6fa776c6eac30922632df1a5362b7564bfcb05728daeb53d0c2c3a9dc899df5
-SIZE (transdecoder-TransDecoder-TransDecoder-v5.4.0_GH0.tar.gz) = 15748557
+TIMESTAMP = 1691268775
+SHA256 (transdecoder-TransDecoder-TransDecoder-v5.7.1_GH0.tar.gz) = 41dd5e95f6ba946ff21340417d867e5e99f123b4035779b25d3cffd20b828a30
+SIZE (transdecoder-TransDecoder-TransDecoder-v5.7.1_GH0.tar.gz) = 15749916
diff --git a/biology/p5-transdecoder/pkg-descr b/biology/p5-transdecoder/pkg-descr
index a3ad8cc244d6..a24d00f8d991 100644
--- a/biology/p5-transdecoder/pkg-descr
+++ b/biology/p5-transdecoder/pkg-descr
@@ -2,5 +2,3 @@ TransDecoder identifies candidate coding regions within transcript sequences,
such as those generated by de novo RNA-Seq transcript assembly using Trinity,
or constructed based on RNA-Seq alignments to the genome using Tophat and
Cufflinks.
-
-WWW: http://transdecoder.github.io/
diff --git a/biology/paml/Makefile b/biology/paml/Makefile
index 39c03f19b24d..7ba18e506f72 100644
--- a/biology/paml/Makefile
+++ b/biology/paml/Makefile
@@ -1,23 +1,22 @@
-# Created by: dbader@eece.unm.edu
-
PORTNAME= paml
-PORTVERSION= 4.9j
+DISTVERSION= 4.10.7
CATEGORIES= biology
-MASTER_SITES= http://abacus.gene.ucl.ac.uk/software/
-DISTNAME= ${PORTNAME}${DISTVERSION}
MAINTAINER= jrm@FreeBSD.org
COMMENT= Phylogenetic Analysis by Maximum Likelihood (PAML)
+WWW= http://abacus.gene.ucl.ac.uk/software/paml.html
LICENSE= GPLv3
-USES= dos2unix gmake tar:tgz
-
-DOS2UNIX_GLOB= *.HKYG5 *.aa *.c *.ctl *.dat *.nexus *.nuc *.phy *.result *.tre \
+USES= dos2unix gmake
+DOS2UNIX_GLOB= *.aa *.c *.ctl *.dat *.HKYG5 *.nexus *.nuc *.phy *.result *.tre \
*.trees *.txt *.xml paupblock paupend
+USE_GITHUB= yes
+GH_ACCOUNT= abacus-gene
BINARIES= baseml basemlg chi2 codeml evolver evolverNSbranches \
- evolverNSbranchsites evolverNSsites pamp yn00
+ evolverNSbranchsites evolverNSsites infinitesites mcmctree pamp \
+ yn00
OPTIONS_DEFINE= DOCS EXAMPLES
@@ -39,15 +38,12 @@ do-install:
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/doc/* ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/README.txt ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
do-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC} && ${COPYTREE_SHARE} "dat Technical" \
${STAGEDIR}${EXAMPLESDIR})
(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
-.for f in *.aa *.ctl *.dat *.nuc *.trees *.txt paup*
- ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${EXAMPLESDIR}
-.endfor
.include <bsd.port.mk>
diff --git a/biology/paml/distinfo b/biology/paml/distinfo
index c6e205ca7ab2..cd64f0e34127 100644
--- a/biology/paml/distinfo
+++ b/biology/paml/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1574435935
-SHA256 (paml4.9j.tgz) = 97aac6cb8f23844202545e9ba4e42020231c2a30051b36f4e4d2f423e270d461
-SIZE (paml4.9j.tgz) = 6562281
+TIMESTAMP = 1688759942
+SHA256 (abacus-gene-paml-4.10.7_GH0.tar.gz) = 0f29e768b3797b69eadc6332c3d046d8727702052d56c3b729883626c0a5a4e3
+SIZE (abacus-gene-paml-4.10.7_GH0.tar.gz) = 5250841
diff --git a/biology/paml/files/patch-src_Makefile b/biology/paml/files/patch-src_Makefile
new file mode 100644
index 000000000000..4a9bd7ed2da6
--- /dev/null
+++ b/biology/paml/files/patch-src_Makefile
@@ -0,0 +1,10 @@
+--- src/Makefile.orig 2023-07-08 03:40:50 UTC
++++ src/Makefile
+@@ -1,6 +1,6 @@ CC = cc # cc, gcc, cl
+ PRGS = baseml codeml basemlg mcmctree pamp evolver yn00 chi2
+ CC = cc # cc, gcc, cl
+-CFLAGS = -O3 -Wall -Wno-unused-result -Wmemset-elt-size
++CFLAGS = -O3 -Wall -Wno-unused-result
+ #CC = icc
+ #CFLAGS = -fast -Wall
+
diff --git a/biology/paml/files/patch-src_paml.h b/biology/paml/files/patch-src_paml.h
deleted file mode 100644
index c7e35c89038f..000000000000
--- a/biology/paml/files/patch-src_paml.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/paml.h.orig 2020-08-20 16:14:50 UTC
-+++ src/paml.h
-@@ -372,9 +372,9 @@ void copySptree(void);
- void printSptree(void);
-
-
--enum {BASEseq=0, CODONseq, AAseq, CODON2AAseq, BINARYseq, BASE5seq} SeqTypes;
-+enum SeqTypes {BASEseq=0, CODONseq, AAseq, CODON2AAseq, BINARYseq, BASE5seq};
-
--enum {PrBranch=1, PrNodeNum=2, PrLabel=4, PrNodeStr=8, PrAge=16, PrOmega=32} OutTreeOptions;
-+enum OutTreeOptions {PrBranch=1, PrNodeNum=2, PrLabel=4, PrNodeStr=8, PrAge=16, PrOmega=32};
-
-
- /* use mean (0; default) for discrete gamma instead of median (1) */
diff --git a/biology/paml/pkg-descr b/biology/paml/pkg-descr
index 68733fd977c8..068682cd2648 100644
--- a/biology/paml/pkg-descr
+++ b/biology/paml/pkg-descr
@@ -5,5 +5,3 @@ sequences using maximum likelihood. It is not good for tree making. It may be
used to estimate parameters and test hypotheses for the study the evolutionary
process using trees reconstructed with programs such as PAUP*, PHYLIP, MOLPHY,
PhyML, or RaxML.
-
-WWW: http://abacus.gene.ucl.ac.uk/software/paml.html
diff --git a/biology/paml/pkg-plist b/biology/paml/pkg-plist
index 9c0041d7c15f..544b761367c3 100644
--- a/biology/paml/pkg-plist
+++ b/biology/paml/pkg-plist
@@ -1,5 +1,17 @@
+bin/baseml
+bin/basemlg
+bin/chi2
+bin/codeml
+bin/evolver
+bin/evolverNSbranches
+bin/evolverNSbranchsites
+bin/evolverNSsites
+bin/infinitesites
+bin/mcmctree
+bin/pamp
+bin/yn00
%%PORTDOCS%%%%DOCSDIR%%/MCMCtree.Tutorials.pdf
-%%PORTDOCS%%%%DOCSDIR%%/README.txt
+%%PORTDOCS%%%%DOCSDIR%%/README.md
%%PORTDOCS%%%%DOCSDIR%%/pamlDOC.pdf
%%PORTDOCS%%%%DOCSDIR%%/pamlFAQs.pdf
%%PORTDOCS%%%%DOCSDIR%%/pamlHistory.txt
@@ -32,9 +44,13 @@
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/HIVNSsites/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/HIVNSsites/codeml.ctl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/MCaa.dat
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/MCaa.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/MCbase.dat
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/MCbase.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/MCbaseRandomTree.dat
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/MCbaseRandomTree.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/MCcodon.dat
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/MCcodon.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/MHC.Swanson2002MBE/README.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/MHC.Swanson2002MBE/bigmhc.phy
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/MHC.Swanson2002MBE/bigmhc.trees
@@ -77,7 +93,6 @@
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/TipDate.FluH1/mcmctreeClock1.ctl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/TipDate.FluH1/mcmctreeClock2.ctl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/TipDate.FluH1/mcmctreeClock3.ctl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/TipDate.HIV2/FigTree.tre
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/TipDate.HIV2/HIV2ge.tre
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/TipDate.HIV2/HIV2ge.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/TipDate.HIV2/README.txt
@@ -85,7 +100,7 @@
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/TipDate.HIV2/in.BV.HKYG5
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/TipDate.HIV2/mcmctree.ExactlnL.ctl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/TipDate.HIV2/mcmctree.ctl
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/YN00abglobin.result
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/YN00abglobin.result.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/aaml.ctl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/abglobin.aa
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/abglobin.nuc
@@ -115,6 +130,12 @@
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dat/mtREV24.dat
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dat/mtmam.dat
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dat/wag.dat
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dating-cross-bracing/6s-bracing.trees
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dating-cross-bracing/6s.trees
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dating-cross-bracing/MCbase-6s.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dating-cross-bracing/mc.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dating-cross-bracing/mcmctree-bracing.ctl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dating-cross-bracing/mcmctree.ctl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/horai.nuc
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/horai.trees
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lysin/README.txt
@@ -154,6 +175,34 @@
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mtCDNAape/mtCDNAape.trees
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mtCDNAape/mtCDNAape.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mtprim9.nuc
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/myxo/codeml-M0.ctl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/myxo/myxovirus.aln
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/myxo/myxovirus.tree
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/4s-ndata-maintree.trees
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/4s-ndata.trees
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/4s-ndata.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/4s.trees
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/5s-mc.trees
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/MCbase.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/README.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/baseml-ndata-maintree-ml.ctl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/baseml-ndata-maintree.ctl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/baseml-ndata.ctl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/baseml.ctl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/codeml-ndata-maintree-ml.ctl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/codeml-ndata-maintree.ctl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/codeml-ndata.ctl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ndata/mc.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/README.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/baseml-nhomo4.ctl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/baseml-nhomo5.ctl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/data-MCU0.95-rep1.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/mlb-nhomo4.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/mlb-nhomo5.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/rst-nhomo4.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/rst-nhomo5.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/tree-nhomo4.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/tree-nhomo5.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pamp.ctl
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/paupblock
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/paupend
@@ -161,13 +210,3 @@
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/stewart.aa
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/stewart.trees
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yn00.ctl
-bin/baseml
-bin/basemlg
-bin/chi2
-bin/codeml
-bin/evolver
-bin/evolverNSbranches
-bin/evolverNSbranchsites
-bin/evolverNSsites
-bin/pamp
-bin/yn00
diff --git a/biology/pbbam/Makefile b/biology/pbbam/Makefile
index 6e7b508c36f0..b3eed8d1258f 100644
--- a/biology/pbbam/Makefile
+++ b/biology/pbbam/Makefile
@@ -1,12 +1,13 @@
PORTNAME= pbbam
DISTVERSION= 0.18.0 # Test with biology/unanimity before upgrading!
-PORTREVISION= 5
+PORTREVISION= 8
CATEGORIES= biology
# As of March 2018, unanimity is no longer open source.
# See https://github.com/PacificBiosciences/ccs.
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= PacBio BAM C++ library, with SWIG bindings
+WWW= https://github.com/PacificBiosciences/pbbam
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
diff --git a/biology/pbbam/pkg-descr b/biology/pbbam/pkg-descr
index e69614ed4778..9b3676cd4063 100644
--- a/biology/pbbam/pkg-descr
+++ b/biology/pbbam/pkg-descr
@@ -7,5 +7,3 @@ built around the legacy cmp.h5 format.
The pbbam software package provides components to create, query, & edit PacBio
BAM files and associated indices. These components include a core C++ library,
bindings for additional languages, and command-line utilities.
-
-WWW: https://github.com/PacificBiosciences/pbbam
diff --git a/biology/pbseqan/Makefile b/biology/pbseqan/Makefile
index 2753dc6c27d5..a7d8d6e04759 100644
--- a/biology/pbseqan/Makefile
+++ b/biology/pbseqan/Makefile
@@ -4,13 +4,15 @@ CATEGORIES= biology
# As of March 2018, unanimity is no longer open source.
# See https://github.com/PacificBiosciences/ccs.
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Pacific Biosciences patched and stripped down SeqAn
+WWW= https://github.com/PacificBiosciences/seqan
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
DEPRECATED= Upstream merged into SeqAn project: Use biology/seqan
+EXPIRATION_DATE= 2024-05-05
USE_GITHUB= yes
GH_ACCOUNT= PacificBiosciences
diff --git a/biology/pbseqan/pkg-descr b/biology/pbseqan/pkg-descr
index 9600122166b3..40bf624533db 100644
--- a/biology/pbseqan/pkg-descr
+++ b/biology/pbseqan/pkg-descr
@@ -7,5 +7,3 @@ development team!). However PacBio only uses a small amount of the SeqAn
code-base, and in addition requires a few minor fixes that didn't make it in to
the initial release of SeqAn v2.0.0. Thus to minimize confusion and band-width,
we will depend on this fork instead of SeqAn proper.
-
-WWW: https://github.com/PacificBiosciences/seqan
diff --git a/biology/peak-classifier/Makefile b/biology/peak-classifier/Makefile
index 920c689f2793..fc7ddb9226a8 100644
--- a/biology/peak-classifier/Makefile
+++ b/biology/peak-classifier/Makefile
@@ -1,10 +1,12 @@
PORTNAME= peak-classifier
-DISTVERSION= 0.1.1-21
-DISTVERSIONSUFFIX= -gc1b21c2
+DISTVERSION= 0.1.4-13
+DISTVERSIONSUFFIX= -gfb89af3
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Classify ChIP/ATAC-Seq peaks based on features provided in a GFF
+WWW= https://github.com/auerlab/peak-classifier
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -13,12 +15,14 @@ LIB_DEPENDS= libxtend.so:devel/libxtend libbiolibc.so:biology/biolibc
RUN_DEPENDS= bedtools:biology/bedtools \
${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR}
-USES= localbase python:3.7+ shebangfix
+USES= localbase python shebangfix
USE_GITHUB= yes
-
GH_ACCOUNT= auerlab
+
SHEBANG_FILES= feature-view.py
+MAKE_ARGS= MANPREFIX=${PREFIX}/share
+
pre-build:
cd ${WRKSRC} && make depend LOCALBASE=${LOCALBASE}
diff --git a/biology/peak-classifier/distinfo b/biology/peak-classifier/distinfo
index 726acb732b09..f251390fa7ac 100644
--- a/biology/peak-classifier/distinfo
+++ b/biology/peak-classifier/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1630598819
-SHA256 (auerlab-peak-classifier-0.1.1-21-gc1b21c2_GH0.tar.gz) = 57b1468642a5933321f7feae7c6f89aeee919f53053fa3e7c465be58009a198d
-SIZE (auerlab-peak-classifier-0.1.1-21-gc1b21c2_GH0.tar.gz) = 86605
+TIMESTAMP = 1694019604
+SHA256 (auerlab-peak-classifier-0.1.4-13-gfb89af3_GH0.tar.gz) = 83fd1032eb3ab8b92ffbbf9f06da1b18cf93a39bc01aba249961550e548c0df1
+SIZE (auerlab-peak-classifier-0.1.4-13-gfb89af3_GH0.tar.gz) = 87429
diff --git a/biology/peak-classifier/pkg-descr b/biology/peak-classifier/pkg-descr
index b123dcbc554d..875a28de0c90 100644
--- a/biology/peak-classifier/pkg-descr
+++ b/biology/peak-classifier/pkg-descr
@@ -1,8 +1,5 @@
Classify ChIP/ATAC-Seq peaks based on features provided in a GFF
-
Peaks are provided in a BED file sorted by chromosome and position. The GFF
must be sorted by chromosome and position, with gene-level features separated
by ### tags and each gene organized into subfeatures such as transcripts and
exons. This is the default for common data sources.
-
-WWW: https://github.com/auerlab/peak-classifier
diff --git a/biology/peak-classifier/pkg-plist b/biology/peak-classifier/pkg-plist
index 787333471195..a2004325fc61 100644
--- a/biology/peak-classifier/pkg-plist
+++ b/biology/peak-classifier/pkg-plist
@@ -3,7 +3,7 @@ bin/feature-view
bin/filter-overlaps
bin/peak-classifier
libexec/extract-genes.awk
-man/man1/extract-genes.1.gz
-man/man1/feature-view.1.gz
-man/man1/filter-overlaps.1.gz
-man/man1/peak-classifier.1.gz
+share/man/man1/extract-genes.1.gz
+share/man/man1/feature-view.1.gz
+share/man/man1/filter-overlaps.1.gz
+share/man/man1/peak-classifier.1.gz
diff --git a/biology/pear-merger/Makefile b/biology/pear-merger/Makefile
index 6a4544756905..9a2daef9d545 100644
--- a/biology/pear-merger/Makefile
+++ b/biology/pear-merger/Makefile
@@ -2,6 +2,7 @@
PORTNAME= pear
DISTVERSION= 0.9.6
+PORTREVISION= 1
CATEGORIES= biology
MASTER_SITES= https://depot.galaxyproject.org/software/pear/
PKGNAMESUFFIX= -merger
@@ -9,6 +10,7 @@ DISTNAME= ${PORTNAME}_${PORTVERSION}_src_all
MAINTAINER= jwb@FreeBSD.org
COMMENT= Memory-efficient and highly accurate paired-end read merger
+WWW= https://sco.h-its.org/exelixis/web/software/pear/
LICENSE= CC-BY-NC-SA-3.0
@@ -16,7 +18,7 @@ GNU_CONFIGURE= yes
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}-src
-PLIST_FILES= bin/pearRM man/man1/pearRM.1.gz
+PLIST_FILES= bin/pearRM share/man/man1/pearRM.1.gz
.include <bsd.port.options.mk>
@@ -27,6 +29,6 @@ USE_GCC= yes
do-install:
@${CP} ${WRKSRC}/man/pear.1 ${WRKSRC}/man/pearRM.1
${INSTALL_PROGRAM} ${WRKSRC}/src/pear ${STAGEDIR}${PREFIX}/bin/pearRM
- ${INSTALL_MAN} ${WRKSRC}/man/pearRM.1 ${STAGEDIR}${MANPREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/man/pearRM.1 ${STAGEDIR}${PREFIX}/share/man/man1
.include <bsd.port.mk>
diff --git a/biology/pear-merger/pkg-descr b/biology/pear-merger/pkg-descr
index d95dbeea4b26..576e16ba2d40 100644
--- a/biology/pear-merger/pkg-descr
+++ b/biology/pear-merger/pkg-descr
@@ -1,5 +1,3 @@
PEAR is an ultrafast, memory-efficient and highly accurate paired-end read
merger. It is fully parallelized and can run with as low as just a few
kilobytes of memory.
-
-WWW: http://sco.h-its.org/exelixis/web/software/pear/
diff --git a/biology/phrap/Makefile b/biology/phrap/Makefile
index fa42c1f542a9..813ba478d1cc 100644
--- a/biology/phrap/Makefile
+++ b/biology/phrap/Makefile
@@ -7,6 +7,7 @@ DIST_SUBDIR= ${PORTNAME}
MAINTAINER= mzaki@m.u-tokyo.ac.jp
COMMENT= Program for assembling shotgun DNA sequence data
+WWW= http://www.phrap.org/phredphrapconsed.html
# Converted from RESTRICTED
LICENSE= PHRAP
diff --git a/biology/phrap/pkg-descr b/biology/phrap/pkg-descr
index d8d44bb5d37c..a0348c5745b5 100644
--- a/biology/phrap/pkg-descr
+++ b/biology/phrap/pkg-descr
@@ -17,5 +17,3 @@ two sets of DNA sequences, and it can be used to:
* compare a set of cDNA sequences to a set of cosmids
* compare contigs found by two altanative assembly procedures to each other
* compare phrap contigs to the final edited cosmid sequence.
-
-WWW: http://www.phrap.org/phredphrapconsed.html
diff --git a/biology/phred/Makefile b/biology/phred/Makefile
index 9f44b59e9d5f..3a5341af8236 100644
--- a/biology/phred/Makefile
+++ b/biology/phred/Makefile
@@ -1,5 +1,3 @@
-# Created by: Motomichi Matsuzaki <mzaki@biol.s.u-tokyo.ac.jp>
-
PORTNAME= phred
PORTVERSION= 0.020425.c
CATEGORIES= biology
@@ -9,6 +7,7 @@ EXTRACT_SUFX= .tar.Z
MAINTAINER= mzaki@m.u-tokyo.ac.jp
COMMENT= Base calling and quality value assignment on DNA sequencing
+WWW= http://www.phrap.org/phredphrapconsed.html
# Converted from RESTRICTED
LICENSE= PHRED
diff --git a/biology/phred/pkg-descr b/biology/phred/pkg-descr
index b92feefd076a..5ca105c804d8 100644
--- a/biology/phred/pkg-descr
+++ b/biology/phred/pkg-descr
@@ -20,5 +20,3 @@ It contains also a data evaluation program called 'daev'.
See DAEV.DOC for more information.
You must obtain the tarball via e-mail to build. See the web site below.
-
-WWW: http://www.phrap.org/phredphrapconsed.html
diff --git a/biology/phyml/Makefile b/biology/phyml/Makefile
index 0881c57ced44..b5feff3eaae3 100644
--- a/biology/phyml/Makefile
+++ b/biology/phyml/Makefile
@@ -1,13 +1,13 @@
-# Created by: ballen
-
PORTNAME= phyml
DISTVERSIONPREFIX= v
-DISTVERSION= 3.3.20200621
+DISTVERSION= 3.3.20220408
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= biology
MAINTAINER= ports@FreeBSD.org
COMMENT= Simple, fast, and accurate algorithm to estimate large phylogenies
+WWW= https://github.com/stephaneguindon/phyml
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -43,13 +43,10 @@ CONFIGURE_ARGS+= --disable-mpi
BIN_SUFFIX= # none
.endif
-post-patch:
- @${REINPLACE_CMD} -e \
- 's|-O2 .* $${ARCH_flag}|$${CFLAGS}|' ${WRKSRC}/configure.ac
.if ${ARCH} != amd64 && ${ARCH} != i386
+post-patch:
@${REINPLACE_CMD} -e 's|VECTOR_FLAG=-march=native|dnl &|' ${WRKSRC}/configure.ac
.endif
- @${REINPLACE_CMD} -e 's|malloc.h|stdlib.h|' ${WRKSRC}/src/utilities.h
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
diff --git a/biology/phyml/distinfo b/biology/phyml/distinfo
index bb7619ad9861..0d199958fc58 100644
--- a/biology/phyml/distinfo
+++ b/biology/phyml/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1594372740
-SHA256 (stephaneguindon-phyml-v3.3.20200621_GH0.tar.gz) = ffbecbc716fe7dd3e25493d2ebc1aab42ff3c33fc6fffca0920a950d38d74e22
-SIZE (stephaneguindon-phyml-v3.3.20200621_GH0.tar.gz) = 2234125
+TIMESTAMP = 1662105216
+SHA256 (stephaneguindon-phyml-v3.3.20220408_GH0.tar.gz) = 9cef375c0186e8a8d4db72ac02148707624c97174ffac244167a138ceb9f65bd
+SIZE (stephaneguindon-phyml-v3.3.20220408_GH0.tar.gz) = 1803950
diff --git a/biology/phyml/files/patch-configure.ac b/biology/phyml/files/patch-configure.ac
new file mode 100644
index 000000000000..ea8e872962a0
--- /dev/null
+++ b/biology/phyml/files/patch-configure.ac
@@ -0,0 +1,11 @@
+--- configure.ac.orig 2022-01-02 16:39:46 UTC
++++ configure.ac
+@@ -67,7 +67,7 @@ dnl AC_PROG_LIBTOOL
+
+
+ dnl DEFAULT_C_FLAG="-fno-inline-functions -fno-inline-functions-called-once -fno-optimize-sibling-calls -O2 -fno-omit-frame-pointer -g ${VECTOR_FLAG}"
+-DEFAULT_C_FLAG="-std=c99 -O3 -fomit-frame-pointer -funroll-loops -Wall -Winline -finline ${VECTOR_FLAG}"
++DEFAULT_C_FLAG="-std=c99 -O3 -fomit-frame-pointer -funroll-loops -msse3 -Wall -Winline -finline ${VECTOR_FLAG}"
+ dnl DEFAULT_C_FLAG="-O2 ${VECTOR_FLAG}"
+ dnl DEFAULT_C_FLAG="${VECTOR_FLAG}"
+ dnl DEFAULT_C_FLAG="-pthread -O3 -g -ffunction-sections -fdata-sections"
diff --git a/biology/phyml/files/patch-src_io.c b/biology/phyml/files/patch-src_io.c
index 00fdcf48030f..6085f3541ebe 100644
--- a/biology/phyml/files/patch-src_io.c
+++ b/biology/phyml/files/patch-src_io.c
@@ -1,20 +1,41 @@
---- src/io.c.orig 2020-07-09 11:49:16 UTC
+--- src/io.c.orig 2023-05-07 20:50:29 UTC
+++ src/io.c
-@@ -39,8 +39,6 @@ t_tree *Read_Tree(char **s_tree)
- if((*s_tree)[i] == ',') n_otu++;
- }
- n_otu+=1;
--
--
-
- tree = Make_Tree_From_Scratch(n_otu,NULL);
- subs = Sub_Trees((*s_tree),&degree);
-@@ -2312,7 +2310,7 @@ void Print_Fp_Out(FILE *fp_out, time_t t_beg, time_t t
- div_t hour,min;
- int i, j;
-
-- if (precision > 0) snprintf (format, 8, "%%.%df", precision);
-+ if (precision > 0) snprintf(format,8,"%%.%huf",(unsigned short)precision);
-
- if(n_data_set == 1)
- {
+@@ -1157,7 +1157,7 @@ void Get_Nexus_Data(FILE *fp, option *io)
+
+ int Get_Token(FILE *fp, char *token)
+ {
+- char c;
++ int c;
+
+ c = ' ';
+
+@@ -1518,7 +1518,8 @@ align **Read_Seq_Interleaved(option *io)
+
+ int Read_One_Line_Seq(align ***data, int num_otu, FILE *in)
+ {
+- char c = ' ';
++ char c_;
++ int c = ' ';
+ int nchar = 0;
+
+ while(1)
+@@ -1552,7 +1553,9 @@ int Read_One_Line_Seq(align ***data, int num_otu, FILE
+ }
+
+ nchar++;
+- Uppercase(&c);
++ c_ = c;
++ Uppercase(&c_);
++ c = c_;
+
+ if(c == '.')
+ {
+@@ -1617,7 +1620,7 @@ char *Return_Tree_String_Phylip(FILE *fp_input_tree)
+ {
+ char *line;
+ int i;
+- char c;
++ int c;
+ int open,maxopen;
+
+ if(fp_input_tree == NULL)
diff --git a/biology/phyml/files/patch-src_phyrex.c b/biology/phyml/files/patch-src_phyrex.c
deleted file mode 100644
index 661ee785dd32..000000000000
--- a/biology/phyml/files/patch-src_phyrex.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/phyrex.c.orig 2020-07-09 11:49:16 UTC
-+++ src/phyrex.c
-@@ -958,7 +958,7 @@ phydbl *PHYREX_MCMC(t_tree *tree)
- PHYREX_Label_Nodes_With_Locations(tree);
- PHYREX_Label_Edges(tree);
- char *s = Write_Tree(tree);
-- PhyML_Fprintf(fp_tree,"\ntree %d [&lnP=%f,precision={1.e-1,1e-02,1e-01}] = [&R] %s",tree->mcmc->sample_num,tree->c_lnL,s);
-+ PhyML_Fprintf(fp_tree,"\ntree %d [&lnP=%f,precision={1.e-1,1e-02,1e-01}] = [&R] %s",tree->mcmc->run,tree->c_lnL,s);
- PhyML_Fprintf(fp_tree,"\nend;");
- fseek(fp_tree,-5,SEEK_END);
- tree->write_tax_names = YES;
diff --git a/biology/phyml/files/patch-src_utilities.c b/biology/phyml/files/patch-src_utilities.c
index 99740e857571..2f95b278dd6a 100644
--- a/biology/phyml/files/patch-src_utilities.c
+++ b/biology/phyml/files/patch-src_utilities.c
@@ -1,30 +1,44 @@
---- src/utilities.c.orig 2020-07-09 11:49:16 UTC
+--- src/utilities.c.orig 2022-04-08 15:01:10 UTC
+++ src/utilities.c
-@@ -17,6 +17,9 @@ the GNU public licence. See http://www.opensource.org
- #include "beagle_utils.h"
- #endif
-
-+int CALL;
-+int TIME;
+@@ -3209,18 +3209,20 @@ void Bootstrap(t_tree *tree)
+ boot_tree->io->print_json_trace = NO;
+ boot_tree->n_root = NULL;
+ boot_tree->e_root = NULL;
++ boot_tree->l_ev = tree->l_ev;
++ boot_tree->p_lk_left_pi = tree->p_lk_left_pi;
+
- //////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////
++#if (defined(__AVX__) || defined(__AVX2__) || defined(__SSE__) || defined(__SSE2__) || defined(__SSE3__))
+ boot_tree->_tPij1 = tree->_tPij1;
+ boot_tree->_tPij2 = tree->_tPij2;
+ boot_tree->_pmat1plk1 = tree->_pmat1plk1;
+ boot_tree->_pmat2plk2 = tree->_pmat2plk2;
+ boot_tree->_plk0 = tree->_plk0;
+- boot_tree->l_ev = tree->l_ev;
+- boot_tree->p_lk_left_pi = tree->p_lk_left_pi;
+ boot_tree->_l_ev = tree->_l_ev;
+ boot_tree->_r_ev = tree->_r_ev;
+ boot_tree->_prod_left = tree->_prod_left;
+ boot_tree->_prod_rght = tree->_prod_rght;
+-
++#endif
+
+ Set_Both_Sides(YES,boot_tree);
+
+@@ -8902,7 +8904,7 @@ t_edge *Find_Root_Edge(FILE *fp_input_tree, t_tree *tr
+ int l_r, r_l;
+ int score;
+ char *line;
+- char c;
++ int c;
+ t_edge *root_edge;
+
+ line = (char *)mCalloc(T_MAX_LINE,sizeof(char));
+@@ -9206,7 +9208,7 @@ void Translate_Tax_Names(char **tax_names, t_tree *tre
+ void Skip_Comment(FILE *fp)
+ {
+ int in_comment;
+- char c;
++ int c;
-@@ -3066,7 +3069,7 @@ int Assign_State_With_Ambiguity(char *c, int datatype,
- if(Is_Ambigu(c,GENERIC,stepsize)) state[0] = T_MAX_ALPHABET-1;
- else
- {
-- char format[6];
-+ char format[20];
- sprintf(format,"%%%dd",stepsize);
- if(!sscanf(c,format,state))
- {
-@@ -4891,7 +4894,7 @@ int Are_Compatible(char *statea, char *stateb, int ste
- else
- {
- int a,b;
-- char format[6];
-+ char format[20];
-
- sprintf(format,"%%%dd",stepsize);
-
+ in_comment = 1;
+ do
diff --git a/biology/phyml/files/patch-src_utilities.h b/biology/phyml/files/patch-src_utilities.h
index 14b65b1fff53..6edbbcb01460 100644
--- a/biology/phyml/files/patch-src_utilities.h
+++ b/biology/phyml/files/patch-src_utilities.h
@@ -1,13 +1,13 @@
---- src/utilities.h.orig 2020-08-29 08:31:23 UTC
+--- src/utilities.h.orig 2022-04-08 15:01:10 UTC
+++ src/utilities.h
-@@ -94,8 +94,8 @@ static inline int isinf_ld (long double x) { return is
- #endif
+@@ -31,8 +31,8 @@ the GNU public licence. See http://www.opensource.org
+ #include <assert.h>
+ #include <stdbool.h>
+ #include <signal.h>
+-/* #include <malloc/malloc.h> */
+-/* #include <malloc.h> */
++/* #include <malloc/stdlib.h> */
++/* #include <stdlib.h> */
-
--int CALL;
--int TIME;
-+extern int CALL;
-+extern int TIME;
-
- #define SLFV_GAUSSIAN 0 /* Spatial Lambda-Fleming-Viot model (Gaussian) */
- #define SLFV_UNIFORM 1 /* Spatial Lambda-Fleming-Viot model (Uniform) */
+ #if (defined(__AVX__) || defined(__AVX2__))
+ #include <xmmintrin.h>
diff --git a/biology/phyml/pkg-descr b/biology/phyml/pkg-descr
index 32223fe07dda..8b0a5802e907 100644
--- a/biology/phyml/pkg-descr
+++ b/biology/phyml/pkg-descr
@@ -16,5 +16,3 @@ be processed provided that they are short. Also, PhyML can handle long
sequences provided that they are not numerous. With most standard
personal computers, the "comfort zone" for PhyML generally lies around 3
to 500 sequences less than 2,000 character long.
-
-WWW: https://github.com/stephaneguindon/phyml
diff --git a/biology/picard-tools/Makefile b/biology/picard-tools/Makefile
index 4e970306080c..bc736acc4cb5 100644
--- a/biology/picard-tools/Makefile
+++ b/biology/picard-tools/Makefile
@@ -8,14 +8,17 @@ EXTRACT_SUFX= .jar
MAINTAINER= jwb@FreeBSD.org
COMMENT= CLI tools for manipulating high-throughput sequencing (HTS) data
+WWW= https://broadinstitute.github.io/picard/
LICENSE= MIT
RUN_DEPENDS= samtools:biology/samtools
-USE_JAVA= 1.8+
+USE_JAVA= 8+
JAVA_RUN= yes
+CONFLICTS_INSTALL= picard # bin/picard
+
SUB_FILES= picard
NO_BUILD= yes
NO_ARCH= yes
diff --git a/biology/picard-tools/pkg-descr b/biology/picard-tools/pkg-descr
index cff83afdd7ca..b17c1fa3b5bc 100644
--- a/biology/picard-tools/pkg-descr
+++ b/biology/picard-tools/pkg-descr
@@ -1,5 +1,3 @@
Picard is a set of command line tools for manipulating high-throughput
sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF. These file
formats are defined in the Hts-specs repository.
-
-WWW: https://broadinstitute.github.io/picard/
diff --git a/biology/plink/Makefile b/biology/plink/Makefile
index 40dc0c77ff3a..0d0fddcbcc1e 100644
--- a/biology/plink/Makefile
+++ b/biology/plink/Makefile
@@ -1,16 +1,17 @@
PORTNAME= plink
DISTVERSIONPREFIX= v
DISTVERSION= 1.90b6.17
-PORTREVISION= 1
+PORTREVISION= 3
CATEGORIES= biology
MAINTAINER= mzaki@e-mail.ne.jp
COMMENT= Whole genome association analysis toolset
+WWW= https://www.cog-genomics.org/plink/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-NOT_FOR_ARCHS= aarch64 mips64 powerpc64 powerpc64le sparc64
+NOT_FOR_ARCHS= aarch64 mips64 powerpc64 powerpc64le
NOT_FOR_ARCHS_REASON= 64bit code requires SSE2 instructions
USES= gmake fortran
@@ -27,6 +28,8 @@ CFLAGS+= -DDYNAMIC_ZLIB -I${LOCALBASE}/include
LDFLAGS+= -lthr
INSTALL_TARGET= install-strip
+CONFLICTS_INSTALL= putty putty-nogtk # bin/plink
+
OPTIONS_DEFINE= EXAMPLES
OPTIONS_SINGLE= BLAS
OPTIONS_SINGLE_BLAS= NETLIB OPENBLAS
diff --git a/biology/plink/pkg-descr b/biology/plink/pkg-descr
index ba35b2b902ee..09d911509cf2 100644
--- a/biology/plink/pkg-descr
+++ b/biology/plink/pkg-descr
@@ -5,5 +5,3 @@ Citation:
Chang et al. (2015)
Second-generation PLINK: rising to the challenge of larger and richer datasets.
GigaScience 4(1) doi:10.1186/s13742-015-0047-8
-
-WWW: https://www.cog-genomics.org/plink/
diff --git a/biology/pooler/Makefile b/biology/pooler/Makefile
index f674ed8d0e6f..7b530ceaa130 100644
--- a/biology/pooler/Makefile
+++ b/biology/pooler/Makefile
@@ -1,26 +1,32 @@
PORTNAME= pooler
DISTVERSIONPREFIX= v
-DISTVERSION= 1.78
+DISTVERSION= 1.88
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= ssb22@cam.ac.uk
COMMENT= Optimise DNA sequencing primer-set combinations
+WWW= https://ssb22.user.srcf.net/pooler/
LICENSE= APACHE20
LICENSE_FILE= ${WRKDIR}/${GH_PROJECT}-${PORTVERSION}/LICENSE
-# Not needed on x86, aarch64, or ppc64-13.x
-# Might need gcc on 32-bit ARM/PPC
-USES= compiler:openmp
+USES= desktop-file-utils
USE_GITHUB= yes
GH_ACCOUNT= ssb22
GH_PROJECT= PrimerPooler
+INSTALL_TARGET= install-strip
+
WRKSRC_SUBDIR= pooler
+PLIST_FILES= bin/pooler share/man/man1/pooler.1.gz share/applications/pooler.desktop
+
+.if exists(/usr/include/omp.h)
CFLAGS+= -fopenmp
+.endif
-INSTALL_TARGET= install-strip
-PLIST_FILES= bin/pooler man/man1/pooler.1.gz share/applications/pooler.desktop
+post-patch:
+ ${REINPLACE_CMD} -e 's|man/man1|share/man/man1|g' ${WRKSRC}/Makefile
.include <bsd.port.mk>
diff --git a/biology/pooler/distinfo b/biology/pooler/distinfo
index 3569980faaf1..4e45f3628206 100644
--- a/biology/pooler/distinfo
+++ b/biology/pooler/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1630159904
-SHA256 (ssb22-PrimerPooler-v1.78_GH0.tar.gz) = 3062e1738d405be64b54c3b92fda49be8ce43dac381ca074248d74141502ffac
-SIZE (ssb22-PrimerPooler-v1.78_GH0.tar.gz) = 127582
+TIMESTAMP = 1694024931
+SHA256 (ssb22-PrimerPooler-v1.88_GH0.tar.gz) = 9df435491fb89a08cb19976ff1d9c8fa3c8b06e7c92efdc069b3e06f888b9f22
+SIZE (ssb22-PrimerPooler-v1.88_GH0.tar.gz) = 133457
diff --git a/biology/pooler/pkg-descr b/biology/pooler/pkg-descr
index 3eb25cec500b..0fd111dad6ee 100644
--- a/biology/pooler/pkg-descr
+++ b/biology/pooler/pkg-descr
@@ -18,5 +18,3 @@ Primer Pooler can:
sequencing applications)
* Do all of the above with degenerate primers too.
-
-WWW: http://ssb22.user.srcf.net/pooler/
diff --git a/biology/primer3/Makefile b/biology/primer3/Makefile
index 90fbb38e4e99..be1e92bb3585 100644
--- a/biology/primer3/Makefile
+++ b/biology/primer3/Makefile
@@ -1,5 +1,3 @@
-# Created by: Tony Maher <tonym@biolateral.com.au>
-
PORTNAME= primer3
PORTVERSION= 2.3.6
CATEGORIES= biology
@@ -8,6 +6,7 @@ DISTNAME= ${PORTNAME}-src-${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Primer3 helps to choose primers for PCR reactions
+WWW= http://www-genome.wi.mit.edu/genome_software/other/primer3.html
LICENSE= GPLv2
@@ -19,7 +18,7 @@ PLIST_FILES= bin/primer3
post-patch:
@${REINPLACE_CMD} \
-e 's#^CFLAGS.*#CFLAGS += \$$\(CC_OPTS\)#;' \
- -e 's#CC_OPTS = -g#CC_OPTS =#;' \
+ -e 's#^CC_OPTS.*#CC_OPTS= -Wall -D__USE_FIXED_PROTOTYPES_ -Dregister=#;' \
-e 's#LDFLAGS = -g#LDFLAGS +=#;' \
-e 's#^WHITEHEAD_SPECIFIC_HACK.*##;' \
${WRKSRC}/Makefile
diff --git a/biology/primer3/pkg-descr b/biology/primer3/pkg-descr
index c23608aaa680..89c9d8b1c454 100644
--- a/biology/primer3/pkg-descr
+++ b/biology/primer3/pkg-descr
@@ -16,5 +16,3 @@ All of these criteria are user-specifiable as constraints, and
some are specifiable as terms in an objective function that
characterizes an optimal primer pair."
- from the README file
-
-WWW: http://www-genome.wi.mit.edu/genome_software/other/primer3.html
diff --git a/biology/prodigal/Makefile b/biology/prodigal/Makefile
index 95d7e0ac9d38..cd881a8a3dc6 100644
--- a/biology/prodigal/Makefile
+++ b/biology/prodigal/Makefile
@@ -1,11 +1,12 @@
PORTNAME= prodigal
DISTVERSIONPREFIX= v
-DISTVERSION= 2.6.3-7
-DISTVERSIONSUFFIX= -ga78ed3f
+DISTVERSION= 2.6.3-16
+DISTVERSIONSUFFIX= -gc1e2d36
CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= Protein-coding gene prediction for prokaryotic genomes
+WWW= https://github.com/hyattpd/Prodigal
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/biology/prodigal/distinfo b/biology/prodigal/distinfo
index fa562d89b08a..d4123bc4a60a 100644
--- a/biology/prodigal/distinfo
+++ b/biology/prodigal/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1570894360
-SHA256 (hyattpd-Prodigal-v2.6.3-7-ga78ed3f_GH0.tar.gz) = 08215cfe052f09942bcf6beb40a734337af93bfaf0b8f25248c94669073761d2
-SIZE (hyattpd-Prodigal-v2.6.3-7-ga78ed3f_GH0.tar.gz) = 611206
+TIMESTAMP = 1690009429
+SHA256 (hyattpd-Prodigal-v2.6.3-16-gc1e2d36_GH0.tar.gz) = 8d12b956cc20e971f38df1b201765d5ee03356ada809ed39470bac62e9ae53f4
+SIZE (hyattpd-Prodigal-v2.6.3-16-gc1e2d36_GH0.tar.gz) = 612591
diff --git a/biology/prodigal/pkg-descr b/biology/prodigal/pkg-descr
index 7d9eb1c4c855..d14628b6af7d 100644
--- a/biology/prodigal/pkg-descr
+++ b/biology/prodigal/pkg-descr
@@ -18,5 +18,3 @@ Features:
translation initiation site for most genes, and can output information about
every potential start site in the genome, including confidence score, RBS
motif, and much more.
-
-WWW: https://github.com/hyattpd/Prodigal
diff --git a/biology/prodigy-lig/Makefile b/biology/prodigy-lig/Makefile
index 634a2cf7575d..c6a6a72badf5 100644
--- a/biology/prodigy-lig/Makefile
+++ b/biology/prodigy-lig/Makefile
@@ -1,23 +1,24 @@
PORTNAME= prodigy-lig
DISTVERSIONPREFIX= v
-DISTVERSION= 1.0.0-3
-PORTREVISION= 1
-DISTVERSIONSUFFIX= -g152ac59
+DISTVERSION= 1.1.1
CATEGORIES= biology python
MAINTAINER= yuri@FreeBSD.org
COMMENT= Prediction of protein-small molecule binding affinities
+WWW= https://nestor.science.uu.nl/prodigy/lig
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYNUMPY} \
- ${PYTHON_PKGNAMEPREFIX}biopython>0:biology/py-biopython@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}biopython>0:biology/py-biopython@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}poetry-core>0:devel/py-poetry-core@${PY_FLAVOR}
+
+USES= gmake python
+USE_PYTHON= pep517 noflavors autoplist
-USES= gmake python:3.6+
USE_GITHUB= yes
GH_ACCOUNT= haddocking
-USE_PYTHON= distutils noflavors autoplist
NO_ARCH= yes
diff --git a/biology/prodigy-lig/distinfo b/biology/prodigy-lig/distinfo
index 92581ef368f5..fb14a3af4599 100644
--- a/biology/prodigy-lig/distinfo
+++ b/biology/prodigy-lig/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1549219115
-SHA256 (haddocking-prodigy-lig-v1.0.0-3-g152ac59_GH0.tar.gz) = abf9e9e0baf2e91d306e3a297705f2c5a50149b145cdf64b990e25d9efa28731
-SIZE (haddocking-prodigy-lig-v1.0.0-3-g152ac59_GH0.tar.gz) = 155336
+TIMESTAMP = 1714194540
+SHA256 (haddocking-prodigy-lig-v1.1.1_GH0.tar.gz) = 22a6ed0cbec84dcc2d0f8b0bc8206c2e6c14a057307486648fc0919d9eca63ab
+SIZE (haddocking-prodigy-lig-v1.1.1_GH0.tar.gz) = 156208
diff --git a/biology/prodigy-lig/pkg-descr b/biology/prodigy-lig/pkg-descr
index e65cbf63ccb0..ecefcaaa06c8 100644
--- a/biology/prodigy-lig/pkg-descr
+++ b/biology/prodigy-lig/pkg-descr
@@ -1,5 +1,3 @@
PRODIGY-LIG (PROtein binDIng enerGY prediction - LIGands) is a structure-based
method for the prediction of binding affinity in protein-small ligand (such as
drugs or metabolites) complexes.
-
-WWW: https://nestor.science.uu.nl/prodigy/lig
diff --git a/biology/protomol/Makefile b/biology/protomol/Makefile
index a4c6a353495d..f7084de677a1 100644
--- a/biology/protomol/Makefile
+++ b/biology/protomol/Makefile
@@ -1,14 +1,13 @@
-# Created by: Sangwoo Shim <sangwoos@gmail.com>
-
PORTNAME= protomol
PORTVERSION= 2.0.3
-PORTREVISION= 14
+PORTREVISION= 16
CATEGORIES= biology
MASTER_SITES= SF/${PORTNAME}/ProtoMol/${PORTVERSION}
DISTFILES= ${DISTNAME}-tar.gz
MAINTAINER= ports@FreeBSD.org
COMMENT= OO, component based, framework for molecular dynamics (MD) simulations
+WWW= https://protomol.sourceforge.net/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/biology/protomol/pkg-descr b/biology/protomol/pkg-descr
index 8a0b7239b89d..92424b15fadb 100644
--- a/biology/protomol/pkg-descr
+++ b/biology/protomol/pkg-descr
@@ -11,5 +11,3 @@ and Langevin integrators. In addition, ProtoMol has been designed to interact
with VMD, a visualization engine developed by the University of Illinois that is
used for displaying large biomolecular systems in three dimensions. ProtoMol is
freely distributed software, and the source code is available.
-
-WWW: http://protomol.sourceforge.net/
diff --git a/biology/psi88/Makefile b/biology/psi88/Makefile
index 7d689b6b2c81..c0853aae6941 100644
--- a/biology/psi88/Makefile
+++ b/biology/psi88/Makefile
@@ -1,14 +1,13 @@
-# Created by: Ryo MIYAMOTO
-
PORTNAME= psi88
PORTVERSION= 1.0
-PORTREVISION= 16
+PORTREVISION= 17
CATEGORIES= biology
MASTER_SITES= http://www.ccl.net/cca/software/SOURCES/FORTRAN/psi88/
DISTNAME= ${PORTNAME}
MAINTAINER= ports@FreeBSD.org
COMMENT= Plotting wavefunctions (molecular orbitals) in 3D
+WWW= http://zarbi.chem.yale.edu/products/psi88/index.shtml
USES= fortran tar:Z
MAKE_ARGS= BIN=${STAGEDIR}${PREFIX}/bin
diff --git a/biology/psi88/pkg-descr b/biology/psi88/pkg-descr
index 71acb8814918..2e51de9f00f8 100644
--- a/biology/psi88/pkg-descr
+++ b/biology/psi88/pkg-descr
@@ -6,8 +6,6 @@ Valence semi-empirical, STO-3G, 3-21++G(*) and
6-31++G(d,p) basis sets are implemented for atoms
H-Ar.
-WWW: http://zarbi.chem.yale.edu/products/psi88/index.shtml
-
On-line manual is available at this web site.
You can also download the source code of psi88 from
diff --git a/biology/py-Genesis-PyAPI/Makefile b/biology/py-Genesis-PyAPI/Makefile
index c275c9d6770d..60e1d3ed0604 100644
--- a/biology/py-Genesis-PyAPI/Makefile
+++ b/biology/py-Genesis-PyAPI/Makefile
@@ -1,11 +1,12 @@
PORTNAME= Genesis-PyAPI
DISTVERSION= 1.2.1
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= API for the Genesis platform for genetics information processing
+WWW= https://github.com/genialis/genesis-pyapi/
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -13,7 +14,9 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}requests>=2.6.0:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}slumber>=0.7.1:www/py-slumber@${PY_FLAVOR}
-USES= python:3.6+
+USES= python
USE_PYTHON= distutils autoplist
+NO_ARCH= yes
+
.include <bsd.port.mk>
diff --git a/biology/py-Genesis-PyAPI/pkg-descr b/biology/py-Genesis-PyAPI/pkg-descr
index 96217993e6dc..c384cd987dc5 100644
--- a/biology/py-Genesis-PyAPI/pkg-descr
+++ b/biology/py-Genesis-PyAPI/pkg-descr
@@ -1,4 +1,2 @@
GenAPI is a Python API for the Genesis platform allowing to
perform computations of gene expression, etc.
-
-WWW: https://github.com/genialis/genesis-pyapi/
diff --git a/biology/py-PySCeS/Makefile b/biology/py-PySCeS/Makefile
index 8130f8b00e2f..5ca807f6ded2 100644
--- a/biology/py-PySCeS/Makefile
+++ b/biology/py-PySCeS/Makefile
@@ -1,37 +1,40 @@
PORTNAME= PySCeS
-DISTVERSION= 0.9.8a
+DISTVERSION= 1.1.1
CATEGORIES= biology python
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:tl}-${DISTVERSION}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Python Simulator for Cellular Systems
+WWW= https://pysces.sourceforge.net/
-LICENSE= BSD2CLAUSE
-LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENCE.txt
PY_DEPENDS= ${PYNUMPY} \
- ${PYTHON_PKGNAMEPREFIX}ipython>0:devel/ipython@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}nose>0:devel/py-nose@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}python-libsbml>0:biology/py-python-libsbml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR}
-BUILD_DEPENDS= ${PY_DEPENDS}
-RUN_DEPENDS= ${PY_DEPENDS}
+PY_EXTRA= ${PYTHON_PKGNAMEPREFIX}python-libsbml>0:biology/py-python-libsbml@${PY_FLAVOR}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}scikit-build>0:devel/py-scikit-build@${PY_FLAVOR} \
+ cmake:devel/cmake-core \
+ ${PY_DEPENDS}
+RUN_DEPENDS= ${PY_DEPENDS} \
+ ${PY_EXTRA}
-USES= fortran python
-USE_PYTHON= distutils autoplist
-
-USE_GITHUB= yes
-GH_PROJECT= ${PORTNAME:tl}
+USES= fortran localbase:ldflags python
+USE_PYTHON= distutils autoplist pytest
LDFLAGS+= -lpython${PYTHON_VER} -shared # see https://github.com/PySCeS/pysces/issues/29
+TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
post-install:
@${STRIP_CMD} \
- ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/pysces/pitcon/pitcon.cpython-38.so \
- ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/pysces/nleq2/nleq2.cpython-38.so
+ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/pysces/pitcon/pitcon.cpython-${PYTHON_SUFFIX}.so \
+ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/pysces/nleq2/nleq2.cpython-${PYTHON_SUFFIX}.so
-do-test: install # from section 2.1 Loading PySCeS in http://pysces.sourceforge.net/pdf/userguide.pdf
- @${PYTHON_CMD} -c "import pysces; pysces.test();"
+do-test: # from section 2.1 Loading PySCeS in http://pysces.sourceforge.net/pdf/userguide.pdf
+ @${SETENV} ${TEST_ENV} ${PYTHON_CMD} -c "import pysces; pysces.test();"
.include <bsd.port.mk>
diff --git a/biology/py-PySCeS/distinfo b/biology/py-PySCeS/distinfo
index e9a140c9132c..070c6e317ddf 100644
--- a/biology/py-PySCeS/distinfo
+++ b/biology/py-PySCeS/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1631609112
-SHA256 (PySCeS-pysces-0.9.8a_GH0.tar.gz) = 6037152bd6c4aadb771db403771744debe4cecaa9e4ae2ca449221ae60be85a1
-SIZE (PySCeS-pysces-0.9.8a_GH0.tar.gz) = 1982294
+TIMESTAMP = 1690346893
+SHA256 (pysces-1.1.1.tar.gz) = 170f9ccdcd3ff0336d144f3891c54ee5dfb9b61b1e7129f48e96ff02d6c9b6e5
+SIZE (pysces-1.1.1.tar.gz) = 1036708
diff --git a/biology/py-PySCeS/files/patch-setup.py b/biology/py-PySCeS/files/patch-setup.py
deleted file mode 100644
index c7f868849c6b..000000000000
--- a/biology/py-PySCeS/files/patch-setup.py
+++ /dev/null
@@ -1,15 +0,0 @@
---- setup.py.orig 2021-09-14 08:51:28 UTC
-+++ setup.py
-@@ -284,9 +284,9 @@ mydata_files.append((os.path.join('pysces'), [os.path.
- mydata_files.append(('', [os.path.join('pysces', 'pysces.pth')]))
-
- # JR 2021-08 userguide.pdf included as a symlink to built docs in submodule
--mydata_files.append(
-- (os.path.join("pysces", "docs"), [os.path.join("pysces", "docs", "userguide.pdf")])
--)
-+#mydata_files.append(
-+# (os.path.join("pysces", "docs"), [os.path.join("pysces", "docs", "userguide.pdf")])
-+#)
- mydata_files.append(
- (
- os.path.join('pysces', 'examples'),
diff --git a/biology/py-PySCeS/pkg-descr b/biology/py-PySCeS/pkg-descr
index 72ca017a7c61..cc2e4c9e38e5 100644
--- a/biology/py-PySCeS/pkg-descr
+++ b/biology/py-PySCeS/pkg-descr
@@ -1,3 +1 @@
PySCeS provides a variety of tools for the analysis of cellular systems.
-
-WWW: http://pysces.sourceforge.net/
diff --git a/biology/py-bcbio-gff/Makefile b/biology/py-bcbio-gff/Makefile
new file mode 100644
index 000000000000..60b3d02e75a3
--- /dev/null
+++ b/biology/py-bcbio-gff/Makefile
@@ -0,0 +1,17 @@
+PORTNAME= bcbio-gff
+DISTVERSION= 0.7.0
+CATEGORIES= biology python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Read and write Generic Feature Format (GFF) with Biopython integration
+WWW= https://pypi.python.org/project/bcbio-gff/
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= python
+USE_PYTHON= autoplist distutils
+
+.include <bsd.port.mk>
diff --git a/biology/py-bcbio-gff/distinfo b/biology/py-bcbio-gff/distinfo
new file mode 100644
index 000000000000..98af4e778943
--- /dev/null
+++ b/biology/py-bcbio-gff/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1678969796
+SHA256 (bcbio-gff-0.7.0.tar.gz) = f7b3922ee274106f8716703f41f05a1795aa9d73e903f4e481995ed8f5f65d2d
+SIZE (bcbio-gff-0.7.0.tar.gz) = 20041
diff --git a/biology/py-bcbio-gff/pkg-descr b/biology/py-bcbio-gff/pkg-descr
new file mode 100644
index 000000000000..e93a50068fca
--- /dev/null
+++ b/biology/py-bcbio-gff/pkg-descr
@@ -0,0 +1 @@
+Read and write Generic Feature Format (GFF) with Biopython integration.
diff --git a/biology/py-bigwig/distinfo b/biology/py-bigwig/distinfo
deleted file mode 100644
index 35e26a9f88d0..000000000000
--- a/biology/py-bigwig/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1617288519
-SHA256 (pyBigWig-0.3.18.tar.gz) = 4c2a8c571b4100ad7c4c318c142eb48558646be52aaab28215a70426f5be31bc
-SIZE (pyBigWig-0.3.18.tar.gz) = 64834
diff --git a/biology/py-biom-format/Makefile b/biology/py-biom-format/Makefile
index 6823ba1326fa..b1432f4efde9 100644
--- a/biology/py-biom-format/Makefile
+++ b/biology/py-biom-format/Makefile
@@ -1,11 +1,13 @@
PORTNAME= biom-format
PORTVERSION= 2.1.10
+PORTREVISION= 1
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= jrm@FreeBSD.org
COMMENT= Biological Observation Matrix (BIOM) Format Project
+WWW= https://biom-format.org/
LICENSE= BSD3CLAUSE
@@ -18,7 +20,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>0:devel/py-click@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}h5py>=2.2.0:science/py-h5py@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}six>=1.10.0:devel/py-six@${PY_FLAVOR}
-USES= python:3.7+
+USES= python
USE_PYTHON= autoplist concurrent cython distutils
.include <bsd.port.pre.mk>
diff --git a/biology/py-biom-format/pkg-descr b/biology/py-biom-format/pkg-descr
index 41a8b5b6ca30..d3cd806a4dfd 100644
--- a/biology/py-biom-format/pkg-descr
+++ b/biology/py-biom-format/pkg-descr
@@ -15,5 +15,3 @@ to genome data, this format may be used to represent a set of genomes: the
observations in this case again might correspond to SEED subsystems, and the
counts would correspond to the number of times each subsystem is observed in
each genome.
-
-WWW: http://biom-format.org/
diff --git a/biology/py-biopython/Makefile b/biology/py-biopython/Makefile
index ec04889a1e89..79986928f550 100644
--- a/biology/py-biopython/Makefile
+++ b/biology/py-biopython/Makefile
@@ -1,13 +1,12 @@
-# Created by: Johann Visagie <johann@egenetics.com>
-
PORTNAME= biopython
-DISTVERSION= 1.78
+DISTVERSION= 1.83
CATEGORIES= biology python
MASTER_SITES= http://www.biopython.org/DIST/
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= mauricio@arareko.net
COMMENT= Collection of Python modules for bioinformatics
+WWW= https://biopython.org/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.rst
@@ -15,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.rst
BUILD_DEPENDS= ${PYNUMPY}
RUN_DEPENDS= ${PYNUMPY}
-USES= python:3.6+
+USES= python
USE_PYTHON= distutils autoplist
OPTIONS_DEFINE= REPORTLAB
@@ -27,7 +26,6 @@ REPORTLAB_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}reportlab>0:print/py-reportlab@${P
post-install:
@${STRIP_CMD} \
${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/Bio/*.so \
- ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/Bio/*/*.so \
- ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/Bio/*/*/*.so \
+ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/Bio/*/*.so
.include <bsd.port.mk>
diff --git a/biology/py-biopython/distinfo b/biology/py-biopython/distinfo
index 6628fec55275..96b7a12dd769 100644
--- a/biology/py-biopython/distinfo
+++ b/biology/py-biopython/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1602768614
-SHA256 (biopython-1.78.tar.gz) = 1ee0a0b6c2376680fea6642d5080baa419fd73df104a62d58a8baf7a8bbe4564
-SIZE (biopython-1.78.tar.gz) = 16895184
+TIMESTAMP = 1712540226
+SHA256 (biopython-1.83.tar.gz) = 78e6bfb78de63034037afd35fe77cb6e0a9e5b62706becf78a7d922b16ed83f7
+SIZE (biopython-1.83.tar.gz) = 19431530
diff --git a/biology/py-biopython/pkg-descr b/biology/py-biopython/pkg-descr
index 7d4c3b5de3eb..ebb159fdfce5 100644
--- a/biology/py-biopython/pkg-descr
+++ b/biology/py-biopython/pkg-descr
@@ -11,5 +11,3 @@ stable.
This port includes optional support for Biopython-CORBA, a CORBA interface
built to the BioCorba standard (http://biocorba.org/).
-
-WWW: https://biopython.org/
diff --git a/biology/py-biosig/Makefile b/biology/py-biosig/Makefile
new file mode 100644
index 000000000000..e2757007f141
--- /dev/null
+++ b/biology/py-biosig/Makefile
@@ -0,0 +1,32 @@
+PORTNAME= biosig
+DISTVERSION= 2.6.0
+CATEGORIES= biology
+MASTER_SITES= SF/${PORTNAME}/BioSig%20for%20C_C%2B%2B/src/
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME}-${PORTVERSION}.src
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Library for reading and writing different biosignal data format
+WWW= https://biosig.sourceforge.net/
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/../../COPYING
+
+BUILD_DEPENDS= ${PYNUMPY}
+LIB_DEPENDS= libbiosig.so:biology/biosig
+
+USES= python tar:xz
+USE_PYTHON= distutils autoplist
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
+WRKSRC_SUBDIR= biosig4c++/python
+
+post-patch:
+ cd ${WRKSRC} && \
+ ${SED} -e 's|@PACKAGE_VERSION@|${DISTVERSION}|' < setup.py.in > setup.py && \
+ ${TOUCH} README.md
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/biosig${PYTHON_EXT_SUFFIX}.so
+
+.include <bsd.port.mk>
diff --git a/biology/py-biosig/distinfo b/biology/py-biosig/distinfo
new file mode 100644
index 000000000000..c93f6a846510
--- /dev/null
+++ b/biology/py-biosig/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1712363635
+SHA256 (biosig-2.6.0.src.tar.xz) = c45d076c2113c8a082a9d5775a428b690bb7d972ae2cd22a88d13cda9e9ffaee
+SIZE (biosig-2.6.0.src.tar.xz) = 1883048
diff --git a/biology/py-biosig/pkg-descr b/biology/py-biosig/pkg-descr
new file mode 100644
index 000000000000..f35f407e30db
--- /dev/null
+++ b/biology/py-biosig/pkg-descr
@@ -0,0 +1,8 @@
+BioSig is an open source software library for biomedical signal processing,
+featuring for example the analysis of biosignals such as the
+electroencephalogram (EEG), electrocorticogram (ECoG), electrocardiogram (ECG),
+electrooculogram (EOG), electromyogram (EMG), respiration, and so on. Major
+application areas are: Neuroinformatics, brain-computer interfaces,
+neurophysiology, psychology, cardiovascular systems and sleep research. The aim
+of the BioSig project is to foster research in biomedical signal processing by
+providing open source software tools for many different applications.
diff --git a/biology/py-bx-python/Makefile b/biology/py-bx-python/Makefile
index 213633b3f574..cc7a9a814fa7 100644
--- a/biology/py-bx-python/Makefile
+++ b/biology/py-bx-python/Makefile
@@ -1,15 +1,12 @@
-# Created by: Yuri Victorovich <yuri@rawbw.com>
-
PORTNAME= bx-python
-DISTVERSIONPREFIX= v
-DISTVERSION= 0.8.11-6
-DISTVERSIONSUFFIX= -gbd714e3 # 0.8.11 has a plist problem that bd714e3 doesn't have
+DISTVERSION= 0.11.0
CATEGORIES= biology python
-#MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Python module for reading, manipulating and writing genomic data sets
+WWW= https://github.com/bxlab/bx-python
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -18,12 +15,9 @@ PY_DEPENDS= ${PYNUMPY}
BUILD_DEPENDS= ${PY_DEPENDS}
RUN_DEPENDS= ${PY_DEPENDS}
-USES= compiler python:3.6+
+USES= compiler python
USE_PYTHON= autoplist cython distutils
-USE_GITHUB= yes
-GH_ACCOUNT= bxlab
-
post-install:
@${FIND} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/bx -name "*.so" | ${XARGS} ${STRIP_CMD}
diff --git a/biology/py-bx-python/distinfo b/biology/py-bx-python/distinfo
index 6bbe8681e2ce..66027422b286 100644
--- a/biology/py-bx-python/distinfo
+++ b/biology/py-bx-python/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1629226053
-SHA256 (bxlab-bx-python-v0.8.11-6-gbd714e3_GH0.tar.gz) = f06b3ca0e93d3f2d55a83638b931b584a039b465afca3ed7d4c2fbdd2c15fade
-SIZE (bxlab-bx-python-v0.8.11-6-gbd714e3_GH0.tar.gz) = 1653885
+TIMESTAMP = 1707725546
+SHA256 (bx-python-0.11.0.tar.gz) = 2cf8872572817e0d36145cc2711889df5729987ffed4e51280da1e3c2ccb9429
+SIZE (bx-python-0.11.0.tar.gz) = 1935085
diff --git a/biology/py-bx-python/pkg-descr b/biology/py-bx-python/pkg-descr
index b5bab083ebcc..c3c0ae0da04e 100644
--- a/biology/py-bx-python/pkg-descr
+++ b/biology/py-bx-python/pkg-descr
@@ -13,5 +13,3 @@ Data structures for working with intervals on sequences:
all unset bits to be stored compactly
* "Intersecter" for performing fast intersection tests that preserve
both query and target intervals and associated annotation
-
-WWW: https://github.com/bxlab/bx-python
diff --git a/biology/py-crossmap/Makefile b/biology/py-crossmap/Makefile
index b36dd2ab99e2..a5a3746a31c4 100644
--- a/biology/py-crossmap/Makefile
+++ b/biology/py-crossmap/Makefile
@@ -1,12 +1,14 @@
PORTNAME= crossmap
DISTVERSION= 0.5.4
+PORTREVISION= 1
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTNAME= CrossMap-${DISTVERSION}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Lift over genomics coordinates between assemblies
+WWW= https://pypi.python.org/pypi/crossmap
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
@@ -14,9 +16,9 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}nose>0.10.4:devel/py-nose@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pysam>0:biology/py-pysam@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}bx-python>0:biology/py-bx-python@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pyBigWig>0:biology/py-bigwig@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}pyBigWig>0:biology/py-pybigwig@${PY_FLAVOR}
-USES= python:3.5+
+USES= python
USE_PYTHON= autoplist concurrent cython distutils
NO_ARCH= yes
diff --git a/biology/py-crossmap/files/patch-2to3 b/biology/py-crossmap/files/patch-2to3
new file mode 100644
index 000000000000..c3b680224b43
--- /dev/null
+++ b/biology/py-crossmap/files/patch-2to3
@@ -0,0 +1,2955 @@
+--- lib/cmmodule/SAM.py.orig 2018-12-17 16:05:26 UTC
++++ lib/cmmodule/SAM.py
+@@ -150,52 +150,52 @@ class ParseSAM:
+ forward_SE +=1
+
+ if paired:
+- print >>sys.stderr,"\n#=================================================="
+- print >>sys.stderr,"#================Report (pair-end)================="
+- print >>sys.stderr, "%-25s%d" % ("Total Reads:",total_read)
+- print >>sys.stderr, "%-25s%d" % ("Total Mapped Reads:", (mapped_read1 + mapped_read2))
+- print >>sys.stderr, "%-25s%d" % ("Total Unmapped Reads:",(unmapped_read1 + unmapped_read2))
+- print >>sys.stderr, "%-25s%d" % ("PCR duplicate:",pcr_duplicate)
+- print >>sys.stderr, "%-25s%d" % ("QC-failed:",low_qual)
+- print >>sys.stderr, "%-25s%d" % ("Not primary mapping:",secondary_hit)
+- print >>sys.stderr, "\n",
+- print >>sys.stderr, "%-25s%d" % ("Unmapped Read-1:",unmapped_read1)
+- print >>sys.stderr, "%-25s%d" % ("Mapped Read-1:",mapped_read1)
+- print >>sys.stderr, "%-25s%d" % (" Forward (+):",forward_read1)
+- print >>sys.stderr, "%-25s%d" % (" Reverse (-):",reverse_read1)
++ print("\n#==================================================", file=sys.stderr)
++ print("#================Report (pair-end)=================", file=sys.stderr)
++ print("%-25s%d" % ("Total Reads:",total_read), file=sys.stderr)
++ print("%-25s%d" % ("Total Mapped Reads:", (mapped_read1 + mapped_read2)), file=sys.stderr)
++ print("%-25s%d" % ("Total Unmapped Reads:",(unmapped_read1 + unmapped_read2)), file=sys.stderr)
++ print("%-25s%d" % ("PCR duplicate:",pcr_duplicate), file=sys.stderr)
++ print("%-25s%d" % ("QC-failed:",low_qual), file=sys.stderr)
++ print("%-25s%d" % ("Not primary mapping:",secondary_hit), file=sys.stderr)
++ print("\n", end=' ', file=sys.stderr)
++ print("%-25s%d" % ("Unmapped Read-1:",unmapped_read1), file=sys.stderr)
++ print("%-25s%d" % ("Mapped Read-1:",mapped_read1), file=sys.stderr)
++ print("%-25s%d" % (" Forward (+):",forward_read1), file=sys.stderr)
++ print("%-25s%d" % (" Reverse (-):",reverse_read1), file=sys.stderr)
+
+- print >>sys.stderr, "\n",
+- print >>sys.stderr, "%-25s%d" % ("Unmapped Read-2:",unmapped_read2)
+- print >>sys.stderr, "%-25s%d" % ("Mapped Read-2:",mapped_read2)
+- print >>sys.stderr, "%-25s%d" % (" Forward (+):",forward_read2)
+- print >>sys.stderr, "%-25s%d" % (" Reverse (-):",reverse_read2)
++ print("\n", end=' ', file=sys.stderr)
++ print("%-25s%d" % ("Unmapped Read-2:",unmapped_read2), file=sys.stderr)
++ print("%-25s%d" % ("Mapped Read-2:",mapped_read2), file=sys.stderr)
++ print("%-25s%d" % (" Forward (+):",forward_read2), file=sys.stderr)
++ print("%-25s%d" % (" Reverse (-):",reverse_read2), file=sys.stderr)
+
+- print >>sys.stderr, "\n",
+- print >>sys.stderr, "%-25s%d" % ("Mapped to (+/-):",plus_minus)
+- print >>sys.stderr, "%-25s%d" % ("Mapped to (-/+):",minus_plus)
+- print >>sys.stderr, "%-25s%d" % ("Mapped to (+/+):",plus_plus)
+- print >>sys.stderr, "%-25s%d" % ("Mapped to (-/-):",minus_minus)
+- print >>sys.stderr, "\n",
+- print >>sys.stderr, "%-25s%d" % ("Spliced Hits:",_numSplitHit)
+- print >>sys.stderr, "%-25s%d" % ("Non-spliced Hits:",_numMonoHit)
+- print >>sys.stderr, "%-25s%d" % ("Reads have insertion:",_numInsertion)
+- print >>sys.stderr, "%-25s%d" % ("Reads have deletion:",_numDeletion)
++ print("\n", end=' ', file=sys.stderr)
++ print("%-25s%d" % ("Mapped to (+/-):",plus_minus), file=sys.stderr)
++ print("%-25s%d" % ("Mapped to (-/+):",minus_plus), file=sys.stderr)
++ print("%-25s%d" % ("Mapped to (+/+):",plus_plus), file=sys.stderr)
++ print("%-25s%d" % ("Mapped to (-/-):",minus_minus), file=sys.stderr)
++ print("\n", end=' ', file=sys.stderr)
++ print("%-25s%d" % ("Spliced Hits:",_numSplitHit), file=sys.stderr)
++ print("%-25s%d" % ("Non-spliced Hits:",_numMonoHit), file=sys.stderr)
++ print("%-25s%d" % ("Reads have insertion:",_numInsertion), file=sys.stderr)
++ print("%-25s%d" % ("Reads have deletion:",_numDeletion), file=sys.stderr)
+ else:
+- print >>sys.stderr,"\n#===================================================="
+- print >>sys.stderr,"#================Report (single-end)================="
+- print >>sys.stderr, "%-25s%d" % ("Total Reads:",total_read)
+- print >>sys.stderr, "%-25s%d" % ("Total Mapped Reads:", map_SE)
+- print >>sys.stderr, "%-25s%d" % ("Total Unmapped Reads:",unmap_SE)
+- print >>sys.stderr, "%-25s%d" % ("PCR duplicate:",pcr_duplicate)
+- print >>sys.stderr, "%-25s%d" % ("QC-failed:",low_qual)
+- print >>sys.stderr, "%-25s%d" % ("Not primary mapping:",secondary_hit)
+- print >>sys.stderr, "%-25s%d" % ("froward (+):",forward_SE)
+- print >>sys.stderr, "%-25s%d" % ("reverse (-):",reverse_SE)
+- print >>sys.stderr, "\n",
+- print >>sys.stderr, "%-25s%d" % ("Spliced Hits:",_numSplitHit)
+- print >>sys.stderr, "%-25s%d" % ("Non-spliced Hits:",_numMonoHit)
+- print >>sys.stderr, "%-25s%d" % ("Reads have insertion:",_numInsertion)
+- print >>sys.stderr, "%-25s%d" % ("Reads have deletion:",_numDeletion)
++ print("\n#====================================================", file=sys.stderr)
++ print("#================Report (single-end)=================", file=sys.stderr)
++ print("%-25s%d" % ("Total Reads:",total_read), file=sys.stderr)
++ print("%-25s%d" % ("Total Mapped Reads:", map_SE), file=sys.stderr)
++ print("%-25s%d" % ("Total Unmapped Reads:",unmap_SE), file=sys.stderr)
++ print("%-25s%d" % ("PCR duplicate:",pcr_duplicate), file=sys.stderr)
++ print("%-25s%d" % ("QC-failed:",low_qual), file=sys.stderr)
++ print("%-25s%d" % ("Not primary mapping:",secondary_hit), file=sys.stderr)
++ print("%-25s%d" % ("froward (+):",forward_SE), file=sys.stderr)
++ print("%-25s%d" % ("reverse (-):",reverse_SE), file=sys.stderr)
++ print("\n", end=' ', file=sys.stderr)
++ print("%-25s%d" % ("Spliced Hits:",_numSplitHit), file=sys.stderr)
++ print("%-25s%d" % ("Non-spliced Hits:",_numMonoHit), file=sys.stderr)
++ print("%-25s%d" % ("Reads have insertion:",_numInsertion), file=sys.stderr)
++ print("%-25s%d" % ("Reads have deletion:",_numDeletion), file=sys.stderr)
+
+ def samTobed(self,outfile=None,mergePE=False):
+ """Convert SAM file to BED file. BED file will be saved as xxx.sam.bed unless otherwise specified.
+@@ -204,7 +204,7 @@ class ParseSAM:
+ if outfile is None:
+ outfile=self.fileName + ".bed"
+
+- print >>sys.stderr,"\tWriting bed entries to\"",outfile,"\"...",
++ print("\tWriting bed entries to\"",outfile,"\"...", end=' ', file=sys.stderr)
+ FO=open(outfile,'w')
+ for line in self.f:
+ if line.startswith(('@','track')):continue #skip head lines
+@@ -240,14 +240,14 @@ class ParseSAM:
+ for i in range(0,len(comb),2):
+ blockStart.append(str(sum(comb[:i])))
+ blockStarts = ','.join(blockStart)
+- print >>FO, string.join((str(i) for i in [chrom,chromStart,chromEnd,name,score,strand,thickStart,thickEnd,itemRgb,blockCount,blockSizes,blockStarts]),sep="\t")
+- print >>sys.stderr, "Done"
++ print(string.join((str(i) for i in [chrom,chromStart,chromEnd,name,score,strand,thickStart,thickEnd,itemRgb,blockCount,blockSizes,blockStarts]),sep="\t"), file=FO)
++ print("Done", file=sys.stderr)
+ FO.close()
+ self.f.seek(0)
+
+ if mergePE:
+ #creat another bed file. pair-end reads will be merged into single bed entry
+- print >>sys.stderr, "Writing consoidated bed file ...",
++ print("Writing consoidated bed file ...", end=' ', file=sys.stderr)
+ bedfile = open(outfile,'r')
+ outfile_2 = outfile + ".consolidate.bed"
+ outfile_3 = outfile + '.filter'
+@@ -292,11 +292,11 @@ class ParseSAM:
+ if(blocks[key] ==1): #single end, single hit
+ st = [i - txSt[key] for i in starts[key]]
+ st = string.join([str(i) for i in st],',')
+- print >>FO, chr[key].pop(),"\t",txSt[key],"\t",txEnd[key],"\t",key,"\t","11\t",strand[key][0],"\t",txSt[key],"\t",txEnd[key],"\t","0,255,0\t",blocks[key],"\t",string.join(sizes[key],','),"\t",st
++ print(chr[key].pop(),"\t",txSt[key],"\t",txEnd[key],"\t",key,"\t","11\t",strand[key][0],"\t",txSt[key],"\t",txEnd[key],"\t","0,255,0\t",blocks[key],"\t",string.join(sizes[key],','),"\t",st, file=FO)
+ else:
+ st = [i - txSt[key] for i in starts[key]] #single end, spliced hit
+ st = string.join([str(i) for i in st],',')
+- print >>FO, chr[key].pop(),"\t",txSt[key],"\t",txEnd[key],"\t",key,"\t","12\t",strand[key][0],"\t",txSt[key],"\t",txEnd[key],"\t","0,255,0\t",blocks[key],"\t",string.join(sizes[key],','),"\t",st
++ print(chr[key].pop(),"\t",txSt[key],"\t",txEnd[key],"\t",key,"\t","12\t",strand[key][0],"\t",txSt[key],"\t",txEnd[key],"\t","0,255,0\t",blocks[key],"\t",string.join(sizes[key],','),"\t",st, file=FO)
+
+ elif(count[key]==2): #pair-end read
+ direction = string.join(strand[key],'/')
+@@ -306,17 +306,17 @@ class ParseSAM:
+ #st=[string.atoi(i) for i in st]
+ if(len(chr[key])==1): #pair-end reads mapped to same chromosome
+ if blocks[key] ==2: #pair end, single hits
+- print >>FO, chr[key].pop(),"\t",txSt[key],"\t",txEnd[key],"\t",key + "|strand=" + direction + "|chrom=same","\t","21\t",'.',"\t",txSt[key],"\t",txEnd[key],"\t","0,255,0\t",blocks[key],"\t",string.join(sz,','),"\t",string.join([str(i) for i in st],',')
++ print(chr[key].pop(),"\t",txSt[key],"\t",txEnd[key],"\t",key + "|strand=" + direction + "|chrom=same","\t","21\t",'.',"\t",txSt[key],"\t",txEnd[key],"\t","0,255,0\t",blocks[key],"\t",string.join(sz,','),"\t",string.join([str(i) for i in st],','), file=FO)
+ elif blocks[key] >2: #
+- print >>FO, chr[key].pop(),"\t",txSt[key],"\t",txEnd[key],"\t",key + "|strand=" + direction + "|chrom=same","\t","22\t",'.',"\t",txSt[key],"\t",txEnd[key],"\t","0,255,0\t",blocks[key],"\t",string.join(sz,','),"\t",string.join([str(i) for i in st],',')
++ print(chr[key].pop(),"\t",txSt[key],"\t",txEnd[key],"\t",key + "|strand=" + direction + "|chrom=same","\t","22\t",'.',"\t",txSt[key],"\t",txEnd[key],"\t","0,255,0\t",blocks[key],"\t",string.join(sz,','),"\t",string.join([str(i) for i in st],','), file=FO)
+ else:
+- print >>FOF,key,"\t","pair-end mapped, but two ends mapped to different chromosome"
++ print(key,"\t","pair-end mapped, but two ends mapped to different chromosome", file=FOF)
+ elif(count[key] >2): #reads occur more than 2 times
+- print >>FOF,key,"\t","occurs more than 2 times in sam file"
++ print(key,"\t","occurs more than 2 times in sam file", file=FOF)
+ continue
+ FO.close()
+ FOF.close()
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+
+ def samTowig(self,outfile=None,log2scale=False,header=False,strandSpecific=False):
+@@ -326,7 +326,7 @@ class ParseSAM:
+ if outfile is None:
+ outfile = self.fileName + ".wig"
+ FO=open(outfile,'w')
+- print >>sys.stderr, "Writing wig file to\"",outfile,"\"..."
++ print("Writing wig file to\"",outfile,"\"...", file=sys.stderr)
+
+ headline="track type=wiggle_0 name=" + outfile + " track_label description='' visibility=full color=255,0,0"
+ wig=collections.defaultdict(dict)
+@@ -359,24 +359,24 @@ class ParseSAM:
+
+ blocks = cigar.fetch_exon(chrom,txStart,field[5])
+ for block in blocks:
+- hits.extend(range(block[1]+1,block[2]+1))
++ hits.extend(list(range(block[1]+1,block[2]+1)))
+
+ if strandSpecific is not True:
+ for i in hits:
+- if wig[chrom].has_key(i):
++ if i in wig[chrom]:
+ wig[chrom][i] +=1
+ else:
+ wig[chrom][i]=1
+ else:
+ if strand_rule[read_type + strand] == '-':
+ for i in hits:
+- if Nwig[chrom].has_key(i):
++ if i in Nwig[chrom]:
+ Nwig[chrom][i] += 1
+ else:
+ Nwig[chrom][i] = 1
+ if strand_rule[read_type + strand] == '+':
+ for i in hits:
+- if Pwig[chrom].has_key(i):
++ if i in Pwig[chrom]:
+ Pwig[chrom][i] +=1
+ else:
+ Pwig[chrom][i]=1
+@@ -385,17 +385,17 @@ class ParseSAM:
+
+ if strandSpecific is not True:
+ for chr in sorted(wig.keys()):
+- print >>sys.stderr, "Writing ",chr, " ..."
++ print("Writing ",chr, " ...", file=sys.stderr)
+ FO.write('variableStep chrom='+chr+'\n')
+ for coord in sorted(wig[chr]):
+ if log2scale:FO.write("%d\t%5.3f\n" % (coord,math.log(wig[chr][coord],2)))
+ else:FO.write("%d\t%d\n" % (coord,wig[chr][coord]))
+ else:
+- chroms=set(Pwig.keys() + Nwig.keys())
++ chroms=set(list(Pwig.keys()) + list(Nwig.keys()))
+ for chr in sorted(chroms):
+- print >>sys.stderr, "Writing ",chr, " ..."
++ print("Writing ",chr, " ...", file=sys.stderr)
+ FO.write('variableStep chrom='+chr+'\n')
+- coords=sorted(set(Pwig[chr].keys() + Nwig[chr].keys()))
++ coords=sorted(set(list(Pwig[chr].keys()) + list(Nwig[chr].keys())))
+ for coord in coords:
+ if ((coord in Pwig[chr]) and (coord not in Nwig[chr])):
+ FO.write("%d\t%d\n" % (coord,Pwig[chr][coord]))
+@@ -418,7 +418,7 @@ class ParseSAM:
+ else: outfile = self.fileName + ".unmap.fa"
+ FO=open(outfile,'w')
+ unmapCount=0
+- print >>sys.stderr, "Writing unmapped reads to\"",outfile,"\"... ",
++ print("Writing unmapped reads to\"",outfile,"\"... ", end=' ', file=sys.stderr)
+
+ for line in self.f:
+ hits=[]
+@@ -438,7 +438,7 @@ class ParseSAM:
+ if fastq: FO.write('@' + seqID + '\n' + seq +'\n' + '+' +'\n' + qual+'\n')
+ else: FO.write('>' + seqID + '\n' + seq +'\n')
+
+- print >>sys.stderr, str(unmapCount) + " reads saved!\n"
++ print(str(unmapCount) + " reads saved!\n", file=sys.stderr)
+ FO.close()
+ self.f.seek(0)
+
+@@ -449,7 +449,7 @@ class ParseSAM:
+ outfile = self.fileName + ".PP.sam"
+ FO=open(outfile,'w')
+ PPcount=0
+- print >>sys.stderr, "Writing proper paired reads to\"",outfile,"\"... ",
++ print("Writing proper paired reads to\"",outfile,"\"... ", end=' ', file=sys.stderr)
+ for line in self.f:
+ hits=[]
+ if line[0] == '@':continue #skip head lines
+@@ -460,7 +460,7 @@ class ParseSAM:
+ PPcount +=1
+ FO.write(line)
+ FO.close()
+- print >>sys.stderr, str(PPcount) + " reads were saved!\n",
++ print(str(PPcount) + " reads were saved!\n", end=' ', file=sys.stderr)
+ self.f.seek(0)
+
+ def samNVC(self,outfile=None):
+@@ -481,7 +481,7 @@ class ParseSAM:
+ c_count=[]
+ g_count=[]
+ t_count=[]
+- print >>sys.stderr, "reading sam file ... "
++ print("reading sam file ... ", file=sys.stderr)
+ for line in self.f:
+ if line.startswith('@'):continue #skip head lines
+ if ParseSAM._reExpr2.match(line):continue #skip blank lines
+@@ -492,44 +492,44 @@ class ParseSAM:
+ RNA_read = field[9].upper()
+ else:
+ RNA_read = field[9].upper().translate(transtab)[::-1]
+- for i in xrange(len(RNA_read)):
++ for i in range(len(RNA_read)):
+ key = str(i) + RNA_read[i]
+ base_freq[key] += 1
+
+- print >>sys.stderr, "generating data matrix ..."
+- print >>FO, "Position\tA\tC\tG\tT\tN\tX"
+- for i in xrange(len(RNA_read)):
+- print >>FO, str(i) + '\t',
+- print >>FO, str(base_freq[str(i) + "A"]) + '\t',
++ print("generating data matrix ...", file=sys.stderr)
++ print("Position\tA\tC\tG\tT\tN\tX", file=FO)
++ for i in range(len(RNA_read)):
++ print(str(i) + '\t', end=' ', file=FO)
++ print(str(base_freq[str(i) + "A"]) + '\t', end=' ', file=FO)
+ a_count.append(str(base_freq[str(i) + "A"]))
+- print >>FO, str(base_freq[str(i) + "C"]) + '\t',
++ print(str(base_freq[str(i) + "C"]) + '\t', end=' ', file=FO)
+ c_count.append(str(base_freq[str(i) + "C"]))
+- print >>FO, str(base_freq[str(i) + "G"]) + '\t',
++ print(str(base_freq[str(i) + "G"]) + '\t', end=' ', file=FO)
+ g_count.append(str(base_freq[str(i) + "G"]))
+- print >>FO, str(base_freq[str(i) + "T"]) + '\t',
++ print(str(base_freq[str(i) + "T"]) + '\t', end=' ', file=FO)
+ t_count.append(str(base_freq[str(i) + "T"]))
+- print >>FO, str(base_freq[str(i) + "N"]) + '\t',
+- print >>FO, str(base_freq[str(i) + "X"]) + '\t'
++ print(str(base_freq[str(i) + "N"]) + '\t', end=' ', file=FO)
++ print(str(base_freq[str(i) + "X"]) + '\t', file=FO)
+ FO.close()
+
+ #generating R scripts
+- print >>sys.stderr, "generating R script ..."
+- print >>RS, "position=c(" + ','.join([str(i) for i in xrange(len(RNA_read))]) + ')'
+- print >>RS, "A_count=c(" + ','.join(a_count) + ')'
+- print >>RS, "C_count=c(" + ','.join(c_count) + ')'
+- print >>RS, "G_count=c(" + ','.join(g_count) + ')'
+- print >>RS, "T_count=c(" + ','.join(t_count) + ')'
+- print >>RS, "total= A_count + C_count + G_count + T_count"
+- print >>RS, "ym=max(A_count/total,C_count/total,G_count/total,T_count/total) + 0.05"
+- print >>RS, "yn=min(A_count/total,C_count/total,G_count/total,T_count/total)"
++ print("generating R script ...", file=sys.stderr)
++ print("position=c(" + ','.join([str(i) for i in range(len(RNA_read))]) + ')', file=RS)
++ print("A_count=c(" + ','.join(a_count) + ')', file=RS)
++ print("C_count=c(" + ','.join(c_count) + ')', file=RS)
++ print("G_count=c(" + ','.join(g_count) + ')', file=RS)
++ print("T_count=c(" + ','.join(t_count) + ')', file=RS)
++ print("total= A_count + C_count + G_count + T_count", file=RS)
++ print("ym=max(A_count/total,C_count/total,G_count/total,T_count/total) + 0.05", file=RS)
++ print("yn=min(A_count/total,C_count/total,G_count/total,T_count/total)", file=RS)
+
+- print >>RS, 'pdf("NVC_plot.pdf")'
+- print >>RS, 'plot(position,A_count/total,type="o",pch=20,ylim=c(yn,ym),col="dark green",xlab="Position of Read",ylab="Nucleotide Frequency")'
+- print >>RS, 'lines(position,T_count/total,type="o",pch=20,col="red")'
+- print >>RS, 'lines(position,G_count/total,type="o",pch=20,col="blue")'
+- print >>RS, 'lines(position,C_count/total,type="o",pch=20,col="cyan")'
+- print >>RS, 'legend('+ str(len(RNA_read)-10) + ',ym,legend=c("A","T","G","C"),col=c("dark green","red","blue","cyan"),lwd=2,pch=20,text.col=c("dark green","red","blue","cyan"))'
+- print >>RS, "dev.off()"
++ print('pdf("NVC_plot.pdf")', file=RS)
++ print('plot(position,A_count/total,type="o",pch=20,ylim=c(yn,ym),col="dark green",xlab="Position of Read",ylab="Nucleotide Frequency")', file=RS)
++ print('lines(position,T_count/total,type="o",pch=20,col="red")', file=RS)
++ print('lines(position,G_count/total,type="o",pch=20,col="blue")', file=RS)
++ print('lines(position,C_count/total,type="o",pch=20,col="cyan")', file=RS)
++ print('legend('+ str(len(RNA_read)-10) + ',ym,legend=c("A","T","G","C"),col=c("dark green","red","blue","cyan"),lwd=2,pch=20,text.col=c("dark green","red","blue","cyan"))', file=RS)
++ print("dev.off()", file=RS)
+
+ RS.close()
+ #self.f.seek(0)
+@@ -546,7 +546,7 @@ class ParseSAM:
+ RS=open(outfile2,'w')
+
+ gc_hist=collections.defaultdict(int) #key is GC percent, value is count of reads
+- print >>sys.stderr, "reading sam file ... "
++ print("reading sam file ... ", file=sys.stderr)
+ for line in self.f:
+ if line[0] == '@':continue #skip head lines
+ if ParseSAM._reExpr2.match(line):continue #skip blank lines
+@@ -556,18 +556,18 @@ class ParseSAM:
+ #print gc_percent
+ gc_hist[gc_percent] += 1
+
+- print >>sys.stderr, "writing GC content ..."
++ print("writing GC content ...", file=sys.stderr)
+
+- print >>FO, "GC%\tread_count"
+- for i in gc_hist.keys():
+- print >>FO, i + '\t' + str(gc_hist[i])
++ print("GC%\tread_count", file=FO)
++ for i in list(gc_hist.keys()):
++ print(i + '\t' + str(gc_hist[i]), file=FO)
+
+- print >>sys.stderr, "writing R script ..."
+- print >>RS, "pdf('GC_content.pdf')"
+- print >>RS, 'gc=rep(c(' + ','.join([i for i in gc_hist.keys()]) + '),' + 'times=c(' + ','.join([str(i) for i in gc_hist.values()]) + '))'
+- print >>RS, 'hist(gc,probability=T,breaks=%d,xlab="GC content (%%)",ylab="Density of Reads",border="blue",main="")' % 100
++ print("writing R script ...", file=sys.stderr)
++ print("pdf('GC_content.pdf')", file=RS)
++ print('gc=rep(c(' + ','.join([i for i in list(gc_hist.keys())]) + '),' + 'times=c(' + ','.join([str(i) for i in list(gc_hist.values())]) + '))', file=RS)
++ print('hist(gc,probability=T,breaks=%d,xlab="GC content (%%)",ylab="Density of Reads",border="blue",main="")' % 100, file=RS)
+ #print >>RS, "lines(density(gc),col='red')"
+- print >>RS ,"dev.off()"
++ print("dev.off()", file=RS)
+ #self.f.seek(0)
+
+ def samDupRate(self,outfile=None,up_bound=500):
+@@ -589,7 +589,7 @@ class ParseSAM:
+
+ seqDup_count=collections.defaultdict(int)
+ posDup_count=collections.defaultdict(int)
+- print >>sys.stderr, "reading sam file ... "
++ print("reading sam file ... ", file=sys.stderr)
+ for line in self.f:
+ if line[0] == '@':continue #skip head lines
+ if ParseSAM._reExpr2.match(line):continue #skip blank lines
+@@ -616,37 +616,37 @@ class ParseSAM:
+ coord = chrom + ":" + str(chromStart) + "-" + str(chromEnd) + ":" + blockSizes + ":" + blockStarts
+ posDup[coord] +=1
+
+- print >>sys.stderr, "report duplicte rate based on sequence ..."
+- print >>SEQ, "Occurrence\tUniqReadNumber"
+- for i in seqDup.values(): #key is occurence, value is uniq reads number (based on seq)
++ print("report duplicte rate based on sequence ...", file=sys.stderr)
++ print("Occurrence\tUniqReadNumber", file=SEQ)
++ for i in list(seqDup.values()): #key is occurence, value is uniq reads number (based on seq)
+ seqDup_count[i] +=1
+- for k in sorted(seqDup_count.iterkeys()):
+- print >>SEQ, str(k) +'\t'+ str(seqDup_count[k])
++ for k in sorted(seqDup_count.keys()):
++ print(str(k) +'\t'+ str(seqDup_count[k]), file=SEQ)
+ SEQ.close()
+
+- print >>sys.stderr, "report duplicte rate based on mapping ..."
+- print >>POS, "Occurrence\tUniqReadNumber"
+- for i in posDup.values(): #key is occurence, value is uniq reads number (based on coord)
++ print("report duplicte rate based on mapping ...", file=sys.stderr)
++ print("Occurrence\tUniqReadNumber", file=POS)
++ for i in list(posDup.values()): #key is occurence, value is uniq reads number (based on coord)
+ posDup_count[i] +=1
+- for k in sorted(posDup_count.iterkeys()):
+- print >>POS, str(k) +'\t'+ str(posDup_count[k])
++ for k in sorted(posDup_count.keys()):
++ print(str(k) +'\t'+ str(posDup_count[k]), file=POS)
+ POS.close()
+
+
+- print >>sys.stderr, "generate R script ..."
+- print >>RS, "pdf('duplicateRead.pdf')"
+- print >>RS, "par(mar=c(5,4,4,5),las=0)"
+- print >>RS, "seq_occ=c(" + ','.join([str(i) for i in sorted(seqDup_count.iterkeys()) ]) + ')'
+- print >>RS, "seq_uniqRead=c(" + ','.join([str(seqDup_count[i]) for i in sorted(seqDup_count.iterkeys()) ]) + ')'
+- print >>RS, "pos_occ=c(" + ','.join([str(i) for i in sorted(posDup_count.iterkeys()) ]) + ')'
+- print >>RS, "pos_uniqRead=c(" + ','.join([str(posDup_count[i]) for i in sorted(posDup_count.iterkeys()) ]) + ')'
+- print >>RS, "plot(pos_occ,log10(pos_uniqRead),ylab='Number of Reads (log10)',xlab='Frequency',pch=4,cex=0.8,col='blue',xlim=c(1,%d),yaxt='n')" % up_bound
+- print >>RS, "points(seq_occ,log10(seq_uniqRead),pch=20,cex=0.8,col='red')"
+- print >>RS, 'ym=floor(max(log10(pos_uniqRead)))'
+- print >>RS, "legend(%d,ym,legend=c('Sequence-base','Mapping-base'),col=c('red','blue'),pch=c(4,20))" % max(up_bound-200,1)
+- print >>RS, 'axis(side=2,at=0:ym,labels=0:ym)'
+- print >>RS, 'axis(side=4,at=c(log10(pos_uniqRead[1]),log10(pos_uniqRead[2]),log10(pos_uniqRead[3]),log10(pos_uniqRead[4])), labels=c(round(pos_uniqRead[1]*100/sum(pos_uniqRead)),round(pos_uniqRead[2]*100/sum(pos_uniqRead)),round(pos_uniqRead[3]*100/sum(pos_uniqRead)),round(pos_uniqRead[4]*100/sum(pos_uniqRead))))'
+- print >>RS, 'mtext(4, text = "Reads %", line = 2)'
++ print("generate R script ...", file=sys.stderr)
++ print("pdf('duplicateRead.pdf')", file=RS)
++ print("par(mar=c(5,4,4,5),las=0)", file=RS)
++ print("seq_occ=c(" + ','.join([str(i) for i in sorted(seqDup_count.keys()) ]) + ')', file=RS)
++ print("seq_uniqRead=c(" + ','.join([str(seqDup_count[i]) for i in sorted(seqDup_count.keys()) ]) + ')', file=RS)
++ print("pos_occ=c(" + ','.join([str(i) for i in sorted(posDup_count.keys()) ]) + ')', file=RS)
++ print("pos_uniqRead=c(" + ','.join([str(posDup_count[i]) for i in sorted(posDup_count.keys()) ]) + ')', file=RS)
++ print("plot(pos_occ,log10(pos_uniqRead),ylab='Number of Reads (log10)',xlab='Frequency',pch=4,cex=0.8,col='blue',xlim=c(1,%d),yaxt='n')" % up_bound, file=RS)
++ print("points(seq_occ,log10(seq_uniqRead),pch=20,cex=0.8,col='red')", file=RS)
++ print('ym=floor(max(log10(pos_uniqRead)))', file=RS)
++ print("legend(%d,ym,legend=c('Sequence-base','Mapping-base'),col=c('red','blue'),pch=c(4,20))" % max(up_bound-200,1), file=RS)
++ print('axis(side=2,at=0:ym,labels=0:ym)', file=RS)
++ print('axis(side=4,at=c(log10(pos_uniqRead[1]),log10(pos_uniqRead[2]),log10(pos_uniqRead[3]),log10(pos_uniqRead[4])), labels=c(round(pos_uniqRead[1]*100/sum(pos_uniqRead)),round(pos_uniqRead[2]*100/sum(pos_uniqRead)),round(pos_uniqRead[3]*100/sum(pos_uniqRead)),round(pos_uniqRead[4]*100/sum(pos_uniqRead))))', file=RS)
++ print('mtext(4, text = "Reads %", line = 2)', file=RS)
+ #self.f.seek(0)
+
+ def getUniqMapRead(self,outfile=None):
+@@ -655,7 +655,7 @@ class ParseSAM:
+ outfile = self.fileName + ".uniq.sam"
+ FO=open(outfile,'w')
+ Uniqcount=0
+- print >>sys.stderr, "Writing uniquely mapped reads to\"",outfile,"\"... ",
++ print("Writing uniquely mapped reads to\"",outfile,"\"... ", end=' ', file=sys.stderr)
+ for line in self.f:
+ hits=[]
+ if line[0] == '@':continue #skip head lines
+@@ -667,11 +667,11 @@ class ParseSAM:
+ #else:
+ #print >>sys.stderr,line,
+ if (ParseSAM._uniqueHit_pat.search(line)):
+- print >>sys.stderr,line,
++ print(line, end=' ', file=sys.stderr)
+ Uniqcount +=1
+ FO.write(line)
+ FO.close()
+- print >>sys.stderr, str(Uniqcount) + " reads were saved!\n",
++ print(str(Uniqcount) + " reads were saved!\n", end=' ', file=sys.stderr)
+ self.f.seek(0)
+
+ def getWrongStrand(self,outfile=None):
+@@ -680,7 +680,7 @@ class ParseSAM:
+ outfile = self.fileName + ".wrongStrand.sam"
+ FO=open(outfile,'w')
+ wrongStrand=0
+- print >>sys.stderr, "Writing incorrectly stranded reads to\"",outfile,"\"... ",
++ print("Writing incorrectly stranded reads to\"",outfile,"\"... ", end=' ', file=sys.stderr)
+ for line in self.f:
+ hits=[]
+ if line.startswith('@'):continue #skip head lines
+@@ -701,7 +701,7 @@ class ParseSAM:
+ wrongStrand+=1
+
+ FO.close()
+- print >>sys.stderr, str(wrongStrand) + " reads were saved!\n",
++ print(str(wrongStrand) + " reads were saved!\n", end=' ', file=sys.stderr)
+ self.f.seek(0)
+
+ def filterSpliceRead(self,outfile=None,min_overhang=8,min_gap=50,max_gap=1000000):
+@@ -714,7 +714,7 @@ class ParseSAM:
+ outfile = self.fileName + ".SR.sam"
+ #outfile2 = self.fileName + ".SR.filter.sam"
+ splice_sites=collections.defaultdict(set)
+- print >>sys.stderr, "\tDetermine splice sites with proper overhang, intron size ... ",
++ print("\tDetermine splice sites with proper overhang, intron size ... ", end=' ', file=sys.stderr)
+ for line in self.f:
+ if line[0] == '@':continue #skip head lines
+ if ParseSAM._reExpr2.match(line):continue #skip blank lines
+@@ -741,12 +741,12 @@ class ParseSAM:
+ if (comb[2] >= min_overhang):
+ splice_sites[chrom].add(map_st + comb[0] + comb[1])
+ self.f.seek(0)
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+
+ FO=open(outfile,'w')
+ #FO2=open(outfile2,'w')
+- print >>sys.stderr, "\tExtracting splicing reads ... ",
++ print("\tExtracting splicing reads ... ", end=' ', file=sys.stderr)
+ total_SR =0
+ extract_SR =0
+ total_read =0
+@@ -778,10 +778,10 @@ class ParseSAM:
+ else:
+ #FO2.write(line)
+ continue
+- print >>sys.stderr, "Done"
+- print >>sys.stderr, "\tTotal mapped Read: " + str(total_read)
+- print >>sys.stderr, "\tTotal Splicing Read: " + str(total_SR)
+- print >>sys.stderr, "\Usable Splicing Read: " + str(extract_SR)
++ print("Done", file=sys.stderr)
++ print("\tTotal mapped Read: " + str(total_read), file=sys.stderr)
++ print("\tTotal Splicing Read: " + str(total_SR), file=sys.stderr)
++ print("\\Usable Splicing Read: " + str(extract_SR), file=sys.stderr)
+ FO.close()
+ #FO2.close()
+ self.f.seek(0)
+@@ -792,7 +792,7 @@ class ParseSAM:
+ if outfile is None:
+ outfile = self.fileName + ".SR.sam"
+ FO=open(outfile,'w')
+- print >>sys.stderr, "\tExtract splicing reads without any filter ...",
++ print("\tExtract splicing reads without any filter ...", end=' ', file=sys.stderr)
+ for line in self.f:
+ if line[0] == '@':continue #skip head lines
+ if ParseSAM._reExpr2.match(line):continue #skip blank lines
+@@ -803,7 +803,7 @@ class ParseSAM:
+ if (len(comb)>=3):
+ FO.write(line)
+
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+ self.f.seek(0)
+ FO.close()
+
+@@ -812,7 +812,7 @@ class ParseSAM:
+ The original SAM file must be sorted before hand. if not, using linux command like "sort -k3,3 -k4,4n myfile.sam >myfile.sorted.sam" '''
+ if outfile is None:
+ outfile = self.fileName + ".collapsed.sam"
+- print >>sys.stderr, "Writing collapsed SAM file to\"",outfile,"\"... "
++ print("Writing collapsed SAM file to\"",outfile,"\"... ", file=sys.stderr)
+ FO=open(outfile,'w')
+ flag=""
+ for line in self.f:
+@@ -840,7 +840,7 @@ class ParseSAM:
+ else:
+ outfile = outfile + ".qual.plot.r"
+ FO=open(outfile,'w')
+- print >>sys.stderr, "\tcalculating quality score ... "
++ print("\tcalculating quality score ... ", file=sys.stderr)
+ qual_min={}
+ qual_max={}
+ qual_sum={}
+@@ -875,16 +875,16 @@ class ParseSAM:
+ max_qualities =[str(qual_max[i]) for i in range(0,read_len)]
+ avg_qualities = [str(qual_sum[i]/total_read) for i in range(0,read_len)]
+ nt_pos = [str(i) for i in range(0,read_len)]
+- print >>FO, "nt_pos=c(" + ','.join(nt_pos) + ')'
+- print >>FO, "max_qual=c(" + ','.join(max_qualities) + ')'
+- print >>FO, "min_qual=c(" + ','.join(min_qualities) + ')'
+- print >>FO, "avg_qual=c(" + ','.join(avg_qualities) + ')'
+- print >>FO, "pdf('phred_qual.pdf')"
+- print >>FO, "plot(nt_pos,avg_qual, xlab=\"Nucleotide Position (5'->3')\", ylab='Phred Quality',ylim=c(0,97),lwd=2,type='s')"
+- print >>FO, 'lines(nt_pos,max_qual,type="s",lwd=2,col="red")'
+- print >>FO, 'lines(nt_pos,min_qual,type="s",lwd=2,col="blue")'
+- print >>FO, 'legend(0,100,legend=c("Max","Average","Min"),col=c("red","black","blue"),lwd=2)'
+- print >>FO, 'dev.off()'
++ print("nt_pos=c(" + ','.join(nt_pos) + ')', file=FO)
++ print("max_qual=c(" + ','.join(max_qualities) + ')', file=FO)
++ print("min_qual=c(" + ','.join(min_qualities) + ')', file=FO)
++ print("avg_qual=c(" + ','.join(avg_qualities) + ')', file=FO)
++ print("pdf('phred_qual.pdf')", file=FO)
++ print("plot(nt_pos,avg_qual, xlab=\"Nucleotide Position (5'->3')\", ylab='Phred Quality',ylim=c(0,97),lwd=2,type='s')", file=FO)
++ print('lines(nt_pos,max_qual,type="s",lwd=2,col="red")', file=FO)
++ print('lines(nt_pos,min_qual,type="s",lwd=2,col="blue")', file=FO)
++ print('legend(0,100,legend=c("Max","Average","Min"),col=c("red","black","blue"),lwd=2)', file=FO)
++ print('dev.off()', file=FO)
+ #for i in range(0,read_len):
+ # print >>sys.stderr, str(i) + '\t' + str(qual_max[i]) + '\t' + str(qual_min[i]) + '\t' + str(qual_sum[i]/total_read)
+ #self.f.seek(0)
+@@ -918,7 +918,7 @@ class ParseSAM:
+ scores[chrom][pos] =1
+ else:
+ scores[chrom][pos] +=1
+- if lines % 10000 == 0: print >>sys.stderr, "%i lines loaded \r" % lines
++ if lines % 10000 == 0: print("%i lines loaded \r" % lines, file=sys.stderr)
+ return scores
+ self.f.seek(0)
+
+@@ -943,7 +943,7 @@ class QCSAM:
+ The 5th column is number of reads fallen into the region defined by the first 3 columns'''
+
+ if refbed is None:
+- print >>sys.stderr,"You must specify a bed file representing gene model\n"
++ print("You must specify a bed file representing gene model\n", file=sys.stderr)
+ exit(0)
+ if outfile is None:
+ exon_count = self.fileName + "_exon.count.bed"
+@@ -968,7 +968,7 @@ class QCSAM:
+ splicedReads=0
+
+ #read SAM
+- print >>sys.stderr, "reading "+ self.fileName + '...',
++ print("reading "+ self.fileName + '...', end=' ', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -990,10 +990,10 @@ class QCSAM:
+ ranges[chrom].add_interval( Interval( mid, mid ) )
+
+ self.f.seek(0)
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+ #read refbed file
+- print >>sys.stderr, "Assign reads to "+ refbed + '...',
++ print("Assign reads to "+ refbed + '...', end=' ', file=sys.stderr)
+ for line in open(refbed,'r'):
+ try:
+ if line.startswith('#'):continue
+@@ -1007,14 +1007,14 @@ class QCSAM:
+ geneName = fields[3]
+ strand = fields[5].replace(" ","_")
+
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends);
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends));
+ intron_starts = exon_ends[:-1]
+ intron_ends=exon_starts[1:]
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line,
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, end=' ', file=sys.stderr)
+ continue
+
+ # assign reads to intron
+@@ -1050,28 +1050,28 @@ class QCSAM:
+ EXON_OUT.write(chrom + "\t" + str(st) + "\t" + str(end) + "\t" + geneName + "_exon_" + str(exonNum) + "\t" + str(hits) + "\t" + strand + '\n')
+ exonNum += 1
+ intergenicReads=totalReads-exonReads-intronReads-splicedReads
+- print >>sys.stderr, "Done." + '\n'
+- print >>sys.stderr, "Total reads:\t" + str(totalReads)
+- print >>sys.stderr, "Exonic reads:\t" + str(exonReads)
+- print >>sys.stderr, "Intronic reads:\t" + str(intronReads)
+- print >>sys.stderr, "Splicing reads:\t" + str(splicedReads)
+- print >>sys.stderr, "Intergenic reads:\t" + str(intergenicReads)
++ print("Done." + '\n', file=sys.stderr)
++ print("Total reads:\t" + str(totalReads), file=sys.stderr)
++ print("Exonic reads:\t" + str(exonReads), file=sys.stderr)
++ print("Intronic reads:\t" + str(intronReads), file=sys.stderr)
++ print("Splicing reads:\t" + str(splicedReads), file=sys.stderr)
++ print("Intergenic reads:\t" + str(intergenicReads), file=sys.stderr)
+
+- print >>sys.stderr,"writing R script ...",
++ print("writing R script ...", end=' ', file=sys.stderr)
+ totalReads=float(totalReads)
+- print >>R_OUT, "pdf('%s')" % rpdf
+- print >>R_OUT, "dat=c(%d,%d,%d,%d)" % (exonReads,splicedReads,intronReads,intergenicReads)
+- print >>R_OUT, "lb=c('exon(%.2f)','junction(%.2f)','intron(%.2f)','intergenic(%.2f)')" % (exonReads/totalReads,splicedReads/totalReads,intronReads/totalReads,intergenicReads/totalReads)
+- print >>R_OUT, "pie(dat,labels=lb,col=rainbow(4),clockwise=TRUE,main='Total reads = %d')" % int(totalReads)
+- print >>R_OUT, "dev.off()"
+- print >>sys.stderr, "Done."
++ print("pdf('%s')" % rpdf, file=R_OUT)
++ print("dat=c(%d,%d,%d,%d)" % (exonReads,splicedReads,intronReads,intergenicReads), file=R_OUT)
++ print("lb=c('exon(%.2f)','junction(%.2f)','intron(%.2f)','intergenic(%.2f)')" % (exonReads/totalReads,splicedReads/totalReads,intronReads/totalReads,intergenicReads/totalReads), file=R_OUT)
++ print("pie(dat,labels=lb,col=rainbow(4),clockwise=TRUE,main='Total reads = %d')" % int(totalReads), file=R_OUT)
++ print("dev.off()", file=R_OUT)
++ print("Done.", file=sys.stderr)
+
+
+ def coverageGeneBody(self,refbed,outfile=None):
+ '''Calculate reads coverage over gene body, from 5'to 3'. each gene will be equally divied
+ into 100 regsions'''
+ if refbed is None:
+- print >>sys.stderr,"You must specify a bed file representing gene model\n"
++ print("You must specify a bed file representing gene model\n", file=sys.stderr)
+ exit(0)
+ if outfile is None:
+ outfile1 = self.fileName + ".geneBodyCoverage_plot.r"
+@@ -1088,7 +1088,7 @@ class QCSAM:
+ rpkm={}
+
+ #read SAM
+- print >>sys.stderr, "reading "+ self.fileName + '...',
++ print("reading "+ self.fileName + '...', end=' ', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -1114,9 +1114,9 @@ class QCSAM:
+ ranges[chrom] = Intersecter()
+ else:
+ ranges[chrom].add_interval( Interval( st, st+size ) )
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+- print >>sys.stderr, "calculating coverage over gene body ..."
++ print("calculating coverage over gene body ...", file=sys.stderr)
+ coverage=collections.defaultdict(int)
+ flag=0
+ for line in open(refbed,'r'):
+@@ -1130,19 +1130,19 @@ class QCSAM:
+ geneName = fields[3]
+ strand = fields[5]
+
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends);
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends));
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line,
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, end=' ', file=sys.stderr)
+ continue
+ gene_all_base=[]
+ percentile_base=[]
+ mRNA_len =0
+ flag=0
+ for st,end in zip(exon_starts,exon_ends):
+- gene_all_base.extend(range(st+1,end+1)) #0-based coordinates on genome
++ gene_all_base.extend(list(range(st+1,end+1))) #0-based coordinates on genome
+ mRNA_len = len(gene_all_base)
+ if mRNA_len <100:
+ flag=1
+@@ -1159,18 +1159,18 @@ class QCSAM:
+ coverage[i] += len(ranges[chrom].find(percentile_base[i], percentile_base[i]+1))
+ x_coord=[]
+ y_coord=[]
+- print >>OUT2, "Total reads: " + str(totalReads)
+- print >>OUT2, "Fragment number: " + str(fragment_num)
+- print >>OUT2, "percentile\tcount"
++ print("Total reads: " + str(totalReads), file=OUT2)
++ print("Fragment number: " + str(fragment_num), file=OUT2)
++ print("percentile\tcount", file=OUT2)
+ for i in coverage:
+ x_coord.append(str(i))
+ y_coord.append(str(coverage[i]))
+- print >>OUT2, str(i) + '\t' + str(coverage[i])
+- print >>OUT1, "pdf('geneBody_coverage.pdf')"
+- print >>OUT1, "x=0:100"
+- print >>OUT1, "y=c(" + ','.join(y_coord) + ')'
+- print >>OUT1, "plot(x,y,xlab=\"percentile of gene body (5'->3')\",ylab='read number',type='s')"
+- print >>OUT1, "dev.off()"
++ print(str(i) + '\t' + str(coverage[i]), file=OUT2)
++ print("pdf('geneBody_coverage.pdf')", file=OUT1)
++ print("x=0:100", file=OUT1)
++ print("y=c(" + ','.join(y_coord) + ')', file=OUT1)
++ print("plot(x,y,xlab=\"percentile of gene body (5'->3')\",ylab='read number',type='s')", file=OUT1)
++ print("dev.off()", file=OUT1)
+
+ def calculateRPKM(self,refbed,outfile=None):
+ '''calculate RPKM values for each gene in refbed. Only uniquely aligned reads are used.
+@@ -1178,7 +1178,7 @@ class QCSAM:
+ exon per Million mapped reads) for each exon, intron and mRNA'''
+
+ if refbed is None:
+- print >>sys.stderr,"You must specify a bed file representing gene model\n"
++ print("You must specify a bed file representing gene model\n", file=sys.stderr)
+ exit(0)
+ if outfile is None:
+ rpkm_file = self.fileName + ".rpkm.xls"
+@@ -1194,7 +1194,7 @@ class QCSAM:
+ rpkm={}
+
+ #read SAM
+- print >>sys.stderr, "reading "+ self.fileName + '...',
++ print("reading "+ self.fileName + '...', end=' ', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -1228,17 +1228,17 @@ class QCSAM:
+ ranges[chrom].add_interval( Interval( mid, mid ) )
+
+ self.f.seek(0)
+- print >>sys.stderr, "Done"
+- print >>RPKM_OUT, "Total mapped reads (TR): " + str(totalReads)
+- print >>RPKM_OUT, "Multiple mapped reads (MR): " + str(multiMapReads)
+- print >>RPKM_OUT, "Uniquely mapped reads (UR): " + str(totalReads - multiMapReads)
+- print >>RPKM_OUT, "Spliced mapped reads (SR): " + str(sR)
+- print >>RPKM_OUT, "Corrected uniquely mapped reads (cUR): " + str(cUR)
++ print("Done", file=sys.stderr)
++ print("Total mapped reads (TR): " + str(totalReads), file=RPKM_OUT)
++ print("Multiple mapped reads (MR): " + str(multiMapReads), file=RPKM_OUT)
++ print("Uniquely mapped reads (UR): " + str(totalReads - multiMapReads), file=RPKM_OUT)
++ print("Spliced mapped reads (SR): " + str(sR), file=RPKM_OUT)
++ print("Corrected uniquely mapped reads (cUR): " + str(cUR), file=RPKM_OUT)
+ if totalReads ==0:
+ sys.exit(1)
+
+ #read refbed file
+- print >>sys.stderr, "Assign reads to "+ refbed + '...',
++ print("Assign reads to "+ refbed + '...', end=' ', file=sys.stderr)
+ for line in open(refbed,'r'):
+ try:
+ if line.startswith('#'):continue
+@@ -1252,16 +1252,16 @@ class QCSAM:
+ geneName = fields[3]
+ strand = fields[5].replace(" ","_")
+
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends)
+- exon_sizes = map(int,fields[10].rstrip(',\n').split(','))
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends))
++ exon_sizes = list(map(int,fields[10].rstrip(',\n').split(',')))
+ intron_starts = exon_ends[:-1]
+ intron_ends=exon_starts[1:]
+ key='\t'.join((chrom.lower(),str(tx_start),str(tx_end),geneName,'0',strand))
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line,
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, end=' ', file=sys.stderr)
+ continue
+
+ # assign reads to intron
+@@ -1309,7 +1309,7 @@ class QCSAM:
+ except:
+ RPKM_OUT.write(chrom.lower() + "\t" + str(tx_start) + "\t" + str(tx_end) + "\t" + geneName + "_mRNA" + "\t" + str(0) + "\t" + strand + '\t' + str(0) +'\n')
+ rpkm[key] = 0
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+ return rpkm
+ self.f.seek(0)
+
+@@ -1320,7 +1320,7 @@ class QCSAM:
+ NOTE: intronic reads are not counted as part of total reads'''
+
+ if refbed is None:
+- print >>sys.stderr,"You must specify a bed file representing gene model\n"
++ print("You must specify a bed file representing gene model\n", file=sys.stderr)
+ exit(0)
+ if outfile is None:
+ rpkm_file = self.fileName + ".rpkm.xls"
+@@ -1338,7 +1338,7 @@ class QCSAM:
+ rpkm={}
+
+ #read gene model file, the purpose is to remove intronic reads
+- print >>sys.stderr, "Reading reference gene model "+ refbed + '...'
++ print("Reading reference gene model "+ refbed + '...', file=sys.stderr)
+ for line in open(refbed,'r'):
+ try:
+ if line.startswith(('#','track','browser')):continue
+@@ -1351,12 +1351,12 @@ class QCSAM:
+ geneName = fields[3]
+ strand = fields[5].replace(" ","_")
+
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends);
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends));
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line,
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, end=' ', file=sys.stderr)
+ continue
+
+ for st,end in zip(exon_starts,exon_ends):
+@@ -1366,7 +1366,7 @@ class QCSAM:
+ exon_ranges[chrom].add_interval( Interval( st, end ) )
+
+ #read SAM
+- print >>sys.stderr, "reading "+ self.fileName + '...',
++ print("reading "+ self.fileName + '...', end=' ', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -1401,22 +1401,22 @@ class QCSAM:
+ ranges[chrom] = Intersecter()
+ else:
+ ranges[chrom].add_interval( Interval( mid, mid ) )
+- else: #if this framgnet is intronic, skip it.
++ else: #if this framgnet is intronic, skip it.
+ #intronic +=1
+- continue
++ continue
+ self.f.seek(0)
+- print >>sys.stderr, "Done"
+- print >>RPKM_OUT, "Total mapped reads (TR): " + str(totalReads)
+- print >>RPKM_OUT, "Multiple mapped reads (MR): " + str(multiMapReads)
+- print >>RPKM_OUT, "Uniquely mapped reads (UR): " + str(totalReads - multiMapReads)
+- print >>RPKM_OUT, "Spliced mapped reads (SR): " + str(sR)
+- print >>RPKM_OUT, "Corrected uniquely mapped reads (cUR, non-intronic fragments): " + str(cUR)
++ print("Done", file=sys.stderr)
++ print("Total mapped reads (TR): " + str(totalReads), file=RPKM_OUT)
++ print("Multiple mapped reads (MR): " + str(multiMapReads), file=RPKM_OUT)
++ print("Uniquely mapped reads (UR): " + str(totalReads - multiMapReads), file=RPKM_OUT)
++ print("Spliced mapped reads (SR): " + str(sR), file=RPKM_OUT)
++ print("Corrected uniquely mapped reads (cUR, non-intronic fragments): " + str(cUR), file=RPKM_OUT)
+ #print >>RPKM_OUT, "Intronic Fragments (IF): " + str(intronic)
+ if totalReads ==0:
+ sys.exit(1)
+
+ #read refbed file
+- print >>sys.stderr, "Assign reads to "+ refbed + '...',
++ print("Assign reads to "+ refbed + '...', end=' ', file=sys.stderr)
+ for line in open(refbed,'r'):
+ try:
+ if line.startswith('#'):continue
+@@ -1430,16 +1430,16 @@ class QCSAM:
+ geneName = fields[3]
+ strand = fields[5].replace(" ","_")
+
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends)
+- exon_sizes = map(int,fields[10].rstrip(',\n').split(','))
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends))
++ exon_sizes = list(map(int,fields[10].rstrip(',\n').split(',')))
+ intron_starts = exon_ends[:-1]
+ intron_ends=exon_starts[1:]
+ key='\t'.join((chrom.lower(),str(tx_start),str(tx_end),geneName,'0',strand))
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line,
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, end=' ', file=sys.stderr)
+ continue
+
+ # assign reads to intron
+@@ -1487,7 +1487,7 @@ class QCSAM:
+ except:
+ RPKM_OUT.write(chrom.lower() + "\t" + str(tx_start) + "\t" + str(tx_end) + "\t" + geneName + "_mRNA" + "\t" + str(0) + "\t" + strand + '\t' + str(0) +'\n')
+ rpkm[key] = 0
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+ return rpkm
+ self.f.seek(0)
+
+@@ -1499,7 +1499,7 @@ class QCSAM:
+ unknownReads=0
+ ranges={}
+ if refbed is None:
+- print >>sys.stderr,"You must specify a bed file representing gene model\n"
++ print("You must specify a bed file representing gene model\n", file=sys.stderr)
+ exit(0)
+
+ if outfile is None:
+@@ -1508,7 +1508,7 @@ class QCSAM:
+ out_file = outfile + ".unknownReads.SAM"
+ OUT=open(out_file,'w')
+
+- print >>sys.stderr, "Reading reference gene model "+ refbed + '...'
++ print("Reading reference gene model "+ refbed + '...', file=sys.stderr)
+ for line in open(refbed,'r'):
+ try:
+ if line.startswith(('#','track','browser')):continue
+@@ -1521,12 +1521,12 @@ class QCSAM:
+ geneName = fields[3]
+ strand = fields[5].replace(" ","_")
+
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends);
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends));
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line,
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, end=' ', file=sys.stderr)
+ continue
+
+ for st,end in zip(exon_starts,exon_ends):
+@@ -1535,7 +1535,7 @@ class QCSAM:
+ else:
+ ranges[chrom].add_interval( Interval( st, end ) )
+
+- print >>sys.stderr, "Processing SAM file "+ self.fileName + '...'
++ print("Processing SAM file "+ self.fileName + '...', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -1564,8 +1564,8 @@ class QCSAM:
+ OUT.write(line)
+ unknownReads +=1
+ OUT.close()
+- print >>sys.stderr, "Total reads mapped to genome: " + str(totalReads)
+- print >>sys.stderr, "Total reads not overlapped with any exon: " + str(unknownReads)
++ print("Total reads mapped to genome: " + str(totalReads), file=sys.stderr)
++ print("Total reads not overlapped with any exon: " + str(unknownReads), file=sys.stderr)
+ self.f.seek(0)
+
+ def genomicFragSize(self,outfile=None,low_bound=0,up_bound=1000,step=10):
+@@ -1589,16 +1589,16 @@ class QCSAM:
+ ranges={}
+ ranges[chrom]=Intersecter()
+
+- window_left_bound = range(low_bound,up_bound,step)
+- frag_size=0
++ window_left_bound = list(range(low_bound,up_bound,step))
++ frag_size=0
+
+- pair_num=0.0
+- ultra_low=0.0
+- ultra_high=0.0
+- size=[]
+- counts=[]
+- count=0
+- print >>sys.stderr, "Reading SAM file "+ self.fileName + ' ... ',
++ pair_num=0.0
++ ultra_low=0.0
++ ultra_high=0.0
++ size=[]
++ counts=[]
++ count=0
++ print("Reading SAM file "+ self.fileName + ' ... ', end=' ', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -1606,7 +1606,7 @@ class QCSAM:
+ # continue
+ flagCode=string.atoi(fields[1])
+ if (flagCode & 0x0001) ==0:
+- print >>sys.stderr,"NOT pair-end sequencing"
++ print("NOT pair-end sequencing", file=sys.stderr)
+ sys.exit(1)
+ if (flagCode & 0x0004) != 0: continue #skip unmap reads
+ if not ParseSAM._uniqueHit_pat.search(line): #skip multiple mapped reads
+@@ -1632,29 +1632,29 @@ class QCSAM:
+ ultra_high +=1
+ continue
+ ranges[chrom].add_interval( Interval( frag_size-1, frag_size ) )
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+ if pair_num==0:
+- print >>sys.stderr, "Cannot find paired reads"
++ print("Cannot find paired reads", file=sys.stderr)
+ sys.exit(0)
+- print >>FQ, "Total paired read " + str(pair_num)
+- print >>FQ, "<=" + str(low_bound) + "\t"+ str(ultra_low)
++ print("Total paired read " + str(pair_num), file=FQ)
++ print("<=" + str(low_bound) + "\t"+ str(ultra_low), file=FQ)
+ for st in window_left_bound:
+ size.append(str(st + step/2))
+ count = str(len(ranges[chrom].find(st,st + step)))
+ counts.append(count)
+- print >>FQ, str(st) + '\t' + str(st+step) +'\t' + count
+- print >>FQ, ">" + str(up_bound) + "\t"+ str(ultra_high)
++ print(str(st) + '\t' + str(st+step) +'\t' + count, file=FQ)
++ print(">" + str(up_bound) + "\t"+ str(ultra_high), file=FQ)
+
+- print >>RS, "pdf('gFragSize.pdf')"
+- print >>RS, "par(mfrow=c(2,1),cex.main=0.8,cex.lab=0.8,cex.axis=0.8,mar=c(4,4,4,1))"
+- print >>RS, 'pie(c(%d,%d,%d),col=rainbow(3),cex=0.5,radius=1,main="Total %d fragments",labels=c("fraSize <= %d\\n(%4.2f%%)","fragSize > %d\\n(%4.2f%%)","%d < fragSize <= %d\\n(%4.2f%%)"), density=rep(80,80,80),angle=c(90,140,170))' % (ultra_low, ultra_high, pair_num -ultra_low -ultra_high, pair_num, low_bound, ultra_low*100/pair_num, up_bound, ultra_high*100/pair_num, low_bound, up_bound, 100-ultra_low*100/pair_num - ultra_high*100/pair_num)
+- print >>RS, 'fragsize=rep(c(' + ','.join(size) + '),' + 'times=c(' + ','.join(counts) + '))'
+- print >>RS, 'frag_sd = round(sd(fragsize))'
+- print >>RS, 'frag_mean = round(mean(fragsize))'
+- print >>RS, 'hist(fragsize,probability=T,breaks=%d,xlab="Fragment size (bp)",main=paste(c("Mean=",frag_mean,";","SD=",frag_sd),collapse=""),border="blue")' % len(window_left_bound)
+- print >>RS, "lines(density(fragsize,bw=%d),col='red')" % (2*step)
+- print >>RS ,"dev.off()"
++ print("pdf('gFragSize.pdf')", file=RS)
++ print("par(mfrow=c(2,1),cex.main=0.8,cex.lab=0.8,cex.axis=0.8,mar=c(4,4,4,1))", file=RS)
++ print('pie(c(%d,%d,%d),col=rainbow(3),cex=0.5,radius=1,main="Total %d fragments",labels=c("fraSize <= %d\\n(%4.2f%%)","fragSize > %d\\n(%4.2f%%)","%d < fragSize <= %d\\n(%4.2f%%)"), density=rep(80,80,80),angle=c(90,140,170))' % (ultra_low, ultra_high, pair_num -ultra_low -ultra_high, pair_num, low_bound, ultra_low*100/pair_num, up_bound, ultra_high*100/pair_num, low_bound, up_bound, 100-ultra_low*100/pair_num - ultra_high*100/pair_num), file=RS)
++ print('fragsize=rep(c(' + ','.join(size) + '),' + 'times=c(' + ','.join(counts) + '))', file=RS)
++ print('frag_sd = round(sd(fragsize))', file=RS)
++ print('frag_mean = round(mean(fragsize))', file=RS)
++ print('hist(fragsize,probability=T,breaks=%d,xlab="Fragment size (bp)",main=paste(c("Mean=",frag_mean,";","SD=",frag_sd),collapse=""),border="blue")' % len(window_left_bound), file=RS)
++ print("lines(density(fragsize,bw=%d),col='red')" % (2*step), file=RS)
++ print("dev.off()", file=RS)
+ FO.close()
+ FQ.close()
+ RS.close()
+@@ -1665,7 +1665,7 @@ class QCSAM:
+ '''for each gene, check if its RPKM (epxresion level) has already been saturated or not'''
+
+ if refbed is None:
+- print >>sys.stderr,"You must specify a bed file representing gene model\n"
++ print("You must specify a bed file representing gene model\n", file=sys.stderr)
+ exit(0)
+ if outfile is None:
+ rpkm_file = self.fileName + ".eRPKM.xls"
+@@ -1685,7 +1685,7 @@ class QCSAM:
+ #read SAM
+ my_pat = re.compile(r'NH:i:(\d+)\b')
+ NH_tag=0
+- print >>sys.stderr, "Reading "+ self.fileName + '...',
++ print("Reading "+ self.fileName + '...', end=' ', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -1698,7 +1698,7 @@ class QCSAM:
+ elif len(hitNum) ==1:
+ if int(hitNum[0])>1: continue #skip multiple mapped reads
+ else:
+- print >>sys.stderr, "More than 1 NH tag found within a single line. Incorrect SAM format!"
++ print("More than 1 NH tag found within a single line. Incorrect SAM format!", file=sys.stderr)
+ sys.exit(1)
+
+ chrom = fields[2].upper()
+@@ -1719,12 +1719,12 @@ class QCSAM:
+ block_list.append(chrom + ":" + str(mid))
+
+ if NH_tag==1:
+- print >>sys.stderr, "Warn: NO NH tag found. Cannot determine uniqueness of alignment. All alignments will be used"
+- print >>sys.stderr, "Done"
++ print("Warn: NO NH tag found. Cannot determine uniqueness of alignment. All alignments will be used", file=sys.stderr)
++ print("Done", file=sys.stderr)
+
+- print >>sys.stderr, "shuffling alignments ...",
++ print("shuffling alignments ...", end=' ', file=sys.stderr)
+ random.shuffle(block_list)
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+
+ ranges={}
+@@ -1734,7 +1734,7 @@ class QCSAM:
+ rawCount_table=collections.defaultdict(list)
+ RPKM_head=['chr','start','end','name','score','strand']
+
+- tmp=range(sample_start,sample_end,sample_step)
++ tmp=list(range(sample_start,sample_end,sample_step))
+ tmp.append(100)
+ #=========================sampling uniquely mapped reads from population
+ for pertl in tmp: #[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95,100]
+@@ -1744,7 +1744,7 @@ class QCSAM:
+ sample_size += index_end -index_st
+
+ RPKM_head.append(str(pertl) + '%')
+- print >>sys.stderr, "sampling " + str(pertl) +"% (" + str(sample_size) + ") fragments ...",
++ print("sampling " + str(pertl) +"% (" + str(sample_size) + ") fragments ...", end=' ', file=sys.stderr)
+ for i in range(index_st, index_end):
+ (chr,coord) = block_list[i].split(':')
+ if chr not in ranges:
+@@ -1763,14 +1763,14 @@ class QCSAM:
+ tx_end = int( fields[2] )
+ geneName = fields[3]
+ strand = fields[5].replace(" ","_")
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends)
+- exon_sizes = map(int,fields[10].rstrip(',\n').split(','))
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends))
++ exon_sizes = list(map(int,fields[10].rstrip(',\n').split(',')))
+ key='\t'.join((chrom.lower(),str(tx_start),str(tx_end),geneName,'0',strand))
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, file=sys.stderr)
+ continue
+ mRNA_count=0 #we need to initializ it to 0 for each gene
+ mRNA_len=sum(exon_sizes)
+@@ -1778,24 +1778,24 @@ class QCSAM:
+ if chrom in ranges:
+ mRNA_count += len(ranges[chrom].find(st,end))
+ if mRNA_len ==0:
+- print >>sys.stderr, geneName + " has 0 nucleotides. Exit!"
++ print(geneName + " has 0 nucleotides. Exit!", file=sys.stderr)
+ sys.exit(1)
+ if sample_size == 0:
+- print >>sys.stderr, "Too few reads to sample. Exit!"
++ print("Too few reads to sample. Exit!", file=sys.stderr)
+ sys.exit(1)
+ mRNA_RPKM = (mRNA_count * 1000000000.0)/(mRNA_len * sample_size)
+ RPKM_table[key].append(str(mRNA_RPKM))
+ rawCount_table[key].append(str(mRNA_count))
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+ #self.f.seek(0)
+- print >>RPKM_OUT, '\t'.join(RPKM_head)
+- print >>RAW_OUT, '\t'.join(RPKM_head)
++ print('\t'.join(RPKM_head), file=RPKM_OUT)
++ print('\t'.join(RPKM_head), file=RAW_OUT)
+ for key in RPKM_table:
+- print >>RPKM_OUT, key + '\t',
+- print >>RPKM_OUT, '\t'.join(RPKM_table[key])
+- print >>RAW_OUT, key + '\t',
+- print >>RAW_OUT, '\t'.join(rawCount_table[key])
++ print(key + '\t', end=' ', file=RPKM_OUT)
++ print('\t'.join(RPKM_table[key]), file=RPKM_OUT)
++ print(key + '\t', end=' ', file=RAW_OUT)
++ print('\t'.join(rawCount_table[key]), file=RAW_OUT)
+
+ def saturation_junction(self,refgene,outfile=None,sample_start=5,sample_step=5,sample_end=100,min_intron=50,recur=1):
+ '''check if an RNA-seq experiment is saturated in terms of detecting known splicing junction'''
+@@ -1805,7 +1805,7 @@ class QCSAM:
+ else:
+ out_file = outfile + ".junctionSaturation_plot.r"
+ if refgene is None:
+- print >>sys.stderr, "You must provide reference gene model in bed format."
++ print("You must provide reference gene model in bed format.", file=sys.stderr)
+ sys.exit(1)
+
+ OUT = open(out_file,'w')
+@@ -1813,12 +1813,12 @@ class QCSAM:
+
+ #reading reference gene
+ knownSpliceSites= set()
+- print >>sys.stderr, "reading reference bed file: ",refgene, " ... ",
++ print("reading reference bed file: ",refgene, " ... ", end=' ', file=sys.stderr)
+ for line in open(refgene,'r'):
+ if line.startswith(('#','track','browser')):continue
+ fields = line.split()
+ if(len(fields)<12):
+- print >>sys.stderr, "Invalid bed line (skipped):",line,
++ print("Invalid bed line (skipped):",line, end=' ', file=sys.stderr)
+ continue
+ chrom = fields[0].upper()
+ tx_start = int( fields[1] )
+@@ -1826,15 +1826,15 @@ class QCSAM:
+ if int(fields[9] ==1):
+ continue
+
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends);
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends));
+ intron_start = exon_ends[:-1]
+ intron_end=exon_starts[1:]
+ for st,end in zip (intron_start, intron_end):
+ knownSpliceSites.add(chrom + ":" + str(st) + "-" + str(end))
+- print >>sys.stderr,"Done! Total "+str(len(knownSpliceSites)) + " known splicing sites"
++ print("Done! Total "+str(len(knownSpliceSites)) + " known splicing sites", file=sys.stderr)
+
+
+ #read SAM file
+@@ -1842,7 +1842,7 @@ class QCSAM:
+ intron_start=[]
+ intron_end=[]
+ uniqSpliceSites=collections.defaultdict(int)
+- print >>sys.stderr, "Reading "+ self.fileName + '...',
++ print("Reading "+ self.fileName + '...', end=' ', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -1883,13 +1883,13 @@ class QCSAM:
+ for st,end in zip(intron_st, intron_end):
+ samSpliceSites.append(chrom + ":" + str(st) + "-" + str(end))
+ #self.f.seek(0)
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+
+
+- print >>sys.stderr, "shuffling alignments ...",
++ print("shuffling alignments ...", end=' ', file=sys.stderr)
+ random.shuffle(samSpliceSites)
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+ #resampling
+ SR_num = len(samSpliceSites)
+@@ -1898,7 +1898,7 @@ class QCSAM:
+ known_junc=[]
+ all_junc=[]
+ #=========================sampling uniquely mapped reads from population
+- tmp=range(sample_start,sample_end,sample_step)
++ tmp=list(range(sample_start,sample_end,sample_step))
+ tmp.append(100)
+ for pertl in tmp: #[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95,100]
+ knownSpliceSites_num = 0
+@@ -1907,26 +1907,26 @@ class QCSAM:
+ if index_st < 0: index_st = 0
+ sample_size += index_end -index_st
+
+- print >>sys.stderr, "sampling " + str(pertl) +"% (" + str(sample_size) + ") unique splicing alignments ...",
++ print("sampling " + str(pertl) +"% (" + str(sample_size) + ") unique splicing alignments ...", end=' ', file=sys.stderr)
+ for i in range(index_st, index_end):
+ uniqSpliceSites[samSpliceSites[i]] +=1
+- all_junc.append(str(len(uniqSpliceSites.keys())))
++ all_junc.append(str(len(list(uniqSpliceSites.keys()))))
+ for sj in uniqSpliceSites:
+ if sj in knownSpliceSites and uniqSpliceSites[sj] >= recur:
+ knownSpliceSites_num +=1
+- print >>sys.stderr, str(knownSpliceSites_num) + " known splicing junctions"
++ print(str(knownSpliceSites_num) + " known splicing junctions", file=sys.stderr)
+ known_junc.append(str(knownSpliceSites_num))
+
+ #for j in uniq_SJ:
+ #print >>OUT, j + "\t" + str(uniq_SJ[j])
+- print >>OUT, "pdf('junction_saturation.pdf')"
+- print >>OUT, "x=c(" + ','.join([str(i) for i in tmp]) + ')'
+- print >>OUT, "y=c(" + ','.join(known_junc) + ')'
+- print >>OUT, "z=c(" + ','.join(all_junc) + ')'
+- print >>OUT, "plot(x,z/1000,xlab='percent of total reads',ylab='Number of splicing junctions (x1000)',type='o',col='blue',ylim=c(%d,%d))" % (int(int(known_junc[0])/1000), int(int(all_junc[-1])/1000))
+- print >>OUT, "points(x,y/1000,type='o',col='red')"
+- print >>OUT, 'legend(5,%d, legend=c("All detected junction","Annotated junction"),col=c("blue","red"),lwd=1,pch=1)' % int(int(all_junc[-1])/1000)
+- print >>OUT, "dev.off()"
++ print("pdf('junction_saturation.pdf')", file=OUT)
++ print("x=c(" + ','.join([str(i) for i in tmp]) + ')', file=OUT)
++ print("y=c(" + ','.join(known_junc) + ')', file=OUT)
++ print("z=c(" + ','.join(all_junc) + ')', file=OUT)
++ print("plot(x,z/1000,xlab='percent of total reads',ylab='Number of splicing junctions (x1000)',type='o',col='blue',ylim=c(%d,%d))" % (int(int(known_junc[0])/1000), int(int(all_junc[-1])/1000)), file=OUT)
++ print("points(x,y/1000,type='o',col='red')", file=OUT)
++ print('legend(5,%d, legend=c("All detected junction","Annotated junction"),col=c("blue","red"),lwd=1,pch=1)' % int(int(all_junc[-1])/1000), file=OUT)
++ print("dev.off()", file=OUT)
+
+
+ def annotate_junction(self,refgene,outfile=None,min_intron=50):
+@@ -1941,7 +1941,7 @@ class QCSAM:
+ out_file = outfile + ".junction.xls"
+ out_file2 = outfile + ".junction_plot.r"
+ if refgene is None:
+- print >>sys.stderr, "You must provide reference gene model in bed format."
++ print("You must provide reference gene model in bed format.", file=sys.stderr)
+ sys.exit(1)
+ OUT = open(out_file,'w')
+ ROUT = open(out_file2,'w')
+@@ -1955,13 +1955,13 @@ class QCSAM:
+ known_junc =0
+ splicing_events=collections.defaultdict(int)
+
+- print >>sys.stderr, "\treading reference bed file: ",refgene, " ... ",
++ print("\treading reference bed file: ",refgene, " ... ", end=' ', file=sys.stderr)
+ for line in open(refgene,'r'):
+ if line.startswith(('#','track','browser')):continue
+ # Parse fields from gene tabls
+ fields = line.split()
+ if(len(fields)<12):
+- print >>sys.stderr, "Invalid bed line (skipped):",line,
++ print("Invalid bed line (skipped):",line, end=' ', file=sys.stderr)
+ continue
+ chrom = fields[0].upper()
+ tx_start = int( fields[1] )
+@@ -1969,19 +1969,19 @@ class QCSAM:
+ if int(fields[9] ==1):
+ continue
+
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends);
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends));
+ intron_start = exon_ends[:-1]
+ intron_end=exon_starts[1:]
+ for i_st,i_end in zip (intron_start, intron_end):
+ refIntronStarts[chrom][i_st] =i_st
+ refIntronEnds[chrom][i_end] =i_end
+- print >>sys.stderr,"Done"
++ print("Done", file=sys.stderr)
+
+ #reading input SAM file
+- print >>sys.stderr, "\tProcessing "+ self.fileName + '...',
++ print("\tProcessing "+ self.fileName + '...', end=' ', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -2022,25 +2022,25 @@ class QCSAM:
+ intron_end = blockStart[1:]
+ for i_st,i_end in zip(intron_st, intron_end):
+ splicing_events[chrom + ":" + str(i_st) + ":" + str(i_end)] += 1
+- if (refIntronStarts[chrom].has_key(i_st) and refIntronEnds[chrom].has_key(i_end)):
++ if (i_st in refIntronStarts[chrom] and i_end in refIntronEnds[chrom]):
+ known_junc +=1 #known both
+- elif (not refIntronStarts[chrom].has_key(i_st) and not refIntronEnds[chrom].has_key(i_end)):
++ elif (i_st not in refIntronStarts[chrom] and i_end not in refIntronEnds[chrom]):
+ novel35_junc +=1
+ else:
+ novel3or5_junc +=1
+ #self.f.seek(0)
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+- print >>ROUT, 'pdf("splicing_events_pie.pdf")'
+- print >>ROUT, "events=c(" + ','.join([str(i*100.0/total_junc) for i in (novel3or5_junc,novel35_junc,known_junc)])+ ')'
+- print >>ROUT, 'pie(events,col=c(2,3,4),init.angle=30,angle=c(60,120,150),density=c(70,70,70),main="splicing events",labels=c("partial_novel %d%%","complete_novel %d%%","known %d%%"))' % (round(novel3or5_junc*100.0/total_junc),round(novel35_junc*100.0/total_junc),round(known_junc*100.0/total_junc))
+- print >>ROUT, "dev.off()"
++ print('pdf("splicing_events_pie.pdf")', file=ROUT)
++ print("events=c(" + ','.join([str(i*100.0/total_junc) for i in (novel3or5_junc,novel35_junc,known_junc)])+ ')', file=ROUT)
++ print('pie(events,col=c(2,3,4),init.angle=30,angle=c(60,120,150),density=c(70,70,70),main="splicing events",labels=c("partial_novel %d%%","complete_novel %d%%","known %d%%"))' % (round(novel3or5_junc*100.0/total_junc),round(novel35_junc*100.0/total_junc),round(known_junc*100.0/total_junc)), file=ROUT)
++ print("dev.off()", file=ROUT)
+
+- print >>sys.stderr, "\n==================================================================="
+- print >>sys.stderr, "Total splicing Events:\t" + str(total_junc)
+- print >>sys.stderr, "Known Splicing Events:\t" + str(known_junc)
+- print >>sys.stderr, "Partial Novel Splicing Events:\t" + str(novel3or5_junc)
+- print >>sys.stderr, "Novel Splicing Events:\t" + str(novel35_junc)
++ print("\n===================================================================", file=sys.stderr)
++ print("Total splicing Events:\t" + str(total_junc), file=sys.stderr)
++ print("Known Splicing Events:\t" + str(known_junc), file=sys.stderr)
++ print("Partial Novel Splicing Events:\t" + str(novel3or5_junc), file=sys.stderr)
++ print("Novel Splicing Events:\t" + str(novel35_junc), file=sys.stderr)
+
+ #reset variables
+ total_junc =0
+@@ -2048,34 +2048,34 @@ class QCSAM:
+ novel3or5_junc =0
+ known_junc =0
+
+- print >>OUT, "chrom\tintron_st(0-based)\tintron_end(1-based)\tread_count\tannotation"
++ print("chrom\tintron_st(0-based)\tintron_end(1-based)\tread_count\tannotation", file=OUT)
+ for i in splicing_events:
+ total_junc += 1
+ (chrom, i_st, i_end) = i.split(":")
+- print >>OUT, '\t'.join([chrom.replace("CHR","chr"),i_st,i_end]) + '\t' + str(splicing_events[i]) + '\t',
++ print('\t'.join([chrom.replace("CHR","chr"),i_st,i_end]) + '\t' + str(splicing_events[i]) + '\t', end=' ', file=OUT)
+ i_st = int(i_st)
+ i_end = int(i_end)
+- if (refIntronStarts[chrom].has_key(i_st) and refIntronEnds[chrom].has_key(i_end)):
+- print >>OUT, "annotated"
++ if (i_st in refIntronStarts[chrom] and i_end in refIntronEnds[chrom]):
++ print("annotated", file=OUT)
+ known_junc +=1
+- elif (not refIntronStarts[chrom].has_key(i_st) and not refIntronEnds[chrom].has_key(i_end)):
+- print >>OUT, 'complete_novel'
++ elif (i_st not in refIntronStarts[chrom] and i_end not in refIntronEnds[chrom]):
++ print('complete_novel', file=OUT)
+ novel35_junc +=1
+ else:
+- print >>OUT, 'partial_novel'
++ print('partial_novel', file=OUT)
+ novel3or5_junc +=1
+
+
+- print >>sys.stderr, "\nTotal splicing Junctions:\t" + str(total_junc)
+- print >>sys.stderr, "Known Splicing Junctions:\t" + str(known_junc)
+- print >>sys.stderr, "Partial Novel Splicing Junctions:\t" + str(novel3or5_junc)
+- print >>sys.stderr, "Novel Splicing Junctions:\t" + str(novel35_junc)
+- print >>sys.stderr, "\n==================================================================="
++ print("\nTotal splicing Junctions:\t" + str(total_junc), file=sys.stderr)
++ print("Known Splicing Junctions:\t" + str(known_junc), file=sys.stderr)
++ print("Partial Novel Splicing Junctions:\t" + str(novel3or5_junc), file=sys.stderr)
++ print("Novel Splicing Junctions:\t" + str(novel35_junc), file=sys.stderr)
++ print("\n===================================================================", file=sys.stderr)
+
+- print >>ROUT, 'pdf("splicing_junction_pie.pdf")'
+- print >>ROUT, "junction=c(" + ','.join([str(i*100.0/total_junc) for i in (novel3or5_junc,novel35_junc,known_junc,)])+ ')'
+- print >>ROUT, 'pie(junction,col=c(2,3,4),init.angle=30,angle=c(60,120,150),density=c(70,70,70),main="splicing junctions",labels=c("partial_novel %d%%","complete_novel %d%%","known %d%%"))' % (round(novel3or5_junc*100.0/total_junc),round(novel35_junc*100.0/total_junc),round(known_junc*100.0/total_junc))
+- print >>ROUT, "dev.off()"
++ print('pdf("splicing_junction_pie.pdf")', file=ROUT)
++ print("junction=c(" + ','.join([str(i*100.0/total_junc) for i in (novel3or5_junc,novel35_junc,known_junc,)])+ ')', file=ROUT)
++ print('pie(junction,col=c(2,3,4),init.angle=30,angle=c(60,120,150),density=c(70,70,70),main="splicing junctions",labels=c("partial_novel %d%%","complete_novel %d%%","known %d%%"))' % (round(novel3or5_junc*100.0/total_junc),round(novel35_junc*100.0/total_junc),round(known_junc*100.0/total_junc)), file=ROUT)
++ print("dev.off()", file=ROUT)
+ #print >>ROUT, "mat=matrix(c(events,junction),byrow=T,ncol=3)"
+ #print >>ROUT, 'barplot(mat,beside=T,ylim=c(0,100),names=c("known","partial\nnovel","complete\nnovel"),legend.text=c("splicing events","splicing junction"),ylab="Percent")'
+
+@@ -2083,7 +2083,7 @@ class QCSAM:
+ '''calculate mRNA's RPKM value'''
+
+ if refbed is None:
+- print >>sys.stderr,"You must specify a bed file representing gene model\n"
++ print("You must specify a bed file representing gene model\n", file=sys.stderr)
+ exit(0)
+ if outfile is None:
+ rpkm_file = self.fileName + ".RPKM.xls"
+@@ -2101,7 +2101,7 @@ class QCSAM:
+ RPKM_head=['chr','start','end','name','score','strand','length','rawCount','RPKM']
+
+ #read SAM
+- print >>sys.stderr, "Reading "+ self.fileName + '...',
++ print("Reading "+ self.fileName + '...', end=' ', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -2131,10 +2131,10 @@ class QCSAM:
+ else:
+ ranges[chrom].add_interval( Interval( mid, mid ) )
+
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+
+- print >>sys.stderr, "Calculating RPKM ...",
++ print("Calculating RPKM ...", end=' ', file=sys.stderr)
+ for line in open(refbed,'r'):
+ try:
+ if line.startswith(('#','track','browser')):continue
+@@ -2145,14 +2145,14 @@ class QCSAM:
+ tx_end = int( fields[2] )
+ geneName = fields[3]
+ strand = fields[5].replace(" ","_")
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends)
+- exon_sizes = map(int,fields[10].rstrip(',\n').split(','))
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends))
++ exon_sizes = list(map(int,fields[10].rstrip(',\n').split(',')))
+ key='\t'.join((chrom.lower(),str(tx_start),str(tx_end),geneName,'0',strand))
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, file=sys.stderr)
+ continue
+ mRNA_count=0 #we need to initializ it to 0 for each gene
+ mRNA_len=sum(exon_sizes)
+@@ -2164,14 +2164,14 @@ class QCSAM:
+ mRNAlen_table[key] = mRNA_len
+ RPKM_table[key] = str(mRNA_RPKM)
+ rawCount_table[key] = str(mRNA_count)
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+- print >>RPKM_OUT, '\t'.join(RPKM_head)
++ print('\t'.join(RPKM_head), file=RPKM_OUT)
+ for k in RPKM_table:
+- print >>RPKM_OUT, k + '\t',
+- print >>RPKM_OUT, str(mRNAlen_table[k]) + '\t',
+- print >>RPKM_OUT, str(rawCount_table[k]) + '\t',
+- print >>RPKM_OUT, str(RPKM_table[k]) + '\t'
++ print(k + '\t', end=' ', file=RPKM_OUT)
++ print(str(mRNAlen_table[k]) + '\t', end=' ', file=RPKM_OUT)
++ print(str(rawCount_table[k]) + '\t', end=' ', file=RPKM_OUT)
++ print(str(RPKM_table[k]) + '\t', file=RPKM_OUT)
+ return RPKM_table
+ self.f.seek(0)
+
+@@ -2180,10 +2180,10 @@ class QCSAM:
+ use the parental gene as standard, for spliced read, use the splicing motif as strandard'''
+
+ if refbed is None:
+- print >>sys.stderr,"You must specify a bed file representing gene model\n"
++ print("You must specify a bed file representing gene model\n", file=sys.stderr)
+ exit(0)
+ if genome is None:
+- print >>sys.stderr,"You must specify genome sequence in fasta format\n"
++ print("You must specify genome sequence in fasta format\n", file=sys.stderr)
+ exit(0)
+
+ if outfile is None:
+@@ -2191,19 +2191,19 @@ class QCSAM:
+ else:
+ strand_file = outfile + ".strand.infor"
+ OUT = open(strand_file,'w')
+- print >>OUT,"read_type\tread_id\tread_seq\tchr\tStart\tCigar\tprotocol_strand\tgene_strand"
++ print("read_type\tread_id\tread_seq\tchr\tStart\tCigar\tprotocol_strand\tgene_strand", file=OUT)
+
+ transtab = string.maketrans("ACGTNX","TGCANX")
+ motif=sp.upper().split(',')
+ motif_rev = [m.translate(transtab)[::-1] for m in motif]
+
+ #load genome
+- print >>sys.stderr, "\tloading "+genome+'...'
++ print("\tloading "+genome+'...', file=sys.stderr)
+ tmp=fasta.Fasta(genome)
+
+ #load reference gene model
+ gene_ranges={}
+- print >>sys.stderr, "reading reference gene model ...",
++ print("reading reference gene model ...", end=' ', file=sys.stderr)
+ for line in open(refbed,'r'):
+ try:
+ if line.startswith(('#','track','browser')):continue
+@@ -2215,12 +2215,12 @@ class QCSAM:
+ geneName = fields[3]
+ strand = fields[5]
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, file=sys.stderr)
+ continue
+ if chrom not in gene_ranges:
+ gene_ranges[chrom]=Intersecter()
+ gene_ranges[chrom].insert(tx_start,tx_end,strand)
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+ #read SAM
+
+@@ -2228,7 +2228,7 @@ class QCSAM:
+ strand_from_protocol = 'unknown'
+ strand_from_gene='unknown'
+ strand_stat=collections.defaultdict(int)
+- print >>sys.stderr, "Reading "+ self.fileName + '...',
++ print("Reading "+ self.fileName + '...', end=' ', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -2258,9 +2258,9 @@ class QCSAM:
+ else:
+ strand_from_gene="intergenic"
+
+- print >>OUT,read_type + '\t' + fields[0] + '\t' + fields[9] + '\t' + fields[2] + '\t' + fields[3] + '\t' + fields[5] +'\t',
+- print >>OUT,strand_from_protocol + '\t' + strand_from_gene
+- strand_stat[read_type + '\t' + strand_from_protocol +'\t' + strand_from_gene] +=1
++ print(read_type + '\t' + fields[0] + '\t' + fields[9] + '\t' + fields[2] + '\t' + fields[3] + '\t' + fields[5] +'\t', end=' ', file=OUT)
++ print(strand_from_protocol + '\t' + strand_from_gene, file=OUT)
++ strand_stat[read_type + '\t' + strand_from_protocol +'\t' + strand_from_gene] +=1
+
+
+ #for spliced read
+@@ -2273,14 +2273,14 @@ class QCSAM:
+ blockStart.append(readStart + sum(comb[:i]) )
+ for i in range(0,len(comb),2):
+ blockSize.append(comb[i])
+- blockEnd=map((lambda x,y:x+y),blockStart,blockSize)
++ blockEnd=list(map((lambda x,y:x+y),blockStart,blockSize))
+ intron_start=blockEnd[:-1]
+ intron_end=blockStart[1:]
+ for st,end in zip(intron_start,intron_end):
+ try:
+ splice_motif = str(tmp.fetchSeq(chrom, st, st+2)) + str(tmp.fetchSeq(chrom, end-2,end))
+ except:
+- print line
++ print(line)
+ if splice_motif in motif:
+ splice_strand.append('+')
+ elif splice_motif in motif_rev:
+@@ -2293,16 +2293,16 @@ class QCSAM:
+ strand_from_splice = 'unknown motif'
+ else:
+ strand_from_splice = set(splice_strand).pop()
+- print >>OUT,read_type + '\t' + fields[0] + '\t' + fields[9] + '\t' + fields[2] + '\t' + fields[3] + '\t' + fields[5] +'\t',
+- print >>OUT,strand_from_protocol + '\t' + strand_from_splice
++ print(read_type + '\t' + fields[0] + '\t' + fields[9] + '\t' + fields[2] + '\t' + fields[3] + '\t' + fields[5] +'\t', end=' ', file=OUT)
++ print(strand_from_protocol + '\t' + strand_from_splice, file=OUT)
+
+ strand_stat[read_type + '\t' + strand_from_protocol +'\t' + strand_from_splice] +=1
+
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+- print "read_type\tstrand_expected\tstrand_observed\tcount"
++ print("read_type\tstrand_expected\tstrand_observed\tcount")
+ for i in sorted(strand_stat):
+- print str(i) +'\t' + str(strand_stat[i])
++ print(str(i) +'\t' + str(strand_stat[i]))
+
+ def clipping_profile(self,outfile=None):
+ '''calculate profile of soft clipping'''
+@@ -2315,7 +2315,7 @@ class QCSAM:
+
+ OUT=open(out_file1,'w')
+ ROUT=open(out_file2,'w')
+- print >>OUT, "Position\tRead_Total\tRead_clipped"
++ print("Position\tRead_Total\tRead_clipped", file=OUT)
+ soft_p = re.compile(r'(.*?)(\d+)S')
+ read_part = re.compile(r'(\d+)[MIS=X]')
+ total_read =0
+@@ -2324,7 +2324,7 @@ class QCSAM:
+
+ read_pos=[]
+ clip_count=[]
+- print >>sys.stderr, "Reading "+ self.fileName + '...'
++ print("Reading "+ self.fileName + '...', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -2349,12 +2349,12 @@ class QCSAM:
+ for i in soft_clip_profile:
+ read_pos.append(str(i))
+ clip_count.append(str(soft_clip_profile[i]))
+- print >>OUT, str(i) + '\t' + str(total_read) + '\t' + str(soft_clip_profile[i])
+- print >>ROUT, "pdf('clipping_profile.pdf')"
+- print >>ROUT, "read_pos=c(" + ','.join(read_pos) + ')'
+- print >>ROUT, "count=c(" + ','.join(clip_count) + ')'
+- print >>ROUT, 'plot(read_pos,1-(count/%d),col="blue",main="clipping profile",xlab="Position of reads",ylab="Mappability",type="b")' % total_read
+- print >>ROUT, "dev.off()"
++ print(str(i) + '\t' + str(total_read) + '\t' + str(soft_clip_profile[i]), file=OUT)
++ print("pdf('clipping_profile.pdf')", file=ROUT)
++ print("read_pos=c(" + ','.join(read_pos) + ')', file=ROUT)
++ print("count=c(" + ','.join(clip_count) + ')', file=ROUT)
++ print('plot(read_pos,1-(count/%d),col="blue",main="clipping profile",xlab="Position of reads",ylab="Mappability",type="b")' % total_read, file=ROUT)
++ print("dev.off()", file=ROUT)
+
+ def insertion_profile(self,read_len,outfile=None):
+ '''calculate profile of insertion (insertion means insertion to the reference)'''
+@@ -2367,13 +2367,13 @@ class QCSAM:
+
+ OUT=open(out_file1,'w')
+ ROUT=open(out_file2,'w')
+- print >>OUT, "Position\tRead_Total\tRead_clipped"
++ print("Position\tRead_Total\tRead_clipped", file=OUT)
+ soft_p = re.compile(r'(.*?)(\d+)I')
+ read_part = re.compile(r'(\d+)[MIS=X]')
+ total_read =0
+ skip_part_of_read =0
+ soft_clip_profile=collections.defaultdict(int)
+- print >>sys.stderr, "Reading "+ self.fileName + '...',
++ print("Reading "+ self.fileName + '...', end=' ', file=sys.stderr)
+ for line in self.f:
+ if line.startswith("@"):continue
+ fields=line.rstrip('\n ').split()
+@@ -2396,7 +2396,7 @@ class QCSAM:
+ soft_clip_profile[n]+=1
+ skip_part_of_read += int(j[1])
+ for i in range(0,read_len):
+- print >>OUT, str(i) + '\t' + str(total_read) + '\t' + str(soft_clip_profile[i])
++ print(str(i) + '\t' + str(total_read) + '\t' + str(soft_clip_profile[i]), file=OUT)
+
+ class ParseBAM:
+ '''This class provides fuctions to parsing/processing/transforming SAM or BAM files. The input
+@@ -2408,13 +2408,13 @@ class ParseBAM:
+ try:
+ self.samfile = pysam.Samfile(inputFile,'rb')
+ if len(self.samfile.header) ==0:
+- print >>sys.stderr, "BAM/SAM file has no header section. Exit!"
++ print("BAM/SAM file has no header section. Exit!", file=sys.stderr)
+ sys.exit(1)
+ self.bam_format = True
+ except:
+ self.samfile = pysam.Samfile(inputFile,'r')
+ if len(self.samfile.header) ==0:
+- print >>sys.stderr, "BAM/SAM file has no header section. Exit!"
++ print("BAM/SAM file has no header section. Exit!", file=sys.stderr)
+ sys.exit(1)
+ self.bam_format = False
+
+@@ -2437,13 +2437,13 @@ class ParseBAM:
+ R_splice=0
+ R_properPair =0
+
+- if self.bam_format:print >>sys.stderr, "Load BAM file ... ",
+- else:print >>sys.stderr, "Load SAM file ... ",
++ if self.bam_format:print("Load BAM file ... ", end=' ', file=sys.stderr)
++ else:print("Load SAM file ... ", end=' ', file=sys.stderr)
+
+ try:
+ while(1):
+ flag=0
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+ R_total +=1
+ if aligned_read.is_qcfail: #skip QC fail read
+ R_qc_fail +=1
+@@ -2487,26 +2487,26 @@ class ParseBAM:
+ R_properPair +=1
+
+ except StopIteration:
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+ #self.samfile.seek(current_pos)
+
+- print >>sys.stderr,"\n#=================================================="
+- print >>sys.stderr, "%-30s%d" % ("Total Reads (Records):",R_total)
+- print >>sys.stderr, "\n",
+- print >>sys.stderr, "%-30s%d" % ("QC failed:",R_qc_fail)
+- print >>sys.stderr, "%-30s%d" % ("Optical/PCR duplicate:", R_duplicate)
+- print >>sys.stderr, "%-30s%d" % ("Non Primary Hits", R_nonprimary)
+- print >>sys.stderr, "%-30s%d" % ("Unmapped reads:",R_unmap)
+- print >>sys.stderr, "%-30s%d" % ("Multiple mapped reads:",R_multipleHit)
+- print >>sys.stderr, "\n",
+- print >>sys.stderr, "%-30s%d" % ("Uniquely mapped:",R_uniqHit)
+- print >>sys.stderr, "%-30s%d" % ("Read-1:",R_read1)
+- print >>sys.stderr, "%-30s%d" % ("Read-2:",R_read2)
+- print >>sys.stderr, "%-30s%d" % ("Reads map to '+':",R_forward)
+- print >>sys.stderr, "%-30s%d" % ("Reads map to '-':",R_reverse)
+- print >>sys.stderr, "%-30s%d" % ("Non-splice reads:",R_nonSplice)
+- print >>sys.stderr, "%-30s%d" % ("Splice reads:",R_splice)
+- print >>sys.stderr, "%-30s%d" % ("Reads mapped in proper pairs:",R_properPair)
++ print("\n#==================================================", file=sys.stderr)
++ print("%-30s%d" % ("Total Reads (Records):",R_total), file=sys.stderr)
++ print("\n", end=' ', file=sys.stderr)
++ print("%-30s%d" % ("QC failed:",R_qc_fail), file=sys.stderr)
++ print("%-30s%d" % ("Optical/PCR duplicate:", R_duplicate), file=sys.stderr)
++ print("%-30s%d" % ("Non Primary Hits", R_nonprimary), file=sys.stderr)
++ print("%-30s%d" % ("Unmapped reads:",R_unmap), file=sys.stderr)
++ print("%-30s%d" % ("Multiple mapped reads:",R_multipleHit), file=sys.stderr)
++ print("\n", end=' ', file=sys.stderr)
++ print("%-30s%d" % ("Uniquely mapped:",R_uniqHit), file=sys.stderr)
++ print("%-30s%d" % ("Read-1:",R_read1), file=sys.stderr)
++ print("%-30s%d" % ("Read-2:",R_read2), file=sys.stderr)
++ print("%-30s%d" % ("Reads map to '+':",R_forward), file=sys.stderr)
++ print("%-30s%d" % ("Reads map to '-':",R_reverse), file=sys.stderr)
++ print("%-30s%d" % ("Non-splice reads:",R_nonSplice), file=sys.stderr)
++ print("%-30s%d" % ("Splice reads:",R_splice), file=sys.stderr)
++ print("%-30s%d" % ("Reads mapped in proper pairs:",R_properPair), file=sys.stderr)
+
+ def configure_experiment(self,refbed,sample_size = 200000):
+ '''Given a BAM/SAM file, this function will try to guess the RNA-seq experiment:
+@@ -2521,7 +2521,7 @@ class ParseBAM:
+ s_strandness=collections.defaultdict(int)
+ #load reference gene model
+ gene_ranges={}
+- print >>sys.stderr, "Reading reference gene model " + refbed + ' ...',
++ print("Reading reference gene model " + refbed + ' ...', end=' ', file=sys.stderr)
+ for line in open(refbed,'r'):
+ try:
+ if line.startswith(('#','track','browser')):continue
+@@ -2533,22 +2533,22 @@ class ParseBAM:
+ geneName = fields[3]
+ strand = fields[5]
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, file=sys.stderr)
+ continue
+ if chrom not in gene_ranges:
+ gene_ranges[chrom]=Intersecter()
+ gene_ranges[chrom].insert(tx_start,tx_end,strand)
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+ #read SAM/BAM file
+ #current_pos = self.samfile.tell()
+- print >>sys.stderr, "Loading SAM/BAM file ... ",
++ print("Loading SAM/BAM file ... ", end=' ', file=sys.stderr)
+ try:
+ while(1):
+ if count >= sample_size:
+ break
+ flag=0
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+ if aligned_read.is_qcfail: #skip low quanlity
+ continue
+ if aligned_read.is_duplicate: #skip duplicate read
+@@ -2596,10 +2596,10 @@ class ParseBAM:
+ count += 1
+
+ except StopIteration:
+- print >>sys.stderr, "Finished"
++ print("Finished", file=sys.stderr)
+ #self.samfile.seek(current_pos)
+
+- print >>sys.stderr, "Total " + str(count) + " usable reads were sampled"
++ print("Total " + str(count) + " usable reads were sampled", file=sys.stderr)
+ protocol="unknown"
+ strandness=None
+ spec1=0.0
+@@ -2640,7 +2640,7 @@ class ParseBAM:
+ elif len(strand_rule.split(',')) ==2: #singeEnd, strand-specific
+ for i in strand_rule.split(','):strandRule[i[0]]=i[1]
+ else:
+- print >>sys.stderr, "Unknown value of option :'strand_rule' " + strand_rule
++ print("Unknown value of option :'strand_rule' " + strand_rule, file=sys.stderr)
+ sys.exit(1)
+ if len(strandRule) == 0:
+ FWO = open(outfile + '.wig','w')
+@@ -2650,13 +2650,13 @@ class ParseBAM:
+
+
+ read_id=''
+- for chr_name, chr_size in chrom_sizes.items(): #iterate each chrom
++ for chr_name, chr_size in list(chrom_sizes.items()): #iterate each chrom
+ try:
+ self.samfile.fetch(chr_name,0,chr_size)
+ except:
+- print >>sys.stderr, "No alignments for " + chr_name + '. skipped'
++ print("No alignments for " + chr_name + '. skipped', file=sys.stderr)
+ continue
+- print >>sys.stderr, "Processing " + chr_name + " ..."
++ print("Processing " + chr_name + " ...", file=sys.stderr)
+ if len(strandRule) == 0: FWO.write('variableStep chrom='+chr_name+'\n')
+ else:
+ FWO.write('variableStep chrom='+chr_name+'\n')
+@@ -2699,12 +2699,12 @@ class ParseBAM:
+
+ if len(strandRule) == 0: #this is NOT strand specific.
+ for pos in sorted (Fwig.keys()):
+- print >>FWO, "%d\t%.2f" % (pos,Fwig[pos])
++ print("%d\t%.2f" % (pos,Fwig[pos]), file=FWO)
+ else:
+ for pos in sorted (Fwig.keys()):
+- print >>FWO, "%d\t%.2f" % (pos,Fwig[pos])
++ print("%d\t%.2f" % (pos,Fwig[pos]), file=FWO)
+ for pos in sorted (Rwig.keys()):
+- print >>RVO, "%d\t%.2f" % (pos,Rwig[pos])
++ print("%d\t%.2f" % (pos,Rwig[pos]), file=RVO)
+
+
+ def calculate_rpkm(self,geneFile,outfile,strand_rule=None):
+@@ -2732,7 +2732,7 @@ class ParseBAM:
+ elif len(strand_rule.split(',')) ==2: #singeEnd, strand-specific
+ for i in strand_rule.split(','):strandRule[i[0]]=i[1]
+ else:
+- print >>sys.stderr, "Unknown value of option :'strand_rule' " + strand_rule
++ print("Unknown value of option :'strand_rule' " + strand_rule, file=sys.stderr)
+ sys.exit(1)
+
+ uniq_read=0
+@@ -2744,14 +2744,14 @@ class ParseBAM:
+ rpkm_value={}
+
+ RPKM_OUT = open(outfile,'w')
+- if self.bam_format:print >>sys.stderr, "Load BAM file ... ",
+- else:print >>sys.stderr, "Load SAM file ... ",
++ if self.bam_format:print("Load BAM file ... ", end=' ', file=sys.stderr)
++ else:print("Load SAM file ... ", end=' ', file=sys.stderr)
+
+ #current_pos = self.samfile.tell()
+ try:
+ while(1):
+ flag=0
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+ if aligned_read.is_qcfail:continue #skip low quanlity
+ if aligned_read.is_duplicate:continue #skip duplicate read
+ if aligned_read.is_secondary:continue #skip non primary hit
+@@ -2801,11 +2801,11 @@ class ParseBAM:
+ else:unstrand_ranges[chrom].add_interval( Interval( mid,mid+1 ) )
+
+ except StopIteration:
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+ #self.samfile.seek(current_pos)
+- print >>RPKM_OUT, "#Total uniquely mapped reads = " + str(uniq_read)
+- print >>RPKM_OUT, "#Total fragments = " + str(total_tags)
+- print >>sys.stderr, "Assign reads to "+ geneFile + '...',
++ print("#Total uniquely mapped reads = " + str(uniq_read), file=RPKM_OUT)
++ print("#Total fragments = " + str(total_tags), file=RPKM_OUT)
++ print("Assign reads to "+ geneFile + '...', end=' ', file=sys.stderr)
+ for line in open(geneFile,'r'):
+ try:
+ if line.startswith('#'):continue
+@@ -2819,16 +2819,16 @@ class ParseBAM:
+ geneName = fields[3]
+ strand = fields[5].replace(" ","_")
+
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends)
+- exon_sizes = map(int,fields[10].rstrip(',\n').split(','))
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends))
++ exon_sizes = list(map(int,fields[10].rstrip(',\n').split(',')))
+ intron_starts = exon_ends[:-1]
+ intron_ends=exon_starts[1:]
+ key='\t'.join((chrom.lower(),str(tx_start),str(tx_end),geneName,'0',strand))
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line,
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, end=' ', file=sys.stderr)
+ continue
+
+
+@@ -2892,7 +2892,7 @@ class ParseBAM:
+ RPKM_OUT.write(chrom.lower() + "\t" + str(tx_start) + "\t" + str(tx_end) + "\t" + geneName + "_mRNA" + "\t" + str(mRNA_count) + "\t" + strand + '\t' + str(mRNA_count*1000000000.0/(mRNA_len*total_tags)) +'\n')
+ except:
+ RPKM_OUT.write(chrom.lower() + "\t" + str(tx_start) + "\t" + str(tx_end) + "\t" + geneName + "_mRNA" + "\t" + str(0) + "\t" + strand + '\t' + str(0) +'\n')
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+ def readsNVC(self,outfile=None,nx=True):
+ '''for each read, calculate nucleotide frequency vs position'''
+@@ -2914,12 +2914,12 @@ class ParseBAM:
+ t_count=[]
+ n_count=[]
+ x_count=[]
+- if self.bam_format:print >>sys.stderr, "Load BAM file ... ",
+- else:print >>sys.stderr, "Load SAM file ... ",
++ if self.bam_format:print("Load BAM file ... ", end=' ', file=sys.stderr)
++ else:print("Load SAM file ... ", end=' ', file=sys.stderr)
+
+ try:
+ while(1):
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+ #if aligned_read.is_unmapped:continue #skip unmapped read
+ #if aligned_read.is_qcfail:continue #skip low quality
+ RNA_read = aligned_read.seq.upper()
+@@ -2929,62 +2929,62 @@ class ParseBAM:
+ key = str(i) + j
+ base_freq[key] += 1
+ except StopIteration:
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+- print >>sys.stderr, "generating data matrix ..."
+- print >>FO, "Position\tA\tC\tG\tT\tN\tX"
+- for i in xrange(len(RNA_read)):
+- print >>FO, str(i) + '\t',
+- print >>FO, str(base_freq[str(i) + "A"]) + '\t',
++ print("generating data matrix ...", file=sys.stderr)
++ print("Position\tA\tC\tG\tT\tN\tX", file=FO)
++ for i in range(len(RNA_read)):
++ print(str(i) + '\t', end=' ', file=FO)
++ print(str(base_freq[str(i) + "A"]) + '\t', end=' ', file=FO)
+ a_count.append(str(base_freq[str(i) + "A"]))
+- print >>FO, str(base_freq[str(i) + "C"]) + '\t',
++ print(str(base_freq[str(i) + "C"]) + '\t', end=' ', file=FO)
+ c_count.append(str(base_freq[str(i) + "C"]))
+- print >>FO, str(base_freq[str(i) + "G"]) + '\t',
++ print(str(base_freq[str(i) + "G"]) + '\t', end=' ', file=FO)
+ g_count.append(str(base_freq[str(i) + "G"]))
+- print >>FO, str(base_freq[str(i) + "T"]) + '\t',
++ print(str(base_freq[str(i) + "T"]) + '\t', end=' ', file=FO)
+ t_count.append(str(base_freq[str(i) + "T"]))
+- print >>FO, str(base_freq[str(i) + "N"]) + '\t',
++ print(str(base_freq[str(i) + "N"]) + '\t', end=' ', file=FO)
+ n_count.append(str(base_freq[str(i) + "N"]))
+- print >>FO, str(base_freq[str(i) + "X"]) + '\t'
++ print(str(base_freq[str(i) + "X"]) + '\t', file=FO)
+ x_count.append(str(base_freq[str(i) + "X"]))
+ FO.close()
+
+ #generating R scripts
+- print >>sys.stderr, "generating R script ..."
+- print >>RS, "position=c(" + ','.join([str(i) for i in xrange(len(RNA_read))]) + ')'
+- print >>RS, "A_count=c(" + ','.join(a_count) + ')'
+- print >>RS, "C_count=c(" + ','.join(c_count) + ')'
+- print >>RS, "G_count=c(" + ','.join(g_count) + ')'
+- print >>RS, "T_count=c(" + ','.join(t_count) + ')'
+- print >>RS, "N_count=c(" + ','.join(n_count) + ')'
+- print >>RS, "X_count=c(" + ','.join(x_count) + ')'
++ print("generating R script ...", file=sys.stderr)
++ print("position=c(" + ','.join([str(i) for i in range(len(RNA_read))]) + ')', file=RS)
++ print("A_count=c(" + ','.join(a_count) + ')', file=RS)
++ print("C_count=c(" + ','.join(c_count) + ')', file=RS)
++ print("G_count=c(" + ','.join(g_count) + ')', file=RS)
++ print("T_count=c(" + ','.join(t_count) + ')', file=RS)
++ print("N_count=c(" + ','.join(n_count) + ')', file=RS)
++ print("X_count=c(" + ','.join(x_count) + ')', file=RS)
+
+ if nx:
+- print >>RS, "total= A_count + C_count + G_count + T_count + N_count + X_count"
+- print >>RS, "ym=max(A_count/total,C_count/total,G_count/total,T_count/total,N_count/total,X_count/total) + 0.05"
+- print >>RS, "yn=min(A_count/total,C_count/total,G_count/total,T_count/total,N_count/total,X_count/total)"
++ print("total= A_count + C_count + G_count + T_count + N_count + X_count", file=RS)
++ print("ym=max(A_count/total,C_count/total,G_count/total,T_count/total,N_count/total,X_count/total) + 0.05", file=RS)
++ print("yn=min(A_count/total,C_count/total,G_count/total,T_count/total,N_count/total,X_count/total)", file=RS)
+
+- print >>RS, 'pdf(\"%s\")' % (outfile +".NVC_plot.pdf")
+- print >>RS, 'plot(position,A_count/total,type="o",pch=20,ylim=c(yn,ym),col="dark green",xlab="Position of Read",ylab="Nucleotide Frequency")'
+- print >>RS, 'lines(position,T_count/total,type="o",pch=20,col="red")'
+- print >>RS, 'lines(position,G_count/total,type="o",pch=20,col="blue")'
+- print >>RS, 'lines(position,C_count/total,type="o",pch=20,col="cyan")'
+- print >>RS, 'lines(position,N_count/total,type="o",pch=20,col="black")'
+- print >>RS, 'lines(position,X_count/total,type="o",pch=20,col="grey")'
+- print >>RS, 'legend('+ str(len(RNA_read)-10) + ',ym,legend=c("A","T","G","C","N","X"),col=c("dark green","red","blue","cyan","black","grey"),lwd=2,pch=20,text.col=c("dark green","red","blue","cyan","black","grey"))'
+- print >>RS, "dev.off()"
++ print('pdf(\"%s\")' % (outfile +".NVC_plot.pdf"), file=RS)
++ print('plot(position,A_count/total,type="o",pch=20,ylim=c(yn,ym),col="dark green",xlab="Position of Read",ylab="Nucleotide Frequency")', file=RS)
++ print('lines(position,T_count/total,type="o",pch=20,col="red")', file=RS)
++ print('lines(position,G_count/total,type="o",pch=20,col="blue")', file=RS)
++ print('lines(position,C_count/total,type="o",pch=20,col="cyan")', file=RS)
++ print('lines(position,N_count/total,type="o",pch=20,col="black")', file=RS)
++ print('lines(position,X_count/total,type="o",pch=20,col="grey")', file=RS)
++ print('legend('+ str(len(RNA_read)-10) + ',ym,legend=c("A","T","G","C","N","X"),col=c("dark green","red","blue","cyan","black","grey"),lwd=2,pch=20,text.col=c("dark green","red","blue","cyan","black","grey"))', file=RS)
++ print("dev.off()", file=RS)
+ else:
+- print >>RS, "total= A_count + C_count + G_count + T_count"
+- print >>RS, "ym=max(A_count/total,C_count/total,G_count/total,T_count/total) + 0.05"
+- print >>RS, "yn=min(A_count/total,C_count/total,G_count/total,T_count/total)"
++ print("total= A_count + C_count + G_count + T_count", file=RS)
++ print("ym=max(A_count/total,C_count/total,G_count/total,T_count/total) + 0.05", file=RS)
++ print("yn=min(A_count/total,C_count/total,G_count/total,T_count/total)", file=RS)
+
+- print >>RS, 'pdf(\"%s\")' % (outfile +".NVC_plot.pdf")
+- print >>RS, 'plot(position,A_count/total,type="o",pch=20,ylim=c(yn,ym),col="dark green",xlab="Position of Read",ylab="Nucleotide Frequency")'
+- print >>RS, 'lines(position,T_count/total,type="o",pch=20,col="red")'
+- print >>RS, 'lines(position,G_count/total,type="o",pch=20,col="blue")'
+- print >>RS, 'lines(position,C_count/total,type="o",pch=20,col="cyan")'
+- print >>RS, 'legend('+ str(len(RNA_read)-10) + ',ym,legend=c("A","T","G","C"),col=c("dark green","red","blue","cyan"),lwd=2,pch=20,text.col=c("dark green","red","blue","cyan"))'
+- print >>RS, "dev.off()"
++ print('pdf(\"%s\")' % (outfile +".NVC_plot.pdf"), file=RS)
++ print('plot(position,A_count/total,type="o",pch=20,ylim=c(yn,ym),col="dark green",xlab="Position of Read",ylab="Nucleotide Frequency")', file=RS)
++ print('lines(position,T_count/total,type="o",pch=20,col="red")', file=RS)
++ print('lines(position,G_count/total,type="o",pch=20,col="blue")', file=RS)
++ print('lines(position,C_count/total,type="o",pch=20,col="cyan")', file=RS)
++ print('legend('+ str(len(RNA_read)-10) + ',ym,legend=c("A","T","G","C"),col=c("dark green","red","blue","cyan"),lwd=2,pch=20,text.col=c("dark green","red","blue","cyan"))', file=RS)
++ print("dev.off()", file=RS)
+
+ RS.close()
+ #self.f.seek(0)
+@@ -2995,8 +2995,8 @@ class ParseBAM:
+ output = outfile + ".qual.r"
+ FO=open(output,'w')
+
+- if self.bam_format:print >>sys.stderr, "Load BAM file ... ",
+- else:print >>sys.stderr, "Load SAM file ... ",
++ if self.bam_format:print("Load BAM file ... ", end=' ', file=sys.stderr)
++ else:print("Load SAM file ... ", end=' ', file=sys.stderr)
+
+ quality = collections.defaultdict(dict) #read_pos=>quality score=>count
+ q_max = -1
+@@ -3005,7 +3005,7 @@ class ParseBAM:
+ i_box={} #key is read postion,value is
+ try:
+ while(1):
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+
+ #if aligned_read.is_unmapped:continue #skip unmapped read
+ #if aligned_read.is_qcfail:continue #skip low quality
+@@ -3024,14 +3024,14 @@ class ParseBAM:
+ except:
+ quality[i][q] = 1
+ except StopIteration:
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+ for p in range(0,read_len):
+ #print str(p) + ':',
+ val=[]
+ occurrence=[]
+ for q in range(q_min,q_max+1):
+- if quality.has_key(p) and quality[p].has_key(q):
++ if p in quality and q in quality[p]:
+ val.append(str(q))
+ occurrence.append(str(quality[p][q]))
+ q_list.append(str(quality[p][q]))
+@@ -3041,21 +3041,21 @@ class ParseBAM:
+
+
+ #generate R script for boxplot
+- print >>FO, "pdf(\'%s\')" % (outfile + ".qual.boxplot.pdf")
++ print("pdf(\'%s\')" % (outfile + ".qual.boxplot.pdf"), file=FO)
+ for i in sorted(i_box):
+- print >>FO,'p'+str(i) + '<-' + i_box[i]
+- print >>FO, 'boxplot(' + ','.join(['p'+str(i) for i in i_box]) + ',xlab=\"Position of Read(5\'->3\')\",ylab=\"Phred Quality Score\",outline=F' + ')'
+- print >>FO,"dev.off()"
++ print('p'+str(i) + '<-' + i_box[i], file=FO)
++ print('boxplot(' + ','.join(['p'+str(i) for i in i_box]) + ',xlab=\"Position of Read(5\'->3\')\",ylab=\"Phred Quality Score\",outline=F' + ')', file=FO)
++ print("dev.off()", file=FO)
+
+
+ #generate R script for heatmap
+- print >>FO, '\n'
+- print >>FO, "pdf(\'%s\')" % (outfile + ".qual.heatmap.pdf")
+- print >>FO, "qual=c(" + ','.join(q_list) + ')'
+- print >>FO, "mat=matrix(qual,ncol=%s,byrow=F)" % (read_len)
+- print >>FO, 'Lab.palette <- colorRampPalette(c("blue", "orange", "red3","red2","red1","red"), space = "rgb",interpolate=c(\'spline\'))'
+- print >>FO, "heatmap(mat,Rowv=NA,Colv=NA,xlab=\"Position of Read\",ylab=\"Phred Quality Score\",labRow=seq(from=%s,to=%s),col = Lab.palette(256),scale=\"none\" )" % (q_min,q_max)
+- print >>FO, 'dev.off()'
++ print('\n', file=FO)
++ print("pdf(\'%s\')" % (outfile + ".qual.heatmap.pdf"), file=FO)
++ print("qual=c(" + ','.join(q_list) + ')', file=FO)
++ print("mat=matrix(qual,ncol=%s,byrow=F)" % (read_len), file=FO)
++ print('Lab.palette <- colorRampPalette(c("blue", "orange", "red3","red2","red1","red"), space = "rgb",interpolate=c(\'spline\'))', file=FO)
++ print("heatmap(mat,Rowv=NA,Colv=NA,xlab=\"Position of Read\",ylab=\"Phred Quality Score\",labRow=seq(from=%s,to=%s),col = Lab.palette(256),scale=\"none\" )" % (q_min,q_max), file=FO)
++ print('dev.off()', file=FO)
+
+
+ def readGC(self,outfile=None):
+@@ -3071,12 +3071,12 @@ class ParseBAM:
+
+ gc_hist=collections.defaultdict(int) #key is GC percent, value is count of reads
+
+- if self.bam_format:print >>sys.stderr, "Load BAM file ... ",
+- else:print >>sys.stderr, "Load SAM file ... ",
++ if self.bam_format:print("Load BAM file ... ", end=' ', file=sys.stderr)
++ else:print("Load SAM file ... ", end=' ', file=sys.stderr)
+
+ try:
+ while(1):
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+ if aligned_read.is_unmapped:continue #skip unmapped read
+ if aligned_read.is_qcfail:continue #skip low quality
+ RNA_read = aligned_read.seq.upper()
+@@ -3084,19 +3084,19 @@ class ParseBAM:
+ #print gc_percent
+ gc_hist[gc_percent] += 1
+ except StopIteration:
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+- print >>sys.stderr, "writing GC content ..."
+- print >>FO, "GC%\tread_count"
+- for i in gc_hist.keys():
+- print >>FO, i + '\t' + str(gc_hist[i])
++ print("writing GC content ...", file=sys.stderr)
++ print("GC%\tread_count", file=FO)
++ for i in list(gc_hist.keys()):
++ print(i + '\t' + str(gc_hist[i]), file=FO)
+
+- print >>sys.stderr, "writing R script ..."
+- print >>RS, "pdf(\"%s\")" % (outfile + ".GC_plot.pdf")
+- print >>RS, 'gc=rep(c(' + ','.join([i for i in gc_hist.keys()]) + '),' + 'times=c(' + ','.join([str(i) for i in gc_hist.values()]) + '))'
+- print >>RS, 'hist(gc,probability=T,breaks=%d,xlab="GC content (%%)",ylab="Density of Reads",border="blue",main="")' % 100
++ print("writing R script ...", file=sys.stderr)
++ print("pdf(\"%s\")" % (outfile + ".GC_plot.pdf"), file=RS)
++ print('gc=rep(c(' + ','.join([i for i in list(gc_hist.keys())]) + '),' + 'times=c(' + ','.join([str(i) for i in list(gc_hist.values())]) + '))', file=RS)
++ print('hist(gc,probability=T,breaks=%d,xlab="GC content (%%)",ylab="Density of Reads",border="blue",main="")' % 100, file=RS)
+ #print >>RS, "lines(density(gc),col='red')"
+- print >>RS ,"dev.off()"
++ print("dev.off()", file=RS)
+ #self.f.seek(0)
+
+
+@@ -3120,13 +3120,13 @@ class ParseBAM:
+ seqDup_count=collections.defaultdict(int)
+ posDup_count=collections.defaultdict(int)
+
+- if self.bam_format:print >>sys.stderr, "Load BAM file ... ",
+- else:print >>sys.stderr, "Load SAM file ... ",
++ if self.bam_format:print("Load BAM file ... ", end=' ', file=sys.stderr)
++ else:print("Load SAM file ... ", end=' ', file=sys.stderr)
+
+ try:
+ while(1):
+ exon_boundary=""
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+ if aligned_read.is_unmapped:continue #skip unmapped read
+ if aligned_read.is_qcfail:continue #skip low quality
+ RNA_read = aligned_read.seq.upper()
+@@ -3142,40 +3142,40 @@ class ParseBAM:
+ posDup[key] +=1
+
+ except StopIteration:
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+- print >>sys.stderr, "report duplicte rate based on sequence ..."
+- print >>SEQ, "Occurrence\tUniqReadNumber"
+- for i in seqDup.values(): #key is occurence, value is uniq reads number (based on seq)
++ print("report duplicte rate based on sequence ...", file=sys.stderr)
++ print("Occurrence\tUniqReadNumber", file=SEQ)
++ for i in list(seqDup.values()): #key is occurence, value is uniq reads number (based on seq)
+ seqDup_count[i] +=1
+- for k in sorted(seqDup_count.iterkeys()):
+- print >>SEQ, str(k) +'\t'+ str(seqDup_count[k])
++ for k in sorted(seqDup_count.keys()):
++ print(str(k) +'\t'+ str(seqDup_count[k]), file=SEQ)
+ SEQ.close()
+
+- print >>sys.stderr, "report duplicte rate based on mapping ..."
+- print >>POS, "Occurrence\tUniqReadNumber"
+- for i in posDup.values(): #key is occurence, value is uniq reads number (based on coord)
++ print("report duplicte rate based on mapping ...", file=sys.stderr)
++ print("Occurrence\tUniqReadNumber", file=POS)
++ for i in list(posDup.values()): #key is occurence, value is uniq reads number (based on coord)
+ posDup_count[i] +=1
+- for k in sorted(posDup_count.iterkeys()):
+- print >>POS, str(k) +'\t'+ str(posDup_count[k])
++ for k in sorted(posDup_count.keys()):
++ print(str(k) +'\t'+ str(posDup_count[k]), file=POS)
+ POS.close()
+
+
+- print >>sys.stderr, "generate R script ..."
+- print >>RS, "pdf(\'%s\')" % (outfile +".DupRate_plot.pdf")
+- print >>RS, "par(mar=c(5,4,4,5),las=0)"
+- print >>RS, "seq_occ=c(" + ','.join([str(i) for i in sorted(seqDup_count.iterkeys()) ]) + ')'
+- print >>RS, "seq_uniqRead=c(" + ','.join([str(seqDup_count[i]) for i in sorted(seqDup_count.iterkeys()) ]) + ')'
+- print >>RS, "pos_occ=c(" + ','.join([str(i) for i in sorted(posDup_count.iterkeys()) ]) + ')'
+- print >>RS, "pos_uniqRead=c(" + ','.join([str(posDup_count[i]) for i in sorted(posDup_count.iterkeys()) ]) + ')'
+- print >>RS, "plot(pos_occ,log10(pos_uniqRead),ylab='Number of Reads (log10)',xlab='Frequency',pch=4,cex=0.8,col='blue',xlim=c(1,%d),yaxt='n')" % up_bound
+- print >>RS, "points(seq_occ,log10(seq_uniqRead),pch=20,cex=0.8,col='red')"
+- print >>RS, 'ym=floor(max(log10(pos_uniqRead)))'
+- print >>RS, "legend(%d,ym,legend=c('Sequence-base','Mapping-base'),col=c('red','blue'),pch=c(4,20))" % max(up_bound-200,1)
+- print >>RS, 'axis(side=2,at=0:ym,labels=0:ym)'
+- print >>RS, 'axis(side=4,at=c(log10(pos_uniqRead[1]),log10(pos_uniqRead[2]),log10(pos_uniqRead[3]),log10(pos_uniqRead[4])), labels=c(round(pos_uniqRead[1]*100/sum(pos_uniqRead)),round(pos_uniqRead[2]*100/sum(pos_uniqRead)),round(pos_uniqRead[3]*100/sum(pos_uniqRead)),round(pos_uniqRead[4]*100/sum(pos_uniqRead))))'
+- print >>RS, 'mtext(4, text = "Reads %", line = 2)'
+- print >>RS, 'dev.off()'
++ print("generate R script ...", file=sys.stderr)
++ print("pdf(\'%s\')" % (outfile +".DupRate_plot.pdf"), file=RS)
++ print("par(mar=c(5,4,4,5),las=0)", file=RS)
++ print("seq_occ=c(" + ','.join([str(i) for i in sorted(seqDup_count.keys()) ]) + ')', file=RS)
++ print("seq_uniqRead=c(" + ','.join([str(seqDup_count[i]) for i in sorted(seqDup_count.keys()) ]) + ')', file=RS)
++ print("pos_occ=c(" + ','.join([str(i) for i in sorted(posDup_count.keys()) ]) + ')', file=RS)
++ print("pos_uniqRead=c(" + ','.join([str(posDup_count[i]) for i in sorted(posDup_count.keys()) ]) + ')', file=RS)
++ print("plot(pos_occ,log10(pos_uniqRead),ylab='Number of Reads (log10)',xlab='Frequency',pch=4,cex=0.8,col='blue',xlim=c(1,%d),yaxt='n')" % up_bound, file=RS)
++ print("points(seq_occ,log10(seq_uniqRead),pch=20,cex=0.8,col='red')", file=RS)
++ print('ym=floor(max(log10(pos_uniqRead)))', file=RS)
++ print("legend(%d,ym,legend=c('Sequence-base','Mapping-base'),col=c('red','blue'),pch=c(4,20))" % max(up_bound-200,1), file=RS)
++ print('axis(side=2,at=0:ym,labels=0:ym)', file=RS)
++ print('axis(side=4,at=c(log10(pos_uniqRead[1]),log10(pos_uniqRead[2]),log10(pos_uniqRead[3]),log10(pos_uniqRead[4])), labels=c(round(pos_uniqRead[1]*100/sum(pos_uniqRead)),round(pos_uniqRead[2]*100/sum(pos_uniqRead)),round(pos_uniqRead[3]*100/sum(pos_uniqRead)),round(pos_uniqRead[4]*100/sum(pos_uniqRead))))', file=RS)
++ print('mtext(4, text = "Reads %", line = 2)', file=RS)
++ print('dev.off()', file=RS)
+ #self.f.seek(0)
+
+ def clipping_profile(self,outfile):
+@@ -3185,7 +3185,7 @@ class ParseBAM:
+
+ OUT=open(out_file1,'w')
+ ROUT=open(out_file2,'w')
+- print >>OUT, "Position\tRead_Total\tRead_clipped"
++ print("Position\tRead_Total\tRead_clipped", file=OUT)
+ soft_p = re.compile(r'(.*?)(\d+)S')
+ read_part = re.compile(r'(\d+)[MIS=X]')
+ total_read =0
+@@ -3195,13 +3195,13 @@ class ParseBAM:
+ read_pos=[]
+ clip_count=[]
+
+- if self.bam_format:print >>sys.stderr, "Load BAM file ... ",
+- else:print >>sys.stderr, "Load SAM file ... ",
++ if self.bam_format:print("Load BAM file ... ", end=' ', file=sys.stderr)
++ else:print("Load SAM file ... ", end=' ', file=sys.stderr)
+
+ try:
+ while(1):
+ exon_boundary=""
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+ if aligned_read.is_unmapped:continue #skip unmapped read
+ if aligned_read.is_qcfail:continue #skip low quality
+
+@@ -3217,24 +3217,24 @@ class ParseBAM:
+ soft_clip_profile[n]+=1
+ skip_part_of_read += int(j[1])
+ except StopIteration:
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+
+ for i in soft_clip_profile:
+ read_pos.append(str(i))
+ clip_count.append(str(soft_clip_profile[i]))
+- print >>OUT, str(i) + '\t' + str(total_read) + '\t' + str(soft_clip_profile[i])
+- print >>ROUT, "pdf('clipping_profile.pdf')"
+- print >>ROUT, "read_pos=c(" + ','.join(read_pos) + ')'
+- print >>ROUT, "count=c(" + ','.join(clip_count) + ')'
+- print >>ROUT, 'plot(read_pos,1-(count/%d),col="blue",main="clipping profile",xlab="Position of reads",ylab="Mappability",type="b")' % total_read
+- print >>ROUT, "dev.off()"
++ print(str(i) + '\t' + str(total_read) + '\t' + str(soft_clip_profile[i]), file=OUT)
++ print("pdf('clipping_profile.pdf')", file=ROUT)
++ print("read_pos=c(" + ','.join(read_pos) + ')', file=ROUT)
++ print("count=c(" + ','.join(clip_count) + ')', file=ROUT)
++ print('plot(read_pos,1-(count/%d),col="blue",main="clipping profile",xlab="Position of reads",ylab="Mappability",type="b")' % total_read, file=ROUT)
++ print("dev.off()", file=ROUT)
+
+ def coverageGeneBody(self,refbed,outfile):
+ '''Calculate reads coverage over gene body, from 5'to 3'. each gene will be equally divided
+ into 100 regsions'''
+ if refbed is None:
+- print >>sys.stderr,"You must specify a bed file representing gene model\n"
++ print("You must specify a bed file representing gene model\n", file=sys.stderr)
+ exit(0)
+ OUT1 = open(outfile + ".geneBodyCoverage_plot.r",'w')
+ OUT2 = open(outfile + ".geneBodyCoverage.txt",'w')
+@@ -3245,12 +3245,12 @@ class ParseBAM:
+ rpkm={}
+
+ #read SAM
+- if self.bam_format:print >>sys.stderr, "Load BAM file ... ",
+- else:print >>sys.stderr, "Load SAM file ... ",
++ if self.bam_format:print("Load BAM file ... ", end=' ', file=sys.stderr)
++ else:print("Load SAM file ... ", end=' ', file=sys.stderr)
+
+ try:
+ while(1):
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+ if aligned_read.is_qcfail:continue #skip low quanlity
+ if aligned_read.is_duplicate:continue #skip duplicate read
+ if aligned_read.is_secondary:continue #skip non primary hit
+@@ -3269,9 +3269,9 @@ class ParseBAM:
+ else:
+ ranges[chrom].add_interval( Interval( exon[1], exon[2] ) )
+ except StopIteration:
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+- print >>sys.stderr, "calculating coverage over gene body ..."
++ print("calculating coverage over gene body ...", file=sys.stderr)
+ coverage=collections.defaultdict(int)
+ flag=0
+ for line in open(refbed,'r'):
+@@ -3285,19 +3285,19 @@ class ParseBAM:
+ geneName = fields[3]
+ strand = fields[5]
+
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends);
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends));
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line,
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, end=' ', file=sys.stderr)
+ continue
+ gene_all_base=[]
+ percentile_base=[]
+ mRNA_len =0
+ flag=0
+ for st,end in zip(exon_starts,exon_ends):
+- gene_all_base.extend(range(st+1,end+1)) #0-based coordinates on genome
++ gene_all_base.extend(list(range(st+1,end+1))) #0-based coordinates on genome
+ mRNA_len = len(gene_all_base)
+ if mRNA_len <100:
+ flag=1
+@@ -3314,18 +3314,18 @@ class ParseBAM:
+ coverage[i] += len(ranges[chrom].find(percentile_base[i], percentile_base[i]+1))
+ x_coord=[]
+ y_coord=[]
+- print >>OUT2, "Total reads: " + str(totalReads)
+- print >>OUT2, "Fragment number: " + str(fragment_num)
+- print >>OUT2, "percentile\tcount"
++ print("Total reads: " + str(totalReads), file=OUT2)
++ print("Fragment number: " + str(fragment_num), file=OUT2)
++ print("percentile\tcount", file=OUT2)
+ for i in coverage:
+ x_coord.append(str(i))
+ y_coord.append(str(coverage[i]))
+- print >>OUT2, str(i) + '\t' + str(coverage[i])
+- print >>OUT1, "pdf(\'%s\')" % (outfile + ".geneBodyCoverage.pdf")
+- print >>OUT1, "x=0:100"
+- print >>OUT1, "y=c(" + ','.join(y_coord) + ')'
+- print >>OUT1, "plot(x,y,xlab=\"percentile of gene body (5'->3')\",ylab='read number',type='s')"
+- print >>OUT1, "dev.off()"
++ print(str(i) + '\t' + str(coverage[i]), file=OUT2)
++ print("pdf(\'%s\')" % (outfile + ".geneBodyCoverage.pdf"), file=OUT1)
++ print("x=0:100", file=OUT1)
++ print("y=c(" + ','.join(y_coord) + ')', file=OUT1)
++ print("plot(x,y,xlab=\"percentile of gene body (5'->3')\",ylab='read number',type='s')", file=OUT1)
++ print("dev.off()", file=OUT1)
+
+ def mRNA_inner_distance(self,outfile,refbed,low_bound=0,up_bound=1000,step=10):
+ '''estimate the inner distance of mRNA pair end fragment. fragment size = insert_size + 2 x read_length'''
+@@ -3342,33 +3342,33 @@ class ParseBAM:
+ ranges={}
+ ranges[fchrom]=Intersecter()
+
+- window_left_bound = range(low_bound,up_bound,step)
+- frag_size=0
++ window_left_bound = list(range(low_bound,up_bound,step))
++ frag_size=0
+
+ inner_distance_bitsets=BinnedBitSet()
+ tmp = BinnedBitSet()
+ tmp.set_range(0,0)
+- pair_num=0.0
+- sizes=[]
+- counts=[]
+- count=0
+-
+- print >>sys.stderr, "Get intron regions from " + refbed + " ..."
+- bed_obj = BED.ParseBED(refbed)
+- ref_exons = []
+-
+- for exn in bed_obj.getExon():
+- ref_exons.append([exn[0].upper(), exn[1], exn[2]])
++ pair_num=0.0
++ sizes=[]
++ counts=[]
++ count=0
++
++ print("Get intron regions from " + refbed + " ...", file=sys.stderr)
++ bed_obj = BED.ParseBED(refbed)
++ ref_exons = []
++
++ for exn in bed_obj.getExon():
++ ref_exons.append([exn[0].upper(), exn[1], exn[2]])
+ exon_bitsets = binned_bitsets_from_list(ref_exons)
+
+- if self.bam_format:print >>sys.stderr, "Load BAM file ... ",
+- else:print >>sys.stderr, "Load SAM file ... ",
++ if self.bam_format:print("Load BAM file ... ", end=' ', file=sys.stderr)
++ else:print("Load SAM file ... ", end=' ', file=sys.stderr)
+
+ try:
+ while(1):
+ splice_intron_size=0
+ flag=0
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+ if aligned_read.is_qcfail:continue #skip low quanlity
+ if aligned_read.is_duplicate:continue #skip duplicate read
+ if aligned_read.is_secondary:continue #skip non primary hit
+@@ -3430,28 +3430,28 @@ class ParseBAM:
+ ranges[fchrom].add_interval( Interval( inner_distance-1, inner_distance ) )
+
+ except StopIteration:
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+
+ if pair_num==0:
+- print >>sys.stderr, "Cannot find paired reads"
++ print("Cannot find paired reads", file=sys.stderr)
+ sys.exit(0)
+ #print >>FQ, "Total paired read " + str(pair_num)
+ for st in window_left_bound:
+ sizes.append(str(st + step/2))
+ count = str(len(ranges[fchrom].find(st,st + step)))
+ counts.append(count)
+- print >>FQ, str(st) + '\t' + str(st+step) +'\t' + count
++ print(str(st) + '\t' + str(st+step) +'\t' + count, file=FQ)
+
+- print >>RS, "pdf(\'%s\')" % (outfile + ".inner_distance_plot.pdf")
++ print("pdf(\'%s\')" % (outfile + ".inner_distance_plot.pdf"), file=RS)
+ #print >>RS, "par(mfrow=c(2,1),cex.main=0.8,cex.lab=0.8,cex.axis=0.8,mar=c(4,4,4,1))"
+ #print >>RS, 'pie(c(%d,%d,%d),col=rainbow(3),cex=0.5,radius=1,main="Total %d fragments",labels=c("fraSize <= %d\\n(%4.2f%%)","fragSize > %d\\n(%4.2f%%)","%d < fragSize <= %d\\n(%4.2f%%)"), density=rep(80,80,80),angle=c(90,140,170))' % (ultra_low, ultra_high, pair_num -ultra_low -ultra_high, pair_num, low_bound, ultra_low*100/pair_num, up_bound, ultra_high*100/pair_num, low_bound, up_bound, 100-ultra_low*100/pair_num - ultra_high*100/pair_num)
+- print >>RS, 'fragsize=rep(c(' + ','.join(sizes) + '),' + 'times=c(' + ','.join(counts) + '))'
+- print >>RS, 'frag_sd = round(sd(fragsize))'
+- print >>RS, 'frag_mean = round(mean(fragsize))'
+- print >>RS, 'hist(fragsize,probability=T,breaks=%d,xlab="mRNA insert size (bp)",main=paste(c("Mean=",frag_mean,";","SD=",frag_sd),collapse=""),border="blue")' % len(window_left_bound)
+- print >>RS, "lines(density(fragsize,bw=%d),col='red')" % (2*step)
+- print >>RS ,"dev.off()"
++ print('fragsize=rep(c(' + ','.join(sizes) + '),' + 'times=c(' + ','.join(counts) + '))', file=RS)
++ print('frag_sd = round(sd(fragsize))', file=RS)
++ print('frag_mean = round(mean(fragsize))', file=RS)
++ print('hist(fragsize,probability=T,breaks=%d,xlab="mRNA insert size (bp)",main=paste(c("Mean=",frag_mean,";","SD=",frag_sd),collapse=""),border="blue")' % len(window_left_bound), file=RS)
++ print("lines(density(fragsize,bw=%d),col='red')" % (2*step), file=RS)
++ print("dev.off()", file=RS)
+ FO.close()
+ FQ.close()
+ RS.close()
+@@ -3465,7 +3465,7 @@ class ParseBAM:
+ out_file = outfile + ".junction.xls"
+ out_file2 = outfile + ".junction_plot.r"
+ if refgene is None:
+- print >>sys.stderr, "You must provide reference gene model in bed format."
++ print("You must provide reference gene model in bed format.", file=sys.stderr)
+ sys.exit(1)
+ OUT = open(out_file,'w')
+ ROUT = open(out_file2,'w')
+@@ -3479,13 +3479,13 @@ class ParseBAM:
+ known_junc =0
+ splicing_events=collections.defaultdict(int)
+
+- print >>sys.stderr, "Reading reference bed file: ",refgene, " ... ",
++ print("Reading reference bed file: ",refgene, " ... ", end=' ', file=sys.stderr)
+ for line in open(refgene,'r'):
+ if line.startswith(('#','track','browser')):continue
+ # Parse fields from gene tabls
+ fields = line.split()
+ if(len(fields)<12):
+- print >>sys.stderr, "Invalid bed line (skipped):",line,
++ print("Invalid bed line (skipped):",line, end=' ', file=sys.stderr)
+ continue
+ chrom = fields[0].upper()
+ tx_start = int( fields[1] )
+@@ -3493,25 +3493,25 @@ class ParseBAM:
+ if int(fields[9] ==1):
+ continue
+
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends);
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends));
+ intron_start = exon_ends[:-1]
+ intron_end=exon_starts[1:]
+ for i_st,i_end in zip (intron_start, intron_end):
+ refIntronStarts[chrom][i_st] =i_st
+ refIntronEnds[chrom][i_end] =i_end
+- print >>sys.stderr,"Done"
++ print("Done", file=sys.stderr)
+
+ #reading input SAM file
+- if self.bam_format:print >>sys.stderr, "Load BAM file ... ",
+- else:print >>sys.stderr, "Load SAM file ... ",
++ if self.bam_format:print("Load BAM file ... ", end=' ', file=sys.stderr)
++ else:print("Load SAM file ... ", end=' ', file=sys.stderr)
+
+ try:
+ while(1):
+ flag=0
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+ if aligned_read.is_qcfail:continue #skip low quanlity
+ if aligned_read.is_duplicate:continue #skip duplicate read
+ if aligned_read.is_secondary:continue #skip non primary hit
+@@ -3534,28 +3534,28 @@ class ParseBAM:
+ total_junc +=1
+ if intrn[2] - intrn[1] < min_intron:continue
+ splicing_events[intrn[0] + ":" + str(intrn[1]) + ":" + str(intrn[2])] += 1
+- if (refIntronStarts[chrom].has_key(intrn[1]) and refIntronEnds[chrom].has_key(intrn[2])):
++ if (intrn[1] in refIntronStarts[chrom] and intrn[2] in refIntronEnds[chrom]):
+ known_junc +=1 #known both
+- elif (not refIntronStarts[chrom].has_key(intrn[1]) and not refIntronEnds[chrom].has_key(intrn[2])):
++ elif (intrn[1] not in refIntronStarts[chrom] and intrn[2] not in refIntronEnds[chrom]):
+ novel35_junc +=1
+ else:
+ novel3or5_junc +=1
+ except StopIteration:
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+- print "total = " + str(total_junc)
++ print("total = " + str(total_junc))
+ #self.f.seek(0)
+
+- print >>ROUT, 'pdf(\"%s\")' % (outfile + ".junction_plot.pdf")
+- print >>ROUT, "events=c(" + ','.join([str(i*100.0/total_junc) for i in (novel3or5_junc,novel35_junc,known_junc)])+ ')'
+- print >>ROUT, 'pie(events,col=c(2,3,4),init.angle=30,angle=c(60,120,150),density=c(70,70,70),main="splicing events",labels=c("partial_novel %d%%","complete_novel %d%%","known %d%%"))' % (round(novel3or5_junc*100.0/total_junc),round(novel35_junc*100.0/total_junc),round(known_junc*100.0/total_junc))
+- print >>ROUT, "dev.off()"
++ print('pdf(\"%s\")' % (outfile + ".junction_plot.pdf"), file=ROUT)
++ print("events=c(" + ','.join([str(i*100.0/total_junc) for i in (novel3or5_junc,novel35_junc,known_junc)])+ ')', file=ROUT)
++ print('pie(events,col=c(2,3,4),init.angle=30,angle=c(60,120,150),density=c(70,70,70),main="splicing events",labels=c("partial_novel %d%%","complete_novel %d%%","known %d%%"))' % (round(novel3or5_junc*100.0/total_junc),round(novel35_junc*100.0/total_junc),round(known_junc*100.0/total_junc)), file=ROUT)
++ print("dev.off()", file=ROUT)
+
+- print >>sys.stderr, "\n==================================================================="
+- print >>sys.stderr, "Total splicing Events:\t" + str(total_junc)
+- print >>sys.stderr, "Known Splicing Events:\t" + str(known_junc)
+- print >>sys.stderr, "Partial Novel Splicing Events:\t" + str(novel3or5_junc)
+- print >>sys.stderr, "Novel Splicing Events:\t" + str(novel35_junc)
++ print("\n===================================================================", file=sys.stderr)
++ print("Total splicing Events:\t" + str(total_junc), file=sys.stderr)
++ print("Known Splicing Events:\t" + str(known_junc), file=sys.stderr)
++ print("Partial Novel Splicing Events:\t" + str(novel3or5_junc), file=sys.stderr)
++ print("Novel Splicing Events:\t" + str(novel35_junc), file=sys.stderr)
+
+ #reset variables
+ total_junc =0
+@@ -3563,36 +3563,36 @@ class ParseBAM:
+ novel3or5_junc =0
+ known_junc =0
+
+- print >>OUT, "chrom\tintron_st(0-based)\tintron_end(1-based)\tread_count\tannotation"
++ print("chrom\tintron_st(0-based)\tintron_end(1-based)\tread_count\tannotation", file=OUT)
+ for i in splicing_events:
+ total_junc += 1
+ (chrom, i_st, i_end) = i.split(":")
+- print >>OUT, '\t'.join([chrom.replace("CHR","chr"),i_st,i_end]) + '\t' + str(splicing_events[i]) + '\t',
++ print('\t'.join([chrom.replace("CHR","chr"),i_st,i_end]) + '\t' + str(splicing_events[i]) + '\t', end=' ', file=OUT)
+ i_st = int(i_st)
+ i_end = int(i_end)
+- if (refIntronStarts[chrom].has_key(i_st) and refIntronEnds[chrom].has_key(i_end)):
+- print >>OUT, "annotated"
++ if (i_st in refIntronStarts[chrom] and i_end in refIntronEnds[chrom]):
++ print("annotated", file=OUT)
+ known_junc +=1
+- elif (not refIntronStarts[chrom].has_key(i_st) and not refIntronEnds[chrom].has_key(i_end)):
+- print >>OUT, 'complete_novel'
++ elif (i_st not in refIntronStarts[chrom] and i_end not in refIntronEnds[chrom]):
++ print('complete_novel', file=OUT)
+ novel35_junc +=1
+ else:
+- print >>OUT, 'partial_novel'
++ print('partial_novel', file=OUT)
+ novel3or5_junc +=1
+
+ if total_junc ==0:
+- print >>sys.stderr, "No splice read found"
++ print("No splice read found", file=sys.stderr)
+ sys.exit(1)
+- print >>sys.stderr, "\nTotal splicing Junctions:\t" + str(total_junc)
+- print >>sys.stderr, "Known Splicing Junctions:\t" + str(known_junc)
+- print >>sys.stderr, "Partial Novel Splicing Junctions:\t" + str(novel3or5_junc)
+- print >>sys.stderr, "Novel Splicing Junctions:\t" + str(novel35_junc)
+- print >>sys.stderr, "\n==================================================================="
++ print("\nTotal splicing Junctions:\t" + str(total_junc), file=sys.stderr)
++ print("Known Splicing Junctions:\t" + str(known_junc), file=sys.stderr)
++ print("Partial Novel Splicing Junctions:\t" + str(novel3or5_junc), file=sys.stderr)
++ print("Novel Splicing Junctions:\t" + str(novel35_junc), file=sys.stderr)
++ print("\n===================================================================", file=sys.stderr)
+
+- print >>ROUT, 'pdf("splicing_junction_pie.pdf")'
+- print >>ROUT, "junction=c(" + ','.join([str(i*100.0/total_junc) for i in (novel3or5_junc,novel35_junc,known_junc,)])+ ')'
+- print >>ROUT, 'pie(junction,col=c(2,3,4),init.angle=30,angle=c(60,120,150),density=c(70,70,70),main="splicing junctions",labels=c("partial_novel %d%%","complete_novel %d%%","known %d%%"))' % (round(novel3or5_junc*100.0/total_junc),round(novel35_junc*100.0/total_junc),round(known_junc*100.0/total_junc))
+- print >>ROUT, "dev.off()"
++ print('pdf("splicing_junction_pie.pdf")', file=ROUT)
++ print("junction=c(" + ','.join([str(i*100.0/total_junc) for i in (novel3or5_junc,novel35_junc,known_junc,)])+ ')', file=ROUT)
++ print('pie(junction,col=c(2,3,4),init.angle=30,angle=c(60,120,150),density=c(70,70,70),main="splicing junctions",labels=c("partial_novel %d%%","complete_novel %d%%","known %d%%"))' % (round(novel3or5_junc*100.0/total_junc),round(novel35_junc*100.0/total_junc),round(known_junc*100.0/total_junc)), file=ROUT)
++ print("dev.off()", file=ROUT)
+ #print >>ROUT, "mat=matrix(c(events,junction),byrow=T,ncol=3)"
+ #print >>ROUT, 'barplot(mat,beside=T,ylim=c(0,100),names=c("known","partial\nnovel","complete\nnovel"),legend.text=c("splicing events","splicing junction"),ylab="Percent")'
+
+@@ -3601,7 +3601,7 @@ class ParseBAM:
+
+ out_file = outfile + ".junctionSaturation_plot.r"
+ if refgene is None:
+- print >>sys.stderr, "You must provide reference gene model in bed format."
++ print("You must provide reference gene model in bed format.", file=sys.stderr)
+ sys.exit(1)
+
+ OUT = open(out_file,'w')
+@@ -3609,12 +3609,12 @@ class ParseBAM:
+
+ #reading reference gene
+ knownSpliceSites= set()
+- print >>sys.stderr, "reading reference bed file: ",refgene, " ... ",
++ print("reading reference bed file: ",refgene, " ... ", end=' ', file=sys.stderr)
+ for line in open(refgene,'r'):
+ if line.startswith(('#','track','browser')):continue
+ fields = line.split()
+ if(len(fields)<12):
+- print >>sys.stderr, "Invalid bed line (skipped):",line,
++ print("Invalid bed line (skipped):",line, end=' ', file=sys.stderr)
+ continue
+ chrom = fields[0].upper()
+ tx_start = int( fields[1] )
+@@ -3622,15 +3622,15 @@ class ParseBAM:
+ if int(fields[9] ==1):
+ continue
+
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends);
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends));
+ intron_start = exon_ends[:-1]
+ intron_end=exon_starts[1:]
+ for st,end in zip (intron_start, intron_end):
+ knownSpliceSites.add(chrom + ":" + str(st) + "-" + str(end))
+- print >>sys.stderr,"Done! Total "+str(len(knownSpliceSites)) + " known splicing junctions."
++ print("Done! Total "+str(len(knownSpliceSites)) + " known splicing junctions.", file=sys.stderr)
+
+
+ #read SAM file
+@@ -3639,12 +3639,12 @@ class ParseBAM:
+ intron_end=[]
+ uniqSpliceSites=collections.defaultdict(int)
+
+- if self.bam_format:print >>sys.stderr, "Load BAM file ... ",
+- else:print >>sys.stderr, "Load SAM file ... ",
++ if self.bam_format:print("Load BAM file ... ", end=' ', file=sys.stderr)
++ else:print("Load SAM file ... ", end=' ', file=sys.stderr)
+ try:
+ while(1):
+ flag=0
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+ if aligned_read.is_qcfail:continue #skip low quanlity
+ if aligned_read.is_duplicate:continue #skip duplicate read
+ if aligned_read.is_secondary:continue #skip non primary hit
+@@ -3667,11 +3667,11 @@ class ParseBAM:
+ if intrn[2] - intrn[1] < min_intron:continue
+ samSpliceSites.append(intrn[0] + ":" + str(intrn[1]) + "-" + str(intrn[2]))
+ except StopIteration:
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+- print >>sys.stderr, "shuffling alignments ...",
++ print("shuffling alignments ...", end=' ', file=sys.stderr)
+ random.shuffle(samSpliceSites)
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+ #resampling
+ SR_num = len(samSpliceSites)
+@@ -3681,7 +3681,7 @@ class ParseBAM:
+ all_junc=[]
+ unknown_junc=[]
+ #=========================sampling uniquely mapped reads from population
+- tmp=range(sample_start,sample_end,sample_step)
++ tmp=list(range(sample_start,sample_end,sample_step))
+ tmp.append(100)
+ for pertl in tmp: #[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95,100]
+ knownSpliceSites_num = 0
+@@ -3690,21 +3690,21 @@ class ParseBAM:
+ if index_st < 0: index_st = 0
+ sample_size += index_end -index_st
+
+- print >>sys.stderr, "sampling " + str(pertl) +"% (" + str(sample_size) + ") splicing reads.",
++ print("sampling " + str(pertl) +"% (" + str(sample_size) + ") splicing reads.", end=' ', file=sys.stderr)
+
+ #all splice juntion
+ for i in range(index_st, index_end):
+ uniqSpliceSites[samSpliceSites[i]] +=1
+- all_junctionNum = len(uniqSpliceSites.keys())
++ all_junctionNum = len(list(uniqSpliceSites.keys()))
+ all_junc.append(str(all_junctionNum))
+- print >>sys.stderr, str(all_junctionNum) + " splicing junctions.",
++ print(str(all_junctionNum) + " splicing junctions.", end=' ', file=sys.stderr)
+
+ #known splice junction
+ known_junctionNum = 0
+ for sj in uniqSpliceSites:
+ if sj in knownSpliceSites and uniqSpliceSites[sj] >= recur:
+ known_junctionNum +=1
+- print >>sys.stderr, str(known_junctionNum) + " known splicing junctions.",
++ print(str(known_junctionNum) + " known splicing junctions.", end=' ', file=sys.stderr)
+ known_junc.append(str(known_junctionNum))
+
+ #unknown splice junction
+@@ -3713,28 +3713,28 @@ class ParseBAM:
+ if sj not in knownSpliceSites:
+ unknown_junctionNum +=1
+ unknown_junc.append(str(unknown_junctionNum))
+- print >>sys.stderr, str(unknown_junctionNum) + " novel splicing junctions."
++ print(str(unknown_junctionNum) + " novel splicing junctions.", file=sys.stderr)
+
+ #for j in uniq_SJ:
+ #print >>OUT, j + "\t" + str(uniq_SJ[j])
+- print >>OUT, "pdf(\'%s\')" % (outfile + '.junctionSaturation_plot.pdf')
+- print >>OUT, "x=c(" + ','.join([str(i) for i in tmp]) + ')'
+- print >>OUT, "y=c(" + ','.join(known_junc) + ')'
+- print >>OUT, "z=c(" + ','.join(all_junc) + ')'
+- print >>OUT, "w=c(" + ','.join(unknown_junc) + ')'
+- print >>OUT, "m=max(%d,%d,%d)" % (int(int(known_junc[-1])/1000), int(int(all_junc[-1])/1000),int(int(unknown_junc[-1])/1000))
+- print >>OUT, "n=min(%d,%d,%d)" % (int(int(known_junc[0])/1000), int(int(all_junc[0])/1000),int(int(unknown_junc[0])/1000))
+- print >>OUT, "plot(x,z/1000,xlab='percent of total reads',ylab='Number of splicing junctions (x1000)',type='o',col='blue',ylim=c(n,m))"
+- print >>OUT, "points(x,y/1000,type='o',col='red')"
+- print >>OUT, "points(x,w/1000,type='o',col='green')"
+- print >>OUT, 'legend(5,%d, legend=c("All junctions","known junctions", "novel junctions"),col=c("blue","red","green"),lwd=1,pch=1)' % int(int(all_junc[-1])/1000)
+- print >>OUT, "dev.off()"
++ print("pdf(\'%s\')" % (outfile + '.junctionSaturation_plot.pdf'), file=OUT)
++ print("x=c(" + ','.join([str(i) for i in tmp]) + ')', file=OUT)
++ print("y=c(" + ','.join(known_junc) + ')', file=OUT)
++ print("z=c(" + ','.join(all_junc) + ')', file=OUT)
++ print("w=c(" + ','.join(unknown_junc) + ')', file=OUT)
++ print("m=max(%d,%d,%d)" % (int(int(known_junc[-1])/1000), int(int(all_junc[-1])/1000),int(int(unknown_junc[-1])/1000)), file=OUT)
++ print("n=min(%d,%d,%d)" % (int(int(known_junc[0])/1000), int(int(all_junc[0])/1000),int(int(unknown_junc[0])/1000)), file=OUT)
++ print("plot(x,z/1000,xlab='percent of total reads',ylab='Number of splicing junctions (x1000)',type='o',col='blue',ylim=c(n,m))", file=OUT)
++ print("points(x,y/1000,type='o',col='red')", file=OUT)
++ print("points(x,w/1000,type='o',col='green')", file=OUT)
++ print('legend(5,%d, legend=c("All junctions","known junctions", "novel junctions"),col=c("blue","red","green"),lwd=1,pch=1)' % int(int(all_junc[-1])/1000), file=OUT)
++ print("dev.off()", file=OUT)
+
+ def saturation_RPKM(self,refbed,outfile,sample_start=5,sample_step=5,sample_end=100,skip_multi=True, strand_rule=None):
+ '''for each gene, check if its RPKM (epxresion level) has already been saturated or not'''
+
+ if refbed is None:
+- print >>sys.stderr,"You must specify a bed file representing gene model\n"
++ print("You must specify a bed file representing gene model\n", file=sys.stderr)
+ exit(0)
+ rpkm_file = outfile + ".eRPKM.xls"
+ raw_file = outfile + ".rawCount.xls"
+@@ -3759,17 +3759,17 @@ class ParseBAM:
+ elif len(strand_rule.split(',')) ==2: #singeEnd, strand-specific
+ for i in strand_rule.split(','):strandRule[i[0]]=i[1]
+ else:
+- print >>sys.stderr, "Unknown value of: 'strand_rule' " + strand_rule
++ print("Unknown value of: 'strand_rule' " + strand_rule, file=sys.stderr)
+ sys.exit(1)
+
+
+ #read SAM or BAM
+- if self.bam_format:print >>sys.stderr, "Load BAM file ... ",
+- else:print >>sys.stderr, "Load SAM file ... ",
++ if self.bam_format:print("Load BAM file ... ", end=' ', file=sys.stderr)
++ else:print("Load SAM file ... ", end=' ', file=sys.stderr)
+ try:
+ while(1):
+ flag=0
+- aligned_read = self.samfile.next()
++ aligned_read = next(self.samfile)
+ if aligned_read.is_qcfail:continue #skip low quanlity
+ if aligned_read.is_duplicate:continue #skip duplicate read
+ if aligned_read.is_secondary:continue #skip non primary hit
+@@ -3812,14 +3812,14 @@ class ParseBAM:
+ for exn in exon_blocks:
+ block_list.append(exn[0] + ":" + str(exn[1] + (exn[2]-exn[1])/2 ))
+ except StopIteration:
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+
+- print >>sys.stderr, "shuffling alignments ...",
++ print("shuffling alignments ...", end=' ', file=sys.stderr)
+ random.shuffle(block_list_plus)
+ random.shuffle(block_list_minus)
+ random.shuffle(block_list)
+- print >>sys.stderr, "Done"
++ print("Done", file=sys.stderr)
+
+
+ ranges_plus={}
+@@ -3830,7 +3830,7 @@ class ParseBAM:
+ rawCount_table=collections.defaultdict(list)
+ RPKM_head=['#chr','start','end','name','score','strand']
+
+- tmp=range(sample_start,sample_end,sample_step)
++ tmp=list(range(sample_start,sample_end,sample_step))
+ tmp.append(100)
+ #=========================sampling uniquely mapped reads from population
+ for pertl in tmp: #[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95,100]
+@@ -3841,27 +3841,27 @@ class ParseBAM:
+ RPKM_head.append(str(pertl) + '%')
+
+ if strand_rule is not None:
+- print >>sys.stderr, "sampling " + str(pertl) +"% (" + str(int(cUR_plus * percent_end)) + ") forward strand fragments ..."
++ print("sampling " + str(pertl) +"% (" + str(int(cUR_plus * percent_end)) + ") forward strand fragments ...", file=sys.stderr)
+ for i in block_list_plus[int(cUR_plus*percent_st):int(cUR_plus*percent_end)]:
+ (chr,coord) = i.split(':')
+ if chr not in ranges_plus:ranges_plus[chr] = Intersecter()
+ else:ranges_plus[chr].add_interval( Interval( int(coord), int(coord)+1 ) )
+
+- print >>sys.stderr, "sampling " + str(pertl) +"% (" + str(int(cUR_minus * percent_end)) + ") reverse strand fragments ..."
++ print("sampling " + str(pertl) +"% (" + str(int(cUR_minus * percent_end)) + ") reverse strand fragments ...", file=sys.stderr)
+ for i in block_list_minus[int(cUR_minus*percent_st):int(cUR_minus*percent_end)]:
+ (chr,coord) = i.split(':')
+ if chr not in ranges_minus:ranges_minus[chr] = Intersecter()
+ else:ranges_minus[chr].add_interval( Interval( int(coord), int(coord)+1 ) )
+
+ else:
+- print >>sys.stderr, "sampling " + str(pertl) +"% (" + str(int(sample_size)) + ") fragments ..."
++ print("sampling " + str(pertl) +"% (" + str(int(sample_size)) + ") fragments ...", file=sys.stderr)
+ for i in block_list[int(cUR_num*percent_st):int(cUR_num*percent_end)]:
+ (chr,coord) = i.split(':')
+ if chr not in ranges:ranges[chr] = Intersecter()
+ else:ranges[chr].add_interval( Interval( int(coord), int(coord)+1 ) )
+
+ #========================= calculating RPKM based on sub-population
+- print >>sys.stderr, "assign reads to transcripts in " + refbed + ' ...'
++ print("assign reads to transcripts in " + refbed + ' ...', file=sys.stderr)
+ for line in open(refbed,'r'):
+ try:
+ if line.startswith(('#','track','browser')):continue
+@@ -3872,14 +3872,14 @@ class ParseBAM:
+ tx_end = int( fields[2] )
+ geneName = fields[3]
+ strand = fields[5]
+- exon_starts = map( int, fields[11].rstrip( ',\n' ).split( ',' ) )
+- exon_starts = map((lambda x: x + tx_start ), exon_starts)
+- exon_ends = map( int, fields[10].rstrip( ',\n' ).split( ',' ) )
+- exon_ends = map((lambda x, y: x + y ), exon_starts, exon_ends)
+- exon_sizes = map(int,fields[10].rstrip(',\n').split(','))
++ exon_starts = list(map( int, fields[11].rstrip( ',\n' ).split( ',' ) ))
++ exon_starts = list(map((lambda x: x + tx_start ), exon_starts))
++ exon_ends = list(map( int, fields[10].rstrip( ',\n' ).split( ',' ) ))
++ exon_ends = list(map((lambda x, y: x + y ), exon_starts, exon_ends))
++ exon_sizes = list(map(int,fields[10].rstrip(',\n').split(',')))
+ key='\t'.join((chrom.lower(),str(tx_start),str(tx_end),geneName,'0',strand))
+ except:
+- print >>sys.stderr,"[NOTE:input bed must be 12-column] skipped this line: " + line
++ print("[NOTE:input bed must be 12-column] skipped this line: " + line, file=sys.stderr)
+ continue
+ mRNA_count=0 #we need to initializ it to 0 for each gene
+ mRNA_len=sum(exon_sizes)
+@@ -3892,24 +3892,24 @@ class ParseBAM:
+ if chrom in ranges:
+ mRNA_count += len(ranges[chrom].find(st,end))
+ if mRNA_len ==0:
+- print >>sys.stderr, geneName + " has 0 nucleotides. Exit!"
++ print(geneName + " has 0 nucleotides. Exit!", file=sys.stderr)
+ sys.exit(1)
+ if sample_size == 0:
+- print >>sys.stderr, "Too few reads to sample. Exit!"
++ print("Too few reads to sample. Exit!", file=sys.stderr)
+ sys.exit(1)
+ mRNA_RPKM = (mRNA_count * 1000000000.0)/(mRNA_len * sample_size)
+ RPKM_table[key].append(str(mRNA_RPKM))
+ rawCount_table[key].append(str(mRNA_count))
+- print >>sys.stderr, ""
++ print("", file=sys.stderr)
+
+ #self.f.seek(0)
+- print >>RPKM_OUT, '\t'.join(RPKM_head)
+- print >>RAW_OUT, '\t'.join(RPKM_head)
++ print('\t'.join(RPKM_head), file=RPKM_OUT)
++ print('\t'.join(RPKM_head), file=RAW_OUT)
+ for key in RPKM_table:
+- print >>RPKM_OUT, key + '\t',
+- print >>RPKM_OUT, '\t'.join(RPKM_table[key])
+- print >>RAW_OUT, key + '\t',
+- print >>RAW_OUT, '\t'.join(rawCount_table[key])
++ print(key + '\t', end=' ', file=RPKM_OUT)
++ print('\t'.join(RPKM_table[key]), file=RPKM_OUT)
++ print(key + '\t', end=' ', file=RAW_OUT)
++ print('\t'.join(rawCount_table[key]), file=RAW_OUT)
+
+ def fetchAlignments(self,chr,st,end):
+ '''fetch alignment from sorted BAM file based on chr, st, end
+@@ -3927,4 +3927,4 @@ def print_bits_as_bed( bits ):
+ start = bits.next_set( end )
+ if start == bits.size: break
+ end = bits.next_clear( start )
+- print "%d\t%d" % ( start, end )
++ print("%d\t%d" % ( start, end ))
diff --git a/biology/py-crossmap/pkg-descr b/biology/py-crossmap/pkg-descr
index dfb768a40775..c66b36d63d26 100644
--- a/biology/py-crossmap/pkg-descr
+++ b/biology/py-crossmap/pkg-descr
@@ -2,5 +2,3 @@ CrossMap is a program for genome coordinates conversion between different
assemblies (such as hg18 (NCBI36) <=> hg19 (GRCh37)). It supports commonly used
file formats including BAM, CRAM, SAM, Wiggle, BigWig, BED, GFF, GTF, MAF VCF,
and gVCF.
-
-WWW: https://pypi.python.org/pypi/crossmap
diff --git a/biology/py-cutadapt/Makefile b/biology/py-cutadapt/Makefile
index 74163df6f456..f3f3f76cb919 100644
--- a/biology/py-cutadapt/Makefile
+++ b/biology/py-cutadapt/Makefile
@@ -1,23 +1,24 @@
PORTNAME= cutadapt
-DISTVERSION= 3.3
-PORTREVISION= 1
+DISTVERSION= 4.7
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= jwb@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Trim adapters from high-throughput sequencing reads
+WWW= https://github.com/marcelm/cutadapt/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>0:devel/py-setuptools_scm@${PY_FLAVOR}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}xopen==1.1:archivers/py-xopen@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dnaio==0.5.1:biology/py-dnaio@${PY_FLAVOR}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools-scm>0:devel/py-setuptools-scm@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}xopen>=1.6.0:archivers/py-xopen@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dnaio>=1.2.0:biology/py-dnaio@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pytest-timeout>0:devel/py-pytest-timeout@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}pytest-timeout>0:devel/py-pytest-timeout@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-mock>0:devel/py-pytest-mock@${PY_FLAVOR}
-USES= python:3.6+
+USES= python
USE_PYTHON= autoplist concurrent cython distutils
post-install:
diff --git a/biology/py-cutadapt/distinfo b/biology/py-cutadapt/distinfo
index 9ecb78238103..acc95cb894d4 100644
--- a/biology/py-cutadapt/distinfo
+++ b/biology/py-cutadapt/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1615045047
-SHA256 (cutadapt-3.3.tar.gz) = cf502bd0df120d584524ea0e834b45135233c38089e900bd41c3d5cd41ee6eea
-SIZE (cutadapt-3.3.tar.gz) = 294579
+TIMESTAMP = 1710508770
+SHA256 (cutadapt-4.7.tar.gz) = 8738a35b363eaf615665a4e7d1b4beb385cd93fb7ffdcf82cd4ab6457acc879b
+SIZE (cutadapt-4.7.tar.gz) = 250893
diff --git a/biology/py-cutadapt/pkg-descr b/biology/py-cutadapt/pkg-descr
index 43fe420cb3b5..c052f9fad30b 100644
--- a/biology/py-cutadapt/pkg-descr
+++ b/biology/py-cutadapt/pkg-descr
@@ -1,4 +1,2 @@
Cutadapt finds and removes adapter sequences, primers, poly-A tails and other
types of unwanted sequences from your high-throughput sequencing reads.
-
-WWW: https://pypi.org/project/cutadapt/
diff --git a/biology/py-deeptools/Makefile b/biology/py-deeptools/Makefile
new file mode 100644
index 000000000000..5734f00048a2
--- /dev/null
+++ b/biology/py-deeptools/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= deepTools
+DISTVERSION= 3.5.2
+CATEGORIES= biology python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= User-friendly tools for exploring deep-sequencing data
+WWW= https://github.com/deeptools/deepTools
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+RUN_DEPENDS= ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}scipy>=0.17.0:science/py-scipy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}matplotlib>=3.3.0:math/py-matplotlib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pysam>=0.14.0:biology/py-pysam@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}py2bit>=0.3.0:biology/py-py2bit@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numpydoc>=0.5:textproc/py-numpydoc@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyBigWig>=0.3.18:biology/py-pybigwig@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}plotly>=4.9:graphics/py-plotly@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}deeptoolsintervals>=0.1.8:biology/py-deeptoolsintervals@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent distutils
+
+.include <bsd.port.mk>
diff --git a/biology/py-deeptools/distinfo b/biology/py-deeptools/distinfo
new file mode 100644
index 000000000000..d9f91ee6f45e
--- /dev/null
+++ b/biology/py-deeptools/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1687035894
+SHA256 (deepTools-3.5.2.tar.gz) = 9367f9037b1822b7d69d5abaf47ca25bf0e5dc4cb8be85bd55b6f63c90781941
+SIZE (deepTools-3.5.2.tar.gz) = 203152
diff --git a/biology/py-deeptools/pkg-descr b/biology/py-deeptools/pkg-descr
new file mode 100644
index 000000000000..bf5575be4136
--- /dev/null
+++ b/biology/py-deeptools/pkg-descr
@@ -0,0 +1,7 @@
+deepTools contains useful modules to process the mapped reads data for
+multiple quality checks, creating normalized coverage files in standard
+bedGraph and bigWig file formats, that allow comparison between
+different files (for example, treatment and control). Finally, using
+such normalized and standardized files, deepTools can create many
+publication-ready visualizations to identify enrichments and for
+functional annotations of the genome.
diff --git a/biology/py-deeptoolsintervals/Makefile b/biology/py-deeptoolsintervals/Makefile
new file mode 100644
index 000000000000..9d49af279ba5
--- /dev/null
+++ b/biology/py-deeptoolsintervals/Makefile
@@ -0,0 +1,17 @@
+PORTNAME= deeptoolsintervals
+DISTVERSION= 0.1.9
+CATEGORIES= biology python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Python interface for deepTools interval trees
+WWW= https://github.com/deeptools/deeptools_intervals
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= python
+USE_PYTHON= autoplist distutils
+
+.include <bsd.port.mk>
diff --git a/biology/py-deeptoolsintervals/distinfo b/biology/py-deeptoolsintervals/distinfo
new file mode 100644
index 000000000000..9933b91e8868
--- /dev/null
+++ b/biology/py-deeptoolsintervals/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1617289403
+SHA256 (deeptoolsintervals-0.1.9.tar.gz) = 7d94c36fd2b6f10d8b99e536d2672e8228971f1fc810497d33527bba2c40d4f6
+SIZE (deeptoolsintervals-0.1.9.tar.gz) = 41123
diff --git a/biology/py-deeptoolsintervals/files/patch-setup.py b/biology/py-deeptoolsintervals/files/patch-setup.py
new file mode 100644
index 000000000000..d8d41de78a6e
--- /dev/null
+++ b/biology/py-deeptoolsintervals/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig 2021-10-13 15:57:11 UTC
++++ setup.py
+@@ -32,7 +32,7 @@ setup(name='deeptoolsintervals',
+ author_email="ryan@ie-freiburg.mpg.de",
+ url="https://github.com/deeptools/deeptools_intervals",
+ keywords=["bioinformatics", "GTF"],
+- classifier=["Development Status :: 5 - Production/Stable",
++ classifiers=["Development Status :: 5 - Production/Stable",
+ "Environment :: Console",
+ "License :: OSI Approved :: MIT License",
+ "Intended Audience :: Developers",
diff --git a/biology/py-deeptoolsintervals/pkg-descr b/biology/py-deeptoolsintervals/pkg-descr
new file mode 100644
index 000000000000..5063421f5d44
--- /dev/null
+++ b/biology/py-deeptoolsintervals/pkg-descr
@@ -0,0 +1,2 @@
+Deeptools_intervals is an interval tree backend designed to interface
+with deepTools, supporting metadata associated with each interval.
diff --git a/biology/py-dna-features-viewer/Makefile b/biology/py-dna-features-viewer/Makefile
new file mode 100644
index 000000000000..906de191ad5d
--- /dev/null
+++ b/biology/py-dna-features-viewer/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= dna-features-viewer
+DISTVERSION= 3.1.3
+CATEGORIES= biology python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= dna_features_viewer-${PORTVERSION}
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Python library to visualize DNA features, e.g. GenBank or Gff files
+WWW= https://pypi.python.org/project/dna-features-viewer/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENCE.txt
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}matplotlib>=3:math/py-matplotlib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}biopython>0:biology/py-biopython@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}bcbio-gff>0:biology/py-bcbio-gff@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist distutils
+
+.include <bsd.port.mk>
diff --git a/biology/py-dna-features-viewer/distinfo b/biology/py-dna-features-viewer/distinfo
new file mode 100644
index 000000000000..18a670d041ec
--- /dev/null
+++ b/biology/py-dna-features-viewer/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1698839049
+SHA256 (dna_features_viewer-3.1.3.tar.gz) = 7af179ab1b3c0dedd09e9e667cbd0fb804721ecbfc0cb4d0dda8a165437b3919
+SIZE (dna_features_viewer-3.1.3.tar.gz) = 40331
diff --git a/biology/py-dna-features-viewer/pkg-descr b/biology/py-dna-features-viewer/pkg-descr
new file mode 100644
index 000000000000..059126583f12
--- /dev/null
+++ b/biology/py-dna-features-viewer/pkg-descr
@@ -0,0 +1,10 @@
+DNA Features Viewer is a Python library to visualize DNA features, e.g.
+from GenBank or Gff files.
+
+DNA Features Viewer can plot sequence maps linearly or circularly, with
+or without nucleotide sequence and amino-acid sequences. The plotter
+automatically produces clear plots even for sequences with many
+overlapping features and long labels. The library plays well with
+Matplotlib and Biopython, and the figures can be saved in different
+formats (PNG, JPEG, SVG, PDF), e.g. for report generation or LIMS
+interfaces.
diff --git a/biology/py-dnaio/Makefile b/biology/py-dnaio/Makefile
index 685d4e5f358c..5e12ac4e42c7 100644
--- a/biology/py-dnaio/Makefile
+++ b/biology/py-dnaio/Makefile
@@ -1,18 +1,20 @@
PORTNAME= dnaio
-DISTVERSION= 0.5.1 # py-cutadapt 3.3 requires 0.5.x
+DISTVERSION= 1.2.0
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= jwb@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Read and write FASTQ and FASTA
+WWW= https://pypi.python.org/pypi/dnaio
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>0:devel/py-setuptools_scm@${PY_FLAVOR}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools-scm>0:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-USES= python:3.6+
-USE_PYTHON= autoplist distutils
+USES= python
+USE_PYTHON= autoplist cython pep517
.include <bsd.port.mk>
diff --git a/biology/py-dnaio/distinfo b/biology/py-dnaio/distinfo
index b1aa14a78220..26a5cfc997eb 100644
--- a/biology/py-dnaio/distinfo
+++ b/biology/py-dnaio/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1620087008
-SHA256 (dnaio-0.5.1.tar.gz) = c68ecffbf653dfe122f1c10fb8d7c5957ad68acc5c9035c66f81eba1a591d31c
-SIZE (dnaio-0.5.1.tar.gz) = 126820
+TIMESTAMP = 1707060534
+SHA256 (dnaio-1.2.0.tar.gz) = d0528c23516fe4e947970bdef33c423f0a30ab3b083bd4f6f049fd66d8cef803
+SIZE (dnaio-1.2.0.tar.gz) = 58225
diff --git a/biology/py-dnaio/pkg-descr b/biology/py-dnaio/pkg-descr
index 3ded467c3308..7235ce392860 100644
--- a/biology/py-dnaio/pkg-descr
+++ b/biology/py-dnaio/pkg-descr
@@ -1,5 +1,3 @@
dnaio is a Python 3 library for fast input and output of FASTQ and FASTA files.
It supports paired-end data in separate files, interleaved paired-end in a
single file and compression using gzip, bzip, and xz.
-
-WWW: https://pypi.python.org/pypi/dnaio
diff --git a/biology/py-ete3/Makefile b/biology/py-ete3/Makefile
index 3ffa71d1dfc6..6a8ffb40a0af 100644
--- a/biology/py-ete3/Makefile
+++ b/biology/py-ete3/Makefile
@@ -1,12 +1,12 @@
PORTNAME= ete3
-DISTVERSION= 3.1.2
-PORTREVISION= 4
+DISTVERSION= 3.1.3
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Framework for the analysis and visualization of trees
+WWW= http://etetoolkit.org/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -17,10 +17,11 @@ PY_DEPENDS= ${PYNUMPY} \
BUILD_DEPENDS= ${PY_DEPENDS}
RUN_DEPENDS= ${PY_DEPENDS}
-USES= python:3.5+ pyqt:5 shebangfix
+USES= python pyqt:5 shebangfix
+USE_PYTHON= distutils concurrent autoplist pytest # some tests fail, see https://github.com/etetoolkit/ete/issues/643
+USE_PYQT= pyqt5
+
SHEBANG_GLOB= *.py
-USE_PYTHON= distutils concurrent autoplist
-USE_PYQT= core gui opengl printsupport svg widgets
NO_ARCH= yes
diff --git a/biology/py-ete3/distinfo b/biology/py-ete3/distinfo
index 3bf300f7d46e..0fcc6e6a672f 100644
--- a/biology/py-ete3/distinfo
+++ b/biology/py-ete3/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1598990493
-SHA256 (ete3-3.1.2.tar.gz) = 4fc987b8c529889d6608fab1101f1455cb5cbd42722788de6aea9c7d0a8e59e9
-SIZE (ete3-3.1.2.tar.gz) = 4739397
+TIMESTAMP = 1687816760
+SHA256 (ete3-3.1.3.tar.gz) = 06a3b7fa8ed90187b076a8dbbe5b1b62acee94201d3c6e822f55f449601ef6f2
+SIZE (ete3-3.1.3.tar.gz) = 4768608
diff --git a/biology/py-ete3/pkg-descr b/biology/py-ete3/pkg-descr
index 8f86c33a6602..cff0b9f2a9e1 100644
--- a/biology/py-ete3/pkg-descr
+++ b/biology/py-ete3/pkg-descr
@@ -7,5 +7,3 @@ tree visualization system based on a a highly customizable tree drawing engine
(PDF and SVG tree images). Although ETE is developed as a tool for phylogenetic
analysis, it is also used to handle other types of hierarchical trees
(i.e. clustering results).
-
-WWW: http://etetoolkit.org/
diff --git a/biology/py-gffutils/Makefile b/biology/py-gffutils/Makefile
index aa19e9571f97..d7a3a74860a9 100644
--- a/biology/py-gffutils/Makefile
+++ b/biology/py-gffutils/Makefile
@@ -1,11 +1,12 @@
PORTNAME= gffutils
-DISTVERSION= 0.10.1
+DISTVERSION= 0.11.1
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Work with GFF and GTF files in a flexible database framework
+WWW= https://github.com/daler/gffutils
LICENSE= MIT
@@ -15,8 +16,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}argcomplete>=1.9.4:devel/py-argcomplete@${PY
${PYTHON_PKGNAMEPREFIX}simplejson>0:devel/py-simplejson@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}six>=1.12.0:devel/py-six@${PY_FLAVOR}
-USES= python:3.6+
-USE_PYTHON= distutils concurrent autoplist
+USES= python
+USE_PYTHON= distutils concurrent autoplist pytest # tests use nose and therefore don't work, see https://github.com/daler/gffutils/issues/211
NO_ARCH= yes
diff --git a/biology/py-gffutils/distinfo b/biology/py-gffutils/distinfo
index 23c0ee709dde..87aef9733a5d 100644
--- a/biology/py-gffutils/distinfo
+++ b/biology/py-gffutils/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1592273301
-SHA256 (gffutils-0.10.1.tar.gz) = a8fc39006d7aa353147238160640e2210b168f7849cb99896be3fc9441e351cb
-SIZE (gffutils-0.10.1.tar.gz) = 1542433
+TIMESTAMP = 1678604359
+SHA256 (gffutils-0.11.1.tar.gz) = ca7bf814d600b389bb2d5c403dd279755118cb1476c19c6f7aecb8c51a84263c
+SIZE (gffutils-0.11.1.tar.gz) = 1553140
diff --git a/biology/py-gffutils/pkg-descr b/biology/py-gffutils/pkg-descr
index 84768b7458ac..97980547ec6c 100644
--- a/biology/py-gffutils/pkg-descr
+++ b/biology/py-gffutils/pkg-descr
@@ -3,5 +3,3 @@ format files typically used for genomic annotations. Files are loaded into a
sqlite3 database, allowing much more complex manipulation of hierarchical
features (e.g., genes, transcripts, and exons) than is possible with plain-text
methods alone.
-
-WWW: https://github.com/daler/gffutils
diff --git a/biology/py-goatools/Makefile b/biology/py-goatools/Makefile
index c2b222f46835..ef6eba5004f8 100644
--- a/biology/py-goatools/Makefile
+++ b/biology/py-goatools/Makefile
@@ -1,11 +1,13 @@
PORTNAME= goatools
DISTVERSION= 1.1.6
+PORTREVISION= 1
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Tools for processing and visualizing Gene Ontology terms
+WWW= https://pypi.python.org/pypi/goatools
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -23,7 +25,7 @@ RUN_DEPENDS= ${PKGNAMEPREFIX}pandas>0:math/py-pandas@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pygraphviz>0:graphics/py-pygraphviz@${PY_FLAVOR} \
wget>0:ftp/wget
-USES= python:3.6+
+USES= python
USE_PYTHON= autoplist distutils
.include <bsd.port.mk>
diff --git a/biology/py-goatools/pkg-descr b/biology/py-goatools/pkg-descr
index d35285e6132e..b0988bffefe6 100644
--- a/biology/py-goatools/pkg-descr
+++ b/biology/py-goatools/pkg-descr
@@ -1,4 +1,2 @@
Goatools is a python library for processing Gene Ontology (GO) terms. It
includes routines for processing, filtering, and visualizing GO data.
-
-WWW: https://pypi.python.org/pypi/goatools
diff --git a/biology/py-gtfparse/Makefile b/biology/py-gtfparse/Makefile
index e6660fc52287..114fb6017c25 100644
--- a/biology/py-gtfparse/Makefile
+++ b/biology/py-gtfparse/Makefile
@@ -1,18 +1,20 @@
PORTNAME= gtfparse
-DISTVERSION= 1.2.1
+DISTVERSION= 1.3.0
+PORTREVISION= 1
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Parsing tools for GTF (gene transfer format) files
+WWW= https://github.com/openvax/gtfparse
LICENSE= APACHE20
RUN_DEPENDS= ${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}pandas>=0.15:math/py-pandas@${PY_FLAVOR}
-USES= python:3.7+
+USES= python
USE_PYTHON= distutils autoplist
NO_ARCH= yes
diff --git a/biology/py-gtfparse/distinfo b/biology/py-gtfparse/distinfo
index 7e778aabab4b..c475bd4a83f1 100644
--- a/biology/py-gtfparse/distinfo
+++ b/biology/py-gtfparse/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1596773367
-SHA256 (gtfparse-1.2.1.tar.gz) = 559d4d36b0bd5d4494f925cab3c00cd969783ebb6408fa025df92663965834b8
-SIZE (gtfparse-1.2.1.tar.gz) = 12580
+TIMESTAMP = 1678604725
+SHA256 (gtfparse-1.3.0.tar.gz) = d957f18e5f70413f89a28ef83068c461b6407eb38fd30e99b8da3d69143527b1
+SIZE (gtfparse-1.3.0.tar.gz) = 16740
diff --git a/biology/py-gtfparse/pkg-descr b/biology/py-gtfparse/pkg-descr
index 1138818d5e97..454372dfd2aa 100644
--- a/biology/py-gtfparse/pkg-descr
+++ b/biology/py-gtfparse/pkg-descr
@@ -2,5 +2,3 @@ Tools to parse files in GTF (gene transfer format).
GTF is a common format to exchange large portions of, or entire genotype
information.
-
-WWW: https://github.com/openvax/gtfparse
diff --git a/biology/py-hits/Makefile b/biology/py-hits/Makefile
index 82b38c228994..8f918e18d049 100644
--- a/biology/py-hits/Makefile
+++ b/biology/py-hits/Makefile
@@ -1,15 +1,16 @@
PORTNAME= hits
PORTVERSION= 0.1
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Utilities for processing high-throughput sequencing experiments
+WWW= https://github.com/jeffhussmann/hits
LICENSE= GPLv3
-USES= python:3.6+
+USES= python
USE_PYTHON= distutils cython autoplist
post-install:
diff --git a/biology/py-hits/pkg-descr b/biology/py-hits/pkg-descr
index e1cd3e411969..aed78ca0f7fb 100644
--- a/biology/py-hits/pkg-descr
+++ b/biology/py-hits/pkg-descr
@@ -1,3 +1 @@
Utilities for processing high-throughput sequencing experiments.
-
-WWW: https://github.com/jeffhussmann/hits
diff --git a/biology/py-htseq/Makefile b/biology/py-htseq/Makefile
new file mode 100644
index 000000000000..49c686b9526a
--- /dev/null
+++ b/biology/py-htseq/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= HTSeq
+DISTVERSION= 2.0.4
+CATEGORIES= biology python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Python library to facilitate programmatic analysis of sequence data
+WWW= https://pypi.python.org/project/htseq/
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}pysam>0:biology/py-pysam@${PY_FLAVOR}
+RUN_DEPENDS= ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}pysam>0:biology/py-pysam@${PY_FLAVOR} \
+ ${PKGNAMEPREFIX}matplotlib>=1.4.3:math/py-matplotlib@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}scipy>1.5.0:science/py-scipy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pandas>=1.1.0:math/py-pandas@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}matplotlib>=1.4:math/py-matplotlib@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist cython distutils pytest
+
+post-stage:
+ ${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/HTSeq/_StepVector.cpython-${PYTHON_SUFFIX}.so
+ ${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/HTSeq/_HTSeq.cpython-${PYTHON_SUFFIX}.so
+
+.include <bsd.port.mk>
diff --git a/biology/py-htseq/distinfo b/biology/py-htseq/distinfo
new file mode 100644
index 000000000000..5a77db64e49d
--- /dev/null
+++ b/biology/py-htseq/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1691252948
+SHA256 (HTSeq-2.0.4.tar.gz) = 5510d855617d61efff2287af4cdc60a73e94bd735e44c15b57f189ea0634e6e0
+SIZE (HTSeq-2.0.4.tar.gz) = 452153
diff --git a/biology/py-htseq/pkg-descr b/biology/py-htseq/pkg-descr
new file mode 100644
index 000000000000..afafda9c12f4
--- /dev/null
+++ b/biology/py-htseq/pkg-descr
@@ -0,0 +1,4 @@
+HTSeq is a Python library to facilitate programmatic analysis of data
+from high-throughput sequencing (HTS) experiments. A popular component
+of HTSeq is htseq-count, a script to quantify gene expression in bulk
+and single-cell RNA-Seq and similar experiments.
diff --git a/biology/py-libnuml/Makefile b/biology/py-libnuml/Makefile
new file mode 100644
index 000000000000..6a4099d85b9d
--- /dev/null
+++ b/biology/py-libnuml/Makefile
@@ -0,0 +1,32 @@
+PORTNAME= libnuml
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.1.6
+CATEGORIES= biology devel
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Numerical Markup Language for Python
+WWW= https://github.com/NuML/NuML
+
+LICENSE= LGPL21
+
+BUILD_DEPENDS= swig:devel/swig
+LIB_DEPENDS= libnuml.so:biology/libnuml
+
+USES= cmake localbase:ldflags python
+USE_PYTHON= flavors
+
+USE_GITHUB= yes
+GH_ACCOUNT= NuML
+GH_PROJECT= NuML
+
+WRKSRC_SUBDIR= ${PORTNAME}/src/bindings/python
+
+CMAKE_ARGS= -DCMAKE_INSTALL_LIBDIR=lib
+
+LDFLAGS+= -lnuml # otherwise it builds a broken shared object, see https://github.com/NuML/NuML/issues/21
+
+post-extract:
+ @${RLN} ${WRKSRC}/../../../VERSION.txt ${WRKSRC}/VERSION.txt
+
+.include <bsd.port.mk>
diff --git a/biology/py-libnuml/distinfo b/biology/py-libnuml/distinfo
new file mode 100644
index 000000000000..61a6a4501c0a
--- /dev/null
+++ b/biology/py-libnuml/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1650763370
+SHA256 (NuML-NuML-v1.1.6_GH0.tar.gz) = 1b51cd51bfe7e9c4e0bcd69f86d8199a23ebe9ea931d4f112b3f6e1666e4f2c8
+SIZE (NuML-NuML-v1.1.6_GH0.tar.gz) = 3425639
diff --git a/biology/py-libnuml/files/patch-CMakeLists.txt b/biology/py-libnuml/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..7cd3ba0fcbb4
--- /dev/null
+++ b/biology/py-libnuml/files/patch-CMakeLists.txt
@@ -0,0 +1,31 @@
+--- CMakeLists.txt.orig 2022-04-19 08:09:02 UTC
++++ CMakeLists.txt
+@@ -53,7 +53,7 @@ if (LIBNUML_REMOVE_WRAPPERS)
+ endif(LIBNUML_REMOVE_WRAPPERS)
+
+
+-set(SWIG_EXTRA_FLAGS -DSWIGEXPORT -DLIBSBML_CPP_NAMESPACE_BEGIN -DLIBSBML_CPP_NAMESPACE_END -DLIBSBML_CPP_NAMESPACE_QUALIFIER -DLIBSBML_CPP_NAMESPACE_USE)
++set(SWIG_EXTRA_FLAGS -DSWIGEXPORT -DLIBSBML_CPP_NAMESPACE_BEGIN= -DLIBSBML_CPP_NAMESPACE_END= -DLIBSBML_CPP_NAMESPACE_QUALIFIER= -DLIBSBML_CPP_NAMESPACE_USE=)
+ if(NOT UNIX)
+ set(SWIG_EXTRA_FLAGS ${SWIG_EXTRA_FLAGS} -DSWIGWIN -DSWIG_CSHARP_NO_WSTRING_HELPER )
+ endif()
+@@ -62,6 +62,7 @@ ADD_CUSTOM_COMMAND(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libnuml_wrap.cpp
+ COMMAND "${SWIG_EXECUTABLE}"
+ ARGS -I${CMAKE_CURRENT_SOURCE_DIR}/../swig/
++ -I${CMAKE_INSTALL_PREFIX}/include
+ -I${CMAKE_SOURCE_DIR}/
+ -I${CMAKE_BINARY_DIR}/
+ -I${CMAKE_BINARY_DIR}/src
+@@ -142,9 +143,9 @@ if (PYTHON_USE_DYNAMIC_LOOKUP)
+ if (APPLE)
+ set_target_properties (binding_python_lib PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
+ endif()
+- target_link_libraries(binding_python_lib ${LIBNUML_LIBRARY}-static)
++ target_link_libraries(binding_python_lib ${LIBNUML_LIBRARY})
+ else()
+- target_link_libraries(binding_python_lib ${LIBNUML_LIBRARY}-static ${PYTHON_LIBRARIES})
++ target_link_libraries(binding_python_lib ${LIBNUML_LIBRARY} ${PYTHON_LIBRARIES})
+ endif()
+
+
diff --git a/biology/py-libnuml/pkg-descr b/biology/py-libnuml/pkg-descr
new file mode 100644
index 000000000000..018eab871632
--- /dev/null
+++ b/biology/py-libnuml/pkg-descr
@@ -0,0 +1,6 @@
+This is a Python binding for libnuml, the Numerical Markup Language library.
+
+The Numerical Markup Language (NuML) aims to standardize the exchange and
+archiving of numerical results. NuML originates from the numerical aspects of
+the Systems Biology Results Markup Language (SBRML) with the aim of re-using it
+in multiple other standardization efforts.
diff --git a/biology/py-libnuml/pkg-plist b/biology/py-libnuml/pkg-plist
new file mode 100644
index 000000000000..8156ea3a6416
--- /dev/null
+++ b/biology/py-libnuml/pkg-plist
@@ -0,0 +1,3 @@
+%%PYTHON_SITELIBDIR%%/libnuml.pth
+%%PYTHON_SITELIBDIR%%/libnuml/_libnuml.so
+%%PYTHON_SITELIBDIR%%/libnuml/libnuml.py
diff --git a/biology/py-libsedml/Makefile b/biology/py-libsedml/Makefile
new file mode 100644
index 000000000000..6b8e59cf0a3e
--- /dev/null
+++ b/biology/py-libsedml/Makefile
@@ -0,0 +1,35 @@
+PORTNAME= libsedml
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.0.32
+CATEGORIES= biology devel
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= SED-ML library for Python
+WWW= https://github.com/fbergmann/libSEDML
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/../../../LICENSE.txt
+
+BUILD_DEPENDS= swig:devel/swig
+LIB_DEPENDS= libsedml.so:biology/libsedml \
+ libsbml.so:biology/libsbml \
+ libnuml.so:biology/libnuml
+
+USES= cmake localbase:ldflags python
+USE_PYTHON= flavors
+
+USE_GITHUB= yes
+GH_ACCOUNT= fbergmann
+GH_PROJECT= libSEDML
+
+CMAKE_ARGS= -DCMAKE_INSTALL_LIBDIR=lib
+
+LDFLAGS+= -lsedml -lsbml -lnuml # otherwise it builds a broken shared object, see https://github.com/NuML/NuML/issues/21
+
+WRKSRC_SUBDIR= src/bindings/python
+
+do-test: install
+ @${PYTHON_CMD} ${FILESDIR}/quick-test.py
+
+.include <bsd.port.mk>
diff --git a/biology/py-libsedml/distinfo b/biology/py-libsedml/distinfo
new file mode 100644
index 000000000000..7bc4e026e156
--- /dev/null
+++ b/biology/py-libsedml/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1654751643
+SHA256 (fbergmann-libSEDML-v2.0.32_GH0.tar.gz) = 95f0781c19e73bb86618cce1678f4238f3cc11abe070b49f2a25e869071b8069
+SIZE (fbergmann-libSEDML-v2.0.32_GH0.tar.gz) = 966584
diff --git a/biology/py-libsedml/files/patch-CMakeLists.txt b/biology/py-libsedml/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..1ad8d3a30828
--- /dev/null
+++ b/biology/py-libsedml/files/patch-CMakeLists.txt
@@ -0,0 +1,33 @@
+--- CMakeLists.txt.orig 2022-06-07 11:34:09 UTC
++++ CMakeLists.txt
+@@ -37,8 +37,8 @@ endif(LIBSEDML_REMOVE_WRAPPERS)
+
+
+ set(SWIG_EXTRA_FLAGS -DSWIGEXPORT
+- -DLIBSBML_CPP_NAMESPACE_BEGIN -DLIBSBML_CPP_NAMESPACE_END -DLIBSBML_CPP_NAMESPACE_QUALIFIER -DLIBSBML_CPP_NAMESPACE_USE
+- -DLIBNUML_CPP_NAMESPACE_BEGIN -DLIBNUML_CPP_NAMESPACE_END -DLIBNUML_CPP_NAMESPACE_QUALIFIER -DLIBNUML_CPP_NAMESPACE_USE
++ -DLIBSBML_CPP_NAMESPACE_BEGIN= -DLIBSBML_CPP_NAMESPACE_END= -DLIBSBML_CPP_NAMESPACE_QUALIFIER= -DLIBSBML_CPP_NAMESPACE_USE=
++ -DLIBNUML_CPP_NAMESPACE_BEGIN= -DLIBNUML_CPP_NAMESPACE_END= -DLIBNUML_CPP_NAMESPACE_QUALIFIER= -DLIBNUML_CPP_NAMESPACE_USE=
+ )
+ if(NOT UNIX)
+ set(SWIG_EXTRA_FLAGS ${SWIG_EXTRA_FLAGS} -DSWIGWIN -DSWIG_CSHARP_NO_WSTRING_HELPER )
+@@ -49,6 +49,7 @@ ADD_CUSTOM_COMMAND(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libsedml_wrap.cpp
+ COMMAND "${SWIG_EXECUTABLE}"
+ ARGS -I${CMAKE_CURRENT_SOURCE_DIR}/../swig/
++ -I${CMAKE_INSTALL_PREFIX}/include
+ -I${CMAKE_CURRENT_SOURCE_DIR}/../../
+ -I${CMAKE_CURRENT_BINARY_DIR}/../../
+ -I${CMAKE_CURRENT_SOURCE_DIR}/../../sedml
+@@ -125,9 +126,9 @@ if (PYTHON_USE_DYNAMIC_LOOKUP)
+ if (APPLE)
+ set_target_properties (binding_python_lib PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
+ endif()
+- target_link_libraries(binding_python_lib ${LIBSEDML_LIBRARY}-static)
++ target_link_libraries(binding_python_lib ${LIBSEDML_LIBRARY})
+ else()
+- target_link_libraries(binding_python_lib ${LIBSEDML_LIBRARY}-static ${PYTHON_LIBRARIES})
++ target_link_libraries(binding_python_lib ${LIBSEDML_LIBRARY} ${PYTHON_LIBRARIES})
+ endif()
+
+ #
diff --git a/biology/py-libsedml/files/quick-test.py b/biology/py-libsedml/files/quick-test.py
new file mode 100644
index 000000000000..59be4485ce6d
--- /dev/null
+++ b/biology/py-libsedml/files/quick-test.py
@@ -0,0 +1,20 @@
+# from https://github.com/fbergmann/libSEDML/issues/152
+
+import libsedml
+
+# create data set
+data_set = libsedml.SedDataSet()
+
+# set id
+assert data_set.setId('obj') == 0
+
+# check id set
+assert data_set.getId() == 'obj'
+
+# set empty name
+assert data_set.setName('') == 0
+
+# id is no longer set!
+assert data_set.getId() == 'obj'
+
+print("Test passed");
diff --git a/biology/py-libsedml/pkg-descr b/biology/py-libsedml/pkg-descr
new file mode 100644
index 000000000000..1bdd3b3152a5
--- /dev/null
+++ b/biology/py-libsedml/pkg-descr
@@ -0,0 +1,4 @@
+Python binding libSEDML.
+
+The libSEDML project makes use of libSBML XML layer as well as code generation
+as starting point to produce a library for reading and writing of SED-ML models.
diff --git a/biology/py-libsedml/pkg-plist b/biology/py-libsedml/pkg-plist
new file mode 100644
index 000000000000..81ce476b7592
--- /dev/null
+++ b/biology/py-libsedml/pkg-plist
@@ -0,0 +1,3 @@
+%%PYTHON_SITELIBDIR%%/libsedml.pth
+%%PYTHON_SITELIBDIR%%/libsedml/_libsedml.so
+%%PYTHON_SITELIBDIR%%/libsedml/libsedml.py
diff --git a/biology/py-loompy/Makefile b/biology/py-loompy/Makefile
index e69d6b660ee9..dc77eb0a5500 100644
--- a/biology/py-loompy/Makefile
+++ b/biology/py-loompy/Makefile
@@ -1,21 +1,26 @@
PORTNAME= loompy
-DISTVERSION= 3.0.6
+DISTVERSION= 3.0.7
+PORTREVISION= 1
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Work with .loom files for single-cell RNA-seq data
+WWW= https://loompy.org/
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}click>0:devel/py-click@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}h5py>0:science/py-h5py@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numba>0:devel/py-numba@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numpy-groupies>0:math/py-numpy-groupies@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pandas>0:math/py-pandas@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR}
-USES= python:3.7+
+USES= python
USE_PYTHON= distutils autoplist
NO_ARCH= yes
diff --git a/biology/py-loompy/distinfo b/biology/py-loompy/distinfo
index dad3edbc244a..633ef090896f 100644
--- a/biology/py-loompy/distinfo
+++ b/biology/py-loompy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1592273431
-SHA256 (loompy-3.0.6.tar.gz) = 58e9763b8ab1af2a4a0e3805d120458b5184fd2b0f3031657ecce33c63ca4c46
-SIZE (loompy-3.0.6.tar.gz) = 41108
+TIMESTAMP = 1646583060
+SHA256 (loompy-3.0.7.tar.gz) = b5cdf7b54734c6bed3a181d11947af70af2c6e0dcadc02fd0e871df232faa8f4
+SIZE (loompy-3.0.7.tar.gz) = 4837617
diff --git a/biology/py-loompy/pkg-descr b/biology/py-loompy/pkg-descr
index 65d3e8d7f75d..273193f149e6 100644
--- a/biology/py-loompy/pkg-descr
+++ b/biology/py-loompy/pkg-descr
@@ -12,5 +12,3 @@ Key features:
* Automatic, on-the-fly compression
* Out-of-memory data processing
* Open source, BSD license
-
-WWW: https://loompy.org/
diff --git a/biology/py-macs2/Makefile b/biology/py-macs2/Makefile
index 2b363cc7d941..5a9d78cfe622 100644
--- a/biology/py-macs2/Makefile
+++ b/biology/py-macs2/Makefile
@@ -1,28 +1,36 @@
PORTNAME= macs2
DISTVERSIONPREFIX= v
-DISTVERSION= 2.2.7.1
+DISTVERSION= 2.2.9.1
CATEGORIES= biology python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Identify transcription factor binding sites
+WWW= https://github.com/taoliu/MACS
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYNUMPY}
-RUN_DEPENDS= ${PYNUMPY}
+RUN_DEPENDS= ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}cykhash>0:devel/py-cykhash@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \
+ bash:shells/bash
-USES= python:3.6+
+USES= python shebangfix
+USE_GITHUB= yes
USE_PYTHON= autoplist concurrent cython distutils
-USE_GITHUB= yes
GH_ACCOUNT= taoliu
GH_PROJECT= MACS
+SHEBANG_FILES= test/cmdlinetest_update test/cmdlinetest test/prockreport
post-stage:
${STRIP_CMD} \
${STAGEDIR}${PYTHON_SITELIBDIR}/MACS2/*.so \
${STAGEDIR}${PYTHON_SITELIBDIR}/MACS2/*/*.so
+do-test: install
+ @cd ${WRKSRC}/test && ./cmdlinetest tag
+
.include <bsd.port.mk>
diff --git a/biology/py-macs2/distinfo b/biology/py-macs2/distinfo
index 296f6d147a29..e6da44033e73 100644
--- a/biology/py-macs2/distinfo
+++ b/biology/py-macs2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1586702732
-SHA256 (taoliu-MACS-v2.2.7.1_GH0.tar.gz) = 8ba25c367b84e237487b01be947239bee80e3ba123afc5e6034c374413b32913
-SIZE (taoliu-MACS-v2.2.7.1_GH0.tar.gz) = 134872405
+TIMESTAMP = 1691269587
+SHA256 (taoliu-MACS-v2.2.9.1_GH0.tar.gz) = 8e461dde82288280fe708cd4f5fec986fbf2da67b344f4dea5693af849549163
+SIZE (taoliu-MACS-v2.2.9.1_GH0.tar.gz) = 133109075
diff --git a/biology/py-macs2/files/patch-setup.py b/biology/py-macs2/files/patch-setup.py
deleted file mode 100644
index 3434e1146357..000000000000
--- a/biology/py-macs2/files/patch-setup.py
+++ /dev/null
@@ -1,25 +0,0 @@
---- setup.py.orig 2020-04-12 14:46:03 UTC
-+++ setup.py
-@@ -26,22 +26,6 @@ def main():
-
- cwd = os.path.abspath(os.path.dirname(__file__))
-
-- # install required numpy
-- p = subprocess.call([sys.executable, "-m", 'pip', 'install', f'numpy{numpy_requires}'],cwd=cwd)
-- if p != 0:
-- # Could be due to a too old pip version and build isolation, check that
-- try:
-- # Note, pip may not be installed or not have been used
-- import pip
-- if LooseVersion(pip.__version__) < LooseVersion('18.0.0'):
-- raise RuntimeError("Installing requirements failed. Possibly due "
-- "to `pip` being too old, found version {}, "
-- "needed is >= 18.0.0.".format(pip.__version__))
-- else:
-- raise RuntimeError("Installing requirements failed!")
-- except ImportError:
-- raise RuntimeError("Installing requirement failed! `pip` has to be installed!")
--
- from numpy import get_include as numpy_get_include
- numpy_include_dir = [numpy_get_include()]
-
diff --git a/biology/py-macs2/pkg-descr b/biology/py-macs2/pkg-descr
index c101167de737..0310d2e092f8 100644
--- a/biology/py-macs2/pkg-descr
+++ b/biology/py-macs2/pkg-descr
@@ -2,5 +2,3 @@ MACS is a tool for chromatin immunoprecipitation (ChIP) sequence analysis.
MACS empirically models the length of the sequenced ChIP fragments, which
tend to be shorter than sonication or library construction size estimates,
and uses it to improve the spatial resolution of predicted binding sites.
-
-WWW: https://github.com/taoliu/MACS
diff --git a/biology/py-macs3/Makefile b/biology/py-macs3/Makefile
new file mode 100644
index 000000000000..b51819da5c62
--- /dev/null
+++ b/biology/py-macs3/Makefile
@@ -0,0 +1,52 @@
+PORTNAME= MACS3
+DISTVERSIONPREFIX= v
+DISTVERSION= 3.0.1
+CATEGORIES= biology python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Peak caller aimed at transcription factor binding sites
+WWW= https://github.com/taoliu/MACS
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+NOT_FOR_ARCHS= i386
+NOT_FOR_ARCHS_REASON_i386=Requires _Float16
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} \
+ ${PYNUMPY} \
+ simde>0:devel/simde \
+ ${PYTHON_PKGNAMEPREFIX}cykhash>0:devel/py-cykhash@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}hmmlearn>0:math/py-hmmlearn@${PY_FLAVOR}
+RUN_DEPENDS= ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}cykhash>0:devel/py-cykhash@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}hmmlearn>0:math/py-hmmlearn@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \
+ bash:shells/bash
+
+USES= localbase perl5 python shebangfix
+USE_GITHUB= yes
+USE_PERL5= test
+USE_PYTHON= autoplist concurrent cython pep517
+
+GH_ACCOUNT= macs3-project
+GH_PROJECT= MACS
+SHEBANG_FILES= test/cmdlinetest* test/prockreport test/*.py test/pyprofile*
+
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1302509
+IGNORE= does not run properly on FreeBSD 13.2 and earlier due to use of dynamically loaded libc by py-threadpoolctl. Please upgrade to a newer FreeBSD or use py-macs2 instead. See PR 276231
+.endif
+
+post-stage:
+ ${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/MACS3/*/*.so
+
+# FIXME: Some tests fail due to a py-threadpoolctl issue
+# https://github.com/joblib/threadpoolctl/pull/148
+do-test: deinstall reinstall
+ @${RM} -rf ${WRKSRC}/temp
+ @cd ${WRKSRC}/test && ./cmdlinetest tag
+
+.include <bsd.port.mk>
diff --git a/biology/py-macs3/distinfo b/biology/py-macs3/distinfo
new file mode 100644
index 000000000000..b742493c53a1
--- /dev/null
+++ b/biology/py-macs3/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1713397031
+SHA256 (macs3-project-MACS-v3.0.1_GH0.tar.gz) = 8a2f5b2dccfc255ea2fd5e54e0d6aa9c12f5ce83762b17b779ce2546ade860ce
+SIZE (macs3-project-MACS-v3.0.1_GH0.tar.gz) = 197400439
diff --git a/biology/py-macs3/files/patch-MACS3_fermi-lite_ksw.c b/biology/py-macs3/files/patch-MACS3_fermi-lite_ksw.c
new file mode 100644
index 000000000000..e385ca2fc010
--- /dev/null
+++ b/biology/py-macs3/files/patch-MACS3_fermi-lite_ksw.c
@@ -0,0 +1,11 @@
+--- MACS3/fermi-lite/ksw.c.orig 2024-02-24 15:09:33 UTC
++++ MACS3/fermi-lite/ksw.c
+@@ -28,7 +28,7 @@
+
+ /* I modified this according to https://github.com/lh3/bwa/pull/283/*/
+ #ifdef USE_SIMDE
+-#include "lib/x86/sse2.h"
++#include <simde/x86/sse2.h>
+ #else
+ #include <emmintrin.h>
+ #endif
diff --git a/biology/py-macs3/files/patch-pyproject.toml b/biology/py-macs3/files/patch-pyproject.toml
new file mode 100644
index 000000000000..15f55a86a701
--- /dev/null
+++ b/biology/py-macs3/files/patch-pyproject.toml
@@ -0,0 +1,7 @@
+--- pyproject.toml.orig 2024-02-23 05:43:44 UTC
++++ pyproject.toml
+@@ -1,3 +1,3 @@
+ [build-system]
+-requires=['setuptools>=60.0', 'numpy>=1.24.2', 'scipy>=1.11.4', 'cykhash>=2.0,<3.0', 'Cython~=3.0', 'scikit-learn>=1.2.1', 'hmmlearn>=0.3']
++requires=['setuptools>=60.0', 'numpy>=1.24.2', 'scipy>=1.11.1', 'cykhash>=2.0,<3.0', 'Cython>=0', 'scikit-learn>=1.2.1', 'hmmlearn>=0.3']
+
diff --git a/biology/py-macs3/files/patch-requirements.txt b/biology/py-macs3/files/patch-requirements.txt
new file mode 100644
index 000000000000..81c9a1f75f88
--- /dev/null
+++ b/biology/py-macs3/files/patch-requirements.txt
@@ -0,0 +1,11 @@
+--- requirements.txt.orig 2024-02-23 05:43:44 UTC
++++ requirements.txt
+@@ -1,6 +1,6 @@
+-Cython~=3.0
++Cython>=0
+ numpy>=1.24.2
+-scipy>=1.11.4
++scipy>=1.11.1
+ scikit-learn>=1.2.1
+ hmmlearn>=0.3
+ cykhash>=2.0,<3.0
diff --git a/biology/py-macs3/files/patch-setup.py b/biology/py-macs3/files/patch-setup.py
new file mode 100644
index 000000000000..f309f3139736
--- /dev/null
+++ b/biology/py-macs3/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig 2024-02-24 14:39:02 UTC
++++ setup.py
+@@ -70,7 +70,7 @@ def main():
+
+ if not clang:
+ try:
+- gcc_version_check = subprocess.check_output( ["gcc", "--version"], universal_newlines=True)
++ gcc_version_check = subprocess.check_output( ["cc", "--version"], universal_newlines=True)
+ if gcc_version_check.find("clang") != -1:
+ clang = True
+ else:
diff --git a/biology/py-macs3/pkg-descr b/biology/py-macs3/pkg-descr
new file mode 100644
index 000000000000..7e901a88e5ea
--- /dev/null
+++ b/biology/py-macs3/pkg-descr
@@ -0,0 +1,6 @@
+MACS (Model-based Analysis of ChIP-Seq) is a tool for identifying
+transcription factor (TF) binding sites. Such sites are generated
+by CHiP-Seq (CHromatin immuno-Precipitation sequencing) and ATAC-Seq
+(Assay for Transposase Accessible Chromatin Sequencing). MACS
+identifies "peaks" in the genome sequence, which are areas enriched
+in bound TFs or accessible chromatin.
diff --git a/biology/py-mrcfile/Makefile b/biology/py-mrcfile/Makefile
new file mode 100644
index 000000000000..a3851d445843
--- /dev/null
+++ b/biology/py-mrcfile/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= mrcfile
+DISTVERSION= 1.5.0
+CATEGORIES= biology python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= MRC file I/O library which is used in structural biology
+WWW= https://github.com/ccpem/mrcfile
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+RUN_DEPENDS= ${PYNUMPY}
+
+USES= python
+USE_PYTHON= distutils concurrent autoplist
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/biology/py-mrcfile/distinfo b/biology/py-mrcfile/distinfo
new file mode 100644
index 000000000000..2c247a633dc6
--- /dev/null
+++ b/biology/py-mrcfile/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1705736770
+SHA256 (mrcfile-1.5.0.tar.gz) = 9e8196b8a33aa5b5237b43336cb9d08b6058b8127ea668d63b84d58bca795ec1
+SIZE (mrcfile-1.5.0.tar.gz) = 55843
diff --git a/biology/py-mrcfile/pkg-descr b/biology/py-mrcfile/pkg-descr
new file mode 100644
index 000000000000..8b110ad06b4c
--- /dev/null
+++ b/biology/py-mrcfile/pkg-descr
@@ -0,0 +1,3 @@
+mrcfile is a Python implementation of the MRC2014 file
+format, which is used in structural biology to store
+image and volume data.
diff --git a/biology/py-multiqc/Makefile b/biology/py-multiqc/Makefile
index 23005cfa7915..481a194e2c51 100644
--- a/biology/py-multiqc/Makefile
+++ b/biology/py-multiqc/Makefile
@@ -1,17 +1,18 @@
PORTNAME= multiqc
-DISTVERSION= 1.10
+DISTVERSION= 1.15
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Aggregate bioinformatics analysis reports across samples and tools
+WWW= https://pypi.python.org/pypi/multiqc
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYNUMPY} \
- ${PYTHON_PKGNAMEPREFIX}click>0:devel/py-click@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rich-click>0:devel/py-rich-click@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}future>0.14.0:devel/py-future@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}coloredlogs>0:devel/py-coloredlogs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}matplotlib>=2.1.1:math/py-matplotlib@${PY_FLAVOR} \
@@ -24,9 +25,10 @@ RUN_DEPENDS= ${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}Jinja2>=2.9:devel/py-Jinja2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}lzstring>0:archivers/py-lzstring@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}spectra>=0.0.10:graphics/py-spectra@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}colormath>0:math/py-colormath@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}colormath>0:math/py-colormath@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}kiwisolver>0:math/py-kiwisolver@${PY_FLAVOR}
-USES= python:3.7+
+USES= python
USE_PYTHON= autoplist concurrent distutils
NO_ARCH= yes
diff --git a/biology/py-multiqc/distinfo b/biology/py-multiqc/distinfo
index a6c957293aac..884857c19c9b 100644
--- a/biology/py-multiqc/distinfo
+++ b/biology/py-multiqc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1616108218
-SHA256 (multiqc-1.10.tar.gz) = f2f8c529d36a69fb32c0f27fb387a0bb53aa2f438387370cec28639968f8a686
-SIZE (multiqc-1.10.tar.gz) = 1601505
+TIMESTAMP = 1691243629
+SHA256 (multiqc-1.15.tar.gz) = ce5359a12226cf4ce372c6fdad142cfe2ae7501ffa97ac7aab544ced4db5ea3c
+SIZE (multiqc-1.15.tar.gz) = 1077075
diff --git a/biology/py-multiqc/files/patch-multiqc_multiqc.py b/biology/py-multiqc/files/patch-multiqc_multiqc.py
index d1a670b3bb56..2353f5150e0c 100644
--- a/biology/py-multiqc/files/patch-multiqc_multiqc.py
+++ b/biology/py-multiqc/files/patch-multiqc_multiqc.py
@@ -1,30 +1,17 @@
---- multiqc/multiqc.py.orig 2019-11-25 15:53:22 UTC
+--- multiqc/multiqc.py.orig 2023-05-11 13:19:10 UTC
+++ multiqc/multiqc.py
-@@ -11,16 +11,25 @@ from __future__ import print_function
+@@ -24,7 +24,13 @@ from urllib.request import urlopen
- import base64
- import click
-+import os
-+import sys
-+
+ import jinja2
+ import rich
+-import rich_click as click
+if 'LC_ALL' in os.environ and 'LANG' in os.environ:
-+ import click
++ import rich_click as click
+else:
+ print('multiqc: LC_ALL and LANG must be set to a UTF-8 character set')
+ print('in your environment in order for the click module to function.')
+ print('E.g. export LC_ALL=en_US.UTF-8 or setenv LC_ALL en_US.UTF-8')
+ sys.exit()
-+
- from distutils import version
- from distutils.dir_util import copy_tree
- import errno
- import io
- import jinja2
--import os
- import re
- import shutil
- import subprocess
--import sys
- import tempfile
- import traceback
+ from rich.syntax import Syntax
+ from .plots import table
diff --git a/biology/py-multiqc/pkg-descr b/biology/py-multiqc/pkg-descr
index 399f8a41c313..e4eb84c16e77 100644
--- a/biology/py-multiqc/pkg-descr
+++ b/biology/py-multiqc/pkg-descr
@@ -1,5 +1,3 @@
MultiQC searches a given directory for analysis logs and compiles an HTML
report. It's a general use tool, perfect for summarising the output from
numerous bioinformatics tools.
-
-WWW: https://pypi.python.org/pypi/multiqc
diff --git a/biology/py-newick/Makefile b/biology/py-newick/Makefile
new file mode 100644
index 000000000000..f7eb627d1cc2
--- /dev/null
+++ b/biology/py-newick/Makefile
@@ -0,0 +1,17 @@
+PORTNAME= newick
+DISTVERSION= 1.9.0
+CATEGORIES= biology python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= wen@FreeBSD.org
+COMMENT= Python module to read and write the Newick format
+WWW= https://github.com/dlce-eva/python-newick
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= python
+USE_PYTHON= autoplist distutils
+
+.include <bsd.port.mk>
diff --git a/biology/py-newick/distinfo b/biology/py-newick/distinfo
new file mode 100644
index 000000000000..440a9d09c636
--- /dev/null
+++ b/biology/py-newick/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1706920016
+SHA256 (newick-1.9.0.tar.gz) = 9f81be96ec86aefca74d920fc0d6962d89a3156547003ca6915c2e6e31ad3ddf
+SIZE (newick-1.9.0.tar.gz) = 25286
diff --git a/biology/py-newick/pkg-descr b/biology/py-newick/pkg-descr
new file mode 100644
index 000000000000..5dee3ef15785
--- /dev/null
+++ b/biology/py-newick/pkg-descr
@@ -0,0 +1 @@
+A python module to read and write the Newick format.
diff --git a/biology/py-ont-fast5-api/Makefile b/biology/py-ont-fast5-api/Makefile
index d998d68a0e04..e154ea248556 100644
--- a/biology/py-ont-fast5-api/Makefile
+++ b/biology/py-ont-fast5-api/Makefile
@@ -1,11 +1,13 @@
PORTNAME= ont-fast5-api
DISTVERSIONPREFIX= release_
-DISTVERSION= 4.0.0
+DISTVERSION= 4.0.2
+PORTREVISION= 1
CATEGORIES= biology python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Interface to HDF5 files in Oxford Nanopore .fast5 format
+WWW= https://pypi.python.org/pypi/ont_fast5_api
LICENSE= MPL20
LICENSE_FILE= ${WRKSRC}/LICENSE.md
@@ -18,7 +20,7 @@ RUN_DEPENDS= ${PYNUMPY} \
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pip>=0:devel/py-pip@${PY_FLAVOR}
USES= python
-USE_PYTHON= autoplist distutils
+USE_PYTHON= autoplist concurrent distutils
USE_GITHUB= yes
GH_ACCOUNT= nanoporetech
diff --git a/biology/py-ont-fast5-api/distinfo b/biology/py-ont-fast5-api/distinfo
index 9156cd8912ef..d6298ee5ba57 100644
--- a/biology/py-ont-fast5-api/distinfo
+++ b/biology/py-ont-fast5-api/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1628770827
-SHA256 (nanoporetech-ont_fast5_api-release_4.0.0_GH0.tar.gz) = 7f9b3fa0f814ff38c30e9cb21971ec61e2b3fd52fb166a8404c21bf25679e0ab
-SIZE (nanoporetech-ont_fast5_api-release_4.0.0_GH0.tar.gz) = 4081125
+TIMESTAMP = 1648128656
+SHA256 (nanoporetech-ont_fast5_api-release_4.0.2_GH0.tar.gz) = c078dc0d20b02cd9807105415f259e099f1adc8b922d67a1a9fe04321c098361
+SIZE (nanoporetech-ont_fast5_api-release_4.0.2_GH0.tar.gz) = 4082466
diff --git a/biology/py-ont-fast5-api/files/patch-setup.py b/biology/py-ont-fast5-api/files/patch-setup.py
new file mode 100644
index 000000000000..a29c7326d3b5
--- /dev/null
+++ b/biology/py-ont-fast5-api/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig 2022-03-25 16:23:32 UTC
++++ setup.py
+@@ -35,7 +35,7 @@ setup(name=__pkg_name__.replace("_", "-"),
+ version=get_version(),
+ url='https://github.com/nanoporetech/{}'.format(__pkg_name__),
+ install_requires=installation_requirements,
+- packages=find_packages(),
++ packages=find_packages(exclude=['test']),
+ package_data={__pkg_name__: ['vbz_plugin/*.so', 'vbz_plugin/*.dylib', 'vbz_plugin/*.dll']},
+ python_requires='>=3.6',
+ entry_points={'console_scripts': [
diff --git a/biology/py-ont-fast5-api/pkg-descr b/biology/py-ont-fast5-api/pkg-descr
index e8482d387fa0..2c55efd2a52c 100644
--- a/biology/py-ont-fast5-api/pkg-descr
+++ b/biology/py-ont-fast5-api/pkg-descr
@@ -5,5 +5,3 @@ Nanopore .fast5 file format. It provides:
o Methods to interact with and reflect the fast5 file schema
o Tools to convert between multi_read and single_read formats
o Tools to compress/decompress raw data in files
-
-WWW: https://pypi.python.org/pypi/ont_fast5_api
diff --git a/biology/py-orange3-bioinformatics/Makefile b/biology/py-orange3-bioinformatics/Makefile
index f0bcfa101b50..5464e61f4e68 100644
--- a/biology/py-orange3-bioinformatics/Makefile
+++ b/biology/py-orange3-bioinformatics/Makefile
@@ -1,31 +1,30 @@
PORTNAME= orange3-bioinformatics
DISTVERSION= 4.3.1
+PORTREVISION= 3
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTNAME= Orange3-Bioinformatics-${DISTVERSION}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Orange add-on providing common functionality for bioinformatics
+WWW= https://github.com/biolab/orange3-bioinformatics
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-DEPRECATED= Uses EOL Python 2.7 via misc/orange3
-EXPIRATION_DATE=2021-06-23
-
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>0:devel/py-setuptools_scm@${PY_FLAVOR}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools-scm>0:devel/py-setuptools-scm@${PY_FLAVOR}
RUN_DEPENDS= orange3>0:misc/orange3 \
${PYTHON_PKGNAMEPREFIX}Genesis-PyAPI>0:biology/py-Genesis-PyAPI@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}point-annotator>=2.0:math/py-point-annotator@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyclipper>=1.2.0:math/py-pyclipper@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}requests-cache>0:www/py-requests-cache@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests-cache0>0:www/py-requests-cache0@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}resdk>0:biology/py-resdk@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scipy>=1.5.0:science/py-scipy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}serverfiles>0:misc/py-serverfiles@${PY_FLAVOR}
-USES= python:3.4+
+USES= python
USE_PYTHON= distutils autoplist
NO_ARCH= yes
diff --git a/biology/py-orange3-bioinformatics/pkg-descr b/biology/py-orange3-bioinformatics/pkg-descr
index 1b2b2bbbda63..8979fa28157a 100644
--- a/biology/py-orange3-bioinformatics/pkg-descr
+++ b/biology/py-orange3-bioinformatics/pkg-descr
@@ -7,5 +7,3 @@ Orange Bioinformatics provides access to publicly available data, like GEO data
sets, GO and KEGG. All features can be combined with powerful visualization,
network exploration and data mining techniques from the Orange data mining
framework.
-
-WWW: https://github.com/biolab/orange3-bioinformatics
diff --git a/biology/py-orange3-single-cell/Makefile b/biology/py-orange3-single-cell/Makefile
index 69602c726a61..62df21377be5 100644
--- a/biology/py-orange3-single-cell/Makefile
+++ b/biology/py-orange3-single-cell/Makefile
@@ -1,17 +1,15 @@
PORTNAME= orange3-single-cell
DISTVERSION= 0.8.2
-PORTREVISION= 3
+PORTREVISION= 5
CATEGORIES= biology python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Orange add-on for gene expression of single cell data
+WWW= https://singlecell.biolab.si/
LICENSE= AGPLv3+
-DEPRECATED= Uses EOL Python 2.7 via misc/orange3
-EXPIRATION_DATE=2021-06-23
-
RUN_DEPENDS= orange3>0:misc/orange3 \
${PYTHON_PKGNAMEPREFIX}orange3-bioinformatics>0:biology/py-orange3-bioinformatics@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}astropy>0:astro/py-astropy@${PY_FLAVOR} \
@@ -24,11 +22,13 @@ RUN_DEPENDS= orange3>0:misc/orange3 \
${PYNUMPY}
# Supports 3.4+ but loompy 3.6+ only.
-USES= python:3.7+
+USES= python
USE_GITHUB= yes
GH_ACCOUNT= biolab
USE_PYTHON= distutils autoplist
+NO_ARCH= yes
+
OPTIONS_DEFINE= DOCS
DOCS_BUILD_DEPENDS= gmake:devel/gmake \
diff --git a/biology/py-orange3-single-cell/files/patch-doc_conf.py b/biology/py-orange3-single-cell/files/patch-doc_conf.py
new file mode 100644
index 000000000000..a3ecb4c652db
--- /dev/null
+++ b/biology/py-orange3-single-cell/files/patch-doc_conf.py
@@ -0,0 +1,10 @@
+# add_stylesheet() deprecated on Sphinx 4.0
+# https://www.sphinx-doc.org/en/master/extdev/deprecated.html
+--- doc/conf.py.orig 2018-10-15 08:43:14 UTC
++++ doc/conf.py
+@@ -288,4 +288,4 @@ texinfo_documents = [
+ #texinfo_no_detailmenu = False
+
+ def setup(app):
+- app.add_stylesheet('style.css')
++ app.add_css_file('style.css')
diff --git a/biology/py-orange3-single-cell/pkg-descr b/biology/py-orange3-single-cell/pkg-descr
index 1716d0dae0dc..05cf4bfc5f8a 100644
--- a/biology/py-orange3-single-cell/pkg-descr
+++ b/biology/py-orange3-single-cell/pkg-descr
@@ -1,4 +1,2 @@
The Single Cell add-on for Orange3 adds functionality for analysis of single
cell data.
-
-WWW: https://singlecell.biolab.si/
diff --git a/biology/py-pandas-charm/Makefile b/biology/py-pandas-charm/Makefile
index 1b556e5faba3..30829e128b71 100644
--- a/biology/py-pandas-charm/Makefile
+++ b/biology/py-pandas-charm/Makefile
@@ -1,19 +1,20 @@
PORTNAME= pandas-charm
DISTVERSION= 0.3.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Library for getting character matrices into and out of pandas
+WWW= https://github.com/jmenglund/pandas-charm
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pandas>0:math/py-pandas@${PY_FLAVOR}
-USES= python:3.7+
+USES= python
USE_PYTHON= distutils autoplist
NO_ARCH= yes
diff --git a/biology/py-pandas-charm/pkg-descr b/biology/py-pandas-charm/pkg-descr
index 55e981af69ae..6cbddb55b898 100644
--- a/biology/py-pandas-charm/pkg-descr
+++ b/biology/py-pandas-charm/pkg-descr
@@ -1,5 +1,3 @@
pandas-charm is a small Python package for getting character matrices
(alignments) into and out of pandas. Use this library to make pandas
interoperable with BioPython and DendroPy.
-
-WWW: https://github.com/jmenglund/pandas-charm
diff --git a/biology/py-py2bit/Makefile b/biology/py-py2bit/Makefile
new file mode 100644
index 000000000000..f9ceab0abb3c
--- /dev/null
+++ b/biology/py-py2bit/Makefile
@@ -0,0 +1,17 @@
+PORTNAME= py2bit
+DISTVERSION= 0.3.0
+CATEGORIES= biology python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Python interface for 2bit packed nucleotide files
+WWW= https://github.com/deeptools/py2bit
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+USES= python
+USE_PYTHON= autoplist distutils
+
+.include <bsd.port.mk>
diff --git a/biology/py-py2bit/distinfo b/biology/py-py2bit/distinfo
new file mode 100644
index 000000000000..a797a50f82d2
--- /dev/null
+++ b/biology/py-py2bit/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1617287956
+SHA256 (py2bit-0.3.0.tar.gz) = 450555c40cba66957ac8c9a4b6afb625fb34c4bb41638de78c87661ff8b682ef
+SIZE (py2bit-0.3.0.tar.gz) = 16010
diff --git a/biology/py-py2bit/pkg-descr b/biology/py-py2bit/pkg-descr
new file mode 100644
index 000000000000..5a8cd20f56bb
--- /dev/null
+++ b/biology/py-py2bit/pkg-descr
@@ -0,0 +1,3 @@
+py2bit is a python extension, written in C, for quick access to 2bit
+files for randomly accessible, packed nucleotide sequences. The
+extension uses lib2bit for file access.
diff --git a/biology/py-bigwig/Makefile b/biology/py-pybigwig/Makefile
index a7c2f9c5321f..76d160a9e818 100644
--- a/biology/py-bigwig/Makefile
+++ b/biology/py-pybigwig/Makefile
@@ -1,11 +1,12 @@
PORTNAME= pyBigWig
-DISTVERSION= 0.3.18
+DISTVERSION= 0.3.22
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Python access to bigWig files using libBigWig
+WWW= https://pypi.org/project/pyBigWig/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
diff --git a/biology/py-pybigwig/distinfo b/biology/py-pybigwig/distinfo
new file mode 100644
index 000000000000..44d8c0b8eead
--- /dev/null
+++ b/biology/py-pybigwig/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1681053575
+SHA256 (pyBigWig-0.3.22.tar.gz) = 5d4426f754bd7b7f6dc21d6c3f93b58a96a65b6eb2e578ae03b31a71272d2243
+SIZE (pyBigWig-0.3.22.tar.gz) = 73864
diff --git a/biology/py-pybigwig/files/patch-libBigWig_bwValues.c b/biology/py-pybigwig/files/patch-libBigWig_bwValues.c
new file mode 100644
index 000000000000..7b2fc3774b92
--- /dev/null
+++ b/biology/py-pybigwig/files/patch-libBigWig_bwValues.c
@@ -0,0 +1,29 @@
+--- libBigWig/bwValues.c.orig 2023-12-16 13:51:54 UTC
++++ libBigWig/bwValues.c
+@@ -5,7 +5,7 @@
+ #include <zlib.h>
+ #include <errno.h>
+
+-static uint32_t roundup(uint32_t v) {
++static uint32_t bigwig_roundup(uint32_t v) {
+ v--;
+ v |= v >> 1;
+ v |= v >> 2;
+@@ -346,7 +346,7 @@ static bwOverlappingIntervals_t *pushIntervals(bwOverl
+ //Returns NULL on error, in which case o has been free()d
+ static bwOverlappingIntervals_t *pushIntervals(bwOverlappingIntervals_t *o, uint32_t start, uint32_t end, float value) {
+ if(o->l+1 >= o->m) {
+- o->m = roundup(o->l+1);
++ o->m = bigwig_roundup(o->l+1);
+ o->start = realloc(o->start, o->m * sizeof(uint32_t));
+ if(!o->start) goto error;
+ o->end = realloc(o->end, o->m * sizeof(uint32_t));
+@@ -366,7 +366,7 @@ static bbOverlappingEntries_t *pushBBIntervals(bbOverl
+
+ static bbOverlappingEntries_t *pushBBIntervals(bbOverlappingEntries_t *o, uint32_t start, uint32_t end, char *str, int withString) {
+ if(o->l+1 >= o->m) {
+- o->m = roundup(o->l+1);
++ o->m = bigwig_roundup(o->l+1);
+ o->start = realloc(o->start, o->m * sizeof(uint32_t));
+ if(!o->start) goto error;
+ o->end = realloc(o->end, o->m * sizeof(uint32_t));
diff --git a/biology/py-bigwig/pkg-descr b/biology/py-pybigwig/pkg-descr
index 825fb27ac6f0..165321fc6318 100644
--- a/biology/py-bigwig/pkg-descr
+++ b/biology/py-pybigwig/pkg-descr
@@ -1,5 +1,3 @@
A python extension, written in C, for quick access to bigBed files and access
to and creation of bigWig files. This extension uses libBigWig for local and
remote file access.
-
-WWW: https://pypi.org/project/pyBigWig/
diff --git a/biology/py-pyfaidx/Makefile b/biology/py-pyfaidx/Makefile
index 98bf5603c93f..fa8a9223eead 100644
--- a/biology/py-pyfaidx/Makefile
+++ b/biology/py-pyfaidx/Makefile
@@ -1,17 +1,18 @@
PORTNAME= pyfaidx
DISTVERSION= 0.5.9.5
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Efficient pythonic random access to fasta subsequences
+WWW= https://github.com/mdshw5/pyfaidx
LICENSE= BSD3CLAUSE
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}
-USES= python:3.6+
+USES= python
USE_PYTHON= distutils concurrent autoplist
NO_ARCH= yes
diff --git a/biology/py-pyfaidx/pkg-descr b/biology/py-pyfaidx/pkg-descr
index 7bbfc03d6bf1..95d997b87879 100644
--- a/biology/py-pyfaidx/pkg-descr
+++ b/biology/py-pyfaidx/pkg-descr
@@ -9,5 +9,3 @@ files using a samtools compatible index. The pyfaidx module is API compatible
with the pygr seqdb module. A command-line script "faidx" is installed alongside
the pyfaidx module, and facilitates complex manipulation of FASTA files without
any programming knowledge.
-
-WWW: https://github.com/mdshw5/pyfaidx
diff --git a/biology/py-pyrodigal/Makefile b/biology/py-pyrodigal/Makefile
new file mode 100644
index 000000000000..29edb4cd9bf5
--- /dev/null
+++ b/biology/py-pyrodigal/Makefile
@@ -0,0 +1,31 @@
+PORTNAME= pyrodigal
+DISTVERSION= 3.3.0
+CATEGORIES= biology python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Python binding for Prodigal, an ORF finder for genomes and metagenomes
+WWW= https://github.com/althonos/pyrodigal
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cython3>0:lang/cython3@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}archspec>0:devel/py-archspec@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= distutils concurrent autoplist pytest # cython: cython3 isn't yet supported by python.mk
+
+TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+post-build:
+ @cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} setup.py build_ext --inplace
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/pyrodigal/lib${PYTHON_EXT_SUFFIX}.so
+
+do-test:
+ @cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m unittest discover -vv
+
+.include <bsd.port.mk>
diff --git a/biology/py-pyrodigal/distinfo b/biology/py-pyrodigal/distinfo
new file mode 100644
index 000000000000..a8d262237187
--- /dev/null
+++ b/biology/py-pyrodigal/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1709932859
+SHA256 (pyrodigal-3.3.0.tar.gz) = 68f92cd83f9cd2883b99433847a827dd84ccb27edc51cb3f415664f0f08b0325
+SIZE (pyrodigal-3.3.0.tar.gz) = 2575105
diff --git a/biology/py-pyrodigal/pkg-descr b/biology/py-pyrodigal/pkg-descr
new file mode 100644
index 000000000000..c56d5dda28d0
--- /dev/null
+++ b/biology/py-pyrodigal/pkg-descr
@@ -0,0 +1,18 @@
+Pyrodigal is a Python module that provides bindings to Prodigal using Cython.
+
+Features:
+The library now features everything from the original Prodigal CLI:
+* run mode selection: Choose between single mode, using a training sequence to
+ count nucleotide hexamers, or metagenomic mode, using pre-trained data from
+ different organisms (prodigal -p).
+* region masking: Prevent genes from being predicted across regions containing
+ unknown nucleotides (prodigal -m).
+* closed ends: Genes will be identified as running over edges if they are larger
+ than a certain size, but this can be disabled (prodigal -c).
+* training configuration: During the training process, a custom translation
+ table can be given (prodigal -g), and the Shine-Dalgarno motif search can be
+ forcefully bypassed (prodigal -n)
+* output files: Output files can be written in a format mostly compatible with
+ the Prodigal binary, including the protein translations in FASTA format
+ (prodigal -a), the gene sequences in FASTA format (prodigal -d), or the
+ potential gene scores in tabular format (prodigal -s).
diff --git a/biology/py-pysam/Makefile b/biology/py-pysam/Makefile
index 1726053f93c1..745a4a165ed1 100644
--- a/biology/py-pysam/Makefile
+++ b/biology/py-pysam/Makefile
@@ -1,16 +1,35 @@
PORTNAME= pysam
-DISTVERSION= 0.16.0.1
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.22.1
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+#MASTER_SITES= PYPI # no tests
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Python module for reading, manipulating and writing genomic data sets
+WWW= https://github.com/pysam-developers/pysam
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
-USES= gmake python:3.6+
-USE_PYTHON= autoplist distutils cython cython_run
+LIB_DEPENDS= libhts.so:biology/htslib
+RUN_DEPENDS= bcftools:biology/bcftools \
+ samtools:biology/samtools
+
+USES= gmake python
+USE_PYTHON= distutils autoplist cython cython_run pytest # 2 failed, 155 errors, see https://github.com/pysam-developers/pysam/issues/1284
+
+USE_GITHUB= yes
+GH_ACCOUNT= pysam-developers
+
+BINARY_ALIAS= make=${GMAKE}
+MAKE_ENV= HTSLIB_MODE=external \
+ HTSLIB_LIBRARY_DIR=${LOCALBASE}/lib \
+ HTSLIB_INCLUDE_DIR=${LOCALBASE}/include
+TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+TEST_WRKSRC= ${WRKSRC}/tests
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/pysam/lib*${PYTHON_EXT_SUFFIX}.so
.include <bsd.port.mk>
diff --git a/biology/py-pysam/distinfo b/biology/py-pysam/distinfo
index 102e94b395cc..f5f1e4268139 100644
--- a/biology/py-pysam/distinfo
+++ b/biology/py-pysam/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1605468111
-SHA256 (pysam-0.16.0.1.tar.gz) = d428a9768691d5ea3c28cc52a949c920ae691aa4c110a8b7328dc4d165ef1ad6
-SIZE (pysam-0.16.0.1.tar.gz) = 3552537
+TIMESTAMP = 1714015094
+SHA256 (pysam-developers-pysam-v0.22.1_GH0.tar.gz) = e4981524d7627c53fa0d3f8cbec2bd65c2ea7520092f25e1029af12cb7b82ff6
+SIZE (pysam-developers-pysam-v0.22.1_GH0.tar.gz) = 3885851
diff --git a/biology/py-pysam/files/patch-setup.py b/biology/py-pysam/files/patch-setup.py
deleted file mode 100644
index d82a8bbbefcf..000000000000
--- a/biology/py-pysam/files/patch-setup.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- setup.py.orig 2017-04-19 05:48:10 UTC
-+++ setup.py
-@@ -60,7 +60,7 @@ def run_configure(option):
-
-
- def run_make_print_config():
-- stdout = subprocess.check_output(["make", "-s", "print-config"])
-+ stdout = subprocess.check_output(["gmake", "-s", "print-config"])
- if IS_PYTHON3:
- stdout = stdout.decode("ascii")
-
diff --git a/biology/py-pysam/pkg-descr b/biology/py-pysam/pkg-descr
index 199ead088d20..6e0fa2bbf118 100644
--- a/biology/py-pysam/pkg-descr
+++ b/biology/py-pysam/pkg-descr
@@ -6,5 +6,3 @@ module supports compression and random access through indexing.
This module provides a low-level wrapper around the htslib C-API as using
cython and a high-level API for convenient access to the data within standard
genomic file formats.
-
-WWW: https://github.com/pysam-developers/pysam
diff --git a/biology/py-python-libsbml/Makefile b/biology/py-python-libsbml/Makefile
index 2acf5ef53d00..8d5ef70851be 100644
--- a/biology/py-python-libsbml/Makefile
+++ b/biology/py-python-libsbml/Makefile
@@ -1,21 +1,25 @@
PORTNAME= python-libsbml
-DISTVERSION= 5.19.0
+DISTVERSION= 5.20.1
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+#MASTER_SITES= PYPI # no tarballs on PYPI
+MASTER_SITES= https://github.com/sbmlteam/python-libsbml/releases/download/v${DISTVERSION}/
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= LibSBML Python API
+WWW= https://sbml.org/Main_Page
LICENSE= LGPL21
-BUILD_DEPENDS= cmake:devel/cmake \
+BUILD_DEPENDS= cmake:devel/cmake-core \
swig:devel/swig
-USES= python:3.6+
+USES= python
USE_PYTHON= autoplist distutils # autoplist produces incomplete plist, missing files are in pkg-plist. Reported to the upstream author fbergman@caltech.edu on 2021-08-17
+MAKE_ENV= CMAKE_BUILD_PARALLEL_LEVEL=${MAKE_JOBS_NUMBER}
+
post-install:
- @${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/libsbml/_libsbml.cpython-38.so
+ @${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/libsbml/_libsbml*.so
.include <bsd.port.mk>
diff --git a/biology/py-python-libsbml/distinfo b/biology/py-python-libsbml/distinfo
index 6f7129d3cedb..dc3cf221dc71 100644
--- a/biology/py-python-libsbml/distinfo
+++ b/biology/py-python-libsbml/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1629231482
-SHA256 (python-libsbml-5.19.0.tar.gz) = 87596017aa76c1284e83247593fe999ab7ba9a84e7488bcf0434b01277858f86
-SIZE (python-libsbml-5.19.0.tar.gz) = 36842483
+TIMESTAMP = 1687747738
+SHA256 (python-libsbml-5.20.1.tar.gz) = 5a10f0a494ba03ffda5190430f80a15516357d2d17698b928a01cbd2e231bf45
+SIZE (python-libsbml-5.20.1.tar.gz) = 48808000
diff --git a/biology/py-python-libsbml/files/patch-libsbml__source_src_sbml_SBase.cpp b/biology/py-python-libsbml/files/patch-libsbml__source_src_sbml_SBase.cpp
new file mode 100644
index 000000000000..8efff8c5aebe
--- /dev/null
+++ b/biology/py-python-libsbml/files/patch-libsbml__source_src_sbml_SBase.cpp
@@ -0,0 +1,2592 @@
+--- libsbml_source/src/sbml/SBase.cpp.orig 2023-06-26 04:05:56 UTC
++++ libsbml_source/src/sbml/SBase.cpp
+@@ -93,7 +93,7 @@ struct DeletePluginEntity
+ struct ClonePluginEntity
+ {
+ SBasePlugin* operator() (const SBasePlugin* sb) {
+- if (!sb) return NULL;
++ if (!sb) return 0;
+ return sb->clone();
+ }
+ };
+@@ -103,7 +103,7 @@ struct ClonePluginEntity
+ SBase*
+ SBase::getElementBySId(const std::string& id)
+ {
+- if (id.empty()) return NULL;
++ if (id.empty()) return 0;
+ return getElementFromPluginsBySId(id);
+ }
+
+@@ -118,7 +118,7 @@ SBase::getElementBySId(const std::string& id) const
+ SBase*
+ SBase::getElementByMetaId(const std::string& metaid)
+ {
+- if (metaid.empty()) return NULL;
++ if (metaid.empty()) return 0;
+ return getElementFromPluginsByMetaId(metaid);
+ }
+
+@@ -188,9 +188,9 @@ SBase::getElementFromPluginsBySId(const std::string& i
+ for (size_t i=0; i < mPlugins.size(); i++)
+ {
+ SBase* subObj = mPlugins[i]->getElementBySId(id);
+- if (subObj != NULL) return subObj;
++ if (subObj != 0) return subObj;
+ }
+- return NULL;
++ return 0;
+ }
+ /** @endcond */
+
+@@ -202,9 +202,9 @@ SBase::getElementFromPluginsByMetaId(const std::string
+ for (size_t i=0; i < mPlugins.size(); i++)
+ {
+ SBase* subObj = mPlugins[i]->getElementByMetaId(metaid);
+- if (subObj != NULL) return subObj;
++ if (subObj != 0) return subObj;
+ }
+- return NULL;
++ return 0;
+ }
+ /** @endcond */
+
+@@ -276,7 +276,7 @@ SBase::transformIdentifiers(IdentifierTransformer* idT
+ }
+
+ // call transformer
+- if (idTransformer != NULL)
++ if (idTransformer != 0)
+ {
+ ret = idTransformer->transform(this);
+ if (ret != LIBSBML_OPERATION_SUCCESS)
+@@ -296,7 +296,7 @@ SBase::getAllElementsFromPlugins(ElementFilter *filter
+ for (size_t i=0; i < mPlugins.size(); i++)
+ {
+ List* sublist = mPlugins[i]->getAllElements(filter);
+- if (sublist != NULL)
++ if (sublist != 0)
+ {
+ if (sublist->getSize() > 0)
+ ret->transferFrom(sublist);
+@@ -316,17 +316,17 @@ SBase::SBase (unsigned int level, unsigned int version
+ mId ( "" )
+ , mName ( "" )
+ , mMetaId ( "" )
+- , mNotes ( NULL )
+- , mAnnotation( NULL )
+- , mSBML ( NULL )
+- , mSBMLNamespaces (NULL)
+- , mUserData(NULL)
++ , mNotes ( 0 )
++ , mAnnotation( 0 )
++ , mSBML ( 0 )
++ , mSBMLNamespaces (0)
++ , mUserData(0)
+ , mSBOTerm ( -1 )
+ , mLine ( 0 )
+ , mColumn ( 0 )
+- , mParentSBMLObject (NULL)
+- , mCVTerms ( NULL )
+- , mHistory ( NULL )
++ , mParentSBMLObject (0)
++ , mCVTerms ( 0 )
++ , mHistory ( 0 )
+ , mHasBeenDeleted (false)
+ , mEmptyString ("")
+ , mURI("")
+@@ -362,17 +362,17 @@ SBase::SBase (const SBMLNamespaces *sbmlns) :
+ mId ( "" )
+ , mName ( "" )
+ , mMetaId ( "" )
+- , mNotes ( NULL )
+- , mAnnotation( NULL )
+- , mSBML ( NULL )
+- , mSBMLNamespaces (NULL)
+- , mUserData(NULL)
++ , mNotes ( 0 )
++ , mAnnotation( 0 )
++ , mSBML ( 0 )
++ , mSBMLNamespaces (0)
++ , mUserData(0)
+ , mSBOTerm ( -1 )
+ , mLine ( 0 )
+ , mColumn ( 0 )
+- , mParentSBMLObject (NULL)
+- , mCVTerms ( NULL )
+- , mHistory ( NULL )
++ , mParentSBMLObject (0)
++ , mCVTerms ( 0 )
++ , mHistory ( 0 )
+ , mHasBeenDeleted (false)
+ , mEmptyString ("")
+ , mURI("")
+@@ -416,17 +416,17 @@ SBase::SBase(const SBase& orig)
+ : mId (orig.mId)
+ , mName (orig.mName)
+ , mMetaId (orig.mMetaId)
+- , mNotes (NULL)
+- , mAnnotation (NULL)
+- , mSBML (NULL)
+- , mSBMLNamespaces(NULL)
++ , mNotes (0)
++ , mAnnotation (0)
++ , mSBML (0)
++ , mSBMLNamespaces(0)
+ , mUserData(orig.mUserData)
+ , mSBOTerm(orig.mSBOTerm)
+ , mLine(orig.mLine)
+ , mColumn(orig.mColumn)
+- , mParentSBMLObject(NULL)
+- , mCVTerms(NULL)
+- , mHistory(NULL)
++ , mParentSBMLObject(0)
++ , mCVTerms(0)
++ , mHistory(0)
+ , mHasBeenDeleted(false)
+ , mEmptyString()
+ , mPlugins(orig.mPlugins.size())
+@@ -439,17 +439,17 @@ SBase::SBase(const SBase& orig)
+ , mElementsOfUnknownPkg (orig.mElementsOfUnknownPkg)
+ , mElementsOfUnknownDisabledPkg (orig.mElementsOfUnknownDisabledPkg)
+ {
+- if(orig.mNotes != NULL)
++ if(orig.mNotes != 0)
+ this->mNotes = new XMLNode(*const_cast<SBase&>(orig).getNotes());
+
+- if(orig.mAnnotation != NULL)
++ if(orig.mAnnotation != 0)
+ this->mAnnotation = new XMLNode(*const_cast<SBase&>(orig).mAnnotation);
+
+- if(orig.getSBMLNamespaces() != NULL)
++ if(orig.getSBMLNamespaces() != 0)
+ this->mSBMLNamespaces =
+ new SBMLNamespaces(*const_cast<SBase&>(orig).getSBMLNamespaces());
+
+- if(orig.mCVTerms != NULL)
++ if(orig.mCVTerms != 0)
+ {
+ this->mCVTerms = new List();
+ unsigned int iMax = orig.mCVTerms->getSize();
+@@ -460,7 +460,7 @@ SBase::SBase(const SBase& orig)
+ }
+ }
+
+- if (orig.mHistory != NULL)
++ if (orig.mHistory != 0)
+ {
+ this->mHistory = orig.mHistory->clone();
+ }
+@@ -481,10 +481,10 @@ SBase::SBase(const SBase& orig)
+ */
+ SBase::~SBase ()
+ {
+- if (mNotes != NULL) delete mNotes;
+- if (mAnnotation != NULL) delete mAnnotation;
+- if (mSBMLNamespaces != NULL) delete mSBMLNamespaces;
+- if (mCVTerms != NULL)
++ if (mNotes != 0) delete mNotes;
++ if (mAnnotation != 0) delete mAnnotation;
++ if (mSBMLNamespaces != 0) delete mSBMLNamespaces;
++ if (mCVTerms != 0)
+ {
+ unsigned int size = mCVTerms->getSize();
+ while (size > 0)
+@@ -494,7 +494,7 @@ SBase::~SBase ()
+ }
+ delete mCVTerms;
+ }
+- if (mHistory != NULL) delete mHistory;
++ if (mHistory != 0) delete mHistory;
+ mHasBeenDeleted = true;
+
+ for_each( mPlugins.begin(), mPlugins.end(), DeletePluginEntity() );
+@@ -514,17 +514,17 @@ SBase& SBase::operator=(const SBase& rhs)
+
+ delete this->mNotes;
+
+- if(rhs.mNotes != NULL)
++ if(rhs.mNotes != 0)
+ this->mNotes = new XMLNode(*const_cast<SBase&>(rhs).getNotes());
+ else
+- this->mNotes = NULL;
++ this->mNotes = 0;
+
+ delete this->mAnnotation;
+
+- if(rhs.mAnnotation != NULL)
++ if(rhs.mAnnotation != 0)
+ this->mAnnotation = new XMLNode(*const_cast<SBase&>(rhs).mAnnotation);
+ else
+- this->mAnnotation = NULL;
++ this->mAnnotation = 0;
+
+ this->mSBML = rhs.mSBML;
+ this->mSBOTerm = rhs.mSBOTerm;
+@@ -539,21 +539,21 @@ SBase& SBase::operator=(const SBase& rhs)
+
+ delete this->mSBMLNamespaces;
+
+- if(rhs.mSBMLNamespaces != NULL)
++ if(rhs.mSBMLNamespaces != 0)
+ this->mSBMLNamespaces =
+ new SBMLNamespaces(*const_cast<SBase&>(rhs).mSBMLNamespaces);
+ else
+- this->mSBMLNamespaces = NULL;
++ this->mSBMLNamespaces = 0;
+
+
+- if(this->mCVTerms != NULL)
++ if(this->mCVTerms != 0)
+ {
+ unsigned int size = this->mCVTerms->getSize();
+ while (size--) delete static_cast<CVTerm*>( this->mCVTerms->remove(0) );
+ delete this->mCVTerms;
+ }
+
+- if(rhs.mCVTerms != NULL)
++ if(rhs.mCVTerms != 0)
+ {
+ this->mCVTerms = new List();
+ unsigned int iMax = rhs.mCVTerms->getSize();
+@@ -565,17 +565,17 @@ SBase& SBase::operator=(const SBase& rhs)
+ }
+ else
+ {
+- this->mCVTerms = NULL;
++ this->mCVTerms = 0;
+ }
+
+ delete this->mHistory;
+- if (rhs.mHistory != NULL)
++ if (rhs.mHistory != 0)
+ {
+ this->mHistory = rhs.mHistory->clone();
+ }
+ else
+ {
+- this->mHistory = NULL;
++ this->mHistory = 0;
+ }
+
+ this->mHasBeenDeleted = rhs.mHasBeenDeleted;
+@@ -630,7 +630,7 @@ SBase::loadPlugins(SBMLNamespaces *sbmlns)
+ const std::string &prefix = xmlns->getPrefix(i);
+ const SBasePluginCreatorBase* sbPluginCreator = sbmlext->getSBasePluginCreator(extPoint);
+
+- if (sbPluginCreator == NULL)
++ if (sbPluginCreator == 0)
+ {
+ sbPluginCreator = sbmlext->getSBasePluginCreator(genericPoint);
+ }
+@@ -824,12 +824,12 @@ SBase::getURI() const
+ const string &package = getPackageName();
+ const SBMLDocument* doc = getSBMLDocument();
+
+- if (doc == NULL)
++ if (doc == 0)
+ return getElementNamespace();
+
+ SBMLNamespaces* sbmlns = doc->getSBMLNamespaces();
+
+- if (sbmlns == NULL)
++ if (sbmlns == 0)
+ return getElementNamespace();
+
+ if (package == "" || package == "core")
+@@ -879,11 +879,11 @@ int
+ SBase::setUserData(void *userData)
+ {
+ this->mUserData = userData;
+- if (userData == NULL && mUserData == NULL)
++ if (userData == 0 && mUserData == 0)
+ {
+ return LIBSBML_OPERATION_SUCCESS;
+ }
+- else if (mUserData != NULL)
++ else if (mUserData != 0)
+ {
+ return LIBSBML_OPERATION_SUCCESS;
+ }
+@@ -896,7 +896,7 @@ SBase::setUserData(void *userData)
+ bool
+ SBase::isSetUserData() const
+ {
+- if (mUserData != NULL)
++ if (mUserData != 0)
+ {
+ return true;
+ }
+@@ -909,8 +909,8 @@ SBase::isSetUserData() const
+ int
+ SBase::unsetUserData()
+ {
+- this->mUserData = NULL;
+- if (mUserData == NULL)
++ this->mUserData = 0;
++ if (mUserData == 0)
+ {
+ return LIBSBML_OPERATION_SUCCESS;
+ }
+@@ -926,11 +926,11 @@ SBase::unsetUserData()
+ XMLNamespaces*
+ SBase::getNamespaces() const
+ {
+- if (mSBML != NULL)
++ if (mSBML != 0)
+ return mSBML->getSBMLNamespaces()->getNamespaces();
+- if (mSBMLNamespaces != NULL)
++ if (mSBMLNamespaces != 0)
+ return mSBMLNamespaces->getNamespaces();
+- return NULL;
++ return 0;
+ }
+
+
+@@ -942,9 +942,9 @@ SBase::getSBMLDocument () const
+ {
+ // if the doc object has been deleted the pointer is
+ // still valid but points to nothing
+- if (mSBML != NULL && mSBML->getHasBeenDeleted())
++ if (mSBML != 0 && mSBML->getHasBeenDeleted())
+ {
+- return NULL;
++ return 0;
+ }
+
+ return mSBML;
+@@ -958,9 +958,9 @@ SBase::getSBMLDocument ()
+ {
+ // if the doc object has been deleted the pointer is
+ // still valid but points to nothing
+- if (mSBML != NULL && mSBML->getHasBeenDeleted())
++ if (mSBML != 0 && mSBML->getHasBeenDeleted())
+ {
+- return NULL;
++ return 0;
+ }
+ return mSBML;
+ }
+@@ -969,9 +969,9 @@ SBase::getParentSBMLObject ()
+ {
+ // if the parent object has been deleted the pointer is
+ // still valid but points to nothing
+- if (mParentSBMLObject != NULL && mParentSBMLObject->getHasBeenDeleted())
++ if (mParentSBMLObject != 0 && mParentSBMLObject->getHasBeenDeleted())
+ {
+- return NULL;
++ return 0;
+ }
+
+ return mParentSBMLObject;
+@@ -982,9 +982,9 @@ SBase::getParentSBMLObject () const
+ {
+ // if the parent object has been deleted the pointer is
+ // still valid but points to nothing
+- if (mParentSBMLObject != NULL && mParentSBMLObject->getHasBeenDeleted())
++ if (mParentSBMLObject != 0 && mParentSBMLObject->getHasBeenDeleted())
+ {
+- return NULL;
++ return 0;
+ }
+
+ return mParentSBMLObject;
+@@ -1068,26 +1068,26 @@ SBase::getModelHistory()
+ Date*
+ SBase::getCreatedDate() const
+ {
+- return (mHistory != NULL) ? mHistory->getCreatedDate() : NULL;
++ return (mHistory != 0) ? mHistory->getCreatedDate() : 0;
+ }
+
+ Date*
+ SBase::getCreatedDate()
+ {
+- return (mHistory != NULL) ? mHistory->getCreatedDate() : NULL;
++ return (mHistory != 0) ? mHistory->getCreatedDate() : 0;
+ }
+
+
+ Date*
+ SBase::getModifiedDate(unsigned int n)
+ {
+- return (mHistory != NULL) ? mHistory->getModifiedDate(n) : NULL;
++ return (mHistory != 0) ? mHistory->getModifiedDate(n) : 0;
+ }
+
+ unsigned int
+ SBase::getNumModifiedDates()
+ {
+- return (mHistory != NULL) ? mHistory->getNumModifiedDates() : NULL;
++ return (mHistory != 0) ? mHistory->getNumModifiedDates() : 0;
+ }
+
+
+@@ -1142,7 +1142,7 @@ SBase::isSetIdAttribute () const
+ bool
+ SBase::isSetNotes () const
+ {
+- return (mNotes != NULL);
++ return (mNotes != 0);
+ }
+
+
+@@ -1154,7 +1154,7 @@ bool
+ SBase::isSetAnnotation () const
+ {
+ const_cast <SBase *> (this)->syncAnnotation();
+- return (mAnnotation != NULL);
++ return (mAnnotation != 0);
+ }
+
+
+@@ -1172,14 +1172,14 @@ SBase::isSetSBOTerm () const
+ bool
+ SBase::isSetModelHistory() const
+ {
+- return (mHistory != NULL);
++ return (mHistory != 0);
+ }
+
+
+ bool
+ SBase::isSetCreatedDate() const
+ {
+- return (mHistory == NULL) ? false : mHistory->isSetCreatedDate();
++ return (mHistory == 0) ? false : mHistory->isSetCreatedDate();
+ }
+
+
+@@ -1187,7 +1187,7 @@ SBase::isSetCreatedDate() const
+ bool
+ SBase::isSetModifiedDate() const
+ {
+- return (mHistory == NULL) ? false : mHistory->isSetModifiedDate();
++ return (mHistory == 0) ? false : mHistory->isSetModifiedDate();
+ }
+
+
+@@ -1304,10 +1304,10 @@ SBase::setAnnotation (const XMLNode* annotation)
+ //
+ //
+
+- if (annotation == NULL)
++ if (annotation == 0)
+ {
+ delete mAnnotation;
+- mAnnotation = NULL;
++ mAnnotation = 0;
+ }
+
+
+@@ -1321,7 +1321,7 @@ SBase::setAnnotation (const XMLNode* annotation)
+ || RDFAnnotationParser::hasHistoryRDFAnnotation(annotation) == true)
+ && isSetMetaId() == false)
+ {
+- mAnnotation = NULL;
++ mAnnotation = 0;
+ return LIBSBML_MISSING_METAID;
+ }
+ else
+@@ -1363,24 +1363,24 @@ SBase::setAnnotation (const XMLNode* annotation)
+ // delete existing mCVTerms
+ //
+ // existing CVTerms (if any) needs to be deleted at any rate, otherwise
+- // unsetAnnotation() ( setAnnotation(NULL) ) doesn't work as expected.
++ // unsetAnnotation() ( setAnnotation(0) ) doesn't work as expected.
+ // (These functions must clear all elements in an annotation.)
+ //
+
+ /* in L3 might be a model history */
+- if (mHistory != NULL)
++ if (mHistory != 0)
+ {
+ delete mHistory;
+- mHistory = NULL;
++ mHistory = 0;
+ }
+
+- if (mCVTerms != NULL)
++ if (mCVTerms != 0)
+ {
+ // delete existing mCVTerms (if any)
+ unsigned int size = mCVTerms->getSize();
+ while (size--) delete static_cast<CVTerm*>( mCVTerms->remove(0) );
+ delete mCVTerms;
+- mCVTerms = NULL;
++ mCVTerms = 0;
+ }
+
+ unsigned int level = getLevel();
+@@ -1392,7 +1392,7 @@ SBase::setAnnotation (const XMLNode* annotation)
+ validNestedTerms = false;
+ }
+
+- if(mAnnotation != NULL
++ if(mAnnotation != 0
+ && RDFAnnotationParser::hasCVTermRDFAnnotation(mAnnotation))
+ {
+ // parse mAnnotation (if any) and set mCVTerms
+@@ -1416,7 +1416,7 @@ SBase::setAnnotation (const XMLNode* annotation)
+ mCVTermsChanged = true;
+ }
+
+- if(getLevel() > 2 && mAnnotation != NULL
++ if(getLevel() > 2 && mAnnotation != 0
+ && RDFAnnotationParser::hasHistoryRDFAnnotation(mAnnotation))
+ {
+ // parse mAnnotation (if any) and set mHistory
+@@ -1457,7 +1457,7 @@ SBase::setAnnotation (const std::string& annotation)
+ XMLNode* annt_xmln;
+
+ // you might not have a document !!
+- if (getSBMLDocument() != NULL)
++ if (getSBMLDocument() != 0)
+ {
+ const XMLNamespaces* xmlns = getSBMLDocument()->getNamespaces();
+ annt_xmln = XMLNode::convertStringToXMLNode(annotation,xmlns);
+@@ -1467,7 +1467,7 @@ SBase::setAnnotation (const std::string& annotation)
+ annt_xmln = XMLNode::convertStringToXMLNode(annotation);
+ }
+
+- if(annt_xmln != NULL)
++ if(annt_xmln != 0)
+ {
+ success = setAnnotation(annt_xmln);
+ delete annt_xmln;
+@@ -1498,13 +1498,13 @@ SBase::appendAnnotation (const XMLNode* annotation)
+ // see bug reported via libsbml-team
+ // https://www.pivotaltracker.com/story/show/166576120
+
+- if (getNumCVTerms() > 0 && mAnnotation == NULL)
++ if (getNumCVTerms() > 0 && mAnnotation == 0)
+ {
+ syncAnnotation();
+ }
+
+
+- if(annotation == NULL)
++ if(annotation == 0)
+ return LIBSBML_OPERATION_SUCCESS;
+
+ // the annotation is an rdf annotation but the object has no metaid
+@@ -1516,7 +1516,7 @@ SBase::appendAnnotation (const XMLNode* annotation)
+ return LIBSBML_MISSING_METAID;
+ }
+
+- XMLNode* new_annotation = NULL;
++ XMLNode* new_annotation = 0;
+ const string& name = annotation->getName();
+
+ // check for annotation tags and add if necessary
+@@ -1532,7 +1532,7 @@ SBase::appendAnnotation (const XMLNode* annotation)
+ }
+
+
+- if (mAnnotation != NULL)
++ if (mAnnotation != 0)
+ {
+ // if mAnnotation is just <annotation/> need to tell
+ // it to no longer be an end
+@@ -1607,14 +1607,14 @@ SBase::appendAnnotation (const std::string& annotation
+ // see bug reported via libsbml-team
+ // https://www.pivotaltracker.com/story/show/166576120
+
+- if (getNumCVTerms() > 0 && mAnnotation == NULL)
++ if (getNumCVTerms() > 0 && mAnnotation == 0)
+ {
+ syncAnnotation();
+ }
+
+ int success = LIBSBML_OPERATION_FAILED;
+ XMLNode* annt_xmln;
+- if (getSBMLDocument() != NULL)
++ if (getSBMLDocument() != 0)
+ {
+ const XMLNamespaces* xmlns = getSBMLDocument()->getNamespaces();
+ annt_xmln = XMLNode::convertStringToXMLNode(annotation,xmlns);
+@@ -1624,7 +1624,7 @@ SBase::appendAnnotation (const std::string& annotation
+ annt_xmln = XMLNode::convertStringToXMLNode(annotation);
+ }
+
+- if(annt_xmln != NULL)
++ if(annt_xmln != 0)
+ {
+ success = appendAnnotation(annt_xmln);
+ delete annt_xmln;
+@@ -1640,7 +1640,7 @@ SBase::removeTopLevelAnnotationElement(const std::stri
+ {
+
+ int success = LIBSBML_OPERATION_FAILED;
+- if (mAnnotation == NULL)
++ if (mAnnotation == 0)
+ {
+ success = LIBSBML_OPERATION_SUCCESS;
+ return success;
+@@ -1694,11 +1694,11 @@ SBase::removeTopLevelAnnotationElement(const std::stri
+ if (removeEmpty && mAnnotation->getNumChildren() == 0)
+ {
+ delete mAnnotation;
+- mAnnotation = NULL;
++ mAnnotation = 0;
+ }
+
+ // check success
+- if (mAnnotation == NULL || mAnnotation->getIndex(elementName) < 0)
++ if (mAnnotation == 0 || mAnnotation->getIndex(elementName) < 0)
+ {
+ success = LIBSBML_OPERATION_SUCCESS;
+ }
+@@ -1712,7 +1712,7 @@ int
+ SBase::replaceTopLevelAnnotationElement(const XMLNode* annotation)
+ {
+ int success = LIBSBML_OPERATION_FAILED;
+- XMLNode * replacement = NULL;
++ XMLNode * replacement = 0;
+ if (annotation->getName() == "annotation")
+ {
+ if (annotation->getNumChildren() != 1)
+@@ -1747,7 +1747,7 @@ SBase::replaceTopLevelAnnotationElement(const std::str
+ {
+ int success = LIBSBML_OPERATION_FAILED;
+ XMLNode* annt_xmln;
+- if (getSBMLDocument() != NULL)
++ if (getSBMLDocument() != 0)
+ {
+ const XMLNamespaces* xmlns = getSBMLDocument()->getNamespaces();
+ annt_xmln = XMLNode::convertStringToXMLNode(annotation,xmlns);
+@@ -1757,7 +1757,7 @@ SBase::replaceTopLevelAnnotationElement(const std::str
+ annt_xmln = XMLNode::convertStringToXMLNode(annotation);
+ }
+
+- if(annt_xmln != NULL)
++ if(annt_xmln != 0)
+ {
+ success = replaceTopLevelAnnotationElement(annt_xmln);
+ }
+@@ -1778,10 +1778,10 @@ SBase::setNotes(const XMLNode* notes)
+ {
+ return LIBSBML_OPERATION_SUCCESS;
+ }
+- else if (notes == NULL)
++ else if (notes == 0)
+ {
+ delete mNotes;
+- mNotes = NULL;
++ mNotes = 0;
+ return LIBSBML_OPERATION_SUCCESS;
+ }
+
+@@ -1831,7 +1831,7 @@ SBase::setNotes(const XMLNode* notes)
+ && !SyntaxChecker::hasExpectedXHTMLSyntax(mNotes, getSBMLNamespaces()))
+ {
+ delete mNotes;
+- mNotes = NULL;
++ mNotes = 0;
+ return LIBSBML_INVALID_OBJECT;
+ }
+
+@@ -1855,7 +1855,7 @@ SBase::setNotes(const std::string& notes, bool addXHTM
+ XMLNode* notes_xmln;
+
+ // you might not have a document !!
+- if (getSBMLDocument() != NULL)
++ if (getSBMLDocument() != 0)
+ {
+ const XMLNamespaces* xmlns = getSBMLDocument()->getNamespaces();
+ notes_xmln = XMLNode::convertStringToXMLNode(notes,xmlns);
+@@ -1865,7 +1865,7 @@ SBase::setNotes(const std::string& notes, bool addXHTM
+ notes_xmln = XMLNode::convertStringToXMLNode(notes);
+ }
+
+- if(notes_xmln != NULL)
++ if(notes_xmln != 0)
+ {
+ if (addXHTMLMarkup == true)
+ {
+@@ -1923,7 +1923,7 @@ int
+ SBase::appendNotes(const XMLNode* notes)
+ {
+ int success = LIBSBML_OPERATION_FAILED;
+- if(notes == NULL)
++ if(notes == 0)
+ {
+ return LIBSBML_OPERATION_SUCCESS;
+ }
+@@ -2079,7 +2079,7 @@ SBase::appendNotes(const XMLNode* notes)
+ }
+
+
+- if ( mNotes != NULL )
++ if ( mNotes != 0 )
+ {
+ //------------------------------------------------------------
+ //
+@@ -2272,7 +2272,7 @@ SBase::appendNotes(const std::string& notes)
+
+ XMLNode* notes_xmln;
+ // you might not have a document !!
+- if (getSBMLDocument() != NULL)
++ if (getSBMLDocument() != 0)
+ {
+ const XMLNamespaces* xmlns = getSBMLDocument()->getNamespaces();
+ notes_xmln = XMLNode::convertStringToXMLNode(notes,xmlns);
+@@ -2282,7 +2282,7 @@ SBase::appendNotes(const std::string& notes)
+ notes_xmln = XMLNode::convertStringToXMLNode(notes);
+ }
+
+- if(notes_xmln != NULL)
++ if(notes_xmln != 0)
+ {
+ success = appendNotes(notes_xmln);
+ delete notes_xmln;
+@@ -2297,7 +2297,7 @@ SBase::setModelHistory(ModelHistory * history)
+ // if there is no parent then the required attributes are not
+ // correctly identified
+ bool dummyParent = false;
+- if (history != NULL && history->getParentSBMLObject() == NULL)
++ if (history != 0 && history->getParentSBMLObject() == 0)
+ {
+ history->setParentSBMLObject(this);
+ dummyParent = true;
+@@ -2324,17 +2324,17 @@ SBase::setModelHistory(ModelHistory * history)
+ {
+ status = LIBSBML_OPERATION_SUCCESS;
+ }
+- else if (history == NULL)
++ else if (history == 0)
+ {
+ delete mHistory;
+- mHistory = NULL;
++ mHistory = 0;
+ mHistoryChanged = true;
+ status = LIBSBML_OPERATION_SUCCESS;
+ }
+ else if (!(history->hasRequiredAttributes()))
+ {
+ delete mHistory;
+- mHistory = NULL;
++ mHistory = 0;
+ status = LIBSBML_INVALID_OBJECT;
+ }
+ else
+@@ -2355,7 +2355,7 @@ SBase::setModelHistory(ModelHistory * history)
+ int
+ SBase::setCreatedDate(Date* date)
+ {
+- if (mHistory != NULL)
++ if (mHistory != 0)
+ {
+ return mHistory->setCreatedDate(date);
+ }
+@@ -2372,7 +2372,7 @@ SBase::setCreatedDate(Date* date)
+ int
+ SBase::addModifiedDate(Date* date)
+ {
+- if (mHistory != NULL)
++ if (mHistory != 0)
+ {
+ return mHistory->addModifiedDate(date);
+ }
+@@ -2459,7 +2459,7 @@ SBase::getAncestorOfType(int type, const std::string&
+ SBase *child;
+ SBase *parent = getParentSBMLObject();
+
+- while ( parent != NULL &&
++ while ( parent != 0 &&
+ !( parent->getPackageName() == "core" &&
+ parent->getTypeCode() == SBML_DOCUMENT )
+ )
+@@ -2474,7 +2474,7 @@ SBase::getAncestorOfType(int type, const std::string&
+ }
+
+ // if we get here we havent found an ancestor of this type
+- return NULL;
++ return 0;
+
+ }
+
+@@ -2488,7 +2488,7 @@ SBase::getAncestorOfType(int type, const std::string p
+ const SBase *child;
+ const SBase *parent = getParentSBMLObject();
+
+- while ( parent != NULL &&
++ while ( parent != 0 &&
+ !( parent->getPackageName() == "core" &&
+ parent->getTypeCode() == SBML_DOCUMENT )
+ )
+@@ -2503,7 +2503,7 @@ SBase::getAncestorOfType(int type, const std::string p
+ }
+
+ // if we get here we havent found an ancestor of this type
+- return NULL;
++ return 0;
+
+ }
+
+@@ -2549,9 +2549,9 @@ SBase::setSBOTerm (const std::string &sboid)
+ int
+ SBase::setNamespaces(XMLNamespaces* xmlns)
+ {
+- if (xmlns == NULL)
++ if (xmlns == 0)
+ {
+- mSBMLNamespaces->setNamespaces(NULL);
++ mSBMLNamespaces->setNamespaces(0);
+ return LIBSBML_OPERATION_SUCCESS;
+ }
+ else
+@@ -2672,7 +2672,7 @@ int
+ SBase::unsetNotes ()
+ {
+ delete mNotes;
+- mNotes = NULL;
++ mNotes = 0;
+ return LIBSBML_OPERATION_SUCCESS;
+ }
+
+@@ -2683,7 +2683,7 @@ SBase::unsetNotes ()
+ int
+ SBase::unsetAnnotation ()
+ {
+- const XMLNode* empty = NULL;
++ const XMLNode* empty = 0;
+ return setAnnotation(empty);
+ }
+
+@@ -2752,7 +2752,7 @@ int SBase::addTermToExistingBag(CVTerm *term, Qualifie
+ unsigned int added = 0;
+ unsigned int length = mCVTerms->getSize();
+
+- CVTerm* nthTerm = NULL;
++ CVTerm* nthTerm = 0;
+
+ if (length == 0) return (int)added;
+
+@@ -2764,7 +2764,7 @@ int SBase::addTermToExistingBag(CVTerm *term, Qualifie
+ {
+ nthTerm = static_cast <CVTerm *>(mCVTerms->get((unsigned int)n));
+
+- if (nthTerm != NULL && biol == nthTerm->getBiologicalQualifierType())
++ if (nthTerm != 0 && biol == nthTerm->getBiologicalQualifierType())
+ {
+ for (int r = 0; r < term->getResources()->getLength(); r++)
+ {
+@@ -2783,7 +2783,7 @@ int SBase::addTermToExistingBag(CVTerm *term, Qualifie
+ {
+ nthTerm = static_cast <CVTerm *>(mCVTerms->get(n));
+
+- if (nthTerm != NULL && model == nthTerm->getModelQualifierType())
++ if (nthTerm != 0 && model == nthTerm->getModelQualifierType())
+ {
+ for (int r = 0; r < term->getResources()->getLength(); r++)
+ {
+@@ -2811,7 +2811,7 @@ SBase::addCVTerm(CVTerm * term, bool newBag)
+ return LIBSBML_MISSING_METAID;
+ }
+
+- if (term == NULL)
++ if (term == 0)
+ {
+ return LIBSBML_OPERATION_FAILED;
+ }
+@@ -2825,7 +2825,7 @@ SBase::addCVTerm(CVTerm * term, bool newBag)
+ */
+ CVTerm * copyTerm = term->clone();
+
+- if (mCVTerms == NULL)
++ if (mCVTerms == 0)
+ {
+ mCVTerms = new List();
+ mCVTerms->add((void *) term->clone());
+@@ -2890,7 +2890,7 @@ SBase::getCVTerms() const
+ unsigned int
+ SBase::getNumCVTerms() const
+ {
+- if (mCVTerms != NULL)
++ if (mCVTerms != 0)
+ {
+ return mCVTerms->getSize();
+ }
+@@ -2912,7 +2912,7 @@ SBase::getNumCVTerms() const
+ CVTerm*
+ SBase::getCVTerm(unsigned int n)
+ {
+- return (mCVTerms) ? static_cast <CVTerm*> (mCVTerms->get(n)) : NULL;
++ return (mCVTerms) ? static_cast <CVTerm*> (mCVTerms->get(n)) : 0;
+ }
+
+
+@@ -2923,16 +2923,16 @@ SBase::getCVTerm(unsigned int n)
+ int
+ SBase::unsetCVTerms()
+ {
+- if (mCVTerms != NULL)
++ if (mCVTerms != 0)
+ {
+ unsigned int size = mCVTerms->getSize();
+ while (size--) delete static_cast<CVTerm*>( mCVTerms->remove(0) );
+ delete mCVTerms;
+ mCVTermsChanged = true;
+ }
+- mCVTerms = NULL;
++ mCVTerms = 0;
+
+- if (mCVTerms != NULL)
++ if (mCVTerms != 0)
+ return LIBSBML_OPERATION_FAILED;
+ else
+ return LIBSBML_OPERATION_SUCCESS;
+@@ -2942,11 +2942,11 @@ SBase::unsetCVTerms()
+ int
+ SBase::unsetModelHistory()
+ {
+- if (mHistory != NULL)
++ if (mHistory != 0)
+ mHistoryChanged = true;
+
+ delete mHistory;
+- mHistory = NULL;
++ mHistory = 0;
+
+ /* ModelHistory is only allowed on Model in L2
+ * but on any element in L3
+@@ -2956,7 +2956,7 @@ SBase::unsetModelHistory()
+ return LIBSBML_UNEXPECTED_ATTRIBUTE;
+ }
+
+- if (mHistory != NULL)
++ if (mHistory != 0)
+ {
+ return LIBSBML_OPERATION_FAILED;
+ }
+@@ -2970,7 +2970,7 @@ SBase::unsetModelHistory()
+ int
+ SBase::unsetCreatedDate()
+ {
+- if (mHistory != NULL && mHistory->isSetCreatedDate())
++ if (mHistory != 0 && mHistory->isSetCreatedDate())
+ {
+ mHistoryChanged = true;
+ }
+@@ -2989,7 +2989,7 @@ SBase::unsetCreatedDate()
+
+ Date* created = mHistory->getCreatedDate();
+ delete created;
+- mHistory->mCreatedDate = NULL;
++ mHistory->mCreatedDate = 0;
+
+ if (mHistory->isSetCreatedDate() == true)
+ {
+@@ -3005,7 +3005,7 @@ SBase::unsetCreatedDate()
+ int
+ SBase::unsetModifiedDates()
+ {
+- if (mHistory != NULL && mHistory->isSetModifiedDate())
++ if (mHistory != 0 && mHistory->isSetModifiedDate())
+ {
+ mHistoryChanged = true;
+ }
+@@ -3047,7 +3047,7 @@ SBase::unsetModifiedDates()
+ BiolQualifierType_t
+ SBase::getResourceBiologicalQualifier(std::string resource) const
+ {
+- if (mCVTerms != NULL)
++ if (mCVTerms != 0)
+ {
+ for (unsigned int n = 0; n < mCVTerms->getSize(); n++)
+ {
+@@ -3084,7 +3084,7 @@ SBase::getResourceBiologicalQualifier(std::string reso
+ ModelQualifierType_t
+ SBase::getResourceModelQualifier(std::string resource) const
+ {
+- if (mCVTerms != NULL)
++ if (mCVTerms != 0)
+ {
+ for (unsigned int n = 0; n < mCVTerms->getSize(); n++)
+ {
+@@ -3116,7 +3116,7 @@ SBase::getResourceModelQualifier(std::string resource)
+ const Model*
+ SBase::getModel () const
+ {
+- return (mSBML != NULL) ? mSBML->getModel() : NULL;
++ return (mSBML != 0) ? mSBML->getModel() : 0;
+ }
+
+
+@@ -3126,9 +3126,9 @@ SBase::getModel () const
+ unsigned int
+ SBase::getLevel () const
+ {
+- if (mSBML != NULL)
++ if (mSBML != 0)
+ return mSBML->mLevel;
+- else if (mSBMLNamespaces != NULL)
++ else if (mSBMLNamespaces != 0)
+ return mSBMLNamespaces->getLevel();
+ else
+ return SBMLDocument::getDefaultLevel();
+@@ -3141,9 +3141,9 @@ SBase::getLevel () const
+ unsigned int
+ SBase::getVersion () const
+ {
+- if (mSBML != NULL)
++ if (mSBML != 0)
+ return mSBML->mVersion;
+- else if (mSBMLNamespaces != NULL)
++ else if (mSBMLNamespaces != 0)
+ return mSBMLNamespaces->getVersion();
+ else
+ return SBMLDocument::getDefaultVersion();
+@@ -3370,7 +3370,7 @@ SBase::unsetAttribute(const std::string& attributeName
+ SBase*
+ SBase::createChildObject(const std::string& elementName)
+ {
+- return NULL;
++ return 0;
+ }
+ /** @endcond */
+
+@@ -3386,7 +3386,7 @@ SBase::addChildObject(const std::string& elementName,
+ SBase*
+ SBase::removeChildObject(const std::string& elementName, const std::string& id)
+ {
+- return NULL;
++ return 0;
+ }
+ /** @endcond */
+
+@@ -3405,7 +3405,7 @@ unsigned int
+ SBase*
+ SBase::getObject(const std::string& objectName, unsigned int index)
+ {
+- return NULL;
++ return 0;
+ }
+
+ /** @endcond */
+@@ -3433,14 +3433,14 @@ SBase::getMessageString () const
+ const ASTNode*
+ SBase::getMath() const
+ {
+- return NULL;
++ return 0;
+ }
+
+
+ bool
+ SBase::isSetMath() const
+ {
+- return getMath() != NULL;
++ return getMath() != 0;
+ }
+
+
+@@ -3567,7 +3567,7 @@ SBase::getPlugin(const std::string& package) const
+ SBasePlugin*
+ SBase::getPlugin(unsigned int n)
+ {
+- if (n>=getNumPlugins()) return NULL;
++ if (n>=getNumPlugins()) return 0;
+ return mPlugins[n];
+ }
+
+@@ -3575,7 +3575,7 @@ SBase::getPlugin(unsigned int n)
+ SBasePlugin*
+ SBase::getDisabledPlugin(unsigned int n)
+ {
+- if (n>=getNumDisabledPlugins()) return NULL;
++ if (n>=getNumDisabledPlugins()) return 0;
+ return mDisabledPlugins[n];
+ }
+
+@@ -3662,7 +3662,7 @@ SBase::enablePackage(const std::string& pkgURI, const
+ {
+ return success;
+ }
+- else if (mSBML != NULL && mSBML->isIgnoredPackage(pkgURI) == true)
++ else if (mSBML != 0 && mSBML->isIgnoredPackage(pkgURI) == true)
+ {
+ return success;
+ }
+@@ -3671,7 +3671,7 @@ SBase::enablePackage(const std::string& pkgURI, const
+ {
+ if (!isPackageURIEnabled(pkgURI))
+ {
+- if (mSBML == NULL)
++ if (mSBML == 0)
+ {
+ return success;
+
+@@ -3684,8 +3684,8 @@ SBase::enablePackage(const std::string& pkgURI, const
+ }
+
+ // if we are dealing with an unknown package it will not be in the register
+- if (mSBML == NULL
+- || (mSBML != NULL && mSBML->isIgnoredPackage(pkgURI) == false
++ if (mSBML == 0
++ || (mSBML != 0 && mSBML->isIgnoredPackage(pkgURI) == false
+ && mSBML->isDisabledIgnoredPackage(pkgURI) == false))
+ {
+ //
+@@ -3787,9 +3787,9 @@ SBase::enablePackageInternal(const std::string& pkgURI
+ SBaseExtensionPoint extPoint(getPackageName(), getTypeCode(), getElementName());
+ const SBasePluginCreatorBase* sbPluginCreator = sbmlext->getSBasePluginCreator(extPoint);
+ // trully awful hack for the case where we are adding a plugin to a modelDefinition
+- // since these do not have plugins the plugin creator is NULL
++ // since these do not have plugins the plugin creator is 0
+ // we have to force it to realise it is also a core model
+- if (sbPluginCreator == NULL && getPackageName() == "comp" && getElementName() == "modelDefinition")
++ if (sbPluginCreator == 0 && getPackageName() == "comp" && getElementName() == "modelDefinition")
+ {
+ SBaseExtensionPoint coreextPoint("core", SBML_MODEL, "model");
+ sbPluginCreator = sbmlext->getSBasePluginCreator(coreextPoint);
+@@ -4165,7 +4165,7 @@ SBase::hasValidLevelVersionNamespaceCombination(int ty
+ std::string declaredURI("");
+ unsigned int version = getVersion();
+
+- if (xmlns != NULL)
++ if (xmlns != 0)
+ {
+ //
+ // checks defined SBML XMLNamespace
+@@ -4383,7 +4383,7 @@ SBase::hasValidLevelVersionNamespaceCombination(int ty
+ // if this is an extension namespace, this method will return the wrong answer,
+ // so instead return true
+ const ISBMLExtensionNamespaces* test = dynamic_cast<ISBMLExtensionNamespaces*> (mSBMLNamespaces);
+- if (!valid && test != NULL)
++ if (!valid && test != 0)
+ return true;
+
+ return valid;
+@@ -4393,7 +4393,7 @@ SBase::hasValidLevelVersionNamespaceCombination(int ty
+ int
+ SBase::setSBMLNamespaces(const SBMLNamespaces * sbmlns)
+ {
+- if (sbmlns == NULL)
++ if (sbmlns == 0)
+ return LIBSBML_INVALID_OBJECT;
+
+ SBMLNamespaces* sbmlnsClone = (sbmlns) ? sbmlns->clone() : 0;
+@@ -4412,7 +4412,7 @@ SBase::setSBMLNamespacesAndOwn(SBMLNamespaces * sbmlns
+ delete mSBMLNamespaces;
+ mSBMLNamespaces = sbmlns;
+
+- if(sbmlns != NULL)
++ if(sbmlns != 0)
+ setElementNamespace(sbmlns->getURI());
+ }
+
+@@ -4421,11 +4421,11 @@ SBase::setSBMLNamespacesAndOwn(SBMLNamespaces * sbmlns
+ SBMLNamespaces *
+ SBase::getSBMLNamespaces() const
+ {
+- if (mSBML != NULL)
++ if (mSBML != 0)
+ return mSBML->mSBMLNamespaces;
+
+ // initialize SBML namespace if need be
+- if (mSBMLNamespaces == NULL)
++ if (mSBMLNamespaces == 0)
+ const_cast<SBase*>(this)->mSBMLNamespaces = new SBMLNamespaces();
+ return mSBMLNamespaces;
+ }
+@@ -4478,7 +4478,7 @@ SBase::read (XMLInputStream& stream)
+ // remembering the horrible situation where the sbmlns might be declared
+ // with more than one prefix
+ const XMLNamespaces * xmlns = this->getSBMLNamespaces()->getNamespaces();
+- if (xmlns != NULL)
++ if (xmlns != 0)
+ {
+ int i = xmlns->getIndexByPrefix(element.getPrefix());
+ if (i < xmlns->getNumNamespaces())
+@@ -4550,7 +4550,7 @@ SBase::read (XMLInputStream& stream)
+ {
+ if (CallbackRegistry::invokeCallbacks(getSBMLDocument()) != LIBSBML_OPERATION_SUCCESS)
+ {
+- if (getErrorLog() != NULL && !getErrorLog()->contains(OperationInterrupted))
++ if (getErrorLog() != 0 && !getErrorLog()->contains(OperationInterrupted))
+ logError(OperationInterrupted, getLevel(), getVersion());
+ break;
+ }
+@@ -4581,14 +4581,14 @@ SBase::read (XMLInputStream& stream)
+ << stream.peek().getURI() << endl;
+ #endif
+
+- SBase * object = NULL;
++ SBase * object = 0;
+ try
+ {
+ object = createObject(stream);
+ }
+ catch (const SBMLExtensionException&)
+ {
+- object = NULL;
++ object = 0;
+ }
+
+ if (!object)
+@@ -4596,7 +4596,7 @@ SBase::read (XMLInputStream& stream)
+ object = createExtensionObject(stream);
+ }
+
+- if (object != NULL)
++ if (object != 0)
+ {
+ checkOrderAndLogError(object, position);
+ position = object->getElementPosition();
+@@ -4684,7 +4684,7 @@ SBase::write (XMLOutputStream& stream) const
+ void
+ SBase::writeElements (XMLOutputStream& stream) const
+ {
+- if (mNotes != NULL)
++ if (mNotes != 0)
+ {
+ mNotes->writeToStream(stream);
+ }
+@@ -4694,7 +4694,7 @@ SBase::writeElements (XMLOutputStream& stream) const
+ */
+
+ const_cast <SBase *> (this)->syncAnnotation();
+- if (mAnnotation != NULL) stream << *mAnnotation;
++ if (mAnnotation != 0) stream << *mAnnotation;
+ }
+
+ void
+@@ -4733,19 +4733,19 @@ SBase::writeExtensionElements (XMLOutputStream& stream
+ * XMLInputStream.
+ *
+ * @return the SBML object corresponding to next XMLToken in the
+- * XMLInputStream or @c NULL if the token was not recognized.
++ * XMLInputStream or @c 0 if the token was not recognized.
+ */
+ SBase*
+ SBase::createObject (XMLInputStream&)
+ {
+- return NULL;
++ return 0;
+ }
+
+
+ SBase*
+ SBase::createExtensionObject (XMLInputStream& stream)
+ {
+- SBase* object = NULL;
++ SBase* object = 0;
+
+ /* ---------------------------------------------------------
+ *
+@@ -4755,7 +4755,7 @@ SBase::createExtensionObject (XMLInputStream& stream)
+ */
+
+ const string& uri = stream.peek().getURI();
+- SBasePlugin* sbext = NULL;
++ SBasePlugin* sbext = 0;
+
+ for (size_t i=0; i < mPlugins.size(); i++)
+ {
+@@ -4778,14 +4778,14 @@ SBase::createExtensionObject (XMLInputStream& stream)
+ }
+ catch (const SBMLExtensionException&)
+ {
+- object = NULL;
++ object = 0;
+ }
+ }
+ #if 0
+ else
+ {
+ std::cout << "[DEBUG] SBase::createExtensionObject " << getElementName()
+- << " " << uri << " is NULL" << std::endl;
++ << " " << uri << " is 0" << std::endl;
+ }
+ #endif
+
+@@ -4852,7 +4852,7 @@ SBase::readAnnotation (XMLInputStream& stream)
+ // If an annotation already exists, log it as an error and replace
+ // the content of the existing annotation with the new one.
+
+- if (mAnnotation != NULL)
++ if (mAnnotation != 0)
+ {
+ string msg = "An SBML <" + getElementName() + "> element ";
+ switch(getTypeCode()) {
+@@ -4884,7 +4884,7 @@ SBase::readAnnotation (XMLInputStream& stream)
+ delete mAnnotation;
+ mAnnotation = new XMLNode(stream);
+ checkAnnotation();
+- if(mCVTerms != NULL)
++ if(mCVTerms != 0)
+ {
+ unsigned int size = mCVTerms->getSize();
+ while (size--) delete static_cast<CVTerm*>( mCVTerms->remove(0) );
+@@ -4899,7 +4899,7 @@ SBase::readAnnotation (XMLInputStream& stream)
+ {
+ mHistory = RDFAnnotationParser::parseRDFAnnotation(mAnnotation,
+ getMetaId().c_str(), &(stream), this);
+- if (mHistory != NULL && mHistory->hasRequiredAttributes() == false)
++ if (mHistory != 0 && mHistory->hasRequiredAttributes() == false)
+ {
+ logError(RDFNotCompleteModelHistory, level, version,
+ "An invalid ModelHistory element has been stored.");
+@@ -4908,7 +4908,7 @@ SBase::readAnnotation (XMLInputStream& stream)
+ }
+ else
+ {
+- mHistory = NULL;
++ mHistory = 0;
+ }
+ }
+ if (RDFAnnotationParser::hasCVTermRDFAnnotation(mAnnotation))
+@@ -4982,7 +4982,7 @@ SBase::readNotes (XMLInputStream& stream)
+ // If an annotation element already exists, then the ordering is wrong.
+ // In either case, replace existing content with the new notes read.
+
+- if (mNotes != NULL)
++ if (mNotes != 0)
+ {
+ if (getLevel() < 3)
+ {
+@@ -4995,7 +4995,7 @@ SBase::readNotes (XMLInputStream& stream)
+ logError(OnlyOneNotesElementAllowed, getLevel(), getVersion());
+ }
+ }
+- else if (mAnnotation != NULL)
++ else if (mAnnotation != 0)
+ {
+ logError(NotSchemaConformant, getLevel(), getVersion(),
+ "Incorrect ordering of <annotation> and <notes> elements -- "
+@@ -5013,7 +5013,7 @@ SBase::readNotes (XMLInputStream& stream)
+ const XMLNamespaces &xmlns = mNotes->getNamespaces();
+ checkDefaultNamespace(&xmlns,"notes");
+
+- if (getSBMLDocument() != NULL && getSBMLDocument()->getNumErrors() == 0)
++ if (getSBMLDocument() != 0 && getSBMLDocument()->getNumErrors() == 0)
+ {
+ checkXHTML(mNotes);
+ }
+@@ -5048,7 +5048,7 @@ SBase::getElementPosition () const
+ SBMLErrorLog*
+ SBase::getErrorLog ()
+ {
+- return (mSBML != NULL) ? mSBML->getErrorLog() : NULL;
++ return (mSBML != 0) ? mSBML->getErrorLog() : 0;
+ }
+ /** @endcond */
+
+@@ -5075,7 +5075,7 @@ SBase::logUnknownAttribute( const string& attribute,
+ << " Version " << version << " Package "
+ << getPackageName() << " Version " << getPackageVersion() << " <"
+ << element << "> element.";
+- if (mSBML != NULL)
++ if (mSBML != 0)
+ {
+ getErrorLog()->logError(UnknownPackageAttribute,
+ level, version, msg.str(), getLine(), getColumn());
+@@ -5088,7 +5088,7 @@ SBase::logUnknownAttribute( const string& attribute,
+ << " Version " << version << " Package "
+ << getPackageName() << " Version " << getPackageVersion() << " <"
+ << element << "> element.";
+- if (mSBML != NULL)
++ if (mSBML != 0)
+ {
+ getErrorLog()->logError(UnknownCoreAttribute,
+ level, version, msg.str(), getLine(), getColumn());
+@@ -5462,7 +5462,7 @@ SBase::logUnknownElement( const string& element,
+ << " Package " << getPackageName()
+ << " Version " << getPackageVersion() << ".";
+
+- if (mSBML != NULL)
++ if (mSBML != 0)
+ {
+ getErrorLog()->logError(UnrecognizedElement,
+ level, version, msg1.str(), getLine(), getColumn());
+@@ -5476,7 +5476,7 @@ SBase::logUnknownElement( const string& element,
+ msg1 << "Element '" << element << "' is not part of the definition of "
+ << "SBML Level " << level << " Version " << version << ".";
+
+- if (mSBML != NULL)
++ if (mSBML != 0)
+ {
+ getErrorLog()->logError(UnrecognizedElement,
+ level, version, msg1.str(), getLine(), getColumn());
+@@ -5507,7 +5507,7 @@ SBase::logEmptyString( const string& attribute,
+ // (TODO) Needs to be fixed so that error can be added when
+ // no SBMLDocument attached.
+ //
+- if (mSBML != NULL)
++ if (mSBML != 0)
+ getErrorLog()->logError(NotSchemaConformant,
+ level, version, msg.str(), getLine(), getColumn());
+ }
+@@ -5531,7 +5531,7 @@ SBase::logError ( unsigned int id
+ // (TODO) Needs to be fixed so that error can be added when
+ // no SBMLDocument attached.
+ //
+- if ( SBase::getErrorLog() != NULL && mSBML != NULL)
++ if ( SBase::getErrorLog() != 0 && mSBML != 0)
+ getErrorLog()->logError(id, getLevel(), getVersion(), details, getLine(), getColumn());
+ }
+ /** @endcond */
+@@ -5731,7 +5731,7 @@ SBase::readExtensionAttributes (const XMLAttributes& a
+ *
+ * ----------------------------------------------------------
+ */
+- const ExpectedAttributes* base = expectedAttributes != NULL ?
++ const ExpectedAttributes* base = expectedAttributes != 0 ?
+ expectedAttributes : new ExpectedAttributes();
+
+
+@@ -5749,7 +5749,7 @@ expectedAttributes : new ExpectedAttributes();
+ mPlugins[i]->readAttributes(attributes,ea);
+ }
+
+- if (expectedAttributes == NULL )
++ if (expectedAttributes == 0 )
+ delete base;
+
+ /////////////////////////////////////////////////////////////////////////
+@@ -5810,7 +5810,7 @@ SBase::storeUnknownExtElement(XMLInputStream &stream)
+ {
+ return false;
+ }
+- else if (mSBML != NULL && mSBML->isIgnoredPackage(uri))
++ else if (mSBML != 0 && mSBML->isIgnoredPackage(uri))
+ {
+
+ XMLNode xmlnode(stream);
+@@ -5873,7 +5873,7 @@ SBase::getSBMLPrefix() const
+ std::string prefix = "";
+
+ const XMLNamespaces *xmlns = getNamespaces();
+- if (xmlns == NULL)
++ if (xmlns == 0)
+ return getPrefix();
+
+ for (int i = 0; i < xmlns->getNumNamespaces(); i++)
+@@ -5891,7 +5891,7 @@ SBase::getSBMLPrefix() const
+ *
+ * @note The root element may not be an SBMLDocument element. For example,
+ * this element is the root element if this element doesn't have a parent
+- * SBML object (i.e. mParentSBMLObject is NULL)
++ * SBML object (i.e. mParentSBMLObject is 0)
+ */
+ SBase*
+ SBase::getRootElement()
+@@ -6063,7 +6063,7 @@ SBase::syncAnnotation ()
+ {
+ // look to see whether an existing history has been altered
+ if (!mHistoryChanged
+- && getModelHistory() != NULL
++ && getModelHistory() != 0
+ && getModelHistory()->hasBeenModified()
+ )
+ {
+@@ -6088,7 +6088,7 @@ SBase::syncAnnotation ()
+ reconstructRDFAnnotation();
+ mHistoryChanged = false;
+ mCVTermsChanged = false;
+- if (getModelHistory() != NULL)
++ if (getModelHistory() != 0)
+ {
+ getModelHistory()->resetModifiedFlags();
+ }
+@@ -6098,7 +6098,7 @@ SBase::syncAnnotation ()
+ }
+ }
+
+- if (mAnnotation == NULL)
++ if (mAnnotation == 0)
+ {
+ XMLToken ann_token = XMLToken(XMLTriple("annotation", "", ""),
+ XMLAttributes());
+@@ -6112,10 +6112,10 @@ SBase::syncAnnotation ()
+ }
+
+ // if annotation still empty delete the annotation
+- if (mAnnotation != NULL && mAnnotation->getNumChildren() == 0)
++ if (mAnnotation != 0 && mAnnotation->getNumChildren() == 0)
+ {
+ delete mAnnotation;
+- mAnnotation = NULL;
++ mAnnotation = 0;
+ }
+
+ }
+@@ -6130,7 +6130,7 @@ SBase::reconstructRDFAnnotation()
+ bool hasAdditionalRDF = false;
+
+ // determine status of existing annotation before doing anything
+- if (mAnnotation != NULL)
++ if (mAnnotation != 0)
+ {
+ hasRDF = RDFAnnotationParser::hasRDFAnnotation(mAnnotation);
+ hasAdditionalRDF =
+@@ -6175,9 +6175,9 @@ SBase::reconstructRDFAnnotation()
+ }
+
+ // look at whether the user has changed the RDF elements
+- if(mAnnotation != NULL && hasRDF)
++ if(mAnnotation != 0 && hasRDF)
+ {
+- XMLNode* new_annotation = NULL;
++ XMLNode* new_annotation = 0;
+ if (mHistoryChanged == true)
+ {
+ if (mCVTermsChanged == true)
+@@ -6200,7 +6200,7 @@ SBase::reconstructRDFAnnotation()
+ }
+ }
+
+- if(new_annotation != NULL)
++ if(new_annotation != 0)
+ {
+ *mAnnotation = *new_annotation;
+ delete new_annotation;
+@@ -6212,11 +6212,11 @@ SBase::reconstructRDFAnnotation()
+
+ XMLNode * cvTerms = RDFAnnotationParser::parseCVTerms(this);
+
+- if (history != NULL && mHistoryChanged == true && mCVTermsChanged == false)
++ if (history != 0 && mHistoryChanged == true && mCVTermsChanged == false)
+ {
+- if (cvTerms == NULL)
++ if (cvTerms == 0)
+ {
+- if (mAnnotation == NULL)
++ if (mAnnotation == 0)
+ {
+ // if there was no annotation before a user added history/cvterms
+ mAnnotation = history->clone(); //noannot.xml
+@@ -6266,7 +6266,7 @@ SBase::reconstructRDFAnnotation()
+ // test file: histCVAddRDF/histCVOnly/histCVOther
+ unsigned int noChild
+ = history->getChild("RDF").getChild("Description").getNumChildren();
+- if (mAnnotation != NULL)
++ if (mAnnotation != 0)
+ for (unsigned int i = noChild; i > 0; i--)
+ {
+ ((mAnnotation->getChild("RDF")).getChild("Description")).insertChild(
+@@ -6275,11 +6275,11 @@ SBase::reconstructRDFAnnotation()
+ }
+ }
+
+- if (cvTerms != NULL && mCVTermsChanged == true && mHistoryChanged == false)
++ if (cvTerms != 0 && mCVTermsChanged == true && mHistoryChanged == false)
+ {
+- if (history == NULL)
++ if (history == 0)
+ {
+- if (mAnnotation == NULL)
++ if (mAnnotation == 0)
+ {
+ // if there was no annotation before a user added history/cvterms
+ mAnnotation = cvTerms->clone(); //noannot.xml
+@@ -6329,7 +6329,7 @@ SBase::reconstructRDFAnnotation()
+ // test file: histCVAddRDF/histCVOnly/histCVOther
+ unsigned int noChild
+ = cvTerms->getChild("RDF").getChild("Description").getNumChildren();
+- if (mAnnotation != NULL)
++ if (mAnnotation != 0)
+ for (unsigned int i = 0; i < noChild; i++)
+ {
+ ((mAnnotation->getChild("RDF")).getChild("Description")).addChild(
+@@ -6340,15 +6340,15 @@ SBase::reconstructRDFAnnotation()
+
+ if (mCVTermsChanged == true && mHistoryChanged == true)
+ {
+- if (mAnnotation == NULL)
++ if (mAnnotation == 0)
+ {
+ // if there was no annotation before a user changed history/cvterms
+ // need to catch case where user in fact unset history/cvterms
+ // test file noannot.xml
+- if (history != NULL)
++ if (history != 0)
+ {
+ mAnnotation = history->clone();
+- if (cvTerms != NULL)
++ if (cvTerms != 0)
+ {
+ unsigned int noChild
+ = cvTerms->getChild("RDF").getChild("Description").getNumChildren();
+@@ -6361,7 +6361,7 @@ SBase::reconstructRDFAnnotation()
+ }
+ else
+ {
+- if (cvTerms != NULL)
++ if (cvTerms != 0)
+ {
+ mAnnotation = cvTerms->clone();
+ }
+@@ -6385,11 +6385,11 @@ SBase::reconstructRDFAnnotation()
+ // description element
+ // <rdf><some-non-miriam-rdf> needs to become
+ // <rdf><HistoryAndCVTerms/><some-non-...
+- if (history != NULL)
++ if (history != 0)
+ {
+ mAnnotation->getChild("RDF").insertChild(0,
+ history->getChild("RDF").getChild("Description"));
+- if (cvTerms != NULL)
++ if (cvTerms != 0)
+ {
+ unsigned int noChild
+ = cvTerms->getChild("RDF").getChild("Description").getNumChildren();
+@@ -6402,7 +6402,7 @@ SBase::reconstructRDFAnnotation()
+ }
+ else
+ {
+- if (cvTerms != NULL)
++ if (cvTerms != 0)
+ {
+ mAnnotation->getChild("RDF").insertChild(0,
+ cvTerms->getChild("RDF").getChild("Description"));
+@@ -6415,10 +6415,10 @@ SBase::reconstructRDFAnnotation()
+ // empty annotation element OR one with other top level annotations
+ // <annotation/> OR <annotation><someAnnotations/>
+ // just add the whole history and cvterms
+- if (history != NULL)
++ if (history != 0)
+ {
+ mAnnotation->addChild(history->getChild("RDF"));
+- if (cvTerms != NULL)
++ if (cvTerms != 0)
+ {
+ unsigned int noChild
+ = cvTerms->getChild("RDF").getChild("Description").getNumChildren();
+@@ -6431,7 +6431,7 @@ SBase::reconstructRDFAnnotation()
+ }
+ else
+ {
+- if (cvTerms != NULL)
++ if (cvTerms != 0)
+ {
+ mAnnotation->addChild(cvTerms->getChild("RDF"));
+ }
+@@ -6442,8 +6442,8 @@ SBase::reconstructRDFAnnotation()
+ }
+
+
+- if (history != NULL) delete history;
+- if (cvTerms != NULL) delete cvTerms;
++ if (history != 0) delete history;
++ if (cvTerms != 0) delete cvTerms;
+ }
+ /** @endcond */
+
+@@ -6631,7 +6631,7 @@ SBase::checkListOfPopulated(SBase* object)
+ UnitDefinition*
+ SBase::getDerivedUnitDefinition()
+ {
+- return NULL;
++ return 0;
+ }
+ /** @endcond */
+
+@@ -6653,9 +6653,9 @@ SBase::containsUndeclaredUnits()
+ int SBase::removeFromParentAndDelete()
+ {
+ SBase* parent = getParentSBMLObject();
+- if (parent==NULL) return LIBSBML_OPERATION_FAILED;
++ if (parent==0) return LIBSBML_OPERATION_FAILED;
+ ListOf* parentList = static_cast<ListOf*>(parent);
+- if (parentList == NULL) return LIBSBML_OPERATION_FAILED;
++ if (parentList == 0) return LIBSBML_OPERATION_FAILED;
+ for (unsigned int i=0; i<parentList->size(); i++) {
+ const SBase* sibling = parentList->get(i);
+ if (sibling == this) {
+@@ -6686,7 +6686,7 @@ SBase::checkMathMLNamespace(const XMLToken &elem)
+ }
+ }
+ }
+- if (match == 0 && mSBML->getNamespaces() != NULL)
++ if (match == 0 && mSBML->getNamespaces() != 0)
+ {
+ for (n = 0; n < mSBML->getNamespaces()->getLength(); n++)
+ {
+@@ -6723,7 +6723,7 @@ SBase::checkDefaultNamespace(const XMLNamespaces* xmln
+ // checks if the given default namespace (if any) is a valid
+ // SBML namespace
+ //
+- if (xmlns == NULL || xmlns->getLength() == 0)
++ if (xmlns == 0 || xmlns->getLength() == 0)
+ return;
+
+ const std::string defaultURI = xmlns->getURI(prefix);
+@@ -6753,7 +6753,7 @@ SBase::read(const XMLNode& node, XMLErrorSeverityOverr
+
+ // set override for error messages
+ XMLErrorSeverityOverride_t old = LIBSBML_OVERRIDE_DISABLED;
+- if (log != NULL )
++ if (log != 0 )
+ {
+ old = log->getSeverityOverride();
+ log->setSeverityOverride(flag);
+@@ -6767,7 +6767,7 @@ SBase::read(const XMLNode& node, XMLErrorSeverityOverr
+ read(stream);
+
+ // restore logging
+- if (log != NULL )
++ if (log != 0 )
+ {
+ log->setSeverityOverride(old);
+ }
+@@ -6784,7 +6784,7 @@ SBase::toXMLNode()
+ // XMLNamespaces would then assign the actual default namespace, which is in most cases
+ // the SBML namespace. In that case we adjust the default namespace here
+ const ISBMLExtensionNamespaces *extns = dynamic_cast<ISBMLExtensionNamespaces*>(sbmlns);
+- if (extns != NULL)
++ if (extns != 0)
+ {
+ xmlns.remove("");
+ xmlns.add(xmlns.getURI(extns->getPackageName()), "");
+@@ -6807,7 +6807,7 @@ SBase::checkAnnotation()
+ std::vector<std::string> uri_list;
+ uri_list.clear();
+
+- if (mAnnotation == NULL) return;
++ if (mAnnotation == 0) return;
+
+ //
+ // checks if the given default namespace (if any) is a valid
+@@ -6873,7 +6873,7 @@ SBase::checkAnnotation()
+ if (topLevel.getNamespaces().getLength() == 0)
+ {
+ // not on actual element - is it explicit ??
+- if( mSBML->getNamespaces() != NULL)
++ if( mSBML->getNamespaces() != 0)
+ /* check for implicit declaration */
+ {
+ for (n = 0; n < mSBML->getNamespaces()->getLength(); n++)
+@@ -6965,7 +6965,7 @@ SBase::checkAnnotation()
+ void
+ SBase::checkXHTML(const XMLNode * xhtml)
+ {
+- if (xhtml == NULL) return;
++ if (xhtml == 0) return;
+
+ const string& name = xhtml->getName();
+ unsigned int errorNS, errorXML, errorDOC, errorELEM;
+@@ -7009,7 +7009,7 @@ SBase::checkXHTML(const XMLNode * xhtml)
+ }
+ }
+
+- const XMLNamespaces* toplevelNS = (mSBML) ? mSBML->getNamespaces() : NULL;
++ const XMLNamespaces* toplevelNS = (mSBML) ? mSBML->getNamespaces() : 0;
+
+ /*
+ * namespace declaration is variable
+@@ -7083,7 +7083,7 @@ SBase::hasRequiredElements() const
+ int
+ SBase::checkCompatibility(const SBase * object) const
+ {
+- if (object == NULL)
++ if (object == 0)
+ {
+ return LIBSBML_OPERATION_FAILED;
+ }
+@@ -7119,7 +7119,7 @@ SBase::removeDuplicateAnnotations()
+ "http://www.sbml.org/libsbml/annotation", "");
+ XMLAttributes att = XMLAttributes();
+ XMLToken token = XMLToken(triple, att, xmlns);
+- XMLNode * newNode = NULL;
++ XMLNode * newNode = 0;
+ if (isSetAnnotation())
+ {
+ //make a copy to work with
+@@ -7140,7 +7140,7 @@ SBase::removeDuplicateAnnotations()
+ {
+ resetNecessary = true;
+ duplicate = true;
+- if (newNode == NULL)
++ if (newNode == 0)
+ {
+ // need to create the new node
+ newNode = new XMLNode(token);
+@@ -7189,7 +7189,7 @@ SBase::setSBaseFields (const XMLToken& element)
+ }
+ else
+ {
+- setNamespaces(NULL);
++ setNamespaces(0);
+ }
+ }
+ /** @endcond */
+@@ -7268,13 +7268,13 @@ SBase::updateSBMLNamespace(const std::string& package,
+ getVersion());
+ std::string currentSBMLCorePrefix = "";
+
+- if (mSBMLNamespaces == NULL)
++ if (mSBMLNamespaces == 0)
+ {
+ mSBMLNamespaces = new SBMLNamespaces(level, version);
+ }
+
+
+- if (mSBMLNamespaces->getNamespaces() != NULL &&
++ if (mSBMLNamespaces->getNamespaces() != 0 &&
+ mSBMLNamespaces->getNamespaces()->getLength() > 0)
+ {
+ currentSBMLCorePrefix = mSBMLNamespaces->getNamespaces()->
+@@ -7372,7 +7372,7 @@ LIBSBML_EXTERN
+ int
+ SBase_addCVTerm(SBase_t *sb, CVTerm_t *term)
+ {
+- return (sb != NULL) ? sb->addCVTerm(term) : LIBSBML_INVALID_OBJECT;
++ return (sb != 0) ? sb->addCVTerm(term) : LIBSBML_INVALID_OBJECT;
+ }
+
+
+@@ -7380,7 +7380,7 @@ LIBSBML_EXTERN
+ int
+ SBase_addCVTermNewBag(SBase_t *sb, CVTerm_t *term)
+ {
+- return (sb != NULL) ? sb->addCVTerm(term, true) : LIBSBML_INVALID_OBJECT;
++ return (sb != 0) ? sb->addCVTerm(term, true) : LIBSBML_INVALID_OBJECT;
+ }
+
+
+@@ -7388,7 +7388,7 @@ LIBSBML_EXTERN
+ List_t*
+ SBase_getCVTerms(SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getCVTerms() : 0;
++ return (sb != 0) ? sb->getCVTerms() : 0;
+ }
+
+
+@@ -7396,21 +7396,21 @@ LIBSBML_EXTERN
+ unsigned int
+ SBase_getNumCVTerms(SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getNumCVTerms() : SBML_INT_MAX;
++ return (sb != 0) ? sb->getNumCVTerms() : SBML_INT_MAX;
+ }
+
+ LIBSBML_EXTERN
+ CVTerm_t*
+ SBase_getCVTerm(SBase_t *sb, unsigned int n)
+ {
+- return (sb != NULL) ? static_cast <CVTerm_t *> (sb->getCVTerm(n)) : NULL;
++ return (sb != 0) ? static_cast <CVTerm_t *> (sb->getCVTerm(n)) : 0;
+ }
+
+ LIBSBML_EXTERN
+ int
+ SBase_unsetCVTerms(SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->unsetCVTerms() : LIBSBML_INVALID_OBJECT;
++ return (sb != 0) ? sb->unsetCVTerms() : LIBSBML_INVALID_OBJECT;
+ }
+
+
+@@ -7418,14 +7418,14 @@ LIBSBML_EXTERN
+ ModelHistory_t *
+ SBase_getModelHistory(SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getModelHistory() : NULL;
++ return (sb != 0) ? sb->getModelHistory() : 0;
+ }
+
+ LIBSBML_EXTERN
+ int
+ SBase_isSetModelHistory(SBase_t *sb)
+ {
+- return (sb != NULL) ? static_cast<int>( sb->isSetModelHistory() ) : 0;
++ return (sb != 0) ? static_cast<int>( sb->isSetModelHistory() ) : 0;
+ }
+
+
+@@ -7433,14 +7433,14 @@ LIBSBML_EXTERN
+ int
+ SBase_setModelHistory(SBase_t *sb, ModelHistory_t *history)
+ {
+- return (sb != NULL) ? sb->setModelHistory(history) : LIBSBML_INVALID_OBJECT;
++ return (sb != 0) ? sb->setModelHistory(history) : LIBSBML_INVALID_OBJECT;
+ }
+
+ LIBSBML_EXTERN
+ int
+ SBase_unsetModelHistory(SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->unsetModelHistory() : LIBSBML_INVALID_OBJECT;
++ return (sb != 0) ? sb->unsetModelHistory() : LIBSBML_INVALID_OBJECT;
+ }
+
+
+@@ -7448,8 +7448,8 @@ LIBSBML_EXTERN
+ BiolQualifierType_t
+ SBase_getResourceBiologicalQualifier(SBase_t *sb, const char * resource)
+ {
+- if (sb != NULL)
+- return (resource != NULL) ?
++ if (sb != 0)
++ return (resource != 0) ?
+ sb->getResourceBiologicalQualifier(resource) : BQB_UNKNOWN;
+ else
+ return BQB_UNKNOWN;
+@@ -7460,8 +7460,8 @@ LIBSBML_EXTERN
+ ModelQualifierType_t
+ SBase_getResourceModelQualifier(SBase_t *sb, const char * resource)
+ {
+- if (sb != NULL)
+- return (resource != NULL) ?
++ if (sb != 0)
++ return (resource != 0) ?
+ sb->getResourceModelQualifier(resource) : BQM_UNKNOWN;
+ else
+ return BQM_UNKNOWN;
+@@ -7472,7 +7472,7 @@ LIBSBML_EXTERN
+ const char *
+ SBase_getMetaId (SBase_t *sb)
+ {
+- return (sb != NULL && sb->isSetMetaId()) ? sb->getMetaId().c_str() : NULL;
++ return (sb != 0 && sb->isSetMetaId()) ? sb->getMetaId().c_str() : 0;
+ }
+
+
+@@ -7480,7 +7480,7 @@ LIBSBML_EXTERN
+ const char *
+ SBase_getIdAttribute (const SBase_t *sb)
+ {
+- return (sb != NULL && sb->isSetIdAttribute()) ? sb->getIdAttribute().c_str() : NULL;
++ return (sb != 0 && sb->isSetIdAttribute()) ? sb->getIdAttribute().c_str() : 0;
+ }
+
+
+@@ -7488,7 +7488,7 @@ LIBSBML_EXTERN
+ const char *
+ SBase_getName (const SBase_t *sb)
+ {
+- return (sb != NULL && sb->isSetName()) ? sb->getName().c_str() : NULL;
++ return (sb != 0 && sb->isSetName()) ? sb->getName().c_str() : 0;
+ }
+
+
+@@ -7496,7 +7496,7 @@ LIBSBML_EXTERN
+ const SBMLDocument_t *
+ SBase_getSBMLDocument (SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getSBMLDocument() : NULL;
++ return (sb != 0) ? sb->getSBMLDocument() : 0;
+ }
+
+
+@@ -7504,7 +7504,7 @@ LIBSBML_EXTERN
+ const SBase_t *
+ SBase_getParentSBMLObject (SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getParentSBMLObject() : NULL;
++ return (sb != 0) ? sb->getParentSBMLObject() : 0;
+ }
+
+
+@@ -7512,7 +7512,7 @@ LIBSBML_EXTERN
+ const SBase_t *
+ SBase_getAncestorOfType (SBase_t *sb, int type, const char* pkgName)
+ {
+- return (sb != NULL) ? sb->getAncestorOfType(type, pkgName) : NULL;
++ return (sb != 0) ? sb->getAncestorOfType(type, pkgName) : 0;
+ }
+
+
+@@ -7520,7 +7520,7 @@ LIBSBML_EXTERN
+ int
+ SBase_getSBOTerm (const SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getSBOTerm() : SBML_INT_MAX;
++ return (sb != 0) ? sb->getSBOTerm() : SBML_INT_MAX;
+ }
+
+
+@@ -7528,8 +7528,8 @@ LIBSBML_EXTERN
+ char*
+ SBase_getSBOTermID (const SBase_t *sb)
+ {
+- return (sb != NULL && sb->isSetSBOTerm())?
+- safe_strdup(sb->getSBOTermID().c_str()) : NULL;
++ return (sb != 0 && sb->isSetSBOTerm())?
++ safe_strdup(sb->getSBOTermID().c_str()) : 0;
+ }
+
+
+@@ -7537,8 +7537,8 @@ LIBSBML_EXTERN
+ char*
+ SBase_getSBOTermAsURL (const SBase_t *sb)
+ {
+- return (sb != NULL && sb->isSetSBOTerm())?
+- safe_strdup(sb->getSBOTermAsURL().c_str()) : NULL;
++ return (sb != 0 && sb->isSetSBOTerm())?
++ safe_strdup(sb->getSBOTermAsURL().c_str()) : 0;
+ }
+
+
+@@ -7546,7 +7546,7 @@ LIBSBML_EXTERN
+ unsigned int
+ SBase_getLevel (const SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getLevel() : SBML_INT_MAX;
++ return (sb != 0) ? sb->getLevel() : SBML_INT_MAX;
+ }
+
+
+@@ -7554,7 +7554,7 @@ LIBSBML_EXTERN
+ unsigned int
+ SBase_getVersion (const SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getVersion() : SBML_INT_MAX;
++ return (sb != 0) ? sb->getVersion() : SBML_INT_MAX;
+ }
+
+
+@@ -7562,7 +7562,7 @@ LIBSBML_EXTERN
+ XMLNode_t *
+ SBase_getNotes (SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getNotes() : NULL;
++ return (sb != 0) ? sb->getNotes() : 0;
+ }
+
+
+@@ -7570,8 +7570,8 @@ LIBSBML_EXTERN
+ char*
+ SBase_getNotesString (SBase_t *sb)
+ {
+- return (sb != NULL && sb->isSetNotes()) ?
+- safe_strdup(sb->getNotesString().c_str()) : NULL;
++ return (sb != 0 && sb->isSetNotes()) ?
++ safe_strdup(sb->getNotesString().c_str()) : 0;
+ }
+
+
+@@ -7579,7 +7579,7 @@ LIBSBML_EXTERN
+ XMLNode_t *
+ SBase_getAnnotation (SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getAnnotation() : NULL;
++ return (sb != 0) ? sb->getAnnotation() : 0;
+ }
+
+
+@@ -7587,8 +7587,8 @@ LIBSBML_EXTERN
+ char*
+ SBase_getAnnotationString (SBase_t *sb)
+ {
+- return (sb != NULL && sb->isSetAnnotation()) ?
+- safe_strdup(sb->getAnnotationString().c_str()) : NULL;
++ return (sb != 0 && sb->isSetAnnotation()) ?
++ safe_strdup(sb->getAnnotationString().c_str()) : 0;
+ }
+
+
+@@ -7596,7 +7596,7 @@ LIBSBML_EXTERN
+ int
+ SBase_isSetMetaId (const SBase_t *sb)
+ {
+- return (sb != NULL) ? static_cast<int>( sb->isSetMetaId() ) : 0;
++ return (sb != 0) ? static_cast<int>( sb->isSetMetaId() ) : 0;
+ }
+
+
+@@ -7604,7 +7604,7 @@ LIBSBML_EXTERN
+ int
+ SBase_isSetIdAttribute (const SBase_t *sb)
+ {
+- return (sb != NULL) ? static_cast<int>( sb->isSetIdAttribute() ) : 0;
++ return (sb != 0) ? static_cast<int>( sb->isSetIdAttribute() ) : 0;
+ }
+
+
+@@ -7612,7 +7612,7 @@ LIBSBML_EXTERN
+ int
+ SBase_isSetName (const SBase_t *sb)
+ {
+- return (sb != NULL) ? static_cast<int>( sb->isSetName() ) : 0;
++ return (sb != 0) ? static_cast<int>( sb->isSetName() ) : 0;
+ }
+
+
+@@ -7620,7 +7620,7 @@ LIBSBML_EXTERN
+ int
+ SBase_isSetNotes (const SBase_t *sb)
+ {
+- return (sb != NULL) ? static_cast<int>( sb->isSetNotes() ) : 0;
++ return (sb != 0) ? static_cast<int>( sb->isSetNotes() ) : 0;
+ }
+
+
+@@ -7628,7 +7628,7 @@ LIBSBML_EXTERN
+ int
+ SBase_isSetAnnotation (const SBase_t *sb)
+ {
+- return (sb != NULL) ? static_cast<int>( sb->isSetAnnotation() ) : 0;
++ return (sb != 0) ? static_cast<int>( sb->isSetAnnotation() ) : 0;
+ }
+
+
+@@ -7636,7 +7636,7 @@ LIBSBML_EXTERN
+ int
+ SBase_isSetSBOTerm (const SBase_t *sb)
+ {
+- return (sb != NULL) ? static_cast<int>( sb->isSetSBOTerm() ) : 0;
++ return (sb != 0) ? static_cast<int>( sb->isSetSBOTerm() ) : 0;
+ }
+
+
+@@ -7644,8 +7644,8 @@ LIBSBML_EXTERN
+ int
+ SBase_setMetaId (SBase_t *sb, const char *metaid)
+ {
+- if (sb != NULL)
+- return (metaid == NULL) ? sb->unsetMetaId() : sb->setMetaId(metaid);
++ if (sb != 0)
++ return (metaid == 0) ? sb->unsetMetaId() : sb->setMetaId(metaid);
+ else
+ return LIBSBML_INVALID_OBJECT;
+ }
+@@ -7655,8 +7655,8 @@ LIBSBML_EXTERN
+ int
+ SBase_setIdAttribute (SBase_t *sb, const char *id)
+ {
+- if (sb != NULL)
+- return (id == NULL) ? sb->unsetIdAttribute() : sb->setIdAttribute(id);
++ if (sb != 0)
++ return (id == 0) ? sb->unsetIdAttribute() : sb->setIdAttribute(id);
+ else
+ return LIBSBML_INVALID_OBJECT;
+ }
+@@ -7666,8 +7666,8 @@ LIBSBML_EXTERN
+ int
+ SBase_setName (SBase_t *sb, const char *name)
+ {
+- if (sb != NULL)
+- return (name == NULL) ? sb->unsetName() : sb->setName(name);
++ if (sb != 0)
++ return (name == 0) ? sb->unsetName() : sb->setName(name);
+ else
+ return LIBSBML_INVALID_OBJECT;
+ }
+@@ -7677,7 +7677,7 @@ LIBSBML_EXTERN
+ int
+ SBase_setSBOTerm (SBase_t *sb, int value)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->setSBOTerm(value);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7688,7 +7688,7 @@ LIBSBML_EXTERN
+ int
+ SBase_setSBOTermID (SBase_t *sb, const char* sboid)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->setSBOTerm(sboid);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7699,7 +7699,7 @@ LIBSBML_EXTERN
+ int
+ SBase_setNamespaces (SBase_t *sb, XMLNamespaces_t *xmlns)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->setNamespaces(xmlns);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7710,7 +7710,7 @@ LIBSBML_EXTERN
+ int
+ SBase_setNotes (SBase_t *sb, const XMLNode_t *notes)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->setNotes(notes);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7721,9 +7721,9 @@ LIBSBML_EXTERN
+ int
+ SBase_setNotesString (SBase_t *sb, const char *notes)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ {
+- if(notes == NULL)
++ if(notes == 0)
+ {
+ return sb->unsetNotes();
+ }
+@@ -7741,9 +7741,9 @@ LIBSBML_EXTERN
+ int
+ SBase_setNotesStringAddMarkup (SBase_t *sb, const char *notes)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ {
+- if(notes == NULL)
++ if(notes == 0)
+ {
+ return sb->unsetNotes();
+ }
+@@ -7761,7 +7761,7 @@ LIBSBML_EXTERN
+ int
+ SBase_appendNotes (SBase_t *sb, const XMLNode_t *notes)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->appendNotes(notes);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7772,9 +7772,9 @@ LIBSBML_EXTERN
+ int
+ SBase_appendNotesString (SBase_t *sb, const char *notes)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ {
+- if (notes != NULL)
++ if (notes != 0)
+ return sb->appendNotes(notes);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7788,7 +7788,7 @@ LIBSBML_EXTERN
+ int
+ SBase_setAnnotation (SBase_t *sb, const XMLNode_t *annotation)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->setAnnotation(annotation);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7799,9 +7799,9 @@ LIBSBML_EXTERN
+ int
+ SBase_setAnnotationString (SBase_t *sb, const char *annotation)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ {
+- if(annotation == NULL)
++ if(annotation == 0)
+ {
+ return sb->unsetAnnotation();
+ }
+@@ -7819,7 +7819,7 @@ LIBSBML_EXTERN
+ int
+ SBase_appendAnnotation (SBase_t *sb, const XMLNode_t *annotation)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->appendAnnotation(annotation);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7830,9 +7830,9 @@ LIBSBML_EXTERN
+ int
+ SBase_appendAnnotationString (SBase_t *sb, const char *annotation)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ {
+- if (annotation != NULL)
++ if (annotation != 0)
+ return sb->appendAnnotation(annotation);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7845,9 +7845,9 @@ LIBSBML_EXTERN
+ int
+ SBase_removeTopLevelAnnotationElement (SBase_t *sb, const char *name)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ {
+- if (name != NULL)
++ if (name != 0)
+ return sb->removeTopLevelAnnotationElement(name);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7862,9 +7862,9 @@ int
+ SBase_removeTopLevelAnnotationElementWithURI (SBase_t *sb, const char *name,
+ const char *uri)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ {
+- if (name != NULL && uri != NULL)
++ if (name != 0 && uri != 0)
+ return sb->removeTopLevelAnnotationElement(name, uri);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7878,9 +7878,9 @@ LIBSBML_EXTERN
+ int
+ SBase_replaceTopLevelAnnotationElement (SBase_t *sb, const XMLNode_t *annotation)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ {
+- if (annotation != NULL)
++ if (annotation != 0)
+ return sb->replaceTopLevelAnnotationElement(annotation);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7894,9 +7894,9 @@ LIBSBML_EXTERN
+ int
+ SBase_replaceTopLevelAnnotationElementString (SBase_t *sb, const char *annotation)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ {
+- if (annotation != NULL)
++ if (annotation != 0)
+ return sb->replaceTopLevelAnnotationElement(annotation);
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7910,7 +7910,7 @@ LIBSBML_EXTERN
+ int
+ SBase_unsetMetaId (SBase_t *sb)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->unsetMetaId();
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7921,7 +7921,7 @@ LIBSBML_EXTERN
+ int
+ SBase_unsetIdAttribute (SBase_t *sb)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->unsetIdAttribute();
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7932,7 +7932,7 @@ LIBSBML_EXTERN
+ int
+ SBase_unsetName (SBase_t *sb)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->unsetName();
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7943,7 +7943,7 @@ LIBSBML_EXTERN
+ int
+ SBase_unsetNotes (SBase_t *sb)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->unsetNotes();
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7954,7 +7954,7 @@ LIBSBML_EXTERN
+ int
+ SBase_unsetAnnotation (SBase_t *sb)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->unsetAnnotation();
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7965,7 +7965,7 @@ LIBSBML_EXTERN
+ int
+ SBase_unsetSBOTerm (SBase_t *sb)
+ {
+- if (sb != NULL)
++ if (sb != 0)
+ return sb->unsetSBOTerm();
+ else
+ return LIBSBML_INVALID_OBJECT;
+@@ -7976,14 +7976,14 @@ LIBSBML_EXTERN
+ const Model_t *
+ SBase_getModel (const SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getModel() : NULL;
++ return (sb != 0) ? sb->getModel() : 0;
+ }
+
+ LIBSBML_EXTERN
+ int
+ SBase_getTypeCode (const SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getTypeCode() : SBML_UNKNOWN;
++ return (sb != 0) ? sb->getTypeCode() : SBML_UNKNOWN;
+ }
+
+
+@@ -7991,8 +7991,8 @@ LIBSBML_EXTERN
+ const char *
+ SBase_getElementName (const SBase_t *sb)
+ {
+- return (sb != NULL && !(sb->getElementName().empty())) ?
+- sb->getElementName().c_str() : NULL;
++ return (sb != 0 && !(sb->getElementName().empty())) ?
++ sb->getElementName().c_str() : 0;
+ }
+
+
+@@ -8000,7 +8000,7 @@ LIBSBML_EXTERN
+ char *
+ SBase_getPackageName(const SBaseExtensionPoint_t *sb)
+ {
+- if (sb == NULL) return NULL;
++ if (sb == 0) return 0;
+ return safe_strdup(sb->getPackageName().c_str());
+ }
+
+@@ -8009,7 +8009,7 @@ LIBSBML_EXTERN
+ unsigned int
+ SBase_getLine (const SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getLine() : 0;
++ return (sb != 0) ? sb->getLine() : 0;
+ }
+
+
+@@ -8017,7 +8017,7 @@ LIBSBML_EXTERN
+ unsigned int
+ SBase_getColumn (const SBase_t *sb)
+ {
+- return (sb != NULL) ? sb->getColumn() : 0;
++ return (sb != 0) ? sb->getColumn() : 0;
+ }
+
+
+@@ -8025,7 +8025,7 @@ LIBSBML_EXTERN
+ int
+ SBase_hasValidLevelVersionNamespaceCombination(SBase_t *sb)
+ {
+- return (sb != NULL) ?
++ return (sb != 0) ?
+ static_cast <int> (sb->hasValidLevelVersionNamespaceCombination()) : 0;
+ }
+
+@@ -8034,7 +8034,7 @@ LIBSBML_EXTERN
+ int
+ SBase_getNumPlugins(const SBase_t *sb)
+ {
+- return (sb != NULL) ? (int)sb->getNumPlugins() : 0;
++ return (sb != 0) ? (int)sb->getNumPlugins() : 0;
+ }
+
+
+@@ -8042,14 +8042,14 @@ LIBSBML_EXTERN
+ SBasePlugin_t*
+ SBase_getPlugin(SBase_t *sb, const char *package)
+ {
+- return (sb != NULL) ? sb->getPlugin(package) : NULL;
++ return (sb != 0) ? sb->getPlugin(package) : 0;
+ }
+
+ LIBSBML_EXTERN
+ int
+ SBase_setUserData(SBase_t* sb, void *userData)
+ {
+- if (sb == NULL) return LIBSBML_INVALID_OBJECT;
++ if (sb == 0) return LIBSBML_INVALID_OBJECT;
+ return sb->setUserData(userData);
+ }
+
+@@ -8058,7 +8058,7 @@ LIBSBML_EXTERN
+ void *
+ SBase_getUserData(const SBase_t* sb)
+ {
+- if (sb == NULL) return NULL;
++ if (sb == 0) return 0;
+ return sb->getUserData();
+ }
+
+@@ -8066,7 +8066,7 @@ LIBSBML_EXTERN
+ int
+ SBase_isSetUserData(const SBase_t* sb)
+ {
+- if (sb == NULL) return 0;
++ if (sb == 0) return 0;
+ return static_cast <int>(sb->isSetUserData());
+ }
+
+@@ -8074,7 +8074,7 @@ LIBSBML_EXTERN
+ int
+ SBase_unsetUserData(SBase_t* sb)
+ {
+- if (sb == NULL) return LIBSBML_INVALID_OBJECT;
++ if (sb == 0) return LIBSBML_INVALID_OBJECT;
+ return sb->unsetUserData();
+ }
+
+@@ -8082,7 +8082,7 @@ LIBSBML_EXTERN
+ SBase_t*
+ SBase_getElementBySId(SBase_t* sb, const char* id)
+ {
+- if (sb == NULL) return NULL;
++ if (sb == 0) return 0;
+ return sb->getElementBySId(id);
+ }
+
+@@ -8090,7 +8090,7 @@ LIBSBML_EXTERN
+ SBase_t*
+ SBase_getElementByMetaId(SBase_t* sb, const char* metaid)
+ {
+- if (sb == NULL) return NULL;
++ if (sb == 0) return 0;
+ return sb->getElementByMetaId(metaid);
+ }
+
+@@ -8098,7 +8098,7 @@ LIBSBML_EXTERN
+ List_t*
+ SBase_getAllElements(SBase_t* sb)
+ {
+- if (sb == NULL) return NULL;
++ if (sb == 0) return 0;
+ return sb->getAllElements();
+ }
+
+@@ -8106,7 +8106,7 @@ LIBSBML_EXTERN
+ void
+ SBase_renameSIdRefs(SBase_t* sb, const char* oldid, const char* newid)
+ {
+- if (sb == NULL) return;
++ if (sb == 0) return;
+ return sb->renameSIdRefs(oldid, newid);
+ }
+
+@@ -8114,7 +8114,7 @@ LIBSBML_EXTERN
+ void
+ SBase_renameMetaIdRefs(SBase_t* sb, const char* oldid, const char* newid)
+ {
+- if (sb == NULL) return;
++ if (sb == 0) return;
+ return sb->renameMetaIdRefs(oldid, newid);
+ }
+
+@@ -8122,7 +8122,7 @@ LIBSBML_EXTERN
+ void
+ SBase_renameUnitSIdRefs(SBase_t* sb, const char* oldid, const char* newid)
+ {
+- if (sb == NULL) return;
++ if (sb == 0) return;
+ return sb->renameUnitSIdRefs(oldid, newid);
+ }
+
+@@ -8130,7 +8130,7 @@ LIBSBML_EXTERN
+ SBase_t*
+ SBase_getElementFromPluginsBySId(SBase_t* sb, const char* id)
+ {
+- if (sb == NULL) return NULL;
++ if (sb == 0) return 0;
+ return sb->getElementFromPluginsBySId(id);
+ }
+
+@@ -8138,7 +8138,7 @@ LIBSBML_EXTERN
+ SBase_t*
+ SBase_getElementFromPluginsByMetaId(SBase_t* sb, const char* metaid)
+ {
+- if (sb == NULL) return NULL;
++ if (sb == 0) return 0;
+ return sb->getElementFromPluginsByMetaId(metaid);
+ }
+
+@@ -8146,7 +8146,7 @@ LIBSBML_EXTERN
+ List_t*
+ SBase_getAllElementsFromPlugins(SBase_t* sb)
+ {
+- if (sb == NULL) return NULL;
++ if (sb == 0) return 0;
+ return sb->getAllElementsFromPlugins();
+ }
+ /** @endcond */
diff --git a/biology/py-python-libsbml/pkg-descr b/biology/py-python-libsbml/pkg-descr
index 22c87a0470a3..ac9cf0c0120e 100644
--- a/biology/py-python-libsbml/pkg-descr
+++ b/biology/py-python-libsbml/pkg-descr
@@ -1,4 +1,2 @@
Python binding for libsbml - Systems Biology Markup Language (SBML) read/write
library.
-
-WWW: http://sbml.org/Main_Page
diff --git a/biology/py-pywgsim/Makefile b/biology/py-pywgsim/Makefile
index 353ec916cbf3..52a666286f56 100644
--- a/biology/py-pywgsim/Makefile
+++ b/biology/py-pywgsim/Makefile
@@ -1,11 +1,12 @@
PORTNAME= pywgsim
DISTVERSION= 0.5.2
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Modified wgsim genomic data simulator
+WWW= https://pypi.python.org/pypi/pywgsim
LICENSE= MIT
diff --git a/biology/py-pywgsim/pkg-descr b/biology/py-pywgsim/pkg-descr
index 7853be44bcd9..05b29e3b7ce0 100644
--- a/biology/py-pywgsim/pkg-descr
+++ b/biology/py-pywgsim/pkg-descr
@@ -1,5 +1,3 @@
pywgsim is a modified version of the wgsim short read simulator. The
code for wgsim has been modified to allow visualizing the simulated
mutations as a GFF file.
-
-WWW: https://pypi.python.org/pypi/pywgsim
diff --git a/biology/py-resdk/Makefile b/biology/py-resdk/Makefile
index 9b238fd5fc77..8e59235bc051 100644
--- a/biology/py-resdk/Makefile
+++ b/biology/py-resdk/Makefile
@@ -1,17 +1,24 @@
PORTNAME= resdk
-DISTVERSION= 13.4.0
+DISTVERSION= 21.1.0
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Resolwe SDK to interact with Resolwe server and Resolwe Bioinformatics
+WWW= https://github.com/genialis/resolwe-bio-py
-LICENSE= BSD3CLAUSE
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.4.0:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= \
${PYTHON_PKGNAMEPREFIX}aiohttp>0:www/py-aiohttp@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}chardet<=4.0.0,1:textproc/py-chardet@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}boto3>0:www/py-boto3@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}botocore-stubs>0:www/py-botocore-stubs@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}chardet<=5.2.0,1:textproc/py-chardet@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}openpyxl>0:textproc/py-openpyxl@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pandas>=1.0.0:math/py-pandas@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytz>=2018.4:devel/py-pytz@${PY_FLAVOR} \
@@ -21,10 +28,13 @@ RUN_DEPENDS= \
${PYTHON_PKGNAMEPREFIX}tzlocal>=1.5.1:devel/py-tzlocal@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wrapt>0:devel/py-wrapt@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}xlrd>0:textproc/py-xlrd@${PY_FLAVOR}
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}mypy-boto3-s3>0:devel/py-mypy-boto3-s3@${PY_FLAVOR}
-USES= python:3.6+
-USE_PYTHON= distutils autoplist
+USES= python
+USE_PYTHON= pep517 autoplist pytest
NO_ARCH= yes
+TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
.include <bsd.port.mk>
diff --git a/biology/py-resdk/distinfo b/biology/py-resdk/distinfo
index 91d9a86fc7ff..d5b29d97a088 100644
--- a/biology/py-resdk/distinfo
+++ b/biology/py-resdk/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1629201023
-SHA256 (resdk-13.4.0.tar.gz) = 28906c064e8aa975563cf592f928f96c2a9f2328be9ad7d70560e8c02572a74f
-SIZE (resdk-13.4.0.tar.gz) = 226889
+TIMESTAMP = 1712349634
+SHA256 (resdk-21.1.0.tar.gz) = 96d5bf0721eee006360f0b1116310a509028160aded47a82e1ac1992f5fe6105
+SIZE (resdk-21.1.0.tar.gz) = 258889
diff --git a/biology/py-resdk/files/patch-pyproject.toml b/biology/py-resdk/files/patch-pyproject.toml
new file mode 100644
index 000000000000..a9e3f87ed2f2
--- /dev/null
+++ b/biology/py-resdk/files/patch-pyproject.toml
@@ -0,0 +1,10 @@
+--- pyproject.toml.orig 2023-01-28 05:39:12 UTC
++++ pyproject.toml
+@@ -1,6 +1,6 @@
+ [build-system]
+ requires = [
+- "setuptools >= 64.0.0",
++ "setuptools >= 0",
+ "setuptools_scm >= 6.4.0",
+ ]
+ build-backend = "setuptools.build_meta"
diff --git a/biology/py-resdk/pkg-descr b/biology/py-resdk/pkg-descr
index d256f8eb4962..adbf2525b396 100644
--- a/biology/py-resdk/pkg-descr
+++ b/biology/py-resdk/pkg-descr
@@ -2,5 +2,3 @@ Resolwe SDK for Python supports interaction with Resolwe server and its
extension Resolwe Bioinformatics. You can use it to upload and inspect
biomedical data sets, contribute annotations, run analysis, and write
pipelines.
-
-WWW: https://github.com/genialis/resolwe-bio-py
diff --git a/biology/py-scikit-bio/Makefile b/biology/py-scikit-bio/Makefile
index 65253e23c183..03e22bd69308 100644
--- a/biology/py-scikit-bio/Makefile
+++ b/biology/py-scikit-bio/Makefile
@@ -1,39 +1,51 @@
PORTNAME= scikit-bio
-PORTVERSION= 0.5.6
+DISTVERSION= 0.6.0
CATEGORIES= biology education python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Data structures, algorithms, educational resources for bioinformatics
+WWW= http://scikit-bio.org/
LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/COPYING.txt
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-BUILD_DEPENDS= ${PYNUMPY}
-RUN_DEPENDS= ${PYNUMPY} \
- ${PYTHON_PKGNAMEPREFIX}CacheControl>=0.11.5:www/py-cachecontrol@${PY_FLAVOR} \
+BROKEN_aarch64= fails to build: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size, see https://github.com/biocore/scikit-bio/issues/1816
+
+BUILD_DEPENDS= ${PYNUMPY} \
+ ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}biom-format>0:biology/py-biom-format@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}decorator>=3.4.2:devel/py-decorator@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}hdmedians>=0.13:math/py-hdmedians@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}h5py>=3.6.0:science/py-h5py@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}hdmedians>=0.14.1:math/py-hdmedians@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}ipython>=3.2.0:devel/ipython@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}lockfile>=0.10.2:devel/py-lockfile@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}matplotlib>=1.4.3:math/py-matplotlib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}natsort>=4.0.3:devel/py-natsort@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pandas>=1.0.0:math/py-pandas@${PY_FLAVOR} \
+ ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}pandas>=1.5.0:math/py-pandas@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>=2.20.0:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scikit-learn>=0.19.1:science/py-scikit-learn@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}scipy>=1.9.0:science/py-scipy@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 cython autoplist pytest # tests fail to run, see https://github.com/biocore/scikit-bio/issues/1846
-USES= python:3.7+
-USE_PYTHON= autoplist distutils
+TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}ddtrace # lib/python3.8/site-packages/benchmarks/__init__.py
.include <bsd.port.options.mk>
.if ${ARCH} == i386
CFLAGS+= -msse2 # workaround for https://github.com/biocore/scikit-bio/issues/1727
CXXFLAGS+= -msse2
-.elif ${ARCH:Mpowerpc64*}
-CFLAGS+= -DNO_WARN_X86_INTRINSICS
-USE_GCC= yes
.endif
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/skbio/*/*${PYTHON_EXT_SUFFIX}.so \
+ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/skbio/*/*/*${PYTHON_EXT_SUFFIX}.so
+
.include <bsd.port.mk>
diff --git a/biology/py-scikit-bio/distinfo b/biology/py-scikit-bio/distinfo
index 2f100c10744b..558a18b5c5f1 100644
--- a/biology/py-scikit-bio/distinfo
+++ b/biology/py-scikit-bio/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1589588901
-SHA256 (scikit-bio-0.5.6.tar.gz) = 48b73ec53ce0ff2c2e3e05f3cfcf93527c1525a8d3e9dd4ae317b4219c37f0ea
-SIZE (scikit-bio-0.5.6.tar.gz) = 8380439
+TIMESTAMP = 1712349674
+SHA256 (scikit-bio-0.6.0.tar.gz) = 10105a7c3c15ae5910244927f29ba7aa35234b19ebe6513b8484547343b2c10f
+SIZE (scikit-bio-0.6.0.tar.gz) = 1739407
diff --git a/biology/py-scikit-bio/files/patch-pyproject.toml b/biology/py-scikit-bio/files/patch-pyproject.toml
new file mode 100644
index 000000000000..67286b671d40
--- /dev/null
+++ b/biology/py-scikit-bio/files/patch-pyproject.toml
@@ -0,0 +1,10 @@
+--- pyproject.toml.orig 2023-08-03 04:59:44 UTC
++++ pyproject.toml
+@@ -1,6 +1,6 @@
+ [build-system]
+ # https://numpy.org/doc/stable/dev/depending_on_numpy.html#adding-a-dependency-on-numpy
+-requires = ["Cython>=0.29.32", "oldest-supported-numpy", "setuptools", "wheel"]
++requires = ["Cython>=0.29.32", "numpy", "setuptools", "wheel"]
+
+ [tool.pytest.ini_options]
+ filterwarnings = [
diff --git a/biology/py-scikit-bio/pkg-descr b/biology/py-scikit-bio/pkg-descr
index c20bf1eab5b9..922143d7e714 100644
--- a/biology/py-scikit-bio/pkg-descr
+++ b/biology/py-scikit-bio/pkg-descr
@@ -1,4 +1,2 @@
scikit-bio is an open-source python package providing data structures,
algorithms, and educational resources for bioinformatics.
-
-WWW: http://scikit-bio.org/
diff --git a/biology/py-valerius/Makefile b/biology/py-valerius/Makefile
new file mode 100644
index 000000000000..7f23f9c6d828
--- /dev/null
+++ b/biology/py-valerius/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= valerius
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.2
+CATEGORIES= biology python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Python bioinformatics tools
+WWW= https://github.com/samirelanduk/valerius
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= distutils autoplist
+
+USE_GITHUB= yes
+GH_ACCOUNT= samirelanduk
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/biology/py-valerius/distinfo b/biology/py-valerius/distinfo
new file mode 100644
index 000000000000..05da43d0d3c2
--- /dev/null
+++ b/biology/py-valerius/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1664855237
+SHA256 (samirelanduk-valerius-v0.2_GH0.tar.gz) = f4b206cd4e9ec56630f4f55a7064f7fbea302a8a6620cac832475c2260b917ab
+SIZE (samirelanduk-valerius-v0.2_GH0.tar.gz) = 18486
diff --git a/biology/py-valerius/pkg-descr b/biology/py-valerius/pkg-descr
new file mode 100644
index 000000000000..30c1fd3c212a
--- /dev/null
+++ b/biology/py-valerius/pkg-descr
@@ -0,0 +1,3 @@
+valerius is a simple Bioinformatics toolset for processing Biological sequences.
+
+It can gfetch sequences from servers, detect their types, do FASTA parsing.
diff --git a/biology/py-xenaPython/Makefile b/biology/py-xenaPython/Makefile
index b629d7c5d2c7..b963e46c132c 100644
--- a/biology/py-xenaPython/Makefile
+++ b/biology/py-xenaPython/Makefile
@@ -1,15 +1,16 @@
PORTNAME= xenaPython
DISTVERSION= 1.0.14
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= API for Xena Hub to access genetic information shared through the hub
+WWW= https://github.com/ucscXena/xenaPython
LICENSE= APACHE20
-USES= python:3.6+
+USES= python
USE_PYTHON= distutils autoplist
NO_ARCH= yes
diff --git a/biology/py-xenaPython/pkg-descr b/biology/py-xenaPython/pkg-descr
index 0dc2f282ef4f..d53216d3fe57 100644
--- a/biology/py-xenaPython/pkg-descr
+++ b/biology/py-xenaPython/pkg-descr
@@ -5,5 +5,3 @@ that hosts their genomic data in order to share it with others. Using this
Python API and other browsers that are part of the UC Santa Cruz Xena project,
it is possible to easily access a wide variety of genomic information shared by
a large number of researchers.
-
-WWW: https://github.com/ucscXena/xenaPython
diff --git a/biology/pyfasta/Makefile b/biology/pyfasta/Makefile
index 8c9c055b0a4c..476736758e54 100644
--- a/biology/pyfasta/Makefile
+++ b/biology/pyfasta/Makefile
@@ -1,21 +1,20 @@
-# Created by: Wen Heping <wen@FreeBSD.org>
-
PORTNAME= pyfasta
PORTVERSION= 0.5.2
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= wen@FreeBSD.org
COMMENT= Fast, memory-efficient, pythonic access to fasta sequence files
+WWW= https://bitbucket.org/brentp/biostuff/src/
LICENSE= MIT
BUILD_DEPENDS= ${PYNUMPY}
RUN_DEPENDS:= ${BUILD_DEPENDS}
-USES= python:3.6+
+USES= python
USE_PYTHON= distutils autoplist
.include <bsd.port.mk>
diff --git a/biology/pyfasta/pkg-descr b/biology/pyfasta/pkg-descr
index acd5dff1fd15..a410ba3f9c93 100644
--- a/biology/pyfasta/pkg-descr
+++ b/biology/pyfasta/pkg-descr
@@ -1,4 +1,2 @@
pyfasta is a python module for fast, memory-efficient, pythonic
access to fasta sequence files.
-
-WWW: https://bitbucket.org/brentp/biostuff/src/
diff --git a/biology/python-nexus/Makefile b/biology/python-nexus/Makefile
index b3511a65046e..06f7e0c6a6c4 100644
--- a/biology/python-nexus/Makefile
+++ b/biology/python-nexus/Makefile
@@ -1,19 +1,21 @@
-# Created by: Wen Heping <wen@FreeBSD.org>
-
PORTNAME= python-nexus
-PORTVERSION= 1.63
+PORTVERSION= 2.9.0
CATEGORIES= biology python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= wen@FreeBSD.org
COMMENT= Generic nexus file format reader for python
+WWW= http://simon.net.nz/articles/python-nexus
LICENSE= BSD3CLAUSE
#LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= python:3.6+ shebangfix
-SHEBANG_FILES= nexus/bin/*.py
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}clldutils>=0:devel/py-clldutils@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}termcolor>=0:devel/py-termcolor@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}newick>=0:biology/py-newick@${PY_FLAVOR}
+
+USES= python
USE_PYTHON= autoplist distutils
.include <bsd.port.mk>
diff --git a/biology/python-nexus/distinfo b/biology/python-nexus/distinfo
index cd63640bc1f2..70ddcd274d66 100644
--- a/biology/python-nexus/distinfo
+++ b/biology/python-nexus/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1537606240
-SHA256 (python-nexus-1.63.tar.gz) = 5c9f39bc08a8459078cc65e74f30402df133f8eb06d7acf2c7667e8761657312
-SIZE (python-nexus-1.63.tar.gz) = 37986
+TIMESTAMP = 1706882239
+SHA256 (python-nexus-2.9.0.tar.gz) = 9eea1a0e79dc20b84310a84d4cc90665b1a359a74c17cc0a7602e54156188204
+SIZE (python-nexus-2.9.0.tar.gz) = 34242
diff --git a/biology/python-nexus/pkg-descr b/biology/python-nexus/pkg-descr
index 91c439f53f82..7ac273882581 100644
--- a/biology/python-nexus/pkg-descr
+++ b/biology/python-nexus/pkg-descr
@@ -1,4 +1,2 @@
python-nexus is a generic nexus (phylogenetics) file format(.nex, .trees)
reader for python.
-
-WWW: http://simon.net.nz/articles/python-nexus
diff --git a/biology/rainbow/Makefile b/biology/rainbow/Makefile
index a1878eac6988..f6efc6f1fe80 100644
--- a/biology/rainbow/Makefile
+++ b/biology/rainbow/Makefile
@@ -6,6 +6,7 @@ DISTNAME= rainbow_${PORTVERSION}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Efficient clustering and assembling of short reads, especially for RAD
+WWW= https://sourceforge.net/projects/bio-rainbow/
LICENSE= GPLv3+
diff --git a/biology/rainbow/pkg-descr b/biology/rainbow/pkg-descr
index b0d19b421df2..b05a6590462e 100644
--- a/biology/rainbow/pkg-descr
+++ b/biology/rainbow/pkg-descr
@@ -6,5 +6,3 @@ top-down manner. Next, along a guide tree, it iteratively merges sibling
leaves in a bottom-up manner if they are similar enough. Finally, Rainbow uses
a greedy algorithm to locally assemble merged reads into contigs. Both optimal
and suboptimal assembly results are output.
-
-WWW: https://sourceforge.net/projects/bio-rainbow/
diff --git a/biology/rampler/Makefile b/biology/rampler/Makefile
index b5b5fc65314b..ea120e8b7a51 100644
--- a/biology/rampler/Makefile
+++ b/biology/rampler/Makefile
@@ -1,9 +1,11 @@
PORTNAME= rampler
DISTVERSION= 2.0.0
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= Standalone module for sampling genomic sequences
+WWW= https://github.com/rvaser/rampler
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/biology/rampler/pkg-descr b/biology/rampler/pkg-descr
index 4bc0e483da59..380401dbb689 100644
--- a/biology/rampler/pkg-descr
+++ b/biology/rampler/pkg-descr
@@ -1,5 +1,3 @@
Rampler is a standalone module for sampling genomic sequences. It supports two
modes, random subsampling of sequencing data to a desired depth (given the
reference length) and file splitting to desired size in bytes.
-
-WWW: https://github.com/rvaser/rampler
diff --git a/biology/readseq/Makefile b/biology/readseq/Makefile
index e7d711885e28..af5dafdf3af8 100644
--- a/biology/readseq/Makefile
+++ b/biology/readseq/Makefile
@@ -9,6 +9,7 @@ EXTRACT_SUFX= .jar
MAINTAINER= jwb@FreeBSD.org
COMMENT= Read and reformat biosequences, Java command-line version
+WWW= https://sourceforge.net/projects/readseq
LICENSE= PD
diff --git a/biology/readseq/pkg-descr b/biology/readseq/pkg-descr
index f07d55783e38..157d7551fcd2 100644
--- a/biology/readseq/pkg-descr
+++ b/biology/readseq/pkg-descr
@@ -1,5 +1,3 @@
Sequence reading library developed by the Ribosomal Database Project. It can
handle genbank, embl, fasta, fastq, sff and sto files, can read from files or
streams, and can handle indexing files.
-
-WWW: https://sourceforge.net/projects/readseq
diff --git a/biology/recombine/Makefile b/biology/recombine/Makefile
deleted file mode 100644
index 3e587211bb2f..000000000000
--- a/biology/recombine/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# Created by: Johann Visagie <wjv@FreeBSD.org>
-
-PORTNAME= recombine
-PORTVERSION= 1.41
-PORTREVISION= 2
-CATEGORIES= biology
-MASTER_SITES= http://evolution.gs.washington.edu/lamarc/recombine/
-DISTNAME= ${PORTNAME}${PORTVERSION}.src.doc
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Program to fit population models across sites
-
-USES= shebangfix
-
-WRKSRC= ${WRKDIR}/${PORTNAME}${PORTVERSION}
-
-ALL_TARGET= ${PORTNAME}
-
-PLIST_FILES+= bin/filetran bin/recombine
-PORTDOCS= recombine.txt
-SHEBANG_FILES= filetran
-
-OPTIONS_DEFINE= DOCS
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_SCRIPT} ${WRKSRC}/filetran ${STAGEDIR}${PREFIX}/bin
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/recombine.txt ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.mk>
diff --git a/biology/recombine/distinfo b/biology/recombine/distinfo
deleted file mode 100644
index 86e57ab91e32..000000000000
--- a/biology/recombine/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (recombine1.41.src.doc.tar.gz) = e247810ef31414f500f9c118b6462b549c761562140519f7c57f305fcb284643
-SIZE (recombine1.41.src.doc.tar.gz) = 149129
diff --git a/biology/recombine/files/patch-Makefile b/biology/recombine/files/patch-Makefile
deleted file mode 100644
index 338b70873c8c..000000000000
--- a/biology/recombine/files/patch-Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
---- Makefile.orig Thu Jan 25 13:59:21 2007
-+++ Makefile Thu Jan 25 14:02:58 2007
-@@ -1,11 +1,6 @@
- LIBS = -lm
- BINDIR = ./bin
--#CFLAGS = -Wall -Wshadow -g
--CFLAGS = -O -Wall -Wshadow -g
--#CFLAGS = -fast -inline speed
--#CFLAGS = -O3 -arch host -fast
--CC = gcc $(CFLAGS)
--#CC = cc $(CFLAGS)
-+CFLAGS += -g
- DCC = gcc -g -Wall -DDMALLOC_FUNC_CHECK -ansi -pedantic
- PLUSCC = g++ $(CFLAGS)
- LIBS = -lm -L/usr/local/lib
-@@ -18,29 +13,29 @@
- # The big banana
- recombine : recombine.o jdrop.o rec_modellike.o jworld.o getdata.o \
- traitlike.o getmsatdata.o
-- $(CC) -o recombine recombine.o jdrop.o rec_modellike.o \
-+ $(CC) $(CFLAGS) -o recombine recombine.o jdrop.o rec_modellike.o \
- jworld.o getdata.o traitlike.o getmsatdata.o $(LIBS)
-
- jworld.o : jworld.c
-- $(CC) -c jworld.c
-+ $(CC) $(CFLAGS) -c jworld.c
-
- jdrop.o : jdrop.c
-- $(CC) -c jdrop.c
-+ $(CC) $(CFLAGS) -c jdrop.c
-
- rec_modellike.o : rec_modellike.c
-- $(CC) -c rec_modellike.c
-+ $(CC) $(CFLAGS) -c rec_modellike.c
-
- recombine.o : recombine.c
-- $(CC) -c recombine.c
-+ $(CC) $(CFLAGS) -c recombine.c
-
- getdata.o : getdata.c
-- $(CC) -c getdata.c
-+ $(CC) $(CFLAGS) -c getdata.c
-
- getmsatdata.o : getmsatdata.c
-- $(CC) -c getmsatdata.c
-+ $(CC) $(CFLAGS) -c getmsatdata.c
-
- traitlike.o : traitlike.c
-- $(CC) -c traitlike.c
-+ $(CC) $(CFLAGS) -c traitlike.c
-
- rectreedna : rectreedna.c
- $(CC) -o rectreedna rectreedna.c $(LIBS)
diff --git a/biology/recombine/files/patch-recombine.c b/biology/recombine/files/patch-recombine.c
deleted file mode 100644
index bfaa37f653ca..000000000000
--- a/biology/recombine/files/patch-recombine.c
+++ /dev/null
@@ -1,168 +0,0 @@
---- recombine.c.orig 2019-08-03 09:14:33 UTC
-+++ recombine.c
-@@ -169,7 +169,7 @@ void openfile(FILE **fp, char *filename,
- file[0] = '\0';
- while (file[0] =='\0'){
- fprintf(stdout,"Please enter a new filename>");
-- gets(file);
-+ fgets(file,100,stdin);
- }
- break;
- case 'w':
-@@ -177,7 +177,7 @@ void openfile(FILE **fp, char *filename,
- file[0] = '\0';
- while (file[0] =='\0'){
- fprintf(stdout,"Please enter a new filename>");
-- gets(file);
-+ fgets(file,100,stdin);
- }
- break;
- }
-@@ -1864,28 +1864,28 @@ if (strchr("#FLAHONESPGUMVRTD",ch) != NU
- case 'R':
- do {
- printf("Relative mutation rate of trait?\n");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- op->mutrait = atof(input);
- } while (op->mutrait <= 0.0);
- break;
- case 'T':
- do {
- printf("Ratio of forward to back trait mutation?\n");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- op->traitratio = atof(input);
- } while (op->traitratio <= 0.0);
- break;
- case 'D':
- do {
- printf("Frequency of trait?\n");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- op->pd = atof(input);
- } while (op->pd <= 0.0 || op->pd >= 1.0);
- break;
- case 'A':
- do {
- printf("Number of drops while resimulating (0-2)?\n");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- op->hapdrop = atol(input);
- } while (op->hapdrop != 0 && op->hapdrop != 1 && op->hapdrop != 2);
- default:
-@@ -1972,7 +1972,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
- case 'T':
- do {
- printf("Transition/transversion ratio?\n");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- locus_ttratio = atof(input);
- if (locus_ttratio < 0.5)
- printf("TTratio cannot be less than 0.5\n");
-@@ -1991,13 +1991,13 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
- op->panel = !op->panel;
- if (op->panel) {
- printf("Number of populations?\n");
-- gets(input);
-+ ;
- *numpop = atol(input);
- op->numpanel = (long *)calloc(*numpop,sizeof(long));
- for(i = 0; i < *numpop; i++) {
- printf("Number of panel haplotypes for population");
- printf(" %ld?\n",i+1);
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- op->numpanel[i] = atol(input);
- }
- } else
-@@ -2012,7 +2012,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
- if (op->ctgry) {
- do {
- printf("Number of categories ?");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- op->categs = atoi(input);
- } while (op->categs < 1);
- free(op->rate);
-@@ -2091,7 +2091,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
- if (!op->watt) {
- do {
- printf("Initial theta estimate?\n");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- theta0 = atof(input);
- } while (theta0 <= 0.0);
- }
-@@ -2099,7 +2099,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
- case 'Z':
- printf("What recombination rate?\n");
- do {
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- rec0 = atof(input);
- if (rec0 < 0.0)
- printf("recombination rate must be non-negative\n");
-@@ -2108,7 +2108,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
- case 'S':
- do {
- printf("How many Short Chains?\n");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- op->numchains[0] = atoi(input);
- if (op->numchains[0] < 0)
- printf("Must be non-negative\n");
-@@ -2118,7 +2118,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
- done = FALSE;
- while (!done) {
- printf("How often to sample trees?\n");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- op->increm[0] = atoi(input);
- if (op->increm[0] > 0) done = TRUE;
- else printf("Must be a positive integer\n");
-@@ -2128,7 +2128,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
- done = FALSE;
- while (!done) {
- printf("How many short steps?\n");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- op->steps[0] = atoi(input);
- if (op->steps[0] > 0) done = TRUE;
- else printf("Must be a positive integer\n");
-@@ -2137,7 +2137,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
- case 'L':
- do {
- printf("How many Long Chains?\n");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- op->numchains[1] = atoi(input);
- if (op->numchains[1] < 1)
- printf("Must be a positive integer\n");
-@@ -2147,7 +2147,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
- done = FALSE;
- while (!done) {
- printf("How often to sample trees?\n");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- op->increm[1] = atoi(input);
- if (op->increm[1] > 0) done = TRUE;
- else printf("Must be a positive integer\n");
-@@ -2157,7 +2157,7 @@ if(strchr("#NQPDITFCRVHWZS12L34AB",ch) !
- done = FALSE;
- while (!done) {
- printf("How many long steps?\n");
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- op->steps[1] = atoi(input);
- if (op->steps[1] > 0) done = TRUE;
- else printf("Must be a positive integer\n");
-@@ -2239,7 +2239,7 @@ do {
- if (menu1) print_startmenu(op,writeout);
- else {print_datamenu(op); print_searchmenu(op);}
- print_menuend();
-- gets(input);
-+ fgets(input,LINESIZE,stdin);
- ch = toupper((int)input[0]);
- done = (ch == 'Y');
- if (!done) {
diff --git a/biology/recombine/pkg-descr b/biology/recombine/pkg-descr
deleted file mode 100644
index e8bdda06cb5f..000000000000
--- a/biology/recombine/pkg-descr
+++ /dev/null
@@ -1,10 +0,0 @@
-Recombine fits a model which has a single population of constant size with a
-single recombination rate across all sites. It can accomodate either plain
-DNA or RNA data or SNP (single nucleotide polymorphism) data.
-
-Recombine forms part of the Lamarc (Likelihood Analysis with Metropolis
-Algorithm using Random Coalescence) suite. See:
-
- http://evolution.genetics.washington.edu/lamarc.html
-
-WWW: http://evolution.genetics.washington.edu/lamarc/recombine.html
diff --git a/biology/rna-seq/Makefile b/biology/rna-seq/Makefile
new file mode 100644
index 000000000000..61a68e7a6c0c
--- /dev/null
+++ b/biology/rna-seq/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= rna-seq
+DISTVERSION= 0.1.4
+CATEGORIES= biology python
+MASTER_SITES= # empty
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Metaport for RNA-Seq analysis
+WWW= https://github.com/auerlab/
+
+LICENSE= BSD2CLAUSE
+
+RUN_DEPENDS= sra-tools>0:biology/sra-tools \
+ fastq-trim>0:biology/fastq-trim \
+ fastqc>0:biology/fastqc \
+ ${PYTHON_PKGNAMEPREFIX}multiqc>0:biology/py-multiqc@${PY_FLAVOR} \
+ biolibc-tools>0:biology/biolibc-tools \
+ gffread>0:biology/gffread \
+ kallisto>0:biology/kallisto \
+ hisat2>0:biology/hisat2 \
+ rna-STAR>0:biology/star \
+ samtools>0:biology/samtools \
+ fasda>0:biology/fasda \
+ webbrowser>0:www/webbrowser \
+ curl>0:ftp/curl
+
+USES= metaport python
+
+.include <bsd.port.mk>
diff --git a/biology/rna-seq/distinfo b/biology/rna-seq/distinfo
new file mode 100644
index 000000000000..15d7e7d47e86
--- /dev/null
+++ b/biology/rna-seq/distinfo
@@ -0,0 +1 @@
+TIMESTAMP = 1690813968
diff --git a/biology/rna-seq/pkg-descr b/biology/rna-seq/pkg-descr
new file mode 100644
index 000000000000..f6986df491fc
--- /dev/null
+++ b/biology/rna-seq/pkg-descr
@@ -0,0 +1,2 @@
+Metaport to install tools for typical RNA-Seq analysis, including QC,
+adapter trimming, alignment, and differential analysis.
diff --git a/biology/ruby-bio/Makefile b/biology/ruby-bio/Makefile
index 59f60cc2f1f6..5aa20725809e 100644
--- a/biology/ruby-bio/Makefile
+++ b/biology/ruby-bio/Makefile
@@ -1,5 +1,3 @@
-# Created by: Akinori MUSHA aka knu <knu@idaemons.org>
-
PORTNAME= bio
PORTVERSION= 1.5.1
CATEGORIES= biology ruby
@@ -10,6 +8,7 @@ DIST_SUBDIR= ruby
MAINTAINER= mauricio@arareko.net
COMMENT= Integrated environment for Bioinformatics written in Ruby
+WWW= http://bioruby.org/
LICENSE= GPLv2 RUBY
LICENSE_COMB= dual
@@ -18,9 +17,7 @@ OPTIONS_DEFINE= BDB4 MYSQL PGSQL DOCS
BDB4_DESC= bdb4 support for faster flat file indexing
NO_ARCH= yes
-USES= shebangfix
-USE_RUBY= yes
-USE_RUBY_SETUP= yes
+USES= ruby:setup shebangfix
SHEBANG_FILES= sample/biofetch.rb
ruby_OLD_CMD= /usr/proj/bioruby/bin/ruby
@@ -28,6 +25,8 @@ BDB4_RUN_DEPENDS= ${RUBY_SITEARCHLIBDIR}/bdb.so:databases/ruby-bdb
MYSQL_RUN_DEPENDS= rubygem-dbd-mysql>=0:databases/rubygem-dbd-mysql
PGSQL_RUN_DEPENDS= rubygem-dbd-pg>=0:databases/rubygem-dbd-pg
+CONFLICTS_INSTALL= rubygem-bio-shell
+
post-patch:
${RUBY} -i -pe 'gsub(%r"(/etc/bioinformatics/)") { "${PREFIX}" + $$1 }' \
${WRKSRC}/doc/Tutorial.rd \
diff --git a/biology/ruby-bio/pkg-descr b/biology/ruby-bio/pkg-descr
index 29a2d7d8ebc8..909a761f115e 100644
--- a/biology/ruby-bio/pkg-descr
+++ b/biology/ruby-bio/pkg-descr
@@ -1,4 +1,2 @@
BioRuby project aims to implement integrated environment for
Bioinformatics by using Ruby.
-
-WWW: http://bioruby.org/
diff --git a/biology/rubygem-bio-executables/Makefile b/biology/rubygem-bio-executables/Makefile
index cf25234ac8a6..5d95e6f1a212 100644
--- a/biology/rubygem-bio-executables/Makefile
+++ b/biology/rubygem-bio-executables/Makefile
@@ -1,5 +1,3 @@
-# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
PORTNAME= bio-executables
PORTVERSION= 1.0.0
CATEGORIES= biology rubygems
@@ -7,6 +5,7 @@ MASTER_SITES= RG
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Collection of miscellaneous utilities for bioinformatics
+WWW= https://github.com/bioruby/bioruby-executables
LICENSE= BSD2CLAUSE RUBY
LICENSE_COMB= dual
@@ -17,7 +16,6 @@ RUN_DEPENDS= rubygem-bio>=2.0.0:biology/rubygem-bio \
rubygem-bio-old-biofetch-emulator>=0.0.1:biology/rubygem-bio-old-biofetch-emulator
USES= gem
-USE_RUBY= yes
NO_ARCH= yes
diff --git a/biology/rubygem-bio-executables/pkg-descr b/biology/rubygem-bio-executables/pkg-descr
index 4c7b3f8dbaba..0ffcafa50bee 100644
--- a/biology/rubygem-bio-executables/pkg-descr
+++ b/biology/rubygem-bio-executables/pkg-descr
@@ -5,5 +5,3 @@ complexity, they were moved to this gem.
This code has historically been part of the BioRuby gem, but has been split into
its own gem as part of an effort to modularize BioRuby. bio-executables and many
more plugins are available at biogems.info.
-
-WWW: https://github.com/bioruby/bioruby-executables
diff --git a/biology/rubygem-bio-old-biofetch-emulator/Makefile b/biology/rubygem-bio-old-biofetch-emulator/Makefile
index 3915f9c32906..9f7f76f36c8a 100644
--- a/biology/rubygem-bio-old-biofetch-emulator/Makefile
+++ b/biology/rubygem-bio-old-biofetch-emulator/Makefile
@@ -1,5 +1,3 @@
-# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
PORTNAME= bio-old-biofetch-emulator
PORTVERSION= 1.0.0
CATEGORIES= biology rubygems
@@ -7,6 +5,7 @@ MASTER_SITES= RG
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Emulate Bio::Fetch object
+WWW= https://github.com/ngoto/bioruby-old-biofetch-emulator
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
@@ -14,7 +13,6 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
RUN_DEPENDS= rubygem-bio>=1.4.2:biology/rubygem-bio
USES= gem
-USE_RUBY= yes
NO_ARCH= yes
diff --git a/biology/rubygem-bio-old-biofetch-emulator/pkg-descr b/biology/rubygem-bio-old-biofetch-emulator/pkg-descr
index 6a1c467bdd30..a5cf14e342ee 100644
--- a/biology/rubygem-bio-old-biofetch-emulator/pkg-descr
+++ b/biology/rubygem-bio-old-biofetch-emulator/pkg-descr
@@ -3,5 +3,3 @@ discontinued BioRuby BioFetch server were still alive. It overrides methods and
objects in Bio::Fetch, and if the old BioRuby BioFetch server's URL is given, it
intercepts all requests and converts them into existing web services such as
TogoWS, KEGG REST API, NCBI E-Utilities, and GenomeNet(genome.jp).
-
-WWW: https://github.com/ngoto/bioruby-old-biofetch-emulator
diff --git a/biology/rubygem-bio-shell/Makefile b/biology/rubygem-bio-shell/Makefile
index 8cc43f37f60d..dca9e7eca117 100644
--- a/biology/rubygem-bio-shell/Makefile
+++ b/biology/rubygem-bio-shell/Makefile
@@ -1,12 +1,11 @@
-# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
PORTNAME= bio-shell
-PORTVERSION= 1.0.0
+PORTVERSION= 1.0.1
CATEGORIES= biology rubygems
MASTER_SITES= RG
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Command-line interface on BioRuby
+WWW= https://github.com/bioruby/bioruby-shell
LICENSE= BSD2CLAUSE RUBY
LICENSE_COMB= dual
@@ -16,10 +15,11 @@ LICENSE_FILE_RUBY= ${WRKSRC}/COPYING
RUN_DEPENDS= rubygem-bio>=2.0.0:biology/rubygem-bio
USES= gem
-USE_RUBY= yes
NO_ARCH= yes
+CONFLICTS_INSTALL= ruby??-bio
+
PLIST_FILES= bin/bioruby
.include <bsd.port.mk>
diff --git a/biology/rubygem-bio-shell/distinfo b/biology/rubygem-bio-shell/distinfo
index 5f8a5cec4504..058101ce76ae 100644
--- a/biology/rubygem-bio-shell/distinfo
+++ b/biology/rubygem-bio-shell/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1595416511
-SHA256 (rubygem/bio-shell-1.0.0.gem) = 5a41c4226c12de49476bda8e59dd17ac3340b15cebc2f241842334d9de822528
-SIZE (rubygem/bio-shell-1.0.0.gem) = 46592
+TIMESTAMP = 1637073044
+SHA256 (rubygem/bio-shell-1.0.1.gem) = 0adddaab0e1579940820829b777d0f567859e914c2bb2feca3d6c9b12dfbe390
+SIZE (rubygem/bio-shell-1.0.1.gem) = 46592
diff --git a/biology/rubygem-bio-shell/pkg-descr b/biology/rubygem-bio-shell/pkg-descr
index 29237e3aa454..9fe8adfda16f 100644
--- a/biology/rubygem-bio-shell/pkg-descr
+++ b/biology/rubygem-bio-shell/pkg-descr
@@ -4,5 +4,3 @@ open source bioinformatics library for Ruby.
This code has historically been part of the BioRuby gem, but has been split into
its own gem as part of an effort to modularize BioRuby. bio-shell and many more
plugins are available at biogems.info.
-
-WWW: https://github.com/bioruby/bioruby-shell
diff --git a/biology/rubygem-bio/Makefile b/biology/rubygem-bio/Makefile
index ad5aae2f98e9..3cdfe9aab350 100644
--- a/biology/rubygem-bio/Makefile
+++ b/biology/rubygem-bio/Makefile
@@ -1,12 +1,11 @@
-# Created by: Wen Heping <wenheping@gmail.com>
-
PORTNAME= bio
-PORTVERSION= 2.0.2
+PORTVERSION= 2.0.5
CATEGORIES= biology rubygems
MASTER_SITES= RG
MAINTAINER= ruby@FreeBSD.org
COMMENT= Integrated environment for Bioinformatics written in Ruby
+WWW= http://bioruby.org/
LICENSE= BSD2CLAUSE RUBY
LICENSE_COMB= dual
@@ -14,7 +13,6 @@ LICENSE_FILE_BSD2CLAUSE=${WRKSRC}/BSDL
LICENSE_FILE_RUBY= ${WRKSRC}/COPYING
USES= gem
-USE_RUBY= yes
NO_ARCH= yes
diff --git a/biology/rubygem-bio/distinfo b/biology/rubygem-bio/distinfo
index 3163a1ec1806..df731be143a1 100644
--- a/biology/rubygem-bio/distinfo
+++ b/biology/rubygem-bio/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1624630240
-SHA256 (rubygem/bio-2.0.2.gem) = 0f2bb89842a58de5b5656691e8098f0376e162d8b848aa8928b95742ec77b625
-SIZE (rubygem/bio-2.0.2.gem) = 1351680
+TIMESTAMP = 1696002174
+SHA256 (rubygem/bio-2.0.5.gem) = 36001f30e792ba3e8b0b9ad4ed15941ac5b12a16835c02dc99f3ab34c7455a6b
+SIZE (rubygem/bio-2.0.5.gem) = 1378816
diff --git a/biology/rubygem-bio/pkg-descr b/biology/rubygem-bio/pkg-descr
index 29a2d7d8ebc8..909a761f115e 100644
--- a/biology/rubygem-bio/pkg-descr
+++ b/biology/rubygem-bio/pkg-descr
@@ -1,4 +1,2 @@
BioRuby project aims to implement integrated environment for
Bioinformatics by using Ruby.
-
-WWW: http://bioruby.org/
diff --git a/biology/salmon/Makefile b/biology/salmon/Makefile
new file mode 100644
index 000000000000..6113ea36748f
--- /dev/null
+++ b/biology/salmon/Makefile
@@ -0,0 +1,51 @@
+PORTNAME= salmon
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.10.2
+PORTREVISION= 3
+CATEGORIES= biology
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Transcript-level quantification of RNA-seq from lightweight alignments
+WWW= https://github.com/COMBINE-lab/salmon
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+NOT_FOR_ARCHS= armv6 armv7 i386 mips powerpc powerpcspe
+NOT_FOR_ARCHS_REASON= Requires 64-bit processor
+
+# libtool and auto* are run manually in submodules, so don't put them in USES
+BUILD_DEPENDS= bash:shells/bash \
+ cereal>=1.3.0:devel/cereal \
+ libgff==2.0.0:biology/libgff \
+ libtool:devel/libtool \
+ autoreconf:devel/autoconf \
+ aclocal:devel/automake
+LIB_DEPENDS= libboost_system.so:devel/boost-libs \
+ libtbb.so:devel/onetbb \
+ libcurl.so:ftp/curl
+
+USES= cmake:noninja gmake localbase shebangfix
+USE_GITHUB= yes
+
+GH_ACCOUNT= COMBINE-lab
+GH_TUPLE+= COMBINE-lab:pufferfish:salmon-v1.10.2:pf/external/pufferfish
+GH_TUPLE+= jkbonfield:io_lib:io_lib-1-14-15:sio/external/staden-io_lib
+GH_TUPLE+= samtools:htscodecs:5aecc6e:htscodec/external/staden-io_lib/htscodecs
+SHEBANG_FILES= scripts/*
+
+PLIST_FILES= bin/salmon
+CMAKE_ARGS+= -DHAVE_FAST_MALLOC:BOOL=on \
+ -DBOOST_ROOT:PATH=${LOCALBASE} \
+ -DFETCHED_PUFFERFISH:BOOL=on \
+ -DFETCHED_LIBGFF:BOOL=on \
+ -DFETCH_STADEN:BOOL=true
+LDFLAGS+= -lpthread
+
+pre-configure:
+ (cd ${WRKSRC}/external/staden-io_lib && ./bootstrap)
+
+do-install:
+ ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/src/salmon ${STAGEDIR}${PREFIX}/bin
+
+.include <bsd.port.mk>
diff --git a/biology/salmon/distinfo b/biology/salmon/distinfo
new file mode 100644
index 000000000000..42eb0d9ee404
--- /dev/null
+++ b/biology/salmon/distinfo
@@ -0,0 +1,9 @@
+TIMESTAMP = 1689958260
+SHA256 (COMBINE-lab-salmon-v1.10.2_GH0.tar.gz) = 976989182160fef3afb4429ee8b85d8dd39ed6ca212bb14d6a65cde0e985fb98
+SIZE (COMBINE-lab-salmon-v1.10.2_GH0.tar.gz) = 7193261
+SHA256 (COMBINE-lab-pufferfish-salmon-v1.10.2_GH0.tar.gz) = b90ce8079c375136d12e37bc23e451ae34a49d49c54f6cdd2050ba8add758ab4
+SIZE (COMBINE-lab-pufferfish-salmon-v1.10.2_GH0.tar.gz) = 3368053
+SHA256 (jkbonfield-io_lib-io_lib-1-14-15_GH0.tar.gz) = 4444c78846e49a493ff09d56d55ebe61140bb0a76ec5fa1c27eff13ec9dabd8b
+SIZE (jkbonfield-io_lib-io_lib-1-14-15_GH0.tar.gz) = 3382074
+SHA256 (samtools-htscodecs-5aecc6e_GH0.tar.gz) = 3abb6a8516761bf0db5149c3d6c077e2d540470180245c2afb1f4400158b1f54
+SIZE (samtools-htscodecs-5aecc6e_GH0.tar.gz) = 3191442
diff --git a/biology/salmon/files/patch-CMakeLists.txt b/biology/salmon/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..5a6bd2de2f02
--- /dev/null
+++ b/biology/salmon/files/patch-CMakeLists.txt
@@ -0,0 +1,123 @@
+--- CMakeLists.txt.orig 2023-07-21 14:03:31 UTC
++++ CMakeLists.txt
+@@ -310,14 +310,16 @@ endif()
+ # Grab pufferfish source --- DURING CONFIGURE TIME!
+ #
+ ####
+-if(NOT FETCHED_PUFFERFISH)
++
++# Fetched by GH_TUPLE in FreeBSD port
++# if(NOT FETCHED_PUFFERFISH)
+ exec_program(${CMAKE_CURRENT_SOURCE_DIR}/scripts/fetchPufferfish.sh RETURN_VALUE FETCH_PF_SCRIPT_RET)
+ message(STATUS "fetch PUFFERFISH exit code ${FETCH_PF_SCRIPT_RET}")
+ if(NOT (FETCH_PF_SCRIPT_RET EQUAL 0))
+ message(FATAL_ERROR "Could not fetch pufferfish source [fetchPufferfish.sh returned exit code ${FETCH_PF_SCRIPT_RET}].")
+ endif()
+ set(FETCHED_PUFFERFISH TRUE CACHE BOOL "Has pufferfish been fetched?" FORCE)
+-endif()
++# endif()
+
+ ##
+ # Super-secret override
+@@ -364,7 +366,10 @@ if(NOT Iconv_IS_BUILT_IN)
+ set(ICONV_LIB Iconv::Iconv)
+ endif()
+
+-find_package(LibLZMA)
++# lzma is in FreeBSD base
++# find_package(LibLZMA)
++set(LIBLZMA_FOUND TRUE)
++set(LIBLZMA_LIBRARIES /usr/lib/liblzma.a /usr/lib/libmd.a)
+ if(NOT LIBLZMA_FOUND)
+ message("Will attempt to fetch and build liblzma")
+ message("=======================================")
+@@ -381,8 +386,8 @@ externalproject_add(liblzma
+ INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+ BUILD_IN_SOURCE TRUE
+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/external/xz-5.2.2/configure --prefix=<INSTALL_DIR> CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CFLAGS=${EXTRA_CMAKE_INCLUDE_FLAGS} CPPFLAGS=${EXTRA_CMAKE_INCLUDE_FLAGS} LDFLAGS=${EXTRA_CMAKE_LIBRARY_FLAGS}
+- BUILD_COMMAND make ${QUIET_MAKE}
+- INSTALL_COMMAND make ${QUIET_MAKE} install
++ BUILD_COMMAND gmake ${QUIET_MAKE}
++ INSTALL_COMMAND gmake ${QUIET_MAKE} install
+ )
+
+ # Tell cmake that the external project generated a library so we can
+@@ -411,8 +416,8 @@ externalproject_add(libbz2
+ INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+ BUILD_IN_SOURCE TRUE
+ CONFIGURE_COMMAND ""
+- BUILD_COMMAND make ${QUIET_MAKE} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
+- INSTALL_COMMAND make ${QUIET_MAKE} install PREFIX=<INSTALL_DIR>
++ BUILD_COMMAND gmake ${QUIET_MAKE} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
++ INSTALL_COMMAND gmake ${QUIET_MAKE} install PREFIX=<INSTALL_DIR>
+ )
+ # Tell cmake that the external project generated a library so we can
+ # add dependencies here instead of later
+@@ -609,9 +614,11 @@ if (NOT CEREAL_FOUND)
+ endif()
+
+ ## Try and find TBB first
+-find_package(TBB 2021.4
+- HINTS ${TBB_ROOT_SEARCH}
+- COMPONENTS tbb tbbmalloc tbbmalloc_proxy)
++# find_package(TBB 2021.4
++# HINTS ${TBB_ROOT_SEARCH}
++# COMPONENTS tbb tbbmalloc tbbmalloc_proxy)
++# tbbmalloc_proxy is rolled into tbbmalloc in FreeBSD ports
++find_package(TBB 2021.4 COMPONENTS tbb tbbmalloc)
+
+ if (${TBB_FOUND})
+ if (${TBB_VERSION} VERSION_GREATER_EQUAL 2021.4)
+@@ -791,22 +798,16 @@ endif()
+ if (NOT LIBSTADENIO_FOUND)
+ message("Build system will compile Staden IOLib")
+ message("==================================================================")
++ # stadenio is downloaded by GH_TUPLE in FreeBSD port
+ externalproject_add(libstadenio
+- DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- DOWNLOAD_COMMAND curl -k -L https://github.com/jkbonfield/io_lib/releases/download/io_lib-1-14-15/io_lib-1.14.15.tar.gz -o staden-io_lib-v1.14.15.tar.gz &&
+- ${SHASUM} 20814c4365e1e2fe6630fb11d0df370dec4c5688af3871de7f1cb0129671401e staden-io_lib-v1.14.15.tar.gz &&
+- mkdir -p staden-io_lib-1.14.15 &&
+- tar -xzf staden-io_lib-v1.14.15.tar.gz --strip-components=1 -C staden-io_lib-1.14.15 &&
+- rm -fr staden-io_lib &&
+- mv -f staden-io_lib-1.14.15 staden-io_lib
+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/staden-io_lib
+ INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+ CONFIGURE_COMMAND ./configure --enable-shared=no --without-libcurl --prefix=<INSTALL_DIR> LDFLAGS=${LIBSTADEN_LDFLAGS} CFLAGS=${LIBSTADEN_CFLAGS} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
+- BUILD_COMMAND make ${QUIET_MAKE} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CFLAGS+=${STADEN_INC} CFLAGS+=${STADEN_LIB} LDFLAGS+=${EXTRA_CMAKE_LIBRARY_FLAGS} CFLAGS+=${EXTRA_CMAKE_INCLUDE_FLAGS} CFLAGS+=${LZFLAG} CFLAGS+=${SCHAR_FLAG}
++ BUILD_COMMAND gmake ${QUIET_MAKE} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CFLAGS+=${STADEN_INC} CFLAGS+=${STADEN_LIB} LDFLAGS+=${EXTRA_CMAKE_LIBRARY_FLAGS} CFLAGS+=${EXTRA_CMAKE_INCLUDE_FLAGS} CFLAGS+=${LZFLAG} CFLAGS+=${SCHAR_FLAG}
+
+
+ BUILD_IN_SOURCE 1
+- INSTALL_COMMAND make install
++ INSTALL_COMMAND gmake install
+ )
+ if(NOT LIBLZMA_FOUND)
+ ExternalProject_Add_StepDependencies(libstadenio build liblzma)
+@@ -820,23 +821,9 @@ if (ASAN_BUILD)
+ set(FAST_MALLOC_LIB "")
+ set(HAVE_FAST_MALLOC TRUE)
+ else()
+- set(FAST_MALLOC_LIB "")
+- set(HAVE_FAST_MALLOC FALSE)
+-
+- # See if we have Jemalloc
+- find_package(Jemalloc)
+- if(Jemalloc_FOUND)
+- ##
+- # Don't be so stringent about the version yet
+- ##
+- #if (NOT (${JEMALLOC_VERSION} VERSION_LESS 5.2.1))
+- message("Found Jemalloc library --- using this memory allocator")
+- set(FAST_MALLOC_LIB ${JEMALLOC_LIBRARIES})
+- set(HAVE_FAST_MALLOC TRUE)
+- #else()
+- # message("Fond Jemalloc version ${JEMALLOC_VERSION}, but require >= 5.2.1. Downloading newer version")
+- #endif()
+- endif()
++ # jemalloc is default on FreeBSD
++ set(FAST_MALLOC_LIB "/usr/lib/libc.so")
++ set(HAVE_FAST_MALLOC TRUE)
+ endif()
+
+ if(CONDA_BUILD)
diff --git a/biology/salmon/files/patch-external_pufferfish_CMakeLists.txt b/biology/salmon/files/patch-external_pufferfish_CMakeLists.txt
new file mode 100644
index 000000000000..d6c7695325fc
--- /dev/null
+++ b/biology/salmon/files/patch-external_pufferfish_CMakeLists.txt
@@ -0,0 +1,23 @@
+--- external/pufferfish/CMakeLists.txt.orig 2023-06-26 19:34:50 UTC
++++ external/pufferfish/CMakeLists.txt
+@@ -135,7 +135,7 @@ set(WARN_ALL_THINGS "-fdiagnostics-color=always;-Wall;
+
+
+ set(OPT_FLAGS "-DHAVE_SIMDE;-D__STDC_FORMAT_MACROS;-DSTX_NO_STD_STRING_VIEW;-O3;-fPIC;-DNDEBUG;-funroll-loops;-ftree-vectorize;-fno-strict-aliasing")
+-set(DEBUG_FLAGS "-DHAVE_SIMDE;-D__STDC_FORMAT_MACROS;-DSTX_NO_STD_STRING_VIEW;-pg;-g;-gstabs")
++set(DEBUG_FLAGS "-DHAVE_SIMDE;-D__STDC_FORMAT_MACROS;-DSTX_NO_STD_STRING_VIEW;-g")
+
+ ##
+ # OSX is strange (some might say, stupid in this regard). Deal with it's quirkines here.
+@@ -188,11 +188,6 @@ endif()
+ ##
+ set(SHASUM ${CMAKE_CURRENT_SOURCE_DIR}/scripts/check_shasum.sh)
+
+-
+-find_package(Jemalloc)
+-if(JEMALLOC_FOUND)
+- include_directories(SYSTEM ${JEMALLOC_INCLUDE_DIRS})
+-endif()
+
+ if(DO_QUIET_MAKE)
+ set(QUIET_MAKE "--silent")
diff --git a/biology/salmon/files/patch-external_pufferfish_external_twopaco_graphconstructor_assemblyedgeconstructor.h b/biology/salmon/files/patch-external_pufferfish_external_twopaco_graphconstructor_assemblyedgeconstructor.h
new file mode 100644
index 000000000000..bc022a2e0574
--- /dev/null
+++ b/biology/salmon/files/patch-external_pufferfish_external_twopaco_graphconstructor_assemblyedgeconstructor.h
@@ -0,0 +1,22 @@
+--- external/pufferfish/external/twopaco/graphconstructor/assemblyedgeconstructor.h.orig 2021-12-05 16:28:24 UTC
++++ external/pufferfish/external/twopaco/graphconstructor/assemblyedgeconstructor.h
+@@ -30,10 +30,10 @@ namespace TwoPaCo
+ {
+ std::string vertex = chr.substr(i, vertexLength);
+ //Check if the Bloom filter contains an edge
+- assert(IsOutgoingEdgeInBloomFilter(hash, *bloomFilter, chr[i + edgeLength - 1]));
++ // assert(IsOutgoingEdgeInBloomFilter(hash, *bloomFilter, chr[i + edgeLength - 1]));
+ if (i > 0)
+ {
+- assert(IsIngoingEdgeInBloomFilter(hash, *bloomFilter, chr[i - 1]));
++ // assert(IsIngoingEdgeInBloomFilter(hash, *bloomFilter, chr[i - 1]));
+ }
+
+ //Check the if the vertex is a junction
+@@ -58,4 +58,4 @@ namespace TwoPaCo
+
+ }
+
+-#endif
+\ No newline at end of file
++#endif
diff --git a/biology/salmon/files/patch-external_pufferfish_include_ghc_filesystem.hpp b/biology/salmon/files/patch-external_pufferfish_include_ghc_filesystem.hpp
new file mode 100644
index 000000000000..9a68eb2fc64c
--- /dev/null
+++ b/biology/salmon/files/patch-external_pufferfish_include_ghc_filesystem.hpp
@@ -0,0 +1,11 @@
+--- external/pufferfish/include/ghc/filesystem.hpp.orig 2021-11-22 21:10:29 UTC
++++ external/pufferfish/include/ghc/filesystem.hpp
+@@ -50,6 +50,8 @@
+
+ #if defined(__APPLE__) && defined(__MACH__)
+ #define GHC_OS_MACOS
++#elif defined(__FreeBSD__)
++#define GHC_OS_FREEBSD
+ #elif defined(__linux__)
+ #define GHC_OS_LINUX
+ #elif defined(_WIN64)
diff --git a/biology/salmon/files/patch-external_pufferfish_include_zstr_strict__fstream.hpp b/biology/salmon/files/patch-external_pufferfish_include_zstr_strict__fstream.hpp
new file mode 100644
index 000000000000..040d7ad39327
--- /dev/null
+++ b/biology/salmon/files/patch-external_pufferfish_include_zstr_strict__fstream.hpp
@@ -0,0 +1,11 @@
+--- external/pufferfish/include/zstr/strict_fstream.hpp.orig 2021-11-22 21:10:29 UTC
++++ external/pufferfish/include/zstr/strict_fstream.hpp
+@@ -27,7 +27,7 @@ static std::string strerror()
+ {
+ buff = "Unknown error";
+ }
+-#elif (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE || defined(__APPLE__)
++#elif (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE || defined(__APPLE__) || defined(__FreeBSD__)
+ // XSI-compliant strerror_r()
+ if (strerror_r(errno, &buff[0], buff.size()) != 0)
+ {
diff --git a/biology/salmon/files/patch-include_strict__fstream.hpp b/biology/salmon/files/patch-include_strict__fstream.hpp
new file mode 100644
index 000000000000..fbd5deb7ad59
--- /dev/null
+++ b/biology/salmon/files/patch-include_strict__fstream.hpp
@@ -0,0 +1,11 @@
+--- include/strict_fstream.hpp.orig 2021-12-05 17:11:36 UTC
++++ include/strict_fstream.hpp
+@@ -27,7 +27,7 @@ static std::string strerror()
+ {
+ buff = "Unknown error";
+ }
+-#elif (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE || defined(__APPLE__)
++#elif (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE || defined(__APPLE__) || defined(__FreeBSD__)
+ // XSI-compliant strerror_r()
+ if (strerror_r(errno, &buff[0], buff.size()) != 0)
+ {
diff --git a/biology/salmon/files/patch-scripts_fetchPufferfish.sh b/biology/salmon/files/patch-scripts_fetchPufferfish.sh
new file mode 100644
index 000000000000..566493a5e7ee
--- /dev/null
+++ b/biology/salmon/files/patch-scripts_fetchPufferfish.sh
@@ -0,0 +1,57 @@
+--- scripts/fetchPufferfish.sh.orig 2023-07-21 13:59:29 UTC
++++ scripts/fetchPufferfish.sh
+@@ -11,52 +11,12 @@ CURR_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && p
+ EXTERNAL_DIR=${CURR_DIR}/../external
+ INSTALL_DIR=${CURR_DIR}/../external/install
+
+-if [ -d ${EXTERNAL_DIR}/pufferfish ] ; then
+- rm -fr ${EXTERNAL_DIR}/pufferfish
+-fi
++# Pufferfish is downloaded using GH_TUPLE in the FreeBSD port, so remove
++# code here that downloads and unpacks
+
+-if [ -d ${INSTALL_DIR}/include/pufferfish ] ; then
+- rm -fr ${INSTALL_DIR}/include/pufferfish
+-fi
+-
+-if [ -d ${INSTALL_DIR}/src/pufferfish ] ; then
+- rm -fr ${INSTALL_DIR}/src/pufferfish
+-fi
+-
+ SVER=salmon-v1.10.2
+ #SVER=develop
+ #SVER=sketch-mode
+-
+-EXPECTED_SHA256=f225b74833f71dcf767a565345224357fb091f90ce79717abc836814d9ccd101
+-
+-mkdir -p ${EXTERNAL_DIR}
+-curl -k -L https://github.com/COMBINE-lab/pufferfish/archive/${SVER}.zip -o ${EXTERNAL_DIR}/pufferfish.zip
+-
+-hashcheck=""
+-if exists sha256sum; then
+- hashcheck="sha256sum"
+-elif exists shasum; then
+- hashcheck="shasum -a256"
+-else
+- unset hashcheck
+-fi
+-
+-
+-if [ -z "${hashcheck-}" ]; then
+- echo "Couldn't find shasum command; can't verify contents of downloaded pufferfish";
+-else
+-
+- if [[ $SVER != develop && $SVER != onetbb ]]; then
+- echo "${EXPECTED_SHA256} ${EXTERNAL_DIR}/pufferfish.zip" | ${hashcheck} -c - || { echo "pufferfish.zip did not match expected SHA1! Exiting."; exit 1; }
+- else
+- echo "not testing sha since pulling from develop"
+- fi
+-fi
+-
+-
+-rm -fr ${EXTERNAL_DIR}/pufferfish
+-unzip ${EXTERNAL_DIR}/pufferfish.zip -d ${EXTERNAL_DIR}
+-mv ${EXTERNAL_DIR}/pufferfish-${SVER} ${EXTERNAL_DIR}/pufferfish
+
+ mkdir -p ${INSTALL_DIR}/include/pufferfish
+
diff --git a/biology/salmon/files/patch-src_CMakeLists.txt b/biology/salmon/files/patch-src_CMakeLists.txt
new file mode 100644
index 000000000000..2cc68fcd9692
--- /dev/null
+++ b/biology/salmon/files/patch-src_CMakeLists.txt
@@ -0,0 +1,18 @@
+--- src/CMakeLists.txt.orig 2021-11-23 02:42:29 UTC
++++ src/CMakeLists.txt
+@@ -266,14 +266,7 @@ endif()
+
+ add_dependencies(salmon unitTests)
+
+-##
+-# External dependencies of salmon_core and salmon
+-##
+-if (${FETCHED_JEMALLOC})
+- add_dependencies(alevin_core libjemalloc)
+- add_dependencies(salmon_core libjemalloc)
+- add_dependencies(salmon libjemalloc)
+-endif()
++# jemalloc is default on FreeBSD
+
+ if (${FETCHED_BOOST})
+ ## PUFF_INTEGRATION
diff --git a/biology/salmon/pkg-descr b/biology/salmon/pkg-descr
new file mode 100644
index 000000000000..5ec82abec043
--- /dev/null
+++ b/biology/salmon/pkg-descr
@@ -0,0 +1,7 @@
+Salmon is a wicked-fast program to produce a highly-accurate,
+transcript-level quantification estimates from RNA-seq data. Salmon
+achieves is accuracy and speed via a number of different innovations,
+including the use of quasi-mapping (accurate but fast-to-compute
+proxies for traditional read alignments), and massively-parallel
+stochastic collapsed variational inference. The result is a versatile
+tool that fits nicely into many differnt pipelines.
diff --git a/biology/sam2pairwise/Makefile b/biology/sam2pairwise/Makefile
index dd578353e5a9..411050625902 100644
--- a/biology/sam2pairwise/Makefile
+++ b/biology/sam2pairwise/Makefile
@@ -5,6 +5,7 @@ CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Show pairwise alignment for each read in a SAM file
+WWW= https://github.com/mlafave/sam2pairwise
LICENSE= MIT
LICENSE_FILE= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/LICENSE
diff --git a/biology/sam2pairwise/pkg-descr b/biology/sam2pairwise/pkg-descr
index 800de1d7998e..e3a8d5e7f3fe 100644
--- a/biology/sam2pairwise/pkg-descr
+++ b/biology/sam2pairwise/pkg-descr
@@ -1,4 +1,2 @@
sam2pairwise takes a SAM file and uses the CIGAR and MD tag to
reconstruct the pairwise alignment of each read.
-
-WWW: https://github.com/mlafave/sam2pairwise
diff --git a/biology/samtools/Makefile b/biology/samtools/Makefile
index 46edd3abaed1..85603f8c1cc8 100644
--- a/biology/samtools/Makefile
+++ b/biology/samtools/Makefile
@@ -1,11 +1,11 @@
-# Created by: Reed A. Cartwright <cartwright@asu.edu>
-
PORTNAME= samtools
-DISTVERSION= 1.13
+DISTVERSION= 1.17
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Tools for manipulating next-generation sequencing data
+WWW= https://www.htslib.org/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -19,6 +19,7 @@ USE_GITHUB= yes
USE_PERL5= test
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
SHEBANG_FILES= misc/*.pl misc/plot-bamstats test/test.pl
TEST_TARGET= test
diff --git a/biology/samtools/distinfo b/biology/samtools/distinfo
index 05b964d202a9..55c01a4de639 100644
--- a/biology/samtools/distinfo
+++ b/biology/samtools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1626039854
-SHA256 (samtools-samtools-1.13_GH0.tar.gz) = 21621a2dd6f31b00c9184d31566e73a1c7fc0c1c2de62db125848fbdbc81448f
-SIZE (samtools-samtools-1.13_GH0.tar.gz) = 4550467
+TIMESTAMP = 1677245969
+SHA256 (samtools-samtools-1.17_GH0.tar.gz) = f76ec1880468ecaa5341a7256ae896f2cfb191193dbb683046776fb81e18af49
+SIZE (samtools-samtools-1.17_GH0.tar.gz) = 5459752
diff --git a/biology/samtools/pkg-descr b/biology/samtools/pkg-descr
index ee9b6e47fa84..23d11d1c81f7 100644
--- a/biology/samtools/pkg-descr
+++ b/biology/samtools/pkg-descr
@@ -1,5 +1,3 @@
Samtools implements various utilities for post-processing alignments in the
SAM, BAM, and CRAM formats, including indexing, variant calling (in conjunction
with bcftools), and a simple alignment viewer.
-
-WWW: http://www.htslib.org/
diff --git a/biology/samtools/pkg-plist b/biology/samtools/pkg-plist
index 8bfb1cbe8be8..2ef37918b44f 100644
--- a/biology/samtools/pkg-plist
+++ b/biology/samtools/pkg-plist
@@ -20,39 +20,45 @@ bin/soap2sam.pl
bin/wgsim
bin/wgsim_eval.pl
bin/zoom2sam.pl
-man/man1/samtools-addreplacerg.1.gz
-man/man1/samtools-ampliconclip.1.gz
-man/man1/samtools-ampliconstats.1.gz
-man/man1/samtools-bedcov.1.gz
-man/man1/samtools-calmd.1.gz
-man/man1/samtools-cat.1.gz
-man/man1/samtools-collate.1.gz
-man/man1/samtools-coverage.1.gz
-man/man1/samtools-depad.1.gz
-man/man1/samtools-depth.1.gz
-man/man1/samtools-dict.1.gz
-man/man1/samtools-faidx.1.gz
-man/man1/samtools-fasta.1.gz
-man/man1/samtools-fastq.1.gz
-man/man1/samtools-fixmate.1.gz
-man/man1/samtools-flags.1.gz
-man/man1/samtools-flagstat.1.gz
-man/man1/samtools-fqidx.1.gz
-man/man1/samtools-idxstats.1.gz
-man/man1/samtools-import.1.gz
-man/man1/samtools-index.1.gz
-man/man1/samtools-markdup.1.gz
-man/man1/samtools-merge.1.gz
-man/man1/samtools-mpileup.1.gz
-man/man1/samtools-phase.1.gz
-man/man1/samtools-quickcheck.1.gz
-man/man1/samtools-reheader.1.gz
-man/man1/samtools-rmdup.1.gz
-man/man1/samtools-sort.1.gz
-man/man1/samtools-split.1.gz
-man/man1/samtools-stats.1.gz
-man/man1/samtools-targetcut.1.gz
-man/man1/samtools-tview.1.gz
-man/man1/samtools-view.1.gz
-man/man1/samtools.1.gz
-man/man1/wgsim.1.gz
+share/man/man1/samtools-addreplacerg.1.gz
+share/man/man1/samtools-ampliconclip.1.gz
+share/man/man1/samtools-ampliconstats.1.gz
+share/man/man1/samtools-bedcov.1.gz
+share/man/man1/samtools-calmd.1.gz
+share/man/man1/samtools-cat.1.gz
+share/man/man1/samtools-collate.1.gz
+share/man/man1/samtools-consensus.1.gz
+share/man/man1/samtools-coverage.1.gz
+share/man/man1/samtools-cram-size.1.gz
+share/man/man1/samtools-depad.1.gz
+share/man/man1/samtools-depth.1.gz
+share/man/man1/samtools-dict.1.gz
+share/man/man1/samtools-faidx.1.gz
+share/man/man1/samtools-fasta.1.gz
+share/man/man1/samtools-fastq.1.gz
+share/man/man1/samtools-fixmate.1.gz
+share/man/man1/samtools-flags.1.gz
+share/man/man1/samtools-flagstat.1.gz
+share/man/man1/samtools-fqidx.1.gz
+share/man/man1/samtools-head.1.gz
+share/man/man1/samtools-idxstats.1.gz
+share/man/man1/samtools-import.1.gz
+share/man/man1/samtools-index.1.gz
+share/man/man1/samtools-markdup.1.gz
+share/man/man1/samtools-merge.1.gz
+share/man/man1/samtools-mpileup.1.gz
+share/man/man1/samtools-phase.1.gz
+share/man/man1/samtools-quickcheck.1.gz
+share/man/man1/samtools-reference.1.gz
+share/man/man1/samtools-reheader.1.gz
+share/man/man1/samtools-reset.1.gz
+share/man/man1/samtools-rmdup.1.gz
+share/man/man1/samtools-samples.1.gz
+share/man/man1/samtools-sort.1.gz
+share/man/man1/samtools-split.1.gz
+share/man/man1/samtools-stats.1.gz
+share/man/man1/samtools-targetcut.1.gz
+share/man/man1/samtools-tview.1.gz
+share/man/man1/samtools-view.1.gz
+share/man/man1/samtools.1.gz
+share/man/man1/wgsim.1.gz
diff --git a/biology/scrm/Makefile b/biology/scrm/Makefile
index 875f5e2cd257..c49344f58718 100644
--- a/biology/scrm/Makefile
+++ b/biology/scrm/Makefile
@@ -1,10 +1,12 @@
PORTNAME= scrm
DISTVERSIONPREFIX= v
DISTVERSION= 1.7.4
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= Coalescent simulator for biological sequences
+WWW= https://scrm.github.io/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -13,8 +15,9 @@ USES= autoreconf compiler:c++11-lang gmake
USE_GITHUB= yes
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
PLIST_FILES= bin/scrm \
- man/man1/scrm.1.gz
+ share/man/man1/scrm.1.gz
.include <bsd.port.mk>
diff --git a/biology/scrm/pkg-descr b/biology/scrm/pkg-descr
index 99d784f7fdf9..96bb733dff22 100644
--- a/biology/scrm/pkg-descr
+++ b/biology/scrm/pkg-descr
@@ -4,5 +4,3 @@ the model. As coalescent simulator, it traces the ancestry of the sampled
sequences backwards in time and is therefore extremely efficient. Compared to
other coalescent simulators, it can simulate chromosome-scale sequences without
a measureable reduction of genetic linkage between different sites.
-
-WWW: https://scrm.github.io/
diff --git a/biology/seaview/Makefile b/biology/seaview/Makefile
index 3508d87dfddc..b13e8a457bb0 100644
--- a/biology/seaview/Makefile
+++ b/biology/seaview/Makefile
@@ -1,7 +1,6 @@
-# Created by: frankch@waru.life.nthu.edu.tw
-
PORTNAME= seaview
-PORTVERSION= 5.0.4
+PORTVERSION= 5.0.5
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= biology
MASTER_SITES= ftp://pbil.univ-lyon1.fr/pub/mol_phylogeny/seaview/archive/
@@ -9,6 +8,7 @@ DISTNAME= ${PORTNAME}_${PORTVERSION}
MAINTAINER= bofh@FreeBSD.org
COMMENT= Multiple DNA/protein sequence alignment editor
+WWW= https://doua.prabi.fr/software/seaview
LICENSE= GPLv3
@@ -37,16 +37,13 @@ post-patch:
${REINPLACE_CMD} -e \
's|^\(CC\) |#\1 | ; s|-ldl || ; \
s|^\(CXX\) |#\1 |' ${WRKSRC}/Makefile
- ${REINPLACE_CMD} -E \
- '/firstplotblock|javarun|\*progname/s,^,extern ,' \
- ${WRKSRC}/csrc/phylip.h ${WRKSRC}/csrc/protpars.c
${ECHO_CMD} 'boolean javarun;' >> ${WRKSRC}/csrc/phylip.c
do-install:
(cd ${WRKSRC} && ${INSTALL_PROGRAM} seaview \
${STAGEDIR}${PREFIX}/bin)
(cd ${WRKSRC} && ${INSTALL_MAN} seaview.1 \
- ${STAGEDIR}${MANPREFIX}/man/man1)
+ ${STAGEDIR}${PREFIX}/share/man/man1)
${MKDIR} ${STAGEDIR}${DATADIR}
(cd ${WRKSRC} && ${INSTALL_DATA} seaview.html \
${STAGEDIR}${DATADIR})
diff --git a/biology/seaview/distinfo b/biology/seaview/distinfo
index 808ce3214db5..7afee1b07658 100644
--- a/biology/seaview/distinfo
+++ b/biology/seaview/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1592674569
-SHA256 (seaview_5.0.4.tar.gz) = e153e7fe1dd0b466ce7a00e8b78d5d232aa26063ab82f78eb43811780c41d727
-SIZE (seaview_5.0.4.tar.gz) = 472837
+TIMESTAMP = 1638663734
+SHA256 (seaview_5.0.5.tar.gz) = ce8f5e98ba47883bfa91e91bc79e4d3a26f158dd9983b5e78331a452a4b1f8f2
+SIZE (seaview_5.0.5.tar.gz) = 471739
diff --git a/biology/seaview/files/patch-csrc_dnapars.c b/biology/seaview/files/patch-csrc_dnapars.c
deleted file mode 100644
index ecf81d66f4ae..000000000000
--- a/biology/seaview/files/patch-csrc_dnapars.c
+++ /dev/null
@@ -1,70 +0,0 @@
---- csrc/dnapars.c.orig 2019-11-29 14:00:33 UTC
-+++ csrc/dnapars.c
-@@ -77,41 +77,44 @@ void load_tree(long treei);
- /* function prototypes */
-
-
--Char infilename[FNMLNGTH], outfilename[FNMLNGTH], intreename[FNMLNGTH], *outtreename,
-+extern Char infilename[FNMLNGTH], outfilename[FNMLNGTH], intreename[FNMLNGTH], *outtreename,
- weightfilename[FNMLNGTH];
- char basechar[32]="ACMGRSVTWYHKDBNO???????????????";
--node *root;
--long chars, col, msets, ith, njumble, jumb, maxtrees;
-+extern node *root;
-+extern long chars, col, msets, ith, njumble, jumb;
-+long maxtrees;
- /* chars = number of sites in actual sequences */
--long inseed, inseed0;
--double threshold;
--boolean jumble, usertree, thresh, weights, thorough, rearrfirst,
-- trout, progress, stepbox, ancseq, mulsets, justwts, firstset, mulf,
-- multf;
-+extern long inseed, inseed0;
-+extern double threshold;
-+extern boolean jumble, usertree, thresh, weights,
-+ trout, progress, stepbox, ancseq, mulsets, justwts, firstset;
-+boolean thorough, rearrfirst, mulf, multf;
- steptr oldweight;
--longer seed;
--pointarray treenode; /* pointers to all nodes in tree */
--long *enterorder;
-+extern longer seed;
-+extern pointarray treenode; /* pointers to all nodes in tree */
-+extern long *enterorder;
- long *zeros;
-
- /* local variables for Pascal maketree, propagated globally for C version: */
-
--long minwhich;
-+extern long minwhich;
- static double like, minsteps, bestyet, bestlike, bstlike2;
--boolean lastrearr, recompute;
--double nsteps[maxuser];
--long **fsteps;
--node *there, *oldnufork;
--long *place;
--bestelm *bestrees;
--long *threshwt;
-+extern boolean lastrearr, recompute;
-+extern double nsteps[maxuser];
-+extern long **fsteps;
-+extern node *there;
-+node *oldnufork;
-+extern long *place;
-+extern bestelm *bestrees;
-+extern long *threshwt;
- baseptr nothing;
--gbases *garbage;
--node *temp, *temp1, *temp2, *tempsum, *temprm, *tempadd, *tempf, *tmp, *tmp1,
-+extern gbases *garbage;
-+extern node *temp, *temp1;
-+node *temp2, *tempsum, *temprm, *tempadd, *tempf, *tmp, *tmp1,
- *tmp2, *tmp3, *tmprm, *tmpadd;
--boolean *names;
-+extern boolean *names;
- node *grbg;
--char *progname;
-+extern char *progname;
-
-
- static void getoptions(int arg_maxtrees, dnapars_S_option s_option)
diff --git a/biology/seaview/pkg-descr b/biology/seaview/pkg-descr
index ab566028b34a..036e8d1bb3c9 100644
--- a/biology/seaview/pkg-descr
+++ b/biology/seaview/pkg-descr
@@ -9,5 +9,3 @@ the 'Help' button to learn how to use SeaView.
Example mase files can be found at:
ftp://pbil.univ-lyon1.fr/pub/mol_phylogeny/seaview/
-
-WWW: http://doua.prabi.fr/software/seaview
diff --git a/biology/seaview/pkg-plist b/biology/seaview/pkg-plist
index 770970556124..3f647a99c7e0 100644
--- a/biology/seaview/pkg-plist
+++ b/biology/seaview/pkg-plist
@@ -1,4 +1,4 @@
bin/seaview
-man/man1/seaview.1.gz
+share/man/man1/seaview.1.gz
%%DATADIR%%/seaview.html
share/pixmaps/seaview.xpm
diff --git a/biology/seqan-apps/Makefile b/biology/seqan-apps/Makefile
index 01879b514c32..ab12a61d51af 100644
--- a/biology/seqan-apps/Makefile
+++ b/biology/seqan-apps/Makefile
@@ -1,20 +1,20 @@
-# Created by: Hannes Hauswedell <h2+fbsdports@fsfe.org>
-
PORTNAME= seqan-apps
DISTVERSIONPREFIX= seqan-v
DISTVERSION= 2.4.0
-PORTREVISION= 9
+PORTREVISION= 11
CATEGORIES= biology
MAINTAINER= h2+fbsdports@fsfe.org
COMMENT= Official bioinformatic applications based on the SeqAn library
+WWW= https://www.seqan.de/
LICENSE= BSD3CLAUSE LGPL3 GPLv3
LICENSE_COMB= multi
BUILD_DEPENDS= boost-libs>0:devel/boost-libs
-USES= cmake compiler:openmp # once #199603 is resolved, add c++14-lang
+USES= cmake compiler:c++14-lang
+USE_CXXSTD= c++14
USE_GITHUB= yes
GH_ACCOUNT= seqan
GH_PROJECT= seqan
@@ -37,8 +37,4 @@ PLIST_SUB+= RM_I386="@comment "
PLIST_SUB+= RM_I386=""
.endif
-.if ${ARCH:Mmips*} || ${ARCH:Mpowerpc*} || ${ARCH} == sparc64
-USE_GCC= yes
-.endif
-
.include <bsd.port.post.mk>
diff --git a/biology/seqan-apps/pkg-descr b/biology/seqan-apps/pkg-descr
index b9f4fb929dff..5cf16c6e1dac 100644
--- a/biology/seqan-apps/pkg-descr
+++ b/biology/seqan-apps/pkg-descr
@@ -7,5 +7,3 @@ within the SeqAn project. Among them are famous read mappers
like RazerS and Yara, as well as many other tools. Some
applications are packaged separately and the library
can be found at biology/seqan.
-
-WWW: http://www.seqan.de/
diff --git a/biology/seqan-apps/pkg-plist b/biology/seqan-apps/pkg-plist
index 8b8e5ba425e3..8894fb03de0f 100644
--- a/biology/seqan-apps/pkg-plist
+++ b/biology/seqan-apps/pkg-plist
@@ -48,7 +48,7 @@ bin/stellar
bin/tree_recon
bin/yara_indexer
bin/yara_mapper
-man/man1/sak.1.gz
+share/man/man1/sak.1.gz
share/doc/alf/LICENSE
share/doc/alf/README
share/doc/alf/example/small.fasta
diff --git a/biology/seqan/Makefile b/biology/seqan/Makefile
index 7ed81b7b9283..dced6aed65a5 100644
--- a/biology/seqan/Makefile
+++ b/biology/seqan/Makefile
@@ -1,5 +1,3 @@
-# Created by: h2
-
PORTNAME= seqan
DISTVERSION= 2.4.0
CATEGORIES= biology
@@ -8,6 +6,7 @@ DISTNAME= ${PORTNAME}-library-${PORTVERSION}
MAINTAINER= h2+fbsdports@fsfe.org
COMMENT= C++ sequence analysis template library
+WWW= https://www.seqan.de/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/share/doc/seqan/LICENSE
@@ -16,7 +15,7 @@ USES= tar:xz
NO_BUILD= yes
NO_ARCH= yes
-CONFLICTS= seqan1-[0-9]*
+CONFLICTS= seqan1
OPTIONS_DEFINE= DOCS
diff --git a/biology/seqan/pkg-descr b/biology/seqan/pkg-descr
index 890a5a4e160d..146075c6b4a0 100644
--- a/biology/seqan/pkg-descr
+++ b/biology/seqan/pkg-descr
@@ -5,5 +5,3 @@ focus on biological data. The library is licensed under the
This port only contains the header library and API documentation.
The apps are installed by biology/seqan-apps.
-
-WWW: https://www.seqan.de/
diff --git a/biology/seqan1/Makefile b/biology/seqan1/Makefile
index 5ca1ae722732..41df12e1622a 100644
--- a/biology/seqan1/Makefile
+++ b/biology/seqan1/Makefile
@@ -1,5 +1,3 @@
-# Created by: h2
-
PORTNAME= seqan
PORTVERSION= 1.3.1
PORTREVISION= 4
@@ -9,6 +7,7 @@ PKGNAMESUFFIX= 1
MAINTAINER= h2+fbsdports@fsfe.org
COMMENT= C++ Sequence Analysis Library
+WWW= https://www.seqan.de/
LICENSE= BSD3CLAUSE
LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/seqan/LICENSE
@@ -16,7 +15,7 @@ LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/seqan/LICENSE
USES= zip
NO_BUILD= yes
-CONFLICTS= seqan-[2-9]*
+CONFLICTS_INSTALL= seqan # include/seqan/align.h
OPTIONS_DEFINE= DOCS
diff --git a/biology/seqan1/pkg-descr b/biology/seqan1/pkg-descr
index 98e902c816b6..68abaf345515 100644
--- a/biology/seqan1/pkg-descr
+++ b/biology/seqan1/pkg-descr
@@ -6,5 +6,3 @@ This port includes only the library, the apps have been
moved to biology/seqan-apps. This is the last release of
the version 1 API, it is highly recommended to upgrade to
biology/seqan (version 2).
-
-WWW: http://www.seqan.de/
diff --git a/biology/seqan3/Makefile b/biology/seqan3/Makefile
index c4a9e6453274..9c8fc69ba93e 100644
--- a/biology/seqan3/Makefile
+++ b/biology/seqan3/Makefile
@@ -1,9 +1,10 @@
PORTNAME= seqan3
-DISTVERSION= 3.0.3
+DISTVERSION= 3.3.0
CATEGORIES= biology devel math
MAINTAINER= yuri@FreeBSD.org
COMMENT= C++ header-only library for biological sequence analysis
+WWW= https://github.com/seqan/seqan3
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.md
@@ -18,7 +19,10 @@ USES= cmake localbase
USE_GITHUB= yes
GH_ACCOUNT= seqan
-GH_TUPLE= xxsds:sdsl-lite:9a0d567:sdsl_lite/submodules/sdsl-lite
+GH_TUPLE= xxsds:sdsl-lite:d54d389:sdsl_lite/submodules/sdsl-lite
+
+USE_GCC= yes # tests only pass with gcc, see https://github.com/seqan/seqan3/issues/2643, otherwise gcc isn't needed because this is a header-only library
+# tests fail to compile, see https://github.com/seqan/seqan3/issues/3191
TEST_WRKSRC= ${WRKSRC}/.test
@@ -27,7 +31,7 @@ NO_ARCH= yes
post-install:
@${RM} -r ${STAGEDIR}${DOCSDIR}
-do-test: # fail: https://github.com/seqan/seqan3/issues/2643
+do-test:
@${MKDIR} ${TEST_WRKSRC} && cd ${TEST_WRKSRC} && \
${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} ${WRKSRC}/test/unit && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \
diff --git a/biology/seqan3/distinfo b/biology/seqan3/distinfo
index 252bac55dbe3..8fa5387420f9 100644
--- a/biology/seqan3/distinfo
+++ b/biology/seqan3/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1622351721
-SHA256 (seqan-seqan3-3.0.3_GH0.tar.gz) = 736d7c07759f51b1d6f4ca806dafd219a2a35b0250e018eb038010063d23eecd
-SIZE (seqan-seqan3-3.0.3_GH0.tar.gz) = 1478459
-SHA256 (xxsds-sdsl-lite-9a0d567_GH0.tar.gz) = 1727ec6897535a493b99ff36a6d19d8205964be2b2a027ba547fc77ab7dbd74e
-SIZE (xxsds-sdsl-lite-9a0d567_GH0.tar.gz) = 1156974
+TIMESTAMP = 1694368553
+SHA256 (seqan-seqan3-3.3.0_GH0.tar.gz) = 96975406445c8a5974803eefa146ee2f85206f6d2c2bccf45171ee0b1a653fb8
+SIZE (seqan-seqan3-3.3.0_GH0.tar.gz) = 1564852
+SHA256 (xxsds-sdsl-lite-d54d389_GH0.tar.gz) = eaac28144b34a833afb8c03139abbe427d4b95a827bf5b9b6532353f9cff9ec1
+SIZE (xxsds-sdsl-lite-d54d389_GH0.tar.gz) = 1183835
diff --git a/biology/seqan3/pkg-descr b/biology/seqan3/pkg-descr
index 8cb4595b3673..438e5e114acc 100644
--- a/biology/seqan3/pkg-descr
+++ b/biology/seqan3/pkg-descr
@@ -5,5 +5,3 @@ solutions by providing generic algorithms and data structures for:
* full-text indexing and efficient search
* sequence alignment
* input/output of common file formats
-
-WWW: https://github.com/seqan/seqan3
diff --git a/biology/seqan3/pkg-plist b/biology/seqan3/pkg-plist
index 835bf6eba19c..19d86e63d82e 100644
--- a/biology/seqan3/pkg-plist
+++ b/biology/seqan3/pkg-plist
@@ -2,8 +2,9 @@ include/seqan3/alignment/aligned_sequence/aligned_sequence_concept.hpp
include/seqan3/alignment/aligned_sequence/all.hpp
include/seqan3/alignment/aligned_sequence/debug_stream_alignment.hpp
include/seqan3/alignment/all.hpp
-include/seqan3/alignment/band/all.hpp
-include/seqan3/alignment/band/static_band.hpp
+include/seqan3/alignment/cigar_conversion/alignment_from_cigar.hpp
+include/seqan3/alignment/cigar_conversion/all.hpp
+include/seqan3/alignment/cigar_conversion/cigar_from_alignment.hpp
include/seqan3/alignment/configuration/align_config_band.hpp
include/seqan3/alignment/configuration/align_config_debug.hpp
include/seqan3/alignment/configuration/align_config_edit.hpp
@@ -19,17 +20,16 @@ include/seqan3/alignment/configuration/align_config_scoring_scheme.hpp
include/seqan3/alignment/configuration/align_config_vectorised.hpp
include/seqan3/alignment/configuration/all.hpp
include/seqan3/alignment/configuration/detail.hpp
+include/seqan3/alignment/decorator/all.hpp
include/seqan3/alignment/decorator/gap_decorator.hpp
include/seqan3/alignment/detail/pairwise_alignment_concept.hpp
include/seqan3/alignment/exception.hpp
-include/seqan3/alignment/matrix/alignment_coordinate.hpp
-include/seqan3/alignment/matrix/alignment_optimum.hpp
include/seqan3/alignment/matrix/all.hpp
-include/seqan3/alignment/matrix/debug_matrix.hpp
include/seqan3/alignment/matrix/detail/advanceable_alignment_coordinate.hpp
include/seqan3/alignment/matrix/detail/affine_cell_proxy.hpp
include/seqan3/alignment/matrix/detail/aligned_sequence_builder.hpp
include/seqan3/alignment/matrix/detail/alignment_matrix_column_major_range_base.hpp
+include/seqan3/alignment/matrix/detail/alignment_optimum.hpp
include/seqan3/alignment/matrix/detail/alignment_score_matrix_one_column.hpp
include/seqan3/alignment/matrix/detail/alignment_score_matrix_one_column_banded.hpp
include/seqan3/alignment/matrix/detail/alignment_score_matrix_one_column_base.hpp
@@ -41,8 +41,14 @@ include/seqan3/alignment/matrix/detail/alignment_trace_matrix_proxy.hpp
include/seqan3/alignment/matrix/detail/all.hpp
include/seqan3/alignment/matrix/detail/combined_score_and_trace_matrix.hpp
include/seqan3/alignment/matrix/detail/coordinate_matrix.hpp
+include/seqan3/alignment/matrix/detail/debug_matrix.hpp
+include/seqan3/alignment/matrix/detail/edit_distance_score_matrix_full.hpp
+include/seqan3/alignment/matrix/detail/edit_distance_trace_matrix_full.hpp
+include/seqan3/alignment/matrix/detail/matrix_concept.hpp
include/seqan3/alignment/matrix/detail/matrix_coordinate.hpp
+include/seqan3/alignment/matrix/detail/row_wise_matrix.hpp
include/seqan3/alignment/matrix/detail/score_matrix_single_column.hpp
+include/seqan3/alignment/matrix/detail/trace_directions.hpp
include/seqan3/alignment/matrix/detail/trace_iterator.hpp
include/seqan3/alignment/matrix/detail/trace_iterator_banded.hpp
include/seqan3/alignment/matrix/detail/trace_iterator_base.hpp
@@ -50,11 +56,6 @@ include/seqan3/alignment/matrix/detail/trace_matrix_full.hpp
include/seqan3/alignment/matrix/detail/two_dimensional_matrix.hpp
include/seqan3/alignment/matrix/detail/two_dimensional_matrix_iterator_base.hpp
include/seqan3/alignment/matrix/detail/two_dimensional_matrix_iterator_concept.hpp
-include/seqan3/alignment/matrix/edit_distance_score_matrix_full.hpp
-include/seqan3/alignment/matrix/edit_distance_trace_matrix_full.hpp
-include/seqan3/alignment/matrix/matrix_concept.hpp
-include/seqan3/alignment/matrix/row_wise_matrix.hpp
-include/seqan3/alignment/matrix/trace_directions.hpp
include/seqan3/alignment/pairwise/align_pairwise.hpp
include/seqan3/alignment/pairwise/align_result_selector.hpp
include/seqan3/alignment/pairwise/alignment_algorithm.hpp
@@ -90,7 +91,6 @@ include/seqan3/alignment/scoring/all.hpp
include/seqan3/alignment/scoring/aminoacid_scoring_scheme.hpp
include/seqan3/alignment/scoring/detail/simd_match_mismatch_scoring_scheme.hpp
include/seqan3/alignment/scoring/detail/simd_matrix_scoring_scheme.hpp
-include/seqan3/alignment/scoring/gap_scheme.hpp
include/seqan3/alignment/scoring/nucleotide_scoring_scheme.hpp
include/seqan3/alignment/scoring/scoring_scheme_base.hpp
include/seqan3/alignment/scoring/scoring_scheme_concept.hpp
@@ -111,7 +111,6 @@ include/seqan3/alphabet/aminoacid/translation_details.hpp
include/seqan3/alphabet/aminoacid/translation_genetic_code.hpp
include/seqan3/alphabet/cigar/all.hpp
include/seqan3/alphabet/cigar/cigar.hpp
-include/seqan3/alphabet/cigar/cigar_op.hpp
include/seqan3/alphabet/cigar/exposition_only/cigar_operation.hpp
include/seqan3/alphabet/composite/all.hpp
include/seqan3/alphabet/composite/alphabet_tuple_base.hpp
@@ -119,9 +118,11 @@ include/seqan3/alphabet/composite/alphabet_variant.hpp
include/seqan3/alphabet/composite/detail.hpp
include/seqan3/alphabet/composite/semialphabet_any.hpp
include/seqan3/alphabet/concept.hpp
+include/seqan3/alphabet/container/all.hpp
include/seqan3/alphabet/container/bitpacked_sequence.hpp
include/seqan3/alphabet/container/concatenated_sequences.hpp
include/seqan3/alphabet/detail/alphabet_proxy.hpp
+include/seqan3/alphabet/detail/concept.hpp
include/seqan3/alphabet/detail/convert.hpp
include/seqan3/alphabet/detail/debug_stream_alphabet.hpp
include/seqan3/alphabet/exception.hpp
@@ -143,18 +144,16 @@ include/seqan3/alphabet/nucleotide/nucleotide_base.hpp
include/seqan3/alphabet/nucleotide/rna15.hpp
include/seqan3/alphabet/nucleotide/rna4.hpp
include/seqan3/alphabet/nucleotide/rna5.hpp
-include/seqan3/alphabet/nucleotide/sam_dna16.hpp
include/seqan3/alphabet/quality/aliases.hpp
include/seqan3/alphabet/quality/all.hpp
include/seqan3/alphabet/quality/concept.hpp
include/seqan3/alphabet/quality/phred42.hpp
include/seqan3/alphabet/quality/phred63.hpp
-include/seqan3/alphabet/quality/phred68legacy.hpp
include/seqan3/alphabet/quality/phred68solexa.hpp
include/seqan3/alphabet/quality/phred94.hpp
include/seqan3/alphabet/quality/phred_base.hpp
include/seqan3/alphabet/quality/qualified.hpp
-include/seqan3/alphabet/quality/quality_base.hpp
+include/seqan3/alphabet/range/all.hpp
include/seqan3/alphabet/range/hash.hpp
include/seqan3/alphabet/range/sequence.hpp
include/seqan3/alphabet/structure/all.hpp
@@ -165,6 +164,7 @@ include/seqan3/alphabet/structure/structured_aa.hpp
include/seqan3/alphabet/structure/structured_rna.hpp
include/seqan3/alphabet/structure/wuss.hpp
include/seqan3/alphabet/views/all.hpp
+include/seqan3/alphabet/views/char_strictly_to.hpp
include/seqan3/alphabet/views/char_to.hpp
include/seqan3/alphabet/views/complement.hpp
include/seqan3/alphabet/views/rank_to.hpp
@@ -173,9 +173,11 @@ include/seqan3/alphabet/views/to_rank.hpp
include/seqan3/alphabet/views/translate.hpp
include/seqan3/alphabet/views/translate_join.hpp
include/seqan3/alphabet/views/trim_quality.hpp
+include/seqan3/alphabet/views/validate_char_for.hpp
include/seqan3/argument_parser/all.hpp
include/seqan3/argument_parser/argument_parser.hpp
include/seqan3/argument_parser/auxiliary.hpp
+include/seqan3/argument_parser/detail/concept.hpp
include/seqan3/argument_parser/detail/format_base.hpp
include/seqan3/argument_parser/detail/format_help.hpp
include/seqan3/argument_parser/detail/format_html.hpp
@@ -185,14 +187,29 @@ include/seqan3/argument_parser/detail/terminal.hpp
include/seqan3/argument_parser/detail/version_check.hpp
include/seqan3/argument_parser/exceptions.hpp
include/seqan3/argument_parser/validators.hpp
-include/seqan3/contrib/charconv/LICENSE.TXT
-include/seqan3/contrib/charconv/charconv
-include/seqan3/contrib/charconv/charconv.cpp
-include/seqan3/contrib/charconv/charconv_pre.hpp
+include/seqan3/contrib/README.md
include/seqan3/contrib/parallel/buffer_queue.hpp
include/seqan3/contrib/parallel/serialised_resource_pool.hpp
include/seqan3/contrib/parallel/suspendable_queue.hpp
-include/seqan3/contrib/span/span
+include/seqan3/contrib/std/.clang-format
+include/seqan3/contrib/std/.gitignore
+include/seqan3/contrib/std/LICENSE
+include/seqan3/contrib/std/README.md
+include/seqan3/contrib/std/all_view.hpp
+include/seqan3/contrib/std/chunk_view.hpp
+include/seqan3/contrib/std/concepts.hpp
+include/seqan3/contrib/std/detail/adaptor_base.hpp
+include/seqan3/contrib/std/detail/adaptor_for_view_without_args.hpp
+include/seqan3/contrib/std/detail/adaptor_from_functor.hpp
+include/seqan3/contrib/std/detail/compiler_definitions.hpp
+include/seqan3/contrib/std/detail/exposition_only.hpp
+include/seqan3/contrib/std/detail/non_propagating_cache.hpp
+include/seqan3/contrib/std/join_with_view.hpp
+include/seqan3/contrib/std/pair.hpp
+include/seqan3/contrib/std/to.hpp
+include/seqan3/contrib/std/tuple.hpp
+include/seqan3/contrib/std/zip_view.hpp
+include/seqan3/contrib/stream/bgzf.hpp
include/seqan3/contrib/stream/bgzf_istream.hpp
include/seqan3/contrib/stream/bgzf_ostream.hpp
include/seqan3/contrib/stream/bgzf_stream_util.hpp
@@ -203,29 +220,13 @@ include/seqan3/contrib/stream/gz_ostream.hpp
include/seqan3/core/add_enum_bitwise_operators.hpp
include/seqan3/core/algorithm/algorithm_result_generator_range.hpp
include/seqan3/core/algorithm/all.hpp
-include/seqan3/core/algorithm/bound.hpp
-include/seqan3/core/algorithm/concept.hpp
-include/seqan3/core/algorithm/configuration.hpp
-include/seqan3/core/algorithm/configuration_element_debug_mode.hpp
-include/seqan3/core/algorithm/configuration_element_parallel_mode.hpp
-include/seqan3/core/algorithm/configuration_utility.hpp
include/seqan3/core/algorithm/detail/algorithm_executor_blocking.hpp
include/seqan3/core/algorithm/detail/all.hpp
include/seqan3/core/algorithm/detail/execution_handler_parallel.hpp
include/seqan3/core/algorithm/detail/execution_handler_sequential.hpp
-include/seqan3/core/algorithm/pipeable_config_element.hpp
include/seqan3/core/all.hpp
-include/seqan3/core/bit_manipulation.hpp
-include/seqan3/core/char_operations/all.hpp
-include/seqan3/core/char_operations/predicate.hpp
-include/seqan3/core/char_operations/predicate_detail.hpp
-include/seqan3/core/char_operations/pretty_print.hpp
-include/seqan3/core/char_operations/transform.hpp
-include/seqan3/core/common_tuple.hpp
include/seqan3/core/concept/all.hpp
include/seqan3/core/concept/cereal.hpp
-include/seqan3/core/concept/core_language.hpp
-include/seqan3/core/concept/tuple.hpp
include/seqan3/core/configuration/all.hpp
include/seqan3/core/configuration/configuration.hpp
include/seqan3/core/configuration/detail/all.hpp
@@ -235,6 +236,7 @@ include/seqan3/core/configuration/detail/configuration_element_parallel_mode.hpp
include/seqan3/core/configuration/detail/configuration_utility.hpp
include/seqan3/core/configuration/pipeable_config_element.hpp
include/seqan3/core/debug_stream.hpp
+include/seqan3/core/debug_stream/all.hpp
include/seqan3/core/debug_stream/byte.hpp
include/seqan3/core/debug_stream/debug_stream_type.hpp
include/seqan3/core/debug_stream/detail/to_string.hpp
@@ -243,36 +245,19 @@ include/seqan3/core/debug_stream/range.hpp
include/seqan3/core/debug_stream/tuple.hpp
include/seqan3/core/debug_stream/variant.hpp
include/seqan3/core/detail/all.hpp
+include/seqan3/core/detail/all_view.hpp
+include/seqan3/core/detail/copyable_wrapper.hpp
include/seqan3/core/detail/customisation_point.hpp
-include/seqan3/core/detail/debug_stream_alphabet.hpp
-include/seqan3/core/detail/debug_stream_byte.hpp
-include/seqan3/core/detail/debug_stream_optional.hpp
-include/seqan3/core/detail/debug_stream_range.hpp
-include/seqan3/core/detail/debug_stream_tuple.hpp
-include/seqan3/core/detail/debug_stream_type.hpp
-include/seqan3/core/detail/debug_stream_variant.hpp
include/seqan3/core/detail/deferred_crtp_base.hpp
include/seqan3/core/detail/empty_type.hpp
-include/seqan3/core/detail/endian.hpp
-include/seqan3/core/detail/int_types.hpp
include/seqan3/core/detail/is_class_template_declarable.hpp
include/seqan3/core/detail/iterator_traits.hpp
-include/seqan3/core/detail/pack_algorithm.hpp
-include/seqan3/core/detail/persist_view.hpp
include/seqan3/core/detail/strong_type.hpp
include/seqan3/core/detail/template_inspection.hpp
include/seqan3/core/detail/test_accessor.hpp
-include/seqan3/core/detail/to_string.hpp
include/seqan3/core/detail/transfer_type_modifier_onto.hpp
-include/seqan3/core/detail/type_inspection.hpp
-include/seqan3/core/math.hpp
-include/seqan3/core/parallel/all.hpp
-include/seqan3/core/parallel/detail/latch.hpp
-include/seqan3/core/parallel/detail/reader_writer_manager.hpp
-include/seqan3/core/parallel/detail/spin_delay.hpp
-include/seqan3/core/parallel/execution.hpp
include/seqan3/core/platform.hpp
-include/seqan3/core/pod_tuple.hpp
+include/seqan3/core/range/all.hpp
include/seqan3/core/range/detail/adaptor_base.hpp
include/seqan3/core/range/detail/adaptor_for_view_without_args.hpp
include/seqan3/core/range/detail/adaptor_from_functor.hpp
@@ -280,56 +265,9 @@ include/seqan3/core/range/detail/inherited_iterator_base.hpp
include/seqan3/core/range/detail/misc.hpp
include/seqan3/core/range/detail/random_access_iterator.hpp
include/seqan3/core/range/type_traits.hpp
-include/seqan3/core/semiregular_box.hpp
-include/seqan3/core/simd/all.hpp
-include/seqan3/core/simd/concept.hpp
-include/seqan3/core/simd/debug_stream_simd.hpp
-include/seqan3/core/simd/detail/builtin_simd.hpp
-include/seqan3/core/simd/detail/builtin_simd_intrinsics.hpp
-include/seqan3/core/simd/detail/default_simd_backend.hpp
-include/seqan3/core/simd/detail/default_simd_length.hpp
-include/seqan3/core/simd/detail/simd_algorithm_avx2.hpp
-include/seqan3/core/simd/detail/simd_algorithm_avx512.hpp
-include/seqan3/core/simd/detail/simd_algorithm_sse4.hpp
-include/seqan3/core/simd/simd.hpp
-include/seqan3/core/simd/simd_algorithm.hpp
-include/seqan3/core/simd/simd_traits.hpp
-include/seqan3/core/simd/view_iota_simd.hpp
-include/seqan3/core/simd/view_to_simd.hpp
-include/seqan3/core/tuple_utility.hpp
-include/seqan3/core/type_list/all.hpp
-include/seqan3/core/type_list/traits.hpp
-include/seqan3/core/type_list/type_list.hpp
-include/seqan3/core/type_traits/all.hpp
-include/seqan3/core/type_traits/basic.hpp
-include/seqan3/core/type_traits/concept.hpp
-include/seqan3/core/type_traits/deferred_crtp_base.hpp
-include/seqan3/core/type_traits/function.hpp
-include/seqan3/core/type_traits/iterator.hpp
-include/seqan3/core/type_traits/lazy.hpp
-include/seqan3/core/type_traits/pack.hpp
-include/seqan3/core/type_traits/pre.hpp
-include/seqan3/core/type_traits/range.hpp
-include/seqan3/core/type_traits/template_inspection.hpp
-include/seqan3/core/type_traits/transformation_trait_or.hpp
-include/seqan3/io/alignment_file/all.hpp
-include/seqan3/io/alignment_file/detail.hpp
-include/seqan3/io/alignment_file/format_bam.hpp
-include/seqan3/io/alignment_file/format_sam.hpp
-include/seqan3/io/alignment_file/format_sam_base.hpp
-include/seqan3/io/alignment_file/header.hpp
-include/seqan3/io/alignment_file/input.hpp
-include/seqan3/io/alignment_file/input_format_concept.hpp
-include/seqan3/io/alignment_file/input_options.hpp
-include/seqan3/io/alignment_file/misc.hpp
-include/seqan3/io/alignment_file/output.hpp
-include/seqan3/io/alignment_file/output_format_concept.hpp
-include/seqan3/io/alignment_file/output_options.hpp
-include/seqan3/io/alignment_file/sam_tag_dictionary.hpp
include/seqan3/io/all.hpp
include/seqan3/io/detail/ignore_output_iterator.hpp
include/seqan3/io/detail/in_file_iterator.hpp
-include/seqan3/io/detail/istreambuf_view.hpp
include/seqan3/io/detail/magic_header.hpp
include/seqan3/io/detail/misc.hpp
include/seqan3/io/detail/misc_input.hpp
@@ -338,10 +276,6 @@ include/seqan3/io/detail/out_file_iterator.hpp
include/seqan3/io/detail/record.hpp
include/seqan3/io/detail/record_like.hpp
include/seqan3/io/detail/safe_filesystem_entry.hpp
-include/seqan3/io/detail/take_exactly_view.hpp
-include/seqan3/io/detail/take_line_view.hpp
-include/seqan3/io/detail/take_until_view.hpp
-include/seqan3/io/detail/take_view.hpp
include/seqan3/io/exception.hpp
include/seqan3/io/record.hpp
include/seqan3/io/sam_file/all.hpp
@@ -376,7 +310,6 @@ include/seqan3/io/stream/concept.hpp
include/seqan3/io/stream/detail/fast_istreambuf_iterator.hpp
include/seqan3/io/stream/detail/fast_ostreambuf_iterator.hpp
include/seqan3/io/stream/detail/stream_buffer_exposer.hpp
-include/seqan3/io/stream/iterator.hpp
include/seqan3/io/structure_file/all.hpp
include/seqan3/io/structure_file/detail.hpp
include/seqan3/io/structure_file/format_vienna.hpp
@@ -387,64 +320,12 @@ include/seqan3/io/structure_file/output.hpp
include/seqan3/io/structure_file/output_format_concept.hpp
include/seqan3/io/structure_file/output_options.hpp
include/seqan3/io/structure_file/record.hpp
+include/seqan3/io/views/all.hpp
include/seqan3/io/views/async_input_buffer.hpp
-include/seqan3/range/all.hpp
-include/seqan3/range/concept.hpp
-include/seqan3/range/container/aligned_allocator.hpp
-include/seqan3/range/container/all.hpp
-include/seqan3/range/container/bitcompressed_vector.hpp
-include/seqan3/range/container/concatenated_sequences.hpp
-include/seqan3/range/container/concept.hpp
-include/seqan3/range/container/dynamic_bitset.hpp
-include/seqan3/range/container/small_string.hpp
-include/seqan3/range/container/small_vector.hpp
-include/seqan3/range/decorator/all.hpp
-include/seqan3/range/decorator/gap_decorator.hpp
-include/seqan3/range/detail/inherited_iterator_base.hpp
-include/seqan3/range/detail/misc.hpp
-include/seqan3/range/detail/random_access_iterator.hpp
-include/seqan3/range/hash.hpp
-include/seqan3/range/shortcuts.hpp
-include/seqan3/range/views/all.hpp
-include/seqan3/range/views/as_const.hpp
-include/seqan3/range/views/async_input_buffer.hpp
-include/seqan3/range/views/char_to.hpp
-include/seqan3/range/views/chunk.hpp
-include/seqan3/range/views/complement.hpp
-include/seqan3/range/views/convert.hpp
-include/seqan3/range/views/deep.hpp
-include/seqan3/range/views/detail.hpp
-include/seqan3/range/views/drop.hpp
-include/seqan3/range/views/enforce_random_access.hpp
-include/seqan3/range/views/get.hpp
-include/seqan3/range/views/interleave.hpp
-include/seqan3/range/views/istreambuf.hpp
-include/seqan3/range/views/join.hpp
-include/seqan3/range/views/kmer_hash.hpp
-include/seqan3/range/views/minimiser.hpp
-include/seqan3/range/views/minimiser_hash.hpp
-include/seqan3/range/views/move.hpp
-include/seqan3/range/views/pairwise_combine.hpp
-include/seqan3/range/views/persist.hpp
-include/seqan3/range/views/rank_to.hpp
-include/seqan3/range/views/repeat.hpp
-include/seqan3/range/views/repeat_n.hpp
-include/seqan3/range/views/single_pass_input.hpp
-include/seqan3/range/views/slice.hpp
-include/seqan3/range/views/take.hpp
-include/seqan3/range/views/take_exactly.hpp
-include/seqan3/range/views/take_line.hpp
-include/seqan3/range/views/take_until.hpp
-include/seqan3/range/views/to.hpp
-include/seqan3/range/views/to_char.hpp
-include/seqan3/range/views/to_lower.hpp
-include/seqan3/range/views/to_rank.hpp
-include/seqan3/range/views/to_upper.hpp
-include/seqan3/range/views/translate.hpp
-include/seqan3/range/views/translate_join.hpp
-include/seqan3/range/views/trim_quality.hpp
-include/seqan3/range/views/type_reduce.hpp
-include/seqan3/range/views/zip.hpp
+include/seqan3/io/views/detail/istreambuf_view.hpp
+include/seqan3/io/views/detail/take_exactly_view.hpp
+include/seqan3/io/views/detail/take_line_view.hpp
+include/seqan3/io/views/detail/take_until_view.hpp
include/seqan3/search/all.hpp
include/seqan3/search/configuration/all.hpp
include/seqan3/search/configuration/default_configuration.hpp
@@ -477,22 +358,13 @@ include/seqan3/search/kmer_index/all.hpp
include/seqan3/search/kmer_index/shape.hpp
include/seqan3/search/search.hpp
include/seqan3/search/search_result.hpp
+include/seqan3/search/views/all.hpp
include/seqan3/search/views/kmer_hash.hpp
include/seqan3/search/views/minimiser.hpp
include/seqan3/search/views/minimiser_hash.hpp
-include/seqan3/std/algorithm
-include/seqan3/std/bit
include/seqan3/std/charconv
-include/seqan3/std/concepts
-include/seqan3/std/filesystem
-include/seqan3/std/iterator
-include/seqan3/std/memory
include/seqan3/std/new
-include/seqan3/std/ranges
-include/seqan3/std/span
-include/seqan3/std/type_traits
include/seqan3/submodules/sdsl-lite/include/sdsl/.gitignore
-include/seqan3/submodules/sdsl-lite/include/sdsl/CMakeLists.txt
include/seqan3/submodules/sdsl-lite/include/sdsl/bit_vector_il.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/bit_vectors.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/bits.hpp
@@ -561,6 +433,9 @@ include/seqan3/submodules/sdsl-lite/include/sdsl/qsufsort.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/ram_filebuf.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/ram_fs.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/rank_support.hpp
+include/seqan3/submodules/sdsl-lite/include/sdsl/rank_support_int.hpp
+include/seqan3/submodules/sdsl-lite/include/sdsl/rank_support_int_scan.hpp
+include/seqan3/submodules/sdsl-lite/include/sdsl/rank_support_int_v.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/rank_support_scan.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/rank_support_v.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/rank_support_v5.hpp
@@ -581,7 +456,6 @@ include/seqan3/submodules/sdsl-lite/include/sdsl/sorted_int_stack.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/sorted_multi_stack_support.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/sorted_stack_support.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/structure_tree.hpp
-include/seqan3/submodules/sdsl-lite/include/sdsl/structure_tree.hpp.cmake
include/seqan3/submodules/sdsl-lite/include/sdsl/suffix_array_algorithm.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/suffix_array_helper.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/suffix_arrays.hpp
@@ -600,6 +474,7 @@ include/seqan3/submodules/sdsl-lite/include/sdsl/wm_int.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/wt_algorithm.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/wt_ap.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/wt_blcd.hpp
+include/seqan3/submodules/sdsl-lite/include/sdsl/wt_epr.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/wt_gmr.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/wt_helper.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/wt_huff.hpp
@@ -608,18 +483,21 @@ include/seqan3/submodules/sdsl-lite/include/sdsl/wt_int.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/wt_pc.hpp
include/seqan3/submodules/sdsl-lite/include/sdsl/wt_rlmn.hpp
include/seqan3/utility/all.hpp
+include/seqan3/utility/bloom_filter/all.hpp
+include/seqan3/utility/bloom_filter/bloom_filter.hpp
include/seqan3/utility/char_operations/all.hpp
include/seqan3/utility/char_operations/predicate.hpp
include/seqan3/utility/char_operations/predicate_detail.hpp
include/seqan3/utility/char_operations/pretty_print.hpp
include/seqan3/utility/char_operations/transform.hpp
+include/seqan3/utility/concept.hpp
include/seqan3/utility/container/aligned_allocator.hpp
+include/seqan3/utility/container/all.hpp
include/seqan3/utility/container/concept.hpp
include/seqan3/utility/container/dynamic_bitset.hpp
include/seqan3/utility/container/small_string.hpp
include/seqan3/utility/container/small_vector.hpp
include/seqan3/utility/detail/bits_of.hpp
-include/seqan3/utility/detail/exposition_only_concept.hpp
include/seqan3/utility/detail/integer_traits.hpp
include/seqan3/utility/detail/multi_invocable.hpp
include/seqan3/utility/detail/to_little_endian.hpp
@@ -630,7 +508,9 @@ include/seqan3/utility/parallel/detail/all.hpp
include/seqan3/utility/parallel/detail/latch.hpp
include/seqan3/utility/parallel/detail/reader_writer_manager.hpp
include/seqan3/utility/parallel/detail/spin_delay.hpp
+include/seqan3/utility/range/all.hpp
include/seqan3/utility/range/concept.hpp
+include/seqan3/utility/range/to.hpp
include/seqan3/utility/simd/algorithm.hpp
include/seqan3/utility/simd/all.hpp
include/seqan3/utility/simd/concept.hpp
@@ -644,18 +524,22 @@ include/seqan3/utility/simd/detail/simd_algorithm_avx512.hpp
include/seqan3/utility/simd/detail/simd_algorithm_sse4.hpp
include/seqan3/utility/simd/simd.hpp
include/seqan3/utility/simd/simd_traits.hpp
+include/seqan3/utility/simd/views/all.hpp
include/seqan3/utility/simd/views/iota_simd.hpp
include/seqan3/utility/simd/views/to_simd.hpp
include/seqan3/utility/tuple/all.hpp
+include/seqan3/utility/tuple/common_pair.hpp
include/seqan3/utility/tuple/common_tuple.hpp
include/seqan3/utility/tuple/concept.hpp
include/seqan3/utility/tuple/pod_tuple.hpp
include/seqan3/utility/tuple/pop_front.hpp
include/seqan3/utility/tuple/split.hpp
include/seqan3/utility/type_list/all.hpp
+include/seqan3/utility/type_list/detail/type_list_algorithm.hpp
include/seqan3/utility/type_list/traits.hpp
include/seqan3/utility/type_list/type_list.hpp
include/seqan3/utility/type_pack/all.hpp
+include/seqan3/utility/type_pack/detail/type_pack_algorithm.hpp
include/seqan3/utility/type_pack/traits.hpp
include/seqan3/utility/type_traits/all.hpp
include/seqan3/utility/type_traits/basic.hpp
@@ -663,10 +547,12 @@ include/seqan3/utility/type_traits/concept.hpp
include/seqan3/utility/type_traits/detail/transformation_trait_or.hpp
include/seqan3/utility/type_traits/function_traits.hpp
include/seqan3/utility/type_traits/lazy_conditional.hpp
-include/seqan3/utility/type_traits/pre.hpp
+include/seqan3/utility/views/all.hpp
include/seqan3/utility/views/chunk.hpp
include/seqan3/utility/views/convert.hpp
include/seqan3/utility/views/deep.hpp
+include/seqan3/utility/views/detail/helper.hpp
+include/seqan3/utility/views/detail/non_propagating_cache.hpp
include/seqan3/utility/views/elements.hpp
include/seqan3/utility/views/enforce_random_access.hpp
include/seqan3/utility/views/interleave.hpp
@@ -676,7 +562,6 @@ include/seqan3/utility/views/repeat.hpp
include/seqan3/utility/views/repeat_n.hpp
include/seqan3/utility/views/single_pass_input.hpp
include/seqan3/utility/views/slice.hpp
-include/seqan3/utility/views/to.hpp
include/seqan3/utility/views/type_reduce.hpp
include/seqan3/utility/views/zip.hpp
include/seqan3/version.hpp
diff --git a/biology/seqio/Makefile b/biology/seqio/Makefile
deleted file mode 100644
index 47d42f0980ae..000000000000
--- a/biology/seqio/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# Created by: Tony Maher
-
-PORTNAME= seqio
-PORTVERSION= 1.2.2
-PORTREVISION= 1
-CATEGORIES= biology
-MASTER_SITES= http://www.cs.ucdavis.edu/~gusfield/
-DISTNAME= ${PORTNAME}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Set of C functions which can read/write biological sequence files
-
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-
-EXAMPLES= example1.c example2.c example3.c example4.c seqio.c \
- seqio.h Makefile
-PROGRAMS= fmtseq grepseq idxseq typeseq wcseq
-PLIST_FILES= ${PROGRAMS:S,^,bin/,}
-PORTEXAMPLES= *
-PORTDOCS= *
-
-OPTIONS_DEFINE= DOCS EXAMPLES
-
-do-install:
- ${INSTALL_PROGRAM} ${PROGRAMS:S,^,${WRKSRC}/,} ${STAGEDIR}${PREFIX}/bin
-
-do-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- ${INSTALL_DATA} ${EXAMPLES:S,^,${WRKSRC}/,} ${STAGEDIR}${EXAMPLESDIR}
-
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}/html
- ${INSTALL_DATA} ${WRKSRC}/bioseq.txt ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/doc/*.doc ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/html/*.html ${STAGEDIR}${DOCSDIR}/html
-
-.include <bsd.port.mk>
diff --git a/biology/seqio/distinfo b/biology/seqio/distinfo
deleted file mode 100644
index 61533e1ee08a..000000000000
--- a/biology/seqio/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (seqio.tar.gz) = 0c1f8a55adeb900c749d1412aaa86b85ff3043b2db2dda3b884c101ea5e5d1fb
-SIZE (seqio.tar.gz) = 360714
diff --git a/biology/seqio/files/patch-Makefile b/biology/seqio/files/patch-Makefile
deleted file mode 100644
index 865b0c0f884c..000000000000
--- a/biology/seqio/files/patch-Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
---- Makefile.orig Tue Jul 9 20:20:42 1996
-+++ Makefile Wed Oct 22 16:43:02 2003
-@@ -8,11 +8,10 @@
- # just set the CC value to your compiler and make sure optimization
- # is turned on (it significantly affects the running time).
- #
--CC=gcc
--CFLAGS= -g -O2 -Wall -Wshadow
-+CC?=cc
-+CFLAGS?=-O -pipe
-
--
--all: grepseq fmtseq idxseq typeseq wcseq examples
-+all: grepseq fmtseq idxseq typeseq wcseq
-
- grepseq: grepseq.o seqio.o
- $(CC) $(CFLAGS) -o grepseq grepseq.o seqio.o
diff --git a/biology/seqio/files/patch-fmtseq b/biology/seqio/files/patch-fmtseq
deleted file mode 100644
index a11d0218d513..000000000000
--- a/biology/seqio/files/patch-fmtseq
+++ /dev/null
@@ -1,117 +0,0 @@
---- fmtseq.c.orig Wed Jul 10 12:58:39 1996
-+++ fmtseq.c Tue Aug 21 13:17:23 2001
-@@ -37,7 +37,6 @@
- #include <sys/stat.h>
- #include "seqio.h"
-
--extern char *sys_errlist[];
-
-
- #ifdef WIN32
-@@ -70,6 +69,7 @@
- #define ASK 2
- #define ITEMLIST 3
-
-+#define MAXLINE 128
-
- int pretty_flag, pretty_count;
- FILE *fpout;
-@@ -81,7 +81,7 @@
- } pretty;
-
-
--char dna_complement[128], rna_complement[128];
-+char dna_complement[MAXLINE], rna_complement[MAXLINE];
-
-
- /*
-@@ -222,7 +222,7 @@
- void print_options(int flag)
- {
- int i, j;
-- char line[128];
-+ char line[MAXLINE];
-
- printf("Program Options (text in [...] is optional):\n");
- printf(" -al[l] select all sequences\n");
-@@ -249,7 +249,7 @@
-
- if (flag) {
- printf("More? ");
-- gets(line);
-+ fgets(line,MAXLINE-1,stdin);
- if (line[0] == 'q' || line[0] == 'Q')
- return;
- }
-@@ -264,7 +264,7 @@
-
- if (flag) {
- printf("More? ");
-- gets(line);
-+ fgets(line,MAXLINE-1,stdin);
- if (line[0] == 'q' || line[0] == 'Q')
- return;
- }
-@@ -1646,7 +1646,7 @@
- s = line;
- while (*s == '\0') {
- printf("Enter: ");
-- gets(line);
-+ fgets(line,MAXLINE-1,stdin);
- for (s=line; *s && isspace(*s); s++) ;
- }
- printf("----------------------\n\n");
-@@ -1701,7 +1701,7 @@
- {
- static char defch = 'y';
- int init_print, count;
-- char *s, *entry, *eptr, line[128];
-+ char *s, *entry, *eptr, line[MAXLINE];
-
- putchar('\n');
- if (seqcount == 1) {
-@@ -1717,7 +1717,7 @@
- eptr = entry = NULL;
- while (1) {
- printf("Select? [%c] ", defch);
-- gets(line);
-+ fgets(line,MAXLINE-1,stdin);
-
- if (line[0] == '\0')
- line[0] = defch;
-@@ -1771,7 +1771,7 @@
- SEQINFO *info, int mode)
- {
- int len;
-- char *temp, tempbuffer[128];
-+ char *temp, tempbuffer[MAXLINE];
-
- if (buf != NULL)
- temp = buf;
-@@ -1803,7 +1803,7 @@
-
- int pretty_store(char *seq, int seqlen, SEQINFO *info)
- {
-- char buffer[128];
-+ char buffer[MAXLINE];
-
- if (pretty_count == psize) {
- if (psize == 0) {
-@@ -2582,7 +2582,7 @@
-
- void blastout_store(SEQFILE *sfp, char *seq, int seqlen, SEQINFO *info)
- {
-- static otherstrand = 0;
-+ static int otherstrand = 0;
- int pos, al_start, ingap, len;
- char *s, *t1, *entry, *end, *line1, *line2;
- ALIGN newalign;
-@@ -3017,7 +3017,7 @@
- {
- int i;
-
-- for (i=0; i < 128; i++)
-+ for (i=0; i < MAXLINE; i++)
- dna_complement[i] = dna_complement[i] = i;
-
- dna_complement['a'] = 't'; dna_complement['A'] = 'T';
diff --git a/biology/seqio/files/patch-grepseq b/biology/seqio/files/patch-grepseq
deleted file mode 100644
index a501901e0b47..000000000000
--- a/biology/seqio/files/patch-grepseq
+++ /dev/null
@@ -1,155 +0,0 @@
---- grepseq.c.orig Sat Aug 18 16:19:15 2001
-+++ grepseq.c Sat Aug 18 16:37:58 2001
-@@ -18,7 +18,6 @@
- #include <string.h>
- #include "seqio.h"
-
--extern char *sys_errlist[];
-
- #define ASCII 4
-
-@@ -475,7 +474,7 @@
- ascii_alpha_mask[num] |= mask;
- }
- else
-- ascii_alpha_mask[*s] |= mask;
-+ ascii_alpha_mask[(int) *s] |= mask;
- break;
-
- case '.':
-@@ -518,7 +517,7 @@
- ascii_alpha_mask[num] |= mask;
- }
- else
-- ascii_alpha_mask[*s] |= mask;
-+ ascii_alpha_mask[(int) *s] |= mask;
- }
- else {
- if (dna_flag) {
-@@ -526,17 +525,17 @@
- dna_flag = 0;
- else
- for ( ; *t; t++)
-- dna_alpha_mask[*t] |= mask;
-+ dna_alpha_mask[(int) *t] |= mask;
- }
- if (prt_flag) {
- if ((t = prt_expand(*s)) == NULL)
- prt_flag = 0;
- else
- for ( ; *t; t++)
-- prt_alpha_mask[*t] |= mask;
-+ prt_alpha_mask[(int) *t] |= mask;
- }
-
-- ascii_alpha_mask[*s] |= mask;
-+ ascii_alpha_mask[(int) *s] |= mask;
- }
- }
-
-@@ -557,17 +556,17 @@
- dna_flag = 0;
- else
- for ( ; *t; t++)
-- dna_alpha_mask[*t] |= mask;
-+ dna_alpha_mask[(int) *t] |= mask;
- }
- if (prt_flag) {
- if ((t = prt_expand(*s)) == NULL)
- prt_flag = 0;
- else
- for ( ; *t; t++)
-- prt_alpha_mask[*t] |= mask;
-+ prt_alpha_mask[(int) *t] |= mask;
- }
-
-- ascii_alpha_mask[*s] |= mask;
-+ ascii_alpha_mask[(int) *s] |= mask;
- }
-
- /*
-@@ -677,16 +676,16 @@
- */
- if (num_errors == 0) {
- score = 0;
-- while ((ch = *s) && table[ch] &&
-- !((masklist0 = ((masklist0 << 1) & alpha_mask[*s]) + 1) &
-+ while ((ch = *s) && table[(int) ch] &&
-+ !((masklist0 = ((masklist0 << 1) & alpha_mask[(int) *s]) + 1) &
- accept_mask))
- s++;
- }
- else if (num_errors == 1) {
- score = -1;
- if (misonly_flag) {
-- while ((ch = *s) && table[ch]) {
-- chmask = alpha_mask[ch];
-+ while ((ch = *s) && table[(int) ch]) {
-+ chmask = alpha_mask[(int) ch];
- last_mask = masklist0;
- masklist0 = ((masklist0 << 1) & chmask) + 1;
- masklist1 = ((masklist1 << 1) & chmask) | (last_mask << 1);
-@@ -703,8 +702,8 @@
- }
- }
- else {
-- while ((ch = *s) && table[ch]) {
-- chmask = alpha_mask[ch];
-+ while ((ch = *s) && table[(int) ch]) {
-+ chmask = alpha_mask[(int) ch];
- last_mask = masklist0;
- masklist0 = ((masklist0 << 1) & chmask) + 1;
- masklist1 = ((masklist1 << 1) & chmask) | /* match */
-@@ -727,8 +726,8 @@
- else if (num_errors == 2) {
- score = -1;
- if (misonly_flag) {
-- while ((ch = *s) && table[ch]) {
-- chmask = alpha_mask[ch];
-+ while ((ch = *s) && table[(int) ch]) {
-+ chmask = alpha_mask[(int) ch];
- last_mask = masklist0;
- masklist0 = ((masklist0 << 1) & chmask) + 1;
- newmask = ((masklist1 << 1) & chmask) | (last_mask << 1);
-@@ -752,8 +751,8 @@
- }
- }
- else {
-- while ((ch = *s) && table[ch]) {
-- chmask = alpha_mask[ch];
-+ while ((ch = *s) && table[(int) ch]) {
-+ chmask = alpha_mask[(int) ch];
- last_mask = masklist0;
- masklist0 = ((masklist0 << 1) & chmask) + 1;
- newmask = ((masklist1 << 1) & chmask) | /* match */
-@@ -785,8 +784,8 @@
- }
- else if (misonly_flag) {
- score = -1;
-- while ((ch = *s) && table[ch]) {
-- chmask = alpha_mask[ch];
-+ while ((ch = *s) && table[(int) ch]) {
-+ chmask = alpha_mask[(int) ch];
-
- last_mask = masklist[0];
- masklist[0] = ((masklist[0] << 1) & chmask) + 1;
-@@ -808,8 +807,8 @@
- }
- else {
- score = -1;
-- while ((ch = *s) && table[ch]) {
-- chmask = alpha_mask[ch];
-+ while ((ch = *s) && table[(int) ch]) {
-+ chmask = alpha_mask[(int) ch];
-
- last_mask = masklist[0];
- masklist[0] = ((masklist[0] << 1) & chmask) + 1;
-@@ -835,7 +834,7 @@
-
- if (!ch)
- break;
-- else if (!table[ch]) {
-+ else if (!table[(int) ch]) {
- fprintf(stderr, "%s, entry %d: Sequence contains invalid characters.\n",
- seqffilename(sfp, 0), seqfentryno(sfp));
- return NULL;
diff --git a/biology/seqio/files/patch-seqio b/biology/seqio/files/patch-seqio
deleted file mode 100644
index 3e637ebacbc5..000000000000
--- a/biology/seqio/files/patch-seqio
+++ /dev/null
@@ -1,18 +0,0 @@
---- seqio.c.orig Sat Aug 18 16:20:53 2001
-+++ seqio.c Sat Aug 18 16:21:23 2001
-@@ -147,7 +147,6 @@
- * files, and replacement functions for system calls that don't exist on
- * one or more machines.
- */
--extern char *sys_errlist[];
-
- #if defined(__sun) && !defined(FILENAME_MAX)
- #include <sys/param.h>
-@@ -158,7 +157,6 @@
- static int ctype_initflag = 0;
- static char tubuf[384], *tuary;
-
--#define toupper(chr) tuary[(int) (chr)]
-
- static void init_ctype(void)
- {
diff --git a/biology/seqio/pkg-descr b/biology/seqio/pkg-descr
deleted file mode 100644
index 3f71dc4f5497..000000000000
--- a/biology/seqio/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-"The SEQIO package is a set of C functions which can read and write
-biological sequence files formatted using various file formats and which
-can be used to perform database searches on biological databases."
-- from the README file
-
-WWW: http://www.cs.ucdavis.edu/~gusfield/seqio.html
diff --git a/biology/seqkit/Makefile b/biology/seqkit/Makefile
index 7c6c1b60f37e..09a2504dcd1e 100644
--- a/biology/seqkit/Makefile
+++ b/biology/seqkit/Makefile
@@ -1,21 +1,29 @@
PORTNAME= seqkit
DISTVERSIONPREFIX= v
-DISTVERSION= 0.16.1
+DISTVERSION= 2.8.1
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= Cross-platform and ultrafast toolkit for FASTA/Q file manipulation
+WWW= https://bioinf.shenwei.me/seqkit/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= go:modules
+USE_GITHUB= nodefault
+GH_TUPLE= golang:sys:v0.6.0:sys
-GO_MODULE= github.com/shenwei356/seqkit
+GO_MODULE= github.com/shenwei356/seqkit/v2
GO_TARGET= ./${PORTNAME}
PLIST_FILES= bin/${PORTNAME}
+pre-patch:
+ ${RM} -r ${WRKSRC}/vendor/golang.org/x/sys
+ ${LN} -s ${WRKDIR}/sys-* ${WRKSRC}/vendor/golang.org/x/sys
+
do-test: # from https://bioinf.shenwei.me/seqkit/benchmark/
@cd ${WRKSRC}/tests && \
${GO_WRKDIR_BIN}/seqkit stat *.fa
diff --git a/biology/seqkit/distinfo b/biology/seqkit/distinfo
index 3f7438fc993f..03c82fc44ef4 100644
--- a/biology/seqkit/distinfo
+++ b/biology/seqkit/distinfo
@@ -1,5 +1,7 @@
-TIMESTAMP = 1621489008
-SHA256 (go/biology_seqkit/seqkit-v0.16.1/v0.16.1.mod) = 2b29e40d7d4b891b1ece058363b9b4f8b3ba6385aa2855fb8d5f3df25bc83057
-SIZE (go/biology_seqkit/seqkit-v0.16.1/v0.16.1.mod) = 1211
-SHA256 (go/biology_seqkit/seqkit-v0.16.1/v0.16.1.zip) = 1127a5b026fbe962b6c91647a702dfa653e76005fa71c6f15d46902a137066da
-SIZE (go/biology_seqkit/seqkit-v0.16.1/v0.16.1.zip) = 29978026
+TIMESTAMP = 1712997584
+SHA256 (go/biology_seqkit/seqkit-v2.8.1/v2.8.1.mod) = 5a4eefdd7e32176c2f257c61a92713f1ed4198aa941ef7a9c2af5d3299b13832
+SIZE (go/biology_seqkit/seqkit-v2.8.1/v2.8.1.mod) = 2514
+SHA256 (go/biology_seqkit/seqkit-v2.8.1/v2.8.1.zip) = 9309215e79925c9c8348dbac4156f2bcf1e9cd933b1d1a9d8e0daa6c7a5b953a
+SIZE (go/biology_seqkit/seqkit-v2.8.1/v2.8.1.zip) = 34091099
+SHA256 (go/biology_seqkit/seqkit-v2.8.1/golang-sys-v0.6.0_GH0.tar.gz) = b4f6d17c7a128f76169964b437cb66b3f2dbf9a33361928ec19dfecf7b03fc54
+SIZE (go/biology_seqkit/seqkit-v2.8.1/golang-sys-v0.6.0_GH0.tar.gz) = 1434234
diff --git a/biology/seqkit/pkg-descr b/biology/seqkit/pkg-descr
index 3ea7639796e9..f1d66d437213 100644
--- a/biology/seqkit/pkg-descr
+++ b/biology/seqkit/pkg-descr
@@ -13,5 +13,3 @@ without any dependencies or pre-configurations. SeqKit demonstrates competitive
performance in execution time and memory usage compared to similar tools. The
efficiency and usability of SeqKit enable researchers to rapidly accomplish
common FASTA/Q file manipulations.
-
-WWW: https://bioinf.shenwei.me/seqkit/
diff --git a/biology/seqtk/Makefile b/biology/seqtk/Makefile
index 820432492ed8..0a7e6ac9682b 100644
--- a/biology/seqtk/Makefile
+++ b/biology/seqtk/Makefile
@@ -1,10 +1,11 @@
-PORTNAME= seqtk
-DISTVERSION= 1.2-8
-DISTVERSIONSUFFIX= -gd210c57
-CATEGORIES= biology
+PORTNAME= seqtk
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.4
+CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Tool for processing sequences in FASTA/FASTQ format
+WWW= https://github.com/lh3/seqtk
LICENSE= GPLv2
@@ -13,7 +14,4 @@ GH_ACCOUNT= lh3
PLIST_FILES= bin/seqtk
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/seqtk ${STAGEDIR}${PREFIX}/bin
-
.include <bsd.port.mk>
diff --git a/biology/seqtk/distinfo b/biology/seqtk/distinfo
index 430869c941bf..b790163bdb01 100644
--- a/biology/seqtk/distinfo
+++ b/biology/seqtk/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1522780777
-SHA256 (lh3-seqtk-1.2-8-gd210c57_GH0.tar.gz) = 557317aab7f8cc306a98cd1148449f1e2edd7cd7c78ad5254ba955dfee518fa0
-SIZE (lh3-seqtk-1.2-8-gd210c57_GH0.tar.gz) = 21166
+TIMESTAMP = 1684848703
+SHA256 (lh3-seqtk-v1.4_GH0.tar.gz) = d124604ec24f29ed14ce127426ab90e0f3a2c0280c80d1a3ff8b1c09feede19c
+SIZE (lh3-seqtk-v1.4_GH0.tar.gz) = 23748
diff --git a/biology/seqtk/files/patch-Makefile b/biology/seqtk/files/patch-Makefile
index 6d8f5ee8535d..ab373642a46e 100644
--- a/biology/seqtk/files/patch-Makefile
+++ b/biology/seqtk/files/patch-Makefile
@@ -1,20 +1,35 @@
---- Makefile.orig 2017-11-07 19:42:14 UTC
+--- Makefile.orig 2018-06-18 00:15:09 UTC
+++ Makefile
-@@ -1,10 +1,11 @@
+@@ -1,14 +1,23 @@
-CC=gcc
-CFLAGS=-g -Wall -O2 -Wno-unused-function
-+CC ?= gcc
-+CFLAGS ?= -g -Wall -O2 -Wno-unused-function
-+LDFLAGS += -lz -lm
+-BINDIR=/usr/local/bin
-all:seqtk
-+all: seqtk
++# Respect user's build environment by using ?= to set defaults for variables
++# not set in the env or make arguments. Use += to add essential args.
-seqtk:seqtk.c khash.h kseq.h
- $(CC) $(CFLAGS) seqtk.c -o $@ -lz -lm
++CC ?= gcc
++CFLAGS ?= -g -Wall -O2 -Wno-unused-function
++LDFLAGS += -lz -lm
++PREFIX ?= /usr/local
++MKDIR ?= mkdir
++INSTALL ?= install
++# DESTDIR is empty by default to install straight to PREFIX
+
+-install:all
+- install seqtk $(BINDIR)
++all: seqtk
+
+seqtk: seqtk.c khash.h kseq.h
+ $(CC) $(CFLAGS) seqtk.c -o $@ $(LDFLAGS)
-
++
++install: all
++ $(MKDIR) -p $(DESTDIR)$(PREFIX)/bin
++ $(INSTALL) -c -m 0755 seqtk $(DESTDIR)$(PREFIX)/bin
++
clean:
- rm -fr gmon.out *.o ext/*.o a.out seqtk trimadap *~ *.a *.dSYM session*
+ rm -fr gmon.out *.o ext/*.o a.out seqtk trimadap *~ *.a *.dSYM session*
diff --git a/biology/seqtk/pkg-descr b/biology/seqtk/pkg-descr
index 4cc42a9b9b87..d8d6aa596ef3 100644
--- a/biology/seqtk/pkg-descr
+++ b/biology/seqtk/pkg-descr
@@ -2,5 +2,3 @@ Seqtk is a fast and lightweight tool for processing sequences in the FASTA or
FASTQ format. It seamlessly parses both FASTA and FASTQ files which can also be
optionally compressed by gzip. It performs basic file conversions and edits
much like standard Unix tools do with text files.
-
-WWW: https://github.com/lh3/seqtk
diff --git a/biology/seqwish/Makefile b/biology/seqwish/Makefile
new file mode 100644
index 000000000000..fe3f5e9f7965
--- /dev/null
+++ b/biology/seqwish/Makefile
@@ -0,0 +1,29 @@
+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= Alignment to variation graph inducer
+WWW= https://github.com/ekg/seqwish
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BROKEN_i386= compilation fails: error: use of undeclared identifier '_pdep_u64'
+
+USES= cmake:noninja
+
+#CMAKE_ARGS= -DEXTRA_FLAGS="" # disable -march=native ; this causes the link failure: undefined symbol: __sync_val_compare_and_swap_16, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274927
+
+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 <bsd.port.mk>
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 <sys/param.h>
++
+ 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 <unistd.h>
+ #include "tempfile.hpp"
+
++#include <sys/param.h>
++
+ 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.
diff --git a/biology/sigviewer/Makefile b/biology/sigviewer/Makefile
index dba6986ee79c..82f9064fd2d4 100644
--- a/biology/sigviewer/Makefile
+++ b/biology/sigviewer/Makefile
@@ -1,12 +1,13 @@
PORTNAME= sigviewer
DISTVERSIONPREFIX= v
DISTVERSION= 0.6.4-13
-PORTREVISION= 1
+PORTREVISION= 2
DISTVERSIONSUFFIX= -gf62f8d9
CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= Viewing application for biosignals
+WWW= https://github.com/cbrnr/sigviewer
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -15,7 +16,7 @@ LIB_DEPENDS= libbiosig.so:biology/biosig \
libxdf.so:misc/libxdf
USES= gl qmake qt:5
-USE_QT= core gui widgets xml qmake_build buildtools_build
+USE_QT= core gui widgets xml qmake:build buildtools:build
USE_GL= gl
USE_GITHUB= yes
diff --git a/biology/sigviewer/pkg-descr b/biology/sigviewer/pkg-descr
index bf5369429cc2..fbc66bd653c8 100644
--- a/biology/sigviewer/pkg-descr
+++ b/biology/sigviewer/pkg-descr
@@ -1,5 +1,3 @@
SigViewer is a viewing application for biosignals such as EEG or MEG time
series. In addition to viewing raw data, SigViewer can also create, edit, and
display event information (such as annotations or artifact selections).
-
-WWW: https://github.com/cbrnr/sigviewer
diff --git a/biology/sim4/Makefile b/biology/sim4/Makefile
deleted file mode 100644
index de34ed4a56f3..000000000000
--- a/biology/sim4/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# Created by: Johann Visagie <johann@egenetics.com>
-
-PORTNAME= sim4
-PORTVERSION= 2003.09.21
-PORTREVISION= 1
-CATEGORIES= biology
-MASTER_SITES= http://globin.cse.psu.edu/ftp/dist/sim4/
-DISTNAME= ${PORTNAME}.${PORTVERSION:S/./-/g}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Algorithm for aligning expressed DNA with genomic sequences
-
-LICENSE= GPLv2
-
-WRKSRC= ${WRKDIR}/sim4.${PORTVERSION:S/./-/g}
-
-ALL_TARGET= sim4
-PLIST_FILES= bin/sim4
-
-post-patch:
- ${REINPLACE_CMD} -e 's|^CC=|CC?=|g ; \
- s|^CFLAGS=|CFLAGS+=|g' ${WRKSRC}/Makefile
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/sim4 ${STAGEDIR}${PREFIX}/bin
-
-.include <bsd.port.mk>
diff --git a/biology/sim4/distinfo b/biology/sim4/distinfo
deleted file mode 100644
index a8098bd717a5..000000000000
--- a/biology/sim4/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (sim4.2003-09-21.tar.gz) = 0d65166c1d1951e1d0b83e5d221f23f07462b9d8c46ea0d0569f66e35a5229ee
-SIZE (sim4.2003-09-21.tar.gz) = 60814
diff --git a/biology/sim4/pkg-descr b/biology/sim4/pkg-descr
deleted file mode 100644
index 0891421ced90..000000000000
--- a/biology/sim4/pkg-descr
+++ /dev/null
@@ -1,10 +0,0 @@
-This package implements the Sim4 algorithm for aligning expressed DNA
-with genomic sequences, described in the paper:
-
-L. Florea, G. Hartzell, Z. Zhang, G. Rubin, and W. Miller (1998)
-"A computer program for aligning a cDNA sequence with a genomic DNA sequence."
-Genome Research 8, 967-974.
-
-WWW: http://globin.cse.psu.edu/
-
-Port maintained by the FreeBSD bio-porters mailing list.
diff --git a/biology/slclust/Makefile b/biology/slclust/Makefile
index b6c220a94935..4d906f1fca07 100644
--- a/biology/slclust/Makefile
+++ b/biology/slclust/Makefile
@@ -6,6 +6,7 @@ DISTNAME= ${PORTNAME}_02022010
MAINTAINER= jwb@FreeBSD.org
COMMENT= Single-linkage clustering with Jaccard similarity
+WWW= https://sourceforge.net/projects/slclust/
LICENSE= ART10
diff --git a/biology/slclust/pkg-descr b/biology/slclust/pkg-descr
index c1ef243c32bb..85cfd2eb3d4d 100644
--- a/biology/slclust/pkg-descr
+++ b/biology/slclust/pkg-descr
@@ -1,5 +1,3 @@
Slclust is a utility that performs single-linkage clustering with the option of
applying a Jaccard similarity coefficient to break weakly bound clusters into
distinct clusters.
-
-WWW: https://sourceforge.net/projects/slclust/
diff --git a/biology/smithwaterman/Makefile b/biology/smithwaterman/Makefile
index 3c8c0b3c8208..f476f69a416c 100644
--- a/biology/smithwaterman/Makefile
+++ b/biology/smithwaterman/Makefile
@@ -4,6 +4,7 @@ CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Smith-waterman-gotoh alignment algorithm
+WWW= https://github.com/ekg/smithwaterman
LICENSE= GPLv2
diff --git a/biology/smithwaterman/pkg-descr b/biology/smithwaterman/pkg-descr
index 8569aa85b397..75069997011d 100644
--- a/biology/smithwaterman/pkg-descr
+++ b/biology/smithwaterman/pkg-descr
@@ -4,5 +4,3 @@ protein sequences. Instead of looking at the entire sequence, the
Smith-Waterman algorithm compares segments of all possible lengths and
optimizes the similarity measure. Gotoh and Atschul added optimizations making
it practical for larger problems.
-
-WWW: https://github.com/ekg/smithwaterman
diff --git a/biology/snpeff/Makefile b/biology/snpeff/Makefile
index 81cf1d4f56e1..778d62c8fca3 100644
--- a/biology/snpeff/Makefile
+++ b/biology/snpeff/Makefile
@@ -1,5 +1,5 @@
PORTNAME= snpeff
-DISTVERSION= 5.0
+DISTVERSION= 5.1
CATEGORIES= biology java python
MASTER_SITES= https://snpeff.blob.core.windows.net/versions/
DISTNAME= snpEff_latest_core
@@ -7,16 +7,17 @@ DIST_SUBDIR= ${PORTNAME}-${PORTVERSION}
MAINTAINER= jwb@FreeBSD.org
COMMENT= Genetic variant annotation and effect prediction toolbox
+WWW= https://snpeff.sourceforge.net/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.md
RUN_DEPENDS= bash:shells/bash
-USES= python:3.6+ shebangfix zip
+USES= python shebangfix zip
USE_JAVA= yes
-JAVA_VERSION= 12+
+JAVA_VERSION= 17+
SHEBANG_FILES= scripts/* scripts/gsa/*
NO_BUILD= yes
diff --git a/biology/snpeff/distinfo b/biology/snpeff/distinfo
index decfc79a708d..f57ab2e7febf 100644
--- a/biology/snpeff/distinfo
+++ b/biology/snpeff/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1618847647
-SHA256 (snpeff-5.0/snpEff_latest_core.zip) = 85d907b5dd9e9008a0cf245956e3c9077a31e45f21a1b580d9b98a53fd8dcb9d
-SIZE (snpeff-5.0/snpEff_latest_core.zip) = 45828841
+TIMESTAMP = 1671473460
+SHA256 (snpeff-5.1/snpEff_latest_core.zip) = 919e0595c08e86d1dd82279723c83cb872070244ee4ce0cb3167bde2b272893b
+SIZE (snpeff-5.1/snpEff_latest_core.zip) = 67191760
diff --git a/biology/snpeff/pkg-descr b/biology/snpeff/pkg-descr
index cf47db97eb96..2d4fca4d95da 100644
--- a/biology/snpeff/pkg-descr
+++ b/biology/snpeff/pkg-descr
@@ -10,5 +10,3 @@ Features:
GATK compatible (-o gatk)
HGVS notation
Sequence Ontology standardized terms
-
-WWW: http://snpeff.sourceforge.net/
diff --git a/biology/spoa/Makefile b/biology/spoa/Makefile
index 05da6a20b28e..6ad5d248bb8e 100644
--- a/biology/spoa/Makefile
+++ b/biology/spoa/Makefile
@@ -1,16 +1,18 @@
PORTNAME= spoa
-DISTVERSION= 4.0.7
-PORTREVISION= 2
+DISTVERSION= 4.1.0
CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= C++ implementation of the partial order alignment (POA) algorithm
+WWW= https://github.com/rvaser/spoa
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
+BROKEN_i386= compilation fails: error: _Float16 is not supported on this target
+
BUILD_DEPENDS= bioparser>0:biology/bioparser \
- ${LOCALBASE}/include/biosoup/nucleic_acid.hpp:biology/biosoup \
+ biosoup>0:biology/biosoup \
cereal>0:devel/cereal \
simde>0:devel/simde
LIB_DEPENDS= libcpu_features.so:devel/cpu_features
@@ -23,9 +25,19 @@ USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= rvaser
-CMAKE_ON= BUILD_SHARED_LIBS spoa_optimize_for_portability spoa_build_executable spoa_use_simde spoa_use_simde_nonvec spoa_use_simde_openmp
-CMAKE_OFF= spoa_optimize_for_native
-
+CMAKE_ON= BUILD_SHARED_LIBS \
+ spoa_build_exe \
+ spoa_optimize_for_portability \
+ spoa_build_executable \
+ spoa_use_simde \
+ spoa_use_simde_nonvec \
+ spoa_use_simde_openmp \
+ spoa_use_cereal \
+ spoa_use_simde_openmp
+CMAKE_OFF= spoa_optimize_for_native \
+ spoa_build_tests
+
+CXXFLAGS+= -I${LOCALBASE}/include/cpu_features
LDFLAGS+= -lz -lcpu_features
.include <bsd.port.options.mk>
diff --git a/biology/spoa/distinfo b/biology/spoa/distinfo
index b004cd66001d..09296c5fd3cf 100644
--- a/biology/spoa/distinfo
+++ b/biology/spoa/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1611045674
-SHA256 (rvaser-spoa-4.0.7_GH0.tar.gz) = f8cb409adcca20ca6cc0025371743b915790879957cf001ca5e155ed16fd14e0
-SIZE (rvaser-spoa-4.0.7_GH0.tar.gz) = 43574
+TIMESTAMP = 1693289273
+SHA256 (rvaser-spoa-4.1.0_GH0.tar.gz) = 43238356f00bce2ad9698fc18b3e320024172a82182dcff24d57c5cf19e342c8
+SIZE (rvaser-spoa-4.1.0_GH0.tar.gz) = 47814
diff --git a/biology/spoa/files/patch-CMakeLists.txt b/biology/spoa/files/patch-CMakeLists.txt
deleted file mode 100644
index a5e7af7845e8..000000000000
--- a/biology/spoa/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,118 +0,0 @@
---- CMakeLists.txt.orig 2021-01-15 03:44:02 UTC
-+++ CMakeLists.txt
-@@ -44,9 +44,10 @@ if (spoa_use_simde OR
- endif ()
- endif ()
-
--if (NOT TARGET cereal)
-- add_subdirectory(vendor/cereal EXCLUDE_FROM_ALL)
--endif ()
-+#if (NOT TARGET cereal)
-+# add_subdirectory(vendor/cereal EXCLUDE_FROM_ALL)
-+#endif ()
-+find_package(cereal REQUIRED)
-
- add_library(${PROJECT_NAME}
- src/alignment_engine.cpp
-@@ -55,19 +56,19 @@ add_library(${PROJECT_NAME}
- src/dispatcher.cpp)
- target_include_directories(${PROJECT_NAME} PUBLIC
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/vendor/simde>
-- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/vendor/cpu_features/include>
-+ #$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/vendor/simde>
-+ #$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/vendor/cpu_features/include>
- $<INSTALL_INTERFACE:include>)
- target_link_libraries(${PROJECT_NAME}
-- cereal)
-+ cereal::cereal)
- if (BUILD_SHARED_LIBS)
- set_property(TARGET ${PROJECT_NAME} PROPERTY SOVERSION "7.0.0")
- endif ()
-
- if (spoa_generate_dispatch)
-- if (NOT TARGET cpu_features)
-- add_subdirectory(vendor/cpu_features EXCLUDE_FROM_ALL)
-- endif ()
-+ #if (NOT TARGET cpu_features)
-+ # add_subdirectory(vendor/cpu_features EXCLUDE_FROM_ALL)
-+ #endif ()
-
- list(APPEND ARCHITECTURES avx2 sse4.1 sse2)
- foreach(arch IN LISTS ARCHITECTURES)
-@@ -78,7 +79,7 @@ if (spoa_generate_dispatch)
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/vendor/simde>
- $<INSTALL_INTERFACE:include>)
- target_link_libraries(${PROJECT_NAME}_${arch}
-- cereal)
-+ cereal::cereal)
- set_target_properties(${PROJECT_NAME}_${arch} PROPERTIES
- COMPILE_FLAGS "-m${arch}")
- if (BUILD_SHARED_LIBS)
-@@ -92,8 +93,8 @@ if (spoa_generate_dispatch)
- ${PROJECT_NAME}_sse4.1
- ${PROJECT_NAME}_sse2)
-
-- target_link_libraries(${PROJECT_NAME}
-- cpu_features)
-+ #target_link_libraries(${PROJECT_NAME}
-+ # cpu_features)
- endif ()
-
- include(GNUInstallDirs)
-@@ -110,18 +111,19 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/spoa-1.pc
-
- option(spoa_build_executable "Build spoa standalone tool" OFF)
- if (spoa_build_executable)
-- if (NOT TARGET biosoup)
-- add_subdirectory(vendor/bioparser/vendor/biosoup EXCLUDE_FROM_ALL)
-- endif ()
-- if (NOT TARGET bioparser)
-- add_subdirectory(vendor/bioparser EXCLUDE_FROM_ALL)
-- endif ()
-+ #if (NOT TARGET biosoup)
-+ # add_subdirectory(vendor/bioparser/vendor/biosoup EXCLUDE_FROM_ALL)
-+ #endif ()
-+ #if (NOT TARGET bioparser)
-+ # add_subdirectory(vendor/bioparser EXCLUDE_FROM_ALL)
-+ #endif ()
- add_executable(${PROJECT_NAME}_exe
- src/main.cpp)
- target_link_libraries(${PROJECT_NAME}_exe
- ${PROJECT_NAME}
-- bioparser
-- biosoup)
-+ #bioparser
-+ #biosoup
-+ )
- target_compile_definitions(${PROJECT_NAME}_exe PRIVATE
- SPOA_VERSION="v${PROJECT_VERSION}")
- set_property(TARGET ${PROJECT_NAME}_exe PROPERTY
-@@ -134,19 +136,19 @@ endif ()
- option(spoa_build_tests "Build spoa unit tests" OFF)
- if (spoa_build_tests)
- find_package(GTest REQUIRED)
-- if (NOT TARGET biosoup)
-- add_subdirectory(vendor/bioparser/vendor/biosoup EXCLUDE_FROM_ALL)
-- endif ()
-- if (NOT TARGET bioparser)
-- add_subdirectory(vendor/bioparser EXCLUDE_FROM_ALL)
-- endif ()
-+ #if (NOT TARGET biosoup)
-+ # add_subdirectory(vendor/bioparser/vendor/biosoup EXCLUDE_FROM_ALL)
-+ #endif ()
-+ #if (NOT TARGET bioparser)
-+ # add_subdirectory(vendor/bioparser EXCLUDE_FROM_ALL)
-+ #endif ()
- include_directories(${PROJECT_SOURCE_DIR}/src)
- add_executable(${PROJECT_NAME}_test
- test/spoa_test.cpp)
- target_link_libraries(${PROJECT_NAME}_test
- ${PROJECT_NAME}
-- bioparser
-- biosoup
-+ #bioparser
-+ #biosoup
- GTest::Main)
- target_compile_definitions(${PROJECT_NAME}_test PRIVATE
- SPOA_DATA_PATH="${PROJECT_SOURCE_DIR}/test/data/sample.fastq.gz")
diff --git a/biology/spoa/pkg-descr b/biology/spoa/pkg-descr
index bbdf84e7cca3..3c926a5a84d7 100644
--- a/biology/spoa/pkg-descr
+++ b/biology/spoa/pkg-descr
@@ -5,5 +5,3 @@ generate consensus sequences. It supports three alignment modes: local
and three gap modes: linear, affine and convex (piecewise affine). It also
supports Intel SSE4.1+ and AVX2 vectorization (marginally faster due to high
latency shifts), SIMDe and dispatching.
-
-WWW: https://github.com/rvaser/spoa
diff --git a/biology/spoa/pkg-plist b/biology/spoa/pkg-plist
index 7883602bf5f0..397027fc2850 100644
--- a/biology/spoa/pkg-plist
+++ b/biology/spoa/pkg-plist
@@ -1,8 +1,11 @@
bin/spoa
include/spoa/alignment_engine.hpp
-include/spoa/architectures.hpp
include/spoa/graph.hpp
include/spoa/spoa.hpp
+include/spoa/version.hpp
+lib/cmake/spoa/spoaConfig.cmake
+lib/cmake/spoa/spoaConfigVersion.cmake
+lib/cmake/spoa/spoaTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/spoa/spoaTargets.cmake
lib/libspoa.so
lib/libspoa.so.7.0.0
-libdata/pkgconfig/spoa-1.pc
diff --git a/biology/sra-tools/Makefile b/biology/sra-tools/Makefile
index 0b6a54bd67ca..2b9eb8e674cb 100644
--- a/biology/sra-tools/Makefile
+++ b/biology/sra-tools/Makefile
@@ -1,105 +1,66 @@
PORTNAME= sra-tools
-DISTVERSION= 2.11.0
-CATEGORIES= biology
+DISTVERSION= 3.0.6
+CATEGORIES= biology java
MAINTAINER= jwb@FreeBSD.org
COMMENT= NCBI's toolkit for handling data in INSDC Sequence Read Archives
+WWW= https://github.com/ncbi/sra-tools
LICENSE= PD LGPL21+
LICENSE_COMB= multi
LICENSE_FILE_PD= ${WRKSRC}/LICENSE
LICENSE_DISTFILES_LGPL21+ =
-ONLY_FOR_ARCHS= amd64
-ONLY_FOR_ARCHS_REASON= NCBI-VDB requires SSE2 instructions, no 32-bit support
+# Untested on other platforms, aarch64 support was recently added upstream
+ONLY_FOR_ARCHS= aarch64 amd64
+ONLY_FOR_ARCHS_REASON= Upstream explicitly supports specific platforms
-BUILD_DEPENDS= bash:shells/bash \
- ${LOCALBASE}/lib/libngs-c++.a:biology/ngs-sdk
+BUILD_DEPENDS= bash:shells/bash
LIB_DEPENDS= libxml2.so:textproc/libxml2 \
libhdf5.so:science/hdf5 \
- libepoll-shim.so:devel/libepoll-shim
+ libepoll-shim.so:devel/libepoll-shim \
+ libzstd.so:archivers/zstd
-USES= compiler:c11 gmake localbase:ldflags perl5 shebangfix
-USE_PERL5= build
+USES= bison cmake shebangfix
USE_GITHUB= yes
+USE_LDCONFIG= ${PREFIX}/lib64
+USE_JAVA= yes
-SHEBANG_GLOB= *.sh *.pl
-GH_ACCOUNT= ncbi
-GH_TUPLE+= ncbi:ngs:${DISTVERSION}:ngs/ngs # ported as biology/ngs-sdk
-GH_TUPLE+= ncbi:ncbi-vdb:${DISTVERSION}:vdb/ncbi-vdb
-
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --with-ngs-sdk-prefix=${LOCALBASE} \
- --with-ncbi-vdb-sources=${NCBI_VDB_WRKSRC} \
- --with-xml2-prefix=${LOCALBASE} \
- --with-hdf5-prefix=${LOCALBASE} \
- CC="${CC}" CXX="${CXX}" TOOLS="${CHOSEN_COMPILER_TYPE}" \
- --with-ncbi-vdb-build=${NCBI_VDB_WRKSRC}/amd64-portbld-freebsd$$(${FREEBSD_RELEASE})
-MAKE_ARGS= CCNAME=${CC} CXXNAME=${CXX} PKGCFLAGS="${CFLAGS}" \
- INST_ETCDIR=${STAGEDIR}${PREFIX}/etc
-
-NCBI_VDB_WRKSRC= ${WRKSRC}/ncbi-vdb
-NCBI_VDB_FILESDIR= ${FILESDIR}
-FREEBSD_RELEASE= uname -r | cut -d - -f 1
-
-CFLAGS+= -I${WRKSRC}/interfaces/os/sun
-CXXFLAGS+= -I${WRKSRC}/interfaces/os/sun
-
-BINARY_ALIAS= gcc=${CC} g++=${CXX}
+# Builds with earlier versions, but ngs-doc plist differs if jdk17 is present
+JAVA_VERSION= 17+
-# for port developers, building with these options may fail
-OPTIONS_DEFINE= DEBUG OPTIMIZED_CFLAGS TEST
-DEBUG_PREVENTS= OPTIMIZED_CFLAGS
-DEBUG_CONFIGURE_WITH= debug
-OPTIMIZED_CFLAGS_MAKE_ARGS_OFF= OPT=""
-TEST_TEST_TARGET= test
-TEST_USES= python
+OPTIONS_DEFINE= EXAMPLES
-# ncbi-vdb build extras
-VDB_CONFIGURE_ARGS= \
- --with-xml2-prefix=${LOCALBASE} \
- --with-hdf5-prefix=${LOCALBASE} \
- --prefix=${PREFIX} \
- --build=amd64-portbld-freebsd$$(${FREEBSD_RELEASE}) \
- CC="${CC}" CXX="${CXX}" TOOLS="${CHOSEN_COMPILER_TYPE}"
-VDB_MAKE_ARGS+= -j 1 CCNAME=${CC} CXXNAME=${CXX} PKGCFLAGS="${CFLAGS}"
-MAKE_ENV+= CPATH="${LOCALBASE}/include/libepoll-shim"
-CFLAGS+= -I${WRKSRC}/lib
-
-pre-patch:
- @${CP} ${FILESDIR}/Makefile.bsd ${NCBI_VDB_WRKSRC}/build/
- @${CP} ${FILESDIR}/ld.bsd.*.sh ${NCBI_VDB_WRKSRC}/build/
- @${MKDIR} ${NCBI_VDB_WRKSRC}/interfaces/os/bsd
- @${CP} -p ${NCBI_VDB_WRKSRC}/interfaces/os/mac/endian.h \
- ${NCBI_VDB_WRKSRC}/interfaces/os/bsd/
+SHEBANG_GLOB= *.sh
+GH_ACCOUNT= ncbi
+GH_TUPLE+= ncbi:ncbi-vdb:${DISTVERSION}:vdb/ncbi-vdb
-post-patch:
- @${GREP} -q '@@PREFIX@@' ${WRKSRC}/ncbi-vdb/libs/kfg/config.c || (echo "@@PREFIX@@ in file/patch-libs_kfg_config.c is overwritten probably due to using 'make makepatch'"; exit 1)
- @${REINPLACE_CMD} -e 's#@@PREFIX@@#"${PREFIX}"#' ${WRKSRC}/ncbi-vdb/libs/kfg/config.c
- @${LN} -s ${WRKSRC}/ncbi-vdb/interfaces/cc/gcc/x86_64 ${WRKSRC}/ncbi-vdb/interfaces/cc/gcc/amd64
+CMAKE_ARGS+= -DVDB_LIBDIR:STRING=${WRKSRC}/ncbi-vdb/build/lib
-post-patch-TEST-on:
- @${REINPLACE_CMD} -e 's|python|${PYTHON_CMD}|' ${WRKSRC}/test/kget/Makefile
+post-extract:
+ @${MKDIR} ${WRKSRC}/ncbi-vdb/interfaces/os/bsd
+ @${CP} ${FILESDIR}/*.h ${WRKSRC}/ncbi-vdb/interfaces/os/bsd
+ # cd ${WRKDIR} && ${LN} -s ${WRKSRC}/ncbi-vdb .
pre-configure:
- @${CP} ${NCBI_VDB_WRKSRC}/setup/os-arch.prl ${WRKSRC}/setup/os-arch.prl
- # same as in biology/ncbi-vdb
- @${CP} ${NCBI_VDB_FILESDIR}/Makefile.bsd ${WRKSRC}/build/
- @${CP} ${NCBI_VDB_WRKSRC}/build/ld.bsd.*.sh ${WRKSRC}/build/
- @${MKDIR} ${WRKSRC}/interfaces/override
- @${CP} ${NCBI_VDB_WRKSRC}/interfaces/os/sun/atomic32.h ${WRKSRC}/interfaces/override
- @${CP} ${FILESDIR}/byteswap.h ${WRKSRC}/interfaces/override
- @cd ${WRKSRC}/ncbi-vdb && ./configure ${VDB_CONFIGURE_ARGS}
- @${ECHO} ${CHOSEN_COMPILER_TYPE} > ${WRKSRC}/ncbi-vdb/build/COMP
- @cd ${WRKSRC}/ncbi-vdb && ${DO_MAKE_BUILD} ${VDB_MAKE_ARGS}
-
-post-build-TEST-on: do-test
-
-do-install:
- cd ${WRKSRC}/amd64-portbld-freebsd*/sra-tools/bsd/clang/*/rel/bin && \
- for f in `ls *.${PORTVERSION}`; do \
- ${INSTALL_PROGRAM} $${f} \
- ${STAGEDIR}${PREFIX}/bin/`basename $${f%%.${PORTVERSION}}`; \
- done
+ # This follows a static patch. Run "make clean patch" before
+ # updating the patch.
+ ${REINPLACE_CMD} -e 's|/usr/local/etc/ncbi|${PREFIX}/etc/ncbi|g' \
+ ${WRKSRC}/ncbi-vdb/libs/kfg/config.c
+ ${REINPLACE_CMD} -e 's|/usr/local/bin|${PREFIX}/bin|g' \
+ ${WRKSRC}/tools/external/driver-tool/file-path.posix.cpp
+ cd ${WRKSRC}/ncbi-vdb/build && cmake .. && make
+
+post-stage:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/*.${DISTVERSION}
+ ${MV} ${STAGEDIR}${PREFIX}/share/examples ${STAGEDIR}${PREFIX}/share/examples-sratools
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${MV} ${STAGEDIR}${PREFIX}/share/examples-sratools/* ${STAGEDIR}${EXAMPLESDIR}
+ ${RMDIR} ${STAGEDIR}${PREFIX}/share/examples-sratools
+ ${MV} ${STAGEDIR}${PREFIX}/share/examples-java ${STAGEDIR}${EXAMPLESDIR}/java
+ ${MV} ${STAGEDIR}${PREFIX}/share/examples-python ${STAGEDIR}${EXAMPLESDIR}/python
+
+post-stage-EXAMPLES-off:
+ ${RM} -r ${STAGEDIR}${EXAMPLESDIR}
.include <bsd.port.mk>
diff --git a/biology/sra-tools/distinfo b/biology/sra-tools/distinfo
index fa75acf23fe6..db2f69729c91 100644
--- a/biology/sra-tools/distinfo
+++ b/biology/sra-tools/distinfo
@@ -1,7 +1,5 @@
-TIMESTAMP = 1624382289
-SHA256 (ncbi-sra-tools-2.11.0_GH0.tar.gz) = 10ac0a4d1fafc274bc107de811891d3e803d0713a247581dece4448231883810
-SIZE (ncbi-sra-tools-2.11.0_GH0.tar.gz) = 8966605
-SHA256 (ncbi-ngs-2.11.0_GH0.tar.gz) = 5fde50784760c00b403c2cc42ead15a4e9477697ee439f0a16edb4de3f52dfcc
-SIZE (ncbi-ngs-2.11.0_GH0.tar.gz) = 1100365
-SHA256 (ncbi-ncbi-vdb-2.11.0_GH0.tar.gz) = 9a65e3885b9ae1ebecbec871f04ce3162ac3764fb556ecdc8c1e61993e2164aa
-SIZE (ncbi-ncbi-vdb-2.11.0_GH0.tar.gz) = 22277539
+TIMESTAMP = 1691599515
+SHA256 (ncbi-sra-tools-3.0.6_GH0.tar.gz) = 9fecfd819ee9beaf8a1d3e4b76a5d49e747bc064525b40416e0730a168986348
+SIZE (ncbi-sra-tools-3.0.6_GH0.tar.gz) = 44957431
+SHA256 (ncbi-ncbi-vdb-3.0.6_GH0.tar.gz) = 4b6f93336bf8664fdcc151d41ea0793f0b0f88cfcb7c2aa049f162a72f905223
+SIZE (ncbi-ncbi-vdb-3.0.6_GH0.tar.gz) = 18972238
diff --git a/biology/sra-tools/files/Makefile.bsd b/biology/sra-tools/files/Makefile.bsd
deleted file mode 100644
index 7692ec277948..000000000000
--- a/biology/sra-tools/files/Makefile.bsd
+++ /dev/null
@@ -1,72 +0,0 @@
-# ===========================================================================
-#
-# PUBLIC DOMAIN NOTICE
-# National Center for Biotechnology Information
-#
-# This software/database is a "United States Government Work" under the
-# terms of the United States Copyright Act. It was written as part of
-# the author's official duties as a United States Government employee and
-# thus cannot be copyrighted. This software/database is freely available
-# to the public for use. The National Library of Medicine and the U.S.
-# Government have not placed any restriction on its use or reproduction.
-#
-# Although all reasonable efforts have been taken to ensure the accuracy
-# and reliability of the software and data, the NLM and the U.S.
-# Government do not and cannot warrant the performance or results that
-# may be obtained by using this software or data. The NLM and the U.S.
-# Government disclaim all warranties, express or implied, including
-# warranties of performance, merchantability or fitness for any particular
-# purpose.
-#
-# Please cite the author in any work or product based on this material.
-#
-# ===========================================================================
-
-
-# default compiler
-ifeq (,$(COMP))
- COMP = clang
-endif
-
-# handle attempts to set cross-compilation architecture
-# note that if your installation is set up for cross compilation,
-# you can try to enable it on your own.
-ifeq (i386,$(ARCH))
-i386:
- @ true
-x86_64:
- @ echo "FreeBSD builds do not support cross-compilation to this architecture"
-endif
-
-ifeq (x86_64,$(ARCH))
-i386:
- @ echo "FreeBSD builds do not support cross-compilation to this architecture"
-x86_64:
- @ true
-endif
-
-.PHONY: i386 x86_64
-
-
-# library prefix
-LPFX = lib
-
-# file extensions
-OBJX = o
-LOBX = pic.o
-LIBX = a
-SHLX = so
-
-# compilation defines
-DEFINES := -DBSD -DUNIX -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DPKGNAME=bsd$(BITS)
-
-# FreeBSD is a Unix variant; for most cases, linux sources do well
-OS_DAD = linux
-OS_GDAD = unix
-
-# flex+bison: on Mac, use source-controlled generated .c/.h files
-YACC = @ true
-LEX = @ true
-
-# build matrix
-COMPILERS = CLANG GCC
diff --git a/biology/sra-tools/files/byteswap.h b/biology/sra-tools/files/byteswap.h
index ef07fe98db64..807bea1289b8 100644
--- a/biology/sra-tools/files/byteswap.h
+++ b/biology/sra-tools/files/byteswap.h
@@ -1,40 +1,15 @@
-/*===========================================================================
-*
-* PUBLIC DOMAIN NOTICE
-* National Center for Biotechnology Information
-*
-* This software/database is a "United States Government Work" under the
-* terms of the United States Copyright Act. It was written as part of
-* the author's official duties as a United States Government employee and
-* thus cannot be copyrighted. This software/database is freely available
-* to the public for use. The National Library of Medicine and the U.S.
-* Government have not placed any restriction on its use or reproduction.
-*
-* Although all reasonable efforts have been taken to ensure the accuracy
-* and reliability of the software and data, the NLM and the U.S.
-* Government do not and cannot warrant the performance or results that
-* may be obtained by using this software or data. The NLM and the U.S.
-* Government disclaim all warranties, express or implied, including
-* warranties of performance, merchantability or fitness for any particular
-* purpose.
-*
-* Please cite the author in any work or product based on this material.
-*
-* ===========================================================================
-*
-*/
-#ifndef _h_byteswap_
-#define _h_byteswap_
+#ifndef _freebsd_byteswap_h_
+#define _freebsd_byteswap_h_
-#include <stdint.h>
#include <sys/endian.h>
-/* N.B. Sun's BSWAP seems to be macro-based,
- meaning that (x) will be evaluated multiple times */
+#define __BYTE_ORDER _BYTE_ORDER
+#define __BIG_ENDIAN _BIG_ENDIAN
+#define __LITTLE_ENDIAN _LITTLE_ENDIAN
#define bswap_16(x) bswap16 (x)
#define bswap_32(x) bswap32 (x)
#define bswap_64(x) bswap64 (x)
-#endif /* _h_byteswap_ */
+#endif
diff --git a/biology/sra-tools/files/endian.h b/biology/sra-tools/files/endian.h
new file mode 100644
index 000000000000..c4b8fc49f735
--- /dev/null
+++ b/biology/sra-tools/files/endian.h
@@ -0,0 +1,2 @@
+
+#include <sys/endian.h>
diff --git a/biology/sra-tools/files/ld.bsd.clang.sh b/biology/sra-tools/files/ld.bsd.clang.sh
deleted file mode 100755
index 61c7779adcf1..000000000000
--- a/biology/sra-tools/files/ld.bsd.clang.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/local/bin/bash
-# ===========================================================================
-#
-# PUBLIC DOMAIN NOTICE
-# National Center for Biotechnology Information
-#
-# This software/database is a "United States Government Work" under the
-# terms of the United States Copyright Act. It was written as part of
-# the author's official duties as a United States Government employee and
-# thus cannot be copyrighted. This software/database is freely available
-# to the public for use. The National Library of Medicine and the U.S.
-# Government have not placed any restriction on its use or reproduction.
-#
-# Although all reasonable efforts have been taken to ensure the accuracy
-# and reliability of the software and data, the NLM and the U.S.
-# Government do not and cannot warrant the performance or results that
-# may be obtained by using this software or data. The NLM and the U.S.
-# Government disclaim all warranties, express or implied, including
-# warranties of performance, merchantability or fitness for any particular
-# purpose.
-#
-# Please cite the author in any work or product based on this material.
-#
-# ===========================================================================
-
-# define linker params
-LD_EXPORT_GLOBAL="-Wl,--export-dynamic"
-LD_MULTIPLE_DEFS="-Wl,-zmuldefs"
-LD_STATIC="-Wl,-Bstatic"
-LD_DYNAMIC="-Wl,-Bdynamic"
-LD_ALL_SYMBOLS="-Wl,-whole-archive"
-LD_REF_SYMBOLS="-Wl,-no-whole-archive"
-
-# build command
-DLIB_CMD="$LD -shared"
-EXE_CMD="$LD"
-
-# versioned output
-if [ "$VERS" = "" ]
-then
- DLIB_CMD="$DLIB_CMD -o $TARG"
- EXE_CMD="$EXE_CMD -o $TARG"
-else
- set-vers $(echo $VERS | tr '.' ' ')
- DLIB_CMD="$DLIB_CMD -o $OUTDIR/$NAME$DBGAP.so.$VERS -Wl,-soname,$NAME.so.$MAJ"
- EXE_CMD="$EXE_CMD -o $OUTDIR/$NAME$DBGAP.$VERS"
-fi
diff --git a/biology/sra-tools/files/ld.bsd.cmn.sh b/biology/sra-tools/files/ld.bsd.cmn.sh
deleted file mode 100755
index a0a65f39884b..000000000000
--- a/biology/sra-tools/files/ld.bsd.cmn.sh
+++ /dev/null
@@ -1,158 +0,0 @@
-#!/usr/local/bin/bash
-# ===========================================================================
-#
-# PUBLIC DOMAIN NOTICE
-# National Center for Biotechnology Information
-#
-# This software/database is a "United States Government Work" under the
-# terms of the United States Copyright Act. It was written as part of
-# the author's official duties as a United States Government employee and
-# thus cannot be copyrighted. This software/database is freely available
-# to the public for use. The National Library of Medicine and the U.S.
-# Government have not placed any restriction on its use or reproduction.
-#
-# Although all reasonable efforts have been taken to ensure the accuracy
-# and reliability of the software and data, the NLM and the U.S.
-# Government do not and cannot warrant the performance or results that
-# may be obtained by using this software or data. The NLM and the U.S.
-# Government disclaim all warranties, express or implied, including
-# warranties of performance, merchantability or fitness for any particular
-# purpose.
-#
-# Please cite the author in any work or product based on this material.
-#
-# ===========================================================================
-
-# script name
-SELF_NAME="$(basename $0)"
-
-# parameters
-LD="$1"
-ARCH="$2"
-BUILD="$3"
-shift 3
-
-SRCDIR="$1"
-BINDIR="$2"
-OUTDIR="$3"
-TARG="$4"
-NAME="$5"
-DBGAP="$6"
-shift 6
-
-VERS="$1"
-VERSFILE="$2"
-DEPFILE="$3"
-shift 3
-
-MODE="$1"
-SCMFLAGS="$2"
-LDFLAGS="$3"
-shift 3
-
-LDIRS="$1"
-XDIRS="$2"
-shift 2
-
-OBJS="$1"
-LIBS="$2"
-
-# decode MODE
-STATIC=$(expr $MODE % 2)
-MODE=$(expr $MODE / 2)
-DYLD=$(expr $MODE % 2)
-MODE=$(expr $MODE / 2)
-KPROC=$(expr $MODE % 2)
-MODE=$(expr $MODE / 2)
-THREADS=$(expr $MODE % 2)
-MODE=$(expr $MODE / 2)
-HAVE_M=$(expr $MODE % 2)
-MODE=$(expr $MODE / 2)
-HAVE_XML=$(expr $MODE % 2)
-
-# decode SCMFLAGS
-CHECKSUM=$(expr $SCMFLAGS % 2)
-STATICSYSLIBS=$(expr $SCMFLAGS / 2)
-
-# return parameter for find-lib
-LIBPATH=''
-
-# initial command state
-CMD=''
-LD_STATIC_STATE=0
-LD_ALL_STATE=0
-
-# for breaking out version
-set-vers ()
-{
- MAJ=$1
- MIN=$2
- REL=$3
-}
-
-# for locating libraries
-find-lib ()
-{
- _lib="lib$1"
- _dirs="$2"
-
- LIBPATH=''
-
- while [ "$_dirs" != "" ]
- do
- _dir="${_dirs%%:*}"
-
- if [ "$_dir" != "" ]
- then
- if [ -e "$_dir/$_lib" ]
- then
- while [ -L "$_dir/$_lib" ]
- do
- _lib=$(readlink -n "$_dir/$_lib")
- done
- LIBPATH="$_dir/$_lib"
- break;
- fi
- fi
-
- _dirs="${_dirs#$_dir}"
- _dirs="${_dirs#:}"
- done
-}
-
-# setting state
-load-static ()
-{
- if [ $LD_STATIC_STATE -eq 0 ]
- then
- CMD="$CMD $LD_STATIC"
- LD_STATIC_STATE=1
- fi
-}
-
-load-dynamic ()
-{
- if [ $LD_STATIC_STATE -eq 1 ]
- then
- CMD="$CMD $LD_DYNAMIC"
- LD_STATIC_STATE=0
- fi
-}
-
-load-all-symbols ()
-{
- if [ $LD_ALL_STATE -eq 0 ]
- then
- CMD="$CMD $LD_ALL_SYMBOLS"
- LD_ALL_STATE=1
- fi
-}
-
-load-ref-symbols ()
-{
- if [ $LD_ALL_STATE -eq 1 ]
- then
- CMD="$CMD $LD_REF_SYMBOLS"
- LD_ALL_STATE=0
- fi
-}
diff --git a/biology/sra-tools/files/ld.bsd.dlib.sh b/biology/sra-tools/files/ld.bsd.dlib.sh
deleted file mode 100755
index a74f2b006818..000000000000
--- a/biology/sra-tools/files/ld.bsd.dlib.sh
+++ /dev/null
@@ -1,308 +0,0 @@
-#!/usr/local/bin/bash
-# ===========================================================================
-#
-# PUBLIC DOMAIN NOTICE
-# National Center for Biotechnology Information
-#
-# This software/database is a "United States Government Work" under the
-# terms of the United States Copyright Act. It was written as part of
-# the author's official duties as a United States Government employee and
-# thus cannot be copyrighted. This software/database is freely available
-# to the public for use. The National Library of Medicine and the U.S.
-# Government have not placed any restriction on its use or reproduction.
-#
-# Although all reasonable efforts have been taken to ensure the accuracy
-# and reliability of the software and data, the NLM and the U.S.
-# Government do not and cannot warrant the performance or results that
-# may be obtained by using this software or data. The NLM and the U.S.
-# Government disclaim all warranties, express or implied, including
-# warranties of performance, merchantability or fitness for any particular
-# purpose.
-#
-# Please cite the author in any work or product based on this material.
-#
-# ===========================================================================
-
-
-# ===========================================================================
-# input library types, and their handling
-#
-# normal linkage
-# -l : find shared or static
-# -s : require static
-# -d : require shared
-#
-# static linkage
-# -l : require static
-# -s : require static
-# -d : ignore
-# ===========================================================================
-
-
-# script name
-SELF_NAME="$(basename $0)"
-BUILD_DIR="$(dirname $0)"
-
-# parameters and common functions
-source "${0%dlib.sh}cmn.sh"
-
-# discover tool chain
-case "$LD" in
-g*)
- source "${0%dlib.sh}gcc.sh"
- ;;
-c*)
- source "${0%dlib.sh}clang.sh"
- ;;
- *)
- echo "$SELF_NAME: unrecognized ld tool - '$LD'"
- exit 5
-esac
-
-# DLIB_CMD was started in tool-specific source
-CMD="$DLIB_CMD $LDFLAGS"
-
-# tack on object files
-CMD="$CMD $OBJS"
-
-# list of static libraries used to create dynamic lib
-SLIBS=''
-
-# initial dependency upon Makefile and vers file
-DEPS="$SRCDIR/Makefile"
-if [ "$LIBS" != "" ]
-then
- # tack on paths
- DIRS="$LDIRS:$XDIRS"
- while [ "$DIRS" != "" ]
- do
- DIR="${DIRS%%:*}"
- [ "$DIR" != "" ] && CMD="$CMD -L$DIR"
- DIRS="${DIRS#$DIR}"
- DIRS="${DIRS#:}"
- done
-
- # update LD_LIBRARY_PATH
- unset LD_LIBRARY_PATH
- export LD_LIBRARY_PATH="$LDIRS:$XDIRS"
-
- # tack on libraries, finding as we go
- for LIB in $LIBS
- do
-
- # strip off switch
- LIBNAME="${LIB#-[lsd]}"
-
- # look at linkage
- case "$LIB" in
- -ldl|-ddl)
-
- # always load libdl as shared library
- load-ref-symbols
- load-dynamic
-# CMD="$CMD -ldl"
- ;;
-
- -l*)
-
- # normal or dynamic linkage
- FOUND=0
- if [ $STATIC -eq 0 ]
- then
- find-lib $LIBNAME.so $LDIRS
- if [ "$LIBPATH" != "" ]
- then
-
- # found it
- FOUND=1
-
- # load normally
- load-ref-symbols
- load-dynamic
- CMD="$CMD -l$LIBNAME"
-
- fi
- fi
-
- # try static only
- if [ $FOUND -eq 0 ]
- then
- find-lib $LIBNAME.a $LDIRS
- if [ "$LIBPATH" != "" ]
- then
-
- # found it
- FOUND=1
-
- # add it to dependencies
- DEPS="$DEPS $LIBPATH"
- SLIBS="$SLIBS $(dirname $LIBPATH)/lib$LIBNAME.a"
-
- # load static
- load-static
- load-all-symbols
- CMD="$CMD -l$LIBNAME"
-
- fi
- fi
-
- # not found within our directories
- if [ $FOUND -eq 0 ]
- then
-
- if [ $STATICSYSLIBS -eq 1 ]
- then
- case "$LIBNAME" in
- z|bz2)
- # set load to static
- load-static
- load-all-symbols
- ;;
-
- *)
- # set load to dynamic
- load-ref-symbols
- load-dynamic
- ;;
-
- esac
- else
- # set load to normal
- load-ref-symbols
- load-dynamic
- fi
-
- CMD="$CMD -l$LIBNAME"
- fi
- ;;
-
- -s*)
-
- # force static load
- FOUND=0
- find-lib $LIBNAME.a $LDIRS
- if [ "$LIBPATH" != "" ]
- then
-
- # found it
- FOUND=1
-
- # add it to dependencies
- DEPS="$DEPS $LIBPATH"
- SLIBS="$SLIBS $(dirname $LIBPATH)/lib$LIBNAME.a"
-
- # load static
- load-static
- load-all-symbols
- CMD="$CMD -l$LIBNAME"
-
- fi
-
- # not found within our directories
- if [ $FOUND -eq 0 ]
- then
-
- if [ $STATIC -eq 1 ] || [ $STATICSYSLIBS -eq 1 ]
- then
- # set load to static
- load-static
- load-all-symbols
- else
-
- case "$LIBNAME" in
- z|bz2)
- # set load to dynamic
- load-ref-symbols
- load-dynamic
- ;;
-
- *)
- # set load to static
- load-static
- load-all-symbols
- ;;
- esac
- fi
-
- CMD="$CMD -l$LIBNAME"
- fi
- ;;
-
- -d*)
-
- # only dynamic linkage
- FOUND=0
- if [ $STATIC -eq 0 ]
- then
- find-lib $LIBNAME.so $LDIRS
- if [ "$LIBPATH" != "" ]
- then
-
- # found it
- FOUND=1
-
- # load normally
- load-ref-symbols
- load-dynamic
- CMD="$CMD -l$LIBNAME"
-
- fi
- fi
-
- # not found within our directories
- if [ $FOUND -eq 0 ]
- then
- # set load to normal
- load-ref-symbols
- load-dynamic
- CMD="$CMD -l$LIBNAME"
- fi
- ;;
-
- esac
-
- done
-fi
-
-# put state back to normal
-load-ref-symbols
-load-dynamic
-
-# add in pthreads
-if [ $THREADS -ne 0 ]
-then
- CMD="$CMD -lpthread"
-fi
-
-# add in xml
-if [ $HAVE_XML -ne 0 ]
-then
- CMD="$CMD -lxml2"
-fi
-
-# add in math library
-if [ $HAVE_M -ne 0 ]
-then
- CMD="$CMD -lm"
-fi
-
-# produce shared library
-echo "$CMD"
-$CMD || exit $?
-
-# produce dependencies
-if [ "$DEPFILE" != "" ]
-then
- echo "$TARG: $DEPS" > "$DEPFILE"
-fi
-
-if [ $CHECKSUM -eq 1 ]
-then
- SCM_DIR="${BUILD_DIR%/*}/scm"
- LOGFILE="$SCM_DIR/scm.log"
- MSG=">>>>> scm: calling the collect script from ld.linux.dlib.sh <<<<<<"
- #echo "$MSG"
- echo "$MSG" >> $LOGFILE
-
- "$BUILD_DIR/scm-collect.sh" "$OBJS" "$SLIBS" | sort -u > "$TARG.md5"
-fi
diff --git a/biology/sra-tools/files/ld.bsd.exe.sh b/biology/sra-tools/files/ld.bsd.exe.sh
deleted file mode 100755
index 650a212780c3..000000000000
--- a/biology/sra-tools/files/ld.bsd.exe.sh
+++ /dev/null
@@ -1,326 +0,0 @@
-#!/usr/local/bin/bash
-# ===========================================================================
-#
-# PUBLIC DOMAIN NOTICE
-# National Center for Biotechnology Information
-#
-# This software/database is a "United States Government Work" under the
-# terms of the United States Copyright Act. It was written as part of
-# the author's official duties as a United States Government employee and
-# thus cannot be copyrighted. This software/database is freely available
-# to the public for use. The National Library of Medicine and the U.S.
-# Government have not placed any restriction on its use or reproduction.
-#
-# Although all reasonable efforts have been taken to ensure the accuracy
-# and reliability of the software and data, the NLM and the U.S.
-# Government do not and cannot warrant the performance or results that
-# may be obtained by using this software or data. The NLM and the U.S.
-# Government disclaim all warranties, express or implied, including
-# warranties of performance, merchantability or fitness for any particular
-# purpose.
-#
-# Please cite the author in any work or product based on this material.
-#
-# ===========================================================================
-
-
-# ===========================================================================
-# input library types, and their handling
-#
-# normal linkage
-# -l : find shared or static
-# -s : require static
-# -d : ignore - will be dynamically loaded
-#
-# static linkage
-# -l : require static
-# -s : require static
-# -d : require static
-# ===========================================================================
-
-
-# script name
-SELF_NAME="$(basename $0)"
-BUILD_DIR="$(dirname $0)"
-
-# parameters and common functions
-source "${0%exe.sh}cmn.sh"
-
-# discover tool chain
-case "$LD" in
-g*)
- source "${0%exe.sh}gcc.sh"
- ;;
-c*)
- source "${0%exe.sh}clang.sh"
- ;;
-*)
- echo "$SELF_NAME: unrecognized ld tool - '$LD'"
- exit 5
-esac
-
-# EXE_CMD was started in tool-specific source
-CMD="$EXE_CMD $LDFLAGS"
-
-# if building a static executable against dynamic libraries
-# the main application will substitute for name lookup
-if [ $STATIC -eq 1 ] && [ $DYLD -eq 1 ]
-then
-# CMD="$CMD $LD_EXPORT_GLOBAL $LD_MULTIPLE_DEFS"
- CMD="$CMD $LD_EXPORT_GLOBAL"
-fi
-
-# tack on object files
-CMD="$CMD $OBJS"
-
-# list of static libraries used to create executable
-SLIBS=''
-
-# initial dependency upon Makefile and vers file
-DEPS="$SRCDIR/Makefile $VERSFILE"
-if [ "$LIBS" != "" ]
-then
- # tack on paths
- DIRS="$LDIRS:$XDIRS"
- while [ "$DIRS" != "" ]
- do
- DIR="${DIRS%%:*}"
- [ "$DIR" != "" ] && CMD="$CMD -L$DIR"
- DIRS="${DIRS#$DIR}"
- DIRS="${DIRS#:}"
- done
-
- # update LD_LIBRARY_PATH
- unset LD_LIBRARY_PATH
- export LD_LIBRARY_PATH="$LDIRS:$XDIRS"
-
- # tack on libraries, finding as we go
- for LIB in $LIBS
- do
-
- # strip off switch
- LIBNAME="${LIB#-[lsd]}"
-
- # look at linkage
- case "$LIB" in
- -ldl|-ddl)
-
- # always load libdl as shared library
- load-ref-symbols
- load-dynamic
-# CMD="$CMD -ldl"
- ;;
-
- -l*)
-
- # normal or dynamic linkage
- FOUND=0
- if [ $STATIC -eq 0 ]
- then
- find-lib $LIBNAME.so $LDIRS
- if [ "$LIBPATH" != "" ]
- then
-
- # found it
- FOUND=1
-
- # load dynamic
- load-dynamic
- CMD="$CMD -l$LIBNAME"
-
- fi
- fi
-
- # try static only
- if [ $FOUND -eq 0 ]
- then
- find-lib $LIBNAME.a $LDIRS
- if [ "$LIBPATH" != "" ]
- then
-
- # found it
- FOUND=1
-
- # add it to dependencies
- DEPS="$DEPS $LIBPATH"
- SLIBS="$SLIBS $(dirname $LIBPATH)/lib$LIBNAME.a"
-
- # load static
- load-static
- [ $STATIC -eq 1 ] && load-all-symbols
- CMD="$CMD -l$LIBNAME"
-
- fi
- fi
-
- # not found within our directories
- if [ $FOUND -eq 0 ]
- then
-
- # do not need to load all symbols for external libs
- [ $STATIC -eq 1 ] && load-ref-symbols
-
- if [ $STATICSYSLIBS -eq 1 ]
- then
- case "$LIBNAME" in
- z|bz2)
- # set load to static
- load-static
- ;;
-
- *)
- # set load to dynamic
- load-dynamic
- ;;
-
- esac
- else
- # set load to normal
- load-dynamic
- fi
-
- CMD="$CMD -l$LIBNAME"
- fi
- ;;
-
- -s*)
-
- # force static load
- FOUND=0
- find-lib $LIBNAME.a $LDIRS
- if [ "$LIBPATH" != "" ]
- then
-
- # found it
- FOUND=1
-
- # add it to dependencies
- DEPS="$DEPS $LIBPATH"
- SLIBS="$SLIBS $(dirname $LIBPATH)/lib$LIBNAME.a"
-
- # load static
- load-static
- [ $STATIC -eq 1 ] && load-all-symbols
- CMD="$CMD -l$LIBNAME"
-
- fi
-
- # not found within our directories
- if [ $FOUND -eq 0 ]
- then
-
- # do not need to load all symbols for external libs
- [ $STATIC -eq 1 ] && load-ref-symbols
-
- if [ $STATIC -eq 1 ] || [ $STATICSYSLIBS -eq 1 ]
- then
-
- # set load to static
- load-static
-
- else
-
- # special case for libs we have in "ext"
- # that are sometimes requested as static
- case "$LIBNAME" in
- z|bz2)
- # set load to dynamic
- load-dynamic
- ;;
- *)
- load-static
- ;;
- esac
- fi
-
- CMD="$CMD -l$LIBNAME"
- fi
- ;;
-
- -d*)
-
- FOUND=0
- if [ $STATIC -eq 1 ]
- then
- find-lib $LIBNAME.a $LDIRS
- if [ "$LIBPATH" != "" ]
- then
-
- # found it
- FOUND=1
-
- # add it to dependencies
- DEPS="$DEPS $LIBPATH"
- SLIBS="$SLIBS $(dirname $LIBPATH)/lib$LIBNAME.a"
-
- # load static
- load-static
- load-all-symbols
-
- CMD="$CMD -l$LIBNAME"
-
- fi
-
- # not found within our directories
- if [ $FOUND -eq 0 ]
- then
- load-static
- load-all-symbols
-
- CMD="$CMD -l$LIBNAME"
- fi
- fi
- ;;
-
-
- esac
-
- done
-fi
-
-# return to normal
-load-ref-symbols
-load-dynamic
-
-# add in pthreads
-if [ $THREADS -ne 0 ]
-then
- CMD="$CMD -lpthread"
-fi
-
-# add in xml
-# Doesn't work since ld.sh uses HAVE_XML=32, passed here as part of MODE
-if [ "$HAVE_XML2" = "1" ]
-then
- CMD="$CMD -lxml2"
-fi
-
-# For sra-tools tools/*
-CMD="$CMD -lepoll-shim -lxml2 -lbz2 -lz"
-
-# add in math library
-if [ $HAVE_M -ne 0 ]
-then
- CMD="$CMD -lm"
-fi
-
-# produce shared library
-echo $CMD
-$CMD || exit $?
-
-# produce dependencies
-if [ "$DEPFILE" != "" ]
-then
- echo "$TARG: $DEPS" > "$DEPFILE"
-fi
-
-if [ $CHECKSUM -eq 1 ]
-then
- SCM_DIR="${BUILD_DIR%/*}/scm"
- LOGFILE="$SCM_DIR/scm.log"
- MSG=">>>>> scm: calling the collect script from ld.linux.exe.sh <<<<<<"
- #echo "$MSG"
- echo "$MSG" >> $LOGFILE
-
- "$BUILD_DIR/scm-collect.sh" "$OBJS" "$SLIBS" | sort -u > "$TARG.md5"
-fi
diff --git a/biology/sra-tools/files/ld.bsd.gcc.sh b/biology/sra-tools/files/ld.bsd.gcc.sh
deleted file mode 100755
index 61c7779adcf1..000000000000
--- a/biology/sra-tools/files/ld.bsd.gcc.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/local/bin/bash
-# ===========================================================================
-#
-# PUBLIC DOMAIN NOTICE
-# National Center for Biotechnology Information
-#
-# This software/database is a "United States Government Work" under the
-# terms of the United States Copyright Act. It was written as part of
-# the author's official duties as a United States Government employee and
-# thus cannot be copyrighted. This software/database is freely available
-# to the public for use. The National Library of Medicine and the U.S.
-# Government have not placed any restriction on its use or reproduction.
-#
-# Although all reasonable efforts have been taken to ensure the accuracy
-# and reliability of the software and data, the NLM and the U.S.
-# Government do not and cannot warrant the performance or results that
-# may be obtained by using this software or data. The NLM and the U.S.
-# Government disclaim all warranties, express or implied, including
-# warranties of performance, merchantability or fitness for any particular
-# purpose.
-#
-# Please cite the author in any work or product based on this material.
-#
-# ===========================================================================
-
-# define linker params
-LD_EXPORT_GLOBAL="-Wl,--export-dynamic"
-LD_MULTIPLE_DEFS="-Wl,-zmuldefs"
-LD_STATIC="-Wl,-Bstatic"
-LD_DYNAMIC="-Wl,-Bdynamic"
-LD_ALL_SYMBOLS="-Wl,-whole-archive"
-LD_REF_SYMBOLS="-Wl,-no-whole-archive"
-
-# build command
-DLIB_CMD="$LD -shared"
-EXE_CMD="$LD"
-
-# versioned output
-if [ "$VERS" = "" ]
-then
- DLIB_CMD="$DLIB_CMD -o $TARG"
- EXE_CMD="$EXE_CMD -o $TARG"
-else
- set-vers $(echo $VERS | tr '.' ' ')
- DLIB_CMD="$DLIB_CMD -o $OUTDIR/$NAME$DBGAP.so.$VERS -Wl,-soname,$NAME.so.$MAJ"
- EXE_CMD="$EXE_CMD -o $OUTDIR/$NAME$DBGAP.$VERS"
-fi
diff --git a/biology/sra-tools/files/ld.bsd.ln.sh b/biology/sra-tools/files/ld.bsd.ln.sh
deleted file mode 100755
index 4897950a2144..000000000000
--- a/biology/sra-tools/files/ld.bsd.ln.sh
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/usr/local/bin/bash
-# ===========================================================================
-#
-# PUBLIC DOMAIN NOTICE
-# National Center for Biotechnology Information
-#
-# This software/database is a "United States Government Work" under the
-# terms of the United States Copyright Act. It was written as part of
-# the author's official duties as a United States Government employee and
-# thus cannot be copyrighted. This software/database is freely available
-# to the public for use. The National Library of Medicine and the U.S.
-# Government have not placed any restriction on its use or reproduction.
-#
-# Although all reasonable efforts have been taken to ensure the accuracy
-# and reliability of the software and data, the NLM and the U.S.
-# Government do not and cannot warrant the performance or results that
-# may be obtained by using this software or data. The NLM and the U.S.
-# Government disclaim all warranties, express or implied, including
-# warranties of performance, merchantability or fitness for any particular
-# purpose.
-#
-# Please cite the author in any work or product based on this material.
-#
-# ===========================================================================
-
-# script name
-SELF_NAME="$(basename $0)"
-
-# parameters
-TYPE="$1"
-OUTDIR="$2"
-TARG="$3"
-NAME="$4"
-DBGAP="$5"
-EXT="$6"
-VERS="$7"
-
-# find target
-TARG=$(basename "$TARG")
-
-# put extension back onto name
-NAME="$NAME$DBGAP"
-STATIC_NAME="$NAME-static"
-if [ "$EXT" != "" ]
-then
- NAME="$NAME.$EXT"
- STATIC_NAME="$STATIC_NAME.$EXT"
-fi
-
-# break out version
-set-vers ()
-{
- MAJ=$1
- MIN=$2
- REL=$3
-}
-
-set-vers $(echo $VERS | tr '.' ' ')
-
-cd "$OUTDIR" || exit 5
-
-# create link
-create-link ()
-{
- rm -f "$2"
- local CMD="ln -s $1 $2"
- echo $CMD
- $CMD
-}
-
-# test for version in target name
-if [ "$TARG" != "$NAME.$MAJ.$MIN.$REL" ]
-then
-
- # for simple name, create 2 links
- if [ "$TARG" = "$NAME" ]
- then
- create-link "$NAME.$MAJ.$MIN.$REL" "$NAME.$MAJ"
- create-link "$NAME.$MAJ" "$NAME"
-
- # for static libraries, create special link
- if [ "$TYPE" = "slib" ]
- then
- create-link "$NAME" "$STATIC_NAME"
- fi
-
- # for name with major version in it
- elif [ "$TARG" = "$NAME.$MAJ" ]
- then
- create-link "$NAME.$MAJ.$MIN.$REL" "$NAME.$MAJ"
-
-
- # for name with major & minor version in it
- elif [ "$TARG" = "$NAME.$MAJ.$MIN" ]
- then
- create-link "$NAME.$MAJ.$MIN.$REL" "$NAME.$MAJ.$MIN"
- fi
-fi
diff --git a/biology/sra-tools/files/ld.bsd.slib.sh b/biology/sra-tools/files/ld.bsd.slib.sh
deleted file mode 100755
index c0e85183ea4e..000000000000
--- a/biology/sra-tools/files/ld.bsd.slib.sh
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/usr/local/bin/bash
-# ===========================================================================
-#
-# PUBLIC DOMAIN NOTICE
-# National Center for Biotechnology Information
-#
-# This software/database is a "United States Government Work" under the
-# terms of the United States Copyright Act. It was written as part of
-# the author's official duties as a United States Government employee and
-# thus cannot be copyrighted. This software/database is freely available
-# to the public for use. The National Library of Medicine and the U.S.
-# Government have not placed any restriction on its use or reproduction.
-#
-# Although all reasonable efforts have been taken to ensure the accuracy
-# and reliability of the software and data, the NLM and the U.S.
-# Government do not and cannot warrant the performance or results that
-# may be obtained by using this software or data. The NLM and the U.S.
-# Government disclaim all warranties, express or implied, including
-# warranties of performance, merchantability or fitness for any particular
-# purpose.
-#
-# Please cite the author in any work or product based on this material.
-#
-# ===========================================================================
-
-
-# ===========================================================================
-# input library types, and their handling
-#
-# normal or static linkage
-# -l : require static
-# -s : require static
-# -d : ignore
-# ===========================================================================
-
-# script name
-SELF_NAME="$(basename $0)"
-BUILD_DIR="$(dirname $0)"
-
-# parameters and common functions
-source "${0%slib.sh}cmn.sh"
-
-# initialize command
-CMD="ar -rc"
-
-# function to convert an archive into individual object files
-convert-static ()
-{
- # list members
- local path="$1"
- local mbrs="$(ar -t $path)"
-
- # unpack archive into temporary directory
- mkdir -p ld-tmp
- if ! cd ld-tmp
- then
- echo "$SELF_NAME: failed to cd to ld-tmp"
- exit 5
- fi
- ar -x "$path"
-
- # rename and add to source files list
- local m=
- for m in $mbrs
- do
- mv $m $LIBNAME-$m
- CMD="$CMD ld-tmp/$LIBNAME-$m"
- done
-
- # return to prior location
- cd - > /dev/null
-}
-
-# versioned output
-if [ "$VERS" = "" ]
-then
- CMD="$CMD $TARG"
-else
- set-vers $(echo $VERS | tr '.' ' ')
- CMD="$CMD $OUTDIR/$NAME$DBGAP.a.$VERS"
-fi
-
-# tack on object files
-CMD="$CMD $OBJS"
-
-# list of static libraries used to create this lib
-SLIBS=''
-
-# initial dependency upon Makefile and vers file
-DEPS="$SRCDIR/Makefile"
-if [ "$LIBS" != "" ]
-then
- # tack on libraries, finding as we go
- for LIB in $LIBS
- do
-
- # strip off switch
- LIBNAME="${LIB#-[lsd]}"
-
- # look at linkage
- case "$LIB" in
- -s*)
-
- # force static load
- find-lib $LIBNAME.a $LDIRS
- if [ "$LIBPATH" != "" ]
- then
-
- # add it to dependencies
- DEPS="$DEPS $LIBPATH"
- SLIBS="$SLIBS $(dirname $LIBPATH)/lib$LIBNAME.a"
-
- # convert to individual object files
- convert-static "$LIBPATH" || exit $?
-
- fi
- ;;
-
- esac
-
- done
-fi
-
-# produce static library
-echo $CMD
-$CMD || exit $?
-
-# remove temporaries
-rm -rf ld-tmp
-
-# produce dependencies
-if [ "$DEPFILE" != "" ] && [ "$DEPS" != "" ]
-then
- echo "$TARG: $DEPS" > "$DEPFILE"
-fi
-
-if [ $CHECKSUM -eq 1 ]
-then
- SCM_DIR="${BUILD_DIR%/*}/scm"
- LOGFILE="$SCM_DIR/scm.log"
- MSG=">>>>> scm: calling the collect script from ld.linux.slib.sh <<<<<<"
- #echo "$MSG"
- echo "$MSG" >> $LOGFILE
-
- "$BUILD_DIR/scm-collect.sh" "$OBJS" "$SLIBS" | sort -u > "$TARG.md5"
-fi
diff --git a/biology/sra-tools/files/os-native.h b/biology/sra-tools/files/os-native.h
new file mode 100644
index 000000000000..7dc63e85c167
--- /dev/null
+++ b/biology/sra-tools/files/os-native.h
@@ -0,0 +1,43 @@
+/*===========================================================================
+*
+* PUBLIC DOMAIN NOTICE
+* National Center for Biotechnology Information
+*
+* This software/database is a "United States Government Work" under the
+* terms of the United States Copyright Act. It was written as part of
+* the author's official duties as a United States Government employee and
+* thus cannot be copyrighted. This software/database is freely available
+* to the public for use. The National Library of Medicine and the U.S.
+* Government have not placed any restriction on its use or reproduction.
+*
+* Although all reasonable efforts have been taken to ensure the accuracy
+* and reliability of the software and data, the NLM and the U.S.
+* Government do not and cannot warrant the performance or results that
+* may be obtained by using this software or data. The NLM and the U.S.
+* Government disclaim all warranties, express or implied, including
+* warranties of performance, merchantability or fitness for any particular
+* purpose.
+*
+* Please cite the author in any work or product based on this material.
+*
+* ===========================================================================
+*
+*/
+
+#ifndef _h_os_native_
+#define _h_os_native_
+
+#ifndef _h_unix_native_
+#include "../unix/unix-native.h"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _h_os_native_ */
diff --git a/biology/sra-tools/files/patch-CMakeLists.txt b/biology/sra-tools/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..7c864a522b85
--- /dev/null
+++ b/biology/sra-tools/files/patch-CMakeLists.txt
@@ -0,0 +1,13 @@
+--- CMakeLists.txt.orig 2023-02-01 20:26:19 UTC
++++ CMakeLists.txt
+@@ -54,8 +54,8 @@ set(CMAKE_MODULE_PATH
+ "${CMAKE_CURRENT_SOURCE_DIR}/build"
+ )
+
+-set( VDB_BINDIR "${CMAKE_BINARY_DIR}/../ncbi-vdb" CACHE PATH "Location of NCBI VDB build directory" )
+-set( VDB_INCDIR "${CMAKE_SOURCE_DIR}/../ncbi-vdb/interfaces" CACHE PATH "Location of NCBI VDB include directory" )
++set( VDB_BINDIR "${CMAKE_BINARY_DIR}/ncbi-vdb" CACHE PATH "Location of NCBI VDB build directory" )
++set( VDB_INCDIR "${CMAKE_SOURCE_DIR}/ncbi-vdb/interfaces" CACHE PATH "Location of NCBI VDB include directory" )
+
+ include(CTest)
+ enable_testing()
diff --git a/biology/sra-tools/files/patch-build_env.cmake b/biology/sra-tools/files/patch-build_env.cmake
new file mode 100644
index 000000000000..be1423fb24c2
--- /dev/null
+++ b/biology/sra-tools/files/patch-build_env.cmake
@@ -0,0 +1,56 @@
+--- build/env.cmake.orig 2023-07-10 16:23:35 UTC
++++ build/env.cmake
+@@ -69,11 +69,21 @@ if ( ${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin" )
+ set(LIBPFX "lib")
+ set(SHLX "dylib")
+ set(STLX "a")
++elseif ( ${CMAKE_HOST_SYSTEM_NAME} STREQUAL "FreeBSD" )
++ set(OS "bsd")
++ set(LIBPFX "lib")
++ set(SHLX "so")
++ set(STLX "a")
+ elseif ( ${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux" )
+ set(OS "linux")
+ set(LIBPFX "lib")
+ set(SHLX "so")
+ set(STLX "a")
++elseif ( ${CMAKE_HOST_SYSTEM_NAME} STREQUAL "NetBSD" )
++ set(OS "bsd")
++ set(LIBPFX "lib")
++ set(SHLX "so")
++ set(STLX "a")
+ elseif ( ${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows" )
+ set(OS "windows")
+ set(LIBPFX "")
+@@ -91,6 +101,8 @@ elseif ( ${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "aarc
+ set(ARCH "arm64")
+ elseif ( ${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
+ set(ARCH "x86_64")
++elseif ( ${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "amd64")
++ set(ARCH "x86_64")
+ elseif ( ${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "AMD64")
+ set(ARCH "x86_64")
+ else()
+@@ -98,7 +110,11 @@ else()
+ endif ()
+
+ # create variables based entirely upon OS
+-if ( "mac" STREQUAL ${OS} )
++if ( "bsd" STREQUAL ${OS} )
++ add_compile_definitions( BSD UNIX )
++ set( LMCHECK "" )
++ set( EXE "" )
++elseif ( "mac" STREQUAL ${OS} )
+ add_compile_definitions( MAC BSD UNIX )
+ set( LMCHECK "" )
+ set( EXE "" )
+@@ -380,6 +396,9 @@ endif()
+
+ if ( "mac" STREQUAL ${OS} )
+ include_directories(${VDB_INTERFACES_DIR}/os/mac)
++ include_directories(${VDB_INTERFACES_DIR}/os/unix)
++elseif( "bsd" STREQUAL ${OS} )
++ include_directories(${VDB_INTERFACES_DIR}/os/bsd)
+ include_directories(${VDB_INTERFACES_DIR}/os/unix)
+ elseif( "linux" STREQUAL ${OS} )
+ include_directories(${VDB_INTERFACES_DIR}/os/linux)
diff --git a/biology/sra-tools/files/patch-build_ld.linux.exe.sh b/biology/sra-tools/files/patch-build_ld.linux.exe.sh
deleted file mode 100644
index 970a7e10aac8..000000000000
--- a/biology/sra-tools/files/patch-build_ld.linux.exe.sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- build/ld.linux.exe.sh.orig 2021-06-20 16:32:05 UTC
-+++ build/ld.linux.exe.sh
-@@ -313,6 +313,8 @@ then
- fi
- fi
-
-+CMD="$CMD -lepoll-thread -lbz2 -lz"
-+
- # add in math library
- if [ $HAVE_M -ne 0 ]
- then
diff --git a/biology/sra-tools/files/patch-libs_ascp_CMakeLists.txt b/biology/sra-tools/files/patch-libs_ascp_CMakeLists.txt
new file mode 100644
index 000000000000..25801b4ed932
--- /dev/null
+++ b/biology/sra-tools/files/patch-libs_ascp_CMakeLists.txt
@@ -0,0 +1,27 @@
+--- libs/ascp/CMakeLists.txt.orig 2023-07-10 16:23:35 UTC
++++ libs/ascp/CMakeLists.txt
+@@ -23,12 +23,17 @@
+ # ===========================================================================
+
+ set ( UNIX_SRC unix/connect.c )
++# FIXME: Add BSD-specific ascp-path.c
++# Aspera can be installed and run with linux compat
++set ( BSD_SRC ${UNIX_SRC} linux/ascp-path.c )
+ set ( LINUX_SRC ${UNIX_SRC} linux/ascp-path.c )
+ set ( MAC_SRC ${UNIX_SRC} mac/ascp-path.c )
+ set ( WIN_SRC win/connect.c win/ascp-path.c )
+
+ if ( "windows" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${WIN_SRC} )
++elseif( "bsd" STREQUAL ${OS} )
++ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
+ elseif( "linux" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
+ elseif( "mac" STREQUAL ${OS} )
+@@ -49,4 +54,4 @@ GenerateStaticLibs(ascp
+ )
+
+ add_compile_definitions( __mod__="libs/ascp" )
+-include_directories( BEFORE ${CMAKE_CURRENT_SOURCE_DIR} )
+\ No newline at end of file
++include_directories( BEFORE ${CMAKE_CURRENT_SOURCE_DIR} )
diff --git a/biology/sra-tools/files/patch-libs_general-writer_general-writer.cpp b/biology/sra-tools/files/patch-libs_general-writer_general-writer.cpp
new file mode 100644
index 000000000000..b16584ab8dbf
--- /dev/null
+++ b/biology/sra-tools/files/patch-libs_general-writer_general-writer.cpp
@@ -0,0 +1,10 @@
+--- libs/general-writer/general-writer.cpp.orig 2023-05-11 11:57:33 UTC
++++ libs/general-writer/general-writer.cpp
+@@ -39,6 +39,7 @@
+ #include <string.h>
+
+ #define PROGRESS_EVENT 0
++#define UNUSED(x) ((void)(x))
+
+ namespace ncbi
+ {
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.clang b/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.clang
deleted file mode 100644
index 99878e619099..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.clang
+++ /dev/null
@@ -1,30 +0,0 @@
---- ncbi-vdb/build/Makefile.clang.orig 2021-03-15 18:16:43 UTC
-+++ ncbi-vdb/build/Makefile.clang
-@@ -24,23 +24,23 @@
-
-
- # compilers
--CC = @ $(TOP)/build/cc.sh $(OS) 'clang -c' \
-+CC = @ $(TOP)/build/cc.sh $(OS) '$(CCNAME) -c' \
- $(CHECKSUM) --objx $(OBJX) --cflags "$(CFLAGS)" -MD
--CP = @ $(TOP)/build/cc.sh $(OS) 'clang++ -c' \
-+CP = @ $(TOP)/build/cc.sh $(OS) '$(CXXNAME) -c' \
- $(CHECKSUM) --objx $(OBJX) -stdlib=libc++ --cflags "$(CPFLAGS)" -MD
-
- # C preprocessor
- PP = gcc -E $(CFLAGS)
-
- # linkers
--LD = @ $(TOP)/build/ld.sh $(OS) $(ARCH) clang \
-+LD = @ $(TOP)/build/ld.sh $(OS) $(ARCH) $(CCNAME) \
- --build $(BUILD) --ldflags "$(LDFLAGS)" $(STATIC) \
- $(STATICSYSLIBS) $(CHECKSUM) --objx $(OBJX) --shlx $(SHLX) --libx $(LIBX) \
- -MD --srcdir $(SRCDIR) --bindir $(BINDIR) -L$(LIBDIR):$(ILIBDIR)
-
- LPFLAGS = $(LDFLAGS)
-
--LP = @ $(TOP)/build/ld.sh $(OS) $(ARCH) clang++ \
-+LP = @ $(TOP)/build/ld.sh $(OS) $(ARCH) $(CXXNAME) \
- --build $(BUILD) --ldflags "$(LDFLAGS)" $(STATIC) \
- $(STATICSYSLIBS) $(CHECKSUM) --objx $(OBJX) --shlx $(SHLX) --libx $(LIBX) \
- -MD --srcdir $(SRCDIR) --bindir $(BINDIR) -L$(LIBDIR):$(ILIBDIR)
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.env b/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.env
deleted file mode 100644
index 4e0b80a9bf78..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.env
+++ /dev/null
@@ -1,25 +0,0 @@
---- ncbi-vdb/build/Makefile.env.orig 2021-03-15 18:16:43 UTC
-+++ ncbi-vdb/build/Makefile.env
-@@ -333,6 +333,22 @@ INCDIRS = \
- $(addprefix -I,$(XTINC) $(NGSINC)) \
- -I.
-
-+# linker paths
-+LDPATHS =
-+
-+ifneq (,$(HDF5_LIBDIR))
-+ LDPATHS += -L$(HDF5_LIBDIR)
-+endif
-+ifneq (,$(XML2_LIBDIR))
-+ LDPATHS += -L$(XML2_LIBDIR)
-+endif
-+ifneq (,$(MAGIC_LIBDIR))
-+ LDPATHS += -L$(MAGIC_LIBDIR)
-+endif
-+ifneq (,$(FUSE_LIBDIR))
-+ LDPATHS += -L$(FUSE_LIBDIR)
-+endif
-+
-
- # defines that describe os & architecture
- DLLX ?= $(SHLX)
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.gcc b/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.gcc
deleted file mode 100644
index d2fc4c4e04c6..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.gcc
+++ /dev/null
@@ -1,35 +0,0 @@
---- ncbi-vdb/build/Makefile.gcc.orig 2017-07-14 21:55:36 UTC
-+++ ncbi-vdb/build/Makefile.gcc
-@@ -22,25 +22,27 @@
- #
- # ===========================================================================
-
-+CCNAME ?= gcc
-+CXXNAME ?= g++
-
- # compilers
--CC = @ $(TOP)/build/cc.sh $(OS) 'gcc -c' \
-+CC = @ $(TOP)/build/cc.sh $(OS) '$(CCNAME) -c' \
- $(CHECKSUM) --objx $(OBJX) --cflags "$(CFLAGS)" -MD
--CP = @ $(TOP)/build/cc.sh $(OS) 'g++ -c' \
-+CP = @ $(TOP)/build/cc.sh $(OS) '$(CXXNAME) -c' \
- $(CHECKSUM) --objx $(OBJX) --cflags "$(CPFLAGS)" -MD
-
- # C preprocessor
--PP = gcc -E $(CFLAGS)
-+PP = $(CCNAME) -E $(CFLAGS)
-
- # linkers
--LD = @ $(TOP)/build/ld.sh $(OS) $(ARCH) gcc \
-+LD = @ $(TOP)/build/ld.sh $(OS) $(ARCH) $(CCNAME) \
- --build $(BUILD) --ldflags "$(LDFLAGS)" $(STATIC) \
- $(STATICSYSLIBS) $(CHECKSUM) --objx $(OBJX) --shlx $(SHLX) --libx $(LIBX) \
- -MD --srcdir $(SRCDIR) --bindir $(BINDIR) -L$(LIBDIR):$(ILIBDIR)
-
- LPFLAGS = $(LDFLAGS)
-
--LP = @ $(TOP)/build/ld.sh $(OS) $(ARCH) g++ \
-+LP = @ $(TOP)/build/ld.sh $(OS) $(ARCH) $(CXXNAME) \
- --build $(BUILD) --ldflags "$(LPFLAGS)" $(STATIC) \
- $(STATICSYSLIBS) $(CHECKSUM) --objx $(OBJX) --shlx $(SHLX) --libx $(LIBX) \
- -MD --srcdir $(SRCDIR) --bindir $(BINDIR) -L$(LIBDIR):$(ILIBDIR)
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.install b/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.install
deleted file mode 100644
index 143eb4d07868..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.install
+++ /dev/null
@@ -1,11 +0,0 @@
---- ncbi-vdb/build/Makefile.install.orig 2021-03-15 18:16:43 UTC
-+++ ncbi-vdb/build/Makefile.install
-@@ -69,7 +69,7 @@ ifeq (1,$(HAVE_HDF5))
- endif
-
-
--LIB_TARGET = $(INST_LIBDIR)$(BITS)
-+LIB_TARGET = $(INST_LIBDIR)
-
- LIBRARIES_WITH_PREFIX = \
- $(addprefix $(LIB_TARGET)/$(LPFX),$(LIBRARIES_TO_INSTALL))
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.shell b/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.shell
deleted file mode 100644
index fb98fc610def..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_build_Makefile.shell
+++ /dev/null
@@ -1,31 +0,0 @@
---- ncbi-vdb/build/Makefile.shell.orig 2017-07-14 21:55:36 UTC
-+++ ncbi-vdb/build/Makefile.shell
-@@ -36,6 +36,9 @@ endif
- ifeq (Linux, $(UNAME))
- HOST_OS = linux
- endif
-+ifeq (FreeBSD, $(UNAME))
-+ HOST_OS = bsd
-+endif
- ifeq (SunOS, $(UNAME))
- HOST_OS = sun
- ARCHITECTURES = x86_64 i386
-@@ -83,6 +86,9 @@ else
- ifeq (x86_64, $(MARCH))
- HOST_ARCH = x86_64
- endif
-+ ifeq (amd64, $(MARCH))
-+ HOST_ARCH = x86_64
-+ endif
- ifeq (i86pc, $(MARCH))
- HOST_ARCH = x86_64
- ARCHITECTURES = x86_64 i386
-@@ -93,7 +99,7 @@ else
- endif
- endif
-
--ARCH = $(HOST_ARCH)
-+override ARCH = $(HOST_ARCH)
- REMOTE_ARCH = $(ARCH)
-
- # pick up dependencies from object directory
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_build_env.cmake b/biology/sra-tools/files/patch-ncbi-vdb_build_env.cmake
new file mode 100644
index 000000000000..ead9978585e2
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_build_env.cmake
@@ -0,0 +1,47 @@
+--- ncbi-vdb/build/env.cmake.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/build/env.cmake
+@@ -75,9 +75,15 @@ set(CMAKE_CXX_EXTENSIONS OFF)
+ if ( ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" )
+ set(OS "mac")
+ set(SHLX "dylib")
++elseif ( ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" )
++ set(OS "bsd")
++ set(SHLX "so")
+ elseif ( ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
+ set(OS "linux")
+ set(SHLX "so")
++elseif ( ${CMAKE_SYSTEM_NAME} STREQUAL "NetBSD" )
++ set(OS "bsd")
++ set(SHLX "so")
+ elseif ( ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" )
+ set(OS "windows")
+ else()
+@@ -99,6 +105,8 @@ elseif ( ${_system_processor} STREQUAL "x86_64")
+ set(ARCH "x86_64")
+ elseif ( ${_system_processor} STREQUAL "AMD64")
+ set(ARCH "x86_64")
++elseif ( ${_system_processor} STREQUAL "amd64")
++ set(ARCH "x86_64")
+ else ()
+ message ( FATAL_ERROR "unknown architecture " ${_system_processor})
+ endif ()
+@@ -110,6 +118,9 @@ if ( "mac" STREQUAL ${OS} )
+ set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
+ set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
+ set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
++elseif( "bsd" STREQUAL ${OS} )
++ add_compile_definitions( BSD UNIX )
++ set( LMCHECK "" )
+ elseif( "linux" STREQUAL ${OS} )
+ add_compile_definitions( LINUX UNIX )
+ set( LMCHECK -lmcheck )
+@@ -241,6 +252,9 @@ endif()
+
+ if ( "mac" STREQUAL ${OS} )
+ include_directories(interfaces/os/mac)
++ include_directories(interfaces/os/unix)
++elseif( "bsd" STREQUAL ${OS} )
++ include_directories(interfaces/os/bsd)
+ include_directories(interfaces/os/unix)
+ elseif( "linux" STREQUAL ${OS} )
+ include_directories(interfaces/os/linux)
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_interfaces_os_sun_atomic32.h b/biology/sra-tools/files/patch-ncbi-vdb_interfaces_os_sun_atomic32.h
deleted file mode 100644
index 3edaa3fa3fb3..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_interfaces_os_sun_atomic32.h
+++ /dev/null
@@ -1,85 +0,0 @@
---- ncbi-vdb/interfaces/os/sun/atomic32.h.orig 2021-03-15 18:16:43 UTC
-+++ ncbi-vdb/interfaces/os/sun/atomic32.h
-@@ -1,3 +1,66 @@
-+#ifndef _h_atomic32_
-+#define _h_atomic32_
-+
-+#include <sys/types.h>
-+#include <machine/atomic.h>
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+/*
-+ * /usr/src/sys/cddl/compat/opensolaris/sys/atomic.h
-+ * BSD license
-+ */
-+
-+#if defined(__i386__) || defined(__amd64__) || defined(__arm__)
-+/* No spurious failures from fcmpset. */
-+#define STRONG_FCMPSET
-+#endif
-+
-+static inline uint32_t
-+atomic_cas_32(volatile uint32_t *target, uint32_t cmp, uint32_t newval)
-+{
-+#ifdef STRONG_FCMPSET
-+ (void) atomic_fcmpset_32(target, &cmp, newval);
-+#else
-+ uint32_t expected = cmp;
-+
-+ do {
-+ if (atomic_fcmpset_32(target, &cmp, newval))
-+ break;
-+ } while (cmp == expected);
-+#endif
-+ return (cmp);
-+}
-+
-+static inline void atomic_inc_32(volatile uint32_t *target)
-+{
-+ atomic_add_32(target, 1);
-+}
-+
-+static __inline uint32_t atomic_add_32_nv(volatile uint32_t *target, int32_t delta)
-+{
-+ return (atomic_fetchadd_32(target, delta) + delta);
-+}
-+
-+static __inline uint32_t atomic_inc_32_nv(volatile uint32_t *target)
-+{
-+ return (atomic_add_32_nv(target, 1));
-+}
-+
-+static __inline void
-+atomic_dec_32(volatile uint32_t *target)
-+{
-+ atomic_subtract_32(target, 1);
-+}
-+
-+static __inline uint32_t
-+atomic_dec_32_nv(volatile uint32_t *target)
-+{
-+ return (atomic_fetchadd_32(target, -1) - 1);
-+}
-+
- /*===========================================================================
- *
- * PUBLIC DOMAIN NOTICE
-@@ -23,15 +86,6 @@
- * ===========================================================================
- *
- */
--
--#ifndef _h_atomic32_
--#define _h_atomic32_
--
--#include <sys/atomic.h>
--
--#ifdef __cplusplus
--extern "C" {
--#endif
-
- #ifndef __inline__
- #define __inline__ inline
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_align_samextract-lib.cpp b/biology/sra-tools/files/patch-ncbi-vdb_libs_align_samextract-lib.cpp
new file mode 100644
index 000000000000..69973928e80f
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_align_samextract-lib.cpp
@@ -0,0 +1,11 @@
+--- ncbi-vdb/libs/align/samextract-lib.cpp.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/align/samextract-lib.cpp
+@@ -48,7 +48,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-#if LINUX
++#if BSD || LINUX
+ #include <unistd.h>
+ #define DFL_THREAD_COUNT ((int)sysconf( _SC_NPROCESSORS_ONLN ) - 1)
+ #else
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_ext_Makefile b/biology/sra-tools/files/patch-ncbi-vdb_libs_ext_Makefile
deleted file mode 100644
index 4d3fae2846fd..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_libs_ext_Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
---- ncbi-vdb/libs/ext/Makefile.orig 2021-03-15 18:16:43 UTC
-+++ ncbi-vdb/libs/ext/Makefile
-@@ -32,9 +32,6 @@ include $(TOP)/build/Makefile.shell
- # default
- #
- SUBDIRS = \
-- zlib \
-- bzip2 \
-- magic \
- mbedtls
-
- include $(TOP)/build/Makefile.targets
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_kapp_CMakeLists.txt b/biology/sra-tools/files/patch-ncbi-vdb_libs_kapp_CMakeLists.txt
new file mode 100644
index 000000000000..4815ee9bdcbd
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_kapp_CMakeLists.txt
@@ -0,0 +1,19 @@
+--- ncbi-vdb/libs/kapp/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/kapp/CMakeLists.txt
+@@ -23,12 +23,16 @@
+ # ===========================================================================
+
+ set ( UNIX_SRC unix/args-conv-os.c unix/sysmain.c )
++# Must patch hw.memsize -> hw.usermem
++set ( BSD_SRC ${UNIX_SRC} mac/ram.c )
+ set ( LINUX_SRC ${UNIX_SRC} linux/ram.c )
+ set ( MAC_SRC ${UNIX_SRC} mac/ram.c )
+ set ( WIN_SRC win/args-conv-os.c win/ram.c win/sysmain.c )
+
+ if ( "windows" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${WIN_SRC} )
++elseif( "bsd" STREQUAL ${OS} )
++ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
+ elseif( "linux" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
+ elseif( "mac" STREQUAL ${OS} )
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_kapp_mac_ram.c b/biology/sra-tools/files/patch-ncbi-vdb_libs_kapp_mac_ram.c
new file mode 100644
index 000000000000..67d836a71d38
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_kapp_mac_ram.c
@@ -0,0 +1,17 @@
+--- ncbi-vdb/libs/kapp/mac/ram.c.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/kapp/mac/ram.c
+@@ -46,7 +46,14 @@ rc_t KAppGetTotalRam ( uint64_t * totalRam )
+
+ assert ( totalRam != 0 );
+
++// FIXME: This file should probably be moved to bsd/ram.c
++#if defined(__APPLE__)
+ ret = sysctlbyname("hw.memsize", totalRam, &len, NULL, 0 );
++#elif defined(__FreeBSD__) || defined(__NetBSD__)
++ ret = sysctlbyname("hw.usermem", totalRam, &len, NULL, 0 );
++#else
++ #error "You need to add a sysctl for this platform."
++#endif
+ if ( ret < 0 )
+ {
+ int status = errno;
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_kfc_CMakeLists.txt b/biology/sra-tools/files/patch-ncbi-vdb_libs_kfc_CMakeLists.txt
new file mode 100644
index 000000000000..05d204e31147
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_kfc_CMakeLists.txt
@@ -0,0 +1,25 @@
+--- ncbi-vdb/libs/kfc/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/kfc/CMakeLists.txt
+@@ -23,12 +23,15 @@
+ # ===========================================================================
+
+ set ( UNIX_SRC unix/sysctx.c unix/sysrsrc.c )
++set ( BSD_SRC ${UNIX_SRC} )
+ set ( LINUX_SRC ${UNIX_SRC} )
+ set ( MAC_SRC ${UNIX_SRC} )
+ set ( WIN_SRC win/sysctx.c win/sysrsrc.c )
+
+ if ( "windows" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${WIN_SRC} )
++elseif( "bsd" STREQUAL ${OS} )
++ set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
+ elseif( "linux" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
+ elseif( "mac" STREQUAL ${OS} )
+@@ -48,4 +51,4 @@ set( SRC
+ GenerateStaticLibs( kfc "${SRC}" )
+
+ add_compile_definitions (__mod__="libs/kfc")
+-include_directories( BEFORE ${CMAKE_CURRENT_SOURCE_DIR} )
+\ No newline at end of file
++include_directories( BEFORE ${CMAKE_CURRENT_SOURCE_DIR} )
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_kfg_config.c b/biology/sra-tools/files/patch-ncbi-vdb_libs_kfg_config.c
index f454a2b79c16..8d9268922948 100644
--- a/biology/sra-tools/files/patch-ncbi-vdb_libs_kfg_config.c
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_kfg_config.c
@@ -1,20 +1,31 @@
---- ncbi-vdb/libs/kfg/config.c.orig 2021-03-15 18:16:43 UTC
+--- ncbi-vdb/libs/kfg/config.c.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/kfg/config.c
-@@ -2577,7 +2577,7 @@ bool load_from_std_location ( KConfig *self, const KDi
+@@ -2574,7 +2574,7 @@ bool load_from_std_location ( KConfig *self, const KDi
const char * std_locs [] =
{
#if ! WINDOWS
- "/etc/ncbi",
-+ @@PREFIX@@ "/etc/ncbi",
++ "/usr/local/etc/ncbi",
#else
"/c/ncbi",
#endif
-@@ -2850,6 +2850,8 @@ void add_predefined_nodes ( KConfig * self, const char
- #define OS "win"
- #elif SUN
- #define OS "sun"
-+#elif BSD
+@@ -2588,7 +2588,7 @@ bool load_from_std_location ( KConfig *self, const KDi
+ NCBI_VDB_NO_ETC_NCBI_KFG[0] != '\0')
+ {
+ DBGMSG(DBG_KFG, DBG_FLAG(DBG_KFG),
+- ("KFG: load from std. location /etc/ncbi is disabled. "
++ ("KFG: load from std. location /usr/local/etc/ncbi is disabled. "
+ "NCBI_VDB_NO_ETC_NCBI_KFG='%s'\n", NCBI_VDB_NO_ETC_NCBI_KFG));
+ return loaded;
+ }
+@@ -2839,7 +2839,9 @@ void add_predefined_nodes ( KConfig * self, const char
+ update_node ( self, "kfg/arch/bits", buf, true );
+
+ /* *OS */
+-#if LINUX
++#if BSD
+ #define OS "bsd"
- #else
- #error unrecognized OS
- #endif
++#elif LINUX
+ #define OS "linux"
+ #elif MAC
+ #define OS "mac"
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_kfs_CMakeLists.txt b/biology/sra-tools/files/patch-ncbi-vdb_libs_kfs_CMakeLists.txt
new file mode 100644
index 000000000000..c6b4801f527d
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_kfs_CMakeLists.txt
@@ -0,0 +1,35 @@
+--- ncbi-vdb/libs/kfs/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/kfs/CMakeLists.txt
+@@ -23,6 +23,7 @@
+ # ===========================================================================
+
+ set ( UNIX_SRC unix/sysdir.c unix/sysdll.c unix/sysfile.c unix/syslockfile.c unix/sysmmap.c )
++set ( BSD_SRC ${UNIX_SRC} )
+ set ( LINUX_SRC ${UNIX_SRC} )
+ set ( MAC_SRC ${UNIX_SRC} )
+ set ( WIN_SRC win/directory-path.c win/sysdir.c win/sysdll.c win/sysfile.c win/syslockfile.c win/sysmmap.c
+@@ -30,6 +31,7 @@ set ( WIN_SRC win/directory-path.c win/sysdir.c win/sy
+ )
+
+ set ( UNIX_SRC_V2 unix/sysfile-v2.c )
++set ( BSD_SRC_V2 ${UNIX_SRC_V2} )
+ set ( LINUX_SRC_V2 ${UNIX_SRC_V2} )
+ set ( MAC_SRC_V2 ${UNIX_SRC_V2} )
+ set ( WIN_SRC_V2 win/sysfile-v2.c )
+@@ -37,6 +39,9 @@ set ( WIN_SRC_V2 win/sysfile-v2.c )
+ if ( "windows" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${WIN_SRC} )
+ include_directories( win )
++elseif( "bsd" STREQUAL ${OS} )
++ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
++ include_directories( unix )
+ elseif( "linux" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
+ include_directories( unix )
+@@ -106,4 +111,4 @@ GenerateStaticLibsWithDefs( kfs-nommap ${KFS_NOMMAP_SR
+ GenerateStaticLibs( kfs "${KFS_SRC}" )
+
+ add_compile_definitions (__mod__="libs/kfs")
+-include_directories( BEFORE ${CMAKE_CURRENT_SOURCE_DIR} )
+\ No newline at end of file
++include_directories( BEFORE ${CMAKE_CURRENT_SOURCE_DIR} )
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_kfs_unix_sysdir.c b/biology/sra-tools/files/patch-ncbi-vdb_libs_kfs_unix_sysdir.c
new file mode 100644
index 000000000000..b128f98c29eb
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_kfs_unix_sysdir.c
@@ -0,0 +1,11 @@
+--- ncbi-vdb/libs/kfs/unix/sysdir.c.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/kfs/unix/sysdir.c
+@@ -2291,6 +2291,8 @@ rc_t KSysDirOpenDirRead_v1 ( const KSysDir_v1 * self,
+ rc_t rc;
+
+ rc = KSysDirMakePath_v1 ( self, rcOpening, true, full, sizeof full, path, args );
++ // FIXME: Remove this debug statement
++ // fprintf(stderr, "path = %s full = %s\n", path, full);
+ if ( rc == 0 )
+ {
+ int t;
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_klib_CMakeLists.txt b/biology/sra-tools/files/patch-ncbi-vdb_libs_klib_CMakeLists.txt
new file mode 100644
index 000000000000..a854e97d5480
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_klib_CMakeLists.txt
@@ -0,0 +1,18 @@
+--- ncbi-vdb/libs/klib/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/klib/CMakeLists.txt
+@@ -24,12 +24,15 @@
+
+ set ( UNIX_BASE_SRC unix/misc.c unix/syslog.c unix/systime.c unix/syswriter.c )
+ set ( UNIX_SRC ${UNIX_BASE_SRC} unix/syserrcode.c )
++set ( BSD_SRC ${UNIX_SRC} )
+ set ( LINUX_SRC ${UNIX_BASE_SRC} linux/syserrcode.c )
+ set ( MAC_SRC ${UNIX_SRC} )
+ set ( WIN_SRC win/misc.c win/sysalloc.c win/syserrcode.c win/syslog.c win/systime.c win/syswriter.c )
+
+ if ( "windows" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${WIN_SRC} )
++elseif( "bsd" STREQUAL ${OS} )
++ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
+ elseif( "linux" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
+ elseif( "mac" STREQUAL ${OS} )
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_klib_hashfile.c b/biology/sra-tools/files/patch-ncbi-vdb_libs_klib_hashfile.c
new file mode 100644
index 000000000000..205569c40a3e
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_klib_hashfile.c
@@ -0,0 +1,20 @@
+--- ncbi-vdb/libs/klib/hashfile.c.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/klib/hashfile.c
+@@ -35,7 +35,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#if LINUX
++#if BSD || LINUX
+ #include <sys/mman.h>
+ #endif
+
+@@ -346,7 +346,7 @@ static void * map_calloc( KHashFile * self, size_t siz
+ KLockUnlock( self->alloc_lock );
+ return NULL;
+ }
+-#if LINUX
++#if BSD || LINUX
+ /* Not sure this helps */
+ madvise( (void *)self->alloc_base, req, MADV_RANDOM );
+ #endif
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_klib_unix_systime.c b/biology/sra-tools/files/patch-ncbi-vdb_libs_klib_unix_systime.c
index 3732c47ce93a..193f584e41fe 100644
--- a/biology/sra-tools/files/patch-ncbi-vdb_libs_klib_unix_systime.c
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_klib_unix_systime.c
@@ -1,11 +1,16 @@
---- ncbi-vdb/libs/klib/unix/systime.c.orig 2017-07-14 21:55:36 UTC
+--- ncbi-vdb/libs/klib/unix/systime.c.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/libs/klib/unix/systime.c
-@@ -142,7 +142,7 @@ LIB_EXPORT KTime_t CC KTimeMakeTime ( co
+@@ -142,7 +142,13 @@ LIB_EXPORT KTime_t CC KTimeMakeTime ( const KTime *sel
t . tm_isdst = self -> dst;
ts = mktime ( &t );
-- ts -= timezone;
-+ ts += localtime(&ts)->tm_gmtoff;
++#ifdef __FreeBSD__
++ // This might be portable to all platforms
++ ts += localtime(&ts)->tm_gmtoff;
++#else
++ // extern global in sys/time.h on Linux and some other platforms
+ ts -= timezone;
++#endif
}
return ts;
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_kns_CMakeLists.txt b/biology/sra-tools/files/patch-ncbi-vdb_libs_kns_CMakeLists.txt
new file mode 100644
index 000000000000..c85b1b6631ca
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_kns_CMakeLists.txt
@@ -0,0 +1,20 @@
+--- ncbi-vdb/libs/kns/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/kns/CMakeLists.txt
+@@ -23,6 +23,7 @@
+ # ===========================================================================
+
+ set ( UNIX_SRC unix/sysmgr.c unix/syssock.c unix/sysstream.c )
++set ( BSD_SRC ${UNIX_SRC} mac/sysendpoint.c mac/syspoll.c )
+ set ( LINUX_SRC ${UNIX_SRC} linux/sysendpoint.c linux/syspoll.c )
+ set ( MAC_SRC ${UNIX_SRC} mac/sysendpoint.c mac/syspoll.c )
+ set ( WIN_SRC win/sysendpoint.c win/sysmgr.c win/syssock.c win/sysstream.c )
+@@ -30,6 +31,9 @@ set ( WIN_SRC win/sysendpoint.c win/sysmgr.c win/sysso
+ if ( "windows" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${WIN_SRC} )
+ include_directories( win )
++elseif( "bsd" STREQUAL ${OS} )
++ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
++ include_directories( unix )
+ elseif( "linux" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
+ include_directories( unix )
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_kns_manager.c b/biology/sra-tools/files/patch-ncbi-vdb_libs_kns_manager.c
new file mode 100644
index 000000000000..816454bea102
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_kns_manager.c
@@ -0,0 +1,11 @@
+--- ncbi-vdb/libs/kns/manager.c.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/kns/manager.c
+@@ -58,7 +58,7 @@
+ #if HAVE_GNU_LIBC_VERSION_H
+ #include <gnu/libc-version.h>
+ #endif
+-#if LINUX
++#if BSD || LINUX
+ #include <arpa/inet.h>
+ #include <netinet/in.h>
+ #endif
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_kns_unix_syssock.c b/biology/sra-tools/files/patch-ncbi-vdb_libs_kns_unix_syssock.c
index 50484bb1d503..313461f90846 100644
--- a/biology/sra-tools/files/patch-ncbi-vdb_libs_kns_unix_syssock.c
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_kns_unix_syssock.c
@@ -1,4 +1,4 @@
---- ncbi-vdb/libs/kns/unix/syssock.c.orig 2017-07-14 21:55:36 UTC
+--- ncbi-vdb/libs/kns/unix/syssock.c.orig 2023-08-07 20:34:54 UTC
+++ ncbi-vdb/libs/kns/unix/syssock.c
@@ -66,6 +66,7 @@
#include <sys/types.h>
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_kproc_CMakeLists.txt b/biology/sra-tools/files/patch-ncbi-vdb_libs_kproc_CMakeLists.txt
new file mode 100644
index 000000000000..2f4e808e2d65
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_kproc_CMakeLists.txt
@@ -0,0 +1,21 @@
+--- ncbi-vdb/libs/kproc/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/kproc/CMakeLists.txt
+@@ -23,6 +23,7 @@
+ # ===========================================================================
+
+ set ( UNIX_SRC unix/syscond.c unix/systhread.c unix/systimeout.c )
++set ( BSD_SRC ${UNIX_SRC} bsd/syslock.c bsd/sysmgr.c)
+ set ( LINUX_SRC ${UNIX_SRC} linux/sysbarrier.c linux/syslock.c linux/sysmgr.c )
+ set ( MAC_SRC ${UNIX_SRC} bsd/syslock.c bsd/sysmgr.c)
+ set ( WIN_SRC win/syscond.c win/syslock.c win/sysmgr.c win/systhread.c win/systimeout.c )
+@@ -30,6 +31,10 @@ set ( WIN_SRC win/syscond.c win/syslock.c win/sysmgr.c
+ if ( "windows" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${WIN_SRC} )
+ include_directories( win )
++elseif( "bsd" STREQUAL ${OS} )
++ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
++ include_directories( bsd )
++ include_directories( unix )
+ elseif( "linux" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
+ include_directories( linux )
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_ktst_CMakeLists.txt b/biology/sra-tools/files/patch-ncbi-vdb_libs_ktst_CMakeLists.txt
new file mode 100644
index 000000000000..78926849f124
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_ktst_CMakeLists.txt
@@ -0,0 +1,18 @@
+--- ncbi-vdb/libs/ktst/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/ktst/CMakeLists.txt
+@@ -23,12 +23,15 @@
+ # ===========================================================================
+
+ set ( UNIX_SRC unix/systestenv )
++set ( BSD_SRC ${UNIX_SRC} )
+ set ( LINUX_SRC ${UNIX_SRC} )
+ set ( MAC_SRC ${UNIX_SRC} )
+ set ( WIN_SRC win/systestenv )
+
+ if ( "windows" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${WIN_SRC} )
++elseif( "bsd" STREQUAL ${OS} )
++ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
+ elseif( "linux" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
+ elseif( "mac" STREQUAL ${OS} )
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_ncbi-vdb_Makefile b/biology/sra-tools/files/patch-ncbi-vdb_libs_ncbi-vdb_Makefile
deleted file mode 100644
index 7f5ad0a8802f..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_libs_ncbi-vdb_Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
---- ncbi-vdb/libs/ncbi-vdb/Makefile.orig 2021-06-20 15:15:25 UTC
-+++ ncbi-vdb/libs/ncbi-vdb/Makefile
-@@ -138,9 +138,7 @@ VDB_LIB_CMN = \
- klib \
- kproc \
- $(LIBKQ) \
-- kfc \
-- bz2 \
-- z \
-+ kfc
-
- VDB_LIB_RD = \
- align-reader \
-@@ -198,4 +196,4 @@ fuzz:
- $(TOP)/build/ld.sh linux x86_64 gcc --build dbg --ldflags "-g -m64" --objx o --shlx so --libx a --srcdir $(SRCDIR) --bindir $(BINDIR) --slib -o $(FLIBDIR)/libncbi-vdb.$(LIBX) -L$(FLIBDIR) $(VDB_LIB) $(VDB_NGS_LIB)
-
- cleanfuzz:
-- rm -rf $(FLIBDIR)/*
-\ No newline at end of file
-+ rm -rf $(FLIBDIR)/*
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_search_Makefile b/biology/sra-tools/files/patch-ncbi-vdb_libs_search_Makefile
deleted file mode 100644
index b1c52cb7ecf4..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_libs_search_Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
---- ncbi-vdb/libs/search/Makefile.orig 2017-07-14 21:55:36 UTC
-+++ ncbi-vdb/libs/search/Makefile
-@@ -39,6 +39,9 @@ OBJFILES = \
-
- include $(TOP)/build/Makefile.env
-
-+CARCH += -msse2
-+# nucstrstr.c requires SSE2
-+
- #-------------------------------------------------------------------------------
- # outer targets
- #
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_libs_vfs_CMakeLists.txt b/biology/sra-tools/files/patch-ncbi-vdb_libs_vfs_CMakeLists.txt
new file mode 100644
index 000000000000..5d670acdbe4b
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_libs_vfs_CMakeLists.txt
@@ -0,0 +1,25 @@
+--- ncbi-vdb/libs/vfs/CMakeLists.txt.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/libs/vfs/CMakeLists.txt
+@@ -23,12 +23,15 @@
+ # ===========================================================================
+
+ set ( UNIX_SRC unix/syskeyring.c unix/syspath.c )
++set ( BSD_SRC ${UNIX_SRC} )
+ set ( LINUX_SRC ${UNIX_SRC} )
+ set ( MAC_SRC ${UNIX_SRC} )
+ set ( WIN_SRC win/syskeyring.c win/syspath.c )
+
+ if ( "windows" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${WIN_SRC} )
++elseif( "bsd" STREQUAL ${OS} )
++ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
+ elseif( "linux" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
+ elseif( "mac" STREQUAL ${OS} )
+@@ -54,4 +57,4 @@ set( SRC
+ GenerateStaticLibs( vfs "${SRC}" )
+
+ add_compile_definitions (__mod__="libs/vfs")
+-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+\ No newline at end of file
++include_directories(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_setup_konfigure.perl b/biology/sra-tools/files/patch-ncbi-vdb_setup_konfigure.perl
deleted file mode 100644
index 8d293bbd71cc..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_setup_konfigure.perl
+++ /dev/null
@@ -1,243 +0,0 @@
---- ncbi-vdb/setup/konfigure.perl.orig 2021-03-15 18:16:43 UTC
-+++ ncbi-vdb/setup/konfigure.perl
-@@ -192,7 +192,7 @@ if ($OPT{'help'}) {
- foreach (@ARGV) {
- @_ = split('=');
- next if ($#_ != 1);
-- $OPT{$_[0]} = $_[1] if ($_[0] eq 'CXX' || $_[0] eq 'LDFLAGS');
-+ $OPT{$_[0]} = $_[1] if ($_[0] eq 'CC' || $_[0] eq 'CXX' || $_[0] eq 'LDFLAGS' || $_[0] eq 'TOOLS');
- }
-
- println "Configuring $PACKAGE_NAME package";
-@@ -204,7 +204,7 @@ print "checking system type... " unless ($AUTORUN);
- my ($OS, $ARCH, $OSTYPE, $MARCH, @ARCHITECTURES) = OsArch();
- println $OSTYPE unless ($AUTORUN);
-
--unless ($OSTYPE =~ /linux/i || $OSTYPE =~ /darwin/i || $OSTYPE eq 'win') {
-+unless ($OSTYPE =~ /linux/i || $OSTYPE =~ /freebsd/i || $OSTYPE =~ /darwin/i || $OSTYPE eq 'win') {
- println "configure: error: unsupported system '$OSTYPE'";
- exit 1;
- }
-@@ -225,7 +225,7 @@ if ($OS eq 'linux') {
-
- print "checking machine architecture... " unless ($AUTORUN);
- println $MARCH unless ($AUTORUN);
--unless ($MARCH =~ /x86_64/i || $MARCH =~ /i?86/i || $MARCH =~ /aarch64/) {
-+unless ($MARCH =~ /x86_64/i || $MARCH =~ /amd64/i || $MARCH =~ /i?86/i || $MARCH =~ /aarch64/) {
- println "configure: error: unsupported architecture '$OSTYPE':'$MARCH'";
- exit 1;
- }
-@@ -310,7 +310,7 @@ print "checking for supported architecture... " unless
-
- my $BITS;
-
--if ($MARCH =~ /x86_64/i) {
-+if ($MARCH =~ /(x86_|amd)64/i) {
- $BITS = 64;
- } elsif ($MARCH eq 'fat86') {
- $BITS = '32_64';
-@@ -337,6 +337,19 @@ if ($OSTYPE =~ /linux/i) {
- $OSINC = 'unix';
- $TOOLS = 'gcc' unless ($TOOLS);
- $PYTHON = 'python';
-+} elsif ($OSTYPE =~ /freebsd/i) {
-+ $LPFX = 'lib';
-+ $OBJX = 'o';
-+ $LOBX = 'pic.o';
-+ $LIBX = 'a';
-+ $SHLX = 'so';
-+ $EXEX = '';
-+ $OSINC = 'unix';
-+ unless ($TOOLS) {
-+ $TOOLS = 'clang';
-+ $TOOLS = $OPT{TOOLS} if ($OPT{TOOLS});
-+ }
-+ $PYTHON = $ENV{FREEBSD_PYTHON_CMD};
- } elsif ($OSTYPE =~ /darwin/i) {
- $LPFX = 'lib';
- $OBJX = 'o';
-@@ -362,17 +375,19 @@ my ($ARCH_FL, $DBG, $OPT, $PIC, $INC, $MD, $LDFLAGS) =
-
- print "checking for supported tool chain... " unless ($AUTORUN);
-
-+$CC = $OPT{CC } if ($OPT{CC });
- $CPP = $OPT{CXX } if ($OPT{CXX });
- $LDFLAGS = $OPT{LDFLAGS} if ($OPT{LDFLAGS});
-
- if ($TOOLS =~ /gcc$/) {
- $CPP = 'g++' unless ($CPP);
-- $CC = "$TOOLS -c";
-+ $CC = 'gcc' unless ($CC);
-+ $LD = $CC;
-+ $CC = "$CC -c";
- $CP = "$CPP -c";
- $AR = 'ar rc';
- $ARX = 'ar x';
- $ARLS = 'ar t';
-- $LD = $TOOLS;
- $LP = $CPP;
-
- $DBG = '-g -DDEBUG';
-@@ -382,21 +397,24 @@ if ($TOOLS =~ /gcc$/) {
- $MD = '-MD';
- } elsif ($TOOLS eq 'clang') {
- $CPP = 'clang++' unless ($CPP);
-- $CC = 'clang -c';
-- my $versionMin = '-mmacosx-version-min=10.10';
-+ $CC = 'clang' unless ($CC);
-+ $LD = $CC;
-+ $CC = "$CC -c";
-+ my $versionMin = '';
-+ $versionMin = '-mmacosx-version-min=10.6' if ($OSTYPE =~ /darwin/i);
- $CP = "$CPP -c $versionMin";
- if ($BITS ne '32_64') {
- $ARCH_FL = '-arch i386' if ($BITS == 32);
- $OPT = '-O3';
- $AR = 'ar rc';
-- $LD = "clang $ARCH_FL";
-+ $LD = "$LD $ARCH_FL";
- $LP = "$CPP $versionMin $ARCH_FL";
- } else {
- $MAKE_MANIFEST = '( echo "$^" > $@/manifest )';
- $ARCH_FL = '-arch i386 -arch x86_64';
- $OPT = '-O3';
- $AR = 'libtool -static -o';
-- $LD = "clang -Wl,-arch_multiple $ARCH_FL -Wl,-all_load";
-+ $LD = "$LD -Wl,-arch_multiple $ARCH_FL -Wl,-all_load";
- $LP = "$CPP $versionMin -Wl,-arch_multiple $ARCH_FL -Wl,-all_load";
- }
- $ARX = 'ar x';
-@@ -826,13 +844,13 @@ OS_ARCH = \$(shell perl \$(TOP)/setup/os-arch.perl)
- # install paths
- EndText
-
-- L($F, "INST_BINDIR = $OPT{'bindir'}" ) if ($OPT{'bindir'});
-- L($F, "INST_LIBDIR = $OPT{'libdir'}" ) if ($OPT{'libdir'});
-- L($F, "INST_INCDIR = $OPT{'includedir'}" ) if ($OPT{'includedir'});
-- L($F, "INST_SCHEMADIR = $OPT{'shemadir'}" ) if ($OPT{'shemadir'});
-- L($F, "INST_SHAREDIR = $OPT{'sharedir'}" ) if ($OPT{'sharedir'});
-- L($F, "INST_JARDIR = $OPT{'javadir'}" ) if ($OPT{'javadir'});
-- L($F, "INST_PYTHONDIR = $OPT{'pythondir'}") if ($OPT{'pythondir'});
-+ L($F, "INST_BINDIR = \$(DESTDIR)$OPT{'bindir'}" ) if ($OPT{'bindir'});
-+ L($F, "INST_LIBDIR = \$(DESTDIR)$OPT{'libdir'}" ) if ($OPT{'libdir'});
-+ L($F, "INST_INCDIR = \$(DESTDIR)$OPT{'includedir'}" ) if ($OPT{'includedir'});
-+ L($F, "INST_SCHEMADIR = \$(DESTDIR)$OPT{'shemadir'}" ) if ($OPT{'shemadir'});
-+ L($F, "INST_SHAREDIR = \$(DESTDIR)$OPT{'sharedir'}" ) if ($OPT{'sharedir'});
-+ L($F, "INST_JARDIR = \$(DESTDIR)$OPT{'javadir'}" ) if ($OPT{'javadir'});
-+ L($F, "INST_PYTHONDIR = \$(DESTDIR)$OPT{'pythondir'}") if ($OPT{'pythondir'});
-
- my ($E_VERSION_SHLX, $VERSION_SHLX,
- $E_MAJVERS_SHLX , $MAJMIN_SHLX, $MAJVERS_SHLX);
-@@ -896,7 +914,7 @@ MAJMIN_EXEX = \$(EXEX).\$(MAJMIN)
- MAJVERS_EXEX = \$(EXEX).\$(MAJVERS)
-
- # system architecture and wordsize
--ARCH = $ARCH
-+override ARCH = $ARCH
- EndText
-
- L($F, "# ARCH = $ARCH ( $MARCH )") if ($ARCH ne $MARCH);
-@@ -932,7 +950,7 @@ EndText
- }
- L($F, "PIC = $PIC") if ($PIC);
- if ($PKG{LNG} eq 'C') {
-- if ($TOOLS =~ /clang/i) {
-+ if ($OSTYPE =~ /darwin/i) {
- L($F, 'SONAME = -install_name ' .
- '$(INST_LIBDIR)$(BITS)/$(subst $(VERSION),$(MAJVERS),$(@F)) \\');
- L($F, ' -compatibility_version $(MAJMIN) -current_version $(VERSION) \\');
-@@ -1043,7 +1061,7 @@ EndText
- L($F, '# directory rules');
- if ($PKG{LNG} eq 'C') {
- L($F, '$(BINDIR) $(LIBDIR) $(ILIBDIR) '
-- . '$(OBJDIR) $(INST_LIBDIR) $(INST_LIBDIR)$(BITS):');
-+ . '$(OBJDIR) $(INST_LIBDIR):');
- T($F, 'mkdir -p $@');
- } elsif ($PKG{LNG} eq 'JAVA') {
- # test if we have jni header path
-@@ -1073,12 +1091,12 @@ EndText
- L($F, 'export CONFIGURE_FOUND_XML2');
- L($F);
-
-- if ($OS eq 'linux' || $OS eq 'mac') {
-+ if ($OS eq 'linux' || $OS eq 'bsd' || $OS eq 'mac') {
- L($F, '# installation rules');
- L($F,
-- '$(INST_LIBDIR)$(BITS)/%.$(VERSION_LIBX): $(LIBDIR)/%.$(VERSION_LIBX)');
-+ '$(INST_LIBDIR)/%.$(VERSION_LIBX): $(LIBDIR)/%.$(VERSION_LIBX)');
- T($F, '@ echo -n "installing \'$(@F)\'... "');
-- T($F, '@ if cp $^ $@ && chmod 644 $@; \\');
-+ T($F, '@ if $(BSD_INSTALL_DATA) $^ $@; \\');
- T($F, ' then \\');
- T($F, ' rm -f $(patsubst %$(VERSION),%$(MAJVERS),$@) '
- . '$(patsubst %$(VERSION_LIBX),%$(LIBX),$@) '
-@@ -1087,7 +1105,7 @@ EndText
- T($F, ' ln -s $(patsubst %$(VERSION),%$(MAJVERS),$(@F)) '
- . '$(patsubst %$(VERSION_LIBX),%$(LIBX),$@); \\');
- T($F, ' ln -s $(patsubst %$(VERSION_LIBX),%$(LIBX),$(@F)) ' .
-- '$(INST_LIBDIR)$(BITS)/$(patsubst %.$(VERSION_LIBX),%-static.$(LIBX),$(@F));'
-+ '$(INST_LIBDIR)/$(patsubst %.$(VERSION_LIBX),%-static.$(LIBX),$(@F));'
- . ' \\');
- T($F, ' echo success; \\');
- T($F, ' else \\');
-@@ -1097,15 +1115,15 @@ EndText
- L($F);
-
- L($F,
-- '$(INST_LIBDIR)$(BITS)/%.$(VERSION_SHLX): $(LIBDIR)/%.$(VERSION_SHLX)');
-+ '$(INST_LIBDIR)/%.$(VERSION_SHLX): $(LIBDIR)/%.$(VERSION_SHLX)');
- T($F, '@ echo -n "installing \'$(@F)\'... "');
-- T($F, '@ if cp $^ $@ && chmod 755 $@; \\');
-+ T($F, '@ if $(BSD_INSTALL_LIB) $^ $@; \\');
- T($F, ' then \\');
- if ($OS ne 'mac') {
- T($F, ' rm -f $(patsubst %$(VERSION),%$(MAJVERS),$@) '
- . '$(patsubst %$(VERSION_SHLX),%$(SHLX),$@); \\');
- }
-- if ($OS eq 'linux') {
-+ if ($OS eq 'linux' || $OS eq 'bsd') {
- T($F, ' ln -s $(@F) $(patsubst %$(VERSION),%$(MAJVERS),$@); \\');
- } elsif ($OS eq 'mac') {
- T($F, ' ln -sf $(@F) '
-@@ -1124,7 +1142,7 @@ EndText
-
- L($F, '$(INST_BINDIR)/%$(VERSION_EXEX): $(BINDIR)/%$(VERSION_EXEX)');
- T($F, '@ echo -n "installing \'$(@F)\'... "');
-- T($F, '@ if cp $^ $@ && chmod 755 $@; \\');
-+ T($F, '@ if $(BSD_INSTALL_PROGRAM) $^ $@; \\');
- T($F, ' then \\');
- T($F, ' rm -f $(patsubst %$(VERSION),%$(MAJVERS),$@) '
- . '$(patsubst %$(VERSION_EXEX),%$(EXEX),$@); \\');
-@@ -1406,7 +1424,7 @@ sub find_in_dir {
- ++$found;
- }
- if (! $found) {
-- my $libdir = File::Spec->catdir($dir, 'lib' . $BITS);
-+ my $libdir = File::Spec->catdir($dir, 'lib');
- my $f = File::Spec->catdir($libdir, $lib);
- print "\tchecking $f\n\t" if ($OPT{'debug'});
- if (-e $f) {
-@@ -1628,12 +1646,12 @@ sub find_lib {
-
- sub check_compiler {
- my ($t, $n, $I, @l) = @_;
-- my $tool = $TOOLS;
-+ my $tool = $CC;
-
- if ($t eq 'L') {
- print "checking for $n library... ";
- } elsif ($t eq 'O') {
-- if ($tool && ($tool =~ /gcc$/ || $tool =~ /g\+\+$/)) {
-+ if ($tool && ($tool =~ /gcc/ || $tool =~ /g\+\+/)) {
- print "checking whether $tool accepts $n... ";
- } else {
- return;
-@@ -1706,7 +1724,7 @@ sub check_compiler {
- }
- }
- my $gcc = "| $tool -xc $flags " . ($I ? "-I$I " : ' ')
-- . ($l ? "-L$l " : ' ') . "- $library";
-+ . ($l ? "-L$l " : ' ') . "-o a.out - $library";
- $gcc .= ' 2> /dev/null' unless ($OPT{'debug'});
-
- open GCC, $gcc or last;
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_setup_os-arch.prl b/biology/sra-tools/files/patch-ncbi-vdb_setup_os-arch.prl
deleted file mode 100644
index 01cb9824ff7b..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_setup_os-arch.prl
+++ /dev/null
@@ -1,20 +0,0 @@
---- ncbi-vdb/setup/os-arch.prl.orig 2021-03-15 18:16:43 UTC
-+++ ncbi-vdb/setup/os-arch.prl
-@@ -11,6 +11,8 @@ sub OsArch {
- chomp $UNAME;
- if ($UNAME =~ /Darwin/) {
- $HOST_OS = 'mac';
-+ } elsif ($UNAME =~ /.*BSD/) {
-+ $HOST_OS = 'bsd';
- } elsif ($UNAME =~ /Linux/) {
- $HOST_OS = 'linux';
- } elsif ($UNAME =~ /SunOS/) {
-@@ -48,6 +50,8 @@ sub OsArch {
- $HOST_ARCH = 'i386';
- }
- } elsif ($MARCH =~ /x86_64/) {
-+ $HOST_ARCH = 'x86_64';
-+ } elsif ($MARCH =~ /amd64/) {
- $HOST_ARCH = 'x86_64';
- } elsif ($MARCH =~ /i86pc/) {
- $HOST_ARCH = 'x86_64';
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_test_kfg_kfgtest.cpp b/biology/sra-tools/files/patch-ncbi-vdb_test_kfg_kfgtest.cpp
index 468483b89535..ce1bb1b02508 100644
--- a/biology/sra-tools/files/patch-ncbi-vdb_test_kfg_kfgtest.cpp
+++ b/biology/sra-tools/files/patch-ncbi-vdb_test_kfg_kfgtest.cpp
@@ -1,11 +1,11 @@
---- ncbi-vdb/test/kfg/kfgtest.cpp.orig 2019-08-20 18:27:10 UTC
+--- ncbi-vdb/test/kfg/kfgtest.cpp.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/test/kfg/kfgtest.cpp
-@@ -280,6 +280,8 @@ FIXTURE_TEST_CASE(predef_OS, KfgFixture)
+@@ -282,6 +282,8 @@ FIXTURE_TEST_CASE(predef_ARCHBITS, KfgFixture)
+ FIXTURE_TEST_CASE(predef_OS, KfgFixture)
+ {
CreateAndLoad(GetName(), "var=$(OS)\n");
++ #if BSD
++ #define OS "bsd"
#if LINUX
#define OS "linux"
-+ #elif BSD
-+ #define OS "bsd"
#elif SUN
- #define OS "sun"
- #elif MAC
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_test_klib_printf-test.c b/biology/sra-tools/files/patch-ncbi-vdb_test_klib_printf-test.c
index 76b1210a7ae7..0ce58974e6ed 100644
--- a/biology/sra-tools/files/patch-ncbi-vdb_test_klib_printf-test.c
+++ b/biology/sra-tools/files/patch-ncbi-vdb_test_klib_printf-test.c
@@ -1,11 +1,11 @@
---- ncbi-vdb/test/klib/printf-test.c.orig 2019-08-20 18:27:10 UTC
+--- ncbi-vdb/test/klib/printf-test.c.orig 2023-07-10 16:13:36 UTC
+++ ncbi-vdb/test/klib/printf-test.c
-@@ -503,7 +503,7 @@ rc_t run ( const char *progname )
+@@ -504,7 +504,7 @@ rc_t run ( const char *progname )
if ( rc == 0 )
{
rc = make_initial_test ( field_width, precision, " ", "s", "Kurt is having a fit" );
-#if !defined(__SunOS) && !defined(__sun__)
+#if !defined(__SunOS) && !defined(__sun__) && !defined(__FreeBSD__)
/* Solaris printf doesn't cope with NULLs */
- rc = make_initial_test ( field_width, precision, " ", "s", NULL );
- #endif
+ #if 0
+ /* The standard says this result is undefined, we shouldn't test for it, it is not consistent */
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_test_kns_Makefile b/biology/sra-tools/files/patch-ncbi-vdb_test_kns_Makefile
deleted file mode 100644
index 958399985cc9..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_test_kns_Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
---- ncbi-vdb/test/kns/Makefile.orig 2021-03-15 18:16:43 UTC
-+++ ncbi-vdb/test/kns/Makefile
-@@ -25,7 +25,7 @@
-
- default: runtests
-
--runtests: run-tests run-test-proxy-with-scheme
-+runtests:
-
- TOP ?= $(abspath ../..)
- MODULE = test/kns
-@@ -133,6 +133,7 @@ $(TEST_BINDIR)/test-kns: $(KNSTEST_OBJ)
- $(LP) --exe -o $@ $^ $(KNSTEST_LIB)
-
- kns: test-kns
-+ if [ ! -d $(HOME)/.ncbi ]; then mkdir $(HOME)/.ncbi; fi
- $(TEST_BINDIR)/test-kns #-l=all
-
- #----------------------------------------------------------------
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_test_vdb_test-dependencies.cpp b/biology/sra-tools/files/patch-ncbi-vdb_test_vdb_test-dependencies.cpp
deleted file mode 100644
index 52bcf0460632..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_test_vdb_test-dependencies.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- ncbi-vdb/test/vdb/test-dependencies.cpp.orig 2019-08-20 18:27:10 UTC
-+++ ncbi-vdb/test/vdb/test-dependencies.cpp
-@@ -115,7 +115,7 @@ class EmptyFixture : public DepFixture { (public)
-
- class RefseqFixture : public DepFixture {
-
-- #if LINUX
-+ #if LINUX || BSD
- #define PATH "kfg/linux"
- #elif MAC
- #define PATH "kfg/mac"
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_test_vdb_test-dependencies__dflt.cpp b/biology/sra-tools/files/patch-ncbi-vdb_test_vdb_test-dependencies__dflt.cpp
new file mode 100644
index 000000000000..b063ef020502
--- /dev/null
+++ b/biology/sra-tools/files/patch-ncbi-vdb_test_vdb_test-dependencies__dflt.cpp
@@ -0,0 +1,12 @@
+--- ncbi-vdb/test/vdb/test-dependencies_dflt.cpp.orig 2023-07-10 16:13:36 UTC
++++ ncbi-vdb/test/vdb/test-dependencies_dflt.cpp
+@@ -139,6 +139,9 @@ class EmptyFixture : public DepFixture { (public)
+
+ class RefseqFixture : public DepFixture {
+
++ #if BSD
++ // FIXME: Should there be a separate kfg/freebsd?
++ #define PATH "kfg/linux"
+ #if LINUX
+ #define PATH "kfg/linux"
+ #elif MAC
diff --git a/biology/sra-tools/files/patch-ncbi-vdb_test_vfs_redirect-rejected-names-cgi-http-to-https.cpp b/biology/sra-tools/files/patch-ncbi-vdb_test_vfs_redirect-rejected-names-cgi-http-to-https.cpp
deleted file mode 100644
index 12780a95a08a..000000000000
--- a/biology/sra-tools/files/patch-ncbi-vdb_test_vfs_redirect-rejected-names-cgi-http-to-https.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- ncbi-vdb/test/vfs/redirect-rejected-names-cgi-http-to-https.cpp.orig 2017-07-14 21:55:36 UTC
-+++ ncbi-vdb/test/vfs/redirect-rejected-names-cgi-http-to-https.cpp
-@@ -148,7 +148,7 @@ struct Test : protected ncbi :: NK :: Sh
-
- TEST_CASE(TEST) {
-
--#define RESOLVER_CGI_HEAD "test.ncbi.nlm.nih."
-+#define RESOLVER_CGI_HEAD "www.ncbi.nlm.nih."
-
- #ifdef VDB_3162
- #else
diff --git a/biology/sra-tools/files/patch-setup_install.perl b/biology/sra-tools/files/patch-setup_install.perl
deleted file mode 100644
index cc2eade52c15..000000000000
--- a/biology/sra-tools/files/patch-setup_install.perl
+++ /dev/null
@@ -1,13 +0,0 @@
---- setup/install.perl.orig 2021-03-15 18:25:25 UTC
-+++ setup/install.perl
-@@ -1283,8 +1283,8 @@ sub prepare {
- ' $_{INST_JARDIR } = "$_{PREFIX}/jar"; ' .
- ' $_{INST_SHAREDIR} = "$_{PREFIX}/share"; ' .
- ' $_{INCDIR } = "$Bin/../include"; ' .
-- ' $_{LIBDIR64 } = "$Bin/../lib64"; ' .
-- ' $_{LIBDIR32 } = "$Bin/../lib32"; ';
-+ ' $_{LIBDIR64 } = "$Bin/../lib"; ' .
-+ ' $_{LIBDIR32 } = "$Bin/../lib"; ';
- if ($HAVE{TWO_LIBS}) {
- $code .=
- '$_{INST_NGSLIBDIR} = "' . "$root/usr/local/ngs/ngs-sdk/lib\";"
diff --git a/biology/sra-tools/files/patch-setup_konfigure.perl b/biology/sra-tools/files/patch-setup_konfigure.perl
deleted file mode 100644
index aacfe898be6d..000000000000
--- a/biology/sra-tools/files/patch-setup_konfigure.perl
+++ /dev/null
@@ -1,121 +0,0 @@
---- setup/konfigure.perl.orig 2021-03-15 18:25:25 UTC
-+++ setup/konfigure.perl
-@@ -204,7 +204,7 @@ print "checking system type... " unless ($AUTORUN);
- my ($OS, $ARCH, $OSTYPE, $MARCH, @ARCHITECTURES) = OsArch();
- println $OSTYPE unless ($AUTORUN);
-
--unless ($OSTYPE =~ /linux/i || $OSTYPE =~ /darwin/i || $OSTYPE eq 'win') {
-+unless ($OSTYPE =~ /linux/i || $OSTYPE =~ /darwin/i || $OSTYPE eq 'win' || $OSTYPE =~ /freebsd/i) {
- println "configure: error: unsupported system '$OSTYPE'";
- exit 1;
- }
-@@ -225,7 +225,7 @@ if ($OS eq 'linux') {
-
- print "checking machine architecture... " unless ($AUTORUN);
- println $MARCH unless ($AUTORUN);
--unless ($MARCH =~ /x86_64/i || $MARCH =~ /i?86/i || $MARCH =~ /aarch64/) {
-+unless ($MARCH =~ /x86_64/i || $MARCH =~ /amd64/i || $MARCH =~ /i?86/i || $MARCH =~ /aarch64/) {
- println "configure: error: unsupported architecture '$OSTYPE':'$MARCH'";
- exit 1;
- }
-@@ -310,7 +310,7 @@ print "checking for supported architecture... " unless
-
- my $BITS;
-
--if ($MARCH =~ /x86_64/i) {
-+if ($MARCH =~ /x86_64/i || $MARCH =~ /amd64/i) {
- $BITS = 64;
- } elsif ($MARCH eq 'fat86') {
- $BITS = '32_64';
-@@ -337,6 +337,16 @@ if ($OSTYPE =~ /linux/i) {
- $OSINC = 'unix';
- $TOOLS = 'gcc' unless ($TOOLS);
- $PYTHON = 'python';
-+} elsif ($OSTYPE =~ /freebsd/i) {
-+ $LPFX = 'lib';
-+ $OBJX = 'o';
-+ $LOBX = 'pic.o';
-+ $LIBX = 'a';
-+ $SHLX = 'so';
-+ $EXEX = '';
-+ $OSINC = 'unix';
-+ $TOOLS = 'clang' unless ($TOOLS);
-+ $PYTHON = 'python';
- } elsif ($OSTYPE =~ /darwin/i) {
- $LPFX = 'lib';
- $OBJX = 'o';
-@@ -512,7 +522,7 @@ foreach my $href (DEPENDS()) {
- $I = $t if (-e $t);
- }
- push ( @L, File::Spec->catdir($OPT{$o}, 'lib') );
-- push ( @L, File::Spec->catdir($OPT{$o}, 'lib64') );
-+ #push ( @L, File::Spec->catdir($OPT{$o}, 'lib64') );
- }
- my ($i, $l) = find_lib($_, $I, @L);
- if (defined $i || $l) {
-@@ -934,7 +944,7 @@ EndText
- if ($PKG{LNG} eq 'C') {
- if ($TOOLS =~ /clang/i) {
- L($F, 'SONAME = -install_name ' .
-- '$(INST_LIBDIR)$(BITS)/$(subst $(VERSION),$(MAJVERS),$(@F)) \\');
-+ '$(INST_LIBDIR)/$(subst $(VERSION),$(MAJVERS),$(@F)) \\');
- L($F, ' -compatibility_version $(MAJMIN) -current_version $(VERSION) \\');
- L($F, ' -flat_namespace -undefined suppress');
- } else {
-@@ -1043,7 +1053,7 @@ EndText
- L($F, '# directory rules');
- if ($PKG{LNG} eq 'C') {
- L($F, '$(BINDIR) $(LIBDIR) $(ILIBDIR) '
-- . '$(OBJDIR) $(INST_LIBDIR) $(INST_LIBDIR)$(BITS):');
-+ . '$(OBJDIR) $(INST_LIBDIR) $(INST_LIBDIR):');
- T($F, 'mkdir -p $@');
- } elsif ($PKG{LNG} eq 'JAVA') {
- # test if we have jni header path
-@@ -1076,7 +1086,7 @@ EndText
- if ($OS eq 'linux' || $OS eq 'mac') {
- L($F, '# installation rules');
- L($F,
-- '$(INST_LIBDIR)$(BITS)/%.$(VERSION_LIBX): $(LIBDIR)/%.$(VERSION_LIBX)');
-+ '$(INST_LIBDIR)/%.$(VERSION_LIBX): $(LIBDIR)/%.$(VERSION_LIBX)');
- T($F, '@ echo -n "installing \'$(@F)\'... "');
- T($F, '@ if cp $^ $@ && chmod 644 $@; \\');
- T($F, ' then \\');
-@@ -1087,7 +1097,7 @@ EndText
- T($F, ' ln -s $(patsubst %$(VERSION),%$(MAJVERS),$(@F)) '
- . '$(patsubst %$(VERSION_LIBX),%$(LIBX),$@); \\');
- T($F, ' ln -s $(patsubst %$(VERSION_LIBX),%$(LIBX),$(@F)) ' .
-- '$(INST_LIBDIR)$(BITS)/$(patsubst %.$(VERSION_LIBX),%-static.$(LIBX),$(@F));'
-+ '$(INST_LIBDIR)/$(patsubst %.$(VERSION_LIBX),%-static.$(LIBX),$(@F));'
- . ' \\');
- T($F, ' echo success; \\');
- T($F, ' else \\');
-@@ -1097,7 +1107,7 @@ EndText
- L($F);
-
- L($F,
-- '$(INST_LIBDIR)$(BITS)/%.$(VERSION_SHLX): $(LIBDIR)/%.$(VERSION_SHLX)');
-+ '$(INST_LIBDIR)/%.$(VERSION_SHLX): $(LIBDIR)/%.$(VERSION_SHLX)');
- T($F, '@ echo -n "installing \'$(@F)\'... "');
- T($F, '@ if cp $^ $@ && chmod 755 $@; \\');
- T($F, ' then \\');
-@@ -1168,9 +1178,9 @@ EndText
- print $F " \$_{INCDIR } = '" . expand("$Bin/.." ) . "';\n";
- if ($PKG{LNG} ne 'PYTHON') {
- print $F " \$_{BINDIR$BITS} = '" . expand($E_BINDIR ) . "';\n";
-- print $F " \$_{LIBDIR$BITS} = '" . expand($E_LIBDIR ) . "';\n";
-+ print $F " \$_{LIBDIR} = '" . expand($E_LIBDIR ) . "';\n";
- } elsif ($OPT{PYTHON_LIB_PATH}) {
-- print $F " \$_{LIBDIR$BITS} = '$OPT{PYTHON_LIB_PATH}';\n";
-+ print $F " \$_{LIBDIR} = '$OPT{PYTHON_LIB_PATH}';\n";
- }
- print $F " \$_{OTHER_PREFIX } = '$PKG{UPATH}';\n";
- print $F " \$_{PREFIX } = '$OPT{'prefix'}';\n";
-@@ -1406,7 +1416,7 @@ sub find_in_dir {
- ++$found;
- }
- if (! $found) {
-- my $libdir = File::Spec->catdir($dir, 'lib' . $BITS);
-+ my $libdir = File::Spec->catdir($dir, 'lib');
- my $f = File::Spec->catdir($libdir, $lib);
- print "\tchecking $f\n\t" if ($OPT{'debug'});
- if (-e $f) {
diff --git a/biology/sra-tools/files/patch-tools_bam-loader_loader-imp.c b/biology/sra-tools/files/patch-tools_bam-loader_loader-imp.c
deleted file mode 100644
index 9b78a578a601..000000000000
--- a/biology/sra-tools/files/patch-tools_bam-loader_loader-imp.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- tools/bam-loader/loader-imp.c.orig 2021-06-20 16:59:47 UTC
-+++ tools/bam-loader/loader-imp.c
-@@ -71,6 +71,7 @@
- #include <sysalloc.h>
- #include <atomic32.h>
-
-+#include <sys/stat.h>
- #include <unistd.h>
- #include <fcntl.h>
- #include <sys/mman.h>
diff --git a/biology/sra-tools/files/patch-tools_copycat_Makefile b/biology/sra-tools/files/patch-tools_copycat_Makefile
deleted file mode 100644
index fb24ac9e5d4e..000000000000
--- a/biology/sra-tools/files/patch-tools_copycat_Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/copycat/Makefile.orig 2021-06-20 17:45:49 UTC
-+++ tools/copycat/Makefile
-@@ -92,7 +92,7 @@ COPYCAT_LIB = \
- -stk-version \
- -sncbi-vdb \
- -skff \
-- -smagic-static
-+ -smagic
-
-
- $(BINDIR)/copycat: $(COPYCAT_OBJ)
diff --git a/biology/sra-tools/files/patch-tools_driver-tool_Makefile b/biology/sra-tools/files/patch-tools_driver-tool_Makefile
deleted file mode 100644
index 408b82819a43..000000000000
--- a/biology/sra-tools/files/patch-tools_driver-tool_Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
---- tools/driver-tool/Makefile.orig 2021-03-15 18:25:25 UTC
-+++ tools/driver-tool/Makefile
-@@ -97,7 +97,12 @@ SRATOOLS_OBJ = \
- SRATOOLS_LIB = \
- -sncbi-vdb \
- -sjson \
-- -lm
-+ -lepoll-shim \
-+ -lmbedtls \
-+ -lm \
-+ -lexecinfo \
-+ -lz \
-+ -lbz2
-
- $(BINDIR)/sratools: $(SRATOOLS_OBJ) $(ILIBDIR)/libjson.$(LIBX)
- $(LP) --exe --vers $(SRCDIR)/../../shared/toolkit.vers -o $@ $^ $(SRATOOLS_LIB)
diff --git a/biology/sra-tools/files/patch-tools_driver-tool_cmdline.cpp b/biology/sra-tools/files/patch-tools_driver-tool_cmdline.cpp
deleted file mode 100644
index 46747e4840e5..000000000000
--- a/biology/sra-tools/files/patch-tools_driver-tool_cmdline.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
---- tools/driver-tool/cmdline.cpp.orig 2021-04-21 19:42:12 UTC
-+++ tools/driver-tool/cmdline.cpp
-@@ -50,6 +50,10 @@
- #define environ (*_NSGetEnviron())
- #endif
-
-+#if defined(__FreeBSD__)
-+extern char **environ;
-+#endif
-+
- #define TRACE( lvl, ... ) /* ignore */
-
- namespace ncbi
diff --git a/biology/sra-tools/files/patch-tools_driver-tool_utf8proc_Makefile b/biology/sra-tools/files/patch-tools_driver-tool_utf8proc_Makefile
deleted file mode 100644
index c5c827645c95..000000000000
--- a/biology/sra-tools/files/patch-tools_driver-tool_utf8proc_Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/driver-tool/utf8proc/Makefile.orig 2021-04-29 14:50:48 UTC
-+++ tools/driver-tool/utf8proc/Makefile
-@@ -79,7 +79,7 @@ libutf8proc.a: utf8proc.o
-
- libutf8proc.so.$(MAJOR).$(MINOR).$(PATCH): utf8proc.o
- $(CC) $(LDFLAGS) -shared -o $@ -Wl,-soname -Wl,libutf8proc.so.$(MAJOR) utf8proc.o
-- chmod a-x $@
-+ # FIX .so build so this will work: chmod a-x $@
-
- libutf8proc.so: libutf8proc.so.$(MAJOR).$(MINOR).$(PATCH)
- ln -f -s libutf8proc.so.$(MAJOR).$(MINOR).$(PATCH) $@
diff --git a/biology/sra-tools/files/patch-tools_external_driver-tool_file-path.posix.cpp b/biology/sra-tools/files/patch-tools_external_driver-tool_file-path.posix.cpp
new file mode 100644
index 000000000000..9c995dcdbc51
--- /dev/null
+++ b/biology/sra-tools/files/patch-tools_external_driver-tool_file-path.posix.cpp
@@ -0,0 +1,20 @@
+--- tools/external/driver-tool/file-path.posix.cpp.orig 2023-07-10 16:23:35 UTC
++++ tools/external/driver-tool/file-path.posix.cpp
+@@ -193,7 +193,16 @@ static char const *find_executable_path(char const *co
+ FilePath FilePath::fullPathToExecutable(char const *const *const argv, char const *const *const envp, char const *const *const extra)
+ {
+ char const *path;
+-#if LINUX
++// Assume sra-tools is installed by FreeBSD ports. FreeBSD users
++// don't often install software by other means. Default prefix
++// is /usr/local, but this can be overridden by the user building
++// the port. The port can replace /usr/local using sed if that's the
++// case.
++#if BSD
++ char full_path[PATH_MAX];
++ snprintf(full_path, PATH_MAX, "/usr/local/bin/%s", argv[0]);
++ path = full_path;
++#elif LINUX
+ path = "/proc/self/exe";
+ #elif MAC
+ path = find_executable_path(extra, argv[0]);
diff --git a/biology/sra-tools/files/patch-tools_external_driver-tool_sratools.cpp b/biology/sra-tools/files/patch-tools_external_driver-tool_sratools.cpp
new file mode 100644
index 000000000000..bea51c07e42e
--- /dev/null
+++ b/biology/sra-tools/files/patch-tools_external_driver-tool_sratools.cpp
@@ -0,0 +1,25 @@
+--- tools/external/driver-tool/sratools.cpp.orig 2023-07-10 16:23:35 UTC
++++ tools/external/driver-tool/sratools.cpp
+@@ -420,6 +420,7 @@ static int main(CommandLine const &argv)
+ enableLogging(argv.toolName.c_str());
+ #endif
+ LOG(7) << "executable path: " << (std::string)argv.fullPathToExe << std::endl;
++ // std::cerr << "executable path: " << (std::string)argv.fullPathToExe << std::endl;
+
+ config = new Config();
+ struct Defer { ~Defer() { delete config; config = nullptr; } } freeConfig;
+@@ -576,6 +577,14 @@ static int main(CommandLine const &argv)
+ }
+
+ } // namespace sratools
++
++#if BSD
++int main(int argc, char *argv[], char *envp[])
++{
++ auto const invocation = CommandLine(argc, argv, envp, nullptr);
++ return sratools::main(invocation);
++}
++#endif
+
+ #if MAC
+ int main(int argc, char *argv[], char *envp[], char *apple[])
diff --git a/biology/sra-tools/files/patch-tools_external_vdb-config_tui_CMakeLists.txt b/biology/sra-tools/files/patch-tools_external_vdb-config_tui_CMakeLists.txt
new file mode 100644
index 000000000000..d3627cbbc42a
--- /dev/null
+++ b/biology/sra-tools/files/patch-tools_external_vdb-config_tui_CMakeLists.txt
@@ -0,0 +1,20 @@
+--- tools/external/vdb-config/tui/CMakeLists.txt.orig 2023-07-10 16:23:35 UTC
++++ tools/external/vdb-config/tui/CMakeLists.txt
+@@ -25,6 +25,7 @@
+ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/.. )
+
+ set ( UNIX_SRC unix/systui.c )
++set ( BSD_SRC bsd/systui.c )
+ set ( LINUX_SRC linux/systui.c )
+ set ( MAC_SRC bsd/systui.c )
+ set ( WIN_SRC win/systui.c )
+@@ -32,6 +33,9 @@ set ( WIN_SRC win/systui.c )
+ if ( "windows" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${WIN_SRC} )
+ #include_directories( win )
++elseif( "bsd" STREQUAL ${OS} )
++ set ( OS_SPECIFIC_SRC ${BSD_SRC} )
++ #include_directories( unix )
+ elseif( "linux" STREQUAL ${OS} )
+ set ( OS_SPECIFIC_SRC ${LINUX_SRC} )
+ #include_directories( unix )
diff --git a/biology/sra-tools/files/patch-tools_fastq-loader_spot-assembler.c b/biology/sra-tools/files/patch-tools_fastq-loader_spot-assembler.c
deleted file mode 100644
index 0a8f0fd3ccb1..000000000000
--- a/biology/sra-tools/files/patch-tools_fastq-loader_spot-assembler.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/fastq-loader/spot-assembler.c.orig 2021-06-20 17:00:29 UTC
-+++ tools/fastq-loader/spot-assembler.c
-@@ -26,6 +26,8 @@
-
- #include "spot-assembler.h"
-
-+#include <sys/stat.h>
-+
- #include <klib/status.h>
- #include <klib/printf.h>
-
diff --git a/biology/sra-tools/files/patch-tools_loaders_fastq-loader_spot-assembler.c b/biology/sra-tools/files/patch-tools_loaders_fastq-loader_spot-assembler.c
new file mode 100644
index 000000000000..2b337b2116e5
--- /dev/null
+++ b/biology/sra-tools/files/patch-tools_loaders_fastq-loader_spot-assembler.c
@@ -0,0 +1,17 @@
+--- tools/loaders/fastq-loader/spot-assembler.c.orig 2023-08-08 12:26:35 UTC
++++ tools/loaders/fastq-loader/spot-assembler.c
+@@ -1,3 +1,4 @@
++
+ /*===========================================================================
+ *
+ * PUBLIC DOMAIN NOTICE
+@@ -25,6 +26,9 @@
+ */
+
+ #include "spot-assembler.h"
++
++// FIXME: Unsure if this is still necessary
++#include <sys/stat.h>
+
+ #include <klib/status.h>
+ #include <klib/printf.h>
diff --git a/biology/sra-tools/files/patch-tools_sra-sort_Makefile b/biology/sra-tools/files/patch-tools_sra-sort_Makefile
deleted file mode 100644
index 8e96b1a43f97..000000000000
--- a/biology/sra-tools/files/patch-tools_sra-sort_Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
---- tools/sra-sort/Makefile.orig 2021-06-20 22:24:20 UTC
-+++ tools/sra-sort/Makefile
-@@ -135,7 +135,9 @@ DBB_OBJ = \
- $(addsuffix .$(OBJX),$(DBB_SRC))
-
- DBB_LIB = \
-- -lncbi-vdb \
-+ -sncbi-vdb \
-
- $(BINDIR)/dump-blob-boundaries: $(DBB_OBJ)
-+ @echo "LD = ${LD}"
-+ @echo "DBB_LIB = ${DBB_LIB}"
- $(LD) --exe -o $@ $^ $(DBB_LIB)
diff --git a/biology/sra-tools/files/patch-tools_util_validate-names4.c b/biology/sra-tools/files/patch-tools_util_validate-names4.c
deleted file mode 100644
index 5d66976db304..000000000000
--- a/biology/sra-tools/files/patch-tools_util_validate-names4.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- tools/util/validate-names4.c.orig 2021-06-20 17:53:25 UTC
-+++ tools/util/validate-names4.c
-@@ -30,8 +30,8 @@
- #include <klib/rc.h> /* RC */
- #include <vfs/path.h> /* VPath */
-
--#include "../../../ncbi-vdb/libs/vfs/json-response.h" /* Response4Make4 */
--#include "../../../ncbi-vdb/libs/vfs/services-priv.h"/*KServiceGetKSrvResponse*/
-+#include "../libs/vfs/json-response.h" /* Response4Make4 */
-+#include "../libs/vfs/services-priv.h"/*KServiceGetKSrvResponse*/
-
- #define RELEASE(type, obj) do { rc_t rc2 = type##Release(obj); \
- if (rc2 && !rc) { rc = rc2; } obj = NULL; } while (false)
diff --git a/biology/sra-tools/pkg-descr b/biology/sra-tools/pkg-descr
index e9324dc5a96a..06ed34546192 100644
--- a/biology/sra-tools/pkg-descr
+++ b/biology/sra-tools/pkg-descr
@@ -1,18 +1,13 @@
SRA tools is a toolkit for using data in the INSDC Sequence Read Archives.
-
SRAs operated by International Nucleotide Sequence Database Collaboration
houses sequence reads and alignments generated by "next-gen" sequencers.
SRA tools allows conversion of .sra files, which INSDC SRAs maintain,
from/to other formats that the 'next-gen' sequenecers generate including:
-
* csfasta/csqual (ABI SOLiD)
* fastq (and fasta for writing)
* hdf5 (PacBio, reading only)
* qseq (older Illumina)
* sam (writing only) / bam (reading only)
* sff
-
The toolkit uses NCBI-VDB back-end enabling seamless access to remote SRA data
and local SRA files.
-
-WWW: https://github.com/ncbi/sra-tools/wiki
diff --git a/biology/sra-tools/pkg-plist b/biology/sra-tools/pkg-plist
index dad924be78f4..20e3af7ac25d 100644
--- a/biology/sra-tools/pkg-plist
+++ b/biology/sra-tools/pkg-plist
@@ -1,57 +1,282 @@
bin/abi-dump
-bin/abi-load
-bin/align-cache
+bin/abi-dump.3
+bin/abi-dump.3.0.6
bin/align-info
-bin/bam-load
+bin/align-info.3
+bin/align-info.3.0.6
bin/cache-mgr
-bin/ccextract
-bin/cg-load
+bin/cache-mgr.3
+bin/cache-mgr.3.0.6
bin/check-corrupt
-bin/copycat
+bin/check-corrupt.3
+bin/check-corrupt.3.0.6
bin/fasterq-dump
+bin/fasterq-dump-orig.3.0.6
+bin/fasterq-dump.3
+bin/fasterq-dump.3.0.6
bin/fastq-dump
-bin/fastq-load
-bin/helicos-load
+bin/fastq-dump-orig.3.0.6
+bin/fastq-dump.3
+bin/fastq-dump.3.0.6
bin/illumina-dump
-bin/illumina-load
-bin/kar
-bin/kar+
-bin/kar+meta
-bin/kdb-index
+bin/illumina-dump.3
+bin/illumina-dump.3.0.6
bin/kdbmeta
-bin/kget
-bin/latf-load
-bin/make-read-filter
-bin/md5cp
+bin/kdbmeta.3
+bin/kdbmeta.3.0.6
bin/ngs-pileup
-bin/pacbio-correct
-bin/pacbio-loadxml
+bin/ngs-pileup.3
+bin/ngs-pileup.3.0.6
bin/prefetch
-bin/qual-recalib-stat
+bin/prefetch-orig.3.0.6
+bin/prefetch.3
+bin/prefetch.3.0.6
bin/rcexplain
-bin/read-filter-redact
+bin/rcexplain.3
+bin/rcexplain.3.0.6
+bin/ref-variation
+bin/ref-variation.3
+bin/ref-variation.3.0.6
bin/sam-dump
-bin/samview
-bin/schema-replace
+bin/sam-dump-orig.3.0.6
+bin/sam-dump.3
+bin/sam-dump.3.0.6
bin/sff-dump
-bin/sff-load
+bin/sff-dump.3
+bin/sff-dump.3.0.6
+bin/sra-info
+bin/sra-info.3
+bin/sra-info.3.0.6
bin/sra-pileup
-bin/sra-sort
-bin/sra-sort-cg
+bin/sra-pileup-orig.3.0.6
+bin/sra-pileup.3
+bin/sra-pileup.3.0.6
+bin/sra-search
+bin/sra-search.3
+bin/sra-search.3.0.6
bin/sra-stat
+bin/sra-stat.3
+bin/sra-stat.3.0.6
bin/srapath
+bin/srapath-orig.3.0.6
+bin/srapath.3
+bin/srapath.3.0.6
bin/sratools
-bin/srf-load
-bin/test-read-write-cursor
+bin/sratools.3
+bin/sratools.3.0.6
bin/test-sra
+bin/test-sra.3
+bin/test-sra.3.0.6
+bin/var-expand
+bin/var-expand.3
+bin/var-expand.3.0.6
bin/vdb-config
-bin/vdb-copy
+bin/vdb-config.3
+bin/vdb-config.3.0.6
bin/vdb-decrypt
-bin/vdb-diff
+bin/vdb-decrypt.3
+bin/vdb-decrypt.3.0.6
bin/vdb-dump
+bin/vdb-dump-orig.3.0.6
+bin/vdb-dump.3
+bin/vdb-dump.3.0.6
bin/vdb-encrypt
-bin/vdb-lock
-bin/vdb-passwd
-bin/vdb-sql
-bin/vdb-unlock
+bin/vdb-encrypt.3
+bin/vdb-encrypt.3.0.6
bin/vdb-validate
+bin/vdb-validate.3
+bin/vdb-validate.3.0.6
+include/ncbi-vdb/NGS.hpp
+include/ngs/Alignment.hpp
+include/ngs/AlignmentIterator.hpp
+include/ngs/ErrorMsg.hpp
+include/ngs/Fragment.hpp
+include/ngs/FragmentIterator.hpp
+include/ngs/Package.hpp
+include/ngs/Pileup.hpp
+include/ngs/PileupEvent.hpp
+include/ngs/PileupEventIterator.hpp
+include/ngs/PileupIterator.hpp
+include/ngs/Read.hpp
+include/ngs/ReadCollection.hpp
+include/ngs/ReadGroup.hpp
+include/ngs/ReadGroupIterator.hpp
+include/ngs/ReadIterator.hpp
+include/ngs/Reference.hpp
+include/ngs/ReferenceIterator.hpp
+include/ngs/ReferenceSequence.hpp
+include/ngs/Statistics.hpp
+include/ngs/StringRef.hpp
+include/ngs/adapter/AlignmentItf.hpp
+include/ngs/adapter/ErrorMsg.hpp
+include/ngs/adapter/FragmentItf.hpp
+include/ngs/adapter/PileupEventItf.hpp
+include/ngs/adapter/PileupItf.hpp
+include/ngs/adapter/ReadCollectionItf.hpp
+include/ngs/adapter/ReadGroupItf.hpp
+include/ngs/adapter/ReadItf.hpp
+include/ngs/adapter/Refcount.hpp
+include/ngs/adapter/ReferenceItf.hpp
+include/ngs/adapter/ReferenceSequenceItf.hpp
+include/ngs/adapter/StatisticsItf.hpp
+include/ngs/adapter/StringItf.hpp
+include/ngs/adapter/defs.h
+include/ngs/inl/Alignment.hpp
+include/ngs/inl/AlignmentIterator.hpp
+include/ngs/inl/Fragment.hpp
+include/ngs/inl/FragmentIterator.hpp
+include/ngs/inl/Package.hpp
+include/ngs/inl/Pileup.hpp
+include/ngs/inl/PileupEvent.hpp
+include/ngs/inl/PileupEventIterator.hpp
+include/ngs/inl/PileupIterator.hpp
+include/ngs/inl/Read.hpp
+include/ngs/inl/ReadCollection.hpp
+include/ngs/inl/ReadGroup.hpp
+include/ngs/inl/ReadGroupIterator.hpp
+include/ngs/inl/ReadIterator.hpp
+include/ngs/inl/Reference.hpp
+include/ngs/inl/ReferenceIterator.hpp
+include/ngs/inl/ReferenceSequence.hpp
+include/ngs/inl/Statistics.hpp
+include/ngs/inl/StringRef.hpp
+include/ngs/itf/AlignmentItf.h
+include/ngs/itf/AlignmentItf.hpp
+include/ngs/itf/ErrBlock.h
+include/ngs/itf/ErrBlock.hpp
+include/ngs/itf/ErrorMsg.hpp
+include/ngs/itf/FragmentItf.h
+include/ngs/itf/FragmentItf.hpp
+include/ngs/itf/PackageItf.hpp
+include/ngs/itf/PileupEventItf.h
+include/ngs/itf/PileupEventItf.hpp
+include/ngs/itf/PileupItf.h
+include/ngs/itf/PileupItf.hpp
+include/ngs/itf/ReadCollectionItf.h
+include/ngs/itf/ReadCollectionItf.hpp
+include/ngs/itf/ReadGroupItf.h
+include/ngs/itf/ReadGroupItf.hpp
+include/ngs/itf/ReadItf.h
+include/ngs/itf/ReadItf.hpp
+include/ngs/itf/Refcount.h
+include/ngs/itf/Refcount.hpp
+include/ngs/itf/ReferenceItf.h
+include/ngs/itf/ReferenceItf.hpp
+include/ngs/itf/ReferenceSequenceItf.h
+include/ngs/itf/ReferenceSequenceItf.hpp
+include/ngs/itf/StatisticsItf.h
+include/ngs/itf/StatisticsItf.hpp
+include/ngs/itf/StringItf.h
+include/ngs/itf/StringItf.hpp
+include/ngs/itf/VTable.h
+include/ngs/itf/VTable.hpp
+include/ngs/itf/defs.h
+include/ngs/unix/arm64/atomic32.h
+include/ngs/unix/fat86/atomic32.h
+include/ngs/unix/i386/atomic32.h
+include/ngs/unix/x86_64/atomic32.h
+include/ngs/win/atomic32.h
+include/ngs/win/stdbool.h
+jar/ngs-doc.jar
+jar/ngs-examples.jar
+jar/ngs-java.jar
+jar/ngs-src.jar
+lib64/libncbi-ngs-c++-static.a
+lib64/libncbi-ngs-c++.a
+lib64/libncbi-ngs-c++.a.3
+lib64/libncbi-ngs-c++.a.3.0.6
+lib64/libncbi-ngs-static.a
+lib64/libncbi-ngs.a
+lib64/libncbi-ngs.a.3
+lib64/libncbi-ngs.a.3.0.6
+lib64/libncbi-ngs.so
+lib64/libncbi-ngs.so.3
+lib64/libncbi-ngs.so.3.0.6
+lib64/libngs-c++-static.a
+lib64/libngs-c++.a
+lib64/libngs-c++.a.3
+lib64/libngs-c++.a.3.0.6
+lib64/libngs-c++.so
+lib64/libngs-c++.so.3
+lib64/libngs-c++.so.3.0.6
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/AlignSliceTest.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/AlignTest.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/DumpReferenceFASTA.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/FragTest.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Makefile
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/PileupTest.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/RefTest.cpp
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/expected.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/Makefile
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/README.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/examples/AlignSliceTest.java
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/examples/AlignTest.java
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/examples/DumpReferenceFASTA.java
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/examples/FragTest.java
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/examples/PileupTest.java
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/examples/ReadGroupTest.java
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/examples/RefTest.java
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/java/expected.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/AlignSliceTest.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/AlignTest.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/FragTest.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/Makefile
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/PileupTest.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/README.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/RefTest.py
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/expected.txt
+%%JAVASHAREDIR%%doc/ngs-doc/allclasses-index.html
+%%JAVASHAREDIR%%doc/ngs-doc/allpackages-index.html
+%%JAVASHAREDIR%%doc/ngs-doc/constant-values.html
+%%JAVASHAREDIR%%doc/ngs-doc/element-list
+%%JAVASHAREDIR%%doc/ngs-doc/gov/nih/nlm/ncbi/ngs/LibDependencies.html
+%%JAVASHAREDIR%%doc/ngs-doc/gov/nih/nlm/ncbi/ngs/NGS.html
+%%JAVASHAREDIR%%doc/ngs-doc/gov/nih/nlm/ncbi/ngs/package-summary.html
+%%JAVASHAREDIR%%doc/ngs-doc/gov/nih/nlm/ncbi/ngs/package-tree.html
+%%JAVASHAREDIR%%doc/ngs-doc/help-doc.html
+%%JAVASHAREDIR%%doc/ngs-doc/index-all.html
+%%JAVASHAREDIR%%doc/ngs-doc/index.html
+%%JAVASHAREDIR%%doc/ngs-doc/jquery-ui.overrides.css
+%%JAVASHAREDIR%%doc/ngs-doc/legal/ADDITIONAL_LICENSE_INFO
+%%JAVASHAREDIR%%doc/ngs-doc/legal/ASSEMBLY_EXCEPTION
+%%JAVASHAREDIR%%doc/ngs-doc/legal/LICENSE
+%%JAVASHAREDIR%%doc/ngs-doc/legal/jquery.md
+%%JAVASHAREDIR%%doc/ngs-doc/legal/jqueryUI.md
+%%JAVASHAREDIR%%doc/ngs-doc/member-search-index.js
+%%JAVASHAREDIR%%doc/ngs-doc/module-search-index.js
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/Alignment.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/AlignmentIterator.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/ErrorMsg.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/Fragment.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/FragmentIterator.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/Package.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/Pileup.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/PileupEvent.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/PileupEventIterator.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/PileupIterator.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/Read.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/ReadCollection.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/ReadGroup.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/ReadGroupIterator.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/ReadIterator.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/Reference.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/ReferenceIterator.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/ReferenceSequence.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/Statistics.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/package-summary.html
+%%JAVASHAREDIR%%doc/ngs-doc/ngs/package-tree.html
+%%JAVASHAREDIR%%doc/ngs-doc/overview-summary.html
+%%JAVASHAREDIR%%doc/ngs-doc/overview-tree.html
+%%JAVASHAREDIR%%doc/ngs-doc/package-search-index.js
+%%JAVASHAREDIR%%doc/ngs-doc/resources/glass.png
+%%JAVASHAREDIR%%doc/ngs-doc/resources/x.png
+%%JAVASHAREDIR%%doc/ngs-doc/script-dir/jquery-3.6.1.min.js
+%%JAVASHAREDIR%%doc/ngs-doc/script-dir/jquery-ui.min.css
+%%JAVASHAREDIR%%doc/ngs-doc/script-dir/jquery-ui.min.js
+%%JAVASHAREDIR%%doc/ngs-doc/script.js
+%%JAVASHAREDIR%%doc/ngs-doc/search.js
+%%JAVASHAREDIR%%doc/ngs-doc/serialized-form.html
+%%JAVASHAREDIR%%doc/ngs-doc/stylesheet.css
+%%JAVASHAREDIR%%doc/ngs-doc/tag-search-index.js
+%%JAVASHAREDIR%%doc/ngs-doc/type-search-index.js
diff --git a/biology/stacks/Makefile b/biology/stacks/Makefile
index cbd6bf3912d3..b4301eec2bb7 100644
--- a/biology/stacks/Makefile
+++ b/biology/stacks/Makefile
@@ -6,6 +6,7 @@ MASTER_SITES= http://catchenlab.life.illinois.edu/stacks/source/
MAINTAINER= jwb@FreeBSD.org
COMMENT= Software pipeline for building loci from short-read sequences
+WWW= https://catchenlab.life.illinois.edu/stacks/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/biology/stacks/pkg-descr b/biology/stacks/pkg-descr
index f7c91c33e98f..91c14fbc8dfe 100644
--- a/biology/stacks/pkg-descr
+++ b/biology/stacks/pkg-descr
@@ -2,5 +2,3 @@ Stacks is a software pipeline for building loci from short-read sequences, such
as those generated on the Illumina platform. Stacks was developed to work with
restriction enzyme-based data, such as RAD-seq, for the purpose of building
genetic maps and conducting population genomics and phylogeography.
-
-WWW: http://catchenlab.life.illinois.edu/stacks/
diff --git a/biology/star/Makefile b/biology/star/Makefile
index 67da9de6c511..968caa762551 100644
--- a/biology/star/Makefile
+++ b/biology/star/Makefile
@@ -1,26 +1,50 @@
PORTNAME= STAR
-DISTVERSION= 2.7.3a
+DISTVERSION= 2.7.11a
PORTREVISION= 1
CATEGORIES= biology
PKGNAMEPREFIX= rna-
MAINTAINER= jwb@FreeBSD.org
COMMENT= Spliced Transcripts Alignment to a Reference
+WWW= https://github.com/alexdobin/STAR
LICENSE= GPLv3
LICENSE_FILE= ${WRKDIR}/STAR-${DISTVERSION}/LICENSE
-# 64-bit only, needs 16+ GiB RAM for typical eukaryotic genome
-NOT_FOR_ARCHS= i386 powerpc
+NOT_FOR_ARCHS= armv6 armv7 i386 mips powerpc powerpcspe
+NOT_FOR_ARCHS_REASON= Requires 64-bit processor
+.if !exists(/usr/include/omp.h)
+BROKEN= requires OpenMP support that is missing on this architecture
+.endif
-USES= compiler:c++11-lang gmake
+BUILD_DEPENDS= xxd:sysutils/xxd
+LIB_DEPENDS= libhts.so:biology/htslib
+
+USES= compiler:c++11-lang gmake localbase:ldflags
+# FIXME: When built with clang, number of input reads = 0
+USE_GCC= yes
USE_GITHUB= yes
GH_ACCOUNT= alexdobin
WRKSRC_SUBDIR= source
+MAKE_FLAGS= HTSLIB='' CXXFLAGS_SIMD=""
PLIST_FILES= bin/STAR
+post-patch:
+ ${RM} -rf ${WRKSRC}/htslib
+ ${REINPLACE_CMD} \
+ -e 's|"htslib/htslib/sam.h"|<htslib/sam.h>|g' \
+ -e 's|"htslib/htslib/kstring.h"|<htslib/kstring.h>|g' \
+ -e 's|"htslib/htslib/bgzf.h"|<htslib/bgzf.h>|g' \
+ ${WRKSRC}/BAMfunctions.cpp \
+ ${WRKSRC}/IncludeDefine.h \
+ ${WRKSRC}/STAR.cpp \
+ ${WRKSRC}/bamRemoveDuplicates.cpp \
+ ${WRKSRC}/bam_cat.c \
+ ${WRKSRC}/bam_cat.h \
+ ${WRKSRC}/signalFromBAM.h
+
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/STAR ${STAGEDIR}${PREFIX}/bin
diff --git a/biology/star/distinfo b/biology/star/distinfo
index 9527dfa82397..395c98a981c1 100644
--- a/biology/star/distinfo
+++ b/biology/star/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1586376571
-SHA256 (alexdobin-STAR-2.7.3a_GH0.tar.gz) = de204175351dc5f5ecc40cf458f224617654bdb8e00df55f0bb03a5727bf26f9
-SIZE (alexdobin-STAR-2.7.3a_GH0.tar.gz) = 8550987
+TIMESTAMP = 1692285897
+SHA256 (alexdobin-STAR-2.7.11a_GH0.tar.gz) = 542457b1a4fee73f27a581b1776e9f73ad2b4d7e790388b6dc71147bd039f99a
+SIZE (alexdobin-STAR-2.7.11a_GH0.tar.gz) = 12463429
diff --git a/biology/star/files/patch-Makefile b/biology/star/files/patch-Makefile
index 99f3c4aa1237..55d592e70c2f 100644
--- a/biology/star/files/patch-Makefile
+++ b/biology/star/files/patch-Makefile
@@ -1,23 +1,62 @@
---- Makefile.orig 2019-10-08 19:10:51 UTC
+--- Makefile.orig 2023-08-15 19:21:58 UTC
+++ Makefile
-@@ -20,11 +20,16 @@ LDFLAGS_gdb := $(LDFLAGS_shared)
+@@ -11,14 +11,19 @@ CXXFLAGSextra ?=
+ # user may define the compiler
+ CXX ?= g++
- COMPTIMEPLACE := -D'COMPILATION_TIME_PLACE="$(shell echo `date` $(HOSTNAME):`pwd`)"'
-
--CXXFLAGS_common := -pipe -std=c++11 -Wall -Wextra -fopenmp $(COMPTIMEPLACE)
--CXXFLAGS_main := -O3 $(CXXFLAGS_common)
--CXXFLAGS_gdb := -O0 -g $(CXXFLAGS_common)
-+# Defaults, overridden by make arguments or environment
-+CXXFLAGS ?= -pipe -O3 -Wall -Wextra
-+CFLAGS ?= -pipe -O3 -Wall -Wextra
-
--CFLAGS := -O3 -pipe -Wall -Wextra $(CFLAGS)
-+# Unconditionally set essential flags
-+CXXFLAGS_common := -std=c++11 -fopenmp $(COMPTIMEPLACE)
-+CXXFLAGS_main += $(CXXFLAGS_common)
++# user may set to '' and sed "htslib/htslib/*.h" to <htslib/*.h>
++# if they don't want the bundled htslib
++HTSLIB ?= htslib
+
-+# -O or -O2 should work fine with gdb as well
-+CXXFLAGS_gdb := -O0 -g $(CXXFLAGS_common)
+ # pre-defined flags
+-LDFLAGS_shared := -pthread -Lhtslib -Bstatic -lhts -Bdynamic -lz
+-LDFLAGS_static := -static -static-libgcc -pthread -Lhtslib -lhts -lz
++LDFLAGS_shared := -pthread -lhts -lz
++LDFLAGS_static := -static -pthread -lhts -lz
+ LDFLAGS_Mac :=-pthread -lz htslib/libhts.a
+ LDFLAGS_Mac_static :=-pthread -lz -static-libgcc htslib/libhts.a
+ LDFLAGS_gdb := $(LDFLAGS_shared)
+
+-DATE_FMT = --iso-8601=seconds
++# --iso-8601 is not portable
++DATE_FMT = -Iseconds
+ ifdef SOURCE_DATE_EPOCH
+ BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u "$(DATE_FMT)")
+ else
+@@ -41,12 +46,12 @@ GIT_BRANCH_COMMIT_DIFF := -D'GIT_BRANCH_COMMIT_DIFF="$
+
+ # Defaults, can be overridden by make arguments or environment
+ CXXFLAGS ?= -pipe -Wall -Wextra
+-CFLAGS ?= -pipe -Wall -Wextra -O3
++CFLAGS ?= -pipe -Wall -Wextra
+ CXXFLAGS_SIMD ?= -mavx2
+ # Unconditionally set essential flags and optimization options
+ CXXFLAGS_common := -std=c++11 -fopenmp $(COMPTIMEPLACE) $(GIT_BRANCH_COMMIT_DIFF)
+-CXXFLAGS_main := -O3 $(CXXFLAGS_common)
++CXXFLAGS_main := $(CXXFLAGS_common)
+ CXXFLAGS_gdb := -O0 -g3 $(CXXFLAGS_common)
##########################################################################################################
+@@ -114,7 +119,7 @@ clean:
+
+ .PHONY: CLEAN
+ CLEAN: clean
+- $(MAKE) -C htslib clean
++ $(MAKE) -C $(HTSLIB) clean
+
+
+ .PHONY: clean_solo
+@@ -131,10 +136,10 @@ ifneq ($(MAKECMDGOALS),CLEAN)
+ ifneq ($(MAKECMDGOALS),clean_solo)
+ ifneq ($(MAKECMDGOALS),STARforMac)
+ ifneq ($(MAKECMDGOALS),STARforMacGDB)
+-Depend.list: $(SOURCES) parametersDefault.xxd htslib
++Depend.list: $(SOURCES) parametersDefault.xxd $(HTSLIB)
+ echo $(SOURCES)
+ 'rm' -f ./Depend.list
+- $(CXX) $(CXXFLAGS_common) -MM $^ >> Depend.list
++ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) -MM $^ >> Depend.list
+ include Depend.list
+ endif
+ endif
diff --git a/biology/star/files/patch-SharedMemory.cpp b/biology/star/files/patch-SharedMemory.cpp
deleted file mode 100644
index 54f83b99f369..000000000000
--- a/biology/star/files/patch-SharedMemory.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- SharedMemory.cpp.orig 2019-04-21 19:57:39 UTC
-+++ SharedMemory.cpp
-@@ -11,7 +11,7 @@
- #include <semaphore.h>
- #include <errno.h>
-
--#ifdef COMPILE_FOR_MAC
-+#if defined(COMPILE_FOR_MAC) || defined(__FreeBSD__)
- //some Mac's idiosyncrasies: standard SHM libraries are very old and missing some definitions
- #define SHM_NORESERVE 0
- #endif
diff --git a/biology/star/files/patch-SuffixArrayFuns.cpp b/biology/star/files/patch-SuffixArrayFuns.cpp
new file mode 100644
index 000000000000..9cabe32bf183
--- /dev/null
+++ b/biology/star/files/patch-SuffixArrayFuns.cpp
@@ -0,0 +1,50 @@
+--- SuffixArrayFuns.cpp.orig 2023-07-21 15:26:07 UTC
++++ SuffixArrayFuns.cpp
+@@ -15,7 +15,7 @@ uint compareSeqToGenome(Genome &mapGen, char** s2, uin
+ * dirR forward or reverse direction search on read sequence
+ */
+
+- register int64 ii;
++ int64 ii;
+
+ uint SAstr=mapGen.SA[iSA];
+ bool dirG = (SAstr>>mapGen.GstrandBit) == 0; //forward or reverse strand of the genome
+@@ -231,7 +231,7 @@ uint compareSeqToGenome1(Genome &mapGen, char** s2, ui
+
+ //TODO no need for complementary sequence
+
+- register int64 ii;
++ int64 ii;
+
+ uint SAstr=mapGen.SA[iSA];
+ bool dirG = (SAstr>>mapGen.GstrandBit) == 0; //forward or reverse strand of the genome
+@@ -356,13 +356,13 @@ uint funCalcSAiFromSA(char* gSeq, PackedArray& gSA, Ge
+ bool dirG = (SAstr>>mapGen.GstrandBit) == 0; //forward or reverse strand of the genome
+ SAstr &= mapGen.GstrandMask;
+ iL4=-1;
+- register uint saind=0;
++ uint saind=0;
+ if (dirG)
+ {
+- register uint128 g1=*( (uint128*) (gSeq+SAstr) );
++ uint128 g1=*( (uint128*) (gSeq+SAstr) );
+ for (int ii=0; ii<L; ii++)
+ {
+- register char g2=(char) g1;
++ char g2=(char) g1;
+ if (g2>3)
+ {
+ iL4=ii;
+@@ -376,10 +376,10 @@ uint funCalcSAiFromSA(char* gSeq, PackedArray& gSA, Ge
+ return saind;
+ } else
+ {
+- register uint128 g1=*( (uint128*) (gSeq+mapGen.nGenome-SAstr-16) );
++ uint128 g1=*( (uint128*) (gSeq+mapGen.nGenome-SAstr-16) );
+ for (int ii=0; ii<L; ii++)
+ {
+- register char g2=(char) (g1>>(8*(15-ii)));
++ char g2=(char) (g1>>(8*(15-ii)));
+ if (g2>3)
+ {
+ iL4=ii;
diff --git a/biology/star/files/patch-bamSortByCoordinate.cpp b/biology/star/files/patch-bamSortByCoordinate.cpp
new file mode 100644
index 000000000000..5ba13ed77fc9
--- /dev/null
+++ b/biology/star/files/patch-bamSortByCoordinate.cpp
@@ -0,0 +1,11 @@
+--- bamSortByCoordinate.cpp.orig 2021-11-26 16:17:37 UTC
++++ bamSortByCoordinate.cpp
+@@ -64,7 +64,7 @@ void bamSortByCoordinate (Parameters &P, ReadAlignChun
+ boolWait=false;
+ totalMem+=newMem;
+ };
+- sleep(0.1);
++ usleep(10000);
+ };
+ BAMbinSortByCoordinate(ibin,binN,binS,P.runThreadN,P.outBAMsortTmpDir, P, genome, solo);
+ #pragma omp critical
diff --git a/biology/star/pkg-descr b/biology/star/pkg-descr
index 28b0b0199bc9..61edfbda5a5a 100644
--- a/biology/star/pkg-descr
+++ b/biology/star/pkg-descr
@@ -7,5 +7,3 @@ by seed clustering and stitching procedure. STAR outperforms other aligners by
a factor of >50 in mapping speed, aligning to the human genome 550 million 2 x
76 bp paired-end reads per hour on a modest 12-core server, while at the same
time improving alignment sensitivity and precision
-
-WWW: https://github.com/alexdobin/STAR
diff --git a/biology/stringtie/Makefile b/biology/stringtie/Makefile
index 5e261632b31c..8341112877d1 100644
--- a/biology/stringtie/Makefile
+++ b/biology/stringtie/Makefile
@@ -5,6 +5,7 @@ MASTER_SITES= http://ccb.jhu.edu/software/stringtie/dl/
MAINTAINER= mzaki@e-mail.ne.jp
COMMENT= Transcript assembly and quantification for RNA-seq
+WWW= http://www.ccb.jhu.edu/software/stringtie/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/biology/stringtie/pkg-descr b/biology/stringtie/pkg-descr
index 246cda936a4b..923c100f4d95 100644
--- a/biology/stringtie/pkg-descr
+++ b/biology/stringtie/pkg-descr
@@ -7,5 +7,3 @@ Citation:
Pertea et al. (2015) StringTie enables improved reconstruction of a
transcriptome from RNA-seq reads.
Nature Biotechnology 33: 290-295 doi:10.1038/nbt.3122
-
-WWW: http://www.ccb.jhu.edu/software/stringtie/
diff --git a/biology/subread/Makefile b/biology/subread/Makefile
index 44ff5508a8dc..f1d4b49106e1 100644
--- a/biology/subread/Makefile
+++ b/biology/subread/Makefile
@@ -6,6 +6,7 @@ MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-${PORTVERSION}
MAINTAINER= jwb@FreeBSD.org
COMMENT= High-performance read alignment, quantification and mutation discovery
+WWW= http://bioinf.wehi.edu.au/subread-package/
LICENSE= GPLv3
LICENSE_FILE= ${WRKDIR}/${DISTNAME}/LICENSE
diff --git a/biology/subread/pkg-descr b/biology/subread/pkg-descr
index cb32c24836d6..8da3783515fc 100644
--- a/biology/subread/pkg-descr
+++ b/biology/subread/pkg-descr
@@ -16,5 +16,3 @@ next-gen sequencing read data including:
exactSNP: a SNP caller that discovers SNPs by testing signals against local
background noises.
-
-WWW: http://bioinf.wehi.edu.au/subread-package/
diff --git a/biology/tRNAscan-SE/Makefile b/biology/tRNAscan-SE/Makefile
index 95121657aa0c..c80daf7fb373 100644
--- a/biology/tRNAscan-SE/Makefile
+++ b/biology/tRNAscan-SE/Makefile
@@ -1,25 +1,24 @@
-# Created by: chuynh@biolateral.com.au
-
PORTNAME= tRNAscan-SE
-PORTVERSION= 2.0.5
+PORTVERSION= 2.0.11
CATEGORIES= biology
MASTER_SITES= http://trna.ucsc.edu/software/
DISTFILES= ${DISTNAME:tl}${EXTRACT_SUFX}
MAINTAINER= mzaki@e-mail.ne.jp
COMMENT= Searching for tRNA genes in genomic sequence
+WWW= http://lowelab.ucsc.edu/tRNAscan-SE/
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
RUN_DEPENDS= cmsearch:biology/infernal
-USES= perl5 autoreconf
-
-WRKSRC= ${WRKDIR}/${DISTNAME:C,\.[0-9]+$,,}
+USES= autoreconf perl5
GNU_CONFIGURE= yes
MAKE_JOBS_UNSAFE= yes
+WRKSRC= ${WRKDIR}/${DISTNAME:C,\.[0-9]+$,,}
+
.include <bsd.port.mk>
diff --git a/biology/tRNAscan-SE/distinfo b/biology/tRNAscan-SE/distinfo
index a57336279094..8adefb253c6a 100644
--- a/biology/tRNAscan-SE/distinfo
+++ b/biology/tRNAscan-SE/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1578666520
-SHA256 (trnascan-se-2.0.5.tar.gz) = 92917c2dbec31f9cebef88671418696f077768f00fb7fe483be1a6093b4e7e60
-SIZE (trnascan-se-2.0.5.tar.gz) = 4373181
+TIMESTAMP = 1665480264
+SHA256 (trnascan-se-2.0.11.tar.gz) = 29b74edd0f84ad88139035e119b66397c54a37428e0b61c66a1b3d4733adcd1e
+SIZE (trnascan-se-2.0.11.tar.gz) = 4430973
diff --git a/biology/tRNAscan-SE/files/patch-Makefile.am b/biology/tRNAscan-SE/files/patch-Makefile.am
index 7a28de19c450..13be4377e71e 100644
--- a/biology/tRNAscan-SE/files/patch-Makefile.am
+++ b/biology/tRNAscan-SE/files/patch-Makefile.am
@@ -22,8 +22,8 @@
# process scripts
# treat tRNAscan-SE.conf as a script since it's just easier
--dist_bin_SCRIPTS = bin/sstofa bin/fasta2gsi bin/EukHighConfidenceFilter tRNAscan-SE tRNAscan-SE.conf
-+dist_bin_SCRIPTS = bin/sstofa bin/fasta2gsi bin/EukHighConfidenceFilter tRNAscan-SE
+-dist_bin_SCRIPTS = bin/sstofa bin/fasta2gsi bin/EukHighConfidenceFilter bin/MitoHighConfidenceFilter tRNAscan-SE tRNAscan-SE.conf
++dist_bin_SCRIPTS = bin/sstofa bin/fasta2gsi bin/EukHighConfidenceFilter bin/MitoHighConfidenceFilter tRNAscan-SE
+sysconf_DATA = tRNAscan-SE.conf
# for a few files, need to substitute perl path, bin directory, and lib directory
# first, define a function for it
@@ -34,7 +34,7 @@
CLEANFILES = $(dist_bin_SCRIPTS) $(srcdir)/lib/*
-include_HEADERS = $(srcdir)/src/*.h
+#include_HEADERS = $(srcdir)/src/*.h
- EXTRA_DIST = lib src/sstofa.in src/fasta2gsi.in EukHighConfidenceFilter tRNAscan-SE.src tRNAscan-SE.conf.src
+ EXTRA_DIST = lib src/sstofa.in src/fasta2gsi.in EukHighConfidenceFilter MitoHighConfidenceFilter tRNAscan-SE.src tRNAscan-SE.conf.src
# then create build rules
@@ -61,16 +62,9 @@ bin/EukHighConfidenceFilter: EukHighConf
diff --git a/biology/tRNAscan-SE/pkg-descr b/biology/tRNAscan-SE/pkg-descr
index 4e6dafa3c065..1ed5b7acfb1d 100644
--- a/biology/tRNAscan-SE/pkg-descr
+++ b/biology/tRNAscan-SE/pkg-descr
@@ -6,5 +6,3 @@ strengths of three independent tRNA prediction programs by negotiating
the flow of information between them, performing a limited amount of
post-processing, and outputting the results in one of several
formats.
-
-WWW: http://lowelab.ucsc.edu/tRNAscan-SE/
diff --git a/biology/tRNAscan-SE/pkg-plist b/biology/tRNAscan-SE/pkg-plist
index bb3ebb6f07a9..6dbe93e6916f 100644
--- a/biology/tRNAscan-SE/pkg-plist
+++ b/biology/tRNAscan-SE/pkg-plist
@@ -1,4 +1,5 @@
bin/EukHighConfidenceFilter
+bin/MitoHighConfidenceFilter
bin/covels-SE
bin/coves-SE
bin/eufindtRNA
@@ -10,6 +11,7 @@ etc/tRNAscan-SE.conf
%%DATADIR%%/gcode/gcode.cilnuc
%%DATADIR%%/gcode/gcode.echdmito
%%DATADIR%%/gcode/gcode.invmito
+%%DATADIR%%/gcode/gcode.marsumito
%%DATADIR%%/gcode/gcode.othmito
%%DATADIR%%/gcode/gcode.vertmito
%%DATADIR%%/gcode/gcode.ystmito
@@ -86,6 +88,7 @@ etc/tRNAscan-SE.conf
%%DATADIR%%/models/TRNAinf-mito-vert-Arg.cm
%%DATADIR%%/models/TRNAinf-mito-vert-Asn.cm
%%DATADIR%%/models/TRNAinf-mito-vert-Asp.cm
+%%DATADIR%%/models/TRNAinf-mito-vert-Cys-no-darm.cm
%%DATADIR%%/models/TRNAinf-mito-vert-Cys.cm
%%DATADIR%%/models/TRNAinf-mito-vert-Gln.cm
%%DATADIR%%/models/TRNAinf-mito-vert-Glu.cm
@@ -116,6 +119,7 @@ etc/tRNAscan-SE.conf
%%DATADIR%%/tRNAscanSE/CM.pm
%%DATADIR%%/tRNAscanSE/CMscanResultFile.pm
%%DATADIR%%/tRNAscanSE/Configuration.pm
+%%DATADIR%%/tRNAscanSE/Constants.pm
%%DATADIR%%/tRNAscanSE/Eufind.pm
%%DATADIR%%/tRNAscanSE/FpScanResultFile.pm
%%DATADIR%%/tRNAscanSE/GeneticCode.pm
diff --git a/biology/tabixpp/Makefile b/biology/tabixpp/Makefile
index 688838e66527..861ad7992ba1 100644
--- a/biology/tabixpp/Makefile
+++ b/biology/tabixpp/Makefile
@@ -1,16 +1,19 @@
PORTNAME= tabixpp
DISTVERSIONPREFIX= v
DISTVERSION= 1.0.0-10
-PORTREVISION= 1
DISTVERSIONSUFFIX= -g6bbe690
+PORTREVISION= 2
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= C++ wrapper to tabix indexer
+WWW= https://github.com/ekg/tabixpp
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
+DEPRECATED= Dependent ports use git submodules now
+
LIB_DEPENDS= libhts.so:biology/htslib
USES= compiler:c11 localbase:ldflags
diff --git a/biology/tabixpp/pkg-descr b/biology/tabixpp/pkg-descr
index d92e83cdf94d..a1d8a78f73d3 100644
--- a/biology/tabixpp/pkg-descr
+++ b/biology/tabixpp/pkg-descr
@@ -1,5 +1,3 @@
This is a C++ wrapper around tabix project which abstracts some of the details
of opening and jumping in tabix-indexed files. Tabix is a generic indexer for
TAB-delimited genome position files.
-
-WWW: https://github.com/ekg/tabixpp
diff --git a/biology/taxonkit/Makefile b/biology/taxonkit/Makefile
index 305f8f97e3fc..4f09fafc7773 100644
--- a/biology/taxonkit/Makefile
+++ b/biology/taxonkit/Makefile
@@ -1,10 +1,12 @@
PORTNAME= taxonkit
DISTVERSIONPREFIX= v
-DISTVERSION= 0.8.0
+DISTVERSION= 0.16.0
+PORTREVISION= 2
CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= Practical and efficient NCBI taxonomy toolkit
+WWW= https://bioinf.shenwei.me/taxonkit/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/biology/taxonkit/distinfo b/biology/taxonkit/distinfo
index a85f4e8a9b3c..b8a68f4d81ef 100644
--- a/biology/taxonkit/distinfo
+++ b/biology/taxonkit/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1622065223
-SHA256 (go/biology_taxonkit/taxonkit-v0.8.0/v0.8.0.mod) = 9fb5139703523fd06f121e31ae420b1262ac437be1e25a0c8410c0ffa8291987
-SIZE (go/biology_taxonkit/taxonkit-v0.8.0/v0.8.0.mod) = 507
-SHA256 (go/biology_taxonkit/taxonkit-v0.8.0/v0.8.0.zip) = 087b47ad82fa3318aedb6954abdadc5d8637f07c43c4037e1b9b825214353833
-SIZE (go/biology_taxonkit/taxonkit-v0.8.0/v0.8.0.zip) = 1494298
+TIMESTAMP = 1709932817
+SHA256 (go/biology_taxonkit/taxonkit-v0.16.0/v0.16.0.mod) = 958cf5808c5e89475095dbcfd5796c9c4d44401abf325dd9e7f1a4bdb81d01b0
+SIZE (go/biology_taxonkit/taxonkit-v0.16.0/v0.16.0.mod) = 1069
+SHA256 (go/biology_taxonkit/taxonkit-v0.16.0/v0.16.0.zip) = 4e2283ae0decbcecf26abc8c3fef80e8a9dfc53934095f493b321d6e1ff4130a
+SIZE (go/biology_taxonkit/taxonkit-v0.16.0/v0.16.0.zip) = 1604675
diff --git a/biology/taxonkit/pkg-descr b/biology/taxonkit/pkg-descr
index 4bec18ee74e9..5635706cc887 100644
--- a/biology/taxonkit/pkg-descr
+++ b/biology/taxonkit/pkg-descr
@@ -6,5 +6,3 @@ TaxonKit allows to:
* filter TaxIds by taxonomic rank range
* compute lowest common ancestor (LCA) for TaxIds
* create TaxId changelog from dump archives
-
-WWW: https://bioinf.shenwei.me/taxonkit/
diff --git a/biology/treekin/Makefile b/biology/treekin/Makefile
index 333043189b1c..681643f6e49c 100644
--- a/biology/treekin/Makefile
+++ b/biology/treekin/Makefile
@@ -1,12 +1,13 @@
PORTNAME= treekin
DISTVERSION= 0.5.1
-PORTREVISION= 3
+PORTREVISION= 6
CATEGORIES= biology
MASTER_SITES= https://www.tbi.univie.ac.at/RNA/packages/source/
DISTNAME= Treekin-${DISTVERSION}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Efficient computation of RNA folding dynamics
+WWW= https://www.tbi.univie.ac.at/RNA/Treekin/
LICENSE= LatticeLib
LICENSE_NAME= LatticeLib Disclaimer and Copyright
@@ -19,10 +20,11 @@ USES= blaslapack:netlib compiler:c++11-lang fortran gmake \
localbase:ldflags
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
BINARY_ALIAS= make=${GMAKE}
PLIST_FILES= bin/${PORTNAME} \
- man/man1/${PORTNAME}.1.gz
+ share/man/man1/${PORTNAME}.1.gz
.include <bsd.port.mk>
diff --git a/biology/treekin/files/patch-src_calcpp.h b/biology/treekin/files/patch-src_calcpp.h
index a4a06105feb8..ce61918e34e0 100644
--- a/biology/treekin/files/patch-src_calcpp.h
+++ b/biology/treekin/files/patch-src_calcpp.h
@@ -1,3 +1,5 @@
+- patch for latest breaking Lapack API changes, see https://github.com/Reference-LAPACK/lapack/issues/604#issuecomment-944069793
+
--- src/calcpp.h.orig 2019-06-13 14:11:19 UTC
+++ src/calcpp.h
@@ -49,6 +49,9 @@
@@ -10,3 +12,23 @@
# include <lapacke/lapacke.h>
# else
# ifdef HAVE_OPENBLAS_LAPACKE_H
+@@ -311,7 +314,8 @@ Calccpp::Mx_Dsyevx(const char *jobz,
+ /*default standard lapack */
+ ::dsyevx_((char *)jobz, (char *)range, (char *)uplo, n, (double *)a, lda, (double *)vl,
+ (double *)vu, il, iu, (double *)abstol, m, (double *)w,
+- (double *)z, ldz, (double *)work, lwork, iwork, ifail, info);
++ (double *)z, ldz, (double *)work, lwork, iwork, ifail, info,
++ int(0) /*jobz_int*/, int(0) /*range_int*/, int(0) /*uplo_int*/); // "int" after the "info" parameter for each "char*" argument in the list
+ break;
+ }
+ }
+@@ -367,7 +371,8 @@ Calccpp::Mx_Dgeevx(const char *balanc,
+ (double *)wr, (double *)wi, (double *)vl, ldvl,
+ (double *)vr, ldvr, ilo, ihi, (double *)scale, (double *)abnrm, (double *)rconde,
+ (double *)rcondv, (double *)work,
+- lwork, iwork, info);
++ lwork, iwork, info,
++ int(0) /*balanc_int*/, int(0) /*jobvl_int*/, int(0) /*jobvr_int*/, int(0) /*sense_int*/); // "int" after the "info" parameter for each "char*" argument in the list
+ break;
+ }
+ }
diff --git a/biology/treekin/pkg-descr b/biology/treekin/pkg-descr
index dbe710e48068..7a7ed4e75806 100644
--- a/biology/treekin/pkg-descr
+++ b/biology/treekin/pkg-descr
@@ -1,5 +1,3 @@
treekin computes folding dynamics on coarse grained version of an energy
landscape, where all conformations belonging to the same local minimum have
been contracted into a single macro-state.
-
-WWW: https://www.tbi.univie.ac.at/RNA/Treekin/
diff --git a/biology/treepuzzle/Makefile b/biology/treepuzzle/Makefile
index 32e003d8539a..a15ddeaca6dc 100644
--- a/biology/treepuzzle/Makefile
+++ b/biology/treepuzzle/Makefile
@@ -1,5 +1,3 @@
-# Created by: lentferj
-
PORTNAME= treepuzzle
PORTVERSION= 5.2
CATEGORIES= biology
@@ -8,6 +6,7 @@ DISTNAME= tree-puzzle-${PORTVERSION}
MAINTAINER= jan.lentfer@web.de
COMMENT= Maximum likelihood phylogeny reconstruction using quartets
+WWW= http://www.tree-puzzle.de
GNU_CONFIGURE= yes
PLIST_FILES= bin/puzzle
diff --git a/biology/treepuzzle/pkg-descr b/biology/treepuzzle/pkg-descr
index 1e51ea40d926..b13cc9d1a6af 100644
--- a/biology/treepuzzle/pkg-descr
+++ b/biology/treepuzzle/pkg-descr
@@ -14,5 +14,3 @@ TREE-PUZZLE are TN, HKY, F84, SH for nucleotides, Dayhoff, JTT, mtREV24, VT,
WAG, BLOSUM 62 for amino acids, and F81 for two-state data. Rate heterogeneity
is modeled by a discrete Gamma distribution and by allowing invariable sites.
The corresponding parameters can be inferred from the data set.
-
-WWW: http://www.tree-puzzle.de
diff --git a/biology/trimadap/Makefile b/biology/trimadap/Makefile
index b709d3261e52..800b2a18d6fe 100644
--- a/biology/trimadap/Makefile
+++ b/biology/trimadap/Makefile
@@ -1,15 +1,17 @@
PORTNAME= trimadap
DISTVERSION= 0.1-3
DISTVERSIONSUFFIX= -gddfef21
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Trim adapter sequences from Illumina data using heuristic rules
+WWW= https://github.com/lh3/trimadap
LICENSE= GPLv2
ONLY_FOR_ARCHS= amd64 i386 powerpc64le
-ONLY_FOR_ARCHS_REASON= Hard-coded SSE instructions
+ONLY_FOR_ARCHS_REASON= uses hard-coded SSE instructions
USE_GITHUB= yes
GH_ACCOUNT= lh3
@@ -17,13 +19,7 @@ GH_ACCOUNT= lh3
PLIST_FILES= bin/trimadap-mt
CFLAGS_i386= -msse2
-
-.include <bsd.port.options.mk>
-
-.if ${ARCH} == powerpc64le
-CFLAGS+= -DNO_WARN_X86_INTRINSICS
-USES= compiler:gcc-c++11-lib
-.endif
+CFLAGS_powerpc64le= -DNO_WARN_X86_INTRINSICS
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/trimadap-mt ${STAGEDIR}${PREFIX}/bin
diff --git a/biology/trimadap/pkg-descr b/biology/trimadap/pkg-descr
index f872dd7b2215..bf1fb27adc00 100644
--- a/biology/trimadap/pkg-descr
+++ b/biology/trimadap/pkg-descr
@@ -4,5 +4,3 @@ adapter sequences with a few heuristic rules which can be found in the
ta_trim1() function in trimadap-mt.c. The default adapters it uses are included
in illumina.txt. These are typical Illumina adapters from paired-end
sequencing.
-
-WWW: https://github.com/lh3/trimadap
diff --git a/biology/trimmomatic/Makefile b/biology/trimmomatic/Makefile
index 8f423c8eb006..e382fe63dbd2 100644
--- a/biology/trimmomatic/Makefile
+++ b/biology/trimmomatic/Makefile
@@ -1,13 +1,12 @@
-# Created by: Dan Siercks <dsiercks@uwm.edu>
-
PORTNAME= trimmomatic
DISTVERSION= 0.39
CATEGORIES= biology java
MASTER_SITES= http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/
DISTNAME= Trimmomatic-${PORTVERSION}
-MAINTAINER= jwb@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Flexible read trimming tool for Illumina NGS data
+WWW= http://www.usadellab.org/cms/?page=trimmomatic
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/biology/trimmomatic/pkg-descr b/biology/trimmomatic/pkg-descr
index 48c589bd5abd..acf81906fae5 100644
--- a/biology/trimmomatic/pkg-descr
+++ b/biology/trimmomatic/pkg-descr
@@ -1,4 +1,2 @@
Trimmomatic performs a variety of useful trimming tasks for illumina
NGS paired-end and single ended data.
-
-WWW: http://www.usadellab.org/cms/?page=trimmomatic
diff --git a/biology/ucsc-userapps/Makefile b/biology/ucsc-userapps/Makefile
index c7e44cc879ed..3621160d0594 100644
--- a/biology/ucsc-userapps/Makefile
+++ b/biology/ucsc-userapps/Makefile
@@ -1,13 +1,13 @@
-# Created by: J. Bacon <jwb@FreeBSD.org>
-
PORTNAME= ucsc-userapps
DISTVERSION= 414
+PORTREVISION= 1
CATEGORIES= biology perl5 python
MASTER_SITES= http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/
DISTNAME= userApps.v${PORTVERSION}.src
MAINTAINER= jwb@FreeBSD.org
COMMENT= Command line tools from the UCSC Genome Browser project
+WWW= https://hgdownload.cse.ucsc.edu/admin/exe/
LICENSE= UCSC-GB
LICENSE_NAME= UCSC Genome Browser License
@@ -18,15 +18,14 @@ LICENSE_TEXT= Some tools installed by this port require a license for\
LICENSE_PERMS= no-dist-mirror no-dist-sell no-pkg-mirror no-pkg-sell
ONLY_FOR_ARCHS= amd64
-ONLY_FOR_ARCHS_REASON= _mm_popcnt_u64
+ONLY_FOR_ARCHS_REASON= uses _mm_popcnt_u64() function
BUILD_DEPENDS= bash:shells/bash
LIB_DEPENDS= libiconv.so:converters/libiconv \
- libmysqlclient.so:databases/mysql57-client \
libpng.so:graphics/png
RUN_DEPENDS= bash:shells/bash
-USES= gmake localbase:ldflags shebangfix perl5 python:3.6+ ssl tar:tgz
+USES= gmake localbase:ldflags mysql shebangfix perl5 python ssl tar:tgz
RESTRICTED= Redistribution is limited, see license
@@ -57,6 +56,7 @@ do-build:
@(cd ${WRKSRC}/kent/src/jkOwnLib && ${DO_MAKE_BUILD})
@(cd ${WRKSRC}/kent/src/hg/lib && ${DO_MAKE_BUILD})
@(cd ${WRKSRC}/kent/src/utils && ${DO_MAKE_BUILD})
+ ${CC} -DUCSC_PREFIX="\"${PREFIX}/userapps\"" ${FILESDIR}/kent.c -o ${WRKDIR}/kent
do-install:
@${MKDIR} ${WRKSRC}/scripts ${WRKSRC}/binaries
@@ -71,5 +71,6 @@ do-install:
${STAGEDIR}${PREFIX}/userapps/bin
${INSTALL_SCRIPT} ${WRKDIR}/ucsc-shell \
${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKDIR}/kent ${STAGEDIR}${LOCALBASE}/bin
.include <bsd.port.mk>
diff --git a/biology/ucsc-userapps/files/kent.c b/biology/ucsc-userapps/files/kent.c
new file mode 100644
index 000000000000..f1c8887068f5
--- /dev/null
+++ b/biology/ucsc-userapps/files/kent.c
@@ -0,0 +1,59 @@
+/***************************************************************************
+ * Description:
+ * Wrapper to turn ucsc kent commands into subcommands. The kent suite
+ * contains executables that conflict with multiple other software
+ * packages and therefore cannot be safely installed directly under a
+ * standard prefix. This wrapper can be installed under the standard
+ * PATH and used to to execute kent commands installed under a
+ * private prefix, without altering PATH, activating a special
+ * environment, opening a container, etc. This sub-command paradigm
+ * is already familiar to bioinformaticians thanks to other suites
+ * like samtools, bedtools, etc.
+ *
+ * Example:
+ *
+ * kent bigWigToBedGraph args
+ *
+ * instead of one of the following:
+ *
+ * prefix/bin/bigWigToBedGraph args
+ *
+ * env PATH=prefix/bin:$PATH bigWigToBedGraph args
+ *
+ * conda activate kent
+ * bigWigToBedGraph args
+ *
+ * Arguments:
+ * The full kent utils command you would use if it were in PATH.
+ *
+ * Compile with UCSC_PREFIX set to the parent of the bin directory
+ * containing the kent binaries.
+ *
+ * History:
+ * Date Name Modification
+ * 2021-09-13 Jason Bacon Begin
+ ***************************************************************************/
+
+#include <stdio.h>
+#include <sysexits.h>
+#include <limits.h>
+#include <unistd.h>
+
+#ifndef UCSC_PREFIX
+#define UCSC_PREFIX "/usr/local/userapps"
+#endif
+
+int main(int argc,char *argv[])
+
+{
+ char cmd[PATH_MAX + 1];
+
+ if ( argc < 2 )
+ {
+ fprintf(stderr, "Usage: %s UCSC-userapps-command [args]\n", argv[0]);
+ return EX_USAGE;
+ }
+
+ snprintf(cmd, PATH_MAX, "%s/bin/%s", UCSC_PREFIX, argv[1]);
+ execv(cmd, argv + 1);
+}
diff --git a/biology/ucsc-userapps/pkg-descr b/biology/ucsc-userapps/pkg-descr
index d2d01a997ea9..05129f558f62 100644
--- a/biology/ucsc-userapps/pkg-descr
+++ b/biology/ucsc-userapps/pkg-descr
@@ -4,5 +4,3 @@ tools. However, the license information at https://genome.ucsc.edu/license/
is not entirely clear and we may add non-free utilities in the future.
Contact UCSC if you are using this port for commercial purposes.
-
-WWW: http://hgdownload.cse.ucsc.edu/admin/exe/
diff --git a/biology/ucsc-userapps/pkg-plist b/biology/ucsc-userapps/pkg-plist
index e8304be64af2..f8605fc771d0 100644
--- a/biology/ucsc-userapps/pkg-plist
+++ b/biology/ucsc-userapps/pkg-plist
@@ -1,3 +1,4 @@
+bin/kent
bin/ucsc-shell
userapps/bin/aNotB
userapps/bin/addCols
diff --git a/biology/ugene/Makefile b/biology/ugene/Makefile
index 52036dcf0c70..b3b1468f1a9d 100644
--- a/biology/ugene/Makefile
+++ b/biology/ugene/Makefile
@@ -1,17 +1,18 @@
-# Created by: Hannes Hauswedell <h2+fbsdports@fsfe.org>
-
PORTNAME= ugene
-PORTVERSION= 40.0
+PORTVERSION= 40.1
+PORTREVISION= 1
CATEGORIES= biology science
MAINTAINER= h2+fbsdports@fsfe.org
COMMENT= Integrated bioinformatics toolkit
+WWW= https://ugene.net/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-BROKEN_aarch64= Fails to build: invokes x86 asm
-BROKEN_riscv64= Fails to build: invokes x86 asm
+BROKEN_aarch64= fails to build: invokes x86 asm
+BROKEN_armv7= fails to build: src/SendReportDialog.cpp:435:20: error: invalid output constraint '=a' in asm, see https://github.com/ugeneunipro/ugene/issues/919
+BROKEN_riscv64= fails to build: invokes x86 asm
RUN_DEPENDS= bash:shells/bash
@@ -20,14 +21,14 @@ GH_ACCOUNT= ugeneunipro
USES= desktop-file-utils gl qmake qt:5 shared-mime-info sqlite xorg
USE_GL= gl glu
-USE_QT= buildtools_build linguisttools_build \
+USE_QT= buildtools:build linguisttools:build \
core gui network opengl printsupport scripttools script \
sql svg testlib widgets xml \
- imageformats_run
+ imageformats:run
USE_XORG= x11 xtst
QMAKE_ARGS= INSTALL_PREFIX="${PREFIX}" UGENE_INSTALL_DATA="${DATADIR}" \
- INSTALL_MANDIR="${MAN1PREFIX}/man" \
+ INSTALL_MANDIR="${PREFIX}/share/man" \
UGENE_LRELEASE="${LRELEASE}" UGENE_LUPDATE="${LUPDATE}" \
UGENE_USE_BUNDLED_SQLITE=0
ALL_TARGET= release
diff --git a/biology/ugene/distinfo b/biology/ugene/distinfo
index 645944ea4647..5eff6f289b9d 100644
--- a/biology/ugene/distinfo
+++ b/biology/ugene/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1631110733
-SHA256 (ugeneunipro-ugene-40.0_GH0.tar.gz) = 7a2f06141d571f45ce61e68af0a2456a3b3892b2d97104ec7ddfd1113b447c0f
-SIZE (ugeneunipro-ugene-40.0_GH0.tar.gz) = 28789225
+TIMESTAMP = 1633934483
+SHA256 (ugeneunipro-ugene-40.1_GH0.tar.gz) = 92b954449f697957c6b6b2da803ba6ae9ad546f44c584bbb2ab8600ac8b45a6e
+SIZE (ugeneunipro-ugene-40.1_GH0.tar.gz) = 28791083
diff --git a/biology/ugene/pkg-descr b/biology/ugene/pkg-descr
index 5e5f90fbac75..46c210fb96d9 100644
--- a/biology/ugene/pkg-descr
+++ b/biology/ugene/pkg-descr
@@ -8,5 +8,3 @@ retrieval of data from remote data sources. It provides visualization
modules for biological objects such as annotated genome sequences, Next
Generation Sequencing (NGS) assembly data, multiple sequence alignments,
phylogenetic trees, and 3D structures.
-
-WWW: http://ugene.net/
diff --git a/biology/ugene/pkg-plist b/biology/ugene/pkg-plist
index 1e72bae02143..10133c926025 100644
--- a/biology/ugene/pkg-plist
+++ b/biology/ugene/pkg-plist
@@ -152,7 +152,7 @@ lib/ugene/ugene
lib/ugene/ugenecl
lib/ugene/ugenem
lib/ugene/ugeneui
-man/man1/ugene.1.gz
+share/man/man1/ugene.1.gz
share/applications/ugene.desktop
share/icons/hicolor/32x32/mimetypes/application-x-ugene-ext.png
share/mime/packages/application-x-ugene.xml
diff --git a/biology/unikmer/Makefile b/biology/unikmer/Makefile
index 2a0abf953a45..5dd98ab42bb3 100644
--- a/biology/unikmer/Makefile
+++ b/biology/unikmer/Makefile
@@ -1,10 +1,12 @@
PORTNAME= unikmer
DISTVERSIONPREFIX= v
-DISTVERSION= 0.18.4
+DISTVERSION= 0.19.1
+PORTREVISION= 12
CATEGORIES= biology
MAINTAINER= yuri@FreeBSD.org
COMMENT= Toolkit for nucleic acid k-mer analysis, set operations on k-mers
+WWW= https://github.com/shenwei356/unikmer
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -12,6 +14,8 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
TEST_DEPENDS= csvtk:science/csvtk
USES= go:modules perl5
+USE_GITHUB= nodefault
+GH_TUPLE= golang:sys:v0.6.0:sys
USE_PERL5= test
GO_MODULE= github.com/shenwei356/unikmer
@@ -19,11 +23,15 @@ GO_TARGET= ./${PORTNAME}
PLIST_FILES= bin/${PORTNAME}
+pre-patch:
+ ${RM} -r ${WRKSRC}/vendor/golang.org/x/sys
+ ${LN} -s ${WRKDIR}/sys-* ${WRKSRC}/vendor/golang.org/x/sys
+
do-test: # from the benchmark section in README
@cd ${WRKSRC} && \
${GO_CMD} test . -bench=Bench* -benchmem \
| ${GREP} Bench \
- | perl -pe 's/\s\s+/\t/g' \
+ | ${PERL} -pe 's/\s\s+/\t/g' \
| csvtk cut -Ht -f 1,3-5 \
| csvtk add-header -t -n test,time,memory,allocs \
| csvtk pretty -t -r
diff --git a/biology/unikmer/distinfo b/biology/unikmer/distinfo
index fa2ec4660e14..0c294c0ed48c 100644
--- a/biology/unikmer/distinfo
+++ b/biology/unikmer/distinfo
@@ -1,5 +1,7 @@
-TIMESTAMP = 1629820531
-SHA256 (go/biology_unikmer/unikmer-v0.18.4/v0.18.4.mod) = 956b67a0534170f141452b9756e629f91eb3fdd5dcb5fe02ad20b14cd3dceafa
-SIZE (go/biology_unikmer/unikmer-v0.18.4/v0.18.4.mod) = 881
-SHA256 (go/biology_unikmer/unikmer-v0.18.4/v0.18.4.zip) = cb2a3d4eb307b1a421243eeb9d7db217d575c0761998565a980703eeea1e19ce
-SIZE (go/biology_unikmer/unikmer-v0.18.4/v0.18.4.zip) = 4271857
+TIMESTAMP = 1679318811
+SHA256 (go/biology_unikmer/unikmer-v0.19.1/v0.19.1.mod) = 7b62d5cd96cb392e6b06bec08dc810fbe1dda7a2201e95e2ff04a3c631048347
+SIZE (go/biology_unikmer/unikmer-v0.19.1/v0.19.1.mod) = 1359
+SHA256 (go/biology_unikmer/unikmer-v0.19.1/v0.19.1.zip) = d2a25e1fb9eb1701de64f843de9653adf02bf343324c236d08f5d510d6c8e3d2
+SIZE (go/biology_unikmer/unikmer-v0.19.1/v0.19.1.zip) = 4286117
+SHA256 (go/biology_unikmer/unikmer-v0.19.1/golang-sys-v0.6.0_GH0.tar.gz) = b4f6d17c7a128f76169964b437cb66b3f2dbf9a33361928ec19dfecf7b03fc54
+SIZE (go/biology_unikmer/unikmer-v0.19.1/golang-sys-v0.6.0_GH0.tar.gz) = 1434234
diff --git a/biology/unikmer/pkg-descr b/biology/unikmer/pkg-descr
index 7ae41bf53489..07f1ffcf165a 100644
--- a/biology/unikmer/pkg-descr
+++ b/biology/unikmer/pkg-descr
@@ -8,5 +8,3 @@ serialized in binary file with extension .unik.
TaxIds can be assigned when counting k-mers from genome sequences, and LCA
(Lowest Common Ancestor) is computed during set opertions including computing
union, intersecton, set difference, unique and repeated k-mers.
-
-WWW: https://github.com/shenwei356/unikmer
diff --git a/biology/vcf-split/Makefile b/biology/vcf-split/Makefile
index 41f081c2f318..1fd537ace1ab 100644
--- a/biology/vcf-split/Makefile
+++ b/biology/vcf-split/Makefile
@@ -1,10 +1,12 @@
PORTNAME= vcf-split
-DISTVERSION= 0.1.2-14
-DISTVERSIONSUFFIX= -gbc2eba0
+DISTVERSION= 0.1.5-10
+DISTVERSIONSUFFIX= -g0f2fd0a
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Split a multi-sample VCF into single-sample VCFs
+WWW= https://github.com/auerlab/vcf-split
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -14,7 +16,8 @@ LIB_DEPENDS= libbiolibc.so:biology/biolibc libxtend.so:devel/libxtend
USE_GITHUB= yes
GH_ACCOUNT= auerlab
-PLIST_FILES= bin/vcf-split man/man1/vcf-split.1.gz
+MAKE_ENV= VERSION=${PORTVERSION} MANPREFIX=${PREFIX}/share
+PLIST_FILES= bin/vcf-split share/man/man1/vcf-split.1.gz
pre-build:
(cd ${WRKSRC} && ${MAKE} LOCALBASE=${LOCALBASE} depend)
diff --git a/biology/vcf-split/distinfo b/biology/vcf-split/distinfo
index 74f5db54601c..5bfc16e38898 100644
--- a/biology/vcf-split/distinfo
+++ b/biology/vcf-split/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1628881447
-SHA256 (auerlab-vcf-split-0.1.2-14-gbc2eba0_GH0.tar.gz) = c45ea58da4761a772cb8e18469cc7f3933eec438f260c11cba4e436bc5a08180
-SIZE (auerlab-vcf-split-0.1.2-14-gbc2eba0_GH0.tar.gz) = 16173
+TIMESTAMP = 1694019194
+SHA256 (auerlab-vcf-split-0.1.5-10-g0f2fd0a_GH0.tar.gz) = d29d14a233ddd0bbaf1ea33179aaff073b4e991ca96b4572f7b72a00cdea94f2
+SIZE (auerlab-vcf-split-0.1.5-10-g0f2fd0a_GH0.tar.gz) = 22576
diff --git a/biology/vcf-split/pkg-descr b/biology/vcf-split/pkg-descr
index 689705295fcb..37f7d39c7c92 100644
--- a/biology/vcf-split/pkg-descr
+++ b/biology/vcf-split/pkg-descr
@@ -4,5 +4,3 @@ with bcftools takes two days, so extracting the 137,977 samples one at a time
or using thousands of parallel readers of the same file is impractical.
Vcf-split solves this by generating thousands of single-sample outputs during
a single sweep through the multi-sample input.
-
-WWW: https://github.com/auerlab/vcf-split
diff --git a/biology/vcf2hap/Makefile b/biology/vcf2hap/Makefile
index ea20dffeaf31..2126e459f7e6 100644
--- a/biology/vcf2hap/Makefile
+++ b/biology/vcf2hap/Makefile
@@ -1,10 +1,12 @@
PORTNAME= vcf2hap
-DISTVERSION= 0.1.3-12
-DISTVERSIONSUFFIX= -g3626f5a
+DISTVERSION= 0.1.6-7
+DISTVERSIONSUFFIX= -gfda1765
+PORTREVISION= 1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Generate .hap file from VCF for haplohseq
+WWW= https://github.com/auerlab/vcf2hap
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -14,7 +16,8 @@ LIB_DEPENDS= libbiolibc.so:biology/biolibc libxtend.so:devel/libxtend
USE_GITHUB= yes
GH_ACCOUNT= auerlab
-PLIST_FILES= bin/vcf2hap man/man1/vcf2hap.1.gz
+MAKE_ENV= VERSION=${PORTVERSION} MANPREFIX=${PREFIX}/share
+PLIST_FILES= bin/vcf2hap share/man/man1/vcf2hap.1.gz
pre-build:
(cd ${WRKSRC} && ${MAKE} LOCALBASE=${LOCALBASE} depend)
diff --git a/biology/vcf2hap/distinfo b/biology/vcf2hap/distinfo
index 40273b580e77..4b3a003d0f9b 100644
--- a/biology/vcf2hap/distinfo
+++ b/biology/vcf2hap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1628885144
-SHA256 (auerlab-vcf2hap-0.1.3-12-g3626f5a_GH0.tar.gz) = 859f6e34ed1b5681bb611fa23bc9cd653622fef6e8443f8e753fac5793db4416
-SIZE (auerlab-vcf2hap-0.1.3-12-g3626f5a_GH0.tar.gz) = 200612
+TIMESTAMP = 1694019273
+SHA256 (auerlab-vcf2hap-0.1.6-7-gfda1765_GH0.tar.gz) = 614f4b3c2b1bb29bf52ed0eb3a6df64e8de9e16e651b503e10b9562193f308de
+SIZE (auerlab-vcf2hap-0.1.6-7-gfda1765_GH0.tar.gz) = 201240
diff --git a/biology/vcf2hap/pkg-descr b/biology/vcf2hap/pkg-descr
index ef51e068d975..0d3f7bc3d893 100644
--- a/biology/vcf2hap/pkg-descr
+++ b/biology/vcf2hap/pkg-descr
@@ -1,7 +1,4 @@
vcf2hap is a simple tool for generating a .hap file from a VCF. The .hap file
is required by haplohseq.
-
vcf2hap is extremely fast and requires a trivial amount of memory regardless of
the size of the VCF file.
-
-WWW: https://github.com/auerlab/vcf2hap
diff --git a/biology/vcflib/Makefile b/biology/vcflib/Makefile
index ce0cdd503e41..47503953ed1f 100644
--- a/biology/vcflib/Makefile
+++ b/biology/vcflib/Makefile
@@ -1,56 +1,61 @@
PORTNAME= vcflib
DISTVERSIONPREFIX= v
-DISTVERSION= 1.0.0-rc1-130
-PORTREVISION= 1
-DISTVERSIONSUFFIX= -g7e3d806
+DISTVERSION= 1.0.10
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= C++ library and CLI tools for parsing and manipulating VCF files
+WWW= https://github.com/vcflib/vcflib
LICENSE= MIT
-BROKEN_aarch64= fails to compile: mmintrin.h:47:5: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
-BROKEN_riscv64= fails to compile: mmintrin.h:47:5: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
+NOT_FOR_ARCHS= armv6 armv7
+NOT_FOR_ARCHS_REASON= requires OpenMP which is not supported
+BUILD_DEPENDS= pybind11>0:devel/pybind11
LIB_DEPENDS= libhts.so:biology/htslib \
- libtabix.so:biology/tabixpp \
- libsw.so:biology/smithwaterman
-COMMON_DEPENDS= fastahack:biology/fastahack \
- filevercmp:sysutils/filevercmp \
- fsom:science/fsom \
- multichoose>=1.0.3:math/multichoose \
- interval_tree_test:math/intervaltree
-BUILD_DEPENDS= ${COMMON_DEPENDS}
-RUN_DEPENDS= ${COMMON_DEPENDS}
-
-USES= gmake shebangfix
-USE_LDCONFIG= yes
+ libcurl.so:ftp/curl \
+ libwfa2.so:biology/wfa2-lib
+
+USES= cmake:noninja gmake localbase:ldflags pkgconfig python shebangfix
USE_GITHUB= yes
+
GH_ACCOUNT= ekg
+GH_TUPLE= ekg:fastahack:bb33265:fastahack/contrib/fastahack \
+ ekg:filevercmp:df20dcc:filevercmp/contrib/filevercmp \
+ ekg:fsom:56695e1:fsom/contrib/fsom \
+ ekg:intervaltree:aa59377:intervaltree/contrib/intervaltree \
+ edawson:libVCFH:44b6580:libVCFH/contrib/libVCFH \
+ ekg:multichoose:e1f94ae:multichoose/contrib/multichoose \
+ ekg:smithwaterman:2610e25:smithwaterman/contrib/smithwaterman \
+ simd-everywhere:simde-no-tests:9af03cd:simd/src/simde \
+ vcflib:tabixpp:v1.1.2:tabixpp/contrib/tabixpp
+SHEBANG_FILES= scripts/*
+
+# FIXME: Add Zig option + lang/zig dep
+OPTIONS_DEFINE= ZIG
+OPTIONS_DEFAULT=
+OPTIONS_SUB= yes
-CXXFLAGS+= -I${LOCALBASE}/include/smithwaterman \
- -I${LOCALBASE}/include/multichoose \
- -I${LOCALBASE}/include/filevercmp \
- -I${LOCALBASE}/include/fastahack \
- -I${LOCALBASE}/include/intervaltree \
- -DVERSION='\"${PORTVERSION}\"'
+ZIG_DESC= Include Zig language support
+
+ZIG_BUILD_DEPENDS= zig010>0:lang/zig010
+
+CMAKE_ARGS+= -DWFA_GITMODULE=OFF -DWFALIB=${LOCALBASE}/lib/libwfa2.so
+ZIG_CMAKE_OFF= -DZIG=OFF
# Clang and GCC disable sse2 by default on i386, but it's required for vcflib
CFLAGS_i386= -msse2
-MAKEFILE= ${FILESDIR}/Makefile.external-libs
-INSTALL_TARGET= install-strip
+# filevercmp is deprecated. Remove conflict when the port is removed.
+CONFLICTS_INSTALL= filevercmp libdisorder # include/disorder.h include/filevercmp.h include/pdflib.hpp
.include <bsd.port.options.mk>
-.if ${ARCH} == powerpc64le
-CFLAGS+= -DNO_WARN_X86_INTRINSICS
-USES+= compiler:gcc-c++11-lib
+post-stage:
+ ${MV} ${STAGEDIR}${PREFIX}/bin/libvcflib.a ${STAGEDIR}${PREFIX}/lib
+.if ${PORT_OPTIONS:MZIG}
+ ${MV} ${STAGEDIR}/usr/lib/libzig.a ${STAGEDIR}${PREFIX}/lib
.endif
-post-install:
- ${RLN} ${STAGEDIR}${PREFIX}/lib/libvcflib.so.1 \
- ${STAGEDIR}${PREFIX}/lib/libvcflib.so
-
.include <bsd.port.mk>
diff --git a/biology/vcflib/distinfo b/biology/vcflib/distinfo
index 985916a8d85b..e4d3f2180621 100644
--- a/biology/vcflib/distinfo
+++ b/biology/vcflib/distinfo
@@ -1,3 +1,21 @@
-TIMESTAMP = 1523243322
-SHA256 (ekg-vcflib-v1.0.0-rc1-130-g7e3d806_GH0.tar.gz) = 8ec24354dfc7a87c011c865ab75f3eb72646768ab9cb6eff4263e69763338478
-SIZE (ekg-vcflib-v1.0.0-rc1-130-g7e3d806_GH0.tar.gz) = 20138644
+TIMESTAMP = 1713703391
+SHA256 (ekg-vcflib-v1.0.10_GH0.tar.gz) = 6f7f366555e5b191a509bda6d7a2078825827458ba7e9922094c4c1ebb48e693
+SIZE (ekg-vcflib-v1.0.10_GH0.tar.gz) = 23539349
+SHA256 (ekg-fastahack-bb33265_GH0.tar.gz) = f671609e1a8d7cacb00065bf307c90c46116af8e5cea939b06edcdbcc6d4bc2a
+SIZE (ekg-fastahack-bb33265_GH0.tar.gz) = 18760
+SHA256 (ekg-filevercmp-df20dcc_GH0.tar.gz) = d34bec614be638e05eb6fa419c936b9e7de58d50b1a096a5ca02aadb7db6b059
+SIZE (ekg-filevercmp-df20dcc_GH0.tar.gz) = 3113
+SHA256 (ekg-fsom-56695e1_GH0.tar.gz) = d1cc62bf72a75b74149336799fcbe237eaa662161fb0cfdac5ba6d5825248180
+SIZE (ekg-fsom-56695e1_GH0.tar.gz) = 9767
+SHA256 (ekg-intervaltree-aa59377_GH0.tar.gz) = 8d42eee645bcb196da03077c6f567f61529add3a581bb98d85f5c9cfe4b50774
+SIZE (ekg-intervaltree-aa59377_GH0.tar.gz) = 72545
+SHA256 (edawson-libVCFH-44b6580_GH0.tar.gz) = 3c90a6c5f1fbe88bedb4a0dcdc1e55dfa51c58f2acd9b31bceead226ab84785c
+SIZE (edawson-libVCFH-44b6580_GH0.tar.gz) = 2956
+SHA256 (ekg-multichoose-e1f94ae_GH0.tar.gz) = 78ffaa36b6f82685230a3d263c9b556ab55a97196036764473f2b1ee66997ca8
+SIZE (ekg-multichoose-e1f94ae_GH0.tar.gz) = 6585
+SHA256 (ekg-smithwaterman-2610e25_GH0.tar.gz) = f907becb50945d0858d3bf7a64959905712244cbe8455b35ef1102ff893173ce
+SIZE (ekg-smithwaterman-2610e25_GH0.tar.gz) = 39160
+SHA256 (simd-everywhere-simde-no-tests-9af03cd_GH0.tar.gz) = 99dcb7d6a2e1dc3f51401ff16eaa5dde93c793e13b514ea9cae4d9819144b8fe
+SIZE (simd-everywhere-simde-no-tests-9af03cd_GH0.tar.gz) = 572867
+SHA256 (vcflib-tabixpp-v1.1.2_GH0.tar.gz) = c850299c3c495221818a85c9205c60185c8ed9468d5ec2ed034470bb852229dc
+SIZE (vcflib-tabixpp-v1.1.2_GH0.tar.gz) = 6962
diff --git a/biology/vcflib/files/Makefile.external-libs b/biology/vcflib/files/Makefile.external-libs
deleted file mode 100644
index ae030a517b44..000000000000
--- a/biology/vcflib/files/Makefile.external-libs
+++ /dev/null
@@ -1,207 +0,0 @@
-#OBJ_DIR = ./
-HEADERS = src/Variant.h \
- src/split.h \
- src/pdflib.hpp \
- src/var.hpp \
- src/cdflib.hpp \
- src/rnglib.hpp \
- src/join.h
-SOURCES = src/Variant.cpp \
- src/rnglib.cpp \
- src/var.cpp \
- src/pdflib.cpp \
- src/cdflib.cpp \
- src/split.cpp
-OBJECTS= $(SOURCES:.cpp=.o)
-
-VCF_LIB_LOCAL:=$(shell pwd)
-BIN_DIR:=bin
-LIB_DIR:=lib
-SRC_DIR=src
-INC_DIR:=include
-OBJ_DIR:=obj
-
-LIB = libvcflib.a
-SOVERSION = 1
-SLIB = libvcflib.so.$(SOVERSION)
-
-# TODO
-#vcfstats.cpp
-
-BIN_SOURCES = src/vcfecho.cpp \
- src/vcfnormalizesvs.cpp \
- src/dumpContigsFromHeader.cpp \
- src/bFst.cpp \
- src/pVst.cpp \
- src/hapLrt.cpp \
- src/popStats.cpp \
- src/wcFst.cpp \
- src/iHS.cpp \
- src/segmentFst.cpp \
- src/segmentIhs.cpp \
- src/genotypeSummary.cpp \
- src/sequenceDiversity.cpp \
- src/pFst.cpp \
- src/smoother.cpp \
- src/LD.cpp \
- src/plotHaps.cpp \
- src/abba-baba.cpp \
- src/permuteGPAT++.cpp \
- src/permuteSmooth.cpp \
- src/normalize-iHS.cpp \
- src/meltEHH.cpp \
- src/vcfaltcount.cpp \
- src/vcfhetcount.cpp \
- src/vcfhethomratio.cpp \
- src/vcffilter.cpp \
- src/vcf2tsv.cpp \
- src/vcfgenotypes.cpp \
- src/vcfannotategenotypes.cpp \
- src/vcfcommonsamples.cpp \
- src/vcfremovesamples.cpp \
- src/vcfkeepsamples.cpp \
- src/vcfsamplenames.cpp \
- src/vcfgenotypecompare.cpp \
- src/vcffixup.cpp \
- src/vcfclassify.cpp \
- src/vcfsamplediff.cpp \
- src/vcfremoveaberrantgenotypes.cpp \
- src/vcfrandom.cpp \
- src/vcfparsealts.cpp \
- src/vcfstats.cpp \
- src/vcfflatten.cpp \
- src/vcfprimers.cpp \
- src/vcfnumalt.cpp \
- src/vcfcleancomplex.cpp \
- src/vcfintersect.cpp \
- src/vcfannotate.cpp \
- src/vcfallelicprimitives.cpp \
- src/vcfoverlay.cpp \
- src/vcfaddinfo.cpp \
- src/vcfkeepinfo.cpp \
- src/vcfkeepgeno.cpp \
- src/vcfafpath.cpp \
- src/vcfcountalleles.cpp \
- src/vcflength.cpp \
- src/vcfdistance.cpp \
- src/vcfrandomsample.cpp \
- src/vcfentropy.cpp \
- src/vcfglxgt.cpp \
- src/vcfroc.cpp \
- src/vcfcheck.cpp \
- src/vcfstreamsort.cpp \
- src/vcfuniq.cpp \
- src/vcfuniqalleles.cpp \
- src/vcfremap.cpp \
- src/vcf2fasta.cpp \
- src/vcfsitesummarize.cpp \
- src/vcfbreakmulti.cpp \
- src/vcfcreatemulti.cpp \
- src/vcfevenregions.cpp \
- src/vcfcat.cpp \
- src/vcfgenosummarize.cpp \
- src/vcfgenosamplenames.cpp \
- src/vcfgeno2haplo.cpp \
- src/vcfleftalign.cpp \
- src/vcfcombine.cpp \
- src/vcfgeno2alleles.cpp \
- src/vcfindex.cpp \
- src/vcf2dag.cpp \
- src/vcfsample2info.cpp \
- src/vcfqual2info.cpp \
- src/vcfinfo2qual.cpp \
- src/vcfglbound.cpp \
- src/vcfunphase.cpp \
- src/vcfnull2ref.cpp \
- src/vcfinfosummarize.cpp
-
-# when we can figure out how to build on mac
-# src/vcfsom.cpp
-
-#BINS = $(BIN_SOURCES:.cpp=)
-BINS = $(addprefix bin/,$(notdir $(BIN_SOURCES:.cpp=)))
-SHORTBINS = $(notdir $(BIN_SOURCES:.cpp=))
-# Use ?= to allow overriding from the env or command-line.
-
-MAKE ?= make
-LOCALBASE ?= /usr/local
-LIB_PATH ?= ${LOCALBASE}/lib
-
-CC ?= cc
-CXX ?= c++
-CXXFLAGS ?= -O3
-CFLAGS += -D_FILE_OFFSET_BITS=64 -fPIC
-CXXFLAGS += $(CFLAGS) --std=c++11
-#CXXFLAGS += -pedantic -Wall -Wshadow -Wpointer-arith -Wcast-qual
-
-DESTDIR ?= stage
-PREFIX ?= /usr/local
-STRIP ?= strip
-INSTALL ?= install -c
-MKDIR ?= mkdir -p
-AR ?= ar
-
-SSW = src/ssw.o src/ssw_cpp.o
-
-INCLUDES = -I${LOCALBASE}/include \
- -I${LOCALBASE}/include/smithwaterman \
- -I${LOCALBASE}/include/multichoose \
- -I${LOCALBASE}/include/fastahack \
- -I${LOCALBASE}/include/intervaltree
-LDFLAGS += -L. -lvcflib \
- -L$(LIB_PATH) -lsw -ltabix -lhts -lfastahack -lfilevercmp \
- -lpthread -lz -lm
-
-all: $(OBJECTS) $(BINS) $(LIB) $(SLIB)
-
-ssw.o: src/ssw.h
-ssw_cpp.o: src/ssw_cpp.h
-
-openmp:
- $(MAKE) CXXFLAGS="$(CXXFLAGS) -fopenmp -D HAS_OPENMP"
-
-profiling:
- $(MAKE) CXXFLAGS="$(CXXFLAGS) -g" all
-
-gprof:
- $(MAKE) CXXFLAGS="$(CXXFLAGS) -pg" all
-
-$(OBJECTS): $(SOURCES) $(HEADERS)
- $(CXX) -c -o $@ src/$(*F).cpp $(INCLUDES) $(CXXFLAGS)
-
-$(SHORTBINS):
- $(MAKE) $(BIN_DIR)/$@
-
-$(BINS): $(BIN_SOURCES) $(LIB) $(OBJECTS) $(SSW) pre
- $(CXX) src/$(notdir $@).cpp -o $@ $(INCLUDES) $(CXXFLAGS) $(LDFLAGS)
-
-$(LIB): $(OBJECTS) $(SSW)
- ar rs $(LIB) $(OBJECTS) $(SSW)
-
-$(SLIB): $(OBJECTS) $(SSW)
- $(CXX) -shared -Wl,-soname,$(SLIB) -o $(SLIB) $(OBJECTS) $(SSW)
-
-install: all
- $(MKDIR) $(DESTDIR)$(PREFIX)/bin
- $(MKDIR) $(DESTDIR)$(PREFIX)/include/vcflib
- $(MKDIR) $(DESTDIR)$(PREFIX)/lib
- $(INSTALL) bin/* $(DESTDIR)$(PREFIX)/bin
- $(INSTALL) src/*.h src/*.hpp $(DESTDIR)$(PREFIX)/include/vcflib
- $(INSTALL) $(LIB) $(SLIB) $(DESTDIR)$(PREFIX)/lib
-
-install-strip: install
- $(STRIP) $(DESTDIR)$(PREFIX)/bin/* $(DESTDIR)$(PREFIX)/lib/$(SLIB)
-
-test: $(BINS)
- @prove -Itests/lib -w tests/*.t
-
-clean:
- rm -f $(BINS) $(OBJECTS)
- rm -f ssw_cpp.o ssw.o
- rm -f $(LIB)
- rm -rf $(BIN_DIR)
-
-pre:
- mkdir -p $(BIN_DIR)
-
-.PHONY: clean all test pre
diff --git a/biology/vcflib/files/Makefile.submod b/biology/vcflib/files/Makefile.submod
deleted file mode 100644
index aafad2809a9e..000000000000
--- a/biology/vcflib/files/Makefile.submod
+++ /dev/null
@@ -1,117 +0,0 @@
-#OBJ_DIR = ./
-HEADERS = src/Variant.h \
- src/split.h \
- src/join.h
-SOURCES = src/Variant.cpp \
- src/split.cpp
-OBJECTS= $(SOURCES:.cpp=.o)
-
-VCF_LIB_LOCAL:=$(shell pwd)
-BIN_DIR:=bin
-LIB_DIR:=lib
-SRC_DIR=src
-INC_DIR:=include
-OBJ_DIR:=obj
-
-include Makefile.common
-
-TABIX = tabixpp/tabix.o
-FASTAHACK = fastahack/Fasta.o
-SMITHWATERMAN = smithwaterman/SmithWatermanGotoh.o
-REPEATS = smithwaterman/Repeats.o
-INDELALLELE = smithwaterman/IndelAllele.o
-DISORDER = smithwaterman/disorder.o
-LEFTALIGN = smithwaterman/LeftAlign.o
-FSOM = fsom/fsom.o
-FILEVERCMP = filevercmp/filevercmp.o
-
-INCLUDES = -Itabixpp/htslib -I$(INC_DIR) -L. -Ltabixpp/htslib
-LDFLAGS = -L$(LIB_DIR) -lvcflib -lhts -lpthread -lz -lm
-
-
-all: $(OBJECTS) $(BINS)
-
-CXX ?= c++
-CXXFLAGS ?= -O3 -D_FILE_OFFSET_BITS=64
-#CXXFLAGS = -O2
-#CXXFLAGS = -pedantic -Wall -Wshadow -Wpointer-arith -Wcast-qual
-
-SSW = src/ssw.o src/ssw_cpp.o
-
-ssw.o: src/ssw.h
-ssw_cpp.o:src/ssw_cpp.h
-
-openmp:
- $(MAKE) CXXFLAGS="$(CXXFLAGS) -fopenmp -D HAS_OPENMP"
-
-profiling:
- $(MAKE) CXXFLAGS="$(CXXFLAGS) -g" all
-
-gprof:
- $(MAKE) CXXFLAGS="$(CXXFLAGS) -pg" all
-
-$(OBJECTS): $(SOURCES) $(HEADERS) $(TABIX) multichoose pre $(SMITHWATERMAN) $(FILEVERCMP)
- $(CXX) -c -o $@ src/$(*F).cpp $(INCLUDES) $(LDFLAGS) $(CXXFLAGS) && cp src/*.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/
-
-multichoose: pre
- cd multichoose && $(MAKE) && cp *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/
-
-intervaltree: pre
- cd intervaltree && $(MAKE) && cp *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/
-
-$(TABIX): pre
- cd tabixpp && $(MAKE) && cp *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/
-
-$(SMITHWATERMAN): pre
- cd smithwaterman && $(MAKE) && cp *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/ && cp *.o $(VCF_LIB_LOCAL)/$(OBJ_DIR)/
-
-$(DISORDER): $(SMITHWATERMAN)
-
-$(REPEATS): $(SMITHWATERMAN)
-
-$(LEFTALIGN): $(SMITHWATERMAN)
-
-$(INDELALLELE): $(SMITHWATERMAN)
-
-$(FASTAHACK): pre
- cd fastahack && $(MAKE) && cp *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/ && cp Fasta.o $(VCF_LIB_LOCAL)/$(OBJ_DIR)/
-
-#$(FSOM):
-# cd fsom && $(CXX) $(CXXFLAGS) -c fsom.c -lm
-
-$(FILEVERCMP): pre
- cd filevercmp && make && cp *.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/ && cp *.o $(VCF_LIB_LOCAL)/$(INC_DIR)/
-
-$(SHORTBINS): pre
- $(MAKE) bin/$@
-
-$(BINS): $(BIN_SOURCES) libvcflib.a $(OBJECTS) $(SMITHWATERMAN) $(FASTAHACK) $(DISORDER) $(LEFTALIGN) $(INDELALLELE) $(SSW) $(FILEVERCMP) pre intervaltree
- $(CXX) src/$(notdir $@).cpp -o $@ $(INCLUDES) $(LDFLAGS) $(CXXFLAGS)
-
-libvcflib.a: $(OBJECTS) $(SMITHWATERMAN) $(REPEATS) $(FASTAHACK) $(DISORDER) $(LEFTALIGN) $(INDELALLELE) $(SSW) $(FILEVERCMP) $(TABIX) pre
- ar rs libvcflib.a $(OBJECTS) smithwaterman/sw.o $(FASTAHACK) $(SSW) $(FILEVERCMP) $(TABIX)
- cp libvcflib.a $(LIB_DIR)
-
-
-test: $(BINS)
- @prove -Itests/lib -w tests/*.t
-
-pre:
- if [ ! -d $(BIN_DIR) ]; then mkdir -p $(BIN_DIR); fi
- if [ ! -d $(LIB_DIR) ]; then mkdir -p $(LIB_DIR); fi
- if [ ! -d $(INC_DIR) ]; then mkdir -p $(INC_DIR); fi
- if [ ! -d $(OBJ_DIR) ]; then mkdir -p $(OBJ_DIR); fi
-
-clean:
- rm -f $(BINS) $(OBJECTS)
- rm -f ssw_cpp.o ssw.o
- rm -f libvcflib.a
- rm -rf $(BIN_DIR)
- rm -rf $(LIB_DIR)
- rm -rf $(INC_DIR)
- rm -rf $(OBJ_DIR)
- cd tabixpp && make clean
- cd smithwaterman && make clean
- cd fastahack && make clean
-
-.PHONY: clean all test pre
diff --git a/biology/vcflib/files/patch-CMakeLists.txt b/biology/vcflib/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..4203916395af
--- /dev/null
+++ b/biology/vcflib/files/patch-CMakeLists.txt
@@ -0,0 +1,26 @@
+--- CMakeLists.txt.orig 2023-02-07 17:22:46 UTC
++++ CMakeLists.txt
+@@ -9,7 +9,7 @@ project(vcflib)
+ cmake_minimum_required(VERSION 3.16)
+ project(vcflib)
+
+-set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_STANDARD 14)
+
+ include(ExternalProject)
+ include(FeatureSummary)
+@@ -69,7 +69,7 @@ if (${CMAKE_BUILD_TYPE} MATCHES Release)
+ endif()
+
+ if (${CMAKE_BUILD_TYPE} MATCHES Release)
+- set(EXTRA_FLAGS "-march=native -D_FILE_OFFSET_BITS=64")
++ set(EXTRA_FLAGS "-D_FILE_OFFSET_BITS=64")
+ # set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG") # reset CXX_FLAGS to replace -O3 with -Ofast
+ endif()
+
+@@ -570,4 +570,4 @@ install(FILES ${INCLUDES} DESTINATION include)
+
+ install(FILES ${INCLUDES} DESTINATION include)
+
+-install(DIRECTORY ${CMAKE_SOURCE_DIR}/man/ DESTINATION ${CMAKE_INSTALL_PREFIX}/man/man1)
++install(DIRECTORY ${CMAKE_SOURCE_DIR}/man/ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1)
diff --git a/biology/vcflib/files/patch-src_cdflib.cpp b/biology/vcflib/files/patch-src_cdflib.cpp
deleted file mode 100644
index 84bff432c1ed..000000000000
--- a/biology/vcflib/files/patch-src_cdflib.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/cdflib.cpp.orig 2018-03-09 20:31:19 UTC
-+++ src/cdflib.cpp
-@@ -10040,7 +10040,7 @@ void negative_binomial_cdf_values ( int
- 1, 2, 3,
- 0, 1, 2 };
-
-- if ( n_data < 0 )
-+ if ( *n_data < 0 )
- {
- *n_data = 0;
- }
diff --git a/biology/vcflib/pkg-descr b/biology/vcflib/pkg-descr
index 977e86a03dae..8705b857d1d5 100644
--- a/biology/vcflib/pkg-descr
+++ b/biology/vcflib/pkg-descr
@@ -17,5 +17,3 @@ The API itself provides a quick and extremely permissive method to read and
write VCF files. Extensions and applications of the library provided in the
included utilities (*.cpp) comprise the vast bulk of the library's utility for
most users.
-
-WWW: https://github.com/vcflib/vcflib
diff --git a/biology/vcflib/pkg-plist b/biology/vcflib/pkg-plist
index 944045d78581..20c3eeca8d4e 100644
--- a/biology/vcflib/pkg-plist
+++ b/biology/vcflib/pkg-plist
@@ -1,6 +1,7 @@
-bin/LD
bin/abba-baba
bin/bFst
+bin/bed2region
+bin/bgziptabix
bin/dumpContigsFromHeader
bin/genotypeSummary
bin/hapLrt
@@ -17,22 +18,29 @@ bin/segmentFst
bin/segmentIhs
bin/sequenceDiversity
bin/smoother
+bin/vcf2bed.py
bin/vcf2dag
bin/vcf2fasta
+bin/vcf2sqlite.py
bin/vcf2tsv
+bin/vcf_strip_extra_headers
bin/vcfaddinfo
bin/vcfafpath
bin/vcfallelicprimitives
bin/vcfaltcount
bin/vcfannotate
bin/vcfannotategenotypes
+bin/vcfbiallelic
bin/vcfbreakmulti
bin/vcfcat
bin/vcfcheck
bin/vcfclassify
bin/vcfcleancomplex
+bin/vcfclearid
+bin/vcfclearinfo
bin/vcfcombine
bin/vcfcommonsamples
+bin/vcfcomplex
bin/vcfcountalleles
bin/vcfcreatemulti
bin/vcfdistance
@@ -40,6 +48,7 @@ bin/vcfecho
bin/vcfentropy
bin/vcfevenregions
bin/vcffilter
+bin/vcffirstheader
bin/vcffixup
bin/vcfflatten
bin/vcfgeno2alleles
@@ -50,55 +59,191 @@ bin/vcfgenotypecompare
bin/vcfgenotypes
bin/vcfglbound
bin/vcfglxgt
+bin/vcfgtcompare.sh
bin/vcfhetcount
bin/vcfhethomratio
+bin/vcfindelproximity
+bin/vcfindels
bin/vcfindex
bin/vcfinfo2qual
bin/vcfinfosummarize
bin/vcfintersect
+bin/vcfjoincalls
bin/vcfkeepgeno
bin/vcfkeepinfo
bin/vcfkeepsamples
+bin/vcfld
bin/vcfleftalign
bin/vcflength
-bin/vcfnormalizesvs
-bin/vcfnull2ref
+bin/vcfmultiallelic
+bin/vcfmultiway
+bin/vcfmultiwayscripts
+bin/vcfnobiallelicsnps
+bin/vcfnoindels
+bin/vcfnosnps
+bin/vcfnulldotslashdot
+bin/vcfnullgenofields
bin/vcfnumalt
bin/vcfoverlay
bin/vcfparsealts
+bin/vcfplotaltdiscrepancy.r
+bin/vcfplotaltdiscrepancy.sh
+bin/vcfplotsitediscrepancy.r
+bin/vcfplottstv.sh
bin/vcfprimers
+bin/vcfprintaltdiscrepancy.r
+bin/vcfprintaltdiscrepancy.sh
bin/vcfqual2info
+bin/vcfqualfilter
bin/vcfrandom
bin/vcfrandomsample
+bin/vcfregionreduce
+bin/vcfregionreduce_and_cut
+bin/vcfregionreduce_pipe
+bin/vcfregionreduce_uncompressed
bin/vcfremap
bin/vcfremoveaberrantgenotypes
+bin/vcfremovenonATGC
bin/vcfremovesamples
bin/vcfroc
bin/vcfsample2info
bin/vcfsamplediff
bin/vcfsamplenames
bin/vcfsitesummarize
+bin/vcfsnps
+bin/vcfsort
bin/vcfstats
bin/vcfstreamsort
bin/vcfuniq
bin/vcfuniqalleles
-bin/vcfunphase
+bin/vcfvarstats
+bin/vcfwave
bin/wcFst
-include/vcflib/BedReader.h
-include/vcflib/Variant.h
-include/vcflib/cdflib.hpp
-include/vcflib/convert.h
-include/vcflib/gpatInfo.hpp
-include/vcflib/join.h
-include/vcflib/mt19937ar.h
-include/vcflib/pdflib.hpp
-include/vcflib/rnglib.hpp
-include/vcflib/split.h
-include/vcflib/ssw.hpp
-include/vcflib/ssw_cpp.hpp
-include/vcflib/var.hpp
-include/vcflib/vec128int.h
-include/vcflib/veclib_types.h
+include/BandedSmithWaterman.h
+include/BedReader.h
+include/Fasta.h
+include/IndelAllele.h
+include/IntervalTree.h
+include/LargeFileSupport.h
+include/LeftAlign.h
+include/LeftAlign.hpp
+include/Mosaik.h
+include/Region.h
+include/Repeats.h
+include/SmithWatermanGotoh.h
+include/Variant.h
+include/allele.hpp
+include/catch.hpp
+include/cdflib.hpp
+include/cigar.hpp
+include/convert.h
+include/disorder.h
+include/filevercmp.h
+include/gpatInfo.hpp
+include/join.h
+include/makeUnique.h
+include/mt19937ar.h
+include/multichoose.h
+include/multipermute.h
+include/murmur3.hpp
+include/pdflib.hpp
+include/rkmh.hpp
+include/rnglib.hpp
+include/split.h
+include/ssw.hpp
+include/ssw_cpp.hpp
+include/var.hpp
+include/vcf-c-api.h
+include/vcf-wfa.h
lib/libvcflib.a
-lib/libvcflib.so
-lib/libvcflib.so.1
+%%ZIG%%lib/libzig.a
+lib/pyvcflib%%PYTHON_EXT_SUFFIX%%.so
+share/man/man1/abba-baba.1.gz
+share/man/man1/bFst.1.gz
+share/man/man1/dumpContigsFromHeader.1.gz
+share/man/man1/genotypeSummary.1.gz
+share/man/man1/hapLrt.1.gz
+share/man/man1/iHS.1.gz
+share/man/man1/meltEHH.1.gz
+share/man/man1/normalize-iHS.1.gz
+share/man/man1/pFst.1.gz
+share/man/man1/pVst.1.gz
+share/man/man1/permuteGPAT++.1.gz
+share/man/man1/permuteSmooth.1.gz
+share/man/man1/plotHaps.1.gz
+share/man/man1/popStats.1.gz
+share/man/man1/pyvcflib.1.gz
+share/man/man1/segmentFst.1.gz
+share/man/man1/segmentIhs.1.gz
+share/man/man1/sequenceDiversity.1.gz
+share/man/man1/smoother.1.gz
+share/man/man1/vcf2dag.1.gz
+share/man/man1/vcf2fasta.1.gz
+share/man/man1/vcf2tsv.1.gz
+share/man/man1/vcfaddinfo.1.gz
+share/man/man1/vcfafpath.1.gz
+share/man/man1/vcfallelicprimitives.1.gz
+share/man/man1/vcfaltcount.1.gz
+share/man/man1/vcfannotate.1.gz
+share/man/man1/vcfannotategenotypes.1.gz
+share/man/man1/vcfbreakmulti.1.gz
+share/man/man1/vcfcat.1.gz
+share/man/man1/vcfcheck.1.gz
+share/man/man1/vcfclassify.1.gz
+share/man/man1/vcfcleancomplex.1.gz
+share/man/man1/vcfcombine.1.gz
+share/man/man1/vcfcommonsamples.1.gz
+share/man/man1/vcfcountalleles.1.gz
+share/man/man1/vcfcreatemulti.1.gz
+share/man/man1/vcfdistance.1.gz
+share/man/man1/vcfecho.1.gz
+share/man/man1/vcfentropy.1.gz
+share/man/man1/vcfevenregions.1.gz
+share/man/man1/vcffilter.1.gz
+share/man/man1/vcffixup.1.gz
+share/man/man1/vcfflatten.1.gz
+share/man/man1/vcfgeno2alleles.1.gz
+share/man/man1/vcfgeno2haplo.1.gz
+share/man/man1/vcfgenosamplenames.1.gz
+share/man/man1/vcfgenosummarize.1.gz
+share/man/man1/vcfgenotypecompare.1.gz
+share/man/man1/vcfgenotypes.1.gz
+share/man/man1/vcfglbound.1.gz
+share/man/man1/vcfglxgt.1.gz
+share/man/man1/vcfhetcount.1.gz
+share/man/man1/vcfhethomratio.1.gz
+share/man/man1/vcfindex.1.gz
+share/man/man1/vcfinfo2qual.1.gz
+share/man/man1/vcfinfosummarize.1.gz
+share/man/man1/vcfintersect.1.gz
+share/man/man1/vcfkeepgeno.1.gz
+share/man/man1/vcfkeepinfo.1.gz
+share/man/man1/vcfkeepsamples.1.gz
+share/man/man1/vcfld.1.gz
+share/man/man1/vcfleftalign.1.gz
+share/man/man1/vcflength.1.gz
+share/man/man1/vcflib-api.1.gz
+share/man/man1/vcflib.1.gz
+share/man/man1/vcfnulldotslashdot.1.gz
+share/man/man1/vcfnullgenofields.1.gz
+share/man/man1/vcfnumalt.1.gz
+share/man/man1/vcfoverlay.1.gz
+share/man/man1/vcfparsealts.1.gz
+share/man/man1/vcfprimers.1.gz
+share/man/man1/vcfqual2info.1.gz
+share/man/man1/vcfrandom.1.gz
+share/man/man1/vcfrandomsample.1.gz
+share/man/man1/vcfremap.1.gz
+share/man/man1/vcfremoveaberrantgenotypes.1.gz
+share/man/man1/vcfremovesamples.1.gz
+share/man/man1/vcfroc.1.gz
+share/man/man1/vcfsample2info.1.gz
+share/man/man1/vcfsamplediff.1.gz
+share/man/man1/vcfsamplenames.1.gz
+share/man/man1/vcfsitesummarize.1.gz
+share/man/man1/vcfstats.1.gz
+share/man/man1/vcfstreamsort.1.gz
+share/man/man1/vcfuniq.1.gz
+share/man/man1/vcfuniqalleles.1.gz
+share/man/man1/vcfwave.1.gz
+share/man/man1/wcFst.1.gz
diff --git a/biology/vcftools/Makefile b/biology/vcftools/Makefile
index 95367e64509f..e7d8ab338312 100644
--- a/biology/vcftools/Makefile
+++ b/biology/vcftools/Makefile
@@ -1,16 +1,23 @@
PORTNAME= vcftools
PORTVERSION= 0.1.16
DISTVERSIONPREFIX= v
+PORTREVISION= 2
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Tools for working with VCF genomics files
+WWW= https://github.com/vcftools/vcftools
LICENSE= LGPL3
-USES= autoreconf gmake perl5 pkgconfig
+USES= autoreconf cpe gmake perl5 pkgconfig
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
USE_GITHUB= yes
+CXXFLAGS+= -std=c++14
+
+CPE_VENDOR= vcftools_project
+
.include <bsd.port.mk>
diff --git a/biology/vcftools/pkg-descr b/biology/vcftools/pkg-descr
index e9ceaa246e18..3bb9368e39a6 100644
--- a/biology/vcftools/pkg-descr
+++ b/biology/vcftools/pkg-descr
@@ -1,4 +1,2 @@
A set of tools written in Perl and C++ for working with VCF files, such as
those generated by the 1000 Genomes Project.
-
-WWW: https://github.com/vcftools/vcftools
diff --git a/biology/vcftools/pkg-plist b/biology/vcftools/pkg-plist
index 0ad450ca4f19..c90691ad6c14 100644
--- a/biology/vcftools/pkg-plist
+++ b/biology/vcftools/pkg-plist
@@ -26,4 +26,4 @@ bin/vcftools
%%SITE_PERL%%/FaSlice.pm
%%SITE_PERL%%/Vcf.pm
%%SITE_PERL%%/VcfStats.pm
-man/man1/vcftools.1.gz
+share/man/man1/vcftools.1.gz
diff --git a/biology/velvet/Makefile b/biology/velvet/Makefile
index 65cbb1adaa43..b93a28cdf203 100644
--- a/biology/velvet/Makefile
+++ b/biology/velvet/Makefile
@@ -1,5 +1,3 @@
-# Created by: Motomichi Matsuzaki <mzaki@m.u-tokyo.ac.jp>
-
PORTNAME= velvet
PORTVERSION= 1.2.10
PORTREVISION= 2
@@ -9,6 +7,7 @@ DISTNAME= ${PORTNAME}_${PORTVERSION}
MAINTAINER= mzaki@m.u-tokyo.ac.jp
COMMENT= Sequence assembler for very short reads
+WWW= http://www.ebi.ac.uk/~zerbino/velvet/
ALL_TARGET= default
diff --git a/biology/velvet/pkg-descr b/biology/velvet/pkg-descr
index da5c56fa485a..16bdb7b817ab 100644
--- a/biology/velvet/pkg-descr
+++ b/biology/velvet/pkg-descr
@@ -6,5 +6,3 @@ Citation:
Velvet: algorithms for de novo short read assembly using de Bruijn graphs.
D.R. Zerbino and E. Birney. Genome Research 18: 821-829 (2008)
-
-WWW: http://www.ebi.ac.uk/~zerbino/velvet/
diff --git a/biology/viennarna/Makefile b/biology/viennarna/Makefile
index 7ae66c934b10..06c607940453 100644
--- a/biology/viennarna/Makefile
+++ b/biology/viennarna/Makefile
@@ -1,31 +1,46 @@
PORTNAME= viennarna
-DISTVERSION= 2.4.18
-PORTREVISION= 1
+DISTVERSION= 2.6.4
+PORTREVISION= 2
CATEGORIES= biology
-MASTER_SITES= https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/
+MASTER_SITES= https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_6_x/
DISTNAME= ViennaRNA-${DISTVERSION}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Alignment tools for the structural analysis of RNA
+WWW= https://www.tbi.univie.ac.at/RNA/
LICENSE= ViennaRNALicense
LICENSE_NAME= Vienna RNA License
LICENSE_FILE= ${WRKSRC}/COPYING
LICENSE_PERMS= auto-accept dist-mirror pkg-mirror
+#BROKEN_FreeBSD_14= fails to compile: no member named 'bind2nd' in namespace 'std'
+
BUILD_DEPENDS= bash:shells/bash \
+ lapacke>0:math/lapacke \
libgd>0:graphics/gd # for the static lib
+BUILD_DEPENDS+= swig:devel/swig \
+ xxd:sysutils/xxd
LIB_DEPENDS= libgmp.so:math/gmp \
libgsl.so:math/gsl \
+ liblapack.so:math/lapack \
libmpfr.so:math/mpfr
-USES= autoreconf compiler:c++11-lang gmake libtool localbase perl5 pkgconfig xorg # w/out autoreconf -lstdc++ is present in configure and Makefiles and this causes link failure
-USE_XORG= x11 xext # only for build
+USES= autoreconf bison compiler:c++17-lang fortran gmake \
+ libtool localbase perl5 pkgconfig xorg # w/out autoreconf -lstdc++ is present in configure and Makefiles and this causes link failure
+USE_XORG= ice x11 xext # only for build
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
CONFIGURE_SHELL= ${PREFIX}/bin/bash
CONFIGURE_ARGS= --enable-shared --disable-static --with-gsl --with-cluster --with-kinwalker --enable-mpfr --without-python --without-python3 --without-perl
+CXXFLAGS+= -Dregister= # workaround for https://github.com/ViennaRNA/ViennaRNA/issues/214
+
+TEST_TARGET= check
+
+CONFLICTS_INSTALL= g2 # include/g2.h
+
INFO= RNAlib
DATASDIR= ${PREFIX}/share/ViennaRNA
@@ -37,4 +52,7 @@ OPTIONS_DEFINE= DOCS EXAMPLES
PORTDOCS= *
PORTEXAMPLES= *
+post-configure: # remove -lstdc++ from .pc file
+ @${REINPLACE_CMD} -e 's| -lstdc++||' ${WRKSRC}/RNAlib2.pc
+
.include <bsd.port.mk>
diff --git a/biology/viennarna/distinfo b/biology/viennarna/distinfo
index eeb985c063c4..75d1552bb0c9 100644
--- a/biology/viennarna/distinfo
+++ b/biology/viennarna/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1619228835
-SHA256 (ViennaRNA-2.4.18.tar.gz) = 7caa723f5e5cd61a60aba60b24a64db39817a76244293754b00fe83a1dab609d
-SIZE (ViennaRNA-2.4.18.tar.gz) = 39772465
+TIMESTAMP = 1699041043
+SHA256 (ViennaRNA-2.6.4.tar.gz) = d1259ce5809601a12b0dc9b724ea2c55806fece80d8d83ad417ea8a2dd574982
+SIZE (ViennaRNA-2.6.4.tar.gz) = 69749819
diff --git a/biology/viennarna/files/patch-RNA-Tutorial_Makefile.am b/biology/viennarna/files/patch-RNA-Tutorial_Makefile.am
index 170cccfc6eb7..8857bf17c682 100644
--- a/biology/viennarna/files/patch-RNA-Tutorial_Makefile.am
+++ b/biology/viennarna/files/patch-RNA-Tutorial_Makefile.am
@@ -1,6 +1,6 @@
---- RNA-Tutorial/Makefile.am.orig 2019-06-24 18:48:09 UTC
+--- RNA-Tutorial/Makefile.am.orig 2020-11-23 22:41:05 UTC
+++ RNA-Tutorial/Makefile.am
-@@ -95,7 +95,7 @@ vrna_htmltutorial_uninst:
+@@ -90,7 +90,7 @@ vrna_htmltutorial_uninst:
if WITH_TUTORIAL_PDF
diff --git a/biology/viennarna/pkg-descr b/biology/viennarna/pkg-descr
index 6844f28badf9..acceb30f5685 100644
--- a/biology/viennarna/pkg-descr
+++ b/biology/viennarna/pkg-descr
@@ -1,15 +1,14 @@
-LocARNA is a collection of alignment tools for the structural analysis of RNA.
-Given a set of RNA sequences, LocARNA simultaneously aligns and predicts common
-structures for your RNAs. In this way, LocARNA performs Sankoff-like alignment
-and is in particular suited for analyzing sets of related RNAs without known
-common structure.
+The ViennaRNA Package consists of a C code library and several stand-alone
+programs for the prediction and comparison of RNA secondary structures.
-LocARNA distinguishes itself from many other Sankoff-style multiple alignment
-programs by its performance and low memory complexity, high accuracy, and
-richness of features. As unique features, it offers structure-local alignment,
-flexible structure and anchor constraints, and provides efficient computation of
-reliabilities in sequence-structure alignment. The package offers a robust core
-of features and is used as experimental platform for the incorporation of new
-features in RNA sequence-structure alignment.
-
-WWW: https://github.com/s-will/LocARNA
+RNA secondary structure prediction through energy minimization is the most used
+function in the package. We provide three kinds of dynamic programming
+algorithms for structure prediction: the minimum free energy algorithm of
+(Zuker & Stiegler 1981) which yields a single optimal structure, the partition
+function algorithm of (McCaskill 1990) which calculates base pair probabilities
+in the thermodynamic ensemble, and the suboptimal folding algorithm of (Wuchty
+et.al 1999) which generates all suboptimal structures within a given energy
+range of the optimal energy. For secondary structure comparison, the package
+contains several measures of distance (dissimilarities) using either string
+alignment or tree-editing (Shapiro & Zhang 1990). Finally, we provide an
+algorithm to design sequences with a predefined structure (inverse folding).
diff --git a/biology/viennarna/pkg-plist b/biology/viennarna/pkg-plist
index 545120ce7098..afaa24303e60 100644
--- a/biology/viennarna/pkg-plist
+++ b/biology/viennarna/pkg-plist
@@ -17,6 +17,7 @@ bin/RNAforester
bin/RNAheat
bin/RNAinverse
bin/RNAlocmin
+bin/RNAmultifold
bin/RNApaln
bin/RNAparconv
bin/RNApdist
@@ -27,6 +28,7 @@ bin/RNApvmin
bin/RNAsnoop
bin/RNAsubopt
bin/RNAup
+bin/RNAxplorer
bin/b2ct
bin/ct2db
bin/kinwalker
@@ -57,18 +59,21 @@ include/ViennaRNA/constraints/basic.h
include/ViennaRNA/constraints/hard.h
include/ViennaRNA/constraints/ligand.h
include/ViennaRNA/constraints/soft.h
+include/ViennaRNA/constraints/soft_special.h
include/ViennaRNA/constraints_SHAPE.h
include/ViennaRNA/constraints_hard.h
include/ViennaRNA/constraints_ligand.h
include/ViennaRNA/constraints_soft.h
include/ViennaRNA/convert_epars.h
include/ViennaRNA/data_structures.h
+include/ViennaRNA/datastructures/array.h
include/ViennaRNA/datastructures/basic.h
include/ViennaRNA/datastructures/char_stream.h
include/ViennaRNA/datastructures/hash_tables.h
include/ViennaRNA/datastructures/heap.h
include/ViennaRNA/datastructures/lists.h
include/ViennaRNA/datastructures/stream_output.h
+include/ViennaRNA/datastructures/string.h
include/ViennaRNA/dist_vars.h
include/ViennaRNA/dp_matrices.h
include/ViennaRNA/duplex.h
@@ -106,6 +111,7 @@ include/ViennaRNA/loops/external.h
include/ViennaRNA/loops/hairpin.h
include/ViennaRNA/loops/internal.h
include/ViennaRNA/loops/multibranch.h
+include/ViennaRNA/mconf.h
include/ViennaRNA/mfe.h
include/ViennaRNA/mfe_window.h
include/ViennaRNA/mm.h
@@ -121,11 +127,13 @@ include/ViennaRNA/params/constants.h
include/ViennaRNA/params/convert.h
include/ViennaRNA/params/default.h
include/ViennaRNA/params/io.h
+include/ViennaRNA/params/salt.h
include/ViennaRNA/part_func.h
include/ViennaRNA/part_func_co.h
include/ViennaRNA/part_func_up.h
include/ViennaRNA/part_func_window.h
include/ViennaRNA/perturbation_fold.h
+include/ViennaRNA/pf_multifold.h
include/ViennaRNA/pk_plex.h
include/ViennaRNA/plex.h
include/ViennaRNA/plot_aln.h
@@ -136,7 +144,7 @@ include/ViennaRNA/plotting/RNApuzzler/RNApuzzler.h
include/ViennaRNA/plotting/RNApuzzler/RNAturtle.h
include/ViennaRNA/plotting/alignments.h
include/ViennaRNA/plotting/layouts.h
-include/ViennaRNA/plotting/naview.h
+include/ViennaRNA/plotting/naview/naview.h
include/ViennaRNA/plotting/probabilities.h
include/ViennaRNA/plotting/structures.h
include/ViennaRNA/plotting/utils.h
@@ -153,6 +161,7 @@ include/ViennaRNA/stringdist.h
include/ViennaRNA/structure_utils.h
include/ViennaRNA/structured_domains.h
include/ViennaRNA/subopt.h
+include/ViennaRNA/subopt_zuker.h
include/ViennaRNA/svm.h
include/ViennaRNA/svm_utils.h
include/ViennaRNA/treedist.h
@@ -169,6 +178,7 @@ include/ViennaRNA/utils/svm.h
include/ViennaRNA/utils/units.h
include/ViennaRNA/vrna_config.h
include/ViennaRNA/walk.h
+include/ViennaRNA/wrap_dlib.h
include/ViennaRNA/zscore.h
include/g2.h
include/g2_FIG.h
@@ -178,37 +188,39 @@ include/g2_gd.h
lib/libRNA.a
lib/libg2.a
libdata/pkgconfig/RNAlib2.pc
-man/man1/AnalyseDists.1.gz
-man/man1/AnalyseSeqs.1.gz
-man/man1/Kinfold.1.gz
-man/man1/RNA2Dfold.1.gz
-man/man1/RNALalifold.1.gz
-man/man1/RNALfold.1.gz
-man/man1/RNAPKplex.1.gz
-man/man1/RNAaliduplex.1.gz
-man/man1/RNAalifold.1.gz
-man/man1/RNAcofold.1.gz
-man/man1/RNAdistance.1.gz
-man/man1/RNAdos.1.gz
-man/man1/RNAduplex.1.gz
-man/man1/RNAeval.1.gz
-man/man1/RNAfold.1.gz
-man/man1/RNAforester.1.gz
-man/man1/RNAheat.1.gz
-man/man1/RNAinverse.1.gz
-man/man1/RNAlocmin.1.gz
-man/man1/RNApaln.1.gz
-man/man1/RNAparconv.1.gz
-man/man1/RNApdist.1.gz
-man/man1/RNAplex.1.gz
-man/man1/RNAplfold.1.gz
-man/man1/RNAplot.1.gz
-man/man1/RNApvmin.1.gz
-man/man1/RNAsnoop.1.gz
-man/man1/RNAsubopt.1.gz
-man/man1/RNAup.1.gz
-man/man1/ct2db.1.gz
-man/man1/kinwalker.1.gz
+share/man/man1/AnalyseDists.1.gz
+share/man/man1/AnalyseSeqs.1.gz
+share/man/man1/Kinfold.1.gz
+share/man/man1/RNA2Dfold.1.gz
+share/man/man1/RNALalifold.1.gz
+share/man/man1/RNALfold.1.gz
+share/man/man1/RNAPKplex.1.gz
+share/man/man1/RNAaliduplex.1.gz
+share/man/man1/RNAalifold.1.gz
+share/man/man1/RNAcofold.1.gz
+share/man/man1/RNAdistance.1.gz
+share/man/man1/RNAdos.1.gz
+share/man/man1/RNAduplex.1.gz
+share/man/man1/RNAeval.1.gz
+share/man/man1/RNAfold.1.gz
+share/man/man1/RNAforester.1.gz
+share/man/man1/RNAheat.1.gz
+share/man/man1/RNAinverse.1.gz
+share/man/man1/RNAlocmin.1.gz
+share/man/man1/RNAmultifold.1.gz
+share/man/man1/RNApaln.1.gz
+share/man/man1/RNAparconv.1.gz
+share/man/man1/RNApdist.1.gz
+share/man/man1/RNAplex.1.gz
+share/man/man1/RNAplfold.1.gz
+share/man/man1/RNAplot.1.gz
+share/man/man1/RNApvmin.1.gz
+share/man/man1/RNAsnoop.1.gz
+share/man/man1/RNAsubopt.1.gz
+share/man/man1/RNAup.1.gz
+share/man/man1/RNAxplorer.1.gz
+share/man/man1/ct2db.1.gz
+share/man/man1/kinwalker.1.gz
share/ViennaRNA/2Dlandscape.R
share/ViennaRNA/2Dlandscape_mfe.gri
share/ViennaRNA/2Dlandscape_pf.gri
@@ -228,6 +240,13 @@ share/ViennaRNA/dna_mathews2004.par
share/ViennaRNA/rna_andronescu2007.par
share/ViennaRNA/rna_langdon2018.par
share/ViennaRNA/rna_misc_special_hairpins.par
+share/ViennaRNA/rna_mod_7DA_parameters.json
+share/ViennaRNA/rna_mod_dihydrouridine_parameters.json
+share/ViennaRNA/rna_mod_inosine_parameters.json
+share/ViennaRNA/rna_mod_m6A_parameters.json
+share/ViennaRNA/rna_mod_pseudouridine_parameters.json
+share/ViennaRNA/rna_mod_purine_parameters.json
+share/ViennaRNA/rna_mod_template_parameters.json
share/ViennaRNA/rna_turner1999.par
share/ViennaRNA/rna_turner2004.par
share/ViennaRNA/viennarna.bib
diff --git a/biology/vsearch/Makefile b/biology/vsearch/Makefile
index a13b51ab498b..c42444db8a21 100644
--- a/biology/vsearch/Makefile
+++ b/biology/vsearch/Makefile
@@ -1,10 +1,11 @@
PORTNAME= vsearch
DISTVERSIONPREFIX= v
-DISTVERSION= 2.17.1
+DISTVERSION= 2.27.1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Versatile open-source tool for metagenomics
+WWW= https://github.com/torognes/vsearch
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
@@ -12,15 +13,14 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
ONLY_FOR_ARCHS= aarch64 amd64 powerpc64le
ONLY_FOR_ARCHS_REASON= Explicitly enumerated by upstream developers
-LIB_DEPENDS= libsysinfo.so:devel/libsysinfo
-
USES= autoreconf ghostscript:build gmake localbase
USE_GITHUB= yes
GH_ACCOUNT= torognes
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
-PLIST_FILES= bin/vsearch man/man1/vsearch.1.gz
+PLIST_FILES= bin/vsearch share/man/man1/vsearch.1.gz
PORTDOCS= *
OPTIONS_DEFINE= DOCS
diff --git a/biology/vsearch/distinfo b/biology/vsearch/distinfo
index 6fe700db2278..7eea2ede671c 100644
--- a/biology/vsearch/distinfo
+++ b/biology/vsearch/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1623856296
-SHA256 (torognes-vsearch-v2.17.1_GH0.tar.gz) = cee02a1fceb919db8916c6f114926a11166db15d2da79c1c1f680285435d39bc
-SIZE (torognes-vsearch-v2.17.1_GH0.tar.gz) = 249268
+TIMESTAMP = 1712512768
+SHA256 (torognes-vsearch-v2.27.1_GH0.tar.gz) = 54666bcd9434fb7636c5b292a67e7c194e809e631bbe8f4f86b85fb47e863abc
+SIZE (torognes-vsearch-v2.27.1_GH0.tar.gz) = 269179
diff --git a/biology/vsearch/files/patch-configure.ac b/biology/vsearch/files/patch-configure.ac
deleted file mode 100644
index 150d3745c8a2..000000000000
--- a/biology/vsearch/files/patch-configure.ac
+++ /dev/null
@@ -1,13 +0,0 @@
---- configure.ac.orig 2021-01-30 15:11:25 UTC
-+++ configure.ac
-@@ -14,8 +14,8 @@ MACOSX_DEPLOYMENT_TARGET="10.9"
-
- # Set default gcc and g++ options
-
--CFLAGS='-g'
--CXXFLAGS='-g -std=c++11'
-+# CFLAGS='-g'
-+# CXXFLAGS='-g -std=c++11'
-
- # Checks for programs.
- AC_PROG_CXX
diff --git a/biology/vsearch/files/patch-src_Makefile.am b/biology/vsearch/files/patch-src_Makefile.am
deleted file mode 100644
index e54c9a606035..000000000000
--- a/biology/vsearch/files/patch-src_Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/Makefile.am.orig 2019-04-30 11:57:32 UTC
-+++ src/Makefile.am
-@@ -1,12 +1,12 @@
- bin_PROGRAMS = $(top_builddir)/bin/vsearch
-
- if TARGET_PPC
--AM_CXXFLAGS=-Wall -Wsign-compare -O3 -g -mcpu=power8
-+AM_CXXFLAGS=-Wall -Wsign-compare
- else
- if TARGET_AARCH64
--AM_CXXFLAGS=-Wall -Wsign-compare -O3 -g -march=armv8-a+simd -mtune=generic
-+AM_CXXFLAGS=-Wall -Wsign-compare
- else
--AM_CXXFLAGS=-Wall -Wsign-compare -O3 -g -march=x86-64 -mtune=generic
-+AM_CXXFLAGS=-Wall -Wsign-compare
- endif
- endif
-
diff --git a/biology/vsearch/files/patch-src_vsearch.h b/biology/vsearch/files/patch-src_vsearch.h
new file mode 100644
index 000000000000..066f4488212d
--- /dev/null
+++ b/biology/vsearch/files/patch-src_vsearch.h
@@ -0,0 +1,10 @@
+--- src/vsearch.h.orig 2023-10-27 12:44:35 UTC
++++ src/vsearch.h
+@@ -161,7 +161,6 @@
+ #elif __FreeBSD__
+
+ #define PROG_OS "freebsd"
+-#include <sys/sysinfo.h>
+ #include <sys/resource.h>
+ #include <sys/endian.h>
+ #define bswap_16(x) bswap16(x)
diff --git a/biology/vsearch/pkg-descr b/biology/vsearch/pkg-descr
index 86302327f8bf..f6c1015c060f 100644
--- a/biology/vsearch/pkg-descr
+++ b/biology/vsearch/pkg-descr
@@ -6,5 +6,3 @@ analysis, filtering, conversion and merging of paired-end reads.
The aim of this project is to create an alternative to the USEARCH tool
developed by Robert C. Edgar (2010).
-
-WWW: https://github.com/torognes/vsearch
diff --git a/biology/vt/Makefile b/biology/vt/Makefile
index 9e5e69141b6d..5f6463a34968 100644
--- a/biology/vt/Makefile
+++ b/biology/vt/Makefile
@@ -1,10 +1,11 @@
PORTNAME= vt
DISTVERSION= 0.57721
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
COMMENT= Discovers short variants from Next Generation Sequencing data
+WWW= https://genome.sph.umich.edu/wiki/Vt
LICENSE= MIT
diff --git a/biology/vt/pkg-descr b/biology/vt/pkg-descr
index 054cdd2824e9..14edbf90402a 100644
--- a/biology/vt/pkg-descr
+++ b/biology/vt/pkg-descr
@@ -1,4 +1,2 @@
vt is a variant tool set that discovers short variants from Next Generation
Sequencing data.
-
-WWW: https://genome.sph.umich.edu/wiki/Vt
diff --git a/biology/wfa2-lib/Makefile b/biology/wfa2-lib/Makefile
new file mode 100644
index 000000000000..ec1c0c6f3fd9
--- /dev/null
+++ b/biology/wfa2-lib/Makefile
@@ -0,0 +1,20 @@
+PORTNAME= wfa2-lib
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.3.5
+CATEGORIES= biology
+
+MAINTAINER= jwb@FreeBSD.org
+COMMENT= Exact gap-affine algorithm using homology to accelerate alignment
+WWW= https://github.com/smarco/WFA2-lib
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cmake pkgconfig
+USE_GITHUB= yes
+USE_LDCONFIG= yes
+
+GH_ACCOUNT= smarco
+GH_PROJECT= WFA2-lib
+
+.include <bsd.port.mk>
diff --git a/biology/wfa2-lib/distinfo b/biology/wfa2-lib/distinfo
new file mode 100644
index 000000000000..f654590ea8f9
--- /dev/null
+++ b/biology/wfa2-lib/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1713703314
+SHA256 (smarco-WFA2-lib-v2.3.5_GH0.tar.gz) = 2609d5f267f4dd91dce1776385b5a24a2f1aa625ac844ce0c3571c69178afe6e
+SIZE (smarco-WFA2-lib-v2.3.5_GH0.tar.gz) = 4225016
diff --git a/biology/wfa2-lib/files/patch-CMakeLists.txt b/biology/wfa2-lib/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..5be0031f15f4
--- /dev/null
+++ b/biology/wfa2-lib/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2023-09-29 13:47:52 UTC
++++ CMakeLists.txt
+@@ -55,7 +55,7 @@ if(NOT CMAKE_BUILD_TYPE)
+ endif()
+
+ if (${CMAKE_BUILD_TYPE} MATCHES Release)
+- set(OPTIMIZE_FLAGS "${OPTIMIZE_FLAGS} -march=native -D_FILE_OFFSET_BITS=64")
++ set(OPTIMIZE_FLAGS "${OPTIMIZE_FLAGS} -D_FILE_OFFSET_BITS=64")
+ endif()
+
+ if ((${CMAKE_BUILD_TYPE} MATCHES Release) OR (${CMAKE_BUILD_TYPE} MATCHES RelWithDebInfo))
diff --git a/biology/wfa2-lib/pkg-descr b/biology/wfa2-lib/pkg-descr
new file mode 100644
index 000000000000..24a0b82a109e
--- /dev/null
+++ b/biology/wfa2-lib/pkg-descr
@@ -0,0 +1,9 @@
+The wavefront alignment (WFA) algorithm is an exact gap-affine
+algorithm that takes advantage of homologous regions between the
+sequences to accelerate the alignment process. Unlike traditional
+dynamic programming algorithms that run in quadratic time, the WFA runs
+in time O(ns+s^2), proportional to the sequence length n and the
+alignment score s, using O(s^2) memory (or O(s) using the
+ultralow/BiWFA mode). Moreover, the WFA algorithm exhibits simple
+computational patterns that the modern compilers can automatically
+vectorize for different architectures without adapting the code.
diff --git a/biology/wfa2-lib/pkg-plist b/biology/wfa2-lib/pkg-plist
new file mode 100644
index 000000000000..2fa4ac482adc
--- /dev/null
+++ b/biology/wfa2-lib/pkg-plist
@@ -0,0 +1,53 @@
+include/wfa2lib/alignment/affine2p_penalties.h
+include/wfa2lib/alignment/affine_penalties.h
+include/wfa2lib/alignment/cigar.h
+include/wfa2lib/alignment/linear_penalties.h
+include/wfa2lib/alignment/score_matrix.h
+include/wfa2lib/bindings/cpp/WFAligner.hpp
+include/wfa2lib/system/mm_allocator.h
+include/wfa2lib/system/mm_stack.h
+include/wfa2lib/system/profiler_counter.h
+include/wfa2lib/system/profiler_timer.h
+include/wfa2lib/utils/bitmap.h
+include/wfa2lib/utils/commons.h
+include/wfa2lib/utils/dna_text.h
+include/wfa2lib/utils/heatmap.h
+include/wfa2lib/utils/sequence_buffer.h
+include/wfa2lib/utils/vector.h
+include/wfa2lib/wavefront/wavefront.h
+include/wfa2lib/wavefront/wavefront_align.h
+include/wfa2lib/wavefront/wavefront_aligner.h
+include/wfa2lib/wavefront/wavefront_attributes.h
+include/wfa2lib/wavefront/wavefront_backtrace.h
+include/wfa2lib/wavefront/wavefront_backtrace_buffer.h
+include/wfa2lib/wavefront/wavefront_backtrace_offload.h
+include/wfa2lib/wavefront/wavefront_bialign.h
+include/wfa2lib/wavefront/wavefront_bialigner.h
+include/wfa2lib/wavefront/wavefront_components.h
+include/wfa2lib/wavefront/wavefront_compute.h
+include/wfa2lib/wavefront/wavefront_compute_affine.h
+include/wfa2lib/wavefront/wavefront_compute_affine2p.h
+include/wfa2lib/wavefront/wavefront_compute_edit.h
+include/wfa2lib/wavefront/wavefront_compute_linear.h
+include/wfa2lib/wavefront/wavefront_debug.h
+include/wfa2lib/wavefront/wavefront_display.h
+include/wfa2lib/wavefront/wavefront_extend.h
+include/wfa2lib/wavefront/wavefront_extend_kernels.h
+include/wfa2lib/wavefront/wavefront_extend_kernels_avx.h
+include/wfa2lib/wavefront/wavefront_heuristic.h
+include/wfa2lib/wavefront/wavefront_offset.h
+include/wfa2lib/wavefront/wavefront_pcigar.h
+include/wfa2lib/wavefront/wavefront_penalties.h
+include/wfa2lib/wavefront/wavefront_plot.h
+include/wfa2lib/wavefront/wavefront_sequences.h
+include/wfa2lib/wavefront/wavefront_slab.h
+include/wfa2lib/wavefront/wavefront_termination.h
+include/wfa2lib/wavefront/wavefront_unialign.h
+include/wfa2lib/wavefront/wfa.h
+include/wfa2lib/wavefront/wfa.hpp
+lib/libwfa2.a
+lib/libwfa2.so
+lib/libwfa2.so.0
+lib/libwfa2cpp.a
+lib/libwfa2cpp.so
+lib/libwfa2cpp.so.0
diff --git a/biology/wise/Makefile b/biology/wise/Makefile
index 4aa45603447e..ec911f6763be 100644
--- a/biology/wise/Makefile
+++ b/biology/wise/Makefile
@@ -1,5 +1,3 @@
-# Created by: Tony Maher <tonym@biolateral.com.au>
-
PORTNAME= wise
PORTVERSION= 2.4.1
PORTREVISION= 1
@@ -9,15 +7,20 @@ DISTNAME= ${PORTNAME}${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Intelligent algorithms for DNA searches
+WWW= http://www.ebi.ac.uk/Wise2/
-BUILD_WRKSRC= ${WRKSRC}/src
+LICENSE= BSD3CLAUSE GPLv2
+LICENSE_COMB= dual
USES= gnome pkgconfig
USE_GNOME= glib20
+
MAKEFILE= makefile
SUB_FILES= pkg-message
+BUILD_WRKSRC= ${WRKSRC}/src
+
#
# Actually want an 'ALL_TARGET = all perl' which then requires
# 'USE_PERL5= yes' but the perl sub-build is currently broken.
@@ -28,6 +31,12 @@ SUB_FILES= pkg-message
# something like '@cd ${WRKSRC}/perl/Wise2; ${MAKE} install'
#
+PLIST_FILES= ${BINFILES:S,^,bin/,} ${DATAFILES:S,^,%%DATADIR%%/,}
+PORTDOCS= *
+PORTEXAMPLES= *
+
+OPTIONS_DEFINE= DOCS EXAMPLES
+
BINFILES= dba dnal estwise estwisedb genewise genewisedb promoterwise \
psw pswdb scanwise scanwise_server
DATAFILES= BLOSUM30.bla BLOSUM45.bla BLOSUM62.bla BLOSUM80.bla aa.rnd \
@@ -36,11 +45,14 @@ DATAFILES= BLOSUM30.bla BLOSUM45.bla BLOSUM62.bla BLOSUM80.bla aa.rnd \
human.stats idenity.bla methods pb.gf pombe.gf tm.pri \
wise.2 wise.per worm.gf
-PORTDOCS= *
-PORTEXAMPLES= *
-PLIST_FILES= ${BINFILES:S,^,bin/,} ${DATAFILES:S,^,%%DATADIR%%/,}
+.include <bsd.port.pre.mk>
-OPTIONS_DEFINE= DOCS EXAMPLES
+.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400079 || ( ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 ))
+CFLAGS+= -Wno-error=int-conversion
+.if ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302507 && ${OSVERSION} < 1400000 )
+CFLAGS+= -Wno-error=incompatible-function-pointer-types
+.endif
+.endif
post-patch:
@${FIND} ${BUILD_WRKSRC} -name "makefile" | ${XARGS} \
@@ -69,4 +81,4 @@ do-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC}/test_data && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/biology/wise/pkg-descr b/biology/wise/pkg-descr
index 6687f6352547..2dfc0a01a7f9 100644
--- a/biology/wise/pkg-descr
+++ b/biology/wise/pkg-descr
@@ -9,5 +9,3 @@ genewise, is one of the algorithms available in Wise2. There are
other algorithms focused on EST data rather than genomic data, as
well as some other algorithm curios."
- from the web site (Ewan Birney)
-
-WWW: http://www.ebi.ac.uk/Wise2/