bio-signalp 0.2.0 → 0.2.2
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/Gemfile +2 -1
- data/Rakefile +1 -9
- data/VERSION +1 -1
- data/bin/signalp.rb +7 -2
- data/bio-signalp.gemspec +14 -13
- data/lib/bio/appl/signalp.rb +4 -0
- data/test/test_bio-signalp.rb +45 -5
- metadata +77 -102
- data/Gemfile.lock +0 -22
data/Gemfile
CHANGED
@@ -2,6 +2,7 @@ source "http://rubygems.org"
|
|
2
2
|
# Add dependencies required to use your gem here.
|
3
3
|
# Example:
|
4
4
|
# gem "activesupport", ">= 2.3.5"
|
5
|
+
gem "bio", ">= 1.4.1"
|
5
6
|
|
6
7
|
# Add dependencies to develop your gem here.
|
7
8
|
# Include everything needed to run rake, tests, features, etc.
|
@@ -9,6 +10,6 @@ group :development do
|
|
9
10
|
gem "shoulda", ">= 0"
|
10
11
|
gem "bundler", "~> 1.0.0"
|
11
12
|
gem "jeweler", "~> 1.6.0"
|
12
|
-
gem "rcov", ">= 0"
|
13
13
|
gem "bio", ">= 1.4.1"
|
14
|
+
gem "rdoc", "~> 3.12"
|
14
15
|
end
|
data/Rakefile
CHANGED
@@ -32,14 +32,6 @@ Rake::TestTask.new(:test) do |test|
|
|
32
32
|
test.verbose = true
|
33
33
|
end
|
34
34
|
|
35
|
-
require 'rcov/rcovtask'
|
36
|
-
Rcov::RcovTask.new do |test|
|
37
|
-
test.libs << 'test'
|
38
|
-
test.pattern = 'test/**/test_*.rb'
|
39
|
-
test.verbose = true
|
40
|
-
test.rcov_opts << '--exclude "gems/*"'
|
41
|
-
end
|
42
|
-
|
43
35
|
task :default => :test
|
44
36
|
|
45
37
|
require 'rake/rdoctask'
|
@@ -47,7 +39,7 @@ Rake::RDocTask.new do |rdoc|
|
|
47
39
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
48
40
|
|
49
41
|
rdoc.rdoc_dir = 'rdoc'
|
50
|
-
rdoc.title = "bio-
|
42
|
+
rdoc.title = "bio-blah #{version}"
|
51
43
|
rdoc.rdoc_files.include('README*')
|
52
44
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
53
45
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.2
|
data/bin/signalp.rb
CHANGED
@@ -2,6 +2,9 @@
|
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'bio'
|
5
|
+
|
6
|
+
# always load from the directory relative to the current script's directory
|
7
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
|
5
8
|
require 'bio-signalp'
|
6
9
|
|
7
10
|
# if this was not called as a module, run as a script.
|
@@ -71,9 +74,11 @@ if $0 == __FILE__
|
|
71
74
|
].join("\t")
|
72
75
|
end
|
73
76
|
|
74
|
-
Bio::FlatFile.open(
|
77
|
+
Bio::FlatFile.open(ARGF).each do |seq|
|
75
78
|
result = runner.calculate(seq.seq)
|
76
|
-
if
|
79
|
+
if result.nil?
|
80
|
+
$stderr.puts "Unexpected empty sequence detected, ignoring: #{seq.definition}"
|
81
|
+
elsif options['s']
|
77
82
|
puts [
|
78
83
|
seq.entry_id,
|
79
84
|
result.nn_D_prediction ? 'T' : 'F',
|
data/bio-signalp.gemspec
CHANGED
@@ -4,15 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.2.
|
7
|
+
s.name = "bio-signalp"
|
8
|
+
s.version = "0.2.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ben J Woodcroft"]
|
12
|
-
s.date =
|
13
|
-
s.
|
14
|
-
s.
|
15
|
-
s.email = %q{donttrustben near gmail.com}
|
12
|
+
s.date = "2012-03-29"
|
13
|
+
s.description = "A wrapper for the signal peptide prediction algorith SignalP. Not very well supported, but seems to work for the author, at least."
|
14
|
+
s.email = "donttrustben near gmail.com"
|
16
15
|
s.executables = ["signalp.rb"]
|
17
16
|
s.extra_rdoc_files = [
|
18
17
|
"LICENSE.txt",
|
@@ -21,7 +20,6 @@ Gem::Specification.new do |s|
|
|
21
20
|
s.files = [
|
22
21
|
".document",
|
23
22
|
"Gemfile",
|
24
|
-
"Gemfile.lock",
|
25
23
|
"LICENSE.txt",
|
26
24
|
"README.rdoc",
|
27
25
|
"Rakefile",
|
@@ -33,34 +31,37 @@ Gem::Specification.new do |s|
|
|
33
31
|
"test/helper.rb",
|
34
32
|
"test/test_bio-signalp.rb"
|
35
33
|
]
|
36
|
-
s.homepage =
|
34
|
+
s.homepage = "http://github.com/wwood/bioruby-signalp"
|
37
35
|
s.licenses = ["MIT"]
|
38
36
|
s.require_paths = ["lib"]
|
39
|
-
s.rubygems_version =
|
40
|
-
s.summary =
|
37
|
+
s.rubygems_version = "1.8.17"
|
38
|
+
s.summary = "A wrapper for the signal peptide prediction algorith SignalP"
|
41
39
|
|
42
40
|
if s.respond_to? :specification_version then
|
43
41
|
s.specification_version = 3
|
44
42
|
|
45
43
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
44
|
+
s.add_runtime_dependency(%q<bio>, [">= 1.4.1"])
|
46
45
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
47
46
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
48
47
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6.0"])
|
49
|
-
s.add_development_dependency(%q<rcov>, [">= 0"])
|
50
48
|
s.add_development_dependency(%q<bio>, [">= 1.4.1"])
|
49
|
+
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
51
50
|
else
|
51
|
+
s.add_dependency(%q<bio>, [">= 1.4.1"])
|
52
52
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
53
53
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
54
54
|
s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
|
55
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
56
55
|
s.add_dependency(%q<bio>, [">= 1.4.1"])
|
56
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
57
57
|
end
|
58
58
|
else
|
59
|
+
s.add_dependency(%q<bio>, [">= 1.4.1"])
|
59
60
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
60
61
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
61
62
|
s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
|
62
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
63
63
|
s.add_dependency(%q<bio>, [">= 1.4.1"])
|
64
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
64
65
|
end
|
65
66
|
end
|
66
67
|
|
data/lib/bio/appl/signalp.rb
CHANGED
@@ -9,7 +9,11 @@ module Bio
|
|
9
9
|
class Wrapper
|
10
10
|
# Given an amino acid sequence, return a SignalPResult
|
11
11
|
# representing it taken from the file.
|
12
|
+
#
|
13
|
+
# Returns nil if the sequence is empty
|
12
14
|
def calculate(sequence)
|
15
|
+
return nil if sequence.nil? or sequence == ''
|
16
|
+
|
13
17
|
command = 'signalp -trunc 70 -format short -t euk'
|
14
18
|
Open3.popen3(command) do |stdin, stdout, stderr, wait_thr|
|
15
19
|
stdin.puts '>wrapperSeq'
|
data/test/test_bio-signalp.rb
CHANGED
@@ -1,17 +1,57 @@
|
|
1
1
|
require 'helper'
|
2
|
+
require 'open3'
|
2
3
|
|
3
4
|
class TestBioSignalp < Test::Unit::TestCase
|
4
5
|
should "positive control" do
|
5
|
-
|
6
|
+
# Known to have a signal peptide
|
6
7
|
acp_sequence = 'MKILLLCIIFLYYVNAFKNTQKDGVSLQILKKKRSNQVNFLNRKNDYNLIKNKNPSSSLKSTFDDIKKIISKQLSVEEDKIQMNSNFTKDLGADSLDLVELIMALEEKFNVTISDQDALKINTVQDAIDYIEKNNKQ'
|
7
|
-
|
8
|
+
|
8
9
|
assert_equal true, Bio::SignalP::Wrapper.new.calculate(acp_sequence).signal?
|
9
10
|
end
|
10
|
-
|
11
|
+
|
11
12
|
should "negative control" do
|
12
|
-
|
13
|
+
# Known to have a signal peptide
|
13
14
|
non_signal_sequence = 'KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK'
|
14
|
-
|
15
|
+
|
15
16
|
assert_equal false, Bio::SignalP::Wrapper.new.calculate(non_signal_sequence).signal?
|
16
17
|
end
|
17
18
|
end
|
19
|
+
|
20
|
+
class TestSignalPScript < Test::Unit::TestCase
|
21
|
+
command = File.join(File.dirname(__FILE__),'..','bin','signalp.rb')
|
22
|
+
|
23
|
+
should "positive control" do
|
24
|
+
# Known to have a signal peptide
|
25
|
+
acp_sequence = 'MKILLLCIIFLYYVNAFKNTQKDGVSLQILKKKRSNQVNFLNRKNDYNLIKNKNPSSSLKSTFDDIKKIISKQLSVEEDKIQMNSNFTKDLGADSLDLVELIMALEEKFNVTISDQDALKINTVQDAIDYIEKNNKQ'
|
26
|
+
|
27
|
+
Open3.popen3(command) do |stdin, stdout, stderr|
|
28
|
+
stdin.puts '>positive'
|
29
|
+
stdin.puts acp_sequence
|
30
|
+
stdin.close
|
31
|
+
|
32
|
+
@result = stdout.readlines # convert to string?
|
33
|
+
@error = stderr.readlines
|
34
|
+
end
|
35
|
+
assert_equal [">positive\n", "FKNTQKDGVSLQILKKKRSNQVNFLNRKNDYNLIKNKNPSSSLKSTFDDIKKIISKQLSVEEDKIQMNSNFTKDLGADSLDLVELIMALEEKFNVTISDQDALKINTVQDAIDYIEKNNKQ\n"], @result
|
36
|
+
assert_equal [], @error
|
37
|
+
end
|
38
|
+
|
39
|
+
should "return gracefully when empty sequences are given" do
|
40
|
+
acp_sequence = 'MKILLLCIIFLYYVNAFKNTQKDGVSLQILKKKRSNQVNFLNRKNDYNLIKNKNPSSSLKSTFDDIKKIISKQLSVEEDKIQMNSNFTKDLGADSLDLVELIMALEEKFNVTISDQDALKINTVQDAIDYIEKNNKQ'
|
41
|
+
|
42
|
+
Open3.popen3(command) do |stdin, stdout, stderr|
|
43
|
+
stdin.puts '>positive'
|
44
|
+
stdin.puts acp_sequence
|
45
|
+
stdin.puts '>empty'
|
46
|
+
stdin.puts '>positive2'
|
47
|
+
stdin.puts acp_sequence
|
48
|
+
stdin.close
|
49
|
+
|
50
|
+
@result = stdout.readlines # convert to string?
|
51
|
+
@error = stderr.readlines
|
52
|
+
end
|
53
|
+
assert_equal [">positive\n", "FKNTQKDGVSLQILKKKRSNQVNFLNRKNDYNLIKNKNPSSSLKSTFDDIKKIISKQLSVEEDKIQMNSNFTKDLGADSLDLVELIMALEEKFNVTISDQDALKINTVQDAIDYIEKNNKQ\n",
|
54
|
+
">positive2\n", "FKNTQKDGVSLQILKKKRSNQVNFLNRKNDYNLIKNKNPSSSLKSTFDDIKKIISKQLSVEEDKIQMNSNFTKDLGADSLDLVELIMALEEKFNVTISDQDALKINTVQDAIDYIEKNNKQ\n"], @result
|
55
|
+
assert_equal ["Unexpected empty sequence detected, ignoring: empty\n"], @error
|
56
|
+
end
|
57
|
+
end
|
metadata
CHANGED
@@ -1,112 +1,94 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: bio-signalp
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 0
|
10
|
-
version: 0.2.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Ben J Woodcroft
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
type: :development
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
12
|
+
date: 2012-03-29 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bio
|
16
|
+
requirement: &68905280 !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
|
30
|
-
- 0
|
31
|
-
version: "0"
|
32
|
-
version_requirements: *id001
|
33
|
-
name: shoulda
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 1.4.1
|
22
|
+
type: :runtime
|
34
23
|
prerelease: false
|
35
|
-
|
24
|
+
version_requirements: *68905280
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: shoulda
|
27
|
+
requirement: &68904090 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
36
33
|
type: :development
|
37
|
-
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *68904090
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: bundler
|
38
|
+
requirement: &68962450 !ruby/object:Gem::Requirement
|
38
39
|
none: false
|
39
|
-
requirements:
|
40
|
+
requirements:
|
40
41
|
- - ~>
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
hash: 23
|
43
|
-
segments:
|
44
|
-
- 1
|
45
|
-
- 0
|
46
|
-
- 0
|
42
|
+
- !ruby/object:Gem::Version
|
47
43
|
version: 1.0.0
|
48
|
-
version_requirements: *id002
|
49
|
-
name: bundler
|
50
|
-
prerelease: false
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
44
|
type: :development
|
53
|
-
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *68962450
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: jeweler
|
49
|
+
requirement: &68960950 !ruby/object:Gem::Requirement
|
54
50
|
none: false
|
55
|
-
requirements:
|
51
|
+
requirements:
|
56
52
|
- - ~>
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
hash: 15
|
59
|
-
segments:
|
60
|
-
- 1
|
61
|
-
- 6
|
62
|
-
- 0
|
53
|
+
- !ruby/object:Gem::Version
|
63
54
|
version: 1.6.0
|
64
|
-
version_requirements: *id003
|
65
|
-
name: jeweler
|
66
|
-
prerelease: false
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
55
|
type: :development
|
69
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
70
|
-
none: false
|
71
|
-
requirements:
|
72
|
-
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
hash: 3
|
75
|
-
segments:
|
76
|
-
- 0
|
77
|
-
version: "0"
|
78
|
-
version_requirements: *id004
|
79
|
-
name: rcov
|
80
56
|
prerelease: false
|
81
|
-
|
82
|
-
|
83
|
-
|
57
|
+
version_requirements: *68960950
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: bio
|
60
|
+
requirement: &68958790 !ruby/object:Gem::Requirement
|
84
61
|
none: false
|
85
|
-
requirements:
|
86
|
-
- -
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
hash: 5
|
89
|
-
segments:
|
90
|
-
- 1
|
91
|
-
- 4
|
92
|
-
- 1
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
93
65
|
version: 1.4.1
|
94
|
-
|
95
|
-
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *68958790
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rdoc
|
71
|
+
requirement: &68994130 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '3.12'
|
77
|
+
type: :development
|
96
78
|
prerelease: false
|
97
|
-
|
79
|
+
version_requirements: *68994130
|
80
|
+
description: A wrapper for the signal peptide prediction algorith SignalP. Not very
|
81
|
+
well supported, but seems to work for the author, at least.
|
98
82
|
email: donttrustben near gmail.com
|
99
|
-
executables:
|
83
|
+
executables:
|
100
84
|
- signalp.rb
|
101
85
|
extensions: []
|
102
|
-
|
103
|
-
extra_rdoc_files:
|
86
|
+
extra_rdoc_files:
|
104
87
|
- LICENSE.txt
|
105
88
|
- README.rdoc
|
106
|
-
files:
|
89
|
+
files:
|
107
90
|
- .document
|
108
91
|
- Gemfile
|
109
|
-
- Gemfile.lock
|
110
92
|
- LICENSE.txt
|
111
93
|
- README.rdoc
|
112
94
|
- Rakefile
|
@@ -117,39 +99,32 @@ files:
|
|
117
99
|
- lib/bio/appl/signalp.rb
|
118
100
|
- test/helper.rb
|
119
101
|
- test/test_bio-signalp.rb
|
120
|
-
has_rdoc: true
|
121
102
|
homepage: http://github.com/wwood/bioruby-signalp
|
122
|
-
licenses:
|
103
|
+
licenses:
|
123
104
|
- MIT
|
124
105
|
post_install_message:
|
125
106
|
rdoc_options: []
|
126
|
-
|
127
|
-
require_paths:
|
107
|
+
require_paths:
|
128
108
|
- lib
|
129
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
109
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
130
110
|
none: false
|
131
|
-
requirements:
|
132
|
-
- -
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
|
135
|
-
segments:
|
111
|
+
requirements:
|
112
|
+
- - ! '>='
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: '0'
|
115
|
+
segments:
|
136
116
|
- 0
|
137
|
-
|
138
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
|
+
hash: -84068147
|
118
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
119
|
none: false
|
140
|
-
requirements:
|
141
|
-
- -
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
|
144
|
-
segments:
|
145
|
-
- 0
|
146
|
-
version: "0"
|
120
|
+
requirements:
|
121
|
+
- - ! '>='
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
147
124
|
requirements: []
|
148
|
-
|
149
125
|
rubyforge_project:
|
150
|
-
rubygems_version: 1.
|
126
|
+
rubygems_version: 1.8.17
|
151
127
|
signing_key:
|
152
128
|
specification_version: 3
|
153
129
|
summary: A wrapper for the signal peptide prediction algorith SignalP
|
154
130
|
test_files: []
|
155
|
-
|
data/Gemfile.lock
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
bio (1.4.1)
|
5
|
-
git (1.2.5)
|
6
|
-
jeweler (1.6.4)
|
7
|
-
bundler (~> 1.0)
|
8
|
-
git (>= 1.2.5)
|
9
|
-
rake
|
10
|
-
rake (0.9.2)
|
11
|
-
rcov (0.9.9)
|
12
|
-
shoulda (2.11.3)
|
13
|
-
|
14
|
-
PLATFORMS
|
15
|
-
ruby
|
16
|
-
|
17
|
-
DEPENDENCIES
|
18
|
-
bio (>= 1.4.1)
|
19
|
-
bundler (~> 1.0.0)
|
20
|
-
jeweler (~> 1.6.0)
|
21
|
-
rcov
|
22
|
-
shoulda
|