bio-basespace-sdk 0.1.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.
Potentially problematic release.
This version of bio-basespace-sdk might be problematic. Click here for more details.
- data/.document +5 -0
- data/.rspec +1 -0
- data/.travis.yml +11 -0
- data/Gemfile +16 -0
- data/License.txt +275 -0
- data/README.md +671 -0
- data/Rakefile +54 -0
- data/VERSION +1 -0
- data/examples/0_app_triggering.rb +135 -0
- data/examples/1_authentication.rb +156 -0
- data/examples/2_browsing.rb +84 -0
- data/examples/3_accessing_files.rb +129 -0
- data/examples/4_app_result_upload.rb +102 -0
- data/examples/5_purchasing.rb +119 -0
- data/lib/basespace.rb +126 -0
- data/lib/basespace/api/api_client.rb +313 -0
- data/lib/basespace/api/base_api.rb +242 -0
- data/lib/basespace/api/basespace_api.rb +789 -0
- data/lib/basespace/api/basespace_error.rb +80 -0
- data/lib/basespace/api/billing_api.rb +115 -0
- data/lib/basespace/model.rb +78 -0
- data/lib/basespace/model/app_result.rb +158 -0
- data/lib/basespace/model/app_result_response.rb +40 -0
- data/lib/basespace/model/app_session.rb +99 -0
- data/lib/basespace/model/app_session_compact.rb +43 -0
- data/lib/basespace/model/app_session_launch_object.rb +58 -0
- data/lib/basespace/model/app_session_response.rb +41 -0
- data/lib/basespace/model/application.rb +47 -0
- data/lib/basespace/model/application_compact.rb +44 -0
- data/lib/basespace/model/basespace_model.rb +60 -0
- data/lib/basespace/model/coverage.rb +48 -0
- data/lib/basespace/model/coverage_meta_response.rb +40 -0
- data/lib/basespace/model/coverage_metadata.rb +43 -0
- data/lib/basespace/model/coverage_response.rb +40 -0
- data/lib/basespace/model/file.rb +172 -0
- data/lib/basespace/model/file_response.rb +40 -0
- data/lib/basespace/model/genome_response.rb +40 -0
- data/lib/basespace/model/genome_v1.rb +56 -0
- data/lib/basespace/model/list_response.rb +53 -0
- data/lib/basespace/model/multipart_upload.rb +288 -0
- data/lib/basespace/model/product.rb +50 -0
- data/lib/basespace/model/project.rb +103 -0
- data/lib/basespace/model/project_response.rb +40 -0
- data/lib/basespace/model/purchase.rb +89 -0
- data/lib/basespace/model/purchase_response.rb +39 -0
- data/lib/basespace/model/purchased_product.rb +56 -0
- data/lib/basespace/model/query_parameters.rb +86 -0
- data/lib/basespace/model/query_parameters_purchased_product.rb +67 -0
- data/lib/basespace/model/refund_purchase_response.rb +40 -0
- data/lib/basespace/model/resource_list.rb +48 -0
- data/lib/basespace/model/response_status.rb +42 -0
- data/lib/basespace/model/run_compact.rb +55 -0
- data/lib/basespace/model/sample.rb +127 -0
- data/lib/basespace/model/sample_response.rb +40 -0
- data/lib/basespace/model/user.rb +80 -0
- data/lib/basespace/model/user_compact.rb +45 -0
- data/lib/basespace/model/user_response.rb +40 -0
- data/lib/basespace/model/variant.rb +57 -0
- data/lib/basespace/model/variant_header.rb +44 -0
- data/lib/basespace/model/variant_info.rb +48 -0
- data/lib/basespace/model/variants_header_response.rb +40 -0
- data/spec/basespaceapi_spec.rb +26 -0
- data/spec/basespaceerror_spec.rb +87 -0
- data/spec/basespacemodel_spec.rb +57 -0
- metadata +239 -0
@@ -0,0 +1,80 @@
|
|
1
|
+
# Copyright 2012-2013 Joachim Baran
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
7
|
+
#
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
11
|
+
# See the License for the specific language governing permissions and
|
12
|
+
# limitations under the License.
|
13
|
+
|
14
|
+
module Bio
|
15
|
+
module BaseSpace
|
16
|
+
|
17
|
+
# Raised when a parameter in a call was not defined.
|
18
|
+
class UndefinedParameterError < StandardError
|
19
|
+
# Create a new instance of the error.
|
20
|
+
#
|
21
|
+
# +parameter+:: Name of the parameter that is not defined.
|
22
|
+
def initialize(parameter)
|
23
|
+
super("The following parameter must be defined: #{parameter}")
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# Raised when a parameter was provided that is unknown to the implementation.
|
28
|
+
class UnknownParameterError < StandardError
|
29
|
+
# Create a new instance of the error.
|
30
|
+
#
|
31
|
+
# +parameter+:: Name of the parameter that is not recognized.
|
32
|
+
def initialize(parameter)
|
33
|
+
super("#{parameter} is not regcognized as a parameter for this call")
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# Raised when a parameter was set to an invalid value.
|
38
|
+
class IllegalParameterError < StandardError
|
39
|
+
# Create a new instance of the error.
|
40
|
+
#
|
41
|
+
# +value+:: Value that was passed and which is of an invalid value.
|
42
|
+
# +legal+:: Listing of valid values.
|
43
|
+
def initialize(value, legal)
|
44
|
+
super("#{value} is not well-defined, legal options are #{legal}")
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# Raised when an unsupported or unsuitable file type is encountered.
|
49
|
+
class WrongFiletypeError < StandardError
|
50
|
+
# Create a new instance of the error.
|
51
|
+
#
|
52
|
+
# +filetype+:: Filetype that was intended to be used.
|
53
|
+
def initialize(filetype)
|
54
|
+
super("This data request is not available for file #{filetype}")
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# Raised when no response has been received from the API server (in a certain amount of time).
|
59
|
+
class NoResponseError < StandardError
|
60
|
+
# Create a new instance of the error.
|
61
|
+
#
|
62
|
+
# +value+:: Value that was provided with the request.
|
63
|
+
def initialize(value)
|
64
|
+
super("No response was returned from the server for this request - #{value}")
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
# Raised when the model for holding data has not been initialized yet.
|
69
|
+
class ModelNotInitializedError < StandardError
|
70
|
+
# Create a new instance of the error.
|
71
|
+
#
|
72
|
+
# +value+:: Value that was provided with the request.
|
73
|
+
def initialize(value)
|
74
|
+
super("The request cannot be completed as model has not been initialized - #{value}")
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
end # module BaseSpace
|
79
|
+
end # module Bio
|
80
|
+
|
@@ -0,0 +1,115 @@
|
|
1
|
+
# Copyright 2013 Toshiaki Katayama, Joachim Baran
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
7
|
+
#
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
11
|
+
# See the License for the specific language governing permissions and
|
12
|
+
# limitations under the License.
|
13
|
+
|
14
|
+
require 'basespace/api/base_api'
|
15
|
+
require 'basespace/api/basespace_error'
|
16
|
+
require 'basespace/model/query_parameters_purchased_product'
|
17
|
+
|
18
|
+
module Bio
|
19
|
+
module BaseSpace
|
20
|
+
|
21
|
+
# The API class used for all communication with the BaseSpace Billng server.
|
22
|
+
class BillingAPI < BaseAPI
|
23
|
+
# Create a new BillingAPI object.
|
24
|
+
#
|
25
|
+
# +api_server+:: URI of the BaseSpace API server.
|
26
|
+
# +version+:: Version of the API to use.
|
27
|
+
# +app_session_id+:: AppSession ID.
|
28
|
+
# +access_token+:: Access token that is provided by App triggering.
|
29
|
+
def initialize(api_server, version, app_session_id = nil, access_token = nil)
|
30
|
+
end_with_slash = %r(/$)
|
31
|
+
unless api_server[end_with_slash]
|
32
|
+
api_server += '/'
|
33
|
+
end
|
34
|
+
|
35
|
+
@app_session_id = app_session_id
|
36
|
+
@api_server = api_server + version
|
37
|
+
@version = version
|
38
|
+
|
39
|
+
super(access_token)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Creates a purchase with the specified products.
|
43
|
+
#
|
44
|
+
# +products+:: List of dicts to purchase, each of which has a product 'id' and 'quantity' to purchase.
|
45
|
+
# +app_session_id+:: AppSession ID.
|
46
|
+
def create_purchase(products, app_session_id = nil)
|
47
|
+
my_model = 'PurchaseResponse'
|
48
|
+
resource_path = '/purchases/'
|
49
|
+
resource_path = resource_path.sub('{format}', 'json')
|
50
|
+
method = 'POST'
|
51
|
+
query_params = {}
|
52
|
+
header_params = {}
|
53
|
+
post_data = {}
|
54
|
+
# 'Products' is list of dicts with 'id', 'quantity', and optnl 'tags[]'
|
55
|
+
post_data['Products'] = products
|
56
|
+
if app_session_id
|
57
|
+
post_data['AppSessionId'] = app_session_id
|
58
|
+
end
|
59
|
+
verbose = false
|
60
|
+
return single_request(my_model, resource_path, method, query_params, header_params, post_data, verbose)
|
61
|
+
end
|
62
|
+
|
63
|
+
# Request a purchase object by ID.
|
64
|
+
#
|
65
|
+
# +id+:: The ID of the purchase.
|
66
|
+
def get_purchase_by_id(id)
|
67
|
+
my_model = 'PurchaseResponse'
|
68
|
+
resource_path = '/purchases/{Id}'
|
69
|
+
resource_path = resource_path.sub('{format}', 'json')
|
70
|
+
resource_path = resource_path.sub('{Id}', id)
|
71
|
+
method = 'GET'
|
72
|
+
query_params = {}
|
73
|
+
header_params = {}
|
74
|
+
return single_request(my_model, resource_path, method, query_params, header_params)
|
75
|
+
end
|
76
|
+
|
77
|
+
# Returns the Products for the current user.
|
78
|
+
#
|
79
|
+
# +id+:: The ID of the user.
|
80
|
+
# +qps+:: Query parameters, a dictionary for filtering by 'Tags' and/or 'ProductIds'.
|
81
|
+
def get_user_products(id = 'current', qps = {})
|
82
|
+
query_pars = QueryParametersPurchasedProduct.new(qps)
|
83
|
+
my_model = 'PurchasedProduct'
|
84
|
+
resource_path = '/users/{Id}/products'
|
85
|
+
resource_path = resource_path.sub('{Id}', id.to_s)
|
86
|
+
method = 'GET'
|
87
|
+
query_params = query_pars.get_parameter_dict
|
88
|
+
header_params = {}
|
89
|
+
return self.__listRequest__(my_model, resource_path, method, query_params, header_params)
|
90
|
+
end
|
91
|
+
|
92
|
+
# Creates a purchase with the specified products.
|
93
|
+
#
|
94
|
+
# +purchase_id+:: The ID of the purchase.
|
95
|
+
# +refund_secret+:: The RefundSecret that was provided in the Response from createPurchase.
|
96
|
+
# +comment+:: An optional comment about the refund.
|
97
|
+
def refund_purchase(purchase_id, refund_secret, comment = nil)
|
98
|
+
my_model = 'RefundPurchaseResponse'
|
99
|
+
resource_path = '/purchases/{id}/refund'
|
100
|
+
resource_path = resource_path.sub('{id}', purchase_id)
|
101
|
+
method = 'POST'
|
102
|
+
query_params = {}
|
103
|
+
header_params = {}
|
104
|
+
post_data = {}
|
105
|
+
post_data['RefundSecret'] = refund_secret
|
106
|
+
if comment
|
107
|
+
post_data['Comment'] = comment
|
108
|
+
end
|
109
|
+
verbose = 0
|
110
|
+
return single_request(my_model, resource_path, method, query_params, header_params, post_data, verbose)
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
end # module BaseSpace
|
115
|
+
end # module Bio
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# Copyright 2013 Toshiaki Katayama, Joachim Baran
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
7
|
+
#
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
11
|
+
# See the License for the specific language governing permissions and
|
12
|
+
# limitations under the License.
|
13
|
+
|
14
|
+
module Bio
|
15
|
+
module BaseSpace
|
16
|
+
|
17
|
+
# Base class for all BaseSpace Ruby SDK model classes. Implements a
|
18
|
+
# basic key/value store and provides convenience methods for accessing
|
19
|
+
# the key/value store using `method_missing` magic.
|
20
|
+
#
|
21
|
+
# Keys in this model are referred to as "attribute names", whereas
|
22
|
+
# values are called "attributes".
|
23
|
+
class Model
|
24
|
+
attr_reader :swagger_types, :attributes
|
25
|
+
|
26
|
+
# Create a new (empty) model.
|
27
|
+
def initialize
|
28
|
+
@swagger_types = {}
|
29
|
+
@attributes = {}
|
30
|
+
end
|
31
|
+
|
32
|
+
# If a method was called on the object for which no implementations is
|
33
|
+
# provided, then execute this method and try to return the attribute
|
34
|
+
# value whose attribute key matches the method call's name.
|
35
|
+
#
|
36
|
+
# +method+:: Method call for which no implementation could be found.
|
37
|
+
# +args+:: Arguments that were provided to the method call.
|
38
|
+
# +block+:: If not nil, code block that follows the method call.
|
39
|
+
def method_missing(method, *args, &block)
|
40
|
+
attr_name = method.to_s.downcase.gsub('_', '')
|
41
|
+
attr_value = false
|
42
|
+
self.attributes.each do |key, value|
|
43
|
+
if key.downcase == attr_name
|
44
|
+
attr_value = value # can be an object or nil
|
45
|
+
end
|
46
|
+
end
|
47
|
+
if attr_value == false
|
48
|
+
super
|
49
|
+
else
|
50
|
+
return attr_value
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# Sets the value of a named attribute. Overrides the value of
|
55
|
+
# a previous assignment.
|
56
|
+
#
|
57
|
+
# +key+:: Attribute name whose value should be set.
|
58
|
+
# +value+:: Value that should be assigned.
|
59
|
+
def set_attr(key, value)
|
60
|
+
@attributes[key] = value
|
61
|
+
return @attributes
|
62
|
+
end
|
63
|
+
|
64
|
+
# Returns the value, if any, of the given attribute name.
|
65
|
+
#
|
66
|
+
# +key+:: Attribute name whose value should be returned.
|
67
|
+
def get_attr(key)
|
68
|
+
return @attributes[key]
|
69
|
+
end
|
70
|
+
|
71
|
+
# Returns a string representation of the model.
|
72
|
+
def to_str
|
73
|
+
return self.inspect
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
end # module BaseSpace
|
78
|
+
end # module Bio
|
@@ -0,0 +1,158 @@
|
|
1
|
+
# Copyright 2013 Toshiaki Katayama, Joachim Baran
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
7
|
+
#
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
11
|
+
# See the License for the specific language governing permissions and
|
12
|
+
# limitations under the License.
|
13
|
+
|
14
|
+
require 'basespace/api/basespace_error'
|
15
|
+
require 'basespace/model'
|
16
|
+
require 'basespace/model/query_parameters'
|
17
|
+
|
18
|
+
module Bio
|
19
|
+
module BaseSpace
|
20
|
+
|
21
|
+
# Contains the files that are output by an App.
|
22
|
+
#
|
23
|
+
# App results are usually BAM or VCF files, even though other file types
|
24
|
+
# may also be provided.
|
25
|
+
class AppResult < Model
|
26
|
+
|
27
|
+
# Create a new AppResult instance.
|
28
|
+
def initialize
|
29
|
+
@swagger_types = {
|
30
|
+
'Name' => 'str',
|
31
|
+
#'Status' => 'str', # will be deprecated
|
32
|
+
'Description' => 'str',
|
33
|
+
'StatusSummary' => 'str',
|
34
|
+
'HrefFiles' => 'str',
|
35
|
+
'DateCreated' => 'datetime',
|
36
|
+
'Id' => 'str',
|
37
|
+
'Href' => 'str',
|
38
|
+
'UserOwnedBy' => 'UserCompact',
|
39
|
+
'StatusDetail' => 'str',
|
40
|
+
'HrefGenome' => 'str',
|
41
|
+
'AppSession' => 'AppSession',
|
42
|
+
'References' => 'dict',
|
43
|
+
}
|
44
|
+
@attributes = {
|
45
|
+
'Name' => nil,
|
46
|
+
'Description' => nil,
|
47
|
+
'StatusSummary' => nil,
|
48
|
+
'HrefFiles' => nil,
|
49
|
+
'DateCreated' => nil,
|
50
|
+
'Id' => nil,
|
51
|
+
'Href' => nil,
|
52
|
+
'UserOwnedBy' => nil, # UserCompact
|
53
|
+
'StatusDetail' => nil,
|
54
|
+
'HrefGenome' => nil,
|
55
|
+
'AppSession' => nil, # AppSession
|
56
|
+
'References' => nil,
|
57
|
+
}
|
58
|
+
end
|
59
|
+
|
60
|
+
# Return the name of the AppResult.
|
61
|
+
def to_s
|
62
|
+
# NOTE Simplified in Ruby to align with the Sample class.
|
63
|
+
# See example 3_accessing_files.rb (3_AccessingFiles.py)
|
64
|
+
#return "AppResult: #{get_attr('Name')}" #+ " - #{get_attr('Status')"
|
65
|
+
return get_attr('Name')
|
66
|
+
end
|
67
|
+
|
68
|
+
# Returns the scope-string to be used for requesting BaseSpace access to the object.
|
69
|
+
#
|
70
|
+
# +scope+:: The scope-type that is request (write|read).
|
71
|
+
def get_access_str(scope = 'write')
|
72
|
+
is_init
|
73
|
+
return "#{scope} appresult #{get_attr('Id')}"
|
74
|
+
end
|
75
|
+
|
76
|
+
# Tests if the Project instance has been initialized.
|
77
|
+
#
|
78
|
+
# Throws ModelNotInitializedError, if the instance has not been populated.
|
79
|
+
def is_init
|
80
|
+
raise ModelNotInitializedError.new('The AppResult model has not been initialized yet') unless get_attr('Id')
|
81
|
+
end
|
82
|
+
|
83
|
+
# Return a list of sample IDs for the samples referenced.
|
84
|
+
def get_referenced_samples_ids
|
85
|
+
res= []
|
86
|
+
get_attr('References').each do |s|
|
87
|
+
# [TODO] check this Hash contains the key :type (or should we use 'Type'?)
|
88
|
+
if s[:type] == 'Sample'
|
89
|
+
id = s[:href_content].split('/').last
|
90
|
+
res << id
|
91
|
+
end
|
92
|
+
end
|
93
|
+
return res
|
94
|
+
end
|
95
|
+
|
96
|
+
# Returns a list of sample objects references by the AppResult.
|
97
|
+
#
|
98
|
+
# NOTE This method makes one request to REST server per sample.
|
99
|
+
#
|
100
|
+
# +api+:: BaseSpaceAPI instance.
|
101
|
+
def get_referenced_samples(api)
|
102
|
+
res = []
|
103
|
+
ids = get_referenced_samples_ids
|
104
|
+
ids.each do |id|
|
105
|
+
begin
|
106
|
+
sample = api.get_sample_by_id(id)
|
107
|
+
res << sample
|
108
|
+
rescue => err
|
109
|
+
# [TODO] What to do with this 'err'?
|
110
|
+
$stderr.puts " # ----- AppResult#get_referenced_samples ----- "
|
111
|
+
$stderr.puts " # Error: #{err}"
|
112
|
+
$stderr.puts " # "
|
113
|
+
end
|
114
|
+
end
|
115
|
+
return res
|
116
|
+
end
|
117
|
+
|
118
|
+
# Returns a list of file objects in the result set.
|
119
|
+
#
|
120
|
+
# +api+:: BaseSpaceAPI instance.
|
121
|
+
# +my_qp+:: QueryParameters for sorting and filtering the file list.
|
122
|
+
def get_files(api, my_qp = {})
|
123
|
+
is_init
|
124
|
+
query_pars = QueryParameters.new(my_qp)
|
125
|
+
return api.get_app_result_files(get_attr('Id'), query_pars)
|
126
|
+
end
|
127
|
+
|
128
|
+
# Uploads a local file to the BaseSpace AppResult.
|
129
|
+
#
|
130
|
+
# +api+:: BaseSpaceAPI instance.
|
131
|
+
# +local_path+: Local path of the file.
|
132
|
+
# +file_name+:: Filename.
|
133
|
+
# +directory+: The remote directory that the file is uploaded to.
|
134
|
+
# +param content_type+:: Content-type of the file.
|
135
|
+
def upload_file(api, local_path, file_name, directory, content_type)
|
136
|
+
is_init
|
137
|
+
return api.app_result_file_upload(get_attr('Id'), local_path, file_name, directory, content_type)
|
138
|
+
end
|
139
|
+
|
140
|
+
# Upload a file in multi-part mode. Returns an object of type MultipartUpload used for managing the upload.
|
141
|
+
#
|
142
|
+
# +api+:: BaseSpaceAPI instance.
|
143
|
+
# +local_path+:: Local path of the file.
|
144
|
+
# +file_name+ Filename.
|
145
|
+
# +directory+:: The remote directory that the file is uploaded to.
|
146
|
+
# +content_type+:: Content-type of the file.
|
147
|
+
# +cpu_count+:: Number of CPUs to used for the upload.
|
148
|
+
# +part_size+:: Size of each upload chunk.
|
149
|
+
# def upload_multipart_file(api, local_path, file_name, directory, content_type,temp_dir = '', cpu_count = 1, part_size = 10, verbose = 0)
|
150
|
+
# is_init
|
151
|
+
# return api.multipart_file_upload(get_attr('Id'), local_path, file_name, directory, content_type, temp_dir, cpu_count, part_size, verbose)
|
152
|
+
# end
|
153
|
+
|
154
|
+
end
|
155
|
+
|
156
|
+
end # module BaseSpace
|
157
|
+
end # module Bio
|
158
|
+
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Copyright 2013 Toshiaki Katayama, Joachim Baran
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
7
|
+
#
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
11
|
+
# See the License for the specific language governing permissions and
|
12
|
+
# limitations under the License.
|
13
|
+
|
14
|
+
require 'basespace/model'
|
15
|
+
|
16
|
+
module Bio
|
17
|
+
module BaseSpace
|
18
|
+
|
19
|
+
# An AppResultResponse is used to initiate the creation of an AppResults object.
|
20
|
+
class AppResultResponse < Model
|
21
|
+
|
22
|
+
# Create a new result response instance.
|
23
|
+
def initialize
|
24
|
+
@swagger_types = {
|
25
|
+
'ResponseStatus' => 'ResponseStatus',
|
26
|
+
'Response' => 'AppResult',
|
27
|
+
'Notifications' => 'list<Str>',
|
28
|
+
}
|
29
|
+
@attributes = {
|
30
|
+
'ResponseStatus' => nil, # ResponseStatus
|
31
|
+
'Response' => nil, # Analysis
|
32
|
+
'Notifications' => nil, # list<Str>
|
33
|
+
}
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
end # module BaseSpace
|
39
|
+
end # module Bio
|
40
|
+
|