diff options
author | Jason W. Bacon <jwb@FreeBSD.org> | 2023-01-30 19:09:02 +0000 |
---|---|---|
committer | Jason W. Bacon <jwb@FreeBSD.org> | 2023-01-30 19:09:02 +0000 |
commit | 595d0dabcfdc4e4a2eefbfff154f7c2ab04488be (patch) | |
tree | 5f59486c975d2a528379d05776859fbac164904b | |
parent | 02388ae491f5d00fb4dfe7e1945b8644c3c1aae7 (diff) | |
download | ports-595d0dabcfdc4e4a2eefbfff154f7c2ab04488be.tar.gz ports-595d0dabcfdc4e4a2eefbfff154f7c2ab04488be.zip |
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.
-rw-r--r-- | biology/Makefile | 1 | ||||
-rw-r--r-- | biology/wfa2-lib/Makefile | 20 | ||||
-rw-r--r-- | biology/wfa2-lib/distinfo | 3 | ||||
-rw-r--r-- | biology/wfa2-lib/files/patch-system_profiler__timer.h | 10 | ||||
-rw-r--r-- | biology/wfa2-lib/pkg-descr | 9 | ||||
-rw-r--r-- | biology/wfa2-lib/pkg-plist | 46 |
6 files changed, 89 insertions, 0 deletions
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 |