From 0bf8fcbb8385f14f6f00828ca923c778e12f365a Mon Sep 17 00:00:00 2001 From: Martin Larralde Date: Thu, 19 Sep 2024 16:05:49 +0200 Subject: [PATCH] Bump embedded FAMSA to `v2.2.3` --- patches/sequence.cpp.patch | 66 +++++++++++--------------------------- patches/sequence.h.patch | 17 +++++++--- pyfamsa/_famsa.pyx | 4 +-- setup.py | 8 ++--- vendor/FAMSA | 2 +- 5 files changed, 39 insertions(+), 58 deletions(-) diff --git a/patches/sequence.cpp.patch b/patches/sequence.cpp.patch index abf0893..cc6f07d 100644 --- a/patches/sequence.cpp.patch +++ b/patches/sequence.cpp.patch @@ -1,6 +1,10 @@ -@@ -19,6 +19,18 @@ - - +diff --git a/src/core/sequence.cpp b/src/core/sequence.cpp +index 54401be..83d0f2f 100644 +--- a/src/core/sequence.cpp ++++ b/src/core/sequence.cpp +@@ -19,6 +19,18 @@ char CGappedSequence::mapping_table[25] = "ARNDCQEGHILKMFPSTWYVBZX*"; + + // ******************************************************************* +CSequence::CSequence() + : @@ -15,12 +19,12 @@ +{} + CSequence::CSequence(const string& _id, const string& seq, int sequence_no, memory_monotonic_safe* mma) - : - length(0), -@@ -79,6 +91,39 @@ + : + length(0), +@@ -79,6 +91,39 @@ CSequence::CSequence(const string& _id, const string& seq, int sequence_no, memo } } - + +// ******************************************************************* +CSequence::CSequence(const CSequence& x) +{ @@ -55,57 +59,25 @@ +} + // ******************************************************************* - CSequence::CSequence(CSequence&& x) noexcept + CSequence::CSequence(CSequence&& x) noexcept : -@@ -105,10 +150,11 @@ - - +@@ -105,10 +150,10 @@ CSequence::CSequence(CSequence&& x) noexcept + + // ******************************************************************* -/* -+ CSequence& CSequence::operator=(CSequence&& x) noexcept { this->sequence_no = move(x.sequence_no); + this->original_no = move(x.original_no); this->length = move(x.length); this->id = move(x.id); - -@@ -127,7 +173,7 @@ - + +@@ -127,7 +172,6 @@ CSequence& CSequence::operator=(CSequence&& x) noexcept + return *this; } -*/ -+ - + // ******************************************************************* CSequence::~CSequence() -@@ -231,6 +277,7 @@ - symbols=(symbol_t*)mma->allocate(symbols_size + 1);} - else { - symbols=new symbol_t[symbols_size +1];} -+ *symbols = GUARD; - } - else { - symbols=nullptr; -@@ -255,10 +302,10 @@ - char* q = find(mapping_table, mapping_table + 25, c); - if (q == mapping_table + 25) { - extra_symbols.emplace_back(is, c); // save non-standard symbol -- symbols[is] = (symbol_t)UNKNOWN_SYMBOL; -+ symbols[is+1] = (symbol_t)UNKNOWN_SYMBOL; - } - else { -- symbols[is] = (symbol_t)(q - mapping_table); -+ symbols[is+1] = (symbol_t)(q - mapping_table); - } - - ++is; -@@ -313,7 +360,7 @@ - symbols = new symbol_t[symbols_size + 1]; - - -- copy_n(_gapped_sequence.symbols, symbols_size, symbols); -+ copy_n(_gapped_sequence.symbols, symbols_size + 1, symbols); - - n_gaps = _gapped_sequence.n_gaps; - dps = _gapped_sequence.dps; diff --git a/patches/sequence.h.patch b/patches/sequence.h.patch index 2f7943b..fdd0e50 100644 --- a/patches/sequence.h.patch +++ b/patches/sequence.h.patch @@ -1,7 +1,17 @@ -@@ -35,1 +35,1 @@ +diff --git a/src/core/sequence.h b/src/core/sequence.h +index ac37942..e17620e 100644 +--- a/src/core/sequence.h ++++ b/src/core/sequence.h +@@ -32,7 +32,7 @@ public: + bit_vec_t *p_bit_masks; + uint32_t p_bv_len; + - const int original_no; + int original_no; -@@ -42,15 +42,15 @@ + int sequence_no; + string id; + +@@ -42,15 +42,15 @@ public: vector> extra_symbols; public: @@ -12,8 +22,7 @@ // sequences are not copyable - CSequence(const CSequence& x) noexcept = delete; + CSequence(const CSequence& x); -- CSequence& operator=(const CSequence& x) noexcept = delete; -+ // CSequence& operator=(const CSequence& x) noexcept; + CSequence& operator=(const CSequence& x) noexcept = delete; CSequence(CSequence&& x) noexcept; - CSequence& operator=(CSequence&& x) noexcept = delete; diff --git a/pyfamsa/_famsa.pyx b/pyfamsa/_famsa.pyx index c6c52e7..25842ed 100644 --- a/pyfamsa/_famsa.pyx +++ b/pyfamsa/_famsa.pyx @@ -102,9 +102,9 @@ def famsa_info(): Example: >>> info = famsa_info() >>> info.version - '2.2.2' + '2.2.3' >>> info.date - datetime.date(2022, 10, 9) + datetime.date(2024, 9, 17) """ _VersionInfo = collections.namedtuple("_VersionInfo", ["major", "minor", "micro"]) diff --git a/setup.py b/setup.py index b65719d..049d206 100644 --- a/setup.py +++ b/setup.py @@ -69,7 +69,7 @@ def _detect_target_system(platform): # --- Utils ------------------------------------------------------------------ -_HEADER_PATTERN = re.compile(r"^@@ -(\d+),?(\d+)? \+(\d+),?(\d+)? @@$") +_HEADER_PATTERN = re.compile(r"^@@ -(\d+),?(\d+)? \+(\d+),?(\d+)? @@") def _eprint(*args, **kwargs): @@ -102,7 +102,7 @@ def _apply_patch(s,patch,revert=False): i = 0 sl = 0 midx, sign = (1,'+') if not revert else (3,'-') - while i < len(p) and p[i].startswith(("---","+++")): + while i < len(p) and not p[i].startswith("@@"): i += 1 # skip header lines while i < len(p): @@ -781,7 +781,7 @@ def run(self): os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "src", "core", "profile_seq.cpp"), os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "src", "core", "sequence.cpp"), os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "src", "core", "queues.cpp"), - os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "libs", "mimalloc", "static.cpp"), + os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "libs", "mimalloc", "src", "static.c"), # LCS_OBJS os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "src", "lcs", "lcsbp.cpp"), os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "src", "lcs", "lcsbp_classic.cpp"), @@ -792,7 +792,7 @@ def run(self): os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "src", "tree"), os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "src", "utils"), os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "src"), - os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "libs", "mimalloc"), + os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "libs", "mimalloc", "include"), os.path.join(SETUP_FOLDER, "vendor", "FAMSA", "libs"), os.path.join(SETUP_FOLDER, "include"), ], diff --git a/vendor/FAMSA b/vendor/FAMSA index 7eb7612..5efa514 160000 --- a/vendor/FAMSA +++ b/vendor/FAMSA @@ -1 +1 @@ -Subproject commit 7eb7612c661362747709021e3a9ff2c2d89bbdca +Subproject commit 5efa51495b8a4187ecfd82a87f58d586b4b5ee9f