summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Mollier <emollier@debian.org>2024-01-19 18:32:56 +0100
committerÉtienne Mollier <emollier@debian.org>2024-01-19 18:32:56 +0100
commitc394c549b4cc2d17e7f9b68d8987ad2f5eb30c57 (patch)
treea7e0538f77ab7b106e8d436dda5122d045a4bb56
parentd89a1195f7416c8d637477dfe856a2e1b9c487ed (diff)
parent2e62061e17e42564bea6e0451744de0aa0cdce6a (diff)
Update upstream source from tag 'upstream/1.5.1'
Update to upstream version '1.5.1' with Debian dir c778dd82116d8fd72e23f68fcc773281a9607232
-rw-r--r--README.md28
-rw-r--r--setup.py2
-rw-r--r--src/abpoa.c2
-rw-r--r--src/simd_abpoa_align.c6
4 files changed, 19 insertions, 19 deletions
diff --git a/README.md b/README.md
index 8031894..258025f 100644
--- a/README.md
+++ b/README.md
@@ -5,18 +5,18 @@
[![PyPI](https://img.shields.io/pypi/dm/pyabpoa.svg?label=pip%20install)](https://pypi.python.org/pypi/pyabpoa)
[![Published in Bioinformatics](https://img.shields.io/badge/Published%20in-Bioinformatics-blue.svg)](https://dx.doi.org/10.1093/bioinformatics/btaa963)
[![GitHub Issues](https://img.shields.io/github/issues/yangao07/abPOA.svg?label=Issues)](https://github.com/yangao07/abPOA/issues)
-[![Build Status](https://img.shields.io/travis/yangao07/abPOA/master.svg?label=Master)](https://travis-ci.org/yangao07/abPOA)
-[![License](https://img.shields.io/badge/License-MIT-black.svg)](https://github.com/yangao07/abPOA/blob/master/LICENSE)
+[![Build Status](https://img.shields.io/travis/yangao07/abPOA/main.svg?label=Main)](https://travis-ci.org/yangao07/abPOA)
+[![License](https://img.shields.io/badge/License-MIT-black.svg)](https://github.com/yangao07/abPOA/blob/main/LICENSE)
<!-- [![PyPI](https://img.shields.io/pypi/v/pyabpoa.svg?style=flat)](https://pypi.python.org/pypi/pyabpoa) -->
-## Updates (v1.5.0)
+## Updates (v1.5.1)
-- Fix memory allocation bug for local alignment mode
+- Fix a memory allocation bug caused by int overflow when memery is large (>4G)
## Getting started
Download the [latest release](https://github.com/yangao07/abPOA/releases):
```
-wget https://github.com/yangao07/abPOA/releases/download/v1.5.0/abPOA-v1.5.0.tar.gz
-tar -zxvf abPOA-v1.5.0.tar.gz && cd abPOA-v1.5.0
+wget https://github.com/yangao07/abPOA/releases/download/v1.5.1/abPOA-v1.5.1.tar.gz
+tar -zxvf abPOA-v1.5.1.tar.gz && cd abPOA-v1.5.1
```
Make from source and run with test data:
```
@@ -34,7 +34,7 @@ abpoa ./test_data/seq.fa > cons.fa
## Table of Contents
- [abPOA: adaptive banded Partial Order Alignment](#abpoa-adaptive-banded-partial-order-alignment)
- - [Updates (v1.5.0)](#updates-v150)
+ - [Updates (v1.5.1)](#updates-v151)
- [Getting started](#getting-started)
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
@@ -92,9 +92,9 @@ You can also build abPOA from source files.
Make sure you have gcc (>=6.4.0) and zlib installed before compiling.
It is recommended to download the [latest release](https://github.com/yangao07/abPOA/releases).
```
-wget https://github.com/yangao07/abPOA/releases/download/v1.5.0/abPOA-v1.5.0.tar.gz
-tar -zxvf abPOA-v1.5.0.tar.gz
-cd abPOA-v1.5.0; make
+wget https://github.com/yangao07/abPOA/releases/download/v1.5.1/abPOA-v1.5.1.tar.gz
+tar -zxvf abPOA-v1.5.1.tar.gz
+cd abPOA-v1.5.1; make
```
Or, you can use `git clone` command to download the source code.
This gives you the latest version of abPOA, which might be still under development.
@@ -106,13 +106,13 @@ cd abPOA; make
### <a name="binary"></a>Pre-built binary executable file for Linux/Unix or MacOS
If you meet any compiling issue, please try the pre-built binary file for linux:
```
-wget https://github.com/yangao07/abPOA/releases/download/v1.5.0/abPOA-v1.5.0_x64-linux.tar.gz
-tar -zxvf abPOA-v1.5.0_x64-linux.tar.gz
+wget https://github.com/yangao07/abPOA/releases/download/v1.5.1/abPOA-v1.5.1_x64-linux.tar.gz
+tar -zxvf abPOA-v1.5.1_x64-linux.tar.gz
```
or for macos:
```
-wget https://github.com/yangao07/abPOA/releases/download/v1.5.0/abPOA-v1.5.0_arm64-macos.tar.gz
-tar -zxvf abPOA-v1.5.0_arm64-macos.tar.gz
+wget https://github.com/yangao07/abPOA/releases/download/v1.5.1/abPOA-v1.5.1_arm64-macos.tar.gz
+tar -zxvf abPOA-v1.5.1_arm64-macos.tar.gz
```
## <a name="usage"></a>General usage
diff --git a/setup.py b/setup.py
index da85f21..52c0e7e 100644
--- a/setup.py
+++ b/setup.py
@@ -60,7 +60,7 @@ setup(
description = "pyabpoa: SIMD-based partial order alignment using adaptive band",
long_description = long_description,
long_description_content_type="text/markdown",
- version = "1.5.0",
+ version = "1.5.1",
url = "https://github.com/yangao07/abPOA",
author = "Yan Gao",
author_email = "gaoy1@chop.edu",
diff --git a/src/abpoa.c b/src/abpoa.c
index bf7ccd7..64105c1 100644
--- a/src/abpoa.c
+++ b/src/abpoa.c
@@ -16,7 +16,7 @@ char PROG[20] = "abpoa";
#define _bO BOLD UNDERLINE "O" NONE
#define _bA BOLD UNDERLINE "A" NONE
char DESCRIPTION[100] = _ba "daptive " _bb "anded " _bP "artial " _bO "rder " _bA "lignment";
-char VERSION[20] = "1.5.0";
+char VERSION[20] = "1.5.1";
char CONTACT[30] = "gaoy1@chop.edu";
const struct option abpoa_long_opt [] = {
diff --git a/src/simd_abpoa_align.c b/src/simd_abpoa_align.c
index 5505c95..9c2363c 100644
--- a/src/simd_abpoa_align.c
+++ b/src/simd_abpoa_align.c
@@ -1177,8 +1177,8 @@ void abpoa_free_simd_matrix(abpoa_simd_matrix_t *abm) {
// * dp_beg/end, dp_beg/end_sn if band
// * pre_n, pre_index
int simd_abpoa_realloc(abpoa_t *ab, int gn, int qlen, abpoa_para_t *abpt, SIMD_para_t sp) {
- int pn = sp.num_of_value, size = sp.size, sn = (qlen + sp.num_of_value) / pn;
- uint64_t s_msize = sn; s_msize = s_msize * abpt->m * size; // qp
+ uint64_t pn = sp.num_of_value, size = sp.size, sn = (qlen + sp.num_of_value) / pn;
+ uint64_t s_msize = sn * abpt->m * size; // qp
if (abpt->gap_mode == ABPOA_LINEAR_GAP) s_msize += (sn * gn * size); // DP_H, linear
else if (abpt->gap_mode == ABPOA_AFFINE_GAP) s_msize += (sn * gn * 3 * size); // DP_HEF, affine
@@ -1191,7 +1191,7 @@ int simd_abpoa_realloc(abpoa_t *ab, int gn, int qlen, abpoa_para_t *abpt, SIMD_p
// err_func_format_printf(__func__, "Warning: Graph is too large or query is too long.\n");
// return 1;
// }
- // fprintf(stderr, "%lld, %lld, %lld\n", (long long)node_n, (long long)ab->abm->s_msize, (long long)s_msize);
+ // fprintf(stderr, "%lld, %lld, %lld\n", (long long)gn, (long long)ab->abm->s_msize, (long long)s_msize);
if (s_msize > ab->abm->s_msize) {
if (ab->abm->s_mem) SIMDFree(ab->abm->s_mem);
kroundup64(s_msize); ab->abm->s_msize = s_msize;