ms-sequest 0.0.24 → 0.1.0
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.
- data/History +4 -0
- data/Rakefile +13 -15
- data/VERSION +1 -1
- data/lib/ms/sequest/bioworks.rb +1 -1
- data/lib/ms/sequest/sqt.rb +17 -12
- data/lib/ms/sequest/srf.rb +72 -68
- data/spec/spec_helper.rb +0 -10
- metadata +20 -66
- data/Gemfile +0 -21
- data/Gemfile.lock +0 -39
data/History
CHANGED
data/Rakefile
CHANGED
@@ -1,12 +1,4 @@
|
|
1
1
|
require 'rubygems'
|
2
|
-
require 'bundler'
|
3
|
-
begin
|
4
|
-
Bundler.setup(:default, :development)
|
5
|
-
rescue Bundler::BundlerError => e
|
6
|
-
$stderr.puts e.message
|
7
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
-
exit e.status_code
|
9
|
-
end
|
10
2
|
require 'rake'
|
11
3
|
|
12
4
|
require 'jeweler'
|
@@ -19,7 +11,13 @@ Jeweler::Tasks.new do |gem|
|
|
19
11
|
gem.email = "jtprince@gmail.com"
|
20
12
|
gem.authors = ["John T. Prince"]
|
21
13
|
gem.rubyforge_project = 'mspire'
|
22
|
-
|
14
|
+
gem.add_runtime_dependency "ms-ident", ">= 0.0.20"
|
15
|
+
gem.add_runtime_dependency "ms-core", ">= 0.0.17"
|
16
|
+
#gem.add_runtime_dependency "ms-msrun", ">= 0.3.4"
|
17
|
+
gem.add_runtime_dependency "trollop", "~> 1.16"
|
18
|
+
gem.add_development_dependency "jeweler", "~> 1.5.2"
|
19
|
+
gem.add_development_dependency "ms-testdata", ">= 0.1.1"
|
20
|
+
gem.add_development_dependency "spec-more", ">= 0"
|
23
21
|
end
|
24
22
|
Jeweler::RubygemsDotOrgTasks.new
|
25
23
|
|
@@ -30,12 +28,12 @@ Rake::TestTask.new(:spec) do |spec|
|
|
30
28
|
spec.verbose = true
|
31
29
|
end
|
32
30
|
|
33
|
-
require 'rcov/rcovtask'
|
34
|
-
Rcov::RcovTask.new do |spec|
|
35
|
-
spec.libs << 'spec'
|
36
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
37
|
-
spec.verbose = true
|
38
|
-
end
|
31
|
+
#require 'rcov/rcovtask'
|
32
|
+
#Rcov::RcovTask.new do |spec|
|
33
|
+
# spec.libs << 'spec'
|
34
|
+
# spec.pattern = 'spec/**/*_spec.rb'
|
35
|
+
# spec.verbose = true
|
36
|
+
#end
|
39
37
|
|
40
38
|
task :default => :spec
|
41
39
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0
|
1
|
+
0.1.0
|
data/lib/ms/sequest/bioworks.rb
CHANGED
@@ -378,7 +378,7 @@ class Bioworks::Prot
|
|
378
378
|
end
|
379
379
|
end
|
380
380
|
|
381
|
-
Bioworks::Pep =
|
381
|
+
Bioworks::Pep = Struct.new( *%w(sequence mass deltamass charge xcorr deltacn sp rsp ions count tic prots base_name first_scan last_scan peptide_probability file _num_prots _first_prot aaseq).map(&:to_sym) )
|
382
382
|
# 0=sequence 1=mass 2=deltamass 3=charge 4=xcorr 5=deltacn 6=sp 7=rsp 8=ions 9=count 10=tic 11=prots 12=base_name 13=first_scan 14=last_scan 15=peptide_probability 16=file 17=_num_prots 18=_first_prot 19=aaseq
|
383
383
|
|
384
384
|
class Bioworks::Pep
|
data/lib/ms/sequest/sqt.rb
CHANGED
@@ -5,7 +5,6 @@ require 'set'
|
|
5
5
|
require 'ms/fasta'
|
6
6
|
require 'digest/md5'
|
7
7
|
|
8
|
-
|
9
8
|
require 'ms/ident/peptide'
|
10
9
|
require 'ms/ident/search'
|
11
10
|
|
@@ -116,7 +115,7 @@ module Ms
|
|
116
115
|
end
|
117
116
|
|
118
117
|
NEW_PROT = lambda do |_prot, _peptides|
|
119
|
-
Ms::Sequest::Sqt::Locus.new(
|
118
|
+
Ms::Sequest::Sqt::Locus.new(_prot.locus, _prot.description, _peptides)
|
120
119
|
end
|
121
120
|
|
122
121
|
# if the file contains the header key '/$Percolator v/' then the results
|
@@ -229,7 +228,7 @@ end
|
|
229
228
|
|
230
229
|
# all are cast as expected (total_intensity is a float)
|
231
230
|
# mh = observed mh
|
232
|
-
Ms::Sequest::Sqt::Spectrum =
|
231
|
+
Ms::Sequest::Sqt::Spectrum = Struct.new(* %w(first_scan last_scan charge time_to_process node mh total_intensity lowest_sp num_matched_peptides matches).map(&:to_sym) )
|
233
232
|
|
234
233
|
# 0=first_scan 1=last_scan 2=charge 3=time_to_process 4=node 5=mh 6=total_intensity 7=lowest_sp 8=num_matched_peptides 9=matches
|
235
234
|
|
@@ -255,7 +254,11 @@ class Ms::Sequest::Sqt::Spectrum
|
|
255
254
|
Ms::Sequest::Sqt::Match
|
256
255
|
end
|
257
256
|
match = match_klass.new.from_line( line )
|
258
|
-
match[10,3] = spectrum[0,3]
|
257
|
+
#match[10,3] = spectrum[0,3]
|
258
|
+
# structs cannot set multiple values at a time :(
|
259
|
+
match[10] = spectrum[0]
|
260
|
+
match[11] = spectrum[1]
|
261
|
+
match[12] = spectrum[2]
|
259
262
|
match[15] = base_name
|
260
263
|
matches << match
|
261
264
|
peptides << match
|
@@ -265,7 +268,7 @@ class Ms::Sequest::Sqt::Spectrum
|
|
265
268
|
when Ms::Sequest::Sqt::Locus::Leader
|
266
269
|
line.chomp!
|
267
270
|
key = line.split(Ms::Sequest::Sqt::Delimiter)[1]
|
268
|
-
locus = Ms::Sequest::Sqt::Locus.
|
271
|
+
locus = Ms::Sequest::Sqt::Locus.from_line( line )
|
269
272
|
loci << locus
|
270
273
|
end
|
271
274
|
end
|
@@ -308,7 +311,7 @@ class Ms::Sequest::Sqt::Spectrum
|
|
308
311
|
end
|
309
312
|
|
310
313
|
# Sqt format uses only indices 0 - 9
|
311
|
-
Ms::Sequest::Sqt::Match =
|
314
|
+
Ms::Sequest::Sqt::Match = Struct.new( *%w[rxcorr rsp mh deltacn_orig xcorr sp ions_matched ions_total sequence manual_validation_status first_scan last_scan charge deltacn aaseq base_name loci].map(&:to_sym) )
|
312
315
|
|
313
316
|
# 0=rxcorr 1=rsp 2=mh 3=deltacn_orig 4=xcorr 5=sp 6=ions_matched 7=ions_total 8=sequence 9=manual_validation_status 10=first_scan 11=last_scan 12=charge 13=deltacn 14=aaseq 15=base_name 16=loci
|
314
317
|
|
@@ -374,7 +377,7 @@ class Ms::Sequest::Sqt::Match::Percolator < Ms::Sequest::Sqt::Match
|
|
374
377
|
end
|
375
378
|
end
|
376
379
|
|
377
|
-
Ms::Sequest::Sqt::Locus =
|
380
|
+
Ms::Sequest::Sqt::Locus = Struct.new( :locus, :description, :peptides )
|
378
381
|
|
379
382
|
class Ms::Sequest::Sqt::Locus
|
380
383
|
Leader = 'L'
|
@@ -382,12 +385,14 @@ class Ms::Sequest::Sqt::Locus
|
|
382
385
|
def first_entry ; self[0] end
|
383
386
|
def reference ; self[0] end
|
384
387
|
|
385
|
-
def
|
388
|
+
def initialize(locus=nil, description=nil, peptides=[])
|
389
|
+
super(locus, description, peptides)
|
390
|
+
end
|
391
|
+
|
392
|
+
# returns a new Locus object
|
393
|
+
def self.from_line(line)
|
386
394
|
line.chomp!
|
387
|
-
|
388
|
-
self[0] = ar[1]
|
389
|
-
self[1] = ar[2]
|
390
|
-
self
|
395
|
+
self.new( *line.split(Ms::Sequest::Sqt::Delimiter) ) # fills in the first two values
|
391
396
|
end
|
392
397
|
|
393
398
|
end
|
data/lib/ms/sequest/srf.rb
CHANGED
@@ -4,9 +4,6 @@ require 'set'
|
|
4
4
|
require 'fileutils'
|
5
5
|
require 'scanf'
|
6
6
|
|
7
|
-
# other gems
|
8
|
-
require 'arrayclass'
|
9
|
-
|
10
7
|
# in library
|
11
8
|
require 'ms/ident/search'
|
12
9
|
require 'ms/ident/peptide'
|
@@ -169,9 +166,9 @@ class Ms::Sequest::Srf
|
|
169
166
|
fh.pos = start
|
170
167
|
|
171
168
|
num_files.times do |i|
|
172
|
-
dta_files[i] = Ms::Sequest::Srf::Dta.
|
169
|
+
dta_files[i] = Ms::Sequest::Srf::Dta.from_io(fh, unpack_35)
|
173
170
|
#p dta_files[i]
|
174
|
-
out_files[i] = Ms::Sequest::Srf::Out.
|
171
|
+
out_files[i] = Ms::Sequest::Srf::Out.from_io(fh, unpack_35, dup_refs_gt_0)
|
175
172
|
#p out_files[i]
|
176
173
|
end
|
177
174
|
[dta_files, out_files]
|
@@ -208,7 +205,7 @@ class Ms::Sequest::Srf
|
|
208
205
|
end
|
209
206
|
|
210
207
|
File.open(filename, 'rb') do |fh|
|
211
|
-
@header = Ms::Sequest::Srf::Header.
|
208
|
+
@header = Ms::Sequest::Srf::Header.from_io(fh)
|
212
209
|
@version = @header.version
|
213
210
|
|
214
211
|
unpack_35 = case @version
|
@@ -267,11 +264,18 @@ class Ms::Sequest::Srf
|
|
267
264
|
if opts[:read_pephits] && !@header.combined
|
268
265
|
@index.each_with_index do |ind,i|
|
269
266
|
mass_measured = @dta_files[i][0]
|
270
|
-
@out_files[i]
|
271
|
-
|
267
|
+
outfile = @out_files[i]
|
268
|
+
outfile.first_scan = ind[0]
|
269
|
+
outfile.last_scan = ind[1]
|
270
|
+
outfile.charge = ind[2]
|
271
|
+
|
272
|
+
pep_hits = @out_files[i].hits
|
272
273
|
@peptides.push( *pep_hits )
|
273
274
|
pep_hits.each do |pep_hit|
|
274
|
-
pep_hit[15
|
275
|
+
pep_hit[15] = @base_name
|
276
|
+
pep_hit[16] = ind[0]
|
277
|
+
pep_hit[17] = ind[1]
|
278
|
+
pep_hit[18] = ind[2]
|
275
279
|
# add the deltamass
|
276
280
|
pep_hit[12] = pep_hit[0] - mass_measured # real - measured (deltamass)
|
277
281
|
pep_hit[13] = 1.0e6 * pep_hit[12].abs / mass_measured ## ppm
|
@@ -320,7 +324,7 @@ class Ms::Sequest::Srf
|
|
320
324
|
fh.pos = start
|
321
325
|
|
322
326
|
header.num_dta_files.times do |i|
|
323
|
-
dta_files[i] = Ms::Sequest::Srf::Dta.
|
327
|
+
dta_files[i] = Ms::Sequest::Srf::Dta.from_io(fh, unpack_35)
|
324
328
|
end
|
325
329
|
dta_files
|
326
330
|
end
|
@@ -330,7 +334,7 @@ class Ms::Sequest::Srf
|
|
330
334
|
def read_out_files(fh,number_files, unpack_35, dup_refs_gt_0)
|
331
335
|
out_files = Array.new(number_files)
|
332
336
|
header.num_dta_files.times do |i|
|
333
|
-
out_files[i] = Ms::Sequest::Srf::Out.
|
337
|
+
out_files[i] = Ms::Sequest::Srf::Out.from_io(fh, unpack_35, dup_refs_gt_0)
|
334
338
|
end
|
335
339
|
out_files
|
336
340
|
end
|
@@ -390,11 +394,15 @@ class Ms::Sequest::Srf::Header
|
|
390
394
|
@dta_gen.num_dta_files
|
391
395
|
end
|
392
396
|
|
397
|
+
def self.from_io(fh)
|
398
|
+
self.new.from_io(fh)
|
399
|
+
end
|
400
|
+
|
393
401
|
# sets fh to 0 and grabs the information it wants
|
394
402
|
def from_io(fh)
|
395
403
|
st = fh.read(4)
|
396
404
|
@version = '3.' + st.unpack('I').first.to_s
|
397
|
-
@dta_gen = Ms::Sequest::Srf::DtaGen.
|
405
|
+
@dta_gen = Ms::Sequest::Srf::DtaGen.from_io(fh)
|
398
406
|
# if the start_mass end_mass start_scan and end_scan are all zero, its a
|
399
407
|
# combined srf file:
|
400
408
|
@combined = [0.0, 0.0, 0, 0].zip(%w(start_mass end_mass start_scan end_scan)).all? do |one,two|
|
@@ -456,10 +464,14 @@ class Ms::Sequest::Srf::DtaGen
|
|
456
464
|
# Integer
|
457
465
|
attr_accessor :end_scan
|
458
466
|
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
467
|
+
def self.from_io(io)
|
468
|
+
self.new.from_io(io)
|
469
|
+
end
|
470
|
+
|
471
|
+
# sets self based on the io object and returns self
|
472
|
+
def from_io(io)
|
473
|
+
io.pos = 0 if io.pos != 0
|
474
|
+
st = io.read(148)
|
463
475
|
(@start_time, @start_mass, @end_mass, @num_dta_files, @group_scan, @min_group_count, @min_ion_threshold, @start_scan, @end_scan) = st.unpack('x36ex12ex4ex48Ix12IIIII')
|
464
476
|
self
|
465
477
|
end
|
@@ -468,7 +480,7 @@ end
|
|
468
480
|
# total_num_possible_charge_states is not correct under 3.5 (Bioworks 3.3.1)
|
469
481
|
# unknown is, well unknown...
|
470
482
|
|
471
|
-
Ms::Sequest::Srf::Dta =
|
483
|
+
Ms::Sequest::Srf::Dta = Struct.new( *%w(mh dta_tic num_peaks charge ms_level unknown total_num_possible_charge_states peaks).map(&:to_sym) )
|
472
484
|
|
473
485
|
class Ms::Sequest::Srf::Dta
|
474
486
|
# original
|
@@ -488,28 +500,23 @@ class Ms::Sequest::Srf::Dta
|
|
488
500
|
"<Ms::Sequest::Srf::Dta @mh=#{mh} @dta_tic=#{dta_tic} @num_peaks=#{num_peaks} @charge=#{charge} @ms_level=#{ms_level} @total_num_possible_charge_states=#{total_num_possible_charge_states} @peaks=#{peaks_st} >"
|
489
501
|
end
|
490
502
|
|
491
|
-
def from_io(fh, unpack_35)
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
@read_header = 24
|
499
|
-
@read_spacer = 24
|
500
|
-
end
|
503
|
+
def self.from_io(fh, unpack_35)
|
504
|
+
(unpack, read_header, read_spacer) =
|
505
|
+
if unpack_35
|
506
|
+
[Unpack_35, 34, 22]
|
507
|
+
else
|
508
|
+
[Unpack_32, 24, 24]
|
509
|
+
end
|
501
510
|
|
502
|
-
st = fh.read(@read_header)
|
503
511
|
# get the bulk of the data in single unpack
|
504
|
-
|
512
|
+
# sets the first 7 attributes
|
513
|
+
dta = self.new(*fh.read(read_header).unpack(unpack))
|
505
514
|
|
506
515
|
# Scan numbers are given at the end in an index!
|
507
|
-
|
516
|
+
fh.read(read_spacer) # throwaway the spacer
|
508
517
|
|
509
|
-
|
510
|
-
|
511
|
-
self[7] = st3
|
512
|
-
self
|
518
|
+
dta[7] = fh.read(dta.num_peaks * 8) # (num_peaks * 8) is the number of bytes to read
|
519
|
+
dta
|
513
520
|
end
|
514
521
|
|
515
522
|
def to_dta_file_data
|
@@ -537,7 +544,8 @@ class Ms::Sequest::Srf::Dta
|
|
537
544
|
end
|
538
545
|
|
539
546
|
|
540
|
-
Ms::Sequest::Srf::Out =
|
547
|
+
#Ms::Sequest::Srf::Out = Struct.new( *%w(first_scan last_scan charge num_hits computer date_time hits total_inten lowest_sp num_matched_peptides db_locus_count).map(&:to_sym) )
|
548
|
+
Ms::Sequest::Srf::Out = Struct.new( *%w(num_hits computer date_time total_inten lowest_sp num_matched_peptides db_locus_count hits first_scan last_scan charge).map(&:to_sym) )
|
541
549
|
|
542
550
|
# 0=first_scan, 1=last_scan, 2=charge, 3=num_hits, 4=computer, 5=date_time, 6=hits, 7=total_inten, 8=lowest_sp, 9=num_matched_peptides, 10=db_locus_count
|
543
551
|
|
@@ -548,7 +556,7 @@ class Ms::Sequest::Srf::Out
|
|
548
556
|
undef_method :inspect
|
549
557
|
def inspect
|
550
558
|
hits_s =
|
551
|
-
if self
|
559
|
+
if self.hits
|
552
560
|
", @hits(#)=#{hits.size}"
|
553
561
|
else
|
554
562
|
''
|
@@ -556,21 +564,26 @@ class Ms::Sequest::Srf::Out
|
|
556
564
|
"<Ms::Sequest::Srf::Out first_scan=#{first_scan}, last_scan=#{last_scan}, charge=#{charge}, num_hits=#{num_hits}, computer=#{computer}, date_time=#{date_time}#{hits_s}>"
|
557
565
|
end
|
558
566
|
|
559
|
-
|
567
|
+
# returns an Ms::Sequest::Srf::Out object
|
568
|
+
def self.from_io(fh, unpack_35, dup_refs_gt_0)
|
560
569
|
## EMPTY out file is 96 bytes
|
561
570
|
## each hit is 320 bytes
|
562
571
|
## num_hits and charge:
|
563
572
|
st = fh.read(96)
|
564
573
|
|
565
|
-
|
566
|
-
|
567
|
-
|
574
|
+
# num_hits computer date_time
|
575
|
+
initial_vals = st.unpack( (unpack_35 ? Unpack_35 : Unpack_32) )
|
576
|
+
# total_inten lowest_sp num_matched_peptides db_locus_count
|
577
|
+
initial_vals.push( *st.unpack('@8eex4Ix4I') )
|
578
|
+
out_obj = self.new( *initial_vals )
|
579
|
+
|
580
|
+
_num_hits = out_obj.num_hits
|
568
581
|
|
569
|
-
ar = Array.new(
|
582
|
+
ar = Array.new(_num_hits)
|
570
583
|
if ar.size > 0
|
571
584
|
num_extra_references = 0
|
572
|
-
|
573
|
-
ar[i] = Ms::Sequest::Srf::Out::Peptide.
|
585
|
+
_num_hits.times do |i|
|
586
|
+
ar[i] = Ms::Sequest::Srf::Out::Peptide.from_io(fh, unpack_35)
|
574
587
|
num_extra_references += ar[i].num_other_loci
|
575
588
|
end
|
576
589
|
if dup_refs_gt_0
|
@@ -581,13 +594,11 @@ class Ms::Sequest::Srf::Out
|
|
581
594
|
## (the same as bioworks and prophet)
|
582
595
|
Ms::Sequest::Srf::Out::Peptide.set_deltacn_from_deltacn_orig(ar)
|
583
596
|
end
|
584
|
-
|
585
|
-
|
586
|
-
|
597
|
+
out_obj.hits = ar
|
598
|
+
out_obj[1].chomp! # computer
|
599
|
+
out_obj
|
587
600
|
end
|
588
601
|
|
589
|
-
|
590
|
-
|
591
602
|
end
|
592
603
|
|
593
604
|
|
@@ -610,7 +621,7 @@ end
|
|
610
621
|
# num_other_loci is the number of other loci that the peptide matches beyond
|
611
622
|
# the first one listed
|
612
623
|
# srf = the srf object this scan came from
|
613
|
-
Ms::Sequest::Srf::Out::Peptide =
|
624
|
+
Ms::Sequest::Srf::Out::Peptide = Struct.new( *%w(mh deltacn_orig sf sp xcorr id num_other_loci rsp ions_matched ions_total sequence proteins deltamass ppm aaseq base_name first_scan last_scan charge srf deltacn deltacn_orig_updated).map(&:to_sym) )
|
614
625
|
# 0=mh 1=deltacn_orig 2=sp 3=xcorr 4=id 5=num_other_loci 6=rsp 7=ions_matched 8=ions_total 9=sequence 10=proteins 11=deltamass 12=ppm 13=aaseq 14=base_name 15=first_scan 16=last_scan 17=charge 18=srf 19=deltacn 20=deltacn_orig_updated
|
615
626
|
|
616
627
|
class Ms::Sequest::Srf::Out::Peptide
|
@@ -689,36 +700,32 @@ class Ms::Sequest::Srf::Out::Peptide
|
|
689
700
|
end
|
690
701
|
# extra_references_array is an array that grows with peptides as extra
|
691
702
|
# references are discovered.
|
692
|
-
def from_io(fh, unpack_35)
|
693
|
-
unpack =
|
694
|
-
if unpack_35 ; Unpack_35
|
695
|
-
else ; Unpack_32
|
696
|
-
end
|
697
|
-
|
703
|
+
def self.from_io(fh, unpack_35)
|
698
704
|
## get the first part of the info
|
699
|
-
st = fh.read(
|
700
|
-
|
701
|
-
self[0,11] = st.unpack(unpack)
|
705
|
+
st = fh.read( unpack_35 ? Read_35 : Read_32 ) ## read all the hit data
|
702
706
|
|
707
|
+
|
708
|
+
# sets the the first 11 attributes
|
709
|
+
peptide = self.new( *st.unpack( unpack_35 ? Unpack_35 : Unpack_32 ) )
|
703
710
|
|
704
711
|
# set deltacn_orig_updated
|
705
|
-
|
712
|
+
peptide[21] = peptide[1]
|
706
713
|
|
707
714
|
# we are slicing the reference to 38 chars to be the same length as
|
708
715
|
# duplicate references
|
709
|
-
|
716
|
+
peptide[11] = [Ms::Sequest::Srf::Out::Protein.new(peptide[11][0,38])]
|
710
717
|
|
711
|
-
|
718
|
+
peptide[14] = Ms::Ident::Peptide.sequence_to_aaseq(peptide[10])
|
712
719
|
|
713
720
|
fh.read(6) if unpack_35
|
714
721
|
|
715
|
-
|
722
|
+
peptide
|
716
723
|
end
|
717
724
|
|
718
725
|
end
|
719
726
|
|
720
727
|
|
721
|
-
Ms::Sequest::Srf::Out::Protein =
|
728
|
+
Ms::Sequest::Srf::Out::Protein = Struct.new( *%w(reference peptides).map(&:to_sym) )
|
722
729
|
|
723
730
|
class Ms::Sequest::Srf::Out::Protein
|
724
731
|
include Ms::Ident::Protein
|
@@ -729,11 +736,8 @@ class Ms::Sequest::Srf::Out::Protein
|
|
729
736
|
|
730
737
|
tmp = $VERBOSE ; $VERBOSE = nil
|
731
738
|
def initialize(reference=nil, peptides=[])
|
732
|
-
|
733
|
-
|
734
|
-
#@reference = reference
|
735
|
-
#@peptides = peptides
|
736
|
-
self[0,2] = reference, peptides
|
739
|
+
self[0] = reference
|
740
|
+
self[1] = peptides
|
737
741
|
end
|
738
742
|
$VERBOSE = tmp
|
739
743
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,20 +1,10 @@
|
|
1
1
|
require 'rubygems'
|
2
|
-
require 'bundler'
|
3
|
-
|
4
|
-
begin
|
5
|
-
Bundler.setup(:default, :development)
|
6
|
-
rescue Bundler::BundlerError => e
|
7
|
-
$stderr.puts e.message
|
8
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
9
|
-
exit e.status_code
|
10
|
-
end
|
11
2
|
require 'ms/testdata'
|
12
3
|
require 'spec/more'
|
13
4
|
|
14
5
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
15
6
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
16
7
|
|
17
|
-
|
18
8
|
def capture_stderr
|
19
9
|
begin
|
20
10
|
$stderr = StringIO.new
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
+
- 1
|
7
8
|
- 0
|
8
|
-
|
9
|
-
version: 0.0.24
|
9
|
+
version: 0.1.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- John T. Prince
|
@@ -14,11 +14,12 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-
|
17
|
+
date: 2011-04-11 00:00:00 -06:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: ms-ident
|
22
|
+
prerelease: false
|
22
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
23
24
|
none: false
|
24
25
|
requirements:
|
@@ -27,13 +28,13 @@ dependencies:
|
|
27
28
|
segments:
|
28
29
|
- 0
|
29
30
|
- 0
|
30
|
-
-
|
31
|
-
version: 0.0.
|
31
|
+
- 20
|
32
|
+
version: 0.0.20
|
32
33
|
type: :runtime
|
33
|
-
prerelease: false
|
34
34
|
version_requirements: *id001
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: ms-core
|
37
|
+
prerelease: false
|
37
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
38
39
|
none: false
|
39
40
|
requirements:
|
@@ -45,25 +46,24 @@ dependencies:
|
|
45
46
|
- 17
|
46
47
|
version: 0.0.17
|
47
48
|
type: :runtime
|
48
|
-
prerelease: false
|
49
49
|
version_requirements: *id002
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
|
-
name:
|
51
|
+
name: trollop
|
52
|
+
prerelease: false
|
52
53
|
requirement: &id003 !ruby/object:Gem::Requirement
|
53
54
|
none: false
|
54
55
|
requirements:
|
55
|
-
- -
|
56
|
+
- - ~>
|
56
57
|
- !ruby/object:Gem::Version
|
57
58
|
segments:
|
58
|
-
- 0
|
59
59
|
- 1
|
60
|
-
-
|
61
|
-
version:
|
60
|
+
- 16
|
61
|
+
version: "1.16"
|
62
62
|
type: :runtime
|
63
|
-
prerelease: false
|
64
63
|
version_requirements: *id003
|
65
64
|
- !ruby/object:Gem::Dependency
|
66
|
-
name:
|
65
|
+
name: jeweler
|
66
|
+
prerelease: false
|
67
67
|
requirement: &id004 !ruby/object:Gem::Requirement
|
68
68
|
none: false
|
69
69
|
requirements:
|
@@ -71,13 +71,14 @@ dependencies:
|
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
segments:
|
73
73
|
- 1
|
74
|
-
-
|
75
|
-
|
76
|
-
|
77
|
-
|
74
|
+
- 5
|
75
|
+
- 2
|
76
|
+
version: 1.5.2
|
77
|
+
type: :development
|
78
78
|
version_requirements: *id004
|
79
79
|
- !ruby/object:Gem::Dependency
|
80
80
|
name: ms-testdata
|
81
|
+
prerelease: false
|
81
82
|
requirement: &id005 !ruby/object:Gem::Requirement
|
82
83
|
none: false
|
83
84
|
requirements:
|
@@ -89,10 +90,10 @@ dependencies:
|
|
89
90
|
- 1
|
90
91
|
version: 0.1.1
|
91
92
|
type: :development
|
92
|
-
prerelease: false
|
93
93
|
version_requirements: *id005
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: spec-more
|
96
|
+
prerelease: false
|
96
97
|
requirement: &id006 !ruby/object:Gem::Requirement
|
97
98
|
none: false
|
98
99
|
requirements:
|
@@ -102,51 +103,7 @@ dependencies:
|
|
102
103
|
- 0
|
103
104
|
version: "0"
|
104
105
|
type: :development
|
105
|
-
prerelease: false
|
106
106
|
version_requirements: *id006
|
107
|
-
- !ruby/object:Gem::Dependency
|
108
|
-
name: bundler
|
109
|
-
requirement: &id007 !ruby/object:Gem::Requirement
|
110
|
-
none: false
|
111
|
-
requirements:
|
112
|
-
- - ~>
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
segments:
|
115
|
-
- 1
|
116
|
-
- 0
|
117
|
-
- 0
|
118
|
-
version: 1.0.0
|
119
|
-
type: :development
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: *id007
|
122
|
-
- !ruby/object:Gem::Dependency
|
123
|
-
name: jeweler
|
124
|
-
requirement: &id008 !ruby/object:Gem::Requirement
|
125
|
-
none: false
|
126
|
-
requirements:
|
127
|
-
- - ~>
|
128
|
-
- !ruby/object:Gem::Version
|
129
|
-
segments:
|
130
|
-
- 1
|
131
|
-
- 5
|
132
|
-
- 2
|
133
|
-
version: 1.5.2
|
134
|
-
type: :development
|
135
|
-
prerelease: false
|
136
|
-
version_requirements: *id008
|
137
|
-
- !ruby/object:Gem::Dependency
|
138
|
-
name: rcov
|
139
|
-
requirement: &id009 !ruby/object:Gem::Requirement
|
140
|
-
none: false
|
141
|
-
requirements:
|
142
|
-
- - ">="
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
segments:
|
145
|
-
- 0
|
146
|
-
version: "0"
|
147
|
-
type: :development
|
148
|
-
prerelease: false
|
149
|
-
version_requirements: *id009
|
150
107
|
description: reads .SRF, .SQT and supports conversions
|
151
108
|
email: jtprince@gmail.com
|
152
109
|
executables:
|
@@ -161,8 +118,6 @@ extra_rdoc_files:
|
|
161
118
|
files:
|
162
119
|
- .autotest
|
163
120
|
- .gitmodules
|
164
|
-
- Gemfile
|
165
|
-
- Gemfile.lock
|
166
121
|
- History
|
167
122
|
- LICENSE
|
168
123
|
- README.rdoc
|
@@ -217,7 +172,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
217
172
|
requirements:
|
218
173
|
- - ">="
|
219
174
|
- !ruby/object:Gem::Version
|
220
|
-
hash: -385266015474839792
|
221
175
|
segments:
|
222
176
|
- 0
|
223
177
|
version: "0"
|
data/Gemfile
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
source "http://rubygems.org"
|
2
|
-
# Add dependencies required to use your gem here.
|
3
|
-
# Example:
|
4
|
-
# gem "activesupport", ">= 2.3.5"
|
5
|
-
gem "ms-ident", ">= 0.0.17"
|
6
|
-
gem "ms-core", ">= 0.0.17"
|
7
|
-
gem "arrayclass", ">= 0.1.0"
|
8
|
-
#gem "ms-msrun", ">= 0.3.3"
|
9
|
-
gem "trollop", "~> 1.16"
|
10
|
-
|
11
|
-
# Add dependencies to develop your gem here.
|
12
|
-
# Include everything needed to run rake, tests, features, etc.
|
13
|
-
group :development do
|
14
|
-
gem "ms-testdata", ">= 0.1.1"
|
15
|
-
gem "spec-more", ">= 0"
|
16
|
-
gem "bundler", "~> 1.0.0"
|
17
|
-
gem "jeweler", "~> 1.5.2"
|
18
|
-
gem "rcov", ">= 0"
|
19
|
-
end
|
20
|
-
|
21
|
-
|
data/Gemfile.lock
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
andand (1.3.1)
|
5
|
-
arrayclass (0.1.1)
|
6
|
-
bacon (1.1.0)
|
7
|
-
bio (1.4.1)
|
8
|
-
git (1.2.5)
|
9
|
-
jeweler (1.5.2)
|
10
|
-
bundler (~> 1.0.0)
|
11
|
-
git (>= 1.2.5)
|
12
|
-
rake
|
13
|
-
ms-core (0.0.17)
|
14
|
-
bio (>= 1.4.1)
|
15
|
-
ms-ident (0.0.17)
|
16
|
-
andand
|
17
|
-
ms-core (>= 0.0.12)
|
18
|
-
nokogiri
|
19
|
-
ms-testdata (0.1.1)
|
20
|
-
nokogiri (1.4.4)
|
21
|
-
rake (0.8.7)
|
22
|
-
rcov (0.9.9)
|
23
|
-
spec-more (0.0.4)
|
24
|
-
bacon
|
25
|
-
trollop (1.16.2)
|
26
|
-
|
27
|
-
PLATFORMS
|
28
|
-
ruby
|
29
|
-
|
30
|
-
DEPENDENCIES
|
31
|
-
arrayclass (>= 0.1.0)
|
32
|
-
bundler (~> 1.0.0)
|
33
|
-
jeweler (~> 1.5.2)
|
34
|
-
ms-core (>= 0.0.17)
|
35
|
-
ms-ident (>= 0.0.17)
|
36
|
-
ms-testdata (>= 0.1.1)
|
37
|
-
rcov
|
38
|
-
spec-more
|
39
|
-
trollop (~> 1.16)
|