git: 595d0dabcfdc - main - biology/wfa2-lib: Exact gap-affine algorithm using homology
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 30 Jan 2023 19:09:52 UTC
The branch main has been updated by jwb: URL: https://cgit.FreeBSD.org/ports/commit/?id=595d0dabcfdc4e4a2eefbfff154f7c2ab04488be commit 595d0dabcfdc4e4a2eefbfff154f7c2ab04488be Author: Jason W. Bacon <jwb@FreeBSD.org> AuthorDate: 2023-01-30 19:09:02 +0000 Commit: Jason W. Bacon <jwb@FreeBSD.org> CommitDate: 2023-01-30 19:09:02 +0000 biology/wfa2-lib: Exact gap-affine algorithm using homology 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. --- biology/Makefile | 1 + biology/wfa2-lib/Makefile | 20 ++++++++++ biology/wfa2-lib/distinfo | 3 ++ .../wfa2-lib/files/patch-system_profiler__timer.h | 10 +++++ biology/wfa2-lib/pkg-descr | 9 +++++ biology/wfa2-lib/pkg-plist | 46 ++++++++++++++++++++++ 6 files changed, 89 insertions(+) diff --git a/biology/Makefile b/biology/Makefile index 801bff937770..43439e1f4a89 100644 --- a/biology/Makefile +++ b/biology/Makefile @@ -238,6 +238,7 @@ SUBDIR += viennarna SUBDIR += vsearch SUBDIR += vt + SUBDIR += wfa2-lib SUBDIR += wise .include <bsd.port.subdir.mk> diff --git a/biology/wfa2-lib/Makefile b/biology/wfa2-lib/Makefile new file mode 100644 index 000000000000..cb334b9bf0c3 --- /dev/null +++ b/biology/wfa2-lib/Makefile @@ -0,0 +1,20 @@ +PORTNAME= wfa2-lib +DISTVERSIONPREFIX= v +DISTVERSION= 2.3.2 +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..09a5d3555324 --- /dev/null +++ b/biology/wfa2-lib/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1675088499 +SHA256 (smarco-WFA2-lib-v2.3.2_GH0.tar.gz) = 310e3886506ab57d04205cdf5fed3ef31969ce39e9c6d341fd5c8a0d4aa0830b +SIZE (smarco-WFA2-lib-v2.3.2_GH0.tar.gz) = 4150874 diff --git a/biology/wfa2-lib/files/patch-system_profiler__timer.h b/biology/wfa2-lib/files/patch-system_profiler__timer.h new file mode 100644 index 000000000000..5ebce4ad2b2e --- /dev/null +++ b/biology/wfa2-lib/files/patch-system_profiler__timer.h @@ -0,0 +1,10 @@ +--- system/profiler_timer.h.orig 2023-01-30 14:47:11 UTC ++++ system/profiler_timer.h +@@ -33,6 +33,7 @@ + #ifndef PROFILER_TIMER_H + #define PROFILER_TIMER_H + ++#include <time.h> // Required on FreeBSD 12.3 + #include "profiler_counter.h" + + /* 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..235ff54015ca --- /dev/null +++ b/biology/wfa2-lib/pkg-plist @@ -0,0 +1,46 @@ +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/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/string_padded.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_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_slab.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