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 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
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 1.7.1
2
+ current_version = 1.7.2
3
3
  files = lib/solvebio/version.rb
4
4
  commit = True
5
5
  tag = False
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source "https://rubygems.org"
3
3
 
4
4
  gem 'addressable'
5
5
  gem 'rest_client'
6
- gem 'netrc', '~>0.7.7' # rest_client needs netrc 0.7.7
6
+ gem 'netrc', '~>0.7.7' # rest_client needs netrc 0.7.7
7
7
  group :test do
8
8
  gem 'webmock'
9
9
  end
data/README.md CHANGED
@@ -27,9 +27,7 @@ Installing from Git
27
27
 
28
28
  First, install dependencies:
29
29
 
30
- gem install rest_client
31
- gem install addressable
32
- gem install netrc
30
+ gem install rest_client addressable netrc
33
31
 
34
32
  Install from source:
35
33
 
data/Rakefile CHANGED
@@ -25,7 +25,7 @@ end
25
25
 
26
26
  task :install => :gem do
27
27
  Dir.chdir(ROOT_DIR) do
28
- sh %{gem install --both pkg/#{gemspec.file_name}}
28
+ sh %{gem install --dev --both pkg/#{gemspec.file_name}}
29
29
  end
30
30
  end
31
31
 
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
- # Are we installing or upgrading?
54
- if [ $(gem list | grep solvebio -c) -ne 0 ]; then
55
- sudo gem update solvebio 2>&1 >> $LOG
56
- else
57
- sudo gem install -q solvebio 2>&1 >> $LOG
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
@@ -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' and require 'bond/completion'
18
- have_completion = 'bond'
16
+ require 'bond'
17
+ Bond.start
19
18
  rescue LoadError
20
19
  begin
21
- have_completion = require 'irb/completion'
20
+ require 'irb/completion'
22
21
  rescue LoadError
23
- have_completion = false
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
 
@@ -144,9 +144,11 @@ module SolveBio
144
144
  begin
145
145
  value = Float(value)
146
146
  rescue
147
- raise(TypeError,
148
- "Invalid field value #{value} for #{key}; " +
149
- "Should be a number")
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
- raise TypeError, "Invalid filter class #{f.class}"
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({"chromosome" => nil})
303
+ f &= SolveBio::Filter.new({"#{FIELD_CHR}" => nil})
304
304
  else
305
- f &= SolveBio::Filter.new({"chromosome" => chromosome.sub('chr', '')})
305
+ f &= SolveBio::Filter.new({"#{FIELD_CHR}" => chromosome.sub('chr', '')})
306
306
  end
307
307
 
308
308
  @filters = f.filters
@@ -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
@@ -1,3 +1,3 @@
1
1
  module SolveBio
2
- VERSION = '1.7.1'
2
+ VERSION = '1.7.2'
3
3
  end
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', '>=0.7.7') # handling .netrc
56
- s.add_dependency('rest_client', '>=1.8.1') # better URI handler
57
- s.add_dependency('addressable', '>=2.3.6') # better URI parsing
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.1
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-14 00:00:00.000000000 Z
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.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.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: ! 'SolveBio is a platform for biomedical datasets. With SolveBio you
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: 1.8.23
208
+ rubygems_version: 2.4.5
217
209
  signing_key:
218
210
  specification_version: 2
219
211
  summary: Ruby bindings for the SolveBio API