minimap2 0.2.25.2 → 0.2.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b39dfb4b48657157d832341715e82568012249c35f3f5a8c7bb406578ca6e0a
4
- data.tar.gz: 83cb330e21c3cec98622f4fb8e865ae0f8871c2285b13df9eeb57bff4852ebce
3
+ metadata.gz: 49b59da1af652a8a5ffbde0f5d9e98b32d94a192039d1e948aced9bb926e75d1
4
+ data.tar.gz: 309fe28a4a58ccc2e5bd818c751fa33a40065756c0961fc96c35af7dbc24abea
5
5
  SHA512:
6
- metadata.gz: a7d94a3c71bd22f1441db0e54e004f0bde4e537d6066445a0940cdcfe634adc345332614d1dfeb138f732e5b1a15871612526a202d884ebcf7368091c9ba9e71
7
- data.tar.gz: f4c453ec32a95c93781453c5914b79c47f2e5272517f16abb3939e07b0282c294820b7f7f175ee7d3b1f184eeb6b3af4cb745464cb37bf1a31fb204f97259128
6
+ metadata.gz: b9faab29797eecd594b2f724e3c88d38457d2c60a24f01b9dd6ab0aa17a680e12db68755cf3f47d9873427f1577d81770e798f1395db17b39bffdbaf7230c330
7
+ data.tar.gz: cf3a3ea389fb1cbfabfd08fc17e073643db3c7ae59e74dcc11a75649e90ca2629a5c69fcc1548fab8755a8edb99c89a49e4353077aa3ef4b60bc9c129ec88a55
data/README.md CHANGED
@@ -169,6 +169,15 @@ Run tests.
169
169
  bundle exec rake test
170
170
  ```
171
171
 
172
+ Release a Gem.
173
+
174
+ ```
175
+ bundle exec rake minimap2:cleanall
176
+ bundle exec rake build
177
+ ls -l pkg # Check the size of the Gem and make sure it does not contain any unused code such as shared libraries or lib/simde.
178
+ bundle exec rake release
179
+ ```
180
+
172
181
  </details>
173
182
 
174
183
  ruby-minimap2 is a library under development and there are many points to be improved.
data/ext/Rakefile CHANGED
@@ -18,7 +18,14 @@ namespace :minimap2 do
18
18
  # Add -fPIC option to Makefile
19
19
  sh "git apply ../minimap2.patch"
20
20
  sh "cp ../cmappy/cmappy.h ../cmappy/cmappy.c ."
21
- sh "make"
21
+ case RbConfig::CONFIG["host_cpu"]
22
+ when /arm64/
23
+ sh "make arm_neon=1 aarch64=1"
24
+ when /arm/
25
+ sh "make arm_neon=1"
26
+ else
27
+ sh "make"
28
+ end
22
29
  case RbConfig::CONFIG["host_os"]
23
30
  when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
24
31
  sh "cc *.o -shared -o #{target_fname} -lm -lz -lpthread"
data/ext/minimap2/NEWS.md CHANGED
@@ -1,3 +1,12 @@
1
+ Release 2.26-r1175 (29 April 2023)
2
+ ----------------------------------
3
+
4
+ Fixed the broken Python package. This is the only change.
5
+
6
+ (2.25: 25 April 2023, r1173)
7
+
8
+
9
+
1
10
  Release 2.25-r1173 (25 April 2023)
2
11
  ----------------------------------
3
12
 
@@ -74,8 +74,8 @@ Detailed evaluations are available from the [minimap2 paper][doi] or the
74
74
  Minimap2 is optimized for x86-64 CPUs. You can acquire precompiled binaries from
75
75
  the [release page][release] with:
76
76
  ```sh
77
- curl -L https://github.com/lh3/minimap2/releases/download/v2.25/minimap2-2.25_x64-linux.tar.bz2 | tar -jxvf -
78
- ./minimap2-2.25_x64-linux/minimap2
77
+ curl -L https://github.com/lh3/minimap2/releases/download/v2.26/minimap2-2.26_x64-linux.tar.bz2 | tar -jxvf -
78
+ ./minimap2-2.26_x64-linux/minimap2
79
79
  ```
80
80
  If you want to compile from the source, you need to have a C compiler, GNU make
81
81
  and zlib development files installed. Then type `make` in the source code
@@ -31,8 +31,8 @@ To acquire the data used in this cookbook and to install minimap2 and paftools,
31
31
  please follow the command lines below:
32
32
  ```sh
33
33
  # install minimap2 executables
34
- curl -L https://github.com/lh3/minimap2/releases/download/v2.25/minimap2-2.25_x64-linux.tar.bz2 | tar jxf -
35
- cp minimap2-2.25_x64-linux/{minimap2,k8,paftools.js} . # copy executables
34
+ curl -L https://github.com/lh3/minimap2/releases/download/v2.26/minimap2-2.26_x64-linux.tar.bz2 | tar jxf -
35
+ cp minimap2-2.26_x64-linux/{minimap2,k8,paftools.js} . # copy executables
36
36
  export PATH="$PATH:"`pwd` # put the current directory on PATH
37
37
  # download example datasets
38
38
  curl -L https://github.com/lh3/minimap2/releases/download/v2.10/cookbook-data.tgz | tar zxf -
@@ -5,7 +5,7 @@
5
5
  #include <stdio.h>
6
6
  #include <sys/types.h>
7
7
 
8
- #define MM_VERSION "2.25-r1173"
8
+ #define MM_VERSION "2.26-r1175"
9
9
 
10
10
  #define MM_F_NO_DIAG (0x001LL) // no exact diagonal hit
11
11
  #define MM_F_NO_DUAL (0x002LL) // skip pairs where query name is lexicographically larger than target name
