ruby-minigraph 0.0.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +62 -0
  4. data/ext/Rakefile +56 -0
  5. data/ext/cmappy/cmappy.c +7 -0
  6. data/ext/cmappy/cmappy.h +8 -0
  7. data/ext/minigraph/LICENSE.txt +23 -0
  8. data/ext/minigraph/Makefile +66 -0
  9. data/ext/minigraph/NEWS.md +317 -0
  10. data/ext/minigraph/README.md +207 -0
  11. data/ext/minigraph/algo.c +194 -0
  12. data/ext/minigraph/algo.h +33 -0
  13. data/ext/minigraph/asm-call.c +147 -0
  14. data/ext/minigraph/bseq.c +133 -0
  15. data/ext/minigraph/bseq.h +76 -0
  16. data/ext/minigraph/cal_cov.c +139 -0
  17. data/ext/minigraph/doc/example1.png +0 -0
  18. data/ext/minigraph/doc/example2.png +0 -0
  19. data/ext/minigraph/doc/examples.graffle +0 -0
  20. data/ext/minigraph/format.c +241 -0
  21. data/ext/minigraph/galign.c +140 -0
  22. data/ext/minigraph/gchain1.c +532 -0
  23. data/ext/minigraph/gcmisc.c +223 -0
  24. data/ext/minigraph/gfa-aug.c +260 -0
  25. data/ext/minigraph/gfa-base.c +526 -0
  26. data/ext/minigraph/gfa-bbl.c +372 -0
  27. data/ext/minigraph/gfa-ed.c +617 -0
  28. data/ext/minigraph/gfa-io.c +395 -0
  29. data/ext/minigraph/gfa-priv.h +154 -0
  30. data/ext/minigraph/gfa.h +166 -0
  31. data/ext/minigraph/ggen.c +182 -0
  32. data/ext/minigraph/ggen.h +21 -0
  33. data/ext/minigraph/ggsimple.c +570 -0
  34. data/ext/minigraph/gmap.c +211 -0
  35. data/ext/minigraph/index.c +230 -0
  36. data/ext/minigraph/kalloc.c +224 -0
  37. data/ext/minigraph/kalloc.h +82 -0
  38. data/ext/minigraph/kavl.h +414 -0
  39. data/ext/minigraph/kdq.h +134 -0
  40. data/ext/minigraph/ketopt.h +116 -0
  41. data/ext/minigraph/khashl.h +348 -0
  42. data/ext/minigraph/krmq.h +474 -0
  43. data/ext/minigraph/kseq.h +256 -0
  44. data/ext/minigraph/ksort.h +164 -0
  45. data/ext/minigraph/kstring.h +165 -0
  46. data/ext/minigraph/kthread.c +159 -0
  47. data/ext/minigraph/kthread.h +15 -0
  48. data/ext/minigraph/kvec-km.h +105 -0
  49. data/ext/minigraph/kvec.h +110 -0
  50. data/ext/minigraph/lchain.c +441 -0
  51. data/ext/minigraph/main.c +301 -0
  52. data/ext/minigraph/map-algo.c +500 -0
  53. data/ext/minigraph/mgpriv.h +128 -0
  54. data/ext/minigraph/minigraph.1 +359 -0
  55. data/ext/minigraph/minigraph.h +176 -0
  56. data/ext/minigraph/miniwfa.c +834 -0
  57. data/ext/minigraph/miniwfa.h +95 -0
  58. data/ext/minigraph/misc/mgutils.js +1451 -0
  59. data/ext/minigraph/misc.c +12 -0
  60. data/ext/minigraph/options.c +134 -0
  61. data/ext/minigraph/shortk.c +251 -0
  62. data/ext/minigraph/sketch.c +109 -0
  63. data/ext/minigraph/sys.c +147 -0
  64. data/ext/minigraph/sys.h +20 -0
  65. data/ext/minigraph/test/MT-chimp.fa +277 -0
  66. data/ext/minigraph/test/MT-human.fa +239 -0
  67. data/ext/minigraph/test/MT-orangA.fa +276 -0
  68. data/ext/minigraph/test/MT.gfa +19 -0
  69. data/ext/minigraph/tex/Makefile +13 -0
  70. data/ext/minigraph/tex/minigraph.bib +676 -0
  71. data/ext/minigraph/tex/minigraph.tex +986 -0
  72. data/ext/minigraph/tex/plots/CHM13-f1-90.bb.anno.gp +42 -0
  73. data/ext/minigraph/tex/plots/CHM13-f1-90.bb.anno.tbl +13 -0
  74. data/ext/minigraph/tex/plots/CHM13-f1-90.bb.mini-inter-none.win.gp +269 -0
  75. data/ext/minigraph/tex/plots/CHM13-f1-90.bb.mini-inter-none.win.sh +7 -0
  76. data/ext/minigraph/tex/plots/CHM13v1.cen.bed +23 -0
  77. data/ext/minigraph/tex/plots/CHM13v1.size +23 -0
  78. data/ext/minigraph/tex/plots/anno2tbl.js +40 -0
  79. data/ext/minigraph/tex/plots/bedutils.js +367 -0
  80. data/ext/minigraph/tex/plots/chr-plot.js +130 -0
  81. data/ext/minigraph/tex/plots/gen-anno.mak +24 -0
  82. data/ext/minigraph.patch +21 -0
  83. data/lib/minigraph/ffi/constants.rb +230 -0
  84. data/lib/minigraph/ffi/functions.rb +70 -0
  85. data/lib/minigraph/ffi/mappy.rb +8 -0
  86. data/lib/minigraph/ffi.rb +27 -0
  87. data/lib/minigraph/version.rb +5 -0
  88. data/lib/minigraph.rb +72 -0
  89. metadata +159 -0
@@ -0,0 +1,230 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Minigraph
4
+ module FFI
5
+ M_SPLICE = 0x10
6
+ M_SR = 0x20
7
+ M_FRAG_MODE = 0x40
8
+ M_FRAG_MERGE = 0x80
9
+ M_FOR_ONLY = 0x100
10
+ M_REV_ONLY = 0x200
11
+ M_HEAP_SORT = 0x400
12
+ M_VERTEX_COOR = 0x800
13
+ M_ALL_CHAINS = 0x1000
14
+ M_PRINT_2ND = 0x2000
15
+ M_CAL_COV = 0x4000
16
+ M_RMQ = 0x8000
17
+ M_COPY_COMMENT = 0x10000
18
+ M_INDEPEND_SEG = 0x20000
19
+ M_NO_QUAL = 0x40000
20
+ M_2_IO_THREADS = 0x80000
21
+ M_SHOW_UNMAP = 0x100000
22
+ M_NO_COMP_PATH = 0x200000
23
+ M_NO_DIAG = 0x400000
24
+ M_WRITE_LCHAIN = 0x800000
25
+ M_WRITE_MZ = 0x1000000
26
+ M_SKIP_GCHECK = 0x2000000
27
+ M_CIGAR = 0x4000000
28
+
29
+ G_NONE = 0
30
+ G_GGSIMPLE = 1
31
+
32
+ G_NO_QOVLP = 0x1
33
+ G_CAL_COV = 0x2
34
+ G_NO_INV = 0x4
35
+ G_CALL = 0x8
36
+
37
+ # emulate 128-bit integers
38
+ class MG128 < ::FFI::Struct
39
+ layout \
40
+ :x, :uint64_t,
41
+ :y, :uint64_t
42
+ end
43
+
44
+ # emulate 128-bit arrays
45
+ class MG128V < ::FFI::Struct
46
+ layout \
47
+ :n, :size_t,
48
+ :m, :size_t,
49
+ :a, MG128.ptr
50
+ end
51
+
52
+ class MG32V < ::FFI::Struct
53
+ layout \
54
+ :n, :int32,
55
+ :m, :int32,
56
+ :a, :pointer
57
+ end
58
+
59
+ class MG64V < ::FFI::Struct
60
+ layout \
61
+ :n, :int32,
62
+ :m, :int32,
63
+ :a, :pointer
64
+ end
65
+
66
+ # indexing option
67
+ class IdxOpt < ::FFI::Struct
68
+ layout \
69
+ :k, :int,
70
+ :w, :int,
71
+ :bucket_bits, :int
72
+ end
73
+
74
+ class MapOpt < ::FFI::Struct
75
+ layout \
76
+ :flag, :uint64_t,
77
+ :mini_batch_size, :int64_t,
78
+ :seed, :int,
79
+ :max_qlen, :int,
80
+ :pe_ori, :int,
81
+ :occ_max1, :int,
82
+ :occ_max1_cap, :int,
83
+ :occ_max1_frac, :float,
84
+ :bw, :int,
85
+ :bw_long, :int,
86
+ :rmq_size_cap, :int,
87
+ :rmq_rescue_size, :int,
88
+ :rmq_rescue_ratio, :float,
89
+ :max_gap_pre, :int,
90
+ :max_gap, :int,
91
+ :max_gap_ref, :int,
92
+ :max_frag_len, :int,
93
+ :div, :float,
94
+ :chn_pen_gap, :float,
95
+ :chn_pen_skip, :float,
96
+ :max_lc_skip, :int,
97
+ :max_lc_iter, :int,
98
+ :max_gc_skip, :int,
99
+ :min_lc_cnt, :int,
100
+ :min_lc_score, :int,
101
+ :min_gc_cnt, :int,
102
+ :min_gc_score, :int,
103
+ :gdp_max_ed, :int,
104
+ :lc_max_trim, :int,
105
+ :lc_max_occ, :int,
106
+ :mask_level, :float,
107
+ :sub_diff, :int,
108
+ :best_n, :int,
109
+ :pri_ratio, :float,
110
+ :ref_bonus, :int,
111
+ :cap_kalloc, :int64_t,
112
+ :min_cov_mapq, :int,
113
+ :min_cov_blen, :int
114
+ end
115
+
116
+ class GGOpt < ::FFI::Struct
117
+ layout \
118
+ :flag, :uint64_t,
119
+ :algo, :int,
120
+ :min_mapq, :int,
121
+ :min_map_len, :int,
122
+ :min_depth_len, :int,
123
+ :min_var_len, :int,
124
+ :match_pen, :int,
125
+ # parameters specific to ggsimple/ggs
126
+ :ggs_shrink_pen, :int,
127
+ :ggs_min_end_cnt, :int,
128
+ :ggs_min_end_frac, :float,
129
+ # scoring for SW check
130
+ :ggs_max_iden, :float,
131
+ :ggs_min_inv_iden, :float
132
+ end
133
+
134
+ class Idx < ::FFI::Struct
135
+ layout \
136
+ :g, :pointer, # const gfa_t *g
137
+ :es, :pointer, # gfa_edseq_t *es;
138
+ :b, :int32,
139
+ :w, :int32,
140
+ :k, :int32,
141
+ :flag, :int32,
142
+ :n_seq, :int32,
143
+ :B, :pointer # mg_idx_bucket_s *B
144
+ end
145
+
146
+ class LChain < ::FFI::BitStruct
147
+ layout \
148
+ :off, :int32,
149
+ :cnt_inner_pre, :int32,
150
+ :v, :uint32,
151
+ :rs, :int32,
152
+ :re, :int32,
153
+ :qs, :int32,
154
+ :qe, :int32,
155
+ :score, :int32,
156
+ :dist_pre, :int32,
157
+ :hash_pre, :uint32
158
+
159
+ bit_fields :cnt_inner_pre,
160
+ :cnt, 31,
161
+ :inner_pre, 1
162
+ end
163
+
164
+ class LLChain < ::FFI::Struct
165
+ layout \
166
+ :off, :int32,
167
+ :cnt, :int32,
168
+ :v, :uint32,
169
+ :score, :int32,
170
+ :ed, :int32
171
+ end
172
+
173
+ class Cigar < ::FFI::Struct
174
+ layout \
175
+ :n_cigar, :int32,
176
+ :mlen, :int32,
177
+ :blen, :int32,
178
+ :aplen, :int32,
179
+ :ss, :int32,
180
+ :ee, :int32,
181
+ :cigar, :pointer # uint64_t cigar[]
182
+ end
183
+
184
+ class GChain < ::FFI::BitStruct
185
+ layout \
186
+ :id, :int32,
187
+ :parent, :int32,
188
+ :off, :int32,
189
+ :cnt, :int32,
190
+ :n_anchor, :int32,
191
+ :score, :int32,
192
+ :qs, :int32,
193
+ :qe, :int32,
194
+ :plen, :int32,
195
+ :ps, :int32,
196
+ :pe, :int32,
197
+ :blen, :int32,
198
+ :mlen, :int32,
199
+ :div, :float,
200
+ :hash, :uint32,
201
+ :subsc, :int32,
202
+ :n_sub, :int32,
203
+ :mapq_fit_dummy, :uint32,
204
+ :p, Cigar.ptr
205
+
206
+ bit_fields :mapq_fit_dummy,
207
+ :mapq, 8,
208
+ :fit, 1,
209
+ :dummy, 23
210
+ end
211
+
212
+ class GChains < ::FFI::Struct
213
+ layout \
214
+ :km, :pointer, # void *km
215
+ :n_gc, :int32,
216
+ :n_lc, :int32,
217
+ :n_a, :int32,
218
+ :rep_len, :int32,
219
+ :gc, GChain.ptr,
220
+ :lc, LLChain.ptr,
221
+ :a, MG128.ptr
222
+ end
223
+
224
+ class TBuf < ::FFI::Struct
225
+ layout \
226
+ :km, :pointer, # void *km
227
+ :frag_gap, :int
228
+ end
229
+ end
230
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Minigraph
4
+ module FFI
5
+ attach_function \
6
+ :main,
7
+ %i[int pointer],
8
+ :int
9
+
10
+ # options
11
+ attach_function \
12
+ :mg_opt_set,
13
+ [:string, IdxOpt.by_ref, MapOpt.by_ref, GGOpt.by_ref],
14
+ :int
15
+
16
+ attach_function \
17
+ :mg_opt_check,
18
+ [IdxOpt.by_ref, MapOpt.by_ref, GGOpt.by_ref],
19
+ :int
20
+
21
+ attach_function \
22
+ :mg_opt_update,
23
+ [Idx.by_ref, MapOpt.by_ref, GGOpt.by_ref],
24
+ :void
25
+
26
+ # index operations
27
+ attach_function \
28
+ :mg_index,
29
+ [:pointer, IdxOpt.by_ref, :int, MapOpt.by_ref], # FIXME: gfa_t
30
+ Idx.by_ref
31
+
32
+ attach_function \
33
+ :mg_idx_destroy,
34
+ [Idx.by_ref],
35
+ :void
36
+
37
+ # mapping
38
+ attach_function \
39
+ :mg_tbuf_init,
40
+ [:void],
41
+ TBuf.by_ref
42
+
43
+ attach_function \
44
+ :mg_tbuf_destroy,
45
+ [TBuf.by_ref],
46
+ :void
47
+
48
+ attach_function \
49
+ :mg_map,
50
+ [Idx.by_ref, :int, :string, TBuf.by_ref, MapOpt.by_ref, :string],
51
+ GChains.by_ref
52
+
53
+ attach_function \
54
+ :mg_map_frag,
55
+ [Idx.by_ref, :int, :pointer, :pointer, GChains.by_ref, TBuf.by_ref, MapOpt.by_ref, :string],
56
+ :void
57
+
58
+ # high-level mapping APIs
59
+ attach_function \
60
+ :mg_map_files,
61
+ [:pointer, :int, :pointer, IdxOpt.by_ref, MapOpt.by_ref, :int], # FIXME: gfa_t
62
+ :int
63
+
64
+ # graph generation
65
+ attach_function \
66
+ :mg_ggen,
67
+ [:pointer, :int32, :pointer, IdxOpt.by_ref, MapOpt.by_ref, GGOpt.by_ref, :int], # FIXME: gfa_t
68
+ :int
69
+ end
70
+ end
@@ -0,0 +1,8 @@
1
+ module Minigraph
2
+ module FFI
3
+ attach_function \
4
+ :mg_verbose_level,
5
+ [:int],
6
+ :int
7
+ end
8
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ # bit fields
4
+ require "ffi/bit_struct"
5
+
6
+ module Minigraph
7
+ # Native APIs
8
+ module FFI
9
+ extend ::FFI::Library
10
+ begin
11
+ ffi_lib Minigraph.ffi_lib
12
+ rescue LoadError => e
13
+ raise LoadError, "Could not find #{Minigraph.ffi_lib} \n#{e}"
14
+ end
15
+
16
+ # Continue even if some functions are not found.
17
+ def self.attach_function(*)
18
+ super
19
+ rescue ::FFI::NotFoundError => e
20
+ warn e.message
21
+ end
22
+ end
23
+ end
24
+
25
+ require_relative "ffi/constants"
26
+ require_relative "ffi/functions"
27
+ require_relative "ffi/mappy"
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Minigraph
4
+ VERSION = "0.0.20.0"
5
+ end
data/lib/minigraph.rb ADDED
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ # dependencies
4
+ require "ffi"
5
+
6
+ # modules
7
+ require_relative "minigraph/version"
8
+
9
+ # Minigraph
10
+ # https://github.com/lh3/minigraph
11
+ # Li, H., Feng, X. & Chu, C. The design and construction of reference pangenome graphs
12
+ # with minigraph. Genome Biol 21, 265 (2020). https://doi.org/10.1186
13
+ module Minigraph
14
+ class Error < StandardError; end
15
+
16
+ class << self
17
+ attr_accessor :ffi_lib
18
+ end
19
+
20
+ lib_name = ::FFI.map_library_name("minigraph")
21
+ self.ffi_lib = if ENV["MINIGRAPHDIR"]
22
+ File.expand_path(lib_name, ENV["MINIGRAPHDIR"])
23
+ else
24
+ File.expand_path("../vendor/#{lib_name}", __dir__)
25
+ end
26
+
27
+ # friendlier error message
28
+ autoload :FFI, "minigraph/ffi"
29
+
30
+ class << self
31
+ # Execute minigraph comannd with given options.
32
+ # @overload execute(arg0,arg1,...)
33
+ # @param [String] arg minigraph command option.
34
+ # @example Get minigraph version
35
+ # Minigraph.execute('--version')
36
+
37
+ def execute(*rb_argv)
38
+ str_ptrs = []
39
+ # First argument is the program name.
40
+ str_ptrs << ::FFI::MemoryPointer.from_string("minigraph")
41
+ rb_argv.each do |arg|
42
+ arg.to_s.split(/\s+/).each do |s|
43
+ str_ptrs << ::FFI::MemoryPointer.from_string(s)
44
+ end
45
+ end
46
+ str_ptrs << nil
47
+
48
+ # Load all the pointers into a native memory block
49
+ argv = ::FFI::MemoryPointer.new(:pointer, str_ptrs.length)
50
+ str_ptrs.each_with_index do |p, i|
51
+ argv[i].put_pointer(0, p)
52
+ end
53
+
54
+ FFI.main(str_ptrs.length - 1, argv)
55
+ end
56
+
57
+ # Get verbosity level.
58
+ # @return [Integer] verbosity level.
59
+
60
+ def verbose
61
+ FFI.mg_verbose_level(-1)
62
+ end
63
+
64
+ # Set verbosity level.
65
+ # @param [Integer] verbosity level
66
+ # @return [Integer] verbosity level.
67
+
68
+ def verbose=(level)
69
+ FFI.mg_verbose_level(level)
70
+ end
71
+ end
72
+ end
metadata ADDED
@@ -0,0 +1,159 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ruby-minigraph
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.20.0
5
+ platform: ruby
6
+ authors:
7
+ - kojix2
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-05-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ffi
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: ffi-bitfield
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: Ruby bindings for minigraph (bioinformatics)
42
+ email:
43
+ - 2xijok@gmail.com
44
+ executables: []
45
+ extensions:
46
+ - ext/Rakefile
47
+ extra_rdoc_files: []
48
+ files:
49
+ - LICENSE.txt
50
+ - README.md
51
+ - ext/Rakefile
52
+ - ext/cmappy/cmappy.c
53
+ - ext/cmappy/cmappy.h
54
+ - ext/minigraph.patch
55
+ - ext/minigraph/LICENSE.txt
56
+ - ext/minigraph/Makefile
57
+ - ext/minigraph/NEWS.md
58
+ - ext/minigraph/README.md
59
+ - ext/minigraph/algo.c
60
+ - ext/minigraph/algo.h
61
+ - ext/minigraph/asm-call.c
62
+ - ext/minigraph/bseq.c
63
+ - ext/minigraph/bseq.h
64
+ - ext/minigraph/cal_cov.c
65
+ - ext/minigraph/doc/example1.png
66
+ - ext/minigraph/doc/example2.png
67
+ - ext/minigraph/doc/examples.graffle
68
+ - ext/minigraph/format.c
69
+ - ext/minigraph/galign.c
70
+ - ext/minigraph/gchain1.c
71
+ - ext/minigraph/gcmisc.c
72
+ - ext/minigraph/gfa-aug.c
73
+ - ext/minigraph/gfa-base.c
74
+ - ext/minigraph/gfa-bbl.c
75
+ - ext/minigraph/gfa-ed.c
76
+ - ext/minigraph/gfa-io.c
77
+ - ext/minigraph/gfa-priv.h
78
+ - ext/minigraph/gfa.h
79
+ - ext/minigraph/ggen.c
80
+ - ext/minigraph/ggen.h
81
+ - ext/minigraph/ggsimple.c
82
+ - ext/minigraph/gmap.c
83
+ - ext/minigraph/index.c
84
+ - ext/minigraph/kalloc.c
85
+ - ext/minigraph/kalloc.h
86
+ - ext/minigraph/kavl.h
87
+ - ext/minigraph/kdq.h
88
+ - ext/minigraph/ketopt.h
89
+ - ext/minigraph/khashl.h
90
+ - ext/minigraph/krmq.h
91
+ - ext/minigraph/kseq.h
92
+ - ext/minigraph/ksort.h
93
+ - ext/minigraph/kstring.h
94
+ - ext/minigraph/kthread.c
95
+ - ext/minigraph/kthread.h
96
+ - ext/minigraph/kvec-km.h
97
+ - ext/minigraph/kvec.h
98
+ - ext/minigraph/lchain.c
99
+ - ext/minigraph/main.c
100
+ - ext/minigraph/map-algo.c
101
+ - ext/minigraph/mgpriv.h
102
+ - ext/minigraph/minigraph.1
103
+ - ext/minigraph/minigraph.h
104
+ - ext/minigraph/miniwfa.c
105
+ - ext/minigraph/miniwfa.h
106
+ - ext/minigraph/misc.c
107
+ - ext/minigraph/misc/mgutils.js
108
+ - ext/minigraph/options.c
109
+ - ext/minigraph/shortk.c
110
+ - ext/minigraph/sketch.c
111
+ - ext/minigraph/sys.c
112
+ - ext/minigraph/sys.h
113
+ - ext/minigraph/test/MT-chimp.fa
114
+ - ext/minigraph/test/MT-human.fa
115
+ - ext/minigraph/test/MT-orangA.fa
116
+ - ext/minigraph/test/MT.gfa
117
+ - ext/minigraph/tex/Makefile
118
+ - ext/minigraph/tex/minigraph.bib
119
+ - ext/minigraph/tex/minigraph.tex
120
+ - ext/minigraph/tex/plots/CHM13-f1-90.bb.anno.gp
121
+ - ext/minigraph/tex/plots/CHM13-f1-90.bb.anno.tbl
122
+ - ext/minigraph/tex/plots/CHM13-f1-90.bb.mini-inter-none.win.gp
123
+ - ext/minigraph/tex/plots/CHM13-f1-90.bb.mini-inter-none.win.sh
124
+ - ext/minigraph/tex/plots/CHM13v1.cen.bed
125
+ - ext/minigraph/tex/plots/CHM13v1.size
126
+ - ext/minigraph/tex/plots/anno2tbl.js
127
+ - ext/minigraph/tex/plots/bedutils.js
128
+ - ext/minigraph/tex/plots/chr-plot.js
129
+ - ext/minigraph/tex/plots/gen-anno.mak
130
+ - lib/minigraph.rb
131
+ - lib/minigraph/ffi.rb
132
+ - lib/minigraph/ffi/constants.rb
133
+ - lib/minigraph/ffi/functions.rb
134
+ - lib/minigraph/ffi/mappy.rb
135
+ - lib/minigraph/version.rb
136
+ homepage: https://github.com/kojix2/ruby-minigraph
137
+ licenses:
138
+ - MIT
139
+ metadata: {}
140
+ post_install_message:
141
+ rdoc_options: []
142
+ require_paths:
143
+ - lib
144
+ required_ruby_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: '2.5'
149
+ required_rubygems_version: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ requirements: []
155
+ rubygems_version: 3.4.10
156
+ signing_key:
157
+ specification_version: 4
158
+ summary: Ruby bindings for minigraph
159
+ test_files: []