Class: WorkingDilutionPlate
- Inherits:
-
DilutionPlate
- Object
- ActiveRecord::Base
- ApplicationRecord
- Asset
- Labware
- Plate
- DilutionPlate
- WorkingDilutionPlate
- Defined in:
- app/models/working_dilution_plate.rb
Overview
A WorkingDilutionPlate is made from a parent plate (usually via a direct stamp) and dilutes the material within by a known factor. Concentration readings made on a WorkingDiltuionPlate will need to propergate back up scaled appropriately. RIN propagate back up unchanged. Volume shouldn’t propagate.
Direct Known Subclasses
Constant Summary
Constants included from Metadata
Instance Attribute Summary
Attributes inherited from Labware
Instance Method Summary collapse
Methods inherited from Plate
#after_comment_addition, #all_submission_ids, #buffer_required?, #cherrypick_completed, #comments, #compatible_purposes, #convert_to, create_with_barcode!, #details, #find_well_by_name, #generate_barcode, #height, #invalid_positions, #iteration, #maps, #name_for_label, #number_of_blank_samples, #occupied_well_count, #pick_as_control?, #plate_columns, plate_ids_from_requests, #plate_rows, #plate_type, #plate_type=, #priority, #receptacles_with_position, #related_studies, #sanger_barcode=, #scored?, search_for_plates, #state, #stock_plate, #stock_plate?, #stock_wells, #subject_type, #submission_ids, #submission_ids_as_source, #submissions, #team, #unique_positions_on_plate, #update_volume, #well_hash, #wells_in_column_order, #wells_in_row_order, #width
Methods included from QcFile::Associations
Methods included from Metadata
Methods included from SubmissionPool::Association::Plate
Methods included from Barcode::Barcodeable
#any_barcode_matching?, #barcode_format, #barcode_number, #cgap_barcode, #cgap_barcode=, #external_barcode, #external_barcode=, #external_identifier, #fluidigm_barcode, #fluidigm_barcode=, #foreign_barcode=, #generate_barcode, included, #infinium_barcode, #infinium_barcode=, #prefix, #primary_barcode, #printable_target, #sanger_barcode
Methods included from PlateCreation::CreationChild
Methods included from Plate::PoolingMetadata
Methods included from Plate::FluidigmBehaviour
#apply_fluidigm_data, included, #retrieve_fluidigm_data
Methods included from Asset::Ownership::Owned
Methods included from Transfer::State::PlateState
Methods included from Transfer::Associations
Methods included from Api::PlateIo::Extensions
Methods inherited from Labware
#ancestor_of_purpose, #ancestors_of_purpose, #child, #display_name, #external_identifier, find_by_barcode, find_from_any_barcode, #generate_name, #labware, #labwhere_location, labwhere_locations, #parent, #received_date, #retention_instructions, #role, #scanned_in_date, #source_plate, #source_plates, #spiked_in_buffer, #state, #storage_location
Methods included from SharedBehaviour::Named
Methods included from AssetLink::Associations
Methods included from Uuid::Uuidable
included, #unsaved_uuid!, #uuid
Methods included from Commentable
Methods inherited from Asset
#ancestor_of_purpose, #asset_type_for_request_types, #barcode_number, #compatible_purposes, #contained_samples, #details, #generate_barcode, #get_qc_result_value_for, #has_stock_asset?, #label, #label=, #original_stock_plates, #prefix, #printable?, #printable_target, #register_stock!, #request_types, #type, #update_from_qc
Methods included from EventfulRecord
#has_many_events, #has_many_lab_events, #has_one_event_with_family
Methods included from Event::PlateEvents
#event_date, #fluidigm_stamp_date, #gel_qc_date, #pico_date, #qc_started_date, #sequenom_stamp_date
Methods inherited from ApplicationRecord
alias_association, convert_labware_to_receptacle_for, find_by_id_or_name, find_by_id_or_name!
Methods included from Squishify
Instance Method Details
#update_qc_values_with_parser(parser) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/models/working_dilution_plate.rb', line 9 def update_qc_values_with_parser(parser) ActiveRecord::Base.transaction do super # If we have multiple parents, or don't have a dilution # factor specified then move on. return true unless parents.one? && dilution_factor.present? # rubocop:todo Rails/TransactionExitStatement multiplier = dilution_factor / (parent.dilution_factor || 1.0) dilution_parser = Parsers::DilutionParser.new(parser, multiplier) parent.update_qc_values_with_parser(dilution_parser) end true end |