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