Module: Receptacle::DownstreamAliquotsRemoval::PrivateMethods
- Defined in:
- app/models/receptacle/downstream_aliquots_removal.rb
Overview
Private methods to provide functionality for the mixin
Class Method Summary collapse
-
.creation_batches_for_requests(instance) ⇒ Array[Batch]
Get the sequencing creations batches by following the outer requests graph.
-
.submissions_for_requests(instance) ⇒ Array[Submission]
Gets the submissions of all outer requests that wrap this well.
Class Method Details
.creation_batches_for_requests(instance) ⇒ Array[Batch]
Get the sequencing creations batches by following the outer requests graph. Supposing this outer requests graph: Library Creation ---> Multiplexing --> Sequencing The path to solve the creation batches is as follows:
- Get the submissions from the outer requests that wrap this current node
- From each submission, get the multiplexed labware, which is the labware that is the target of a multiplexed request (outer request before sequencing)
- From this multiplexed labware, it goes to the next labware created from it (sequencing tube).
- For this labware, it access to the creation batches (groups of sequencing requests that will go into a flowcell)
- It returns the aggregation of all creation batches from all submissions
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'app/models/receptacle/downstream_aliquots_removal.rb', line 45 do # NOTE: The following attribute is not required for Microarray Genotyping. # I think this might be broken and suggests that there should be separate classes for project: one for # next-gen sequencing that includes this attribute in it's metadata, and one for microarray genotyping # that doesn't. include ProjectManager::Associations include BudgetDivision::Associations custom_attribute(:project_cost_code, required: true) custom_attribute(:funding_comments) custom_attribute(:collaborators) custom_attribute(:external_funding_source) custom_attribute(:sequencing_budget_cost_centre) custom_attribute(:project_funding_model, in: PROJECT_FUNDING_MODELS) custom_attribute(:gt_committee_tracking_id) before_validation do |record| record.project_cost_code = nil if record.project_cost_code.blank? record.project_funding_model = nil if record.project_funding_model.blank? end end |
.submissions_for_requests(instance) ⇒ Array[Submission]
Gets the submissions of all outer requests that wrap this well
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'app/models/receptacle/downstream_aliquots_removal.rb', line 26 do # NOTE: The following attribute is not required for Microarray Genotyping. # I think this might be broken and suggests that there should be separate classes for project: one for # next-gen sequencing that includes this attribute in it's metadata, and one for microarray genotyping # that doesn't. include ProjectManager::Associations include BudgetDivision::Associations custom_attribute(:project_cost_code, required: true) custom_attribute(:funding_comments) custom_attribute(:collaborators) custom_attribute(:external_funding_source) custom_attribute(:sequencing_budget_cost_centre) custom_attribute(:project_funding_model, in: PROJECT_FUNDING_MODELS) custom_attribute(:gt_committee_tracking_id) before_validation do |record| record.project_cost_code = nil if record.project_cost_code.blank? record.project_funding_model = nil if record.project_funding_model.blank? end end |