bio-basespace-sdk 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bio-basespace-sdk might be problematic. Click here for more details.

@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 92cef1459a52d87689eb5ce456fc464292de4019
4
+ data.tar.gz: a123635b332ca349729b113e307e171819c725a6
5
+ SHA512:
6
+ metadata.gz: 32b9ea9d704f55d3c6496d33cd353b5eff3e7ad213cd4658eeee6e212aa40231bedd445e41b2b55a2048f1e53581ecf0a53f302e27491a3da036ac6e2105af9d
7
+ data.tar.gz: 9affe81766270bb7631cde418188d31cb62b7f6ef4046fda52f2aab72cfc9d8e165a93e87ed4b8dba9398451fcbcb6ae4a00c7dd8a5a557840dfafb1fb79aeb9
data/Gemfile CHANGED
@@ -8,7 +8,7 @@ gem "addressable", ">= 2.3.2"
8
8
  # Add dependencies to develop your gem here.
9
9
  # Include everything needed to run rake, tests, features, etc.
10
10
  group :development do
11
- gem "rspec", "~> 2.8.0"
11
+ gem "rspec", "~> 2.14.1"
12
12
  gem "bundler", ">= 1.1.5"
13
13
  gem "jeweler", "~> 1.8.4"
14
14
  gem "bio", ">= 1.4.2"
data/README.md CHANGED
@@ -8,7 +8,19 @@ The primary purpose of the SDK is to provide an easy-to-use Ruby environment ena
8
8
 
9
9
  ## Availability
10
10
 
11
- Current version of ``Bio::BaseSpace`` can be checked out here:
11
+ *Note:* We are still testing our code. Please take the production-ready gem with a pinch of salt.
12
+
13
+ The production environment version of ``Bio::BaseSpace`` is available as a Ruby gem:
14
+
15
+ gem install bio-basespace-sdk
16
+
17
+ Depending on your Ruby installation, it might be necessary to install the Ruby gem with superuser permissions:
18
+
19
+ sudo gem install bio-basespace-sdk
20
+
21
+ ### Pre-Release Version
22
+
23
+ The pre-release version of ``Bio::BaseSpace`` can be checked out here:
12
24
 
13
25
  git clone https://github.com/joejimbo/basespace-ruby-sdk.git
14
26
 
@@ -16,7 +28,7 @@ or by,
16
28
 
17
29
  git clone git@github.com:joejimbo/basespace-ruby-sdk.git
18
30
 
