ms-sequest 0.0.12 → 0.0.13
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 +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
|