solvebio 1.7.1 → 1.7.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.
- checksums.yaml +7 -0
- data/.bumpversion.cfg +1 -1
- data/Gemfile +1 -1
- data/README.md +1 -3
- data/Rakefile +1 -1
- data/installer +31 -6
- data/lib/solvebio/cli/irbrc.rb +4 -11
- data/lib/solvebio/filter.rb +8 -8
- data/lib/solvebio/query.rb +3 -0
- data/lib/solvebio/version.rb +1 -1
- data/solvebio.gemspec +3 -4
- data/test/solvebio/test_filter.rb +5 -5
- metadata +38 -46
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 31db4c26b2c9b63dcbebbe8696a37b3e0946c831
|
4
|
+
data.tar.gz: 84b6c054b263fde61e0123c03eabbe9240cd4177
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6874a148c1e5a109981fdb3aa649437c58c8037232f3cbcdd25b9c31365290575c1a3f29ec6934710695aea5986f96ef419686b7eff07fad4cfcea153eb7a41d
|
7
|
+
data.tar.gz: 24f926d966b43b7ab239993169bfe35f87abfb1f0e0c9f3a4f93d91133e0a9b1647d31b253ecc18c8d645219ee1da631163dd6846a8142515704a6a1c2a8cd1c
|
data/.bumpversion.cfg
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
data/Rakefile
CHANGED
data/installer
CHANGED
@@ -43,20 +43,36 @@ function ctrl_c() {
|
|
43
43
|
|
44
44
|
echo " Installing SolveBio for Ruby..."
|
45
45
|
echo
|
46
|
-
echo " IMPORTANT: Your computer's password may be required. It will NOT be sent to SolveBio."
|
47
46
|
|
48
47
|
# Setup the log
|
49
48
|
LOG=/tmp/solvebio-ruby.log
|
50
49
|
echo "SolveBio Ruby Guided Installer log" > $LOG
|
51
50
|
echo `date` >> $LOG
|
52
51
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
52
|
+
RUBY=`which ruby`
|
53
|
+
|
54
|
+
if [ "$RUBY" == "" ]; then
|
55
|
+
echo " Ruby is not installed. Please install Ruby before installing SolveBio for Ruby."
|
56
|
+
fail_exit
|
57
|
+
fi
|
58
|
+
|
59
|
+
GEM=`which gem`
|
60
|
+
|
61
|
+
if [ "$RUBY" == "" ]; then
|
62
|
+
echo " Ruby is not installed. Please install Ruby before installing SolveBio for Ruby."
|
63
|
+
fail_exit
|
64
|
+
fi
|
65
|
+
|
66
|
+
# TODO: check ruby and gem versions
|
67
|
+
GEM_OWNER=`ls -l $GEM | awk '{ print $3 }'`
|
68
|
+
|
69
|
+
if [ "$GEM_OWNER" == "root" ]; then
|
70
|
+
GEM="sudo ${GEM}"
|
71
|
+
echo " IMPORTANT: Your computer's password may be required. It will NOT be sent to SolveBio."
|
58
72
|
fi
|
59
73
|
|
74
|
+
$GEM install solvebio 2>&1 >> $LOG
|
75
|
+
|
60
76
|
if [ $? -eq 0 ]; then
|
61
77
|
VERSION=`ruby -e "require 'solvebio'; print SolveBio::VERSION"`
|
62
78
|
echo
|
@@ -68,6 +84,15 @@ if [ $? -eq 0 ]; then
|
|
68
84
|
echo
|
69
85
|
echo " ##############################################"
|
70
86
|
echo
|
87
|
+
|
88
|
+
# Detect old credentials in ~/.netrc (they will interfere with Ruby's Rest Client)
|
89
|
+
NETRC_WARN=`grep -c "solvebio" ~/.netrc`
|
90
|
+
if [ "$NETRC_WARN" -gt "0" ]; then
|
91
|
+
echo
|
92
|
+
echo "Warning: SolveBio credentials were found in ~/.netrc"
|
93
|
+
echo "Please delete the lines in ~/.netrc with SolveBio credentials."
|
94
|
+
echo
|
95
|
+
fi
|
71
96
|
else
|
72
97
|
fail_exit
|
73
98
|
fi
|
data/lib/solvebio/cli/irbrc.rb
CHANGED
@@ -12,21 +12,14 @@ IRB.conf[:PROMPT][:SIMPLE] = {
|
|
12
12
|
require 'solvebio'
|
13
13
|
require 'solvebio/cli'
|
14
14
|
|
15
|
-
have_completion = nil
|
16
15
|
begin
|
17
|
-
require 'bond'
|
18
|
-
|
16
|
+
require 'bond'
|
17
|
+
Bond.start
|
19
18
|
rescue LoadError
|
20
19
|
begin
|
21
|
-
|
20
|
+
require 'irb/completion'
|
22
21
|
rescue LoadError
|
23
|
-
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
unless have_completion
|
28
|
-
if have_completion != 'bond'
|
29
|
-
puts "Please install the 'bond' getm for better autocompletion"
|
22
|
+
puts "To enable tab-completion, please install the 'bond' gem (gem install bond)."
|
30
23
|
end
|
31
24
|
end
|
32
25
|
|
data/lib/solvebio/filter.rb
CHANGED
@@ -144,9 +144,11 @@ module SolveBio
|
|
144
144
|
begin
|
145
145
|
value = Float(value)
|
146
146
|
rescue
|
147
|
-
|
148
|
-
|
149
|
-
|
147
|
+
if /\d{4}-\d{2}-\d{2}/ !~ value
|
148
|
+
raise(TypeError,
|
149
|
+
"Invalid field value #{value} for #{key}; " +
|
150
|
+
"Should be a number or a date in the format 'YYYY-MM-DD'.")
|
151
|
+
end
|
150
152
|
end
|
151
153
|
tuple = [key, value]
|
152
154
|
when 'range'
|
@@ -230,10 +232,8 @@ module SolveBio
|
|
230
232
|
else
|
231
233
|
rv << {key => process_filters(val)}
|
232
234
|
end
|
233
|
-
elsif f.kind_of?(Array)
|
234
|
-
rv << f
|
235
235
|
else
|
236
|
-
|
236
|
+
rv << f
|
237
237
|
end
|
238
238
|
end
|
239
239
|
end
|
@@ -300,9 +300,9 @@ module SolveBio
|
|
300
300
|
end
|
301
301
|
|
302
302
|
if chromosome.nil?
|
303
|
-
f &= SolveBio::Filter.new({"
|
303
|
+
f &= SolveBio::Filter.new({"#{FIELD_CHR}" => nil})
|
304
304
|
else
|
305
|
-
f &= SolveBio::Filter.new({"
|
305
|
+
f &= SolveBio::Filter.new({"#{FIELD_CHR}" => chromosome.sub('chr', '')})
|
306
306
|
end
|
307
307
|
|
308
308
|
@filters = f.filters
|
data/lib/solvebio/query.rb
CHANGED
@@ -151,6 +151,9 @@ module SolveBio
|
|
151
151
|
result = Tabulate.tabulate(buffer[0], ['Fields', 'Data'], ['right', 'left'], true)
|
152
152
|
return "\n#{result}\n\n... #{(size - 1).pretty_int} more results."
|
153
153
|
end
|
154
|
+
# Force inspect to always call to_s.
|
155
|
+
# This happens automatically in Ruby < 2.0.0
|
156
|
+
alias_method(:inspect, :to_s)
|
154
157
|
|
155
158
|
# Convert SolveBio::QueryPaging object to a Hash type
|
156
159
|
def to_h
|
data/lib/solvebio/version.rb
CHANGED
data/solvebio.gemspec
CHANGED
@@ -52,13 +52,12 @@ EOD
|
|
52
52
|
## List your runtime dependencies here. Runtime dependencies are those
|
53
53
|
## that are needed for an end user to actually USE your code.
|
54
54
|
|
55
|
-
s.add_dependency('netrc',
|
56
|
-
s.add_dependency('rest_client', '>=1.8.1')
|
57
|
-
s.add_dependency('addressable', '>=2.3.6')
|
55
|
+
s.add_dependency('netrc', '~> 0.7')
|
56
|
+
s.add_dependency('rest_client', '~> 1.8', '>= 1.8.1')
|
57
|
+
s.add_dependency('addressable', '~> 2.3', '>= 2.3.6')
|
58
58
|
|
59
59
|
## List your development dependencies here. Development dependencies are
|
60
60
|
## those that are only needed during development
|
61
|
-
# s.add_development_dependency('DEVDEPNAME', [">= 1.1.0", "< 2.0.0"])
|
62
61
|
s.add_development_dependency('rake')
|
63
62
|
s.add_development_dependency('rdoc')
|
64
63
|
s.add_development_dependency('webmock')
|
@@ -49,7 +49,7 @@ module SolveBio
|
|
49
49
|
|
50
50
|
def test_genomic_filter
|
51
51
|
assert_equal(
|
52
|
-
'<GenomicFilter [{:and=>[["genomic_coordinates.start", 13], ["genomic_coordinates.stop", 32200000], ["chromosome", "hg38"]]}]>',
|
52
|
+
'<GenomicFilter [{:and=>[["genomic_coordinates.start", 13], ["genomic_coordinates.stop", 32200000], ["genomic_coordinates.chromosome", "hg38"]]}]>',
|
53
53
|
SolveBio::GenomicFilter.
|
54
54
|
new("hg38", "13", 32200000, 32500000).inspect)
|
55
55
|
end
|
@@ -65,21 +65,21 @@ module SolveBio
|
|
65
65
|
def test_genomic_single_position
|
66
66
|
f = SolveBio::GenomicFilter.new('chr1', 100)
|
67
67
|
assert_equal(
|
68
|
-
'<GenomicFilter [{:and=>[["genomic_coordinates.start__gte", 100.0], ["genomic_coordinates.start__lte", 100.0], ["chromosome", "1"]]}]>',
|
68
|
+
'<GenomicFilter [{:and=>[["genomic_coordinates.start__gte", 100.0], ["genomic_coordinates.start__lte", 100.0], ["genomic_coordinates.chromosome", "1"]]}]>',
|
69
69
|
f.inspect)
|
70
70
|
|
71
71
|
f = SolveBio::GenomicFilter.new('chr1', 100, 100, true)
|
72
72
|
assert_equal(
|
73
|
-
'<GenomicFilter [{:and=>[["genomic_coordinates.start", 100], ["genomic_coordinates.stop", 100], ["chromosome", "1"]]}]>',
|
73
|
+
'<GenomicFilter [{:and=>[["genomic_coordinates.start", 100], ["genomic_coordinates.stop", 100], ["genomic_coordinates.chromosome", "1"]]}]>',
|
74
74
|
f.inspect)
|
75
75
|
end
|
76
76
|
|
77
77
|
def test_range
|
78
78
|
f = SolveBio::GenomicFilter.new('chr1', 100, 200)
|
79
|
-
assert_equal('<GenomicFilter [{:and=>[{:or=>[{:and=>[["genomic_coordinates.start__gte", 200.0], ["genomic_coordinates.start__lte", 100.0]]}, ["genomic_coordinates.start__range", [100, 201]], ["genomic_coordinates.stop__range", [100, 201]]]}, ["chromosome", "1"]]}]>',
|
79
|
+
assert_equal('<GenomicFilter [{:and=>[{:or=>[{:and=>[["genomic_coordinates.start__gte", 200.0], ["genomic_coordinates.start__lte", 100.0]]}, ["genomic_coordinates.start__range", [100, 201]], ["genomic_coordinates.stop__range", [100, 201]]]}, ["genomic_coordinates.chromosome", "1"]]}]>',
|
80
80
|
f.inspect)
|
81
81
|
f = SolveBio::GenomicFilter.new('chr1', 100, 200, true)
|
82
|
-
assert_equal('<GenomicFilter [{:and=>[["genomic_coordinates.start", 100], ["genomic_coordinates.stop", 200], ["chromosome", "1"]]}]>',
|
82
|
+
assert_equal('<GenomicFilter [{:and=>[["genomic_coordinates.start", 100], ["genomic_coordinates.stop", 200], ["genomic_coordinates.chromosome", "1"]]}]>',
|
83
83
|
f.inspect)
|
84
84
|
end
|
85
85
|
end
|
metadata
CHANGED
@@ -1,125 +1,118 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solvebio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
5
|
-
prerelease:
|
4
|
+
version: 1.7.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- SolveBio
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-15 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: netrc
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.7
|
19
|
+
version: '0.7'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.7
|
26
|
+
version: '0.7'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rest_client
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.8'
|
34
|
+
- - ">="
|
36
35
|
- !ruby/object:Gem::Version
|
37
36
|
version: 1.8.1
|
38
37
|
type: :runtime
|
39
38
|
prerelease: false
|
40
39
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
40
|
requirements:
|
43
|
-
- -
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.8'
|
44
|
+
- - ">="
|
44
45
|
- !ruby/object:Gem::Version
|
45
46
|
version: 1.8.1
|
46
47
|
- !ruby/object:Gem::Dependency
|
47
48
|
name: addressable
|
48
49
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
50
|
requirements:
|
51
|
-
- -
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '2.3'
|
54
|
+
- - ">="
|
52
55
|
- !ruby/object:Gem::Version
|
53
56
|
version: 2.3.6
|
54
57
|
type: :runtime
|
55
58
|
prerelease: false
|
56
59
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
60
|
requirements:
|
59
|
-
- -
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '2.3'
|
64
|
+
- - ">="
|
60
65
|
- !ruby/object:Gem::Version
|
61
66
|
version: 2.3.6
|
62
67
|
- !ruby/object:Gem::Dependency
|
63
68
|
name: rake
|
64
69
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
70
|
requirements:
|
67
|
-
- -
|
71
|
+
- - ">="
|
68
72
|
- !ruby/object:Gem::Version
|
69
73
|
version: '0'
|
70
74
|
type: :development
|
71
75
|
prerelease: false
|
72
76
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
77
|
requirements:
|
75
|
-
- -
|
78
|
+
- - ">="
|
76
79
|
- !ruby/object:Gem::Version
|
77
80
|
version: '0'
|
78
81
|
- !ruby/object:Gem::Dependency
|
79
82
|
name: rdoc
|
80
83
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
84
|
requirements:
|
83
|
-
- -
|
85
|
+
- - ">="
|
84
86
|
- !ruby/object:Gem::Version
|
85
87
|
version: '0'
|
86
88
|
type: :development
|
87
89
|
prerelease: false
|
88
90
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
91
|
requirements:
|
91
|
-
- -
|
92
|
+
- - ">="
|
92
93
|
- !ruby/object:Gem::Version
|
93
94
|
version: '0'
|
94
95
|
- !ruby/object:Gem::Dependency
|
95
96
|
name: webmock
|
96
97
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
98
|
requirements:
|
99
|
-
- -
|
99
|
+
- - ">="
|
100
100
|
- !ruby/object:Gem::Version
|
101
101
|
version: '0'
|
102
102
|
type: :development
|
103
103
|
prerelease: false
|
104
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
105
|
requirements:
|
107
|
-
- -
|
106
|
+
- - ">="
|
108
107
|
- !ruby/object:Gem::Version
|
109
108
|
version: '0'
|
110
|
-
description:
|
111
|
-
can
|
112
|
-
|
109
|
+
description: |
|
110
|
+
SolveBio is a platform for biomedical datasets. With SolveBio you can
|
113
111
|
forget about parsing complex flat files and sifting through cryptic
|
114
|
-
|
115
112
|
datasets. Just use the Ruby Client and API to explore massive
|
116
|
-
|
117
113
|
datasets and automate just about any bioinformatics workflow.
|
118
114
|
|
119
|
-
|
120
115
|
See https://www.solvebio.com/ for more information.
|
121
|
-
|
122
|
-
'
|
123
116
|
email: contact@solvebio.com
|
124
117
|
executables:
|
125
118
|
- solvebio.rb
|
@@ -127,9 +120,9 @@ extensions: []
|
|
127
120
|
extra_rdoc_files:
|
128
121
|
- LICENSE
|
129
122
|
files:
|
130
|
-
- .bumpversion.cfg
|
131
|
-
- .gitignore
|
132
|
-
- .travis.yml
|
123
|
+
- ".bumpversion.cfg"
|
124
|
+
- ".gitignore"
|
125
|
+
- ".travis.yml"
|
133
126
|
- Gemfile
|
134
127
|
- Gemspec
|
135
128
|
- LICENSE
|
@@ -194,26 +187,25 @@ files:
|
|
194
187
|
homepage: https://www.solvebio.com
|
195
188
|
licenses:
|
196
189
|
- MIT
|
190
|
+
metadata: {}
|
197
191
|
post_install_message:
|
198
192
|
rdoc_options:
|
199
|
-
- --charset=UTF-8
|
193
|
+
- "--charset=UTF-8"
|
200
194
|
require_paths:
|
201
195
|
- lib
|
202
196
|
required_ruby_version: !ruby/object:Gem::Requirement
|
203
|
-
none: false
|
204
197
|
requirements:
|
205
|
-
- -
|
198
|
+
- - ">="
|
206
199
|
- !ruby/object:Gem::Version
|
207
200
|
version: 1.9.0
|
208
201
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
|
-
none: false
|
210
202
|
requirements:
|
211
|
-
- -
|
203
|
+
- - ">="
|
212
204
|
- !ruby/object:Gem::Version
|
213
205
|
version: '0'
|
214
206
|
requirements: []
|
215
207
|
rubyforge_project:
|
216
|
-
rubygems_version:
|
208
|
+
rubygems_version: 2.4.5
|
217
209
|
signing_key:
|
218
210
|
specification_version: 2
|
219
211
|
summary: Ruby bindings for the SolveBio API
|