19
- *Note:* We will make the SDK available as a Ruby gem when our implementation is production ready. It will then also be listed on [Biogems.info](http://www.biogems.info).
31
+ Status: [![Build Status](https://travis-ci.org/joejimbo/basespace-ruby-sdk.png?branch=master)](https://travis-ci.org/joejimbo/basespace-ruby-sdk)
20
32
 
21
33
  ## Setup
22
34
 
@@ -33,7 +45,7 @@ or add it to your Ruby scripts using Bio::BaseSpace:
33
45
  To test that everything is working as expected, launch a Interactive Ruby and try importing 'Bio::BaseSpace':
34
46
 
35
47
  $ irb
36
- >> require 'basespace'
48
+ >> require 'bio-basespace-sdk'
37
49
  >> include Bio::BaseSpace
38
50
 
39
51
  ## Application triggering
@@ -46,7 +58,7 @@ we are able to obtain information about the user who launched the App and the da
46
58
  First, we instantiate a BaseSpaceAPI object using the ``client_key`` and ``client_secret`` codes provided on the BaseSpace developer's website when registering our App, as well as the ``AppSessionId`` generated from the app-triggering:
47
59
 
48
60
 
49
- require 'basespace'
61
+ require 'bio-basespace-sdk'
50
62
 
51
63
  include Bio::BaseSpace
52
64
 
@@ -184,7 +196,7 @@ Here we demonstrate the basic BaseSpace authentication process. The work-flow ou
184
196
 
185
197
  Again, we will start out by initializing a ``BaseSpaceAPI`` object:
186
198
 
187
- require 'basespace'
199
+ require 'bio-basespace-sdk'
188
200
  include Bio::BaseSpace
189
201
 
190
202
  client_id = 'my client key'
@@ -266,7 +278,7 @@ a ``user`` instance we can use it to retrieve all project belonging to that user
266
278
 
267
279
  First we will initialize a ``BaseSpaceAPI`` using our access-token for ``global browse``:
268
280
 
269
- require 'basespace'
281
+ require 'bio-basespace-sdk'
270
282
  include Bio::BaseSpace
271
283
 
272
284
  # REST server information and user access_token
@@ -372,7 +384,7 @@ In addition, we take a look at some of the special queuring methods associated w
372
384
  Again, start out by initializing a ``BaseSpaceAPI`` instance and retrieving all projects belonging to the current user:
373
385
 
374
386
  # First, create a client for making calls for this user session
375
- require 'basespace'
387
+ require 'bio-basespace-sdk'
376
388
  include Bio::BaseSpace
377
389
 
378
390
  client_id = 'my client key'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
@@ -16,7 +16,7 @@
16
16
  # Application triggering
17
17
  # https://developer.basespace.illumina.com/docs/content/documentation/sdk-samples/python-sdk-overview#Application_triggering
18
18
 
19
- require 'basespace'
19
+ require 'bio-basespace-sdk'
20
20
 
21
21
  include Bio::BaseSpace
22
22
 
@@ -16,7 +16,7 @@
16
16
  # Requesting an access-token for data browsing
17
17
  # https://developer.basespace.illumina.com/docs/content/documentation/sdk-samples/python-sdk-overview#Requesting_an_access-token_for_data_browsing
18
18
 
19
- require 'basespace'
19
+ require 'bio-basespace-sdk'
20
20
 
21
21
  include Bio::BaseSpace
22
22
 
@@ -16,7 +16,7 @@
16
16
  # Browsing data with global browse access
17
17
  # https://developer.basespace.illumina.com/docs/content/documentation/sdk-samples/python-sdk-overview#Browsing_data_with_global_browse_access
18
18
 
19
- require 'basespace'
19
+ require 'bio-basespace-sdk'
20
20
 
21
21
  include Bio::BaseSpace
22
22
 
@@ -16,7 +16,7 @@
16
16
  # Accessing file-trees and querying BAM or VCF files
17
17
  # https://developer.basespace.illumina.com/docs/content/documentation/sdk-samples/python-sdk-overview#Accessing_file-trees_and_querying_BAM_or_VCF_files
18
18
 
19
- require 'basespace'
19
+ require 'bio-basespace-sdk'
20
20
 
21
21
  include Bio::BaseSpace
22
22
 
@@ -16,7 +16,7 @@
16
16
  # Creating an AppResult and uploading files
17
17
  # https://developer.basespace.illumina.com/docs/content/documentation/sdk-samples/python-sdk-overview#Creating_an_AppResult_and_uploading_files
18
18
 
19
- require 'basespace'
19
+ require 'bio-basespace-sdk'
20
20
 
21
21
  include Bio::BaseSpace
22
22
 
@@ -13,7 +13,7 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- require 'basespace'
16
+ require 'bio-basespace-sdk'
17
17
 
18
18
  include Bio::BaseSpace
19
19
 
@@ -31,7 +31,7 @@ class UploadTask
31
31
  # +total+:: Total number of parts in the multi-part upload.
32
32
  # +myfile+:: Local file to be uploaded.
33
33
  # +attempt+:: Number of attempts that the file was previously uploaded (upload tries).
34
- def initialize(self, api, bs_file_id, part, total, myfile, attempt)
34
+ def initialize(api, bs_file_id, part, total, myfile, attempt)
35
35
  @api = api
36
36
  @part = part # part number
37
37
  @total = total # out of total part count
@@ -75,12 +75,17 @@ class UploadTask
75
75
  end
76
76
 
77
77
  end # class UploadTask
78
-
79
- class Consumer # [TODO] inherit multiprocessing.Process
78
+
79
+ # Multipart file upload consumer class.
80
+ #
81
+ # TODO This file is not yet ported as the multipartFileUpload class is
82
+ # just mentioned in the comment section of the BaseSpaceAPI file.
83
+ class Consumer
84
+
80
85
  def initialize(task_queue, result_queue, pause_event, halt_event)
81
- # [TODO] http://stackoverflow.com/questions/710785/working-with-multiple-processes-in-ruby
82
- # http://stackoverflow.com/questions/855805/please-introduce-a-multi-processing-library-in-perl-or-ruby
83
- # http://docs.python.jp/2.6/library/multiprocessing.html
86
+ # TODO http://stackoverflow.com/questions/710785/working-with-multiple-processes-in-ruby
87
+ # http://stackoverflow.com/questions/855805/please-introduce-a-multi-processing-library-in-perl-or-ruby
88
+ # http://docs.python.jp/2.6/library/multiprocessing.html
84
89
  #multiprocessing.Process.__init__(self)
85
90
  @task_queue = task_queue
86
91
  @result_queue = result_queue
@@ -88,43 +93,46 @@ class Consumer # [TODO] inherit multiprocessing.Process
88
93
  @halt = haltEvent
89
94
  end
90
95
 
91
- # [TODO]
96
+ # TODO
92
97
  def run
93
98
  proc_name = self.name
94
- while True:
99
+ while True
95
100
  unless self.pause.is_set()
96
101
  next_task = self.task_queue.get()
97
102
  end
98
103
 
99
- if next_task is None or self.halt.is_set(): # check if we are out of jobs or have been halted
104
+ if next_task is None or self.halt.is_set() # check if we are out of jobs or have been halted
100
105
  # Poison pill means shutdown
101
- print '%s: Exiting' % proc_name
106
+ puts "#{proc_name}: Exiting"
102
107
  self.task_queue.task_done()
103
108
  break
104
- elsif self.pause.is_set(): # if we have been paused, sleep for a bit then check back
105
- print '%s: Paused' % proc_name
109
+ elsif self.pause.is_set() # if we have been paused, sleep for a bit then check back
110
+ puts "#{proc_name}: Paused"
106
111
  time.sleep(3)
107
- else: # do some work
108
- print '%s: %s' % (proc_name, next_task)
112
+ else # do some work
113
+ puts "#{proc_name}: #{next_task}"
109
114
  answer = next_task()
110
115
  self.task_queue.task_done()
111
- if answer.state == 1: # case everything went well
116
+ if answer.state == 1 # case everything went well
112
117
  self.result_queue.put(answer)
113
- else: # case something sent wrong
114
- if next_task.attempt < 3:
118
+ else # case something sent wrong
119
+ if next_task.attempt < 3
115
120
  self.task_queue.put(next_task) # queue the guy for a retry
116
- else: # problems, shutting down this party
121
+ else # problems, shutting down this party
117
122
  self.halt.set() # halt all other process
118
123
  end
119
124
  end
120
125
  end
121
126
  end
122
- return
123
127
  end
124
128
  end # class Consumer
125
129
 
130
+ # Multipart file upload class.
131
+ #
132
+ # TODO This file is not yet ported as the multipartFileUpload class is
133
+ # just mentioned in the comment section of the BaseSpaceAPI file.
134
+ class MultipartUpload
126
135
 
127
- class MultipartUpload:
128
136
  def initialize(api, a_id, local_file, file_object, cpu_count, part_size, temp_dir, verbose)
129
137
  @api = api
130
138
  @analysis_id = a_id
@@ -141,13 +149,14 @@ class MultipartUpload:
141
149
  end
142
150
 
143
151
  def to_s
144
- # [TODO] fix this.
152
+ # TODO fix this.
153
+ # NOTE Python sublist notation [:5] already changed to Ruby [0..4]
145
154
  return "MPU - Stat: " + @status + ", LiveThread: " + str(self.getRunningThreadCount()) + \
146
- ", RunTime: " + str(self.getRunningTime())[:5] + 's' + \
155
+ ", RunTime: " + str(self.getRunningTime())[0..4] + 's' + \
147
156
  ", Q-size " + str(self.tasks.qsize()) + \
148
157
  ", Completed " + str(self.getProgressRatio()) + \
149
158
  ", AVG TransferRate " + self.getTransRate() + \
150
- ", Data transfered " + str(self.getTotalTransfered())[:5] + 'Gb'
159
+ ", Data transfered " + str(self.getTotalTransfered())[0..4] + 'Gb'
151
160
  end
152
161
 
153
162
  def to_str
@@ -165,7 +174,7 @@ class MultipartUpload:
165
174
  totalSize = os.path.getsize(self.localFile)
166
175
  fileCount = int(math.ceil(totalSize/(self.partSize*1024.0*1000)))
167
176
 
168
- if self.verbose:
177
+ if self.verbose
169
178
  print "TotalSize " + str(totalSize)
170
179
  print "Using split size " + str(self.partSize) +"Mb"
171
180
  print "Filecount " + str(fileCount)
@@ -175,110 +184,118 @@ class MultipartUpload:
175
184
  # Establish communication queues
176
185
  self.tasks = multiprocessing.JoinableQueue()
177
186
  self.completedPool = multiprocessing.Queue()
178
- for i in xrange(1,fileCount+1): # set up the task queue
179
- t = uploadTask(self.api,self.remoteFile.Id,i, fileCount, self.localFile, 0)
187
+ [1..fileCount].each { |i| # set up the task queue
188
+ t = uploadTask(self.api,self.remoteFile.Id, i, fileCount, self.localFile, 0)
180
189
  self.tasks.put(t)
181
- end
190
+ }
182
191
  self.totalTask = self.tasks.qsize()
183
192
 
184
193
  # create consumers
185
194
  self.pauseEvent = multiprocessing.Event()
186
195
  self.haltEvent = multiprocessing.Event()
187
- if self.verbose:
196
+ if self.verbose
188
197
  print 'Creating %d consumers' % self.cpuCount
189
198
  print "queue size " + str(self.tasks.qsize())
190
199
  end
191
- self.consumers = [ Consumer(self.tasks, self.completedPool,self.pauseEvent,self.haltEvent) for i in xrange(self.cpuCount) ]
192
- for c in self.consumers: self.tasks.put(None) # add poisson pill
193
- end
200
+ # NOTE Original code -- note the strange indent. Variables i and c not used. Buggy code?
201
+ # self.consumers = [ Consumer(self.tasks, self.completedPool,self.pauseEvent,self.haltEvent) for i in xrange(self.cpuCount) ]
202
+ # for c in self.consumers: self.tasks.put(None) # add poisson pill
203
+ self.consumers = [0..self.cpuCount].map { |i| Consumer(self.tasks, self.completedPool, self.pauseEvent, self.haltEvent) }
204
+ self.consumers.each { |c| self.tasks.put(nil) }
194
205
  end
195
206
 
196
- def __cleanUp__(self):
207
+ def __cleanUp__
197
208
  self.stats[0] += 1
198
209
  end
199
210
 
200
- def startUpload(self,returnOnFinish=0,testInterval=5):
201
- if self.Status=='Terminated' or self.Status=='Completed':
202
- raise Exception('Cannot resume a ' + self.Status + ' multi-part upload session.')
211
+ def startUpload(returnOnFinish = 0, testInterval = 5)
212
+ raise Exception('Cannot resume a ' + self.Status + ' multi-part upload session.') if self.Status == 'Terminated' or self.Status == 'Completed'
203
213
 
204
- if self.Status == 'Initialized':
214
+ if self.Status == 'Initialized'
205
215
  self.StartTime = time.time()
206
- for w in self.consumers:
216
+ self.consumers.each { |w|
207
217
  w.start()
208
- if self.Status == 'Paused':
218
+ }
219
+ elsif self.Status == 'Paused'
209
220
  self.pauseEvent.clear()
221
+ end
210
222
  self.Status = 'Running'
211
223
 
212
224
  # If returnOnFinish is set
213
- if returnOnFinish:
225
+ if returnOnFinish
214
226
  i=0
215
- while not self.hasFinished():
216
- if self.verbose and i: print str(i) + ': ' + str(self)
227
+ while not self.hasFinished()
228
+ print str(i) + ': ' + str(self) if self.verbose and i
217
229
  time.sleep(testInterval)
218
230
  i+=1
231
+ end
219
232
  self.finalize()
220
233
  return 1
221
- else:
234
+ else
222
235
  return 1
223
236
  end
224
237
  end
225
238
 
226
- def finalize(self):
227
- if self.getRunningThreadCount():
228
- raise Exception('Cannot finalize a transfer with running threads.')
229
- if self.Status=='Running':
239
+ def finalize
240
+ raise Exception('Cannot finalize a transfer with running threads.') if self.getRunningThreadCount()
241
+ if self.Status=='Running'
230
242
  # code here for
231
243
  self.Status=='Completed'
232
- else:
244
+ else
233
245
  raise Exception('To finalize the status of the transfer must be "Running."')
234
246
  end
235
247
  end
236
248
 
237
- def hasFinished(self):
238
- if self.Status == 'Initialized': return 0
239
- return not self.getRunningThreadCount()>0
249
+ def hasFinished
250
+ return 0 if self.Status == 'Initialized'
251
+ return !(self.getRunningThreadCount() > 0)
240
252
  end
241
253
 
242
- def pauseUpload(self):
254
+ def pauseUpload
243
255
  self.pauseEvent.set()
244
256
  self.Status = 'Paused'
245
257
  end
246
258
 
247
- def haltUpload(self):
248
- for c in self.consumers: c.terminate()
259
+ def haltUpload
260
+ self.consumers.each { |c| c.terminate() }
249
261
  self.Status = 'Terminated'
250
262
  end
251
263
 
252
- def getStatus(self):
264
+ def getStatus
253
265
  return self.Status
254
266
  end
255
267
 
256
- def getFileResponse(self):
268
+ def getFileResponse
257
269
  return self.remoteFile
258
270
  end
259
271
 
260
- def getRunningThreadCount(self):
261
- return sum([c.is_alive() for c in self.consumers])
272
+ def getRunningThreadCount
273
+ return sum(self.consumers.map { |c| c.is_alive() })
262
274
  end
263
275
 
264
- def getTransRate(self):
276
+ def getTransRate
265
277
  # tasks completed size of file-parts
266
- return str((self.totalTask - self.tasks.qsize())*self.partSize/self.getRunningTime())[:6] + ' mb/s'
278
+ # NOTE Python sublist [:6] already ported to Ruby [0..5]
279
+ return str((self.totalTask - self.tasks.qsize())*self.partSize/self.getRunningTime())[0..5] + ' mb/s'
267
280
  end
268
281
 
269
- def getRunningTime(self):
270
- if self.StartTime==-1: return 0
271
- else: return time.time() - self.StartTime
282
+ def getRunningTime
283
+ if self.StartTime==-1
284
+ return 0
285
+ else
286
+ return time.time() - self.StartTime
287
+ end
272
288
  end
273
289
 
274
290
  # Returns the total data amoun transfered in Gb
275
- def getTotalTransfered(self):
276
- return float((self.totalTask - self.tasks.qsize())*self.partSize)/1000.0
291
+ def getTotalTransfered
292
+ return float((self.totalTask - self.tasks.qsize())*self.partSize) / 1000.0
277
293
  end
278
294
 
279
- def getProgressRatio(self):
295
+ def getProgressRatio
280
296
  currentQ = float(self.tasks.qsize() - len(self.consumers))
281
- return str(float(self.totalTask - currentQ)/self.totalTask)[:6]
297
+ # NOTE Python sublist [:6] already ported to Ruby [0..5]
298
+ return str(float(self.totalTask - currentQ) / self.totalTask)[0..5]
282
299
  end
283
300
 
284
301
  end # class MultipartUpload
@@ -14,7 +14,7 @@
14
14
  require 'rubygems'
15
15
  require 'rspec'
16
16
 
17
- require 'basespace'
17
+ require 'bio-basespace-sdk'
18
18
 
19
19
  describe Bio::BaseSpace::APIClient do
20
20
  describe "initialization" do
@@ -14,7 +14,7 @@
14
14
  require 'rubygems'
15
15
  require 'rspec'
16
16
 
17
- require 'basespace'
17
+ require 'bio-basespace-sdk'
18
18
 
19
19
  value = 'testvalue'
20
20
  legal = 'legalcases'
@@ -14,7 +14,7 @@
14
14
  require 'rubygems'
15
15
  require 'rspec'
16
16
 
17
- require 'basespace'
17
+ require 'bio-basespace-sdk'
18
18
 
19
19
  attributes = { "Id" => "X10231", "Source" => "Test", "SpeciesName" => "Homo sapiens" }
20
20
 
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bio-basespace-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
5
- prerelease:
4
+ version: 0.1.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Joachim Baran
@@ -18,71 +17,62 @@ dependencies:
18
17
  - !ruby/object:Gem::Dependency
19
18
  name: getopt
20
19
  requirement: !ruby/object:Gem::Requirement
21
- none: false
22
20
  requirements:
23
- - - ! '>='
21
+ - - '>='
24
22
  - !ruby/object:Gem::Version
25
23
  version: 1.4.1
26
24
  type: :runtime
27
25
  prerelease: false
28
26
  version_requirements: !ruby/object:Gem::Requirement
29
- none: false
30
27
  requirements:
31
- - - ! '>='
28
+ - - '>='
32
29
  - !ruby/object:Gem::Version
33
30
  version: 1.4.1
34
31
  - !ruby/object:Gem::Dependency
35
32
  name: addressable
36
33
  requirement: !ruby/object:Gem::Requirement
37
- none: false
38
34
  requirements:
39
- - - ! '>='
35
+ - - '>='
40
36
  - !ruby/object:Gem::Version
41
37
  version: 2.3.2
42
38
  type: :runtime
43
39
  prerelease: false
44
40
  version_requirements: !ruby/object:Gem::Requirement
45
- none: false
46
41
  requirements:
47
- - - ! '>='
42
+ - - '>='
48
43
  - !ruby/object:Gem::Version
49
44
  version: 2.3.2
50
45
  - !ruby/object:Gem::Dependency
51
46
  name: rspec
52
47
  requirement: !ruby/object:Gem::Requirement
53
- none: false
54
48
  requirements:
55
49
  - - ~>
56
50
  - !ruby/object:Gem::Version
57
- version: 2.8.0
51
+ version: 2.14.1
58
52
  type: :development
59
53
  prerelease: false
60
54
  version_requirements: !ruby/object:Gem::Requirement
61
- none: false
62
55
  requirements:
63
56
  - - ~>
64
57
  - !ruby/object:Gem::Version
65
- version: 2.8.0
58
+ version: 2.14.1
66
59
  - !ruby/object:Gem::Dependency
67
60
  name: bundler
68
61
  requirement: !ruby/object:Gem::Requirement
69
- none: false
70
62
  requirements:
71
- - - ! '>='
63
+ - - '>='
72
64
  - !ruby/object:Gem::Version
73
65
  version: 1.1.5
74
66
  type: :development
75
67
  prerelease: false
76
68
  version_requirements: !ruby/object:Gem::Requirement
77
- none: false
78
69
  requirements:
79
- - - ! '>='
70
+ - - '>='
80
71
  - !ruby/object:Gem::Version
81
72
  version: 1.1.5
82
73
  - !ruby/object:Gem::Dependency
83
74
  name: jeweler
84
75
  requirement: !ruby/object:Gem::Requirement
85
- none: false
86
76
  requirements:
87
77
  - - ~>
88
78
  - !ruby/object:Gem::Version
@@ -90,7 +80,6 @@ dependencies:
90
80
  type: :development
91
81
  prerelease: false
92
82
  version_requirements: !ruby/object:Gem::Requirement
93
- none: false
94
83
  requirements:
95
84
  - - ~>
96
85
  - !ruby/object:Gem::Version
@@ -98,23 +87,20 @@ dependencies:
98
87
  - !ruby/object:Gem::Dependency
99
88
  name: bio
100
89
  requirement: !ruby/object:Gem::Requirement
101
- none: false
102
90
  requirements:
103
- - - ! '>='
91
+ - - '>='
104
92
  - !ruby/object:Gem::Version
105
93
  version: 1.4.2
106
94
  type: :development
107
95
  prerelease: false
108
96
  version_requirements: !ruby/object:Gem::Requirement
109
- none: false
110
97
  requirements:
111
- - - ! '>='
98
+ - - '>='
112
99
  - !ruby/object:Gem::Version
113
100
  version: 1.4.2
114
101
  - !ruby/object:Gem::Dependency
115
102
  name: rdoc
116
103
  requirement: !ruby/object:Gem::Requirement
117
- none: false
118
104
  requirements:
119
105
  - - ~>
120
106
  - !ruby/object:Gem::Version
@@ -122,20 +108,16 @@ dependencies:
122
108
  type: :development
123
109
  prerelease: false
124
110
  version_requirements: !ruby/object:Gem::Requirement
125
- none: false
126
111
  requirements:
127
112
  - - ~>
128
113
  - !ruby/object:Gem::Version
129
114
  version: '3.12'
130
- description: ! "Bio::BaseSpace is a Ruby based SDK ported from the Python based BaseSpacePy
131
- SDK to be used in the development of Apps and scripts for working with Illumina's
132
- BaseSpace cloud-computing solution for next-gen sequencing data analysis.\n\n The
133
- primary purpose of the SDK is to provide an easy-to-use Ruby environment enabling
134
- developers to authenticate a user, retrieve data, and upload data/results from their
135
- own analysis to BaseSpace.\n\n If you haven't already done so, you may wish to
136
- familiarize yourself with the general BaseSpace developers documentation (https://developer.basespace.illumina.com/)
137
- and create a new BaseSpace App to be used when working through the examples provided
138
- in 'examples' folder."
115
+ description: |-
116
+ Bio::BaseSpace is a Ruby based SDK ported from the Python based BaseSpacePy SDK to be used in the development of Apps and scripts for working with Illumina's BaseSpace cloud-computing solution for next-gen sequencing data analysis.
117
+
118
+ The primary purpose of the SDK is to provide an easy-to-use Ruby environment enabling developers to authenticate a user, retrieve data, and upload data/results from their own analysis to BaseSpace.
119
+
120
+ If you haven't already done so, you may wish to familiarize yourself with the general BaseSpace developers documentation (https://developer.basespace.illumina.com/) and create a new BaseSpace App to be used when working through the examples provided in 'examples' folder.
139
121
  email: joachim.baran@gmail.com
140
122
  executables: []
141
123
  extensions: []
@@ -156,7 +138,6 @@ files:
156
138
  - examples/3_accessing_files.rb
157
139
  - examples/4_app_result_upload.rb
158
140
  - examples/5_purchasing.rb
159
- - lib/basespace.rb
160
141
  - lib/basespace/api/api_client.rb
161
142
  - lib/basespace/api/base_api.rb
162
143
  - lib/basespace/api/basespace_api.rb
@@ -203,36 +184,33 @@ files:
203
184
  - lib/basespace/model/variant_header.rb
204
185
  - lib/basespace/model/variant_info.rb
205
186
  - lib/basespace/model/variants_header_response.rb
187
+ - lib/bio-basespace-sdk.rb
206
188
  - spec/basespaceapi_spec.rb
207
189
  - spec/basespaceerror_spec.rb
208
190
  - spec/basespacemodel_spec.rb
209
191
  homepage: https://github.com/joejimbo/basespace-ruby-sdk
210
192
  licenses:
211
193
  - Apache, Version 2.0
194
+ metadata: {}
212
195
  post_install_message:
213
196
  rdoc_options: []
214
197
  require_paths:
215
198
  - lib
216
199
  required_ruby_version: !ruby/object:Gem::Requirement
217
- none: false
218
200
  requirements:
219
- - - ! '>='
201
+ - - '>='
220
202
  - !ruby/object:Gem::Version
221
203
  version: '0'
222
- segments:
223
- - 0
224
- hash: -907772599930210264
225
204
  required_rubygems_version: !ruby/object:Gem::Requirement
226
- none: false
227
205
  requirements:
228
- - - ! '>='
206
+ - - '>='
229
207
  - !ruby/object:Gem::Version
230
208
  version: '0'
231
209
  requirements: []
232
210
  rubyforge_project:
233
- rubygems_version: 1.8.23
211
+ rubygems_version: 2.0.5
234
212
  signing_key:
235
- specification_version: 3
213
+ specification_version: 4
236
214
  summary: Bio::BaseSpace is a Ruby based SDK to be used in the development of Apps
237
215
  and scripts for working with Illumina's BaseSpace cloud-computing solution for next-gen
238
216
  sequencing data analysis.