@@ -1,4 +1,4 @@
1
- .TH minimap2 1 "25 April 2023" "minimap2-2.25 (r1173)" "Bioinformatics tools"
1
+ .TH minimap2 1 "29 April 2023" "minimap2-2.26 (r1175)" "Bioinformatics tools"
2
2
  .SH NAME
3
3
  .PP
4
4
  minimap2 - mapping and alignment between collections of DNA sequences
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env k8
2
2
 
3
- var paftools_version = '2.25-r1173';
3
+ var paftools_version = '2.26-r1175';
4
4
 
5
5
  /*****************************
6
6
  ***** Library functions *****
@@ -3,7 +3,7 @@ from libc.stdlib cimport free
3
3
  cimport cmappy
4
4
  import sys
5
5
 
6
- __version__ = '2.25'
6
+ __version__ = '2.26'
7
7
 
8
8
  cmappy.mm_reset_timer()
9
9
 
@@ -1,40 +1,29 @@
1
1
  try:
2
2
  from setuptools import setup, Extension
3
- from setuptools.command.build_ext import build_ext
4
3
  except ImportError:
5
4
  from distutils.core import setup
6
5
  from distutils.extension import Extension
7
- from distutils.command.build_ext import build_ext
8
6
 
9
- import sys, platform, subprocess
7
+ import sys, platform
10
8
 
9
+ sys.path.append('python')
10
+
11
+ extra_compile_args = ['-DHAVE_KALLOC']
12
+ include_dirs = ["."]
13
+
14
+ if platform.machine() in ["aarch64", "arm64"]:
15
+ include_dirs.append("sse2neon/")
16
+ extra_compile_args.extend(['-ftree-vectorize', '-DKSW_SSE2_ONLY', '-D__SSE2__'])
17
+ else:
18
+ extra_compile_args.append('-msse4.1') # WARNING: ancient x86_64 CPUs don't have SSE4
11
19
 
12
20
  def readme():
13
21
  with open('python/README.rst') as f:
14
22
  return f.read()
15
23
 
16
-
17
- class LibMM2Build(build_ext):
18
- # Uses Makefile to build library, avoids duplicating logic
19
- # determining which objects to compile but does require
20
- # end users to have Make (since precompiled wheels are not
21
- # distributed on PyPI).
22
- def run(self):
23
- def compile_libminimap2(*args, **kwargs):
24
- cmd = ['make', 'libminimap2.a'] + list(args)
25
- subprocess.check_call(cmd)
26
- options = []
27
- if platform.machine() in ["aarch64", "arm64"]:
28
- options = ["arm_neon=1", "aarch64=1"]
29
- self.execute(
30
- compile_libminimap2, options,
31
- 'Compiling libminimap2 using Makefile')
32
- build_ext.run(self)
33
-
34
-
35
24
  setup(
36
25
  name = 'mappy',
37
- version = '2.25',
26
+ version = '2.26',
38
27
  url = 'https://github.com/lh3/minimap2',
39
28
  description = 'Minimap2 python binding',
40
29
  long_description = readme(),
@@ -43,15 +32,16 @@ setup(
43
32
  license = 'MIT',
44
33
  keywords = 'sequence-alignment',
45
34
  scripts = ['python/minimap2.py'],
46
- cmdclass = {'build_ext': LibMM2Build},
47
- ext_modules = [
48
- Extension(
49
- 'mappy',
50
- sources = ['python/mappy.pyx'],
51
- depends = ['python/cmappy.h', 'python/cmappy.pxd'],
52
- include_dirs = ['.'],
53
- extra_objects = ['libminimap2.a'],
54
- libraries = ['z', 'm', 'pthread'])],
35
+ ext_modules = [Extension('mappy',
36
+ sources = ['python/mappy.pyx', 'align.c', 'bseq.c', 'lchain.c', 'seed.c', 'format.c', 'hit.c', 'index.c', 'pe.c', 'options.c',
37
+ 'ksw2_extd2_sse.c', 'ksw2_exts2_sse.c', 'ksw2_extz2_sse.c', 'ksw2_ll_sse.c',
38
+ 'kalloc.c', 'kthread.c', 'map.c', 'misc.c', 'sdust.c', 'sketch.c', 'esterr.c', 'splitidx.c'],
39
+ depends = ['minimap.h', 'bseq.h', 'kalloc.h', 'kdq.h', 'khash.h', 'kseq.h', 'ksort.h',
40
+ 'ksw2.h', 'kthread.h', 'kvec.h', 'mmpriv.h', 'sdust.h',
41
+ 'python/cmappy.h', 'python/cmappy.pxd'],
42
+ extra_compile_args = extra_compile_args,
43
+ include_dirs = include_dirs,
44
+ libraries = ['z', 'm', 'pthread'])],
55
45
  classifiers = [
56
46
  'Development Status :: 5 - Production/Stable',
57
47
  'License :: OSI Approved :: MIT License',
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Minimap2
4
- # Minimap2-2.25 (r1173)
5
- VERSION = "0.2.25.2"
4
+ VERSION = "0.2.26.1"
6
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minimap2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.25.2
4
+ version: 0.2.26.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - kojix2
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-01 00:00:00.000000000 Z
11
+ date: 2023-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -150,7 +150,7 @@ homepage: https://github.com/kojix2/ruby-minimap2
150
150
  licenses:
151
151
  - MIT
152
152
  metadata: {}
153
- post_install_message:
153
+ post_install_message:
154
154
  rdoc_options: []
155
155
  require_paths:
156
156
  - lib
@@ -165,8 +165,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  requirements: []
168
- rubygems_version: 3.4.6
169
- signing_key:
168
+ rubygems_version: 3.4.10
169
+ signing_key:
170
170
  specification_version: 4
171
171
  summary: minimap2
172
172
  test_files: []