ms-sequest 0.0.24 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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)
|