Class: IlluminaHtp::Requests::HeronTailedRequest
- Inherits:
-
StdLibraryRequest
- Object
- ActiveRecord::Base
- ApplicationRecord
- Request
- CustomerRequest
- Request::LibraryCreation
- StdLibraryRequest
- IlluminaHtp::Requests::HeronTailedRequest
- Includes:
- Request::HasPrimerPanel
- Defined in:
- app/models/illumina_htp/requests/heron_tailed_request.rb
Overview
Class HeronRequest provides a means of tracking Heron Tailed requests
The heron process uses a very similar technique to GBS, however rather than using the primer panel to amplify specific loci, it uses a panel to amplify the entire SARS-CoV-2 genome.
In the tailed process the library is processed in two parallel processes, each of which applies duplicate tags. These two processes are later merged. In order to allow for aliquot de-duplication when this merge occurs, we want the same library id generated for both forks of the process. This is as separate library ids would result in two aliquots in the merged tube, which would violate the uniqueness constraint added to ensure tag uniqueness. In order to achieve this we set the library id upfront. This is achieved by adding it to the aliquot_attributes.
Note: This may cause problems in future if two submissions are processed from the same cherrypicked plate, as both would share library ids.
Constant Summary
Constants included from Metadata
Constants included from Request::Statemachine
Request::Statemachine::ACTIVE, Request::Statemachine::COMPLETED_STATE, Request::Statemachine::INACTIVE, Request::Statemachine::OPENED_STATE, Request::Statemachine::SORT_ORDER
Constants included from StandardNamedScopes
StandardNamedScopes::SORT_FIELDS, StandardNamedScopes::SORT_ORDERS
Instance Method Summary collapse
-
#aliquot_attributes ⇒ Hash
Passed into cloned aliquots at the beginning of a pipeline to set appropriate options.
Methods included from Request::HasPrimerPanel
Methods inherited from StdLibraryRequest
#on_failed, #update_pool_information, #valid_purpose?
Methods inherited from Request::LibraryCreation
fragment_size_details, #on_started, #update_pool_information
Methods included from Request::CustomerResponsibility
Methods inherited from CustomerRequest
#customer_accepts_responsibility!, #generate_create_request_event, #generate_destroy_request_event, #generate_request_event, #update_responsibilities!
Methods inherited from Request
accessioning_required?, #add_comment, #associated_studies, #cancelable?, #copy, #current_request_event, #customer_accepts_responsibility!, delegate_validator, #detect_descriptor, #eventful_studies, for_study, #format_qc_information, get_all_comments, #has_passed, #lab_events_for_batch, #manifest_processed!, #most_recent_event_named, #next_request_type_id, #next_requests, #next_requests_via_asset, #next_requests_via_submission, number_expected_for_submission_id_and_request_type_id, #previous_failed_requests?, #priority, #product_line, #project=, #project_id=, #ready?, #request_type_updatable?, #return_pending_to_inbox!, #run_events, #source_labware, #study=, #study_id=, #submission_plate_count, #submitted_at, #target_purpose, #target_tube, #update_pool_information, #update_priority, #update_responsibilities!
Methods included from Request::Statistics
#asset_statistics, #progress_statistics, #sample_statistics_new
Methods included from EventfulRecord
#has_many_events, #has_many_lab_events, #has_one_event_with_family
Methods included from Metadata
Methods included from Batch::RequestBehaviour
included, #recycle_from_batch!, #return_for_inbox!, #with_batch_id
Methods included from Request::Statemachine
#cancellable?, #change_decision!, #closed?, #failed_downstream!, #failed_upstream!, #finished?, #on_blocked, #on_cancelled, #on_failed, #on_hold, #on_passed, #on_started, #open?, #terminated?, #transfer_aliquots
Methods included from StandardNamedScopes
Methods included from Commentable
Methods included from AASM::Extensions
Methods included from Uuid::Uuidable
included, #unsaved_uuid!, #uuid
Methods included from Api::RequestIo::Extensions
Methods included from Aliquot::DeprecatedBehaviours::Request
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
#aliquot_attributes ⇒ Hash
Passed into cloned aliquots at the beginning of a pipeline to set appropriate options
41 42 43 44 45 46 47 48 49 50 51 |
# File 'app/models/illumina_htp/requests/heron_tailed_request.rb', line 41 def aliquot_attributes { study_id: initial_study_id, project_id: initial_project_id, library_type: library_type, insert_size: insert_size, primer_panel_id: primer_panel_id, library_id: asset_id, request_id: id } end |