class Bio::BaseSpace::Sample

Representation of a BaseSpace Sample object.

Public Class Methods

new() click to toggle source

Return a new Sample instance.

# File lib/basespace/model/sample.rb, line 25
def initialize
  @swagger_types = {
    'HrefGenome'      => 'str',
    'SampleNumber'    => 'int',
    'ExperimentName'  => 'str',
    'HrefFiles'       => 'str',
    'AppSession'      => 'dict',
    'IsPairedEnd'     => 'bool',
    'Read1'           => 'int',
    'Read2'           => 'int',
    'NumReadsRaw'     => 'int',
    'NumReadsPF'      => 'int',
    'Id'              => 'str',
    'Href'            => 'str',
    'UserOwnedBy'     => 'UserCompact',
    'Name'            => 'str',
    'SampleId'        => 'str',
    'Status'          => 'str',
    'StatusSummary'   => 'str',
    'DateCreated'     => 'datetime',
    'References'      => 'dict', # NOTE Is this correct? Because references is a list.
    'Run'             => 'RunCompact',
  }
  @attributes = {
    'Name'            => nil, # str
    'HrefFiles'       => nil, # str
    'AppSession'      => nil, # dict
    'DateCreated'     => nil, # datetime
    'SampleNumber'    => nil, # int
    'Id'              => nil, # str
    'Href'            => nil, # str
    'UserOwnedBy'     => nil, # UserCompact
    'ExperimentName'  => nil, # str
    'Run'             => nil, # RunCompact
    'HrefGenome'      => nil, # str
    'IsPairedEnd'     => nil, # bool
    'Read1'           => nil, # int
    'Read2'           => nil, # int
    'NumReadsRaw'     => nil, # int
    'NumReadsPF'      => nil, # int
    'References'      => nil, # dict
    'SampleId'        => nil, # dict
    'Status'          => nil, # dict
    'StatusSummary'   => nil, # dict
  }
end

Public Instance Methods

get_access_str(scope = 'write') click to toggle source

Returns the scope-string to be used for requesting BaseSpace access to the sample.

scope

The scope type that is requested (write|read).

# File lib/basespace/model/sample.rb, line 91
def get_access_str(scope = 'write')
  is_init
  return scope + ' sample ' + get_attr('Id').to_s
end
get_files(api, my_qp = {}) click to toggle source

Returns a list of File objects.

api

BaseSpaceAPI instance.

my_qp

Query parameters to sort and filter the file list by.

# File lib/basespace/model/sample.rb, line 118
def get_files(api, my_qp = {})
  is_init
  query_pars = QueryParameters.new(my_qp)
  return api.get_files_by_sample(get_attr('Id'), query_pars)
end
get_referenced_app_results(api) click to toggle source

Return the AppResults referenced by this sample.

Note: the returned AppResult objects do not have their “References” field set, to get a fully populate AppResult object you must use get_app_result_by_id in BaseSpaceAPI.

api

BaseSpaceAPI instance.

# File lib/basespace/model/sample.rb, line 102
def get_referenced_app_results(api)
  res = []
  get_attr('References').each do |s|
    if s[:type] == 'AppResult'
      json_app_result = s[:content]
      my_ar = api.serialize_object(json_app_result, 'AppResult')
      res << my_ar
    end
  end
  return res
end
is_init() click to toggle source

Test if the sample instance has been initialized.

Throws ModelNotInitializedError, if the Id variable is not set.

# File lib/basespace/model/sample.rb, line 80
def is_init
  raise ModelNotInitializedError.new('The sample model has not been initialized yet') unless get_attr('Id')
end
to_s() click to toggle source

Return the name of the sample.

# File lib/basespace/model/sample.rb, line 73
def to_s
  return get_attr('Name')
end