bio-maf 1.0.0-java → 1.0.1-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,6 +6,9 @@ module Bio
6
6
  module MAF
7
7
 
8
8
  class Struct
9
+
10
+ attr_reader :size
11
+
9
12
  def initialize(spec)
10
13
  @members = []
11
14
  @by_name = {}
@@ -16,6 +19,7 @@ module Bio
16
19
  @by_name[m.name] = m
17
20
  offset += m.size
18
21
  end
22
+ @size = offset
19
23
  end
20
24
 
21
25
  def fmt
@@ -30,9 +30,12 @@ module Bio::MAF
30
30
  # @return [String]
31
31
  attr_reader :fill_char
32
32
 
33
+ attr_accessor :remove_absent_species
34
+
33
35
  def initialize
34
36
  @species_map = {}
35
37
  self.fill_char = '*'
38
+ self.remove_absent_species = true
36
39
  end
37
40
 
38
41
  # Set the character to be used for filling regions with no
@@ -94,16 +97,20 @@ module Bio::MAF
94
97
  # @return [Array<String>]
95
98
  def tile
96
99
  parser.sequence_filter[:only_species] = species_to_use
97
- # TODO: remove gaps
100
+ parser.opts[:remove_gaps] = true
101
+ LOG.debug { "finding blocks covering interval #{interval}." }
98
102
  blocks = index.find([interval], parser).sort_by { |b| b.vars[:score] }
99
103
  mask = Array.new(interval.length, :ref)
100
104
  i_start = interval.zero_start
101
105
  i_end = interval.zero_end
102
106
  if reference
107
+ LOG.debug { "using a #{reference.class} reference." }
103
108
  ref_region = ref_data(i_start...i_end)
104
109
  end
110
+ LOG.debug "tiling #{blocks.count} blocks."
105
111
  blocks.each do |block|
106
112
  ref = block.ref_seq
113
+ LOG.debug { "tiling with block #{ref.start}-#{ref.end}" }
107
114
  slice_start = [i_start, ref.start].max
108
115
  slice_end = [i_end, ref.end].min
