class SolveBio::Dataset
Constants
- LIST_FIELDS
Public Instance Methods
beacon(coordinate, chromosome, genome_build=nil, allele=nil)
click to toggle source
# File lib/solvebio/dataset.rb, line 71 def beacon(coordinate, chromosome, genome_build=nil, allele=nil) unless self.respond_to?(:beacon_url) unless self.respond_to?(:id) raise Exception, 'No Dataset ID was provided. ' + 'Please instantiate the Dataset ' + 'object with an ID or full_name.' end # automatically construct the data_url from the ID self.beacon_url = url + '/beacon' end opts = { :params => { :coordinate => coordinate, :chromosome => chromosome, :genome_build => genome_build, :allele => allele } } return Client.request('get', self.beacon_url, opts=opts) end
changelog(version=nil, params={})
click to toggle source
# File lib/solvebio/dataset.rb, line 93 def changelog(version=nil, params={}) unless self.respond_to?(:changelog_url) unless self.respond_to?(:id) raise Exception, 'No Dataset ID was provided. ' + 'Please instantiate the Dataset ' + 'object with an ID or full_name.' end # automatically construct the data_url from the ID if version self.changelog_url = url + '/changelog/' + version else self.changelog_url = url + '/changelog' end end params.merge!(:changelog_url => self.changelog_url) return Client.request('get', self.changelog_url, params) end
depository()
click to toggle source
# File lib/solvebio/dataset.rb, line 12 def depository return Depository.retrieve(self.depository) end
depository_version()
click to toggle source
# File lib/solvebio/dataset.rb, line 16 def depository_version return DepositoryVersion.retrieve(self.depository_version) end
fields(name=nil, params={})
click to toggle source
# File lib/solvebio/dataset.rb, line 20 def fields(name=nil, params={}) unless self.fields_url raise Exception, 'Please use Dataset.retrieve({ID}) before looking ' + 'up fields' end if name # construct the field's full_name if a field name is provided return DatasetField.retrieve("#{self.full_name}/#{name}") end result = Client.request('get', self.fields_url) results = Util.to_solve_object(result) unless results.respond_to?(:tabulate) results.define_singleton_method(:tabulate) do |results_hash| ary = results_hash.to_a.map do |fields| [fields['name'], fields['data_type'], fields['description']] end Tabulate.tabulate(ary, ['Field', 'Data Type', 'Description'], ['left', 'left', 'left'], true) end end results end
query(query=nil, params={})
click to toggle source
# File lib/solvebio/dataset.rb, line 47 def query(query=nil, params={}) unless self.respond_to?(:data_url) unless self.respond_to?(:id) raise Exception, 'No Dataset ID was provided. ' + 'Please instantiate the Dataset ' + 'object with an ID or full_name.' end # automatically construct the data_url from the ID self.data_url = self.id.to_s + '/data' end # If no query string is passed, assume it is params if query.is_a?(Hash) params = query query = nil else params.merge!(:query => query) end params.merge!(:data_url => self.data_url) Query.new(self.id, params) end