Class: Receptacle
Overview
A receptacle is a container for aliquots, they are associated with
Labware, which represents the physical object which moves round the lab.
A Labware may have a single Receptacle, such as in the case of a Tube
or multiple, in the case of a Plate.
Work can be requested on a particular receptacle.
Defined Under Namespace
Modules: DownstreamAliquotsRemoval
Classes: Qc
Constant Summary
collapse
- QC_STATE_ALIASES =
{ 'passed' => 'pass', 'failed' => 'fail' }.freeze
Transfer::State::ALL_STATES
Instance Method Summary
collapse
#qc_report
#on_downstream_aliquots, #process_aliquots, #remove_downstream_aliquots, #remove_matching_aliquots
#default_state, #state, #state_from, state_helper
#after_comment_addition
included, #unsaved_uuid!, #uuid
Methods inherited from Asset
#ancestor_of_purpose, #asset_type_for_request_types, #barcode_number, #compatible_purposes, #generate_barcode, #get_qc_result_value_for, #has_stock_asset?, #label, #label=, #original_stock_plates, #prefix, #printable?, #printable_target, #register_stock!, #request_types, #type
#has_many_events, #has_many_lab_events, #has_one_event_with_family
#event_date, #fluidigm_stamp_date, #gel_qc_date, #pico_date, #qc_started_date, #sequenom_stamp_date
alias_association, convert_labware_to_receptacle_for, find_by_id_or_name, find_by_id_or_name!
Methods included from Squishify
extended
Instance Method Details
#absolute_position_name ⇒ Object
Returns the name of the position (eg. A1) of the receptacle
within the context of any tube-rack it may be contained within
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
|
# File 'app/models/receptacle.rb', line 328
has_metadata do
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
|
#any_barcode_matching?(other_barcode) ⇒ Boolean
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# File 'app/models/receptacle.rb', line 66
has_metadata do
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
|
#api_asset_type ⇒ Object
Compatibility for v1 API maintains legacy 'type' for assets
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
|
# File 'app/models/receptacle.rb', line 313
has_metadata do
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
|
#assign_tag2(tag) ⇒ Object
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
|
# File 'app/models/receptacle.rb', line 239
has_metadata do
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
|
#attach_tag(tag, tag2 = nil) ⇒ Object
Also known as:
attach_tags
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
|
# File 'app/models/receptacle.rb', line 271
has_metadata do
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
|
#been_through_qc? ⇒ Boolean
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
|
# File 'app/models/receptacle.rb', line 228
has_metadata do
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
|
#compatible_qc_state ⇒ Object
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
|
# File 'app/models/receptacle.rb', line 218
has_metadata do
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
|
#created_with_request_options ⇒ Object
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
|
# File 'app/models/receptacle.rb', line 246
has_metadata do
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
|
#details ⇒ Object
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
|
# File 'app/models/receptacle.rb', line 308
has_metadata do
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
|
#friendly_name ⇒ Object
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
|
# File 'app/models/receptacle.rb', line 322
has_metadata do
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
|
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
|
# File 'app/models/receptacle.rb', line 193
has_metadata do
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
|
#latest_stock_metrics(_product, *_args) ⇒ Object
We only support wells for the time being
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
|
# File 'app/models/receptacle.rb', line 285
has_metadata do
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
|
#legacy_asset_type ⇒ Object
Compatibility for v1 API maintains legacy 'type' for assets
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
|
# File 'app/models/receptacle.rb', line 318
has_metadata do
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
|
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
|
# File 'app/models/receptacle.rb', line 236
has_metadata do
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
|
#library_name ⇒ Object
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
|
# File 'app/models/receptacle.rb', line 304
has_metadata do
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
|
#library_types ⇒ Object
Library types are still just a string on aliquot.
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
|
# File 'app/models/receptacle.rb', line 251
has_metadata do
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
|
#most_recent_requests_as_target_group_by_same_source ⇒ Array<Request>
Groups the requests as target by the same source and returns the most recent request
for each source
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
|
# File 'app/models/receptacle.rb', line 340
has_metadata do
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
|
#name ⇒ Object
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
|
# File 'app/models/receptacle.rb', line 292
has_metadata do
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
|
#outer_request(submission_id) ⇒ Object
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
|
# File 'app/models/receptacle.rb', line 262
has_metadata do
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
|
#primary_aliquot_if_unique ⇒ Object
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
|
# File 'app/models/receptacle.rb', line 232
has_metadata do
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
|
All studies related to this asset
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
|
# File 'app/models/receptacle.rb', line 267
has_metadata do
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
|
#role ⇒ Object
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
|
# File 'app/models/receptacle.rb', line 332
has_metadata do
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
|
#set_as_library(force: false) ⇒ Object
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
|
# File 'app/models/receptacle.rb', line 255
has_metadata do
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
|
#set_qc_state(state) ⇒ Object
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
|
# File 'app/models/receptacle.rb', line 222
has_metadata do
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
|
#tag_range ⇒ String?
Returns the map_id of the first and last tag in an asset
eg 1-96.
Caution: Used on barcode labels. Avoid using elsewhere as makes assumptions
about tag behaviour which may change shortly.
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
|
# File 'app/models/receptacle.rb', line 206
has_metadata do
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
|
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
# File 'app/models/receptacle.rb', line 189
has_metadata do
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
|
#update_aliquot_quality(suboptimal_quality) ⇒ Object
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
|
# File 'app/models/receptacle.rb', line 179
has_metadata do
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
|
#update_from_qc(qc_result) ⇒ Object
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
|
# File 'app/models/receptacle.rb', line 298
has_metadata do
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
|