109
116
  mask.fill(block,
@@ -141,9 +148,27 @@ module Bio::MAF
141
148
  end
142
149
  end
143
150
  end
151
+ if remove_absent_species
152
+ non_fill = non_fill_re
153
+ LOG.debug { "searching for non-fill characters with #{non_fill}" }
154
+ text.each_with_index do |seq, i|
155
+ unless non_fill.match(seq)
156
+ text[i] = nil
157
+ end
158
+ end
159
+ end
144
160
  text
145
161
  end
146
162
 
163
+ def non_fill_re
164
+ fill_esc = Regexp.escape(fill_char)
165
+ Regexp.compile("[^#{fill_esc}]")
166
+ end
167
+
168
+ def output_text
169
+ species_for_output.zip(tile()).reject { |s, t| t.nil? }
170
+ end
171
+
147
172
  # Tile sequences to build a new {Bio::BioAlignment::Alignment
148
173
  # Alignment} object. This will have one
149
174
  # {Bio::BioAlignment::Sequence Sequence} per entry in {#species}
@@ -154,7 +179,9 @@ module Bio::MAF
154
179
  # @return [Bio::BioAlignment::Alignment]
155
180
  # @api public
156
181
  def build_bio_alignment
157
- Bio::BioAlignment::Alignment.new(tile(), species_for_output)
182
+ out = output_text.to_a
183
+ Bio::BioAlignment::Alignment.new(out.collect { |e| e[1] },
184
+ out.collect { |e| e[0] })
158
185
  end
159
186
 
160
187
  # Write a FASTA representation of the tiled sequences to the given
@@ -163,7 +190,7 @@ module Bio::MAF
163
190
  # @param [#puts] f the output stream to write the FASTA data to.
164
191
  # @api public
165
192
  def write_fasta(f)
166
- species_for_output.zip(tile()) do |sp_out, text|
193
+ output_text.each do |sp_out, text|
167
194
  f.puts ">#{sp_out}"
168
195
  f.puts text
169
196
  end
@@ -88,7 +88,20 @@ module Bio
88
88
  end
89
89
 
90
90
  def self.bin_from_range_extended(bin_start, bin_end)
91
- raise NotImplementedError, "Extended bins are not supported yet"
91
+
92
+ bin_start >>= BIN_FIRST_SHIFT
93
+ bin_end -= 1
94
+ bin_end >>= BIN_FIRST_SHIFT
95
+
96
+ BIN_OFFSETS_EXTENDED.each do |offset|
97
+ if bin_start == bin_end
98
+ return BIN_OFFSET_OLD_TO_EXTENDED + offset + bin_start
99
+ end
100
+ bin_start >>= BIN_NEXT_SHIFT
101
+ bin_end >>= BIN_NEXT_SHIFT
102
+ end
103
+ raise RangeError, \
104
+ "start #{bin_start}, end #{bin_end} out of range in findBin (max is 2GbM)"
92
105
  end
93
106
 
94
107
  def self.bin_all_standard(bin_start, bin_end)
@@ -76,6 +76,33 @@ Index the compressed MAF files as by maf_index(1)\.
76
76
  \fB\-a\fR, \fB\-\-all\fR
77
77
  When \fB\-\-index\fR is specified, index all sequences, not just the reference sequence\.
78
78
  .
79
+ .TP
80
+ \fB\-l\fR, \fB\-\-level LEVEL\fR
81
+ GZip compression level (1\-9) to use for the output BGZF file\. Lower compression levels give better compression performance but produce larger output files\. The default level is 2, which gives output files roughly twice as large as gzipped MAF files but still much smaller than uncompressed MAF files\.
82
+ .
83
+ .TP
84
+ \fB\-f\fR, \fB\-\-force\fR
85
+ Overwrite BGZF files and indexes if they already exist\. If \fB\-\-force\fR is not given, \fBmaf_bgzip\fR will exit with an error if any output files already exist\.
86
+ .
87
+ .TP
88
+ \fB\-j\fR, \fB\-\-jobs N\fR
89
+ Number of concurrent jobs to run, analogous to \fBmake \-j\fR\. This will use threads under JRuby, and fork(2) otherwise\. Note that under JRuby, each job already uses multiple threads, so less than one job per core may be appropriate depending on your system\. The default is 1 job\.
90
+ .
91
+ .TP
92
+ \fB\-q\fR, \fB\-\-quiet\fR
93
+ Run quietly, with warnings suppressed\.
94
+ .
95
+ .TP
96
+ \fB\-v\fR, \fB\-\-verbose\fR
97
+ Run verbosely, with additional informational messages\.
98
+ .
99
+ .TP
100
+ \fB\-\-debug\fR
101
+ Log debugging information\. This includes progress messages every 10 seconds showing the processing rate and other information\. For instance:
102
+ .
103
+ .IP
104
+ DEBUG bio\-maf: chr21\.maf\.gz: processed 94\.0 MB (26\.6%) in 50s, 2\.18 MB/s\.
105
+ .
79
106
  .SH "FILES"
80
107
  The MAF files must be valid and have names ending in \fB\.maf\fR\. They may be gzip\-compressed, in which case their names should end with \fB\.maf\.gz\fR\.
81
108
  .
@@ -54,6 +54,38 @@ As above, but with all `.maf.gz` files in the current directory:
54
54
  When `--index` is specified, index all sequences, not just the
55
55
  reference sequence.
56
56
 
57
+ * `-l`, `--level LEVEL`:
58
+ GZip compression level (1-9) to use for the output BGZF file. Lower
59
+ compression levels give better compression performance but produce
60
+ larger output files. The default level is 2, which gives output
61
+ files roughly twice as large as gzipped MAF files but still much
62
+ smaller than uncompressed MAF files.
63
+
64
+ * `-f`, `--force`:
65
+ Overwrite BGZF files and indexes if they already exist. If
66
+ `--force` is not given, `maf_bgzip` will exit with an error if any
67
+ output files already exist.
68
+
69
+ * `-j`, `--jobs N`:
70
+ Number of concurrent jobs to run, analogous to `make -j`. This will
71
+ use threads under JRuby, and fork(2) otherwise. Note that under
72
+ JRuby, each job already uses multiple threads, so less than one job
73
+ per core may be appropriate depending on your system. The default
74
+ is 1 job.
75
+
76
+ * `-q`, `--quiet`:
77
+ Run quietly, with warnings suppressed.
78
+
79
+ * `-v`, `--verbose`:
80
+ Run verbosely, with additional informational messages.
81
+
82
+ * `--debug`:
83
+ Log debugging information. This includes progress messages every 10
84
+ seconds showing the processing rate and other information. For
85
+ instance:
86
+
87
+ DEBUG bio-maf: chr21.maf.gz: processed 94.0 MB (26.6%) in 50s, 2.18 MB/s.
88
+
57
89
  ## FILES
58
90
 
59
91
  The MAF files must be valid and have names ending in `.maf`. They may
@@ -354,9 +354,11 @@ module Bio
354
354
 
355
355
  describe "#entries_for" do
356
356
  before(:each) do
357
- @p = Parser.new(TestData + 'mm8_chr7_tiny.maf')
357
+ fspec = TestData + 'mm8_chr7_tiny.maf'
358
+ @p = Parser.new(fspec)
358
359
  @block = @p.parse_block
359
360
  @idx = KyotoIndex.new('%')
361
+ @idx.prep(fspec, nil, true)
360
362
  @idx.ref_seq = 'mm8.chr7'
361
363
  end
362
364
  context "single ref seq" do
@@ -203,7 +203,12 @@ module Bio
203
203
  p.each_block.count.should == 8
204
204
  end
205
205
  end
206
-
206
+ it "is not called with an empty MAF file" do
207
+ called = false
208
+ p = described_class.new(TestData + 'empty.maf')
209
+ p.each_block { called = true }
210
+ called.should be_false
211
+ end
207
212
  end
208
213
 
209
214
  describe "sequence_filter" do
@@ -422,7 +427,6 @@ module Bio
422
427
  end
423
428
  end
424
429
 
425
-
426
430
  end
427
431
 
428
432
  end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ module Bio
4
+ module Ucsc
5
+
6
+ describe UcscBin do
7
+
8
+ describe "#bin_from_range" do
9
+ it "handles extended bin positions" do
10
+ bin = UcscBin.bin_from_range(538457395, 538457395+44)
11
+ bin.should == 13470
12
+ end
13
+ end
14
+
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,2 @@
1
+ ##maf version=1 scoring=autoMZ.v1
2
+ ##eof maf
@@ -0,0 +1,22 @@
1
+ ##maf version=1
2
+
3
+ a score=-25272.000000
4
+ s hg19.chr21 45711888 49 + 48129895 CCCAGCCC-TGAGAGG-----CA---GGCA-AAGCC-ACCA-GGGCTCGCAGGTGTTGG-G-G
5
+ s panTro2.chr21 43929302 49 + 46489110 CCCAGCCC-TGAGAGG-----CA---GGCA-AAGCC-ACCG-GGGCTCACAGGTGTTGG-G-G
6
+ s ponAbe2.chr21 45798576 50 + 48394510 CCCAGCCC-TGAGAGG-----CA---GGCA-AAGCC-ACTGTGGGCTCGCAGGTGTTGG-G-G
7
+ s rheMac2.chr3 193989355 50 - 196418989 CCCAGCCC-TGAAAGG-----CA---GGCA-AAGCC-ACTGTGGGCTCGCAGGTGTTGG-G-G
8
+ s papHam1.scaffold2514 101078 50 + 173392 CCCAGCCC-TGAAAGG-----CA---GGCA-AAGCC-ACTGTGGGCTCACAGGTGTTGG-G-G
9
+ s calJac1.Contig29699 3423 38 - 5168 CCCAGCCC-TGAGAGG-----CA---GGCA-TGGCC-ACTG------------CACTGG-A-G
10
+ s tupBel1.scaffold_137154.1-133939 54180 52 + 133939 -CCAGCAT-TACTGGG-----CATGTGGGA-GGGTA-AGTGAGGTTAAGTGAGTGGAAG-G-A
11
+ s mm9.chr10 52493253 51 - 129993255 CCAGGCCTATGACAAG-----CA---AGCA-CAGGT-GCTGAAGGGTACTGGGCATAGA-G-T
12
+ s rn4.chr20 10986619 51 + 55268282 CGGGGCCTCTGACAAG-----CA---GTCA-TAGGT-GCTGAGGGGTACTGGGCATAGA-A-T
13
+ s cavPor3.scaffold_90 891768 52 + 6390908 CCAGGCCCATGATAAG-----TA---GGCA-CAGGTCACTGTGGGTTGCCAGGTGCGGG-G-A
14
+ s bosTau4.chr1 13859060 57 - 161106243 CAGGGTCCATGGGAGCCAACACA---GGCATGGGCC-ACTGCCGGTTCCCAGGCGTCAG-GA-
15
+ s equCab2.chr26 39517986 34 + 41866177 CAAGGCCCATGAGAGT-----CA---GGCACCGGCT-GCTGC------------------G--
16
+ s felCat3.scaffold_165895 2620 51 + 47387 CAAGGCCAGCGAGAGC-----CA---CGCACGGGGC-TCTGCAGGTCAACAGATGTCCG-G--
17
+ s canFam2.chr31 40480374 51 + 42263495 TGGGGCCCATGAGAGC-----CA---CGCACAGGCC-GCTCCAGGTTAGCTGGGGTCCG-G--
18
+ s pteVam1.scaffold_21546 5985 44 + 11734 TTGTGCC------AAC-----CG---GGCACAGGCC-ACTGCAGGT--GTGGCTGTCAGAC--
19
+ s loxAfr3.scaffold_67 11385509 50 + 12172725 CCAGGCCC-AGAGGAA-----CC---AGTG-TAGAC-CACTGGGGCAAGCAGGGGTTGG-G-G
20
+ s proCap1.scaffold_55822 10181 50 + 14856 CAAGGCTC-TGAGGAA-----CT---AGTG-TAGAC-CACTGGGGTGAGCAGGGGCTGG-G-G
21
+ s echTel1.scaffold_150201 192 49 + 1457 CAAGGCCG-AGGGTGG-----C----GGAG-GAGCT-CCCGGTGGTGAGCAGGGGTTGG-G-G
22
+ s monDom5.chr2 538457395 44 + 541556283 CCCAGTGC-AGAGAGG-----CT---GGCC-CAA-C-AATCCGGGAACATGGGTGA-------
Binary file
Binary file
Binary file
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: bio-maf
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.0.0
5
+ version: 1.0.1
6
6
  platform: java
7
7
  authors:
8
8
  - Clayton Wheeler
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-02 00:00:00.000000000 Z
12
+ date: 2012-08-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bio-alignment
@@ -33,13 +33,13 @@ dependencies:
33
33
  requirements:
34
34
  - - ~>
35
35
  - !ruby/object:Gem::Version
36
- version: 0.2.0
36
+ version: 0.2.1
37
37
  none: false
38
38
  requirement: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - ~>
41
41
  - !ruby/object:Gem::Version
42
- version: 0.2.0
42
+ version: 0.2.1
43
43
  none: false
44
44
  prerelease: false
45
45
  type: :runtime
@@ -111,123 +111,249 @@ extra_rdoc_files:
111
111
  - LICENSE.txt
112
112
  - README.md
113
113
  files:
114
- - .document
115
- - .gitignore
116
- - .simplecov
117
- - .travis.yml
118
- - .yardopts
119
- - DEVELOPMENT.md
120
- - Gemfile
121
- - LICENSE.txt
122
- - README.md
123
- - Rakefile
124
- - VERSION
125
- - benchmarks/dispatch_bench
126
- - benchmarks/iter_bench
127
- - benchmarks/read_bench
128
- - benchmarks/sort_bench
129
- - benchmarks/split_bench
130
- - bin/find_overlaps
131
- - bin/maf_bgzip
132
- - bin/maf_count
133
- - bin/maf_dump_blocks
134
- - bin/maf_extract
135
- - bin/maf_extract_ranges_count
136
- - bin/maf_index
137
- - bin/maf_parse_bench
138
- - bin/maf_tile
139
- - bin/maf_to_fasta
140
- - bin/maf_write
141
- - bin/random_ranges
142
- - bio-maf.gemspec
143
- - features/bgzf.feature
144
- - features/block-joining.feature
145
- - features/dir-access.feature
146
- - features/gap-removal.feature
147
- - features/maf-indexing.feature
148
- - features/maf-output.feature
149
- - features/maf-parsing.feature
150
- - features/maf-querying.feature
151
- - features/maf-to-fasta.feature
152
- - features/slice.feature
153
- - features/step_definitions/convert_steps.rb
154
- - features/step_definitions/dir-access_steps.rb
155
- - features/step_definitions/file_steps.rb
156
- - features/step_definitions/gap_removal_steps.rb
157
- - features/step_definitions/index_steps.rb
158
- - features/step_definitions/output_steps.rb
159
- - features/step_definitions/parse_steps.rb
160
- - features/step_definitions/query_steps.rb
161
- - features/step_definitions/slice_steps.rb
162
- - features/step_definitions/tiling_steps.rb
163
- - features/step_definitions/ucsc_bin_steps.rb
164
- - features/support/aruba.rb
165
- - features/support/env.rb
166
- - features/tiling.feature
167
- - features/ucsc-bins.feature
168
- - lib/bio-maf.rb
169
- - lib/bio-maf/maf.rb
170
- - lib/bio/maf.rb
171
- - lib/bio/maf/index.rb
172
- - lib/bio/maf/maf.rb
173
- - lib/bio/maf/parser.rb
174
- - lib/bio/maf/struct.rb
175
- - lib/bio/maf/tiler.rb
176
- - lib/bio/maf/writer.rb
177
- - lib/bio/ucsc.rb
178
- - lib/bio/ucsc/genomic-interval-bin.rb
179
- - lib/bio/ucsc/ucsc_bin.rb
180
- - man/.gitignore
181
- - man/maf_bgzip.1
182
- - man/maf_bgzip.1.ronn
183
- - man/maf_extract.1
184
- - man/maf_extract.1.ronn
185
- - man/maf_index.1
186
- - man/maf_index.1.markdown
187
- - man/maf_index.1.ronn
188
- - man/maf_tile.1
189
- - man/maf_tile.1.ronn
190
- - man/maf_to_fasta.1
191
- - man/maf_to_fasta.1.ronn
192
- - spec/bio/maf/index_spec.rb
193
- - spec/bio/maf/maf_spec.rb
194
- - spec/bio/maf/parser_spec.rb
195
- - spec/bio/maf/struct_spec.rb
196
- - spec/bio/maf/tiler_spec.rb
197
- - spec/spec_helper.rb
198
- - test/data/big-block.maf
199
- - test/data/chr22_ieq.maf
200
- - test/data/chr22_ieq2.maf
201
- - test/data/chrY-1block.maf
202
- - test/data/empty
203
- - test/data/empty.db
204
- - test/data/gap-1.kct
205
- - test/data/gap-1.maf
206
- - test/data/gap-filled1.fa
207
- - test/data/gap-sp1.fa
208
- - test/data/gap-sp1.fa.gz
209
- - test/data/mm8.chrM.maf
210
- - test/data/mm8.chrM.maf.bgz
211
- - test/data/mm8_chr7_tiny.kct
212
- - test/data/mm8_chr7_tiny.maf
213
- - test/data/mm8_chr7_tiny.maf.gz
214
- - test/data/mm8_chr7_tiny_slice1.maf
215
- - test/data/mm8_chr7_tiny_slice2.maf
216
- - test/data/mm8_chr7_tiny_slice3.maf
217
- - test/data/mm8_chrM_tiny.kct
218
- - test/data/mm8_chrM_tiny.maf
219
- - test/data/mm8_mod_a.maf
220
- - test/data/mm8_single.maf
221
- - test/data/mm8_subset_a.maf
222
- - test/data/t1-bad1.maf
223
- - test/data/t1.fasta
224
- - test/data/t1.maf
225
- - test/data/t1a.maf
226
- - test/helper.rb
227
- - test/test_bio-maf.rb
228
- - travis-ci/install_kc
229
- - travis-ci/install_kc_java
230
- - travis-ci/report_errors
114
+ - !binary |-
115
+ LmRvY3VtZW50
116
+ - !binary |-
117
+ LmdpdGlnbm9yZQ==
118
+ - !binary |-
119
+ LnNpbXBsZWNvdg==
120
+ - !binary |-
121
+ LnRyYXZpcy55bWw=
122
+ - !binary |-
123
+ LnlhcmRvcHRz
124
+ - !binary |-
125
+ REVWRUxPUE1FTlQubWQ=
126
+ - !binary |-
127
+ R2VtZmlsZQ==
128
+ - !binary |-
129
+ TElDRU5TRS50eHQ=
130
+ - !binary |-
131
+ UkVBRE1FLm1k
132
+ - !binary |-
133
+ UmFrZWZpbGU=
134
+ - !binary |-
135
+ VkVSU0lPTg==
136
+ - !binary |-
137
+ YmVuY2htYXJrcy9kaXNwYXRjaF9iZW5jaA==
138
+ - !binary |-
139
+ YmVuY2htYXJrcy9pdGVyX2JlbmNo
140
+ - !binary |-
141
+ YmVuY2htYXJrcy9yZWFkX2JlbmNo
142
+ - !binary |-
143
+ YmVuY2htYXJrcy9zb3J0X2JlbmNo
144
+ - !binary |-
145
+ YmVuY2htYXJrcy9zcGxpdF9iZW5jaA==
146
+ - !binary |-
147
+ YmluL2ZpbmRfb3ZlcmxhcHM=
148
+ - !binary |-
149
+ YmluL21hZl9iZ3ppcA==
150
+ - !binary |-
151
+ YmluL21hZl9jb3VudA==
152
+ - !binary |-
153
+ YmluL21hZl9kdW1wX2Jsb2Nrcw==
154
+ - !binary |-
155
+ YmluL21hZl9leHRyYWN0
156
+ - !binary |-
157
+ YmluL21hZl9leHRyYWN0X3Jhbmdlc19jb3VudA==
158
+ - !binary |-
159
+ YmluL21hZl9pbmRleA==
160
+ - !binary |-
161
+ YmluL21hZl9wYXJzZV9iZW5jaA==
162
+ - !binary |-
163
+ YmluL21hZl90aWxl
164
+ - !binary |-
165
+ YmluL21hZl90b19mYXN0YQ==
166
+ - !binary |-
167
+ YmluL21hZl93cml0ZQ==
168
+ - !binary |-
169
+ YmluL3JhbmRvbV9yYW5nZXM=
170
+ - !binary |-
171
+ YmlvLW1hZi5nZW1zcGVj
172
+ - !binary |-
173
+ ZmVhdHVyZXMvYmd6Zi5mZWF0dXJl
174
+ - !binary |-
175
+ ZmVhdHVyZXMvYmxvY2stam9pbmluZy5mZWF0dXJl
176
+ - !binary |-
177
+ ZmVhdHVyZXMvZGlyLWFjY2Vzcy5mZWF0dXJl
178
+ - !binary |-
179
+ ZmVhdHVyZXMvZ2FwLXJlbW92YWwuZmVhdHVyZQ==
180
+ - !binary |-
181
+ ZmVhdHVyZXMvbWFmLWluZGV4aW5nLmZlYXR1cmU=
182
+ - !binary |-
183
+ ZmVhdHVyZXMvbWFmLW91dHB1dC5mZWF0dXJl
184
+ - !binary |-
185
+ ZmVhdHVyZXMvbWFmLXBhcnNpbmcuZmVhdHVyZQ==
186
+ - !binary |-
187
+ ZmVhdHVyZXMvbWFmLXF1ZXJ5aW5nLmZlYXR1cmU=
188
+ - !binary |-
189
+ ZmVhdHVyZXMvbWFmLXRvLWZhc3RhLmZlYXR1cmU=
190
+ - !binary |-
191
+ ZmVhdHVyZXMvc2xpY2UuZmVhdHVyZQ==
192
+ - !binary |-
193
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9jb252ZXJ0X3N0ZXBzLnJi
194
+ - !binary |-
195
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9kaXItYWNjZXNzX3N0ZXBzLnJi
196
+ - !binary |-
197
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9maWxlX3N0ZXBzLnJi
198
+ - !binary |-
199
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9nYXBfcmVtb3ZhbF9zdGVwcy5y
200
+ Yg==
201
+ - !binary |-
202
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9pbmRleF9zdGVwcy5yYg==
203
+ - !binary |-
204
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9vdXRwdXRfc3RlcHMucmI=
205
+ - !binary |-
206
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9wYXJzZV9zdGVwcy5yYg==
207
+ - !binary |-
208
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9xdWVyeV9zdGVwcy5yYg==
209
+ - !binary |-
210
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9zbGljZV9zdGVwcy5yYg==
211
+ - !binary |-
212
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy90aWxpbmdfc3RlcHMucmI=
213
+ - !binary |-
214
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy91Y3NjX2Jpbl9zdGVwcy5yYg==
215
+ - !binary |-
216
+ ZmVhdHVyZXMvc3VwcG9ydC9hcnViYS5yYg==
217
+ - !binary |-
218
+ ZmVhdHVyZXMvc3VwcG9ydC9lbnYucmI=
219
+ - !binary |-
220
+ ZmVhdHVyZXMvdGlsaW5nLmZlYXR1cmU=
221
+ - !binary |-
222
+ ZmVhdHVyZXMvdWNzYy1iaW5zLmZlYXR1cmU=
223
+ - !binary |-
224
+ bGliL2Jpby1tYWYucmI=
225
+ - !binary |-
226
+ bGliL2Jpby1tYWYvbWFmLnJi
227
+ - !binary |-
228
+ bGliL2Jpby9tYWYucmI=
229
+ - !binary |-
230
+ bGliL2Jpby9tYWYvaW5kZXgucmI=
231
+ - !binary |-
232
+ bGliL2Jpby9tYWYvam9icy5yYg==
233
+ - !binary |-
234
+ bGliL2Jpby9tYWYvbWFmLnJi
235
+ - !binary |-
236
+ bGliL2Jpby9tYWYvcGFyc2VyLnJi
237
+ - !binary |-
238
+ bGliL2Jpby9tYWYvc3RydWN0LnJi
239
+ - !binary |-
240
+ bGliL2Jpby9tYWYvdGlsZXIucmI=
241
+ - !binary |-
242
+ bGliL2Jpby9tYWYvd3JpdGVyLnJi
243
+ - !binary |-
244
+ bGliL2Jpby91Y3NjLnJi
245
+ - !binary |-
246
+ bGliL2Jpby91Y3NjL2dlbm9taWMtaW50ZXJ2YWwtYmluLnJi
247
+ - !binary |-
248
+ bGliL2Jpby91Y3NjL3Vjc2NfYmluLnJi
249
+ - !binary |-
250
+ bWFuLy5naXRpZ25vcmU=
251
+ - !binary |-
252
+ bWFuL21hZl9iZ3ppcC4x
253
+ - !binary |-
254
+ bWFuL21hZl9iZ3ppcC4xLnJvbm4=
255
+ - !binary |-
256
+ bWFuL21hZl9leHRyYWN0LjE=
257
+ - !binary |-
258
+ bWFuL21hZl9leHRyYWN0LjEucm9ubg==
259
+ - !binary |-
260
+ bWFuL21hZl9pbmRleC4x
261
+ - !binary |-
262
+ bWFuL21hZl9pbmRleC4xLm1hcmtkb3du
263
+ - !binary |-
264
+ bWFuL21hZl9pbmRleC4xLnJvbm4=
265
+ - !binary |-
266
+ bWFuL21hZl90aWxlLjE=
267
+ - !binary |-
268
+ bWFuL21hZl90aWxlLjEucm9ubg==
269
+ - !binary |-
270
+ bWFuL21hZl90b19mYXN0YS4x
271
+ - !binary |-
272
+ bWFuL21hZl90b19mYXN0YS4xLnJvbm4=
273
+ - !binary |-
274
+ c3BlYy9iaW8vbWFmL2luZGV4X3NwZWMucmI=
275
+ - !binary |-
276
+ c3BlYy9iaW8vbWFmL21hZl9zcGVjLnJi
277
+ - !binary |-
278
+ c3BlYy9iaW8vbWFmL3BhcnNlcl9zcGVjLnJi
279
+ - !binary |-
280
+ c3BlYy9iaW8vbWFmL3N0cnVjdF9zcGVjLnJi
281
+ - !binary |-
282
+ c3BlYy9iaW8vbWFmL3RpbGVyX3NwZWMucmI=
283
+ - !binary |-
284
+ c3BlYy9iaW8vdWNzYy91Y3NjX2Jpbl9zcGVjLnJi
285
+ - !binary |-
286
+ c3BlYy9zcGVjX2hlbHBlci5yYg==
287
+ - !binary |-
288
+ dGVzdC9kYXRhL2JpZy1ibG9jay5tYWY=
289
+ - !binary |-
290
+ dGVzdC9kYXRhL2NocjIyX2llcS5tYWY=
291
+ - !binary |-
292
+ dGVzdC9kYXRhL2NocjIyX2llcTIubWFm
293
+ - !binary |-
294
+ dGVzdC9kYXRhL2NoclktMWJsb2NrLm1hZg==
295
+ - !binary |-
296
+ dGVzdC9kYXRhL2VtcHR5
297
+ - !binary |-
298
+ dGVzdC9kYXRhL2VtcHR5LmRi
299
+ - !binary |-
300
+ dGVzdC9kYXRhL2VtcHR5Lm1hZg==
301
+ - !binary |-
302
+ dGVzdC9kYXRhL2V4dC1iaW4ubWFm
303
+ - !binary |-
304
+ dGVzdC9kYXRhL2dhcC0xLmtjdA==
305
+ - !binary |-
306
+ dGVzdC9kYXRhL2dhcC0xLm1hZg==
307
+ - !binary |-
308
+ dGVzdC9kYXRhL2dhcC1maWxsZWQxLmZh
309
+ - !binary |-
310
+ dGVzdC9kYXRhL2dhcC1zcDEuZmE=
311
+ - !binary |-
312
+ dGVzdC9kYXRhL2dhcC1zcDEuZmEuZ3o=
313
+ - !binary |-
314
+ dGVzdC9kYXRhL21tOC5jaHJNLm1hZg==
315
+ - !binary |-
316
+ dGVzdC9kYXRhL21tOC5jaHJNLm1hZi5iZ3o=
317
+ - !binary |-
318
+ dGVzdC9kYXRhL21tOF9jaHI3X3Rpbnkua2N0
319
+ - !binary |-
320
+ dGVzdC9kYXRhL21tOF9jaHI3X3RpbnkubWFm
321
+ - !binary |-
322
+ dGVzdC9kYXRhL21tOF9jaHI3X3RpbnkubWFmLmd6
323
+ - !binary |-
324
+ dGVzdC9kYXRhL21tOF9jaHI3X3Rpbnlfc2xpY2UxLm1hZg==
325
+ - !binary |-
326
+ dGVzdC9kYXRhL21tOF9jaHI3X3Rpbnlfc2xpY2UyLm1hZg==
327
+ - !binary |-
328
+ dGVzdC9kYXRhL21tOF9jaHI3X3Rpbnlfc2xpY2UzLm1hZg==
329
+ - !binary |-
330
+ dGVzdC9kYXRhL21tOF9jaHJNX3Rpbnkua2N0
331
+ - !binary |-
332
+ dGVzdC9kYXRhL21tOF9jaHJNX3RpbnkubWFm
333
+ - !binary |-
334
+ dGVzdC9kYXRhL21tOF9tb2RfYS5tYWY=
335
+ - !binary |-
336
+ dGVzdC9kYXRhL21tOF9zaW5nbGUubWFm
337
+ - !binary |-
338
+ dGVzdC9kYXRhL21tOF9zdWJzZXRfYS5tYWY=
339
+ - !binary |-
340
+ dGVzdC9kYXRhL3QxLWJhZDEubWFm
341
+ - !binary |-
342
+ dGVzdC9kYXRhL3QxLmZhc3Rh
343
+ - !binary |-
344
+ dGVzdC9kYXRhL3QxLm1hZg==
345
+ - !binary |-
346
+ dGVzdC9kYXRhL3QxYS5tYWY=
347
+ - !binary |-
348
+ dGVzdC9oZWxwZXIucmI=
349
+ - !binary |-
350
+ dGVzdC90ZXN0X2Jpby1tYWYucmI=
351
+ - !binary |-
352
+ dHJhdmlzLWNpL2luc3RhbGxfa2M=
353
+ - !binary |-
354
+ dHJhdmlzLWNpL2luc3RhbGxfa2NfamF2YQ==
355
+ - !binary |-
356
+ dHJhdmlzLWNpL3JlcG9ydF9lcnJvcnM=
231
357
  homepage: http://github.com/csw/bioruby-maf
232
358
  licenses:
233
359
  - MIT
@@ -242,13 +368,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
242
368
  segments:
243
369
  - 0
244
370
  hash: 2
245
- version: '0'
371
+ version: !binary |-
372
+ MA==
246
373
  none: false
247
374
  required_rubygems_version: !ruby/object:Gem::Requirement
248
375
  requirements:
249
376
  - - ! '>='
250
377
  - !ruby/object:Gem::Version
251
- version: '0'
378
+ version: !binary |-
379
+ MA==
252
380
  none: false
253
381
  requirements: []
254
382
  rubyforge_project:
@@ -257,65 +385,133 @@ signing_key:
257
385
  specification_version: 3
258
386
  summary: MAF parser for BioRuby
259
387
  test_files:
260
- - features/bgzf.feature
261
- - features/block-joining.feature
262
- - features/dir-access.feature
263
- - features/gap-removal.feature
264
- - features/maf-indexing.feature
265
- - features/maf-output.feature
266
- - features/maf-parsing.feature
267
- - features/maf-querying.feature
268
- - features/maf-to-fasta.feature
269
- - features/slice.feature
270
- - features/step_definitions/convert_steps.rb
271
- - features/step_definitions/dir-access_steps.rb
272
- - features/step_definitions/file_steps.rb
273
- - features/step_definitions/gap_removal_steps.rb
274
- - features/step_definitions/index_steps.rb
275
- - features/step_definitions/output_steps.rb
276
- - features/step_definitions/parse_steps.rb
277
- - features/step_definitions/query_steps.rb
278
- - features/step_definitions/slice_steps.rb
279
- - features/step_definitions/tiling_steps.rb
280
- - features/step_definitions/ucsc_bin_steps.rb
281
- - features/support/aruba.rb
282
- - features/support/env.rb
283
- - features/tiling.feature
284
- - features/ucsc-bins.feature
285
- - spec/bio/maf/index_spec.rb
286
- - spec/bio/maf/maf_spec.rb
287
- - spec/bio/maf/parser_spec.rb
288
- - spec/bio/maf/struct_spec.rb
289
- - spec/bio/maf/tiler_spec.rb
290
- - spec/spec_helper.rb
291
- - test/data/big-block.maf
292
- - test/data/chr22_ieq.maf
293
- - test/data/chr22_ieq2.maf
294
- - test/data/chrY-1block.maf
295
- - test/data/empty
296
- - test/data/empty.db
297
- - test/data/gap-1.kct
298
- - test/data/gap-1.maf
299
- - test/data/gap-filled1.fa
300
- - test/data/gap-sp1.fa
301
- - test/data/gap-sp1.fa.gz
302
- - test/data/mm8.chrM.maf
303
- - test/data/mm8.chrM.maf.bgz
304
- - test/data/mm8_chr7_tiny.kct
305
- - test/data/mm8_chr7_tiny.maf
306
- - test/data/mm8_chr7_tiny.maf.gz
307
- - test/data/mm8_chr7_tiny_slice1.maf
308
- - test/data/mm8_chr7_tiny_slice2.maf
309
- - test/data/mm8_chr7_tiny_slice3.maf
310
- - test/data/mm8_chrM_tiny.kct
311
- - test/data/mm8_chrM_tiny.maf
312
- - test/data/mm8_mod_a.maf
313
- - test/data/mm8_single.maf
314
- - test/data/mm8_subset_a.maf
315
- - test/data/t1-bad1.maf
316
- - test/data/t1.fasta
317
- - test/data/t1.maf
318
- - test/data/t1a.maf
319
- - test/helper.rb
320
- - test/test_bio-maf.rb
388
+ - !binary |-
389
+ ZmVhdHVyZXMvYmd6Zi5mZWF0dXJl
390
+ - !binary |-
391
+ ZmVhdHVyZXMvYmxvY2stam9pbmluZy5mZWF0dXJl
392
+ - !binary |-
393
+ ZmVhdHVyZXMvZGlyLWFjY2Vzcy5mZWF0dXJl
394
+ - !binary |-
395
+ ZmVhdHVyZXMvZ2FwLXJlbW92YWwuZmVhdHVyZQ==
396
+ - !binary |-
397
+ ZmVhdHVyZXMvbWFmLWluZGV4aW5nLmZlYXR1cmU=
398
+ - !binary |-
399
+ ZmVhdHVyZXMvbWFmLW91dHB1dC5mZWF0dXJl
400
+ - !binary |-
401
+ ZmVhdHVyZXMvbWFmLXBhcnNpbmcuZmVhdHVyZQ==
402
+ - !binary |-
403
+ ZmVhdHVyZXMvbWFmLXF1ZXJ5aW5nLmZlYXR1cmU=
404
+ - !binary |-
405
+ ZmVhdHVyZXMvbWFmLXRvLWZhc3RhLmZlYXR1cmU=
406
+ - !binary |-
407
+ ZmVhdHVyZXMvc2xpY2UuZmVhdHVyZQ==
408
+ - !binary |-
409
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9jb252ZXJ0X3N0ZXBzLnJi
410
+ - !binary |-
411
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9kaXItYWNjZXNzX3N0ZXBzLnJi
412
+ - !binary |-
413
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9maWxlX3N0ZXBzLnJi
414
+ - !binary |-
415
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9nYXBfcmVtb3ZhbF9zdGVwcy5y
416
+ Yg==
417
+ - !binary |-
418
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9pbmRleF9zdGVwcy5yYg==
419
+ - !binary |-
420
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9vdXRwdXRfc3RlcHMucmI=
421
+ - !binary |-
422
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9wYXJzZV9zdGVwcy5yYg==
423
+ - !binary |-
424
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9xdWVyeV9zdGVwcy5yYg==
425
+ - !binary |-
426
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9zbGljZV9zdGVwcy5yYg==
427
+ - !binary |-
428
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy90aWxpbmdfc3RlcHMucmI=
429
+ - !binary |-
430
+ ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy91Y3NjX2Jpbl9zdGVwcy5yYg==
431
+ - !binary |-
432
+ ZmVhdHVyZXMvc3VwcG9ydC9hcnViYS5yYg==
433
+ - !binary |-
434
+ ZmVhdHVyZXMvc3VwcG9ydC9lbnYucmI=
435
+ - !binary |-
436
+ ZmVhdHVyZXMvdGlsaW5nLmZlYXR1cmU=
437
+ - !binary |-
438
+ ZmVhdHVyZXMvdWNzYy1iaW5zLmZlYXR1cmU=
439
+ - !binary |-
440
+ c3BlYy9iaW8vbWFmL2luZGV4X3NwZWMucmI=
441
+ - !binary |-
442
+ c3BlYy9iaW8vbWFmL21hZl9zcGVjLnJi
443
+ - !binary |-
444
+ c3BlYy9iaW8vbWFmL3BhcnNlcl9zcGVjLnJi
445
+ - !binary |-
446
+ c3BlYy9iaW8vbWFmL3N0cnVjdF9zcGVjLnJi
447
+ - !binary |-
448
+ c3BlYy9iaW8vbWFmL3RpbGVyX3NwZWMucmI=
449
+ - !binary |-
450
+ c3BlYy9iaW8vdWNzYy91Y3NjX2Jpbl9zcGVjLnJi
451
+ - !binary |-
452
+ c3BlYy9zcGVjX2hlbHBlci5yYg==
453
+ - !binary |-
454
+ dGVzdC9kYXRhL2JpZy1ibG9jay5tYWY=
455
+ - !binary |-
456
+ dGVzdC9kYXRhL2NocjIyX2llcS5tYWY=
457
+ - !binary |-
458
+ dGVzdC9kYXRhL2NocjIyX2llcTIubWFm
459
+ - !binary |-
460
+ dGVzdC9kYXRhL2NoclktMWJsb2NrLm1hZg==
461
+ - !binary |-
462
+ dGVzdC9kYXRhL2VtcHR5
463
+ - !binary |-
464
+ dGVzdC9kYXRhL2VtcHR5LmRi
465
+ - !binary |-
466
+ dGVzdC9kYXRhL2VtcHR5Lm1hZg==
467
+ - !binary |-
468
+ dGVzdC9kYXRhL2V4dC1iaW4ubWFm
469
+ - !binary |-
470
+ dGVzdC9kYXRhL2dhcC0xLmtjdA==
471
+ - !binary |-
472
+ dGVzdC9kYXRhL2dhcC0xLm1hZg==
473
+ - !binary |-
474
+ dGVzdC9kYXRhL2dhcC1maWxsZWQxLmZh
475
+ - !binary |-
476
+ dGVzdC9kYXRhL2dhcC1zcDEuZmE=
477
+ - !binary |-
478
+ dGVzdC9kYXRhL2dhcC1zcDEuZmEuZ3o=
479
+ - !binary |-
480
+ dGVzdC9kYXRhL21tOC5jaHJNLm1hZg==
481
+ - !binary |-
482
+ dGVzdC9kYXRhL21tOC5jaHJNLm1hZi5iZ3o=
483
+ - !binary |-
484
+ dGVzdC9kYXRhL21tOF9jaHI3X3Rpbnkua2N0
485
+ - !binary |-
486
+ dGVzdC9kYXRhL21tOF9jaHI3X3RpbnkubWFm
487
+ - !binary |-
488
+ dGVzdC9kYXRhL21tOF9jaHI3X3RpbnkubWFmLmd6
489
+ - !binary |-
490
+ dGVzdC9kYXRhL21tOF9jaHI3X3Rpbnlfc2xpY2UxLm1hZg==
491
+ - !binary |-
492
+ dGVzdC9kYXRhL21tOF9jaHI3X3Rpbnlfc2xpY2UyLm1hZg==
493
+ - !binary |-
494
+ dGVzdC9kYXRhL21tOF9jaHI3X3Rpbnlfc2xpY2UzLm1hZg==
495
+ - !binary |-
496
+ dGVzdC9kYXRhL21tOF9jaHJNX3Rpbnkua2N0
497
+ - !binary |-
498
+ dGVzdC9kYXRhL21tOF9jaHJNX3RpbnkubWFm
499
+ - !binary |-
500
+ dGVzdC9kYXRhL21tOF9tb2RfYS5tYWY=
501
+ - !binary |-
502
+ dGVzdC9kYXRhL21tOF9zaW5nbGUubWFm
503
+ - !binary |-
504
+ dGVzdC9kYXRhL21tOF9zdWJzZXRfYS5tYWY=
505
+ - !binary |-
506
+ dGVzdC9kYXRhL3QxLWJhZDEubWFm
507
+ - !binary |-
508
+ dGVzdC9kYXRhL3QxLmZhc3Rh
509
+ - !binary |-
510
+ dGVzdC9kYXRhL3QxLm1hZg==
511
+ - !binary |-
512
+ dGVzdC9kYXRhL3QxYS5tYWY=
513
+ - !binary |-
514
+ dGVzdC9oZWxwZXIucmI=
515
+ - !binary |-
516
+ dGVzdC90ZXN0X2Jpby1tYWYucmI=
321
517
  ...