diff --git a/CHANGELOG.md b/CHANGELOG.md index b9458940..b4143d76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,23 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [Unreleased] + +### Changed + +* To simplify object instantiation and fields' assignment for some + of the response models, converted `PacBioWell` and `PacBioWellFull` + models to pydantic dataclasses. + +### Added + +* A new response model `PacBioWellSummary`, which replaces `PacBioWell` + in the latest's capacity of the response model for a PacBio well + summary. +* A new field, `study_names`, a potentially empty sorted array of + unique study names, is added to the response model for a PacBio + well summary. + ## [2.0.0] - 2024-02-20 ### Changed diff --git a/lang_qc/db/helper/wells.py b/lang_qc/db/helper/wells.py index 91c1d9b7..8e56a0a8 100644 --- a/lang_qc/db/helper/wells.py +++ b/lang_qc/db/helper/wells.py @@ -33,7 +33,7 @@ ) from lang_qc.db.mlwh_schema import PacBioRunWellMetrics from lang_qc.db.qc_schema import QcState, QcStateDict, QcType -from lang_qc.models.pacbio.well import PacBioPagedWells, PacBioWell +from lang_qc.models.pacbio.well import PacBioPagedWells, PacBioWellSummary from lang_qc.models.pager import PagedResponse from lang_qc.models.qc_flow_status import QcFlowStatusEnum from lang_qc.models.qc_state import QcState as QcStateModel @@ -195,7 +195,7 @@ def create_for_qc_status( specified by the `page_size`, `page_number` object's attributes and `qc_flow_status` argument of this function.. - The `PacBioWell` objects in `wells` attribute of the returned object + The `PacBioWellPacBioWell` objects in `wells` attribute of the returned object are sorted in a way appropriate for the requested `qc_flow_status`. For the 'in progress' and 'on hold' requests the wells with most recently assigned QC states come first. For inbox requests the wells with least @@ -230,7 +230,7 @@ def create_for_run(self, run_name: str) -> PacBioPagedWells: """ Returns `PacBioPagedWells` object that corresponds to the criteria specified by the `page_size` and `page_number` attributes. - The `PacBioWell` objects in `wells` attribute of the returned object + The `PacBioWellSummary` objects in `wells` attribute of the returned object belong to runs specified by the `run_name` argument and are sorted by the run name and well label. """ @@ -281,7 +281,7 @@ def _retrieve_paged_qc_states( def _get_wells_for_status( self, qc_flow_status: QcFlowStatusEnum - ) -> List[PacBioWell]: + ) -> List[PacBioWellSummary]: wells = [] @@ -290,7 +290,7 @@ def _get_wells_for_status( id_product = qc_state_model.id_product mlwh_well = self.get_mlwh_well_by_product_id(id_product=id_product) if mlwh_well is not None: - pbw = PacBioWell(db_well=mlwh_well, qc_state=qc_state_model) + pbw = PacBioWellSummary(db_well=mlwh_well, qc_state=qc_state_model) wells.append(pbw) else: """ @@ -394,7 +394,7 @@ def _well_models( qc_state = None if id_product in qced_products: qc_state = qced_products[id_product][0] - pb_well = PacBioWell(db_well=db_well, qc_state=qc_state) + pb_well = PacBioWellSummary(db_well=db_well, qc_state=qc_state) pb_wells.append(pb_well) return pb_wells diff --git a/lang_qc/db/mlwh_schema.py b/lang_qc/db/mlwh_schema.py index 533c80ea..2a98011a 100644 --- a/lang_qc/db/mlwh_schema.py +++ b/lang_qc/db/mlwh_schema.py @@ -538,6 +538,27 @@ class PacBioRunWellMetrics(Base): "PacBioProductMetrics", back_populates="pac_bio_run_well_metrics" ) + def get_experiment_info(self): + """Returns a list of PacBioRun mlwh database rows. + + Returns LIMS information about the PacBio experiment + for this well, one pac_bio_run table row per sample + (product) in the well. + + If any or all of the pac_bio_product_metrics rows linked + to this well record are not linked to the pac_bio_run + table, and empty array is returned, thus preventing incomplete + data being supplied to the client. + """ + product_metrics = self.pac_bio_product_metrics + experiment_info = [ + pbr for pbr in [pm.pac_bio_run for pm in product_metrics] if pbr is not None + ] + if len(experiment_info) != len(product_metrics): + experiment_info = [] + + return experiment_info + class PacBioProductMetrics(Base): __tablename__ = "pac_bio_product_metrics" diff --git a/lang_qc/models/pacbio/well.py b/lang_qc/models/pacbio/well.py index 9deea4f0..d2047a59 100644 --- a/lang_qc/models/pacbio/well.py +++ b/lang_qc/models/pacbio/well.py @@ -60,7 +60,7 @@ class PacBioWell: `run_name`, `label`, `plate_number`, and `id_product` fields uniquely identify the well. The model also has fields that reflect the time line of the run and information about a PacBio instrument. The optional - `qc_state field might contain the current QC state of the well. + `qc_state` field might contain the current QC state of the well. The best way to instantiate the model is via the constructor, supplying the an ORM object representing a database row with information about @@ -133,6 +133,7 @@ def pre_root(cls, values: dict[str, Any]) -> dict[str, Any]: # https://github.com/pydantic/pydantic-core/blob/main/python/pydantic_core/_pydantic_core.pyi mlwh_db_row: PacBioRunWellMetrics = values.kwargs["db_well"] + assert mlwh_db_row column_names = [column.key for column in PacBioRunWellMetrics.__table__.columns] @@ -147,14 +148,41 @@ def pre_root(cls, values: dict[str, Any]) -> dict[str, Any]: return assigned +@dataclass(kw_only=True, frozen=True) +class PacBioWellSummary(PacBioWell): + """A response model for a summary about a single PacBio well. + + Adds `study_names` to a list of attributes of the parent class `PacBioWell`. + Instance creation is described in the documentation of the parent class. + + `get_experiment_info` method in this package is used to retrieve study + information, see its documentation for details. + """ + + study_names: list = Field( + title="An alphabetically sorted list of distinct study names", + ) + + @model_validator(mode="before") + def pre_root(cls, values: dict[str, Any]) -> dict[str, Any]: + + assigned = super().pre_root(values) + mlwh_db_row: PacBioRunWellMetrics = values.kwargs["db_well"] + assigned["study_names"] = sorted( + set([row.study.name for row in mlwh_db_row.get_experiment_info()]) + ) + + return assigned + + class PacBioPagedWells(PagedResponse, extra="forbid"): """A response model for paged data about PacBio wells.""" - wells: list[PacBioWell] = Field( + wells: list[PacBioWellSummary] = Field( default=[], - title="A list of PacBioWell objects", + title="A list of PacBioWellSummary objects", description=""" - A list of `PacBioWell` objects that corresponds to the page number + A list of `PacBioWellSummary` objects that corresponds to the page number and size specified by the `page_size` and `page_number` attributes. """, ) @@ -164,13 +192,16 @@ class PacBioPagedWells(PagedResponse, extra="forbid"): class PacBioWellFull(PacBioWell): """A full response model for a single PacBio well. - The model has teh fields that uniquely define the well (`run_name`, `label`, + The model has the fields that uniquely define the well (`run_name`, `label`, `plate_number`, `id_product`), along with the laboratory experiment and sequence run tracking information, current QC state of this well and QC data for this well. Instance creation is described in the documentation of this class's parent `PacBioWell`. + + `get_experiment_info` method in this package is used to retrieve information + about the experiment, see its documentation for details. """ metrics: QCDataWell = Field( @@ -189,16 +220,9 @@ def pre_root(cls, values: dict[str, Any]) -> dict[str, Any]: assigned = super().pre_root(values) mlwh_db_row: PacBioRunWellMetrics = values.kwargs["db_well"] - assigned["metrics"] = QCDataWell.from_orm(mlwh_db_row) - - product_metrics = mlwh_db_row.pac_bio_product_metrics - experiment_info = [ - pbr for pbr in [pm.pac_bio_run for pm in product_metrics] if pbr is not None - ] - # Occasionally product rows are not linked to LIMS rows. - # Go for all or nothing, do not supply incomplete data. - if len(experiment_info) and (len(experiment_info) == len(product_metrics)): + experiment_info = mlwh_db_row.get_experiment_info() + if len(experiment_info): assigned["experiment_tracking"] = PacBioExperiment.from_orm(experiment_info) return assigned diff --git a/tests/conftest.py b/tests/conftest.py index b4588056..0178e469 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -20,15 +20,6 @@ test_ini = os.path.join(os.path.dirname(__file__), "testdb.ini") -@pytest.fixture(scope="package") -def config() -> configparser.ConfigParser: - # Database credentials for the test MySQL instance are stored here. This - # should be an instance in a container, discarded after each test run. - test_config = configparser.ConfigParser() - test_config.read(test_ini) - return test_config - - def mysql_url( config: configparser.ConfigParser, section: str, @@ -70,6 +61,43 @@ def mysql_url( ) +def insert_from_yaml(session, dir_path, module_name): + + # Load the schema module where the table ORM classes are defined. + module = importlib.import_module(module_name) + + # Find all files in a given directory. + dir_obj = pathlib.Path(dir_path) + file_paths = list(str(f) for f in dir_obj.iterdir()) + file_paths.sort() + + for file_path in file_paths: + with open(file_path, "r") as f: + (head, file_name) = os.path.split(file_path) + # File name example: 200-PacBioRun.yml + m = re.match(r"\A\d+-([a-zA-Z]+)\.yml\Z", file_name) + if m is not None: + class_name = m.group(1) + table_class = getattr(module, class_name) + data = yaml.safe_load(f) + session.execute(insert(table_class), data) + + session.commit() + + +def compare_dates(date_obj, date_string): + assert date_obj.isoformat(sep=" ", timespec="seconds") == date_string + + +@pytest.fixture(scope="package") +def config() -> configparser.ConfigParser: + # Database credentials for the test MySQL instance are stored here. This + # should be an instance in a container, discarded after each test run. + test_config = configparser.ConfigParser() + test_config.read(test_ini) + return test_config + + @pytest.fixture(scope="module", name="mlwhdb_test_sessionfactory") def create_mlwhdb_test_sessionfactory(config): """Create a MLWH SQLAlchemy session factory, using credentials from config. @@ -165,30 +193,8 @@ def override_get_qc_db(): return client -def insert_from_yaml(session, dir_path, module_name): - - # Load the schema module where the table ORM classes are defined. - module = importlib.import_module(module_name) - - # Find all files in a given directory. - dir_obj = pathlib.Path(dir_path) - file_paths = list(str(f) for f in dir_obj.iterdir()) - file_paths.sort() - - for file_path in file_paths: - with open(file_path, "r") as f: - (head, file_name) = os.path.split(file_path) - # File name example: 200-PacBioRun.yml - m = re.match(r"\A\d+-([a-zA-Z]+)\.yml\Z", file_name) - if m is None: - raise Exception(f"Unexpected file {file_path} in fixtures.") - class_name = m.group(1) - table_class = getattr(module, class_name) - data = yaml.safe_load(f) - session.execute(insert(table_class), data) - - session.commit() - - -def compare_dates(date_obj, date_string): - assert date_obj.isoformat(sep=" ", timespec="seconds") == date_string +@pytest.fixture(scope="module", name="mlwhdb_load_runs") +def mlwhdb_load_from_yaml(mlwhdb_test_session): + insert_from_yaml( + mlwhdb_test_session, "tests/data/mlwh_pb_runs", "lang_qc.db.mlwh_schema" + ) diff --git a/tests/data/mlwh_pb_demux_525/200-PacBioRunWellMetrics.yml b/tests/data/mlwh_pb_demux_525/200-PacBioRunWellMetrics.yml deleted file mode 100644 index 9c24aedd..00000000 --- a/tests/data/mlwh_pb_demux_525/200-PacBioRunWellMetrics.yml +++ /dev/null @@ -1,132 +0,0 @@ ---- -# Two runs, one with a well with no deplexing, the other with -- adapter_dimer_percent: 0 - binding_kit: Sequel II Binding Kit 2.2 - ccs_execution_mode: OnInstrument - cell_lot_number: 417079 - chemistry_sw_version: 10.2.0.133424 - chip_type: 8mChip - control_concordance_mean: 0.868282 - control_concordance_mode: 0.91 - control_num_reads: 24837 - control_read_length_mean: 50169 - created_by: eg18 - demultiplex_mode: OnInstrument - heteroduplex_analysis: ~ - hifi_barcoded_reads: ~ - hifi_bases_in_barcoded_reads: ~ - hifi_low_quality_num_reads: 260532 - hifi_low_quality_read_bases: 2670039556 - hifi_low_quality_read_length_mean: 10248 - hifi_low_quality_read_quality_median: 17 - hifi_num_reads: 2877051 - hifi_number_passes_mean: 18 - hifi_only_reads: ~ - hifi_read_bases: 27076668646 - hifi_read_length_mean: 9411 - hifi_read_quality_median: 43 - id_pac_bio_product: cf18bd66e0f0895ea728c1d08103c62d3de8a57a5f879cee45f7b0acc028aa61 - id_pac_bio_rw_metrics_tmp: 1732 - include_kinetics: 0 - insert_length_mean: 16227 - insert_length_n50: 23250 - instrument_name: 64222E - instrument_sw_version: 10.1.0.119549 - instrument_type: Sequel2e - loading_conc: 80 - local_base_rate: 2.76789 - movie_minutes: 1800 - movie_name: m64222e_220414_130247 - p0_num: 2800130 - p1_num: 5033971 - p2_num: 180570 - pac_bio_run_name: TRACTION-RUN-92 - polymerase_num_reads: 5009134 - polymerase_read_bases: 645567171652 - polymerase_read_length_mean: 128878 - polymerase_read_length_n50: 251250 - primary_analysis_sw_version: 10.1.0.119549 - productive_zmws_num: 7989834 - run_complete: 2022-04-20 09:16:53 - run_start: 2022-04-14 12:52:34 - run_status: Complete - run_transfer_complete: 2022-04-20 16:03:18 - sequencing_kit: Sequel II Sequencing Plate 2.0 (4 rxn) - sequencing_kit_lot_number: 123660 - short_insert_percent: 0 - sl_hostname: pacbio01.dnapipelines.sanger.ac.uk - sl_run_uuid: 7f5d45ed-aa93-46a6-92b2-4b11d4bf29da - sl_ccs_uuid: 7f5d45ed-aa93-46a6-92b2-4b11d4bf29ro - ts_run_name: r64222e_20220414_125138 - unique_molecular_bases: 68501667840 - well_complete: 2022-04-16 12:36:21 - well_label: A1 - well_start: 2022-04-14 13:02:48 - well_status: Complete -- id_pac_bio_rw_metrics_tmp: 3725 - id_pac_bio_product: 7454d3e822388a257437d1736361fb00c7493ab8b24ecd8ce3506ff45deb6716 - pac_bio_run_name: TRACTION-RUN-525 - well_label: A1 - qc_seq_state: Passed - qc_seq_state_is_final: 1 - qc_seq_date: 2023-04-12 16:49:52 - qc_seq: 1 - instrument_type: Revio - instrument_name: 84047 - chip_type: 25mChip - sl_hostname: pacbio02.dnapipelines.sanger.ac.uk - sl_run_uuid: f1490bb9-7a99-45b2-9d79-24582881742d - sl_ccs_uuid: a9ad9f86-04c2-4194-ba69-48240cb745f9 - ts_run_name: r84047_20230404_164149 - movie_name: m84047_230404_164952_s1 - movie_minutes: 1440 - created_by: chc - binding_kit: Revio polymerase kit - sequencing_kit: Revio sequencing plate - sequencing_kit_lot_number: 030157 - cell_lot_number: 1000000291 - ccs_execution_mode: OnInstrument - demultiplex_mode: OnInstrument - include_kinetics: 1 - hifi_only_reads: 1 - heteroduplex_analysis: 0 - loading_conc: 227 - run_start: 2023-04-04 16:42:51 - run_complete: 2023-04-05 23:16:26 - run_transfer_complete: 2023-04-06 16:28:42 - run_status: Complete - well_start: 2023-04-04 16:49:53 - well_complete: 2023-04-06 10:15:28 - well_status: Complete - chemistry_sw_version: 12.0.0.172289 - instrument_sw_version: 12.0.0.178953 - primary_analysis_sw_version: 12.0.0.1 - control_num_reads: 2724 - control_concordance_mean: 0.899633 - control_concordance_mode: 0.91 - control_read_length_mean: 59917 - local_base_rate: 2.182480 - polymerase_read_bases: 1324865295449 - polymerase_num_reads: 18759739 - polymerase_read_length_mean: 70623 - polymerase_read_length_n50: 132750 - insert_length_mean: 14885 - insert_length_n50: 20250 - unique_molecular_bases: 250195427328 - productive_zmws_num: 16777216 - p0_num: 5846918 - p1_num: 18762463 - p2_num: 556443 - adapter_dimer_percent: 0.00 - short_insert_percent: 0.00 - hifi_read_bases: 92922481974 - hifi_num_reads: 8297069 - hifi_read_length_mean: 11199 - hifi_read_quality_median: 34 - hifi_number_passes_mean: 14 - hifi_low_quality_read_bases: NULL - hifi_low_quality_num_reads: NULL - hifi_low_quality_read_length_mean: NULL - hifi_low_quality_read_quality_median: NULL - hifi_barcoded_reads: 8255091 - hifi_bases_in_barcoded_reads: 92439476821 diff --git a/tests/data/mlwh_pb_run_92/100-Study.yml b/tests/data/mlwh_pb_run_92/100-Study.yml deleted file mode 100644 index 86e6fed4..00000000 --- a/tests/data/mlwh_pb_run_92/100-Study.yml +++ /dev/null @@ -1,43 +0,0 @@ -- accession_number: ERP129860 - aligned: 1 - contains_human_dna: 0 - contaminated_human_dna: 0 - id_lims: SQSCP - id_study_lims: 6457 - id_study_tmp: 6287 - name: Tree of Life - ASG - reference_genome: ' ' - remove_x_and_autosomes: 0 - separate_y_chromosome_data: 0 - study_title: Tree of Life - ASG - study_visibility: Public - uuid_study_lims: 8d58238e-a2b5-11eb-84d2-fa163eac3af7 -- accession_number: ERP116890 - aligned: 1 - contains_human_dna: 0 - contaminated_human_dna: 0 - id_lims: SQSCP - id_study_lims: 5901 - id_study_tmp: 5735 - name: DTOL_Darwin Tree of Life - reference_genome: ' ' - remove_x_and_autosomes: 0 - separate_y_chromosome_data: 0 - study_title: Darwin Tree of Life - study_visibility: Public - uuid_study_lims: cf04ea86-ac82-11e9-8998-68b599768938 -- accession_number: ERP141224 - aligned: 1 - contains_human_dna: 0 - contaminated_human_dna: 0 - description: Study for release prior to publication of selected datasets - id_lims: SQSCP - id_study_lims: 7069 - id_study_tmp: 6942 - name: Alternative Enzymes 2022 microbial genomes - reference_genome: Clostridium_difficile (Strain_630) - remove_x_and_autosomes: 0 - separate_y_chromosome_data: 0 - study_title: Alternative Enzymes 2022 microbial genomes - study_visibility: Public - uuid_study_lims: 39ba6ae6-3500-11ed-b3f3-fa163eac3af7 diff --git a/tests/data/mlwh_pb_run_92/200-PacBioRunWellMetrics.yml b/tests/data/mlwh_pb_run_92/200-PacBioRunWellMetrics.yml deleted file mode 100644 index f3461522..00000000 --- a/tests/data/mlwh_pb_run_92/200-PacBioRunWellMetrics.yml +++ /dev/null @@ -1,253 +0,0 @@ ---- -- adapter_dimer_percent: 0 - binding_kit: Sequel II Binding Kit 2.2 - ccs_execution_mode: OnInstrument - cell_lot_number: 417079 - chemistry_sw_version: 10.2.0.133424 - chip_type: 8mChip - control_concordance_mean: 0.868282 - control_concordance_mode: 0.91 - control_num_reads: 24837 - control_read_length_mean: 50169 - created_by: eg18 - demultiplex_mode: ~ - heteroduplex_analysis: ~ - hifi_barcoded_reads: ~ - hifi_bases_in_barcoded_reads: ~ - hifi_low_quality_num_reads: 260532 - hifi_low_quality_read_bases: 2670039556 - hifi_low_quality_read_length_mean: 10248 - hifi_low_quality_read_quality_median: 17 - hifi_num_reads: 2877051 - hifi_number_passes_mean: 18 - hifi_only_reads: ~ - hifi_read_bases: 27076668646 - hifi_read_length_mean: 9411 - hifi_read_quality_median: 43 - id_pac_bio_product: cf18bd66e0f0895ea728c1d08103c62d3de8a57a5f879cee45f7b0acc028aa61 - id_pac_bio_rw_metrics_tmp: 1732 - include_kinetics: 0 - insert_length_mean: 16227 - insert_length_n50: 23250 - instrument_name: 64222E - instrument_sw_version: 10.1.0.119549 - instrument_type: Sequel2e - loading_conc: 80 - local_base_rate: 2.76789 - movie_minutes: 1800 - movie_name: m64222e_220414_130247 - p0_num: 2800130 - p1_num: 5033971 - p2_num: 180570 - pac_bio_run_name: TRACTION-RUN-92 - polymerase_num_reads: 5009134 - polymerase_read_bases: 645567171652 - polymerase_read_length_mean: 128878 - polymerase_read_length_n50: 251250 - primary_analysis_sw_version: 10.1.0.119549 - productive_zmws_num: 7989834 - run_complete: 2022-04-20 09:16:53 - run_start: 2022-04-14 12:52:34 - run_status: Complete - run_transfer_complete: 2022-04-20 16:03:18 - sequencing_kit: Sequel II Sequencing Plate 2.0 (4 rxn) - sequencing_kit_lot_number: 123660 - short_insert_percent: 0 - sl_hostname: pacbio01.dnapipelines.sanger.ac.uk - sl_run_uuid: 7f5d45ed-aa93-46a6-92b2-4b11d4bf29da - sl_ccs_uuid: 7f5d45ed-aa93-46a6-92b2-4b11d4bf29ro - ts_run_name: r64222e_20220414_125138 - unique_molecular_bases: 68501667840 - well_complete: 2022-04-16 12:36:21 - well_label: A1 - well_start: 2022-04-14 13:02:48 - well_status: Complete -- adapter_dimer_percent: 0 - binding_kit: Sequel II Binding Kit 2.2 - ccs_execution_mode: OnInstrument - cell_lot_number: 417079 - chemistry_sw_version: 10.2.0.133424 - chip_type: 8mChip - control_concordance_mean: 0.865786 - control_concordance_mode: 0.91 - control_num_reads: 42962 - control_read_length_mean: 51810 - created_by: eg18 - demultiplex_mode: ~ - heteroduplex_analysis: ~ - hifi_barcoded_reads: ~ - hifi_bases_in_barcoded_reads: ~ - hifi_low_quality_num_reads: 204155 - hifi_low_quality_read_bases: 1887795985 - hifi_low_quality_read_length_mean: 9246 - hifi_low_quality_read_quality_median: 16 - hifi_num_reads: 2082542 - hifi_number_passes_mean: 18 - hifi_only_reads: ~ - hifi_read_bases: 17706147796 - hifi_read_length_mean: 8502 - hifi_read_quality_median: 40 - id_pac_bio_product: 63fb9a37ff19c248fc7d99bd254a61085226ded540de7c5445daf1398e339833 - id_pac_bio_rw_metrics_tmp: 1733 - include_kinetics: 0 - insert_length_mean: 16407 - insert_length_n50: 28250 - instrument_name: 64222E - instrument_sw_version: 10.1.0.119549 - instrument_type: Sequel2e - loading_conc: 80 - local_base_rate: 2.80566 - movie_minutes: 1800 - movie_name: m64222e_220415_235643 - p0_num: 4427179 - p1_num: 3512385 - p2_num: 75107 - pac_bio_run_name: TRACTION-RUN-92 - polymerase_num_reads: 3469423 - polymerase_read_bases: 455958509506 - polymerase_read_length_mean: 131422 - polymerase_read_length_n50: 251750 - primary_analysis_sw_version: 10.1.0.119549 - productive_zmws_num: 7971709 - run_complete: 2022-04-20 09:16:53 - run_start: 2022-04-14 12:52:34 - run_status: Complete - run_transfer_complete: 2022-04-20 16:03:18 - sequencing_kit: Sequel II Sequencing Plate 2.0 (4 rxn) - sequencing_kit_lot_number: 123660 - short_insert_percent: 0 - sl_hostname: pacbio01.dnapipelines.sanger.ac.uk - sl_run_uuid: 7f5d45ed-aa93-46a6-92b2-4b11d4bf29da - sl_ccs_uuid: ~ - ts_run_name: r64222e_20220414_125138 - unique_molecular_bases: 45990051840 - well_complete: 2022-04-17 23:16:35 - well_label: B1 - well_start: 2022-04-15 23:56:43 - well_status: Complete -- adapter_dimer_percent: 0 - binding_kit: Sequel II Binding Kit 2.2 - ccs_execution_mode: OnInstrument - cell_lot_number: 417079 - chemistry_sw_version: 10.2.0.133424 - chip_type: 8mChip - control_concordance_mean: 0.866249 - control_concordance_mode: 0.89 - control_num_reads: 40787 - control_read_length_mean: 49421 - created_by: eg18 - demultiplex_mode: ~ - heteroduplex_analysis: ~ - hifi_low_quality_num_reads: 173039 - hifi_low_quality_read_bases: 1743404181 - hifi_low_quality_read_length_mean: 10075 - hifi_low_quality_read_quality_median: 17 - hifi_num_reads: 1698191 - hifi_number_passes_mean: 17 - hifi_only_reads: ~ - hifi_read_bases: 16029605719 - hifi_read_length_mean: 9439 - hifi_read_quality_median: 40 - hifi_barcoded_reads: ~ - hifi_bases_in_barcoded_reads: ~ - id_pac_bio_product: a65eae06f3048a186aeb9104d0a8d3f46ca59dff7747eec9918fcfa85587a3c2 - id_pac_bio_rw_metrics_tmp: 1734 - include_kinetics: 0 - insert_length_mean: 15260 - insert_length_n50: 15750 - instrument_name: 64222E - instrument_sw_version: 10.1.0.119549 - instrument_type: Sequel2e - loading_conc: 130 - local_base_rate: 2.76102 - movie_minutes: 1800 - movie_name: m64222e_220417_105320 - p0_num: 5019384 - p1_num: 2944690 - p2_num: 50597 - pac_bio_run_name: TRACTION-RUN-92 - polymerase_num_reads: 2903903 - polymerase_read_bases: 360656040891 - polymerase_read_length_mean: 124197 - polymerase_read_length_n50: 244750 - primary_analysis_sw_version: 10.1.0.119549 - productive_zmws_num: 7973884 - run_complete: 2022-04-20 09:16:53 - run_start: 2022-04-14 12:52:34 - run_status: Complete - run_transfer_complete: 2022-04-20 16:03:18 - sequencing_kit: Sequel II Sequencing Plate 2.0 (4 rxn) - sequencing_kit_lot_number: 123660 - short_insert_percent: 0 - sl_hostname: pacbio01.dnapipelines.sanger.ac.uk - sl_run_uuid: 7f5d45ed-aa93-46a6-92b2-4b11d4bf29da - sl_ccs_uuid: ~ - ts_run_name: r64222e_20220414_125138 - unique_molecular_bases: 37178580992 - well_complete: 2022-04-19 04:22:35 - well_label: C1 - well_start: 2022-04-17 10:53:21 - well_status: Complete -- adapter_dimer_percent: 0 - binding_kit: Sequel II Binding Kit 2.2 - ccs_execution_mode: OnInstrument - cell_lot_number: 417079 - chemistry_sw_version: 10.2.0.133424 - chip_type: 8mChip - control_concordance_mean: 0.863292 - control_concordance_mode: 0.91 - control_num_reads: 24842 - control_read_length_mean: 44982 - created_by: eg18 - demultiplex_mode: ~ - heteroduplex_analysis: ~ - hifi_barcoded_reads: ~ - hifi_bases_in_barcoded_reads: ~ - hifi_low_quality_num_reads: 193115 - hifi_low_quality_read_bases: 1672216211 - hifi_low_quality_read_length_mean: 8659 - hifi_low_quality_read_quality_median: 16 - hifi_num_reads: 1912626 - hifi_number_passes_mean: 18 - hifi_only_reads: ~ - hifi_read_bases: 14052550494 - hifi_read_length_mean: 7347 - hifi_read_quality_median: 41 - id_pac_bio_product: c5babd5516f7b9faab8415927e5f300d5152bb96b8b922e768d876469a14fa5d - id_pac_bio_rw_metrics_tmp: 1735 - include_kinetics: 0 - insert_length_mean: 15043 - insert_length_n50: 33750 - instrument_name: 64222E - instrument_sw_version: 10.1.0.119549 - instrument_type: Sequel2e - loading_conc: 80 - local_base_rate: 2.71738 - movie_minutes: 1800 - movie_name: m64222e_220418_214938 - p0_num: 3784476 - p1_num: 4078117 - p2_num: 152078 - pac_bio_run_name: TRACTION-RUN-92 - polymerase_num_reads: 4053275 - polymerase_read_bases: 405355872925 - polymerase_read_length_mean: 100007 - polymerase_read_length_n50: 234250 - primary_analysis_sw_version: 10.1.0.119549 - productive_zmws_num: 7989829 - run_complete: 2022-04-20 09:16:53 - run_start: 2022-04-14 12:52:34 - run_status: Complete - run_transfer_complete: 2022-04-20 16:03:18 - sequencing_kit: Sequel II Sequencing Plate 2.0 (4 rxn) - sequencing_kit_lot_number: 123660 - short_insert_percent: 0.01 - sl_hostname: pacbio01.dnapipelines.sanger.ac.uk - sl_run_uuid: 7f5d45ed-aa93-46a6-92b2-4b11d4bf29da - sl_ccs_uuid: ~ - ts_run_name: r64222e_20220414_125138 - unique_molecular_bases: 48624848896 - well_complete: 2022-04-20 16:03:18 - well_label: D1 - well_start: 2022-04-18 21:49:38 - well_status: Complete diff --git a/tests/data/mlwh_pb_run_92/300-PacBioProductMetrics.yml b/tests/data/mlwh_pb_run_92/300-PacBioProductMetrics.yml deleted file mode 100644 index b27f0519..00000000 --- a/tests/data/mlwh_pb_run_92/300-PacBioProductMetrics.yml +++ /dev/null @@ -1,175 +0,0 @@ ---- -- id_pac_bio_pr_metrics_tmp: 9675 - id_pac_bio_product: cf18bd66e0f0895ea728c1d08103c62d3de8a57a5f879cee45f7b0acc028aa61 - id_pac_bio_rw_metrics_tmp: 1732 - id_pac_bio_tmp: 98966 -- id_pac_bio_pr_metrics_tmp: 9676 - id_pac_bio_product: 63fb9a37ff19c248fc7d99bd254a61085226ded540de7c5445daf1398e339833 - id_pac_bio_rw_metrics_tmp: 1733 - id_pac_bio_tmp: 98967 -- id_pac_bio_pr_metrics_tmp: 9677 - id_pac_bio_product: a65eae06f3048a186aeb9104d0a8d3f46ca59dff7747eec9918fcfa85587a3c2 - id_pac_bio_rw_metrics_tmp: 1734 - id_pac_bio_tmp: 98968 -- id_pac_bio_pr_metrics_tmp: 9678 - id_pac_bio_product: 57538925519f7ae568fbd5cd075fd2fb600a2273394f6537a17d97917e224b11 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98969 -- id_pac_bio_pr_metrics_tmp: 9679 - id_pac_bio_product: 2307cbc4bf6b6917fa6a20d7e077302ad617c4df61cc0f845facfb24548360e4 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98970 -- id_pac_bio_pr_metrics_tmp: 9680 - id_pac_bio_product: 568b595c45b01faa601cab34ac91987b738106e2c10d2343fed1a2823726b036 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98971 -- id_pac_bio_pr_metrics_tmp: 9681 - id_pac_bio_product: 5a7af02c0fa288456f61046c15fcc2f14ae14ef890eea7de2239abdbc06cd1a2 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98972 -- id_pac_bio_pr_metrics_tmp: 9682 - id_pac_bio_product: 6efad9725471425b8574eaa8772cfd077cfca761c6654dbd36fb3bdb3e939ac3 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98973 -- id_pac_bio_pr_metrics_tmp: 9683 - id_pac_bio_product: 40053aa11e7cf4b74c0dc641c42fbe45145f007a6edacd7e1d476d20d3dc8899 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98974 -- id_pac_bio_pr_metrics_tmp: 9684 - id_pac_bio_product: f0993ebd8924e24e202c269a34598972541c3bccbe9778ca38889d8119ef8fbc - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98975 -- id_pac_bio_pr_metrics_tmp: 9685 - id_pac_bio_product: 67a948d085b4be890f02a04779ed44351bf64506f14e1a703cede5b901f7732d - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98976 -- id_pac_bio_pr_metrics_tmp: 9686 - id_pac_bio_product: 22be6501a64e534e8bcd4d94222b8b226880d8574b2c2a13b47993d67bf953ed - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98977 -- id_pac_bio_pr_metrics_tmp: 9687 - id_pac_bio_product: a85234a2ce0b894cdde92dd592202b93e973aec86a22584d5d5aad6207936c3a - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98978 -- id_pac_bio_pr_metrics_tmp: 9688 - id_pac_bio_product: 925c97e811bd1320575eb09a9c6208ebceb092f39be9804f13ae6ea57d6ee3f4 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98979 -- id_pac_bio_pr_metrics_tmp: 9689 - id_pac_bio_product: 4cd35d863fb960d2e65b11c3092034272b71c63a7cceb8a4eb82459b442e5649 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98980 -- id_pac_bio_pr_metrics_tmp: 9690 - id_pac_bio_product: 13e08185c8f214ddb7fda427eb12de14d2328966dc6dd407e04931540d563764 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98981 -- id_pac_bio_pr_metrics_tmp: 9691 - id_pac_bio_product: b5131d50fc95fcd36b1670a0a200424d8ab1568b4a8c4e3ae267ab78dd482189 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98982 -- id_pac_bio_pr_metrics_tmp: 9692 - id_pac_bio_product: f16140784d4fe024bda8c121e3f9aefb3d8907f11787be71894120048b2cc504 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98983 -- id_pac_bio_pr_metrics_tmp: 9693 - id_pac_bio_product: 5a9fe0fb67614b9fd250dcf711e1fcf3e2ce13f450ecc68af699035490e3e0ec - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98984 -- id_pac_bio_pr_metrics_tmp: 9694 - id_pac_bio_product: 9f045c9356f681c1b452ec6dd92415264f7e9646b91e82bbe9f739d2d97b621c - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98985 -- id_pac_bio_pr_metrics_tmp: 9695 - id_pac_bio_product: c060619f13f862370b4047c4a897aa4d9e907f6252d1f5e2962e09495d32becb - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98986 -- id_pac_bio_pr_metrics_tmp: 9696 - id_pac_bio_product: f997587d6945cc8feaf015e6f74247c6d5d72afeae5e4aac550cb69ebdbd8381 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98987 -- id_pac_bio_pr_metrics_tmp: 9697 - id_pac_bio_product: 044ddae518c4f27a9b4c362098d78dbddbfb3c777eb7b755d64413e4cde4cd3c - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98988 -- id_pac_bio_pr_metrics_tmp: 9698 - id_pac_bio_product: 03e42278867da02c593029170ce087048e62f6f69165a3080e94f21d3de5e6b9 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98989 -- id_pac_bio_pr_metrics_tmp: 9699 - id_pac_bio_product: fdf0c4eb042807b7694842569a907e530fe603ade6470e1b4878beab7de9c055 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98990 -- id_pac_bio_pr_metrics_tmp: 9700 - id_pac_bio_product: a5c8aa41feee6cf782936786d3702c716fac193e5943398662975136fd5e30a1 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98991 -- id_pac_bio_pr_metrics_tmp: 9701 - id_pac_bio_product: 11c1424601a9dd783e9eab728934f88205b1c2251ce5b5da64d9ba25a34458fb - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98992 -- id_pac_bio_pr_metrics_tmp: 9702 - id_pac_bio_product: 9708d23c8ea56d4d0680dc6f3f78b102d08708d70f8205e079a0215f9331c27d - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98993 -- id_pac_bio_pr_metrics_tmp: 9703 - id_pac_bio_product: e0d3aa0edd255e4bcf14ad2c855a195677f44109ad444e395845a7b82c1d477d - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98994 -- id_pac_bio_pr_metrics_tmp: 9704 - id_pac_bio_product: 41887713d6f40e42b97384931254e986635189cc432652ac5d16d11c371b6d71 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98995 -- id_pac_bio_pr_metrics_tmp: 9705 - id_pac_bio_product: 49da248e9147189033f81b7f5f44f036bb26be0a5c3efcf61c484dc8dc50d432 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98996 -- id_pac_bio_pr_metrics_tmp: 9706 - id_pac_bio_product: ccc81d884b5319d7d6dd4beb14944fd9dc7b6063933a57882f53652da435af2d - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98997 -- id_pac_bio_pr_metrics_tmp: 9707 - id_pac_bio_product: 6ac18d5b5b63eca3a3773686733be395a58d67213b597111c2b51c6fec4ce814 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98998 -- id_pac_bio_pr_metrics_tmp: 9708 - id_pac_bio_product: dcb13705145a63f6034692b6e5cd568fc34e9c6669f0b0ce37a54160c45a1a04 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 98999 -- id_pac_bio_pr_metrics_tmp: 9709 - id_pac_bio_product: 4e6c23a4627eb23514d03630512548d521f822d44467f951ae61e169d16a868e - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 99000 -- id_pac_bio_pr_metrics_tmp: 9710 - id_pac_bio_product: 878b1e205768c5965cdce2b11d779d41ad267f5d84cac8652e64d9c7139fd692 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 99001 -- id_pac_bio_pr_metrics_tmp: 9711 - id_pac_bio_product: 75ad3eb849261accf19df9c5acfb97b10f73d658dd1f403a032dab25fdeee64a - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 99002 -- id_pac_bio_pr_metrics_tmp: 9712 - id_pac_bio_product: b209eb8f689ff8391bf42dece19d8de44ef4ee63158219cc81bd0cb45196b631 - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 99003 -- id_pac_bio_pr_metrics_tmp: 9713 - id_pac_bio_product: 18078959e14a3416b428624e6cc200c649a8b3b92fc40a20444e9cdca373137b - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 99004 -- id_pac_bio_pr_metrics_tmp: 9714 - id_pac_bio_product: 0a82107d88ee710dcf46139a8710f443da8f4051142c478cb0a99ec5c6d64a2a - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 99005 -- id_pac_bio_pr_metrics_tmp: 9715 - id_pac_bio_product: 6a81185dec0b9dcf06412b43fad08ce92cbf5ad492da7fa25dee63723950de5d - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 99006 -- id_pac_bio_pr_metrics_tmp: 9716 - id_pac_bio_product: 7f3912931b878be0b3c949fc20acd59d51b68a27a04fa89491a74905219f8deb - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 99007 -- id_pac_bio_pr_metrics_tmp: 9717 - id_pac_bio_product: 4cf97b14a1c23d892f3b9609642d1978b56ca4a7fca6995897be68c29ed9211d - id_pac_bio_rw_metrics_tmp: 1735 - id_pac_bio_tmp: 99008 - - diff --git a/tests/data/mlwh_pb_run_92/100-Sample.yml b/tests/data/mlwh_pb_runs/100-Sample.yml similarity index 59% rename from tests/data/mlwh_pb_run_92/100-Sample.yml rename to tests/data/mlwh_pb_runs/100-Sample.yml index e0ae6a0b..7b8c233e 100644 --- a/tests/data/mlwh_pb_run_92/100-Sample.yml +++ b/tests/data/mlwh_pb_runs/100-Sample.yml @@ -1,3 +1,4 @@ +--- - accession_number: SAMEA11604903 common_name: Lamellibrachia barhami consent_withdrawn: 0 @@ -815,3 +816,481 @@ supplier_name: promegaB_12 taxon_id: 4932 uuid_sample_lims: b887566c-b3f6-11ec-9caa-fa163eac3af7 +- accession_number: SAMEA10332404 + common_name: Verbascum thapsus + consent_withdrawn: 0 + control: 0 + created: 2022-10-21 08:10:07 + donor_id: SAMEA10332243 + id_lims: SQSCP + id_sample_lims: 8500551 + id_sample_tmp: 8427375 + last_updated: 2022-10-21 08:10:07 + name: DTOL13174735 + public_name: daVerThap1 + recorded_at: 2022-10-21 08:10:08 + sanger_sample_id: DTOL13174735 + supplier_name: FS63842463 + taxon_id: 39388 + uuid_sample_lims: c64320ec-5117-11ed-9bd8-fa163eac3af7 +- accession_number: SAMEA9065892 + common_name: Thaumetopoea processionea + consent_withdrawn: 0 + control: 0 + created: 2022-10-28 16:01:15 + donor_id: SAMEA9065811 + id_lims: SQSCP + id_sample_lims: 8509377 + id_sample_tmp: 8436094 + last_updated: 2022-10-28 16:01:16 + name: DTOL13161568 + public_name: ilThaProc3 + recorded_at: 2022-10-28 16:01:16 + sanger_sample_id: DTOL13161568 + supplier_name: FD30823809 + taxon_id: 499230 + uuid_sample_lims: c0a80bf8-56d9-11ed-975e-fa163eea3084 +- accession_number: SAMEA10369798 + cohort: 2982900000 + common_name: Agrimonia eupatoria + consent_withdrawn: 0 + created: 2023-03-01 11:55:55 + customer_measured_volume: 60 + description: Plant MagAttract v4 + donor_id: SAMEA10369788 + id_lims: SQSCP + id_sample_lims: 8633375 + id_sample_tmp: 8559246 + last_updated: 2023-03-01 11:55:59 + name: DTOL13630447 + public_name: drAgrEupa1 + recorded_at: 2023-03-01 11:56:01 + sample_type: vouchering + sanger_sample_id: DTOL13630447 + strain: Cryoprep + supplier_name: KDTOL10382 + taxon_id: 57912 + uuid_sample_lims: 05bd2f02-b828-11ed-b0d1-fa163eea3084 +- accession_number: SAMEA7696557 + common_name: Tachypodoiulus niger + consent_withdrawn: 0 + control: 0 + created: 2023-03-17 15:23:41 + donor_id: SAMEA7696482 + id_lims: SQSCP + id_sample_lims: 8654507 + id_sample_tmp: 8579905 + last_updated: 2023-03-17 15:23:41 + name: DTOL13642523 + public_name: qdTacNige1 + recorded_at: 2023-03-17 15:23:42 + sanger_sample_id: DTOL13642523 + supplier_name: SubSam_qdTacNige1_3685 + taxon_id: 433595 + uuid_sample_lims: b2b60038-c4d7-11ed-8019-fa163eac3af7 +- accession_number: SAMEA12813521 + common_name: Clistosaccus paguri + consent_withdrawn: 0 + control: 0 + created: 2023-03-23 08:54:42 + donor_id: SAMEA12813472 + id_lims: SQSCP + id_sample_lims: 8657549 + id_sample_tmp: 8582947 + last_updated: 2023-03-23 08:54:42 + name: 6771STDY13618009 + public_name: qxCliPagu9 + recorded_at: 2023-03-23 08:54:43 + sanger_sample_id: 6771STDY13618009 + supplier_name: SubSam_qxCliPagu9_3522 + taxon_id: 319673 + uuid_sample_lims: 5a41b3e0-c958-11ed-8ab8-fa163eac3af7 +- accession_number: SAMEA7521974 + common_name: Borago officinalis + consent_withdrawn: 0 + control: 0 + created: 2023-03-30 14:59:21 + donor_id: SAMEA7521932 + id_lims: SQSCP + id_sample_lims: 8663492 + id_sample_tmp: 8588834 + last_updated: 2023-03-30 14:59:21 + name: DTOL13653276 + public_name: daBorOffi1 + recorded_at: 2023-03-30 14:59:21 + sanger_sample_id: DTOL13653276 + supplier_name: FS63807999 + taxon_id: 13363 + uuid_sample_lims: 73aa3736-cf0b-11ed-aa59-fa163eea3084 +- accession_number: SAMEA112963171 + cohort: 306847500 + common_name: Selandria serva + consent_withdrawn: 0 + country_of_origin: not provided + created: 2023-06-07 15:29:56 + customer_measured_volume: 14 + date_of_sample_collection: 2022-07-05 + description: MagAttract + donor_id: SAMEA112963078 + id_lims: SQSCP + id_sample_lims: 8713294 + id_sample_tmp: 8625878 + last_updated: 2023-06-07 15:30:03 + name: DTOL13788282 + public_name: iySelServ2 + recorded_at: 2023-06-07 15:30:06 + sample_type: Vouchering + sanger_sample_id: DTOL13788282 + strain: Powermash + supplier_name: NHMUK015059202 + taxon_id: 410286 + uuid_sample_lims: 2839dbd0-0548-11ee-add0-fa163eea3084 +- accession_number: SAMEA113426911 + cohort: 260392500 + common_name: Chamaemyia aridella + consent_withdrawn: 0 + country_of_origin: not provided + created: 2023-06-14 13:22:28 + customer_measured_volume: 3 + date_of_sample_collection: not provided + description: MagAttract + donor_id: SAMEA113425591 + id_lims: SQSCP + id_sample_lims: 8718071 + id_sample_tmp: 8630655 + last_updated: 2023-06-14 13:22:32 + name: DTOL13795633 + public_name: idChaArid1 + recorded_at: 2023-06-14 13:22:35 + sample_type: Vouchering + sanger_sample_id: DTOL13795633 + strain: Powermash + supplier_name: Ox002879 + taxon_id: 2881674 + uuid_sample_lims: 8260135e-0ab6-11ee-b5ba-fa163eac3af7 +- accession_number: SAMEA113425916 + cohort: 260392500 + common_name: Chlorops ringens + consent_withdrawn: 0 + country_of_origin: not provided + created: 2023-06-14 13:22:28 + customer_measured_volume: 1 + date_of_sample_collection: not provided + description: MagAttract + donor_id: SAMEA113425730 + id_lims: SQSCP + id_sample_lims: 8718072 + id_sample_tmp: 8630656 + last_updated: 2023-06-14 13:22:32 + name: DTOL13795634 + public_name: idChlRing1 + recorded_at: 2023-06-14 13:22:35 + sample_type: Vouchering + sanger_sample_id: DTOL13795634 + strain: Powermash + supplier_name: Ox003155 + taxon_id: 3039479 + uuid_sample_lims: 8262fee8-0ab6-11ee-b5ba-fa163eac3af7 +- accession_number: SAMEA113425922 + cohort: 260392500 + common_name: Diastata fuscula + consent_withdrawn: 0 + country_of_origin: not provided + created: 2023-06-14 13:22:28 + customer_measured_volume: 1 + date_of_sample_collection: not provided + description: MagAttract + donor_id: SAMEA113425735 + id_lims: SQSCP + id_sample_lims: 8718076 + id_sample_tmp: 8630660 + last_updated: 2023-06-14 13:22:32 + name: DTOL13795638 + public_name: idDiaFusc1 + recorded_at: 2023-06-14 13:22:35 + sample_type: Vouchering + sanger_sample_id: DTOL13795638 + strain: Powermash + supplier_name: Ox003161 + taxon_id: 1262299 + uuid_sample_lims: 826e9b7c-0ab6-11ee-b5ba-fa163eac3af7 +- common_name: Procloeon bifidum + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2023-11-15 11:46:28 + date_of_sample_collection: not provided + description: SAMEA112222208 + donor_id: DTOL14162027 + id_lims: SQSCP + id_sample_lims: 9444455 + id_sample_tmp: 9302420 + last_updated: 2023-11-15 11:46:28 + name: DTOL14162027 + public_name: ieProBifi2 + recorded_at: 2023-11-15 11:46:28 + sanger_sample_id: DTOL14162027 + strain: SAMEA112222162 + supplier_name: SubSam_ieProBifi2_5062 + taxon_id: 1592913 + uuid_sample_lims: 9ca7c5f8-83ac-11ee-9e2f-024293460e78 +- accession_number: SAMEA111431652 + common_name: Linnaea borealis + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2023-11-17 08:36:09 + date_of_sample_collection: not provided + donor_id: SAMEA7535987 + id_lims: SQSCP + id_sample_lims: 9451544 + id_sample_tmp: 9309564 + last_updated: 2023-11-17 08:36:10 + name: DTOL13810175 + public_name: daLinBore1 + recorded_at: 2023-11-17 08:36:10 + sanger_sample_id: DTOL13810175 + supplier_name: SubSam_daLinBore1_4724 + taxon_id: 77623 + uuid_sample_lims: 5bc32040-8524-11ee-a665-024224dd57f4 +- accession_number: SAMEA7522163 + common_name: Chaenorhinum minus + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2023-11-24 09:47:11 + date_of_sample_collection: not provided + donor_id: SAMEA7522063 + id_lims: SQSCP + id_sample_lims: 9463590 + id_sample_tmp: 9321705 + last_updated: 2023-11-24 09:47:12 + name: DTOL14291044 + public_name: daChaMinu2 + recorded_at: 2023-11-24 09:47:12 + sanger_sample_id: DTOL14291044 + supplier_name: SubSam_daChaMinu2_5222 + taxon_id: 105913 + uuid_sample_lims: 70e98a88-8aae-11ee-becc-024224dd57f4 +- accession_number: SAMEA111431250 + common_name: Rosa spinosissima + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2023-11-24 10:53:53 + date_of_sample_collection: not provided + donor_id: SAMEA111431184 + id_lims: SQSCP + id_sample_lims: 9463632 + id_sample_tmp: 9321748 + last_updated: 2023-11-24 10:53:54 + name: DTOL14452869 + public_name: drRosSpin1 + recorded_at: 2023-11-24 10:53:54 + sanger_sample_id: DTOL14452869 + supplier_name: SubSam_drRosSpin1_5278 + taxon_id: 74630 + uuid_sample_lims: c239f784-8ab7-11ee-ae26-024293460e78 +- accession_number: SAMEA9335449 + common_name: Cephalanthera damasonium + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2023-11-24 11:10:32 + date_of_sample_collection: not provided + donor_id: SAMEA9335281 + id_lims: SQSCP + id_sample_lims: 9463663 + id_sample_tmp: 9321777 + last_updated: 2023-11-24 11:10:33 + name: DTOL14290946 + public_name: lsCepDama1 + recorded_at: 2023-11-24 11:10:33 + sanger_sample_id: DTOL14290946 + supplier_name: SubSam_lsCepDama1_5149 + taxon_id: 78719 + uuid_sample_lims: 15aef692-8aba-11ee-ae26-024293460e78 +- accession_number: SAMEA110187304 + common_name: Caenorhabditis sp. BRC20456 + concentration_determined_by: Spectrophotometer + consent_withdrawn: 0 + control: 0 + country_of_origin: Solomon Islands + created: 2023-11-27 09:25:21 + customer_measured_concentration: 14.7 + customer_measured_volume: 45 + date_of_sample_collection: 2015-01-01 + date_of_sample_extraction: 11/23 + dna_source: Tissue + donor_id: SAMEA110187300 + extraction_method: Monarch Extraction + gender: Mixed + id_lims: SQSCP + id_sample_lims: 9463876 + id_sample_tmp: 9321998 + last_updated: 2023-11-27 09:25:23 + name: BlaxGeNe14563575 + public_name: nxCaeSpeh1 + purification_method: Ethanol + purified: Yes + recorded_at: 2023-11-27 09:25:23 + sanger_sample_id: BlaxGeNe14563575 + storage_conditions: +4C + supplier_name: BRC20456 + taxon_id: 2883082 + uuid_sample_lims: e36343f6-8d06-11ee-890d-024293460e78 +- accession_number: SAMEA10369857 + common_name: Halimione portulacoides + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2023-12-01 12:08:58 + date_of_sample_collection: not provided + donor_id: SAMEA10369847 + id_lims: SQSCP + id_sample_lims: 9478716 + id_sample_tmp: 9336860 + last_updated: 2023-12-01 12:08:59 + name: DTOL14523233 + public_name: dcHalPort1 + recorded_at: 2023-12-01 12:08:59 + sample_type: LI + sanger_sample_id: DTOL14523233 + supplier_name: SubSam_5444 + taxon_id: 376799 + uuid_sample_lims: 68647e92-9042-11ee-a0e6-024293460e78 +- accession_number: SAMEA10369760 + common_name: Origanum vulgare + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2023-12-01 12:08:59 + date_of_sample_collection: not provided + donor_id: SAMEA10369670 + id_lims: SQSCP + id_sample_lims: 9478726 + id_sample_tmp: 9336869 + last_updated: 2023-12-01 12:08:59 + name: DTOL14523243 + public_name: daOriVulg1 + recorded_at: 2023-12-01 12:08:59 + sample_type: LI + sanger_sample_id: DTOL14523243 + supplier_name: SubSam_5438 + taxon_id: 39352 + uuid_sample_lims: 688268d0-9042-11ee-a0e6-024293460e78 +- accession_number: SAMEA9335181 + common_name: Hippuris vulgaris + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2023-12-04 13:03:46 + date_of_sample_collection: not provided + donor_id: SAMEA9335108 + id_lims: SQSCP + id_sample_lims: 9478845 + id_sample_tmp: 9336988 + last_updated: 2023-12-04 13:03:47 + name: DTOL14523333 + public_name: daHipVulg1 + recorded_at: 2023-12-04 13:03:47 + sanger_sample_id: DTOL14523333 + supplier_name: SubSam_5456 + taxon_id: 39321 + uuid_sample_lims: 8f4b9580-92a5-11ee-a0e6-024293460e78 +- accession_number: SAMEA9335379 + common_name: Linum bienne + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2023-12-13 08:24:26 + date_of_sample_collection: not provided + donor_id: SAMEA9335256 + id_lims: SQSCP + id_sample_lims: 9506156 + id_sample_tmp: 9358950 + last_updated: 2023-12-13 08:24:27 + name: DTOL14200517 + public_name: ddLinBien1 + recorded_at: 2023-12-13 08:24:28 + sanger_sample_id: DTOL14200517 + supplier_name: SubSam_ddLinBien1_5026 + taxon_id: 347648 + uuid_sample_lims: 074a7f78-9991-11ee-8911-024224dd57f4 +- accession_number: SAMEA113970418 + common_name: Arabis scabra + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2023-12-13 08:24:27 + date_of_sample_collection: not provided + donor_id: SAMEA113970357 + id_lims: SQSCP + id_sample_lims: 9506178 + id_sample_tmp: 9358974 + last_updated: 2023-12-13 08:24:27 + name: DTOL14200539 + public_name: ddAraScab1 + recorded_at: 2023-12-13 08:24:28 + sanger_sample_id: DTOL14200539 + supplier_name: SubSam_ddAraScab1_5048 + taxon_id: 50454 + uuid_sample_lims: 0788e31c-9991-11ee-8911-024224dd57f4 +- accession_number: SAMEA9143697 + common_name: Veronica hederifolia + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2023-12-14 12:28:19 + date_of_sample_collection: not provided + donor_id: SAMEA9143033 + id_lims: SQSCP + id_sample_lims: 9511440 + id_sample_tmp: 9364225 + last_updated: 2023-12-14 12:28:19 + name: DTOL_RD14581308 + public_name: daVerHede1 + recorded_at: 2023-12-14 12:28:20 + sanger_sample_id: DTOL_RD14581308 + supplier_name: SubSam_5606 + taxon_id: 202477 + uuid_sample_lims: 438aed2e-9a7c-11ee-a4e9-024224dd57f4 +- accession_number: SAMEA113425515 + common_name: Graphomya maculata + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2023-12-18 12:39:16 + date_of_sample_collection: not provided + donor_id: SAMEA113425419 + id_lims: SQSCP + id_sample_lims: 9515159 + id_sample_tmp: 9367590 + last_updated: 2023-12-18 12:39:16 + name: DTOL14026427 + public_name: idGraMacu2 + recorded_at: 2023-12-18 12:39:17 + sanger_sample_id: DTOL14026427 + supplier_name: SubSam_idGraMacu2_4846 + taxon_id: 1230139 + uuid_sample_lims: 74d0724a-9da2-11ee-8314-024293460e78 +- accession_number: SAMEA110451460 + common_name: Brachypodium pinnatum + consent_withdrawn: 0 + control: 0 + country_of_origin: not provided + created: 2024-01-03 12:32:18 + date_of_sample_collection: not provided + donor_id: SAMEA110451258 + id_lims: SQSCP + id_sample_lims: 9518398 + id_sample_tmp: 9371025 + last_updated: 2024-01-03 12:32:18 + name: DTOL14180244 + public_name: lpBraPinn1 + recorded_at: 2024-01-03 12:32:18 + sanger_sample_id: DTOL14180244 + supplier_name: SubSam_lpBraPinn1_4987 + taxon_id: 29663 + uuid_sample_lims: 22008a52-aa34-11ee-bf16-024224dd57f4 + diff --git a/tests/data/mlwh_pb_runs/100-Study.yml b/tests/data/mlwh_pb_runs/100-Study.yml new file mode 100644 index 00000000..453d6bae --- /dev/null +++ b/tests/data/mlwh_pb_runs/100-Study.yml @@ -0,0 +1,122 @@ +- accession_number: ERP129860 + aligned: 1 + contains_human_dna: 0 + contaminated_human_dna: 0 + id_lims: SQSCP + id_study_lims: 6457 + id_study_tmp: 6287 + name: Tree of Life - ASG + reference_genome: ' ' + remove_x_and_autosomes: 0 + separate_y_chromosome_data: 0 + study_title: Tree of Life - ASG + study_visibility: Public + uuid_study_lims: 8d58238e-a2b5-11eb-84d2-fa163eac3af7 +- accession_number: ERP116890 + aligned: 1 + contains_human_dna: 0 + contaminated_human_dna: 0 + id_lims: SQSCP + id_study_lims: 5901 + id_study_tmp: 5735 + name: DTOL_Darwin Tree of Life + reference_genome: ' ' + remove_x_and_autosomes: 0 + separate_y_chromosome_data: 0 + study_title: Darwin Tree of Life + study_visibility: Public + uuid_study_lims: cf04ea86-ac82-11e9-8998-68b599768938 +- accession_number: ERP141224 + aligned: 1 + contains_human_dna: 0 + contaminated_human_dna: 0 + description: Study for release prior to publication of selected datasets + id_lims: SQSCP + id_study_lims: 7069 + id_study_tmp: 6942 + name: Alternative Enzymes 2022 microbial genomes + reference_genome: Clostridium_difficile (Strain_630) + remove_x_and_autosomes: 0 + separate_y_chromosome_data: 0 + study_title: Alternative Enzymes 2022 microbial genomes + study_visibility: Public + uuid_study_lims: 39ba6ae6-3500-11ed-b3f3-fa163eac3af7 +- abbreviation: DTOL_RD + abstract: Sequencing and assembly of genomes from British species for the Darwin Tree of Life Project + accession_number: ERP115230 + aligned: 1 + contains_human_dna: 0 + contaminated_human_dna: 0 + created: 2019-05-10 08:36:03 + data_release_sort_of_study: genotyping or cytogenetics + data_release_strategy: not applicable + data_release_timing: never + description: "Sequencing and assembly of genomes from British species for the Darwin Tree of Life Project" + faculty_sponsor: MB + id_lims: SQSCP + id_study_lims: 5822 + id_study_tmp: 5656 + last_updated: 2023-07-24 15:18:11 + name: DTOL_Darwin R&D + recorded_at: 2023-07-24 15:18:11 + reference_genome: ' ' + remove_x_and_autosomes: 0 + separate_y_chromosome_data: 0 + state: active + study_title: Darwin R&D + study_type: Whole Genome Sequencing + study_visibility: Hold + uuid_study_lims: a54462b6-72fe-11e9-9cbc-68b599768938 +- abbreviation: BlaxGeNe + abstract: 'High quality reference genome sequences and formal species descriptions' + accession_number: ERP120055 + aligned: 1 + contains_human_dna: 0 + contaminated_human_dna: 0 + created: 2020-02-17 14:34:51 + data_release_sort_of_study: genomic sequencing + data_release_strategy: open + data_release_timing: standard + description: 'other description' + faculty_sponsor: MB + id_lims: SQSCP + id_study_lims: 6137 + id_study_tmp: 5967 + last_updated: 2023-07-24 15:18:11 + name: 959 Nematode Genomes + recorded_at: 2023-07-24 15:18:12 + reference_genome: ' ' + remove_x_and_autosomes: 0 + separate_y_chromosome_data: 0 + state: active + study_title: 959 Nematode Genomes + study_type: Whole Genome Sequencing + study_visibility: Public + uuid_study_lims: a845b2e4-5192-11ea-91ec-fa163e9d6485 +- abbreviation: 6771STDY + abstract: 'some abstract' + accession_number: ERP135012 + aligned: 1 + contains_human_dna: 0 + contaminated_human_dna: 0 + created: 2022-01-19 16:07:11 + data_release_sort_of_study: genomic sequencing + data_release_strategy: open + data_release_timing: standard + description: 'some description' + faculty_sponsor: MB + id_lims: SQSCP + id_study_lims: 6771 + id_study_tmp: 6615 + last_updated: 2024-01-05 10:36:10 + name: ToL_Blaxter_ Reference Genomes_ DNA + recorded_at: 2024-01-05 10:36:10 + reference_genome: ' ' + remove_x_and_autosomes: 0 + separate_y_chromosome_data: 0 + state: active + study_title: Reference Genome + study_type: Whole Genome Sequencing + study_visibility: Hold + uuid_study_lims: dbfc7680-7941-11ec-bf7f-fa163eea3084 + diff --git a/tests/data/mlwh_pb_run_92/200-PacBioRun.yml b/tests/data/mlwh_pb_runs/200-PacBioRun.yml similarity index 68% rename from tests/data/mlwh_pb_run_92/200-PacBioRun.yml rename to tests/data/mlwh_pb_runs/200-PacBioRun.yml index c403aff7..b87a5e5f 100644 --- a/tests/data/mlwh_pb_run_92/200-PacBioRun.yml +++ b/tests/data/mlwh_pb_runs/200-PacBioRun.yml @@ -1246,5 +1246,556 @@ tag_set_name: Sequel_48_Microbial_Barcoded_OHA_v1 well_label: D1 well_uuid_lims: 1cc67f96-ec1d-47da-a991-2fcfd53d09be - +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120626 + id_sample_tmp: 9336988 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7673 + pac_bio_library_tube_id_lims: 5980 + pac_bio_library_tube_name: DTOL14523333 + pac_bio_library_tube_uuid: 6e4ff201-b417-4041-a0e2-c24a7a5c7f06 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 1 + plate_uuid_lims: 90d9a51b-0a57-4580-a449-7928b51cffe7 + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2020 + tag_sequence: ACTATGCGTCGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: A1 + well_uuid_lims: 2ae339ab-ddf7-4520-9c33-dde1c1055158 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120627 + id_sample_tmp: 9321748 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7673 + pac_bio_library_tube_id_lims: 5981 + pac_bio_library_tube_name: DTOL14452869 + pac_bio_library_tube_uuid: 32f08465-d1db-4c7f-bd16-f78c13a7587e + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 1 + plate_uuid_lims: 90d9a51b-0a57-4580-a449-7928b51cffe7 + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2011 + tag_sequence: CTGACAGTACGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: A1 + well_uuid_lims: 2ae339ab-ddf7-4520-9c33-dde1c1055158 +- cost_code: S4773 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120628 + id_sample_tmp: 8436094 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7674 + pac_bio_library_tube_id_lims: 5982 + pac_bio_library_tube_name: DTOL13161568 + pac_bio_library_tube_uuid: df7b6f48-83e3-4c79-a2c2-ac7b88263bf1 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: PacBio_Ultra_Low_Input + plate_number: 1 + plate_uuid_lims: 90d9a51b-0a57-4580-a449-7928b51cffe7 + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc1011_BAK8A_OA + tag_sequence: CTATACGTATATCTATT + tag_set_id_lims: 1 + tag_set_name: Sequel_16_barcodes_v3 + well_label: B1 + well_uuid_lims: dc4995b1-62aa-446e-9524-74be301d85ea +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120629 + id_sample_tmp: 8579905 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7674 + pac_bio_library_tube_id_lims: 5983 + pac_bio_library_tube_name: DTOL13642523 + pac_bio_library_tube_uuid: 424e1d84-1d07-4883-9b15-90ce3318e987 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: PacBio_Ultra_Low_Input + plate_number: 1 + plate_uuid_lims: 90d9a51b-0a57-4580-a449-7928b51cffe7 + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc1022_BAK8B_OA + tag_sequence: CACTCACGTGTGATATT + tag_set_id_lims: 1 + tag_set_name: Sequel_16_barcodes_v3 + well_label: B1 + well_uuid_lims: dc4995b1-62aa-446e-9524-74be301d85ea +- cost_code: S4773 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120630 + id_sample_tmp: 8427375 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7674 + pac_bio_library_tube_id_lims: 5984 + pac_bio_library_tube_name: DTOL13174735 + pac_bio_library_tube_uuid: 1f54742d-c690-4b60-ba75-b610796cd419 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: PacBio_Ultra_Low_Input + plate_number: 1 + plate_uuid_lims: 90d9a51b-0a57-4580-a449-7928b51cffe7 + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc1001_BAK8A_OA + tag_sequence: CACATATCAGAGTGCGT + tag_set_id_lims: 1 + tag_set_name: Sequel_16_barcodes_v3 + well_label: B1 + well_uuid_lims: dc4995b1-62aa-446e-9524-74be301d85ea +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120631 + id_sample_tmp: 9302420 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7675 + pac_bio_library_tube_id_lims: 5985 + pac_bio_library_tube_name: DTOL14162027 + pac_bio_library_tube_uuid: 772c136a-d5b4-481e-9b3b-975d5e655eff + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 1 + plate_uuid_lims: 90d9a51b-0a57-4580-a449-7928b51cffe7 + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2035 + tag_sequence: CAGCTGACATGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: C1 + well_uuid_lims: a083ef9a-730c-45bb-a4b9-8e2c31b510bb +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120632 + id_sample_tmp: 9309564 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7675 + pac_bio_library_tube_id_lims: 5986 + pac_bio_library_tube_name: DTOL13810175 + pac_bio_library_tube_uuid: a37f15e5-4971-4f61-b34f-6ca48e759a9a + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 1 + plate_uuid_lims: 90d9a51b-0a57-4580-a449-7928b51cffe7 + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2052 + tag_sequence: CAGACTAGTCGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: C1 + well_uuid_lims: a083ef9a-730c-45bb-a4b9-8e2c31b510bb +- cost_code: S4773 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120633 + id_sample_tmp: 8559246 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7676 + pac_bio_library_tube_id_lims: 5987 + pac_bio_library_tube_name: DTOL13630447 + pac_bio_library_tube_uuid: ecbc19bd-be7c-41e9-8e4e-fba4da36099b + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 1 + plate_uuid_lims: 90d9a51b-0a57-4580-a449-7928b51cffe7 + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2036 + tag_sequence: ACGTCGCTGCGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: D1 + well_uuid_lims: a0a9450d-68df-41c1-9241-eb117f3f9210 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120634 + id_sample_tmp: 8588834 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7676 + pac_bio_library_tube_id_lims: 5988 + pac_bio_library_tube_name: DTOL13653276 + pac_bio_library_tube_uuid: ad99a84b-6a73-4847-a18e-fc31edbb42d1 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 1 + plate_uuid_lims: 90d9a51b-0a57-4580-a449-7928b51cffe7 + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2040 + tag_sequence: TGCTGCGACTGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: D1 + well_uuid_lims: a0a9450d-68df-41c1-9241-eb117f3f9210 +- cost_code: S10513 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120635 + id_sample_tmp: 8582947 + id_study_tmp: 6615 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7676 + pac_bio_library_tube_id_lims: 5989 + pac_bio_library_tube_name: 6771STDY13618009 + pac_bio_library_tube_uuid: 8e3f3c37-7db1-4f35-85f1-b39b96d5cd53 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 1 + plate_uuid_lims: 90d9a51b-0a57-4580-a449-7928b51cffe7 + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2054 + tag_sequence: CTGCGATCACGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: D1 + well_uuid_lims: a0a9450d-68df-41c1-9241-eb117f3f9210 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120636 + id_sample_tmp: 9321705 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7676 + pac_bio_library_tube_id_lims: 5990 + pac_bio_library_tube_name: DTOL14291044 + pac_bio_library_tube_uuid: 820294b7-2a66-492f-a9a3-81e2cfa8c4f9 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 1 + plate_uuid_lims: 90d9a51b-0a57-4580-a449-7928b51cffe7 + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2063 + tag_sequence: TCTGCATCATGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: D1 + well_uuid_lims: a0a9450d-68df-41c1-9241-eb117f3f9210 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120637 + id_sample_tmp: 9336869 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7677 + pac_bio_library_tube_id_lims: 5991 + pac_bio_library_tube_name: DTOL14523243 + pac_bio_library_tube_uuid: b51938ee-533c-4fc3-b4dd-32db93a44518 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 2 + plate_uuid_lims: 15e4d545-76b3-44e3-98f4-4eef01ef437e + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2016 + tag_sequence: ATCTGCACGTGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: A1 + well_uuid_lims: ad154a80-2e40-4f83-bb9d-9e5cda87cf70 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120638 + id_sample_tmp: 9371025 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7677 + pac_bio_library_tube_id_lims: 5992 + pac_bio_library_tube_name: DTOL14180244 + pac_bio_library_tube_uuid: e2c918e2-2401-4c48-8e74-05cdee1945f6 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 2 + plate_uuid_lims: 15e4d545-76b3-44e3-98f4-4eef01ef437e + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2096 + tag_sequence: ATGTACTAGTGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: A1 + well_uuid_lims: ad154a80-2e40-4f83-bb9d-9e5cda87cf70 +- cost_code: s4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120639 + id_sample_tmp: 9367590 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7678 + pac_bio_library_tube_id_lims: 5993 + pac_bio_library_tube_name: DTOL14026427 + pac_bio_library_tube_uuid: 8cfefce6-f87b-41d8-b3ef-133fd36f8871 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 2 + plate_uuid_lims: 15e4d545-76b3-44e3-98f4-4eef01ef437e + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2056 + tag_sequence: TCGCAGCGTCGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: B1 + well_uuid_lims: d3988e8a-4284-4011-9f60-f905cd8f8f45 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120640 + id_sample_tmp: 9358950 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7678 + pac_bio_library_tube_id_lims: 5994 + pac_bio_library_tube_name: DTOL14200517 + pac_bio_library_tube_uuid: 8d316f10-7433-4989-b456-624309dbff49 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 2 + plate_uuid_lims: 15e4d545-76b3-44e3-98f4-4eef01ef437e + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2072 + tag_sequence: TATCAGTAGTGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: B1 + well_uuid_lims: d3988e8a-4284-4011-9f60-f905cd8f8f45 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120641 + id_sample_tmp: 9358974 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7679 + pac_bio_library_tube_id_lims: 5996 + pac_bio_library_tube_name: DTOL14200539 + pac_bio_library_tube_uuid: aed9d9da-feb1-4cdf-aaf8-e6c38b66d938 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 2 + plate_uuid_lims: 15e4d545-76b3-44e3-98f4-4eef01ef437e + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2021 + tag_sequence: CGTACATGCTGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: C1 + well_uuid_lims: 60aa3fb3-5277-41b3-b269-ac0343e3cfe0 +- cost_code: S4698 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120642 + id_sample_tmp: 9321998 + id_study_tmp: 5967 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7679 + pac_bio_library_tube_id_lims: 6112 + pac_bio_library_tube_name: BlaxGeNe14563575 + pac_bio_library_tube_uuid: 15dd954a-1422-4058-a691-a13350350e86 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 2 + plate_uuid_lims: 15e4d545-76b3-44e3-98f4-4eef01ef437e + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2011 + tag_sequence: CTGACAGTACGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: C1 + well_uuid_lims: 60aa3fb3-5277-41b3-b269-ac0343e3cfe0 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120643 + id_sample_tmp: 9336860 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7679 + pac_bio_library_tube_id_lims: 6113 + pac_bio_library_tube_name: DTOL14523233 + pac_bio_library_tube_uuid: 9b763255-4f11-4a22-99d8-4f02be5b3493 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: Pacbio_HiFi + plate_number: 2 + plate_uuid_lims: 15e4d545-76b3-44e3-98f4-4eef01ef437e + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2015 + tag_sequence: CGACATAGATGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: C1 + well_uuid_lims: 60aa3fb3-5277-41b3-b269-ac0343e3cfe0 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120644 + id_sample_tmp: 8625878 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7680 + pac_bio_library_tube_id_lims: 5997 + pac_bio_library_tube_name: DTOL13788282 + pac_bio_library_tube_uuid: c5f1229c-3182-473a-a9f6-0f2dc696213f + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: PacBio_Ultra_Low_Input + plate_number: 2 + plate_uuid_lims: 15e4d545-76b3-44e3-98f4-4eef01ef437e + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2083 + tag_sequence: ACTCATCAGTGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: D1 + well_uuid_lims: d33e27cc-1f31-4189-b8b5-bc2a03bbcc16 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120645 + id_sample_tmp: 8630655 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7680 + pac_bio_library_tube_id_lims: 5998 + pac_bio_library_tube_name: DTOL13795633 + pac_bio_library_tube_uuid: 935cfd51-e36c-49d8-bf30-3a5e616eb663 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: PacBio_Ultra_Low_Input + plate_number: 2 + plate_uuid_lims: 15e4d545-76b3-44e3-98f4-4eef01ef437e + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2084 + tag_sequence: CTGAGCACTCGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: D1 + well_uuid_lims: d33e27cc-1f31-4189-b8b5-bc2a03bbcc16 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120646 + id_sample_tmp: 8630656 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7680 + pac_bio_library_tube_id_lims: 5999 + pac_bio_library_tube_name: DTOL13795634 + pac_bio_library_tube_uuid: 88461b2d-7abe-45cc-98d0-640205f01c42 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: PacBio_Ultra_Low_Input + plate_number: 2 + plate_uuid_lims: 15e4d545-76b3-44e3-98f4-4eef01ef437e + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2085 + tag_sequence: ATCATCTACTGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: D1 + well_uuid_lims: d33e27cc-1f31-4189-b8b5-bc2a03bbcc16 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1140 + id_pac_bio_tmp: 120647 + id_sample_tmp: 8630660 + id_study_tmp: 5735 + last_updated: 2024-02-23 10:05:37 + pac_bio_library_tube_barcode: TRAC-2-7680 + pac_bio_library_tube_id_lims: 6000 + pac_bio_library_tube_name: DTOL13795638 + pac_bio_library_tube_uuid: 69733884-664d-427a-bcbb-9b24dfe1ff06 + pac_bio_run_name: TRACTION-RUN-1140 + pac_bio_run_uuid: c0fc009f-1f86-4a61-8869-5d1f76b90ea9 + pipeline_id_lims: PacBio_Ultra_Low_Input + plate_number: 2 + plate_uuid_lims: 15e4d545-76b3-44e3-98f4-4eef01ef437e + recorded_at: 2024-02-23 10:05:37 + tag_identifier: bc2094 + tag_sequence: TAGATACAGCGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: D1 + well_uuid_lims: d33e27cc-1f31-4189-b8b5-bc2a03bbcc16 +- cost_code: s10492 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1162 + id_pac_bio_tmp: 120767 + id_sample_tmp: 9364225 + id_study_tmp: 5656 + last_updated: 2024-03-05 16:15:13 + pac_bio_library_tube_barcode: TRAC-2-7576 + pac_bio_library_tube_id_lims: 11158 + pac_bio_library_tube_name: DTOL_RD14581308 + pac_bio_library_tube_uuid: 7edf3079-d7cf-4a14-9587-1a0312a75518 + pac_bio_run_name: TRACTION-RUN-1162 + pac_bio_run_uuid: 0a11c900-22ce-402b-82b4-3fb9fe7c65b6 + pipeline_id_lims: Pacbio_HiFi + plate_number: 1 + plate_uuid_lims: 99f3e81b-3857-4c5a-a2b1-0e427bb6d4f4 + recorded_at: 2024-03-05 16:15:13 + tag_identifier: bc2070 + tag_sequence: TACTGCTCACGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: C1 + well_uuid_lims: c18becff-8538-4820-a3b3-7e1a9c0d1f17 +- cost_code: S4699 + id_lims: Traction + id_pac_bio_run_lims: TRACTION-RUN-1162 + id_pac_bio_tmp: 120768 + id_sample_tmp: 9321777 + id_study_tmp: 5735 + last_updated: 2024-03-05 16:15:13 + pac_bio_library_tube_barcode: TRAC-2-7128 + pac_bio_library_tube_id_lims: 10799 + pac_bio_library_tube_name: DTOL14290946 + pac_bio_library_tube_uuid: 806baad7-11c9-4375-ab3c-ac408d78129f + pac_bio_run_name: TRACTION-RUN-1162 + pac_bio_run_uuid: 0a11c900-22ce-402b-82b4-3fb9fe7c65b6 + pipeline_id_lims: Pacbio_HiFi + plate_number: 1 + plate_uuid_lims: 99f3e81b-3857-4c5a-a2b1-0e427bb6d4f4 + recorded_at: 2024-03-05 16:15:13 + tag_identifier: bc2055 + tag_sequence: CTCAGCATACGAGTAT + tag_set_id_lims: 9 + tag_set_name: Pacbio_96_barcode_plate_v3 + well_label: D1 + well_uuid_lims: 6bbf1bf3-bde6-4894-beb4-87dcab110000 diff --git a/tests/data/mlwh_pb_runs/200-PacBioRunWellMetrics.yml b/tests/data/mlwh_pb_runs/200-PacBioRunWellMetrics.yml new file mode 100644 index 00000000..e3a76268 --- /dev/null +++ b/tests/data/mlwh_pb_runs/200-PacBioRunWellMetrics.yml @@ -0,0 +1,1011 @@ +--- +- adapter_dimer_percent: 0 + binding_kit: Sequel II Binding Kit 2.2 + ccs_execution_mode: OnInstrument + cell_lot_number: 417079 + chemistry_sw_version: 10.2.0.133424 + chip_type: 8mChip + control_concordance_mean: 0.868282 + control_concordance_mode: 0.91 + control_num_reads: 24837 + control_read_length_mean: 50169 + created_by: eg18 + demultiplex_mode: ~ + heteroduplex_analysis: ~ + hifi_barcoded_reads: ~ + hifi_bases_in_barcoded_reads: ~ + hifi_low_quality_num_reads: 260532 + hifi_low_quality_read_bases: 2670039556 + hifi_low_quality_read_length_mean: 10248 + hifi_low_quality_read_quality_median: 17 + hifi_num_reads: 2877051 + hifi_number_passes_mean: 18 + hifi_only_reads: ~ + hifi_read_bases: 27076668646 + hifi_read_length_mean: 9411 + hifi_read_quality_median: 43 + id_pac_bio_product: cf18bd66e0f0895ea728c1d08103c62d3de8a57a5f879cee45f7b0acc028aa61 + id_pac_bio_rw_metrics_tmp: 1732 + include_kinetics: 0 + insert_length_mean: 16227 + insert_length_n50: 23250 + instrument_name: 64222E + instrument_sw_version: 10.1.0.119549 + instrument_type: Sequel2e + loading_conc: 80 + local_base_rate: 2.76789 + movie_minutes: 1800 + movie_name: m64222e_220414_130247 + p0_num: 2800130 + p1_num: 5033971 + p2_num: 180570 + pac_bio_run_name: TRACTION-RUN-92 + polymerase_num_reads: 5009134 + polymerase_read_bases: 645567171652 + polymerase_read_length_mean: 128878 + polymerase_read_length_n50: 251250 + primary_analysis_sw_version: 10.1.0.119549 + productive_zmws_num: 7989834 + run_complete: 2022-04-20 09:16:53 + run_start: 2022-04-14 12:52:34 + run_status: Complete + run_transfer_complete: 2022-04-20 16:03:18 + sequencing_kit: Sequel II Sequencing Plate 2.0 (4 rxn) + sequencing_kit_lot_number: 123660 + short_insert_percent: 0 + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: 7f5d45ed-aa93-46a6-92b2-4b11d4bf29da + sl_ccs_uuid: 7f5d45ed-aa93-46a6-92b2-4b11d4bf29ro + ts_run_name: r64222e_20220414_125138 + unique_molecular_bases: 68501667840 + well_complete: 2022-04-16 12:36:21 + well_label: A1 + well_start: 2022-04-14 13:02:48 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Sequel II Binding Kit 2.2 + ccs_execution_mode: OnInstrument + cell_lot_number: 417079 + chemistry_sw_version: 10.2.0.133424 + chip_type: 8mChip + control_concordance_mean: 0.865786 + control_concordance_mode: 0.91 + control_num_reads: 42962 + control_read_length_mean: 51810 + created_by: eg18 + demultiplex_mode: ~ + heteroduplex_analysis: ~ + hifi_barcoded_reads: ~ + hifi_bases_in_barcoded_reads: ~ + hifi_low_quality_num_reads: 204155 + hifi_low_quality_read_bases: 1887795985 + hifi_low_quality_read_length_mean: 9246 + hifi_low_quality_read_quality_median: 16 + hifi_num_reads: 2082542 + hifi_number_passes_mean: 18 + hifi_only_reads: ~ + hifi_read_bases: 17706147796 + hifi_read_length_mean: 8502 + hifi_read_quality_median: 40 + id_pac_bio_product: 63fb9a37ff19c248fc7d99bd254a61085226ded540de7c5445daf1398e339833 + id_pac_bio_rw_metrics_tmp: 1733 + include_kinetics: 0 + insert_length_mean: 16407 + insert_length_n50: 28250 + instrument_name: 64222E + instrument_sw_version: 10.1.0.119549 + instrument_type: Sequel2e + loading_conc: 80 + local_base_rate: 2.80566 + movie_minutes: 1800 + movie_name: m64222e_220415_235643 + p0_num: 4427179 + p1_num: 3512385 + p2_num: 75107 + pac_bio_run_name: TRACTION-RUN-92 + polymerase_num_reads: 3469423 + polymerase_read_bases: 455958509506 + polymerase_read_length_mean: 131422 + polymerase_read_length_n50: 251750 + primary_analysis_sw_version: 10.1.0.119549 + productive_zmws_num: 7971709 + run_complete: 2022-04-20 09:16:53 + run_start: 2022-04-14 12:52:34 + run_status: Complete + run_transfer_complete: 2022-04-20 16:03:18 + sequencing_kit: Sequel II Sequencing Plate 2.0 (4 rxn) + sequencing_kit_lot_number: 123660 + short_insert_percent: 0 + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: 7f5d45ed-aa93-46a6-92b2-4b11d4bf29da + sl_ccs_uuid: ~ + ts_run_name: r64222e_20220414_125138 + unique_molecular_bases: 45990051840 + well_complete: 2022-04-17 23:16:35 + well_label: B1 + well_start: 2022-04-15 23:56:43 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Sequel II Binding Kit 2.2 + ccs_execution_mode: OnInstrument + cell_lot_number: 417079 + chemistry_sw_version: 10.2.0.133424 + chip_type: 8mChip + control_concordance_mean: 0.866249 + control_concordance_mode: 0.89 + control_num_reads: 40787 + control_read_length_mean: 49421 + created_by: eg18 + demultiplex_mode: ~ + heteroduplex_analysis: ~ + hifi_low_quality_num_reads: 173039 + hifi_low_quality_read_bases: 1743404181 + hifi_low_quality_read_length_mean: 10075 + hifi_low_quality_read_quality_median: 17 + hifi_num_reads: 1698191 + hifi_number_passes_mean: 17 + hifi_only_reads: ~ + hifi_read_bases: 16029605719 + hifi_read_length_mean: 9439 + hifi_read_quality_median: 40 + hifi_barcoded_reads: ~ + hifi_bases_in_barcoded_reads: ~ + id_pac_bio_product: a65eae06f3048a186aeb9104d0a8d3f46ca59dff7747eec9918fcfa85587a3c2 + id_pac_bio_rw_metrics_tmp: 1734 + include_kinetics: 0 + insert_length_mean: 15260 + insert_length_n50: 15750 + instrument_name: 64222E + instrument_sw_version: 10.1.0.119549 + instrument_type: Sequel2e + loading_conc: 130 + local_base_rate: 2.76102 + movie_minutes: 1800 + movie_name: m64222e_220417_105320 + p0_num: 5019384 + p1_num: 2944690 + p2_num: 50597 + pac_bio_run_name: TRACTION-RUN-92 + polymerase_num_reads: 2903903 + polymerase_read_bases: 360656040891 + polymerase_read_length_mean: 124197 + polymerase_read_length_n50: 244750 + primary_analysis_sw_version: 10.1.0.119549 + productive_zmws_num: 7973884 + run_complete: 2022-04-20 09:16:53 + run_start: 2022-04-14 12:52:34 + run_status: Complete + run_transfer_complete: 2022-04-20 16:03:18 + sequencing_kit: Sequel II Sequencing Plate 2.0 (4 rxn) + sequencing_kit_lot_number: 123660 + short_insert_percent: 0 + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: 7f5d45ed-aa93-46a6-92b2-4b11d4bf29da + sl_ccs_uuid: ~ + ts_run_name: r64222e_20220414_125138 + unique_molecular_bases: 37178580992 + well_complete: 2022-04-19 04:22:35 + well_label: C1 + well_start: 2022-04-17 10:53:21 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Sequel II Binding Kit 2.2 + ccs_execution_mode: OnInstrument + cell_lot_number: 417079 + chemistry_sw_version: 10.2.0.133424 + chip_type: 8mChip + control_concordance_mean: 0.863292 + control_concordance_mode: 0.91 + control_num_reads: 24842 + control_read_length_mean: 44982 + created_by: eg18 + demultiplex_mode: ~ + heteroduplex_analysis: ~ + hifi_barcoded_reads: ~ + hifi_bases_in_barcoded_reads: ~ + hifi_low_quality_num_reads: 193115 + hifi_low_quality_read_bases: 1672216211 + hifi_low_quality_read_length_mean: 8659 + hifi_low_quality_read_quality_median: 16 + hifi_num_reads: 1912626 + hifi_number_passes_mean: 18 + hifi_only_reads: ~ + hifi_read_bases: 14052550494 + hifi_read_length_mean: 7347 + hifi_read_quality_median: 41 + id_pac_bio_product: c5babd5516f7b9faab8415927e5f300d5152bb96b8b922e768d876469a14fa5d + id_pac_bio_rw_metrics_tmp: 1735 + include_kinetics: 0 + insert_length_mean: 15043 + insert_length_n50: 33750 + instrument_name: 64222E + instrument_sw_version: 10.1.0.119549 + instrument_type: Sequel2e + loading_conc: 80 + local_base_rate: 2.71738 + movie_minutes: 1800 + movie_name: m64222e_220418_214938 + p0_num: 3784476 + p1_num: 4078117 + p2_num: 152078 + pac_bio_run_name: TRACTION-RUN-92 + polymerase_num_reads: 4053275 + polymerase_read_bases: 405355872925 + polymerase_read_length_mean: 100007 + polymerase_read_length_n50: 234250 + primary_analysis_sw_version: 10.1.0.119549 + productive_zmws_num: 7989829 + run_complete: 2022-04-20 09:16:53 + run_start: 2022-04-14 12:52:34 + run_status: Complete + run_transfer_complete: 2022-04-20 16:03:18 + sequencing_kit: Sequel II Sequencing Plate 2.0 (4 rxn) + sequencing_kit_lot_number: 123660 + short_insert_percent: 0.01 + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: 7f5d45ed-aa93-46a6-92b2-4b11d4bf29da + sl_ccs_uuid: ~ + ts_run_name: r64222e_20220414_125138 + unique_molecular_bases: 48624848896 + well_complete: 2022-04-20 16:03:18 + well_label: D1 + well_start: 2022-04-18 21:49:38 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Revio polymerase kit + ccs_execution_mode: OnInstrument + cell_lot_number: 1000002284 + chemistry_sw_version: 13.0.0.205983 + chip_type: 25mChip + control_concordance_mean: 0.907739 + control_concordance_mode: 0.91 + control_num_reads: 2756 + control_read_length_mean: 78413 + created_by: su3 + demultiplex_mode: OnInstrument + heteroduplex_analysis: 0 + hifi_barcoded_reads: 3528067 + hifi_bases_in_barcoded_reads: 46846424758 + hifi_low_quality_num_reads: 84204 + hifi_low_quality_read_bases: 1260401933 + hifi_low_quality_read_length_mean: 14968 + hifi_low_quality_read_quality_median: 17 + hifi_num_reads: 3541519 + hifi_number_passes_mean: 14 + hifi_only_reads: 1 + hifi_read_bases: 47020035735 + hifi_read_length_mean: 13307 + hifi_read_quality_median: 37 + id_pac_bio_product: 51094a0e0ca9d839d0ffa4fcf08bb963cbdfd3e9ed0edb3045b8f68f3db5e3af + id_pac_bio_rw_metrics_tmp: 6206 + include_kinetics: 0 + insert_length_mean: ~ + insert_length_n50: ~ + instrument_name: 84093 + instrument_sw_version: 13.0.0.212033 + instrument_type: Revio + last_changed: 2024-02-28 14:10:14 + loading_conc: 132 + local_base_rate: 2.6208 + movie_minutes: 1440 + movie_name: m84093_240223_140830_s1 + p0_num: 16987657 + p1_num: 8139802 + p2_num: 38365 + pac_bio_run_name: TRACTION-RUN-1140 + plate_number: 1 + polymerase_num_reads: 8137046 + polymerase_read_bases: 661743638541 + polymerase_read_length_mean: 81325 + polymerase_read_length_n50: ~ + primary_analysis_sw_version: 13.0.0.212033 + productive_zmws_num: 25165824 + qc_seq: 1 + qc_seq_date: 2024-02-28 13:54:34 + qc_seq_state: Passed + qc_seq_state_is_final: 1 + run_complete: 2024-02-25 20:53:05 + run_start: 2024-02-23 10:28:12 + run_status: Complete + run_transfer_complete: 2024-02-26 13:41:02 + sequencing_kit: Revio sequencing plate + sequencing_kit_lot_number: 033482 + short_insert_percent: 0 + sl_ccs_uuid: 963d008f-3e0c-4c6c-b506-1ff04dffccdd + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: 89539688-31c7-49e5-af17-db4735e0a0c1 + ts_run_name: r84093_20240223_102558 + unique_molecular_bases: 115761872896 + well_complete: 2024-02-24 23:29:30 + well_label: A1 + well_start: 2024-02-23 14:08:30 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Revio polymerase kit + ccs_execution_mode: OnInstrument + cell_lot_number: 1000002284 + chemistry_sw_version: 13.0.0.205983 + chip_type: 25mChip + control_concordance_mean: 0.905139 + control_concordance_mode: 0.91 + control_num_reads: 1952 + control_read_length_mean: 74119 + created_by: su3 + demultiplex_mode: OnInstrument + heteroduplex_analysis: 0 + hifi_barcoded_reads: 4478577 + hifi_bases_in_barcoded_reads: 51165353149 + hifi_low_quality_num_reads: 100793 + hifi_low_quality_read_bases: 1244549883 + hifi_low_quality_read_length_mean: 12347 + hifi_low_quality_read_quality_median: 17 + hifi_num_reads: 4501489 + hifi_number_passes_mean: 15 + hifi_only_reads: 1 + hifi_read_bases: 51421432183 + hifi_read_length_mean: 11453 + hifi_read_quality_median: 38 + id_pac_bio_product: 513c674f489b106c6af716dd0d210826ff03b7648d50888839c3722ca1b10dbf + id_pac_bio_rw_metrics_tmp: 6210 + include_kinetics: 0 + insert_length_mean: ~ + insert_length_n50: ~ + instrument_name: 84093 + instrument_sw_version: 13.0.0.212033 + instrument_type: Revio + last_changed: 2024-02-28 11:10:15 + loading_conc: 203 + local_base_rate: 2.6256 + movie_minutes: 1440 + movie_name: m84093_240224_142512_s1 + p0_num: 15323739 + p1_num: 9783967 + p2_num: 58118 + pac_bio_run_name: TRACTION-RUN-1140 + plate_number: 2 + polymerase_num_reads: 9782015 + polymerase_read_bases: 773527509148 + polymerase_read_length_mean: 79076 + polymerase_read_length_n50: ~ + primary_analysis_sw_version: 13.0.0.212033 + productive_zmws_num: 25165824 + qc_seq: 1 + qc_seq_date: 2024-02-28 10:57:13 + qc_seq_state: Passed + qc_seq_state_is_final: 1 + run_complete: 2024-02-25 20:53:05 + run_start: 2024-02-23 10:28:12 + run_status: Complete + run_transfer_complete: 2024-02-26 13:41:02 + sequencing_kit: Revio sequencing plate + sequencing_kit_lot_number: 033482 + short_insert_percent: 0 + sl_ccs_uuid: 75d2a390-9840-460e-a6b2-1de7d1bd75d5 + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: 89539688-31c7-49e5-af17-db4735e0a0c1 + ts_run_name: r84093_20240223_102558 + unique_molecular_bases: 126338891776 + well_complete: 2024-02-26 00:27:52 + well_label: A1 + well_start: 2024-02-24 14:25:12 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Revio polymerase kit + ccs_execution_mode: OnInstrument + cell_lot_number: 1000002284 + chemistry_sw_version: 13.0.0.205983 + chip_type: 25mChip + control_concordance_mean: 0.904677 + control_concordance_mode: 0.91 + control_num_reads: 3035 + control_read_length_mean: 43102 + created_by: su3 + demultiplex_mode: OnInstrument + heteroduplex_analysis: 0 + hifi_barcoded_reads: 3448648 + hifi_bases_in_barcoded_reads: 31779577424 + hifi_low_quality_num_reads: 266811 + hifi_low_quality_read_bases: 2539344050 + hifi_low_quality_read_length_mean: 9517 + hifi_low_quality_read_quality_median: 17 + hifi_num_reads: 4787230 + hifi_number_passes_mean: 11 + hifi_only_reads: 1 + hifi_read_bases: 45578791158 + hifi_read_length_mean: 9559 + hifi_read_quality_median: 37 + id_pac_bio_product: 26b18bab742e5b1d0dae2f5462b7e42ee5f40bd5e505c8dec69b11591b8884c8 + id_pac_bio_rw_metrics_tmp: 6207 + include_kinetics: 0 + insert_length_mean: ~ + insert_length_n50: ~ + instrument_name: 84093 + instrument_sw_version: 13.0.0.212033 + instrument_type: Revio + last_changed: 2024-03-05 15:10:36 + loading_conc: 207 + local_base_rate: 2.21877 + movie_minutes: 1440 + movie_name: m84093_240223_144004_s2 + p0_num: 13791241 + p1_num: 11298110 + p2_num: 76473 + pac_bio_run_name: TRACTION-RUN-1140 + plate_number: 1 + polymerase_num_reads: 11295075 + polymerase_read_bases: 690231867682 + polymerase_read_length_mean: 61109 + polymerase_read_length_n50: ~ + primary_analysis_sw_version: 13.0.0.212033 + productive_zmws_num: 25165824 + qc_seq: 0 + qc_seq_date: 2024-03-05 14:30:59 + qc_seq_state: 'Failed, SMRT cell' + qc_seq_state_is_final: 1 + run_complete: 2024-02-25 20:53:05 + run_start: 2024-02-23 10:28:12 + run_status: Complete + run_transfer_complete: 2024-02-26 13:41:02 + sequencing_kit: Revio sequencing plate + sequencing_kit_lot_number: 033482 + short_insert_percent: 0.01 + sl_ccs_uuid: e72398a9-cc9b-4c98-a304-e1ba6b6c30ba + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: 89539688-31c7-49e5-af17-db4735e0a0c1 + ts_run_name: r84093_20240223_102558 + unique_molecular_bases: 123412045824 + well_complete: 2024-02-25 00:07:54 + well_label: B1 + well_start: 2024-02-23 14:40:04 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Revio polymerase kit + ccs_execution_mode: OnInstrument + cell_lot_number: 1000002284 + chemistry_sw_version: 13.0.0.205983 + chip_type: 25mChip + control_concordance_mean: 0.911228 + control_concordance_mode: 0.91 + control_num_reads: 2308 + control_read_length_mean: 69661 + created_by: su3 + demultiplex_mode: OnInstrument + heteroduplex_analysis: 0 + hifi_barcoded_reads: 2899704 + hifi_bases_in_barcoded_reads: 36621724417 + hifi_low_quality_num_reads: 121486 + hifi_low_quality_read_bases: 1479247536 + hifi_low_quality_read_length_mean: 12176 + hifi_low_quality_read_quality_median: 16 + hifi_num_reads: 2913451 + hifi_number_passes_mean: 13 + hifi_only_reads: 1 + hifi_read_bases: 36760645135 + hifi_read_length_mean: 12648 + hifi_read_quality_median: 38 + id_pac_bio_product: 9aa3536a661d9c80ef0e962ef7cbd795c5893ed0600b2e331824f4d17cee6f70 + id_pac_bio_rw_metrics_tmp: 6211 + include_kinetics: 0 + insert_length_mean: ~ + insert_length_n50: ~ + instrument_name: 84093 + instrument_sw_version: 13.0.0.212033 + instrument_type: Revio + last_changed: 2024-02-28 11:10:15 + loading_conc: 147 + local_base_rate: 2.38396 + movie_minutes: 1440 + movie_name: m84093_240224_145729_s2 + p0_num: 17389564 + p1_num: 7735267 + p2_num: 40993 + pac_bio_run_name: TRACTION-RUN-1140 + plate_number: 2 + polymerase_num_reads: 7732959 + polymerase_read_bases: 635399455224 + polymerase_read_length_mean: 82168 + polymerase_read_length_n50: ~ + primary_analysis_sw_version: 13.0.0.212033 + productive_zmws_num: 25165824 + qc_seq: 1 + qc_seq_date: 2024-02-28 10:50:29 + qc_seq_state: Passed + qc_seq_state_is_final: 1 + run_complete: 2024-02-25 20:53:05 + run_start: 2024-02-23 10:28:12 + run_status: Complete + run_transfer_complete: 2024-02-26 13:41:02 + sequencing_kit: Revio sequencing plate + sequencing_kit_lot_number: 033482 + short_insert_percent: 0 + sl_ccs_uuid: abab78b7-889a-473d-ae1d-0957071c9c1f + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: 89539688-31c7-49e5-af17-db4735e0a0c1 + ts_run_name: r84093_20240223_102558 + unique_molecular_bases: 131024281600 + well_complete: 2024-02-26 04:53:26 + well_label: B1 + well_start: 2024-02-24 14:57:29 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Revio polymerase kit + ccs_execution_mode: OnInstrument + cell_lot_number: 1000002284 + chemistry_sw_version: 13.0.0.205983 + chip_type: 25mChip + control_concordance_mean: 0.908116 + control_concordance_mode: 0.91 + control_num_reads: 3508 + control_read_length_mean: 77822 + created_by: su3 + demultiplex_mode: OnInstrument + heteroduplex_analysis: 0 + hifi_barcoded_reads: 4785745 + hifi_bases_in_barcoded_reads: 55176093961 + hifi_low_quality_num_reads: 98395 + hifi_low_quality_read_bases: 1210135020 + hifi_low_quality_read_length_mean: 12298 + hifi_low_quality_read_quality_median: 17 + hifi_num_reads: 4807206 + hifi_number_passes_mean: 15 + hifi_only_reads: 1 + hifi_read_bases: 55421297045 + hifi_read_length_mean: 11559 + hifi_read_quality_median: 39 + id_pac_bio_product: c1fa777f6154e38df42aa01f2243d54e50d71c1b0279e17d48f928412b13098e + id_pac_bio_rw_metrics_tmp: 6208 + include_kinetics: 0 + insert_length_mean: ~ + insert_length_n50: ~ + instrument_name: 84093 + instrument_sw_version: 13.0.0.212033 + instrument_type: Revio + last_changed: 2024-02-28 11:10:15 + loading_conc: 251 + local_base_rate: 2.57069 + movie_minutes: 1440 + movie_name: m84093_240223_151221_s3 + p0_num: 15698926 + p1_num: 9425055 + p2_num: 41843 + pac_bio_run_name: TRACTION-RUN-1140 + plate_number: 1 + polymerase_num_reads: 9421547 + polymerase_read_bases: 832856275408 + polymerase_read_length_mean: 88399 + polymerase_read_length_n50: ~ + primary_analysis_sw_version: 13.0.0.212033 + productive_zmws_num: 25165824 + qc_seq: 1 + qc_seq_date: 2024-02-28 10:58:28 + qc_seq_state: Passed + qc_seq_state_is_final: 1 + run_complete: 2024-02-25 20:53:05 + run_start: 2024-02-23 10:28:12 + run_status: Complete + run_transfer_complete: 2024-02-26 13:41:02 + sequencing_kit: Revio sequencing plate + sequencing_kit_lot_number: 033482 + short_insert_percent: 0 + sl_ccs_uuid: 0cc14fc3-09fe-449a-9836-836c020868d1 + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: 89539688-31c7-49e5-af17-db4735e0a0c1 + ts_run_name: r84093_20240223_102558 + unique_molecular_bases: 123970002944 + well_complete: 2024-02-25 04:56:03 + well_label: C1 + well_start: 2024-02-23 15:12:21 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Revio polymerase kit + ccs_execution_mode: OnInstrument + cell_lot_number: 1000002284 + chemistry_sw_version: 13.0.0.205983 + chip_type: 25mChip + control_concordance_mean: 0.908994 + control_concordance_mode: 0.91 + control_num_reads: 2911 + control_read_length_mean: 66109 + created_by: su3 + demultiplex_mode: OnInstrument + heteroduplex_analysis: 0 + hifi_barcoded_reads: 5591332 + hifi_bases_in_barcoded_reads: 78369321152 + hifi_low_quality_num_reads: 167825 + hifi_low_quality_read_bases: 2497650060 + hifi_low_quality_read_length_mean: 14882 + hifi_low_quality_read_quality_median: 17 + hifi_num_reads: 5614217 + hifi_number_passes_mean: 11 + hifi_only_reads: 1 + hifi_read_bases: 78684120092 + hifi_read_length_mean: 14045 + hifi_read_quality_median: 35 + id_pac_bio_product: 26928ba6ec2a00c04dd6c7c68008ec9436e3979a384b9f708dc371c99f272e17 + id_pac_bio_rw_metrics_tmp: 6212 + include_kinetics: 0 + insert_length_mean: ~ + insert_length_n50: ~ + instrument_name: 84093 + instrument_sw_version: 13.0.0.212033 + instrument_type: Revio + last_changed: 2024-02-28 11:10:15 + loading_conc: 193 + local_base_rate: 2.52023 + movie_minutes: 1440 + movie_name: m84093_240224_152946_s3 + p0_num: 11834823 + p1_num: 13242033 + p2_num: 88968 + pac_bio_run_name: TRACTION-RUN-1140 + plate_number: 2 + polymerase_num_reads: 13239122 + polymerase_read_bases: 1008552342223 + polymerase_read_length_mean: 76180 + polymerase_read_length_n50: ~ + primary_analysis_sw_version: 13.0.0.212033 + productive_zmws_num: 25165824 + qc_seq: 1 + qc_seq_date: 2024-02-28 10:49:43 + qc_seq_state: Passed + qc_seq_state_is_final: 1 + run_complete: 2024-02-25 20:53:05 + run_start: 2024-02-23 10:28:12 + run_status: Complete + run_transfer_complete: 2024-02-26 13:41:02 + sequencing_kit: Revio sequencing plate + sequencing_kit_lot_number: 033482 + short_insert_percent: 0 + sl_ccs_uuid: a8e25fa2-cc02-4900-8726-d4596fc420a8 + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: 89539688-31c7-49e5-af17-db4735e0a0c1 + ts_run_name: r84093_20240223_102558 + unique_molecular_bases: 203873124352 + well_complete: 2024-02-26 08:09:31 + well_label: C1 + well_start: 2024-02-24 15:29:46 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Revio polymerase kit + ccs_execution_mode: OnInstrument + cell_lot_number: 1000002284 + chemistry_sw_version: 13.0.0.205983 + chip_type: 25mChip + control_concordance_mean: 0.904516 + control_concordance_mode: 0.91 + control_num_reads: 2354 + control_read_length_mean: 69681 + created_by: su3 + demultiplex_mode: OnInstrument + heteroduplex_analysis: 0 + hifi_barcoded_reads: 6834801 + hifi_bases_in_barcoded_reads: 77850197661 + hifi_low_quality_num_reads: 276005 + hifi_low_quality_read_bases: 3291108067 + hifi_low_quality_read_length_mean: 11924 + hifi_low_quality_read_quality_median: 17 + hifi_num_reads: 6868920 + hifi_number_passes_mean: 13 + hifi_only_reads: 1 + hifi_read_bases: 78217597101 + hifi_read_length_mean: 11417 + hifi_read_quality_median: 37 + id_pac_bio_product: 842022fd31778158517b3e3e5bdccfbaac3e0b874a395cfc7912bc17b303edf9 + id_pac_bio_rw_metrics_tmp: 6209 + include_kinetics: 0 + insert_length_mean: ~ + insert_length_n50: ~ + instrument_name: 84093 + instrument_sw_version: 13.0.0.212033 + instrument_type: Revio + last_changed: 2024-02-28 11:10:15 + loading_conc: 230 + local_base_rate: 2.35137 + movie_minutes: 1440 + movie_name: m84093_240223_154438_s4 + p0_num: 8854913 + p1_num: 16179228 + p2_num: 131683 + pac_bio_run_name: TRACTION-RUN-1140 + plate_number: 1 + polymerase_num_reads: 16176874 + polymerase_read_bases: 1155795587428 + polymerase_read_length_mean: 71447 + polymerase_read_length_n50: ~ + primary_analysis_sw_version: 13.0.0.212033 + productive_zmws_num: 25165824 + qc_seq: 1 + qc_seq_date: 2024-02-28 10:57:37 + qc_seq_state: Passed + qc_seq_state_is_final: 1 + run_complete: 2024-02-25 20:53:05 + run_start: 2024-02-23 10:28:12 + run_status: Complete + run_transfer_complete: 2024-02-26 13:41:02 + sequencing_kit: Revio sequencing plate + sequencing_kit_lot_number: 033482 + short_insert_percent: 0 + sl_ccs_uuid: fe20e437-8962-4d30-9db6-9719d6e23bc0 + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: 89539688-31c7-49e5-af17-db4735e0a0c1 + ts_run_name: r84093_20240223_102558 + unique_molecular_bases: 213622784000 + well_complete: 2024-02-25 09:59:06 + well_label: D1 + well_start: 2024-02-23 15:44:38 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Revio polymerase kit + ccs_execution_mode: OnInstrument + cell_lot_number: 1000002284 + chemistry_sw_version: 13.0.0.205983 + chip_type: 25mChip + control_concordance_mean: 0.906096 + control_concordance_mode: 0.91 + control_num_reads: 3293 + control_read_length_mean: 66482 + created_by: su3 + demultiplex_mode: OnInstrument + heteroduplex_analysis: 0 + hifi_barcoded_reads: 7749814 + hifi_bases_in_barcoded_reads: 81448324274 + hifi_low_quality_num_reads: 222688 + hifi_low_quality_read_bases: 2321289472 + hifi_low_quality_read_length_mean: 10423 + hifi_low_quality_read_quality_median: 17 + hifi_num_reads: 7767562 + hifi_number_passes_mean: 13 + hifi_only_reads: 1 + hifi_read_bases: 81629248758 + hifi_read_length_mean: 10540 + hifi_read_quality_median: 38 + id_pac_bio_product: f101c62463c6fdbf07635f3848f5b60d4c4ba137ba0cf3fbe0df886aff1cdeeb + id_pac_bio_rw_metrics_tmp: 6213 + include_kinetics: 0 + insert_length_mean: ~ + insert_length_n50: ~ + instrument_name: 84093 + instrument_sw_version: 13.0.0.212033 + instrument_type: Revio + last_changed: 2024-02-28 11:10:15 + loading_conc: 249 + local_base_rate: 2.59623 + movie_minutes: 1440 + movie_name: m84093_240224_160202_s4 + p0_num: 10939806 + p1_num: 14128436 + p2_num: 97582 + pac_bio_run_name: TRACTION-RUN-1140 + plate_number: 2 + polymerase_num_reads: 14125143 + polymerase_read_bases: 1279541616312 + polymerase_read_length_mean: 90586 + polymerase_read_length_n50: ~ + primary_analysis_sw_version: 13.0.0.212033 + productive_zmws_num: 25165824 + qc_seq: 1 + qc_seq_date: 2024-02-28 10:49:03 + qc_seq_state: Passed + qc_seq_state_is_final: 1 + run_complete: 2024-02-25 20:53:05 + run_start: 2024-02-23 10:28:12 + run_status: Complete + run_transfer_complete: 2024-02-26 13:41:02 + sequencing_kit: Revio sequencing plate + sequencing_kit_lot_number: 033482 + short_insert_percent: 0.06 + sl_ccs_uuid: 2607cccf-674b-4bb8-9186-19ecaab35e02 + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: 89539688-31c7-49e5-af17-db4735e0a0c1 + ts_run_name: r84093_20240223_102558 + unique_molecular_bases: 175556214784 + well_complete: 2024-02-26 13:41:02 + well_label: D1 + well_start: 2024-02-24 16:02:02 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Revio polymerase kit + ccs_execution_mode: OnInstrument + cell_lot_number: 1000002284 + chemistry_sw_version: 13.0.0.205983 + chip_type: 25mChip + control_concordance_mean: 0.912356 + control_concordance_mode: 0.93 + control_num_reads: 1999 + control_read_length_mean: 62463 + created_by: mls + demultiplex_mode: OnInstrument + heteroduplex_analysis: 0 + hifi_barcoded_reads: 6173350 + hifi_bases_in_barcoded_reads: 78726403707 + hifi_low_quality_num_reads: 177743 + hifi_low_quality_read_bases: 2378270804 + hifi_low_quality_read_length_mean: 13380 + hifi_low_quality_read_quality_median: 17 + hifi_num_reads: 6203304 + hifi_number_passes_mean: 11 + hifi_only_reads: 1 + hifi_read_bases: 79073748871 + hifi_read_length_mean: 12777 + hifi_read_quality_median: 37 + id_pac_bio_product: 763de43c3b5a025bb4b6a6b1f17d921a9ddc92795f21b2156270c62ddbe2292d + id_pac_bio_rw_metrics_tmp: 6306 + include_kinetics: 0 + insert_length_mean: ~ + insert_length_n50: ~ + instrument_name: 84098 + instrument_sw_version: 13.0.0.212033 + instrument_type: Revio + last_changed: 2024-03-08 12:10:14 + loading_conc: 222 + local_base_rate: 2.28141 + movie_minutes: 1440 + movie_name: m84098_240306_114240_s3 + p0_num: 11809042 + p1_num: 13243515 + p2_num: 113267 + pac_bio_run_name: TRACTION-RUN-1162 + plate_number: 1 + polymerase_num_reads: 13241516 + polymerase_read_bases: 1027325804889 + polymerase_read_length_mean: 77584 + polymerase_read_length_n50: ~ + primary_analysis_sw_version: 13.0.0.212033 + productive_zmws_num: 25165824 + qc_seq: 1 + qc_seq_date: 2024-03-08 11:58:01 + qc_seq_state: Passed + qc_seq_state_is_final: 1 + run_complete: 2024-03-07 16:57:46 + run_start: 2024-03-06 10:20:53 + run_status: Complete + run_transfer_complete: 2024-03-08 00:51:51 + sequencing_kit: Revio sequencing plate + sequencing_kit_lot_number: 033676 + short_insert_percent: 0 + sl_ccs_uuid: 8f43ff90-3791-4c91-b353-b281ea9e05a2 + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: e5ae50f3-d68b-4292-84f3-3fd10c1397ef + ts_run_name: r84098_20240306_101912 + unique_molecular_bases: 194611986432 + well_complete: 2024-03-08 00:51:51 + well_label: C1 + well_start: 2024-03-06 11:42:40 + well_status: Complete +- adapter_dimer_percent: 0 + binding_kit: Revio polymerase kit + ccs_execution_mode: OnInstrument + cell_lot_number: 1000002284 + chemistry_sw_version: 13.0.0.205983 + chip_type: 25mChip + control_concordance_mean: 0.910574 + control_concordance_mode: 0.91 + control_num_reads: 2648 + control_read_length_mean: 64785 + created_by: mls + demultiplex_mode: OnInstrument + heteroduplex_analysis: 0 + hifi_barcoded_reads: 5669031 + hifi_bases_in_barcoded_reads: 60299550012 + hifi_low_quality_num_reads: 129962 + hifi_low_quality_read_bases: 1451269786 + hifi_low_quality_read_length_mean: 11166 + hifi_low_quality_read_quality_median: 17 + hifi_num_reads: 5695377 + hifi_number_passes_mean: 14 + hifi_only_reads: 1 + hifi_read_bases: 60589827836 + hifi_read_length_mean: 10668 + hifi_read_quality_median: 38 + id_pac_bio_product: f26bda789770f7029867a84ad5175818fde63fc45af79754d46cfccfd3e437b0 + id_pac_bio_rw_metrics_tmp: 6307 + include_kinetics: 0 + insert_length_mean: ~ + insert_length_n50: ~ + instrument_name: 84098 + instrument_sw_version: 13.0.0.212033 + instrument_type: Revio + last_changed: 2024-03-08 12:10:14 + loading_conc: 253 + local_base_rate: 2.44579 + movie_minutes: 1440 + movie_name: m84098_240306_121456_s4 + p0_num: 13167825 + p1_num: 11795718 + p2_num: 202281 + pac_bio_run_name: TRACTION-RUN-1162 + plate_number: 1 + polymerase_num_reads: 11793070 + polymerase_read_bases: 898707409648 + polymerase_read_length_mean: 76206 + polymerase_read_length_n50: ~ + primary_analysis_sw_version: 13.0.0.212033 + productive_zmws_num: 25165824 + qc_seq: 1 + qc_seq_date: 2024-03-08 11:56:48 + qc_seq_state: Passed + qc_seq_state_is_final: 1 + run_complete: 2024-03-07 16:57:46 + run_start: 2024-03-06 10:20:53 + run_status: Complete + run_transfer_complete: 2024-03-08 00:51:51 + sequencing_kit: Revio sequencing plate + sequencing_kit_lot_number: 033676 + short_insert_percent: 0 + sl_ccs_uuid: 8463bd15-b2f2-4780-a9e6-a4547e64d9de + sl_hostname: pacbio01.dnapipelines.sanger.ac.uk + sl_run_uuid: e5ae50f3-d68b-4292-84f3-3fd10c1397ef + ts_run_name: r84098_20240306_101912 + unique_molecular_bases: 152831311872 + well_complete: 2024-03-07 23:26:11 + well_label: D1 + well_start: 2024-03-06 12:14:56 + well_status: Complete + +- id_pac_bio_rw_metrics_tmp: 3725 + id_pac_bio_product: 7454d3e822388a257437d1736361fb00c7493ab8b24ecd8ce3506ff45deb6716 + pac_bio_run_name: TRACTION-RUN-525 + well_label: A1 + qc_seq_state: Passed + qc_seq_state_is_final: 1 + qc_seq_date: 2023-04-12 16:49:52 + qc_seq: 1 + instrument_type: Revio + instrument_name: 84047 + chip_type: 25mChip + sl_hostname: pacbio02.dnapipelines.sanger.ac.uk + sl_run_uuid: f1490bb9-7a99-45b2-9d79-24582881742d + sl_ccs_uuid: a9ad9f86-04c2-4194-ba69-48240cb745f9 + ts_run_name: r84047_20230404_164149 + movie_name: m84047_230404_164952_s1 + movie_minutes: 1440 + created_by: chc + binding_kit: Revio polymerase kit + sequencing_kit: Revio sequencing plate + sequencing_kit_lot_number: 030157 + cell_lot_number: 1000000291 + ccs_execution_mode: OnInstrument + demultiplex_mode: OnInstrument + include_kinetics: 1 + hifi_only_reads: 1 + heteroduplex_analysis: 0 + loading_conc: 227 + run_start: 2023-04-04 16:42:51 + run_complete: 2023-04-05 23:16:26 + run_transfer_complete: 2023-04-06 16:28:42 + run_status: Complete + well_start: 2023-04-04 16:49:53 + well_complete: 2023-04-06 10:15:28 + well_status: Complete + chemistry_sw_version: 12.0.0.172289 + instrument_sw_version: 12.0.0.178953 + primary_analysis_sw_version: 12.0.0.1 + control_num_reads: 2724 + control_concordance_mean: 0.899633 + control_concordance_mode: 0.91 + control_read_length_mean: 59917 + local_base_rate: 2.182480 + polymerase_read_bases: 1324865295449 + polymerase_num_reads: 18759739 + polymerase_read_length_mean: 70623 + polymerase_read_length_n50: 132750 + insert_length_mean: 14885 + insert_length_n50: 20250 + unique_molecular_bases: 250195427328 + productive_zmws_num: 16777216 + p0_num: 5846918 + p1_num: 18762463 + p2_num: 556443 + adapter_dimer_percent: 0.00 + short_insert_percent: 0.00 + hifi_read_bases: 92922481974 + hifi_num_reads: 8297069 + hifi_read_length_mean: 11199 + hifi_read_quality_median: 34 + hifi_number_passes_mean: 14 + hifi_low_quality_read_bases: NULL + hifi_low_quality_num_reads: NULL + hifi_low_quality_read_length_mean: NULL + hifi_low_quality_read_quality_median: NULL + hifi_barcoded_reads: 8255091 + hifi_bases_in_barcoded_reads: 92439476821 diff --git a/tests/data/mlwh_pb_runs/300-PacBioProductMetrics.yml b/tests/data/mlwh_pb_runs/300-PacBioProductMetrics.yml new file mode 100644 index 00000000..0b6de2e2 --- /dev/null +++ b/tests/data/mlwh_pb_runs/300-PacBioProductMetrics.yml @@ -0,0 +1,462 @@ +--- +- id_pac_bio_pr_metrics_tmp: 9675 + id_pac_bio_product: cf18bd66e0f0895ea728c1d08103c62d3de8a57a5f879cee45f7b0acc028aa61 + id_pac_bio_rw_metrics_tmp: 1732 + id_pac_bio_tmp: 98966 +- id_pac_bio_pr_metrics_tmp: 9676 + id_pac_bio_product: 63fb9a37ff19c248fc7d99bd254a61085226ded540de7c5445daf1398e339833 + id_pac_bio_rw_metrics_tmp: 1733 + id_pac_bio_tmp: 98967 +- id_pac_bio_pr_metrics_tmp: 9677 + id_pac_bio_product: a65eae06f3048a186aeb9104d0a8d3f46ca59dff7747eec9918fcfa85587a3c2 + id_pac_bio_rw_metrics_tmp: 1734 + id_pac_bio_tmp: 98968 +- id_pac_bio_pr_metrics_tmp: 9678 + id_pac_bio_product: 57538925519f7ae568fbd5cd075fd2fb600a2273394f6537a17d97917e224b11 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98969 +- id_pac_bio_pr_metrics_tmp: 9679 + id_pac_bio_product: 2307cbc4bf6b6917fa6a20d7e077302ad617c4df61cc0f845facfb24548360e4 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98970 +- id_pac_bio_pr_metrics_tmp: 9680 + id_pac_bio_product: 568b595c45b01faa601cab34ac91987b738106e2c10d2343fed1a2823726b036 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98971 +- id_pac_bio_pr_metrics_tmp: 9681 + id_pac_bio_product: 5a7af02c0fa288456f61046c15fcc2f14ae14ef890eea7de2239abdbc06cd1a2 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98972 +- id_pac_bio_pr_metrics_tmp: 9682 + id_pac_bio_product: 6efad9725471425b8574eaa8772cfd077cfca761c6654dbd36fb3bdb3e939ac3 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98973 +- id_pac_bio_pr_metrics_tmp: 9683 + id_pac_bio_product: 40053aa11e7cf4b74c0dc641c42fbe45145f007a6edacd7e1d476d20d3dc8899 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98974 +- id_pac_bio_pr_metrics_tmp: 9684 + id_pac_bio_product: f0993ebd8924e24e202c269a34598972541c3bccbe9778ca38889d8119ef8fbc + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98975 +- id_pac_bio_pr_metrics_tmp: 9685 + id_pac_bio_product: 67a948d085b4be890f02a04779ed44351bf64506f14e1a703cede5b901f7732d + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98976 +- id_pac_bio_pr_metrics_tmp: 9686 + id_pac_bio_product: 22be6501a64e534e8bcd4d94222b8b226880d8574b2c2a13b47993d67bf953ed + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98977 +- id_pac_bio_pr_metrics_tmp: 9687 + id_pac_bio_product: a85234a2ce0b894cdde92dd592202b93e973aec86a22584d5d5aad6207936c3a + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98978 +- id_pac_bio_pr_metrics_tmp: 9688 + id_pac_bio_product: 925c97e811bd1320575eb09a9c6208ebceb092f39be9804f13ae6ea57d6ee3f4 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98979 +- id_pac_bio_pr_metrics_tmp: 9689 + id_pac_bio_product: 4cd35d863fb960d2e65b11c3092034272b71c63a7cceb8a4eb82459b442e5649 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98980 +- id_pac_bio_pr_metrics_tmp: 9690 + id_pac_bio_product: 13e08185c8f214ddb7fda427eb12de14d2328966dc6dd407e04931540d563764 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98981 +- id_pac_bio_pr_metrics_tmp: 9691 + id_pac_bio_product: b5131d50fc95fcd36b1670a0a200424d8ab1568b4a8c4e3ae267ab78dd482189 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98982 +- id_pac_bio_pr_metrics_tmp: 9692 + id_pac_bio_product: f16140784d4fe024bda8c121e3f9aefb3d8907f11787be71894120048b2cc504 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98983 +- id_pac_bio_pr_metrics_tmp: 9693 + id_pac_bio_product: 5a9fe0fb67614b9fd250dcf711e1fcf3e2ce13f450ecc68af699035490e3e0ec + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98984 +- id_pac_bio_pr_metrics_tmp: 9694 + id_pac_bio_product: 9f045c9356f681c1b452ec6dd92415264f7e9646b91e82bbe9f739d2d97b621c + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98985 +- id_pac_bio_pr_metrics_tmp: 9695 + id_pac_bio_product: c060619f13f862370b4047c4a897aa4d9e907f6252d1f5e2962e09495d32becb + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98986 +- id_pac_bio_pr_metrics_tmp: 9696 + id_pac_bio_product: f997587d6945cc8feaf015e6f74247c6d5d72afeae5e4aac550cb69ebdbd8381 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98987 +- id_pac_bio_pr_metrics_tmp: 9697 + id_pac_bio_product: 044ddae518c4f27a9b4c362098d78dbddbfb3c777eb7b755d64413e4cde4cd3c + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98988 +- id_pac_bio_pr_metrics_tmp: 9698 + id_pac_bio_product: 03e42278867da02c593029170ce087048e62f6f69165a3080e94f21d3de5e6b9 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98989 +- id_pac_bio_pr_metrics_tmp: 9699 + id_pac_bio_product: fdf0c4eb042807b7694842569a907e530fe603ade6470e1b4878beab7de9c055 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98990 +- id_pac_bio_pr_metrics_tmp: 9700 + id_pac_bio_product: a5c8aa41feee6cf782936786d3702c716fac193e5943398662975136fd5e30a1 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98991 +- id_pac_bio_pr_metrics_tmp: 9701 + id_pac_bio_product: 11c1424601a9dd783e9eab728934f88205b1c2251ce5b5da64d9ba25a34458fb + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98992 +- id_pac_bio_pr_metrics_tmp: 9702 + id_pac_bio_product: 9708d23c8ea56d4d0680dc6f3f78b102d08708d70f8205e079a0215f9331c27d + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98993 +- id_pac_bio_pr_metrics_tmp: 9703 + id_pac_bio_product: e0d3aa0edd255e4bcf14ad2c855a195677f44109ad444e395845a7b82c1d477d + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98994 +- id_pac_bio_pr_metrics_tmp: 9704 + id_pac_bio_product: 41887713d6f40e42b97384931254e986635189cc432652ac5d16d11c371b6d71 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98995 +- id_pac_bio_pr_metrics_tmp: 9705 + id_pac_bio_product: 49da248e9147189033f81b7f5f44f036bb26be0a5c3efcf61c484dc8dc50d432 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98996 +- id_pac_bio_pr_metrics_tmp: 9706 + id_pac_bio_product: ccc81d884b5319d7d6dd4beb14944fd9dc7b6063933a57882f53652da435af2d + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98997 +- id_pac_bio_pr_metrics_tmp: 9707 + id_pac_bio_product: 6ac18d5b5b63eca3a3773686733be395a58d67213b597111c2b51c6fec4ce814 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98998 +- id_pac_bio_pr_metrics_tmp: 9708 + id_pac_bio_product: dcb13705145a63f6034692b6e5cd568fc34e9c6669f0b0ce37a54160c45a1a04 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 98999 +- id_pac_bio_pr_metrics_tmp: 9709 + id_pac_bio_product: 4e6c23a4627eb23514d03630512548d521f822d44467f951ae61e169d16a868e + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 99000 +- id_pac_bio_pr_metrics_tmp: 9710 + id_pac_bio_product: 878b1e205768c5965cdce2b11d779d41ad267f5d84cac8652e64d9c7139fd692 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 99001 +- id_pac_bio_pr_metrics_tmp: 9711 + id_pac_bio_product: 75ad3eb849261accf19df9c5acfb97b10f73d658dd1f403a032dab25fdeee64a + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 99002 +- id_pac_bio_pr_metrics_tmp: 9712 + id_pac_bio_product: b209eb8f689ff8391bf42dece19d8de44ef4ee63158219cc81bd0cb45196b631 + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 99003 +- id_pac_bio_pr_metrics_tmp: 9713 + id_pac_bio_product: 18078959e14a3416b428624e6cc200c649a8b3b92fc40a20444e9cdca373137b + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 99004 +- id_pac_bio_pr_metrics_tmp: 9714 + id_pac_bio_product: 0a82107d88ee710dcf46139a8710f443da8f4051142c478cb0a99ec5c6d64a2a + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 99005 +- id_pac_bio_pr_metrics_tmp: 9715 + id_pac_bio_product: 6a81185dec0b9dcf06412b43fad08ce92cbf5ad492da7fa25dee63723950de5d + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 99006 +- id_pac_bio_pr_metrics_tmp: 9716 + id_pac_bio_product: 7f3912931b878be0b3c949fc20acd59d51b68a27a04fa89491a74905219f8deb + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 99007 +- id_pac_bio_pr_metrics_tmp: 9717 + id_pac_bio_product: 4cf97b14a1c23d892f3b9609642d1978b56ca4a7fca6995897be68c29ed9211d + id_pac_bio_rw_metrics_tmp: 1735 + id_pac_bio_tmp: 99008 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30016 + id_pac_bio_product: 3b37d8c1a317f229a3aae182f160f8e4f4856607fb15f1ab0588dde66640afda + id_pac_bio_rw_metrics_tmp: 6206 + id_pac_bio_tmp: ~ + last_changed: 2024-02-28 14:10:14 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30017 + id_pac_bio_product: 2b9048414306eb7683056bd91f6ec81f0b2dbf69484b3dd2dbe39932b52bedbb + id_pac_bio_rw_metrics_tmp: 6206 + id_pac_bio_tmp: ~ + last_changed: 2024-02-28 14:10:14 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30018 + id_pac_bio_product: f50319c97e28f2e0a67ebbc736080c4e98f23cdf6e5b7cec964349ffb13ae797 + id_pac_bio_rw_metrics_tmp: 6207 + id_pac_bio_tmp: 120628 + last_changed: 2024-03-05 15:10:36 + qc: 0 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30019 + id_pac_bio_product: 080733cab28898fcd69d1a418c7675cba38a548c9c20ac2da48a84c5658ee6b2 + id_pac_bio_rw_metrics_tmp: 6207 + id_pac_bio_tmp: 120629 + last_changed: 2024-03-05 15:10:36 + qc: 0 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30020 + id_pac_bio_product: 14be4b6a6bb857c0967d56c90d2b57edc1401cdb5f95379312fb8e5ca71e09fa + id_pac_bio_rw_metrics_tmp: 6207 + id_pac_bio_tmp: 120630 + last_changed: 2024-03-05 15:10:36 + qc: 0 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30021 + id_pac_bio_product: 4153f3a64e39588bf626c4dda42e5ee74b424bba67d69bb74bb029adda2e642c + id_pac_bio_rw_metrics_tmp: 6208 + id_pac_bio_tmp: 120631 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30022 + id_pac_bio_product: fbbcd5cac5d086ce64b3a37646e261b4c784fce6755fd65d6d41f048d2267c61 + id_pac_bio_rw_metrics_tmp: 6208 + id_pac_bio_tmp: 120632 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30023 + id_pac_bio_product: 74af5a311e15af654336aea65826a2c4974842d752e25875b0303ad5a3556167 + id_pac_bio_rw_metrics_tmp: 6209 + id_pac_bio_tmp: 120633 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30024 + id_pac_bio_product: 11022006a649937c570d100ccb382dddadf9a7174ee303903c8d2b7cd7efb328 + id_pac_bio_rw_metrics_tmp: 6209 + id_pac_bio_tmp: 120634 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30025 + id_pac_bio_product: e6a2157d0fda8faae1288025e99ce5f8133f1466b752a67809668e5b9b16d5b1 + id_pac_bio_rw_metrics_tmp: 6209 + id_pac_bio_tmp: 120635 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30026 + id_pac_bio_product: 9840280d97c98ff3ddda36ac95cf3b87f5810cc3be73a64c27d6ab92cfaab0ac + id_pac_bio_rw_metrics_tmp: 6209 + id_pac_bio_tmp: 120636 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30027 + id_pac_bio_product: 81141cdff1f57c0fc0fc5f88856fa7c6d2945acc5fa6e53e7d1214d17a00c410 + id_pac_bio_rw_metrics_tmp: 6210 + id_pac_bio_tmp: 120637 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30028 + id_pac_bio_product: 4145bf889c130ecaadcd4d757d0a3ca98d68629556427a27ebc08840ffdd0e0f + id_pac_bio_rw_metrics_tmp: 6210 + id_pac_bio_tmp: 120638 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30029 + id_pac_bio_product: 5b99ad09c31afd4917da39d44fc6cc40e1915572e80c20acbfda6d6c031e74c5 + id_pac_bio_rw_metrics_tmp: 6211 + id_pac_bio_tmp: 120639 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30030 + id_pac_bio_product: 0152d7945c4f74fac3ff828012ad2c01a95574df213d7664e7989e1039727cb5 + id_pac_bio_rw_metrics_tmp: 6211 + id_pac_bio_tmp: 120640 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30031 + id_pac_bio_product: 110e4562a6d28dd96973a98fcc1464d6c82dc413296b95d0c71727d21fa2a193 + id_pac_bio_rw_metrics_tmp: 6212 + id_pac_bio_tmp: 120641 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30032 + id_pac_bio_product: af65875cfecca04ee585c67525661f57a07d7f1427aa15ca39e158c791d63aa5 + id_pac_bio_rw_metrics_tmp: 6212 + id_pac_bio_tmp: ~ + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30033 + id_pac_bio_product: c24d50afb4c048f38dca230a03fb4880912713adf7db7a3ec4d5f57ee3c4cdec + id_pac_bio_rw_metrics_tmp: 6212 + id_pac_bio_tmp: 120643 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30034 + id_pac_bio_product: baa1e87601ca9c16d95b7fda9d9346557de4aaf4adb5c15383d0f8d9366692bf + id_pac_bio_rw_metrics_tmp: 6213 + id_pac_bio_tmp: 120644 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30035 + id_pac_bio_product: f88bcfb888f075442a005368c070ba83d895b07c013c68e1cb292fce4aaa40f2 + id_pac_bio_rw_metrics_tmp: 6213 + id_pac_bio_tmp: 120645 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30036 + id_pac_bio_product: 61d2c6fc72d593949cf7b60812a0076c9af57b0fa71b394f0669e410e040458e + id_pac_bio_rw_metrics_tmp: 6213 + id_pac_bio_tmp: 120646 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30037 + id_pac_bio_product: 252c8d3dc0b4c81e6d7359b0808ba962013e7b320eb9b979da526cecf5fdd019 + id_pac_bio_rw_metrics_tmp: 6213 + id_pac_bio_tmp: 120647 + last_changed: 2024-02-28 11:10:15 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30153 + id_pac_bio_product: 2135bf0b32c6b987042e67e062647aa21ac956c1d3385627b7a1d4cd670c355f + id_pac_bio_rw_metrics_tmp: 6306 + id_pac_bio_tmp: 120767 + last_changed: 2024-03-08 12:10:14 + qc: 1 +- barcode_quality_score_mean: ~ + hifi_bases_percent: ~ + hifi_num_reads: ~ + hifi_read_bases: ~ + hifi_read_length_mean: ~ + hifi_read_quality_mean: ~ + id_pac_bio_pr_metrics_tmp: 30154 + id_pac_bio_product: 790e8882c97615d79ebe27b782eefa87eede2cecda8ebd960cdd88300059f196 + id_pac_bio_rw_metrics_tmp: 6307 + id_pac_bio_tmp: 120768 + last_changed: 2024-03-08 12:10:14 + qc: 1 + diff --git a/tests/data/mlwh_pb_runs/README b/tests/data/mlwh_pb_runs/README new file mode 100644 index 00000000..e2559a82 --- /dev/null +++ b/tests/data/mlwh_pb_runs/README @@ -0,0 +1,26 @@ +This set of mlwh fixtures contains data for runs TRACTION-RUN-{92,525,1140,1162} + +TRACTION-RUN-92 +Wells {A,B,C,D}1, plate_number undefined +D1 has 40 samples, the rest have one sample each + +TRACTION-RUN-525 +Well A1 only, demultiplexed, pac_bio_run_well_metrics data only + +TRACTION-RUN-1140 + +plate 1 +A1 2 samples, LIMS links deleted +B1 3 samples +C1 2 samples +D1 4 samples, belong to two studies + +plate2 +A1 2 samples +B1 2 samples +C1 3 samples, belong to two studies, LIMS link to one samples is deleted, +D1 4 sample + +TRACTION-RUN-1162 +plate1 +C1 and D1, both with 1 sample, different studies diff --git a/tests/endpoints/test_single_well_qc_details.py b/tests/endpoints/test_single_well_qc_details.py index b54c4b93..7931e425 100644 --- a/tests/endpoints/test_single_well_qc_details.py +++ b/tests/endpoints/test_single_well_qc_details.py @@ -1,17 +1,15 @@ from fastapi.testclient import TestClient -from tests.conftest import insert_from_yaml from tests.fixtures.well_data import load_data4well_retrieval, load_dicts_and_users def test_get_well_info( - test_client: TestClient, mlwhdb_test_session, load_data4well_retrieval + test_client: TestClient, + mlwhdb_test_session, + load_data4well_retrieval, + mlwhdb_load_runs, ): - insert_from_yaml( - mlwhdb_test_session, "tests/data/mlwh_pb_run_92", "lang_qc.db.mlwh_schema" - ) - id_product = "cf18bd66e0f0895ea728c1d08103c62d3de8a57a5f879cee45f7b0acc028aa67" response = test_client.get(f"/pacbio/products/{id_product}/seq_level") assert response.status_code == 404 diff --git a/tests/fixtures/inbox_data.py b/tests/fixtures/inbox_data.py index b8fb04e8..64379b18 100644 --- a/tests/fixtures/inbox_data.py +++ b/tests/fixtures/inbox_data.py @@ -20,7 +20,6 @@ SubProductAttr, User, ) -from tests.fixtures.utils import clean_mlwhdb, clean_qcdb @pytest.fixture @@ -99,8 +98,6 @@ def inbox_data(mlwhdb_test_session): yield True - clean_mlwhdb(mlwhdb_test_session) - @pytest.fixture() def test_data_factory(mlwhdb_test_session, qcdb_test_session): @@ -201,6 +198,3 @@ def setup_data(desired_wells): return desired_wells yield setup_data - - clean_mlwhdb(mlwhdb_test_session) - clean_qcdb(qcdb_test_session) diff --git a/tests/fixtures/utils.py b/tests/fixtures/utils.py deleted file mode 100644 index 0a4b0e9a..00000000 --- a/tests/fixtures/utils.py +++ /dev/null @@ -1,46 +0,0 @@ -from sqlalchemy import delete - -from lang_qc.db.mlwh_schema import ( - PacBioProductMetrics, - PacBioRun, - PacBioRunWellMetrics, - Sample, - Study, -) -from lang_qc.db.qc_schema import ( - ProductLayout, - QcState, - QcStateDict, - QcType, - SeqPlatform, - SeqProduct, - SubProduct, - SubProductAttr, - User, -) - - -def clean_mlwhdb(session): - print("\nCLEAN mlwh schema") - with session.begin(): - session.execute(delete(PacBioProductMetrics)) - session.execute(delete(PacBioRun)) - session.execute(delete(Study)) - session.execute(delete(Sample)) - session.execute(delete(PacBioRunWellMetrics)) - session.commit() - - -def clean_qcdb(session): - with session.begin(): - print("\nCLEAN QC DB") - session.execute(delete(QcState)) - session.execute(delete(ProductLayout)) - session.execute(delete(SeqProduct)) - session.execute(delete(SubProduct)) - session.execute(delete(QcType)) - session.execute(delete(SubProductAttr)) - session.execute(delete(SeqPlatform)) - session.execute(delete(User)) - session.execute(delete(QcStateDict)) - session.commit() diff --git a/tests/test_pac_bio_experiment.py b/tests/test_pac_bio_experiment.py index a9556b27..ff979541 100644 --- a/tests/test_pac_bio_experiment.py +++ b/tests/test_pac_bio_experiment.py @@ -3,18 +3,13 @@ from lang_qc.db.mlwh_schema import PacBioRun from lang_qc.models.pacbio.experiment import PacBioExperiment -from tests.conftest import insert_from_yaml -def test_creating_experiment_object(mlwhdb_test_session): +def test_creating_experiment_object(mlwhdb_test_session, mlwhdb_load_runs): run_name = "TRACTION-RUN-92" # Four wells, D1 has 40 samples, the rest have one sample each. - insert_from_yaml( - mlwhdb_test_session, "tests/data/mlwh_pb_run_92", "lang_qc.db.mlwh_schema" - ) - query = ( select(PacBioRun) .where(PacBioRun.pac_bio_run_name == run_name) diff --git a/tests/test_pac_bio_qc_data_well.py b/tests/test_pac_bio_qc_data_well.py index ccc6557a..701cce85 100644 --- a/tests/test_pac_bio_qc_data_well.py +++ b/tests/test_pac_bio_qc_data_well.py @@ -2,18 +2,13 @@ from lang_qc.db.helper.wells import WellWh from lang_qc.models.pacbio.qc_data import QCDataWell -from tests.conftest import insert_from_yaml -def test_creating_qc_data_well(mlwhdb_test_session): +def test_creating_qc_data_well(mlwhdb_test_session, mlwhdb_load_runs): """ Check that run-well metrics are correctly transformed for client rendering """ - insert_from_yaml( - mlwhdb_test_session, "tests/data/mlwh_pb_demux_525", "lang_qc.db.mlwh_schema" - ) - helper = WellWh(session=mlwhdb_test_session) id_product = PacBioEntity( diff --git a/tests/test_pac_well_full.py b/tests/test_pac_well_full.py deleted file mode 100644 index c8ff08cb..00000000 --- a/tests/test_pac_well_full.py +++ /dev/null @@ -1,85 +0,0 @@ -from npg_id_generation.pac_bio import PacBioEntity - -from lang_qc.db.helper.qc import get_qc_states_by_id_product_list -from lang_qc.db.helper.wells import WellWh -from lang_qc.models.pacbio.well import PacBioWellFull -from tests.conftest import compare_dates, insert_from_yaml -from tests.fixtures.well_data import load_data4well_retrieval, load_dicts_and_users - - -def test_creating_experiment_object( - mlwhdb_test_session, qcdb_test_session, load_data4well_retrieval -): - - insert_from_yaml( - mlwhdb_test_session, "tests/data/mlwh_pb_run_92", "lang_qc.db.mlwh_schema" - ) - helper = WellWh(session=mlwhdb_test_session) - - # Full mlwh data, no data in the lang_qc database. - id_product = PacBioEntity( - run_name="TRACTION-RUN-92", well_label="A1" - ).hash_product_id() - well_row = helper.get_mlwh_well_by_product_id(id_product) - - pb_well = PacBioWellFull(db_well=well_row) - assert pb_well.id_product == id_product - assert pb_well.run_name == "TRACTION-RUN-92" - assert pb_well.label == "A1" - assert pb_well.plate_number is None - assert pb_well.qc_state is None - compare_dates(pb_well.run_start_time, "2022-04-14 12:52:34") - compare_dates(pb_well.run_complete_time, "2022-04-20 09:16:53") - compare_dates(pb_well.well_start_time, "2022-04-14 13:02:48") - compare_dates(pb_well.well_complete_time, "2022-04-16 12:36:21") - assert pb_well.run_status == "Complete" - assert pb_well.well_status == "Complete" - assert pb_well.metrics is not None - assert pb_well.experiment_tracking is not None - assert pb_well.instrument_name == "64222E" - assert pb_well.instrument_type == "Sequel2e" - - # Only run_well mlwh data (no products), and data in the lang_qc database. - # Very sketchy mlwh qc metrics data - id_product = PacBioEntity( - run_name="TRACTION_RUN_1", well_label="B1" - ).hash_product_id() - well_row = helper.get_mlwh_well_by_product_id(id_product) - - qc_state = get_qc_states_by_id_product_list( - session=qcdb_test_session, - ids=[id_product], - sequencing_outcomes_only=True, - ) - pb_well = PacBioWellFull(db_well=well_row, qc_state=qc_state) - assert pb_well.id_product == id_product - assert pb_well.run_name == "TRACTION_RUN_1" - assert pb_well.label == "B1" - assert pb_well.plate_number is None - assert pb_well.run_status == "Complete" - assert pb_well.well_status == "Complete" - assert pb_well.qc_state is not None - assert pb_well.metrics is not None - assert pb_well.experiment_tracking is None - assert pb_well.instrument_name == "64016" - assert pb_well.instrument_type == "Sequel2" - - # Only run_well mlwh data (no products), no data in the lang_qc database. - # Very sketchy mlwh qc metrics data - id_product = PacBioEntity( - run_name="TRACTION_RUN_10", well_label="C1" - ).hash_product_id() - well_row = helper.get_mlwh_well_by_product_id(id_product) - - pb_well = PacBioWellFull(db_well=well_row, qc_state=None) - assert pb_well.id_product == id_product - assert pb_well.run_name == "TRACTION_RUN_10" - assert pb_well.label == "C1" - assert pb_well.plate_number == 1 - assert pb_well.well_status == "Complete" - assert pb_well.run_status == "Aborted" - assert pb_well.qc_state is None - assert pb_well.metrics is not None - assert pb_well.experiment_tracking is None - assert pb_well.instrument_name == "1234" - assert pb_well.instrument_type == "Revio" diff --git a/tests/test_pb_well_models.py b/tests/test_pb_well_models.py new file mode 100644 index 00000000..12d64a44 --- /dev/null +++ b/tests/test_pb_well_models.py @@ -0,0 +1,190 @@ +from npg_id_generation.pac_bio import PacBioEntity +from sqlalchemy.orm import Session + +from lang_qc.db.helper.qc import get_qc_states_by_id_product_list +from lang_qc.db.helper.wells import WellWh +from lang_qc.db.mlwh_schema import PacBioRunWellMetrics +from lang_qc.models.pacbio.well import PacBioWellFull, PacBioWellSummary +from tests.conftest import compare_dates +from tests.fixtures.well_data import load_data4well_retrieval, load_dicts_and_users + +yaml_is_loaded: bool = False + + +def _prepare_data( + mlwhdb_session: Session, + qcdb_session: Session, + run_name: str, + well_label: str, + plate_number: int = None, +): + """Returns mlwh data for one well. + + Returns a tuple of an mlwh db row and QC state model for one well. + """ + + id_product = PacBioEntity( + run_name=run_name, well_label=well_label, plate_number=plate_number + ).hash_product_id() + well_row = WellWh(session=mlwhdb_session).get_mlwh_well_by_product_id(id_product) + + qc_state = None + qc_states = get_qc_states_by_id_product_list( + session=qcdb_session, + ids=[id_product], + sequencing_outcomes_only=True, + ) + if id_product in qc_states: + qc_state = qc_states[id_product][0] + + return (well_row, qc_state) + + +def _examine_well_model_a1(pb_well: PacBioRunWellMetrics, id_product: str): + + assert pb_well.id_product == id_product + assert pb_well.run_name == "TRACTION-RUN-92" + assert pb_well.label == "A1" + assert pb_well.plate_number is None + assert pb_well.qc_state is None + compare_dates(pb_well.run_start_time, "2022-04-14 12:52:34") + compare_dates(pb_well.run_complete_time, "2022-04-20 09:16:53") + compare_dates(pb_well.well_start_time, "2022-04-14 13:02:48") + compare_dates(pb_well.well_complete_time, "2022-04-16 12:36:21") + assert pb_well.run_status == "Complete" + assert pb_well.well_status == "Complete" + assert pb_well.instrument_name == "64222E" + assert pb_well.instrument_type == "Sequel2e" + + +def _examine_well_model_b1(pb_well: PacBioRunWellMetrics, id_product: str): + + assert pb_well.id_product == id_product + assert pb_well.run_name == "TRACTION_RUN_1" + assert pb_well.label == "B1" + assert pb_well.plate_number is None + assert pb_well.run_status == "Complete" + assert pb_well.well_status == "Complete" + assert pb_well.qc_state is not None + assert pb_well.instrument_name == "64016" + assert pb_well.instrument_type == "Sequel2" + + +def _examine_well_model_c1(pb_well: PacBioRunWellMetrics, id_product: str): + + assert pb_well.id_product == id_product + assert pb_well.run_name == "TRACTION_RUN_10" + assert pb_well.label == "C1" + assert pb_well.plate_number == 1 + assert pb_well.well_status == "Complete" + assert pb_well.run_status == "Aborted" + assert pb_well.qc_state is None + assert pb_well.instrument_name == "1234" + assert pb_well.instrument_type == "Revio" + + +def test_create_full_model( + mlwhdb_test_session, qcdb_test_session, load_data4well_retrieval, mlwhdb_load_runs +): + # Full mlwh data, no data in the lang_qc database. + (well_row, qc_state) = _prepare_data( + mlwhdb_test_session, qcdb_test_session, "TRACTION-RUN-92", "A1" + ) + pb_well = PacBioWellFull(db_well=well_row) + _examine_well_model_a1(pb_well, well_row.id_pac_bio_product) + assert pb_well.metrics is not None + assert pb_well.experiment_tracking is not None + + # Only run_well mlwh data (no products), and data in the lang_qc database. + # Very sketchy mlwh qc metrics data. + (well_row, qc_state) = _prepare_data( + mlwhdb_test_session, qcdb_test_session, "TRACTION_RUN_1", "B1" + ) + pb_well = PacBioWellFull(db_well=well_row, qc_state=qc_state) + _examine_well_model_b1(pb_well, well_row.id_pac_bio_product) + assert pb_well.metrics is not None + assert pb_well.experiment_tracking is None + + # Only run_well mlwh data (no products), no data in the lang_qc database. + # Very sketchy mlwh qc metrics data. + (well_row, qc_state) = _prepare_data( + mlwhdb_test_session, qcdb_test_session, "TRACTION_RUN_10", "C1" + ) + pb_well = PacBioWellFull(db_well=well_row, qc_state=None) + _examine_well_model_c1(pb_well, well_row.id_pac_bio_product) + assert pb_well.metrics is not None + assert pb_well.experiment_tracking is None + + +def test_create_summary_model( + mlwhdb_test_session, qcdb_test_session, load_data4well_retrieval, mlwhdb_load_runs +): + (well_row, qc_state) = _prepare_data( + mlwhdb_test_session, qcdb_test_session, "TRACTION-RUN-92", "A1" + ) + pb_well = PacBioWellSummary(db_well=well_row) + _examine_well_model_a1(pb_well, well_row.id_pac_bio_product) + assert pb_well.study_names == ["Tree of Life - ASG"] + + (well_row, qc_state) = _prepare_data( + mlwhdb_test_session, qcdb_test_session, "TRACTION_RUN_1", "B1" + ) + pb_well = PacBioWellSummary(db_well=well_row, qc_state=qc_state) + _examine_well_model_b1(pb_well, well_row.id_pac_bio_product) + assert pb_well.study_names == [] + + (well_row, qc_state) = _prepare_data( + mlwhdb_test_session, qcdb_test_session, "TRACTION_RUN_10", "C1" + ) + pb_well = PacBioWellFull(db_well=well_row, qc_state=None) + _examine_well_model_c1(pb_well, well_row.id_pac_bio_product) + + +def test_create_summary_model_study_info( + mlwhdb_test_session, qcdb_test_session, load_data4well_retrieval, mlwhdb_load_runs +): + # Well with two samples, none is linked to LIMS + (well_row, qc_state) = _prepare_data( + mlwhdb_test_session, qcdb_test_session, "TRACTION-RUN-1140", "A1", 1 + ) + pb_well = PacBioWellSummary(db_well=well_row) + assert pb_well.study_names == [] + + # Fully linked wells with one sample + (well_row, qc_state) = _prepare_data( + mlwhdb_test_session, qcdb_test_session, "TRACTION-RUN-1162", "C1" + ) + pb_well = PacBioWellSummary(db_well=well_row) + assert pb_well.study_names == ["DTOL_Darwin R&D"] + + (well_row, qc_state) = _prepare_data( + mlwhdb_test_session, qcdb_test_session, "TRACTION-RUN-1162", "D1", 1 + ) + pb_well = PacBioWellSummary(db_well=well_row) + assert pb_well.study_names == ["DTOL_Darwin Tree of Life"] + + # A fully linked well with multiple samples, all belonging to the same study + (well_row, qc_state) = _prepare_data( + mlwhdb_test_session, qcdb_test_session, "TRACTION-RUN-1140", "B1", 1 + ) + pb_well = PacBioWellSummary(db_well=well_row) + assert pb_well.study_names == ["DTOL_Darwin Tree of Life"] + + # A fully linked well with multiple samples, which belong to two studies + (well_row, qc_state) = _prepare_data( + mlwhdb_test_session, qcdb_test_session, "TRACTION-RUN-1140", "D1", 1 + ) + pb_well = PacBioWellSummary(db_well=well_row) + assert pb_well.study_names == [ + "DTOL_Darwin Tree of Life", + "ToL_Blaxter_ Reference Genomes_ DNA", + ] + + # A partially linked well with three samples, which belong to two studies. + # The LIMS link for one of the samples is deleted so that two other samples + # belong to the same study. + (well_row, qc_state) = _prepare_data( + mlwhdb_test_session, qcdb_test_session, "TRACTION-RUN-1140", "C1", 2 + ) + pb_well = PacBioWellSummary(db_well=well_row) + assert pb_well.study_names == [] diff --git a/tests/test_pb_wells_factory.py b/tests/test_pb_wells_factory.py index b4638d3f..c9bbc92d 100644 --- a/tests/test_pb_wells_factory.py +++ b/tests/test_pb_wells_factory.py @@ -4,7 +4,7 @@ from lang_qc.db.helper.wells import PacBioPagedWellsFactory, RunNotFoundError from lang_qc.db.qc_schema import QcState, QcType, SeqProduct -from lang_qc.models.pacbio.well import PacBioPagedWells, PacBioWell +from lang_qc.models.pacbio.well import PacBioPagedWells, PacBioWellSummary from lang_qc.models.qc_flow_status import QcFlowStatusEnum from lang_qc.models.qc_state import QcState as QcStateModel from tests.conftest import compare_dates @@ -141,7 +141,7 @@ def test_inbox_wells_retrieval( mlwh_data = load_data4well_retrieval well = paged_wells.wells[0] - assert isinstance(well, PacBioWell) + assert isinstance(well, PacBioWellSummary) assert well.run_name == "TRACTION_RUN_10" assert well.label == "C1" assert well.qc_state is None @@ -154,7 +154,7 @@ def test_inbox_wells_retrieval( compare_dates(well.well_complete_time, well_fixture[5]) well = paged_wells.wells[1] - assert isinstance(well, PacBioWell) + assert isinstance(well, PacBioWellSummary) assert well.run_name == "TRACTION_RUN_12" assert well.label == "A1" assert well.qc_state is None @@ -290,7 +290,7 @@ def test_fully_retrieved_data_for_statuses( paged_wells = factory.create_for_qc_status(QcFlowStatusEnum.QC_COMPLETE) well = paged_wells.wells[0] - assert isinstance(well, PacBioWell) + assert isinstance(well, PacBioWellSummary) assert well.run_name == "TRACTION_RUN_5" assert well.label == "B1" compare_dates(well.run_start_time, "2022-12-14 11:56:33") @@ -312,7 +312,7 @@ def test_fully_retrieved_data_for_statuses( assert qc_state.created_by == "LangQC" well = paged_wells.wells[3] - assert isinstance(well, PacBioWell) + assert isinstance(well, PacBioWellSummary) assert well.run_name == "TRACTION_RUN_2" assert well.label == "D1" compare_dates(well.run_start_time, "2022-12-02 15:11:22") @@ -394,7 +394,7 @@ def test_known_run_names_input( wells = paged_wells_obj.wells assert len(wells) == 4 object_type_set = {type(well) for well in wells} - assert object_type_set == {PacBioWell} + assert object_type_set == {PacBioWellSummary} run_name_set = {well.run_name for well in wells} assert run_name_set == {"TRACTION_RUN_1"} label_list = [well.label for well in wells] @@ -419,7 +419,7 @@ def test_known_run_names_input( wells = paged_wells_obj.wells assert len(wells) == 2 object_type_set = {type(well) for well in wells} - assert object_type_set == {PacBioWell} + assert object_type_set == {PacBioWellSummary} run_names = [well.run_name for well in wells] assert run_names == 2 * ["TRACTION_RUN_3"] label_list = [well.label for well in wells]