minimap2 0.2.22.0 → 0.2.23.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ceb411a88448c6ed13e6d842450264e91569260c9b19d77e699a93736768522
4
- data.tar.gz: 76c1f3466375b73c54db6cd2574ffe19a817b11994d50e9e8473a209566b14f5
3
+ metadata.gz: b22ce0b5ca5e9cb117ba31802303053571c40d0893065298f8585f00dfdcb653
4
+ data.tar.gz: b76275c1b624ddbd12dc4bd1185f77ef16656fb113df4d668b1b651cd67ed1d1
5
5
  SHA512:
6
- metadata.gz: 05a313f05984e2afab772da3971249327a9461a92d8b1fbcf53329ea5cd9d421e4ab8a137bd16213b86d6912bf1d43fd7f22c1bb5408a36004a64296fab294d9
7
- data.tar.gz: 7739312455aba2b14192eef634623f351fc4cea721d142b815ce41d651bc3de84e0fe413de6d24e8551ed90a2d71bcbf82a3df5b87685cb1474e6a134ed9fefe
6
+ metadata.gz: a7a8ec0bbf34a82bf827293038a46210665a7c903e15fe3b2dbcfe71e88125ae82cca9b6649efefa1208e109538961c2a124517dc258ae2de8de8ff7aba10030
7
+ data.tar.gz: 9807c04d8cabd3b548a780c12266d6b0f4e3cfd4aae539e4d289541d64bff1e07ffebd9765fb6d0e33fb317030eb8142c950e21658b72be752b08aa90982be08
data/README.md CHANGED
@@ -83,7 +83,7 @@ pp hits[0]
83
83
 
84
84
  API is based on [Mappy](https://github.com/lh3/minimap2/tree/master/python), the official Python binding for Minimap2.
85
85
 
86
- Note: `Aligner#map` has been changed to `aligne`, because `map` means iterator in Ruby.
86
+ Note: `Aligner#map` has been changed to `align`, because `map` means iterator in Ruby.
87
87
 
88
88
  ```markdown
89
89
  * Minimap2 module
@@ -101,6 +101,7 @@ module Minimap2
101
101
  :min_cnt, :int, # min number of minimizers on each chain
102
102
  :min_chain_score, :int, # min chaining score
103
103
  :chain_gap_scale, :float,
104
+ :chain_skip_scale, :float,
104
105
  :rmq_size_cap, :int,
105
106
  :rmq_inner_dist, :int,
106
107
  :rmq_rescue_size, :int,
@@ -132,6 +133,7 @@ module Minimap2
132
133
  :pe_ori, :int,
133
134
  :pe_bonus, :int,
134
135
  :mid_occ_frac, :float, # only used by mm_mapopt_update(); see below
136
+ :q_occ_frac, :float,
135
137
  :min_mid_occ, :int32_t,
136
138
  :mid_occ, :int32_t, # ignore seeds with occurrences above this threshold
137
139
  :max_occ, :int32_t,
@@ -188,7 +190,7 @@ module Minimap2
188
190
  :n_ambi_trans_strand, :uint32,
189
191
  :n_cigar, :uint32
190
192
 
191
- bitfields :n_ambi_trans_strand,
193
+ bit_field :n_ambi_trans_strand,
192
194
  :n_ambi, 30, # number of ambiguous bases
193
195
  :trans_strand, 2 # transcript strand: 0 for unknown, 1 for +, 2 for -
194
196
 
@@ -220,19 +222,20 @@ module Minimap2
220
222
  :div, :float,
221
223
  :p, Extra.ptr
222
224
 
223
- bitfields :fields,
224
- :mapq, 8,
225
- :split, 2,
226
- :rev, 1,
227
- :inv, 1,
228
- :sam_pri, 1,
229
- :proper_frag, 1,
230
- :pe_thru, 1,
231
- :seg_split, 1,
232
- :seg_id, 8,
233
- :split_inv, 1,
234
- :is_alt, 1,
235
- :dummy, 6
225
+ bit_field :fields,
226
+ :mapq, 8,
227
+ :split, 2,
228
+ :rev, 1,
229
+ :inv, 1,
230
+ :sam_pri, 1,
231
+ :proper_frag, 1,
232
+ :pe_thru, 1,
233
+ :seg_split, 1,
234
+ :seg_id, 8,
235
+ :split_inv, 1,
236
+ :is_alt, 1,
237
+ :strand_retained, 1,
238
+ :dummy, 5
236
239
  end
237
240
 
238
241
  # memory buffer for thread-local storage during mapping
data/lib/minimap2/ffi.rb CHANGED
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # bit fields
4
- require_relative 'ffi_helper'
5
-
4
+ require 'ffi/bit_struct'
6
5
  module Minimap2
7
6
  # Native APIs
8
7
  module FFI
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Minimap2
4
- # Minimap2-2.22 (r1101)
5
- VERSION = '0.2.22.0'
4
+ # Minimap2-2.23 (r1111)
5
+ VERSION = '0.2.23.0'
6
6
  end
data/lib/minimap2.rb CHANGED
@@ -3,9 +3,6 @@
3
3
  # dependencies
4
4
  require 'ffi'
5
5
 
6
- # bit fields
7
- require_relative 'minimap2/ffi_helper'
8
-
9
6
  # modules
10
7
  require_relative 'minimap2/aligner'
11
8
  require_relative 'minimap2/alignment'
Binary file
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.22.0
4
+ version: 0.2.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - kojix2
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-08 00:00:00.000000000 Z
11
+ date: 2021-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -25,90 +25,20 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: ffi-bitfield
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: irb
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: minitest
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: rubocop
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: tty-command
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
34
+ type: :runtime
105
35
  prerelease: false
106
36
  version_requirements: !ruby/object:Gem::Requirement
107
37
  requirements:
108
38
  - - ">="
109
39
  - !ruby/object:Gem::Version
110
40
  version: '0'
111
- description: minimap2
41
+ description: Ruby bindings to the Minimap2 aligner.
112
42
  email:
113
43
  - 2xijok@gmail.com
114
44
  executables: []
@@ -124,7 +54,6 @@ files:
124
54
  - lib/minimap2/ffi/constants.rb
125
55
  - lib/minimap2/ffi/functions.rb
126
56
  - lib/minimap2/ffi/mappy.rb
127
- - lib/minimap2/ffi_helper.rb
128
57
  - lib/minimap2/version.rb
129
58
  - vendor/libminimap2.so
130
59
  homepage: https://github.com/kojix2/ruby-minimap2
@@ -146,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
75
  - !ruby/object:Gem::Version
147
76
  version: '0'
148
77
  requirements: []
149
- rubygems_version: 3.2.22
78
+ rubygems_version: 3.2.26
150
79
  signing_key:
151
80
  specification_version: 4
152
81
  summary: minimap2
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'ffi'
4
-
5
- module FFI
6
- class BitStruct < Struct
7
- class << self
8
- # def union_layout(*args)
9
- # Class.new(FFI::Union) { layout(*args) }
10
- # end
11
-
12
- # def struct_layout(*args)
13
- # Class.new(FFI::Struct) { layout(*args) }
14
- # end
15
-
16
- module BitFieldsModule
17
- def [](name)
18
- bit_fields = self.class.bit_fields_map
19
- parent, start, width = bit_fields[name]
20
- if parent
21
- (super(parent) >> start) & ((1 << width) - 1)
22
- else
23
- super(name)
24
- end
25
- end
26
- end
27
- private_constant :BitFieldsModule
28
-
29
- attr_reader :bit_fields_map
30
-
31
- def bitfields(*args)
32
- unless instance_variable_defined?(:@bit_fields)
33
- @bit_fields_map = {}
34
- prepend BitFieldsModule
35
- end
36
-
37
- parent = args.shift
38
- labels = []
39
- widths = []
40
- args.each_slice(2) do |l, w|
41
- labels << l
42
- widths << w
43
- end
44
- starts = widths.inject([0]) do |result, w|
45
- result << (result.last + w)
46
- end
47
- labels.zip(starts, widths).each do |l, s, w|
48
- @bit_fields_map[l] = [parent, s, w]
49
- end
50
- end
51
- end
52
- end
53
- end