Class: IlluminaHtp::InitialStockTubePurpose
- Inherits:
-
StockTubePurpose
- Object
- StockTubePurpose
- IlluminaHtp::InitialStockTubePurpose
- Defined in:
- app/models/illumina_htp/initial_stock_tube_purpose.rb
Overview
Class initially used to represent the first tube in a pipeline following pooling from a plate. However appears to be a little more widespread in Limber pipelines. eg. LB Custom Pool Norm In fact, in the limber pipeline it appears to be responsible for any intermediate tubes.
Instance Method Summary collapse
-
#sibling_tubes(tube) ⇒ Object
Returns a summary of all related tube in the submission.
Instance Method Details
#sibling_tubes(tube) ⇒ Object
Returns a summary of all related tube in the submission. Limitation: doesn't understand pipelines, so just returns the tube at the head of the graph. This isn't necessarily the one the users actually want, but we CAN validate that in Limber. Additionally this will run into trouble if we end up wanting to use a tube earlier in the graph (Such as following the introduction of a QC tube). Given that this will require knowledge of the pipeline though, this logic is best shifted out into Limber. TODO: Make tis decision in Limber, then strip out this code.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/models/illumina_htp/initial_stock_tube_purpose.rb', line 18 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 |