Module: Pacbio

Defined in:
app/pacbio/pacbio.rb,
app/models/pacbio/run.rb,
app/models/pacbio/pool.rb,
app/models/pacbio/well.rb,
app/models/pacbio/plate.rb,
app/models/pacbio/library.rb,
app/models/pacbio/request.rb,
app/models/pacbio/library_batch.rb,
app/models/pacbio/smrt_link_option.rb,
app/models/pacbio/smrt_link_version.rb,
app/models/pacbio/smrt_link_option_version.rb

Overview

Pacbio

Defined Under Namespace

Classes: Library, LibraryBatch, Plate, Pool, Request, Run, SmrtLinkOption, SmrtLinkOptionVersion, SmrtLinkVersion, Well

Constant Summary collapse

YES_NO =

Valid values for smrt link options. These are used by several tests, but we removed the old Pacbio::SmrtLink::Versions module.

%w[Yes No].freeze
TRUE_FALSE =
%w[True False].freeze
GENERATE =
['In SMRT Link', 'On Instrument', 'Do Not Generate'].freeze

Class Method Summary collapse

Class Method Details

.library_attributesObject



9
10
11
12
13
# File 'app/pacbio/pacbio.rb', line 9

def self.library_attributes
  %i[
    volume template_prep_kit_box_barcode concentration insert_size tag_id
  ]
end

.library_factory(request:, library_attributes:) ⇒ Object



32
33
34
35
36
37
38
39
40
# File 'app/pacbio/pacbio.rb', line 32

def self.library_factory(request:, library_attributes:)
  filtered_attributes = library_attributes.slice(*self.library_attributes)

  Pacbio::Library.new(
    request: request.requestable,
    primary_aliquot_attributes: { **filtered_attributes },
    **filtered_attributes
  )
end

.request_attributesObject



15
16
17
18
19
20
# File 'app/pacbio/pacbio.rb', line 15

def self.request_attributes
  %i[
    library_type estimate_of_gb_required number_of_smrt_cells cost_code
    external_study_id
  ]
end

.request_factory(sample:, container:, request_attributes:, resource_factory:, reception:) ⇒ Object

We have this argument here for API compatibility rubocop:disable Lint/UnusedMethodArgument



44
45
46
47
48
49
50
51
52
53
# File 'app/pacbio/pacbio.rb', line 44

def self.request_factory(sample:, container:, request_attributes:, resource_factory:, reception:)
  ::Request.new(
    sample:,
    reception:,
    requestable: Pacbio::Request.new(
      container:,
      **request_attributes.slice(*self.request_attributes)
    )
  )
end

.required_request_attributesObject



22
23
24
25
26
# File 'app/pacbio/pacbio.rb', line 22

def self.required_request_attributes
  [
    :external_study_id
  ]
end

.sample_attributesObject



28
29
30
# File 'app/pacbio/pacbio.rb', line 28

def self.sample_attributes
  %i[external_id name species]
end

.table_name_prefixObject



5
6
7
# File 'app/pacbio/pacbio.rb', line 5

def self.table_name_prefix
  'pacbio_'
end