ms-sequest 0.0.12 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- data/History +6 -0
- data/README.rdoc +2 -0
- data/Rakefile +2 -67
- data/VERSION +1 -1
- data/bin/srf_to_search.rb +0 -37
- data/bin/srf_to_sqt.rb +22 -26
- data/lib/ms/sequest/params.rb +8 -4
- data/lib/ms/sequest/srf/sqt.rb +4 -26
- data/spec/ms/sequest/params_spec.rb +6 -1
- metadata +57 -44
- data/lib/ms/sequest/srf/search/tap.rb +0 -39
- data/tap.yml +0 -0
data/History
CHANGED
data/README.rdoc
CHANGED
@@ -13,8 +13,10 @@ Can read and convert Bioworks Sequest Results Files (SRF).
|
|
13
13
|
|
14
14
|
Conversions (see api for options):
|
15
15
|
|
16
|
+
require 'ms/sequest/srf/sqt' # require this in addition to 'ms/sequest/srf'
|
16
17
|
srf.to_sqt # (outputs a file) -> file.sqt
|
17
18
|
|
19
|
+
require 'ms/sequest/srf/search' # require this in addition to 'ms/sequest/srf'
|
18
20
|
srf.to_mgf # (outputs a file) -> file.mgf
|
19
21
|
srf.to_dta # (outputs a dir) -> file
|
20
22
|
srf.to_dta("file.tgz", :tgz) # on the fly tgz (requires archive-tar-minitar)
|
data/Rakefile
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
require 'rubygems'
|
3
2
|
require 'rake'
|
4
3
|
require 'jeweler'
|
@@ -6,8 +5,6 @@ require 'rake/testtask'
|
|
6
5
|
require 'rcov/rcovtask'
|
7
6
|
|
8
7
|
NAME = "ms-sequest"
|
9
|
-
WEBSITE_BASE = "website"
|
10
|
-
WEBSITE_OUTPUT = WEBSITE_BASE + "/output"
|
11
8
|
|
12
9
|
gemspec = Gem::Specification.new do |s|
|
13
10
|
s.name = NAME
|
@@ -20,13 +17,11 @@ gemspec = Gem::Specification.new do |s|
|
|
20
17
|
|
21
18
|
s.add_dependency("arrayclass", ">= 0.1.0")
|
22
19
|
s.add_dependency("ms-core", ">= 0.0.2")
|
23
|
-
s.add_dependency("
|
24
|
-
s.add_dependency("ms-fasta", ">= 0.2.3")
|
20
|
+
s.add_dependency("ms-fasta", ">= 0.4.1")
|
25
21
|
|
26
22
|
s.add_development_dependency("ms-testdata", ">= 0.18.0")
|
27
|
-
s.add_development_dependency("spec
|
23
|
+
s.add_development_dependency("spec-more")
|
28
24
|
end
|
29
|
-
|
30
25
|
Jeweler::Tasks.new(gemspec)
|
31
26
|
|
32
27
|
Rake::TestTask.new(:spec) do |t|
|
@@ -46,65 +41,5 @@ Rcov::RcovTask.new do |spec|
|
|
46
41
|
spec.verbose = true
|
47
42
|
end
|
48
43
|
|
49
|
-
|
50
|
-
def rdoc_redirect(base_rdoc_output_dir, package_website_page, version)
|
51
|
-
content = %Q{
|
52
|
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
53
|
-
<html><head><title>mspire: } + NAME + %Q{rdoc</title>
|
54
|
-
<meta http-equiv="REFRESH" content="0;url=#{package_website_page}/rdoc/#{version}/">
|
55
|
-
</head> </html>
|
56
|
-
}
|
57
|
-
FileUtils.mkpath(base_rdoc_output_dir)
|
58
|
-
File.open("#{base_rdoc_output_dir}/index.html", 'w') {|out| out.print content }
|
59
|
-
end
|
60
|
-
|
61
|
-
require 'rake/rdoctask'
|
62
|
-
Rake::RDocTask.new do |rdoc|
|
63
|
-
base_rdoc_output_dir = WEBSITE_OUTPUT + '/rdoc'
|
64
|
-
version = File.read('VERSION')
|
65
|
-
rdoc.rdoc_dir = base_rdoc_output_dir + "/#{version}"
|
66
|
-
rdoc.title = NAME + ' ' + version
|
67
|
-
rdoc.rdoc_files.include('README*')
|
68
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
69
|
-
end
|
70
|
-
|
71
|
-
task :create_redirect do
|
72
|
-
base_rdoc_output_dir = WEBSITE_OUTPUT + '/rdoc'
|
73
|
-
rdoc_redirect(base_rdoc_output_dir, gemspec.homepage,version)
|
74
|
-
end
|
75
|
-
|
76
|
-
task :rdoc => :create_redirect
|
77
|
-
|
78
|
-
namespace :website do
|
79
|
-
desc "checkout and configure the gh-pages submodule"
|
80
|
-
task :init do
|
81
|
-
if File.exist?(WEBSITE_OUTPUT + "/.git")
|
82
|
-
puts "!! not doing anything, #{WEBSITE_OUTPUT + "/.git"} already exists !!"
|
83
|
-
else
|
84
|
-
|
85
|
-
puts "(not sure why this won't work programmatically)"
|
86
|
-
puts "################################################"
|
87
|
-
puts "[Execute these commands]"
|
88
|
-
puts "################################################"
|
89
|
-
puts "git submodule init"
|
90
|
-
puts "git submodule update"
|
91
|
-
puts "pushd #{WEBSITE_OUTPUT}"
|
92
|
-
puts "git co --track -b gh-pages origin/gh-pages ;"
|
93
|
-
puts "popd"
|
94
|
-
puts "################################################"
|
95
|
-
|
96
|
-
# not sure why this won't work!
|
97
|
-
#%x{git submodule init}
|
98
|
-
#%x{git submodule update}
|
99
|
-
#Dir.chdir(WEBSITE_OUTPUT) do
|
100
|
-
# %x{git co --track -b gh-pages origin/gh-pages ;}
|
101
|
-
#end
|
102
|
-
end
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
44
|
task :default => :spec
|
107
45
|
|
108
|
-
task :build => :gemspec
|
109
|
-
|
110
|
-
# credit: Rakefile modeled after Jeweler's
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.13
|
data/bin/srf_to_search.rb
CHANGED
@@ -39,40 +39,3 @@ ARGV.each do |srf_file|
|
|
39
39
|
srf.to_dta_files(newfile)
|
40
40
|
end
|
41
41
|
end
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
=begin
|
54
|
-
|
55
|
-
#require 'tap/task'
|
56
|
-
task_class = Ms::Sequest::Srf::SrfToSearch
|
57
|
-
|
58
|
-
parser = ConfigParser.new do |opts|
|
59
|
-
opts.separator "configurations"
|
60
|
-
opts.add task_class.configurations
|
61
|
-
|
62
|
-
opts.on "--help", "Print this help" do
|
63
|
-
puts "usage: #{File.basename(__FILE__)} <file>.srf ..."
|
64
|
-
puts
|
65
|
-
puts opts
|
66
|
-
exit(0)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
parser.parse!(ARGV)
|
71
|
-
|
72
|
-
task = task_class.new(parser.config)
|
73
|
-
|
74
|
-
ARGV.each do |file|
|
75
|
-
task.execute(file)
|
76
|
-
end
|
77
|
-
|
78
|
-
=end
|
data/bin/srf_to_sqt.rb
CHANGED
@@ -1,39 +1,35 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
|
-
require 'tap/task'
|
5
4
|
require 'ms/sequest/srf/sqt'
|
6
5
|
|
7
|
-
|
8
|
-
|
6
|
+
opt = {
|
7
|
+
:filter => true
|
8
|
+
}
|
9
|
+
opts = OptionParser.new do |op|
|
10
|
+
op.banner = "usage: #{File.basename(__FILE__)} [OPTIONS] <file>.srf ..."
|
11
|
+
op.separator "output: <file>.sqt ..."
|
12
|
+
op.separator ""
|
13
|
+
op.separator "options:"
|
14
|
+
op.on("-d", "--db-info", "calculates num aa's and md5sum on db") {|v| opt[:db_info] = v }
|
15
|
+
op.on("-p", "--db-path <String>", "If you need to specify the database path") {|v| opt[:new_db_path] = v }
|
16
|
+
op.on("-u", "--db-update", "update the sqt file to reflect --db_path") {|v| opt[:db_update] = v }
|
17
|
+
op.on("-n", "--no-filter", "by default, pephit must be within peptide_mass_tolerance", "(defined in sequest.params) to be included. Turns this off.") { opt[:filter] = false }
|
18
|
+
op.on("-r", "--round", "round floating point values reasonably") {|v| opt[:round] = v }
|
9
19
|
end
|
20
|
+
opts.parse!
|
10
21
|
|
11
|
-
|
12
|
-
|
13
|
-
parser = ConfigParser.new do |opts|
|
14
|
-
opts.separator "configurations"
|
15
|
-
opts.add task_class.configurations
|
16
|
-
|
17
|
-
opts.on "--help", "Print this help" do
|
18
|
-
puts "usage: #{File.basename(__FILE__)} <file>.srf ..."
|
19
|
-
puts "outputs: <file>.sqt ..."
|
20
|
-
puts
|
21
|
-
#puts task_class::desc.wrap
|
22
|
-
#puts
|
23
|
-
puts opts
|
24
|
-
#puts
|
25
|
-
#puts "in tap workflow: tap run -- glob '*.srf' --:i srf_to_sqt"
|
26
|
-
exit(0)
|
27
|
-
end
|
22
|
+
if ARGV.size == 0
|
23
|
+
puts(opts) || exit
|
28
24
|
end
|
29
25
|
|
30
|
-
|
31
|
-
|
26
|
+
ARGV.each do |srf_file|
|
27
|
+
base = srf_file.chomp(File.extname(srf_file))
|
28
|
+
outfile = base + '.sqt'
|
32
29
|
|
33
|
-
|
34
|
-
|
35
|
-
ARGV.each do |file|
|
36
|
-
task.execute(file)
|
30
|
+
srf = Ms::Sequest::Srf.new(srf_file, :link_protein_hits => false, :filter_by_precursor_mass_tolerance => opt.delete(:filter))
|
31
|
+
srf.to_sqt(outfile, :db_info => db_info, :new_db_path => db_path, :update_db_path => db_update, :round => round)
|
37
32
|
end
|
38
33
|
|
39
34
|
|
35
|
+
|
data/lib/ms/sequest/params.rb
CHANGED
@@ -97,6 +97,10 @@ class Ms::Sequest::Params
|
|
97
97
|
# returns self or nil if no sequest found in the io
|
98
98
|
def parse_io(fh)
|
99
99
|
# seek to the SEQUEST file
|
100
|
+
if fh.respond_to?(:set_encoding)
|
101
|
+
# this mimics ruby1.8 behavior as we read in the file
|
102
|
+
fh.set_encoding('ASCII-8BIT')
|
103
|
+
end
|
100
104
|
loop do
|
101
105
|
line = fh.gets
|
102
106
|
return nil if line.nil? # we return nil if we reach then end of the file without seeing sequest params
|
@@ -234,8 +238,8 @@ class Ms::Sequest::Params
|
|
234
238
|
# based_on may be :precursor or :fragment
|
235
239
|
def mass_index(based_on=:precursor)
|
236
240
|
reply = case based_on
|
237
|
-
when :precursor
|
238
|
-
when :fragment
|
241
|
+
when :precursor ; precursor_mass_type
|
242
|
+
when :fragment ; fragment_mass_type
|
239
243
|
end
|
240
244
|
case reply
|
241
245
|
when 'average'
|
@@ -257,8 +261,8 @@ class Ms::Sequest::Params
|
|
257
261
|
def min_number_termini
|
258
262
|
if e_info = @opts["enzyme_info"]
|
259
263
|
case e_info.split(" ")[1]
|
260
|
-
when "1"
|
261
|
-
when "2"
|
264
|
+
when "1" ; return "2"
|
265
|
+
when "2" ; return "1"
|
262
266
|
end
|
263
267
|
end
|
264
268
|
warn "No Enzyme termini info, using min_number_termini = '1'"
|
data/lib/ms/sequest/srf/sqt.rb
CHANGED
@@ -38,7 +38,7 @@ module Ms
|
|
38
38
|
if params.precursor_mass_type == 'average' ; 'AVG'
|
39
39
|
else ; 'MONO'
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
mass_index = params.mass_index
|
43
43
|
static_mods = params.static_mods.map do |k,v|
|
44
44
|
key = k.split(/_/)[1]
|
@@ -71,9 +71,9 @@ module Ms
|
|
71
71
|
|
72
72
|
apmu =
|
73
73
|
case params.peptide_mass_units
|
74
|
-
when '0'
|
75
|
-
when '1'
|
76
|
-
when '2'
|
74
|
+
when '0' ; 'amu'
|
75
|
+
when '1' ; 'mmu'
|
76
|
+
when '2' ; 'ppm'
|
77
77
|
end
|
78
78
|
|
79
79
|
hh = {
|
@@ -163,28 +163,6 @@ module Ms
|
|
163
163
|
end
|
164
164
|
end # close the filehandle
|
165
165
|
end # method
|
166
|
-
|
167
|
-
# SrfToSqt::task convert .srf to .sqt files
|
168
|
-
class SrfToSqt < Tap::Task
|
169
|
-
config :db_info, false, :short => 'd', &c.flag # calculates num aa's and md5sum on db
|
170
|
-
# if your database path has changed
|
171
|
-
# and you want db-info, then give the
|
172
|
-
# path to the new *directory*
|
173
|
-
# e.g. /my/new/path
|
174
|
-
config :db_path, nil, :short => 'p'
|
175
|
-
config :db_update, false, :short => 'u', &c.flag # update the sqt file to reflect --db_path
|
176
|
-
config :no_filter, false, :short => 'n', &c.flag # by default, pephit must be within peptide_mass_tolerance (defined in sequest.params) to be included. Turns this off.
|
177
|
-
config :round, false, :short => 'r', &c.flag # round floating point values reasonably
|
178
|
-
|
179
|
-
def process(srf_file)
|
180
|
-
new_filename = srf_file.sub(/\.srf$/i, '') << '.sqt'
|
181
|
-
|
182
|
-
srf = Ms::Sequest::Srf.new(srf_file, :link_protein_hits => false, :filter_by_precursor_mass_tolerance => !no_filter)
|
183
|
-
|
184
|
-
srf.to_sqt(new_filename, :db_info => db_info, :new_db_path => db_path, :update_db_path => db_update, :round => round)
|
185
|
-
|
186
|
-
end # process
|
187
|
-
end # SrfToSqt
|
188
166
|
end # Srf
|
189
167
|
end # Sequest
|
190
168
|
end # Ms
|
@@ -5,7 +5,12 @@ require 'ms/sequest/params'
|
|
5
5
|
# returns a hash of all params
|
6
6
|
def simple_parse(filename)
|
7
7
|
hash = {}
|
8
|
-
|
8
|
+
data = File.open(filename) do |io|
|
9
|
+
# this makes it work with ruby 1.9:
|
10
|
+
io.set_encoding("ASCII-8BIT") if io.respond_to?(:set_encoding)
|
11
|
+
io.read
|
12
|
+
end
|
13
|
+
data.split(/\r?\n/).select {|v| v =~ /^[a-z]/}.each do |line|
|
9
14
|
if line =~ /([^\s]+)\s*=\s*([^;]+)\s*;?/
|
10
15
|
hash[$1.dup] = $2.rstrip
|
11
16
|
end
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ms-sequest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 13
|
9
|
+
version: 0.0.13
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- John T. Prince
|
@@ -9,69 +14,77 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-08-17 00:00:00 -06:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: arrayclass
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
24
|
requirements:
|
21
25
|
- - ">="
|
22
26
|
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
- 1
|
30
|
+
- 0
|
23
31
|
version: 0.1.0
|
24
|
-
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
25
34
|
- !ruby/object:Gem::Dependency
|
26
35
|
name: ms-core
|
27
|
-
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
38
|
requirements:
|
31
39
|
- - ">="
|
32
40
|
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 0
|
43
|
+
- 0
|
44
|
+
- 2
|
33
45
|
version: 0.0.2
|
34
|
-
version:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: tap
|
37
46
|
type: :runtime
|
38
|
-
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: 0.17.1
|
44
|
-
version:
|
47
|
+
version_requirements: *id002
|
45
48
|
- !ruby/object:Gem::Dependency
|
46
49
|
name: ms-fasta
|
47
|
-
|
48
|
-
|
49
|
-
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
50
52
|
requirements:
|
51
53
|
- - ">="
|
52
54
|
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
|
55
|
+
segments:
|
56
|
+
- 0
|
57
|
+
- 4
|
58
|
+
- 1
|
59
|
+
version: 0.4.1
|
60
|
+
type: :runtime
|
61
|
+
version_requirements: *id003
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: ms-testdata
|
57
|
-
|
58
|
-
|
59
|
-
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
prerelease: false
|
65
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
60
66
|
requirements:
|
61
67
|
- - ">="
|
62
68
|
- !ruby/object:Gem::Version
|
69
|
+
segments:
|
70
|
+
- 0
|
71
|
+
- 18
|
72
|
+
- 0
|
63
73
|
version: 0.18.0
|
64
|
-
version:
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
name: spec/more
|
67
74
|
type: :development
|
68
|
-
|
69
|
-
|
75
|
+
version_requirements: *id004
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: spec-more
|
78
|
+
prerelease: false
|
79
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
70
80
|
requirements:
|
71
81
|
- - ">="
|
72
82
|
- !ruby/object:Gem::Version
|
83
|
+
segments:
|
84
|
+
- 0
|
73
85
|
version: "0"
|
74
|
-
|
86
|
+
type: :development
|
87
|
+
version_requirements: *id005
|
75
88
|
description: reads .SRF, .SQT and supports conversions
|
76
89
|
email: jtprince@gmail.com
|
77
90
|
executables:
|
@@ -100,7 +113,6 @@ files:
|
|
100
113
|
- lib/ms/sequest/sqt.rb
|
101
114
|
- lib/ms/sequest/srf.rb
|
102
115
|
- lib/ms/sequest/srf/search.rb
|
103
|
-
- lib/ms/sequest/srf/search/tap.rb
|
104
116
|
- lib/ms/sequest/srf/sqt.rb
|
105
117
|
- script/fasta_ipi_to_ncbi-ish.rb
|
106
118
|
- spec/ms/sequest/bioworks_spec.rb
|
@@ -121,7 +133,6 @@ files:
|
|
121
133
|
- spec/testfiles/corrupted_900.srf
|
122
134
|
- spec/testfiles/small.sqt
|
123
135
|
- spec/testfiles/small2.sqt
|
124
|
-
- tap.yml
|
125
136
|
has_rdoc: true
|
126
137
|
homepage: http://jtprince.github.com/ms-sequest
|
127
138
|
licenses: []
|
@@ -135,30 +146,32 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
135
146
|
requirements:
|
136
147
|
- - ">="
|
137
148
|
- !ruby/object:Gem::Version
|
149
|
+
segments:
|
150
|
+
- 0
|
138
151
|
version: "0"
|
139
|
-
version:
|
140
152
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
141
153
|
requirements:
|
142
154
|
- - ">="
|
143
155
|
- !ruby/object:Gem::Version
|
156
|
+
segments:
|
157
|
+
- 0
|
144
158
|
version: "0"
|
145
|
-
version:
|
146
159
|
requirements: []
|
147
160
|
|
148
161
|
rubyforge_project: mspire
|
149
|
-
rubygems_version: 1.3.
|
162
|
+
rubygems_version: 1.3.6
|
150
163
|
signing_key:
|
151
164
|
specification_version: 3
|
152
165
|
summary: An mspire library supporting SEQUEST, Bioworks, SQT, etc
|
153
166
|
test_files:
|
167
|
+
- spec/ms/sequest/srf_spec_helper.rb
|
168
|
+
- spec/ms/sequest/pepxml_spec.rb
|
169
|
+
- spec/ms/sequest/bioworks_spec.rb
|
154
170
|
- spec/ms/sequest/srf/search_spec.rb
|
155
|
-
- spec/ms/sequest/srf/sqt_spec.rb
|
156
171
|
- spec/ms/sequest/srf/search_spec_helper.rb
|
157
|
-
- spec/ms/sequest/sqt_spec.rb
|
172
|
+
- spec/ms/sequest/srf/sqt_spec.rb
|
173
|
+
- spec/ms/sequest/sqt_spec_helper.rb
|
158
174
|
- spec/ms/sequest/params_spec.rb
|
159
|
-
- spec/ms/sequest/
|
175
|
+
- spec/ms/sequest/sqt_spec.rb
|
160
176
|
- spec/ms/sequest/srf_spec.rb
|
161
|
-
- spec/ms/sequest/srf_spec_helper.rb
|
162
|
-
- spec/ms/sequest/sqt_spec_helper.rb
|
163
|
-
- spec/ms/sequest/pepxml_spec.rb
|
164
177
|
- spec/spec_helper.rb
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'tap/task'
|
2
|
-
|
3
|
-
module Ms
|
4
|
-
module Sequest
|
5
|
-
class Srf
|
6
|
-
|
7
|
-
# Ms::Sequest::Srf::SrfToSearch::task converts to MS formats for DB
|
8
|
-
# searching
|
9
|
-
#
|
10
|
-
# outputs the appropriate file or directory structure for <file>.srf:
|
11
|
-
# <file>.mgf # file for mgf
|
12
|
-
# <file> # the basename directory for dta
|
13
|
-
class SrfToSearch < Tap::Task
|
14
|
-
config :format, "mgf", :short => 'f' # mgf|dta (default: mgf)
|
15
|
-
def process(srf_file)
|
16
|
-
base = srf_file.sub(/\.srf$/i, '')
|
17
|
-
newfile =
|
18
|
-
case format
|
19
|
-
when 'dta'
|
20
|
-
base
|
21
|
-
when 'mgf'
|
22
|
-
base << '.' << format
|
23
|
-
end
|
24
|
-
srf = Ms::Sequest::Srf.new(srf_file, :link_protein_hits => false, :filter_by_precursor_mass_tolerance => false, :read_pephits => false )
|
25
|
-
# options just speed up reading since we don't need .out info anyway
|
26
|
-
case format
|
27
|
-
when 'mgf'
|
28
|
-
srf.to_mgf(newfile)
|
29
|
-
when 'dta'
|
30
|
-
srf.to_dta(newfile)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
|
36
|
-
end # Srf
|
37
|
-
end # Sequest
|
38
|
-
end # Ms
|
39
|
-
|
data/tap.yml
DELETED
File without changes
|