|
2 | 2 | from pathlib import Path
|
3 | 3 | from typing import Any
|
4 | 4 |
|
5 |
| -from pydantic import BaseModel, EmailStr, Field, ConfigDict |
| 5 | +from pydantic import BaseModel, ConfigDict, EmailStr, Field |
6 | 6 | from typing_extensions import Literal
|
7 | 7 |
|
8 | 8 | from cg.apps.coverage import ChanjoAPI
|
|
47 | 47 | from cg.services.run_devices.pacbio.housekeeper_service.pacbio_houskeeper_service import (
|
48 | 48 | PacBioHousekeeperService,
|
49 | 49 | )
|
50 |
| -from cg.services.run_devices.pacbio.metrics_parser.metrics_parser import ( |
51 |
| - PacBioMetricsParser, |
52 |
| -) |
53 |
| -from cg.services.run_devices.pacbio.post_processing_service import ( |
54 |
| - PacBioPostProcessingService, |
55 |
| -) |
| 50 | +from cg.services.run_devices.pacbio.metrics_parser.metrics_parser import PacBioMetricsParser |
| 51 | +from cg.services.run_devices.pacbio.post_processing_service import PacBioPostProcessingService |
56 | 52 | from cg.services.run_devices.pacbio.run_data_generator.pacbio_run_data_generator import (
|
57 | 53 | PacBioRunDataGenerator,
|
58 | 54 | )
|
59 |
| -from cg.services.run_devices.pacbio.run_file_manager.run_file_manager import ( |
60 |
| - PacBioRunFileManager, |
61 |
| -) |
62 |
| -from cg.services.run_devices.pacbio.run_validator.pacbio_run_validator import ( |
63 |
| - PacBioRunValidator, |
64 |
| -) |
| 55 | +from cg.services.run_devices.pacbio.run_file_manager.run_file_manager import PacBioRunFileManager |
| 56 | +from cg.services.run_devices.pacbio.run_validator.pacbio_run_validator import PacBioRunValidator |
| 57 | +from cg.services.run_devices.run_names.pacbio import PacbioRunDirectoryNamesService |
65 | 58 | from cg.services.sequencing_qc_service.sequencing_qc_service import SequencingQCService
|
66 | 59 | from cg.services.slurm_service.slurm_cli_service import SlurmCLIService
|
67 | 60 | from cg.services.slurm_service.slurm_service import SlurmService
|
@@ -360,6 +353,13 @@ class RunInstruments(BaseModel):
|
360 | 353 | illumina: IlluminaConfig
|
361 | 354 |
|
362 | 355 |
|
| 356 | +class RunDirectoryNamesServices(BaseModel): |
| 357 | + pacbio: PacbioRunDirectoryNamesService |
| 358 | + |
| 359 | + class Config: |
| 360 | + arbitrary_types_allowed = True |
| 361 | + |
| 362 | + |
363 | 363 | class PostProcessingServices(BaseModel):
|
364 | 364 | pacbio: PacBioPostProcessingService
|
365 | 365 |
|
@@ -427,6 +427,7 @@ class CGConfig(BaseModel):
|
427 | 427 | pdc_service_: PdcService | None = None
|
428 | 428 | post_processing_services_: PostProcessingServices | None = None
|
429 | 429 | pigz: CommonAppConfig | None = None
|
| 430 | + run_directory_names_services_: RunDirectoryNamesServices | None = None |
430 | 431 | sample_sheet_api_: IlluminaSampleSheetService | None = None
|
431 | 432 | scout: CommonAppConfig = None
|
432 | 433 | scout_api_: ScoutAPI = None
|
@@ -633,6 +634,17 @@ def pdc_service(self) -> PdcService:
|
633 | 634 | self.pdc_service_ = service
|
634 | 635 | return service
|
635 | 636 |
|
| 637 | + @property |
| 638 | + def run_directory_names_services(self) -> RunDirectoryNamesServices: |
| 639 | + services = self.__dict__.get("run_directory_names_services_") |
| 640 | + if services is None: |
| 641 | + LOG.debug("Instantiating run directory names services") |
| 642 | + services = RunDirectoryNamesServices( |
| 643 | + pacbio=PacbioRunDirectoryNamesService(self.run_instruments.pacbio.data_dir) |
| 644 | + ) |
| 645 | + self.run_directory_names_services_ = services |
| 646 | + return services |
| 647 | + |
636 | 648 | @property
|
637 | 649 | def sample_sheet_api(self) -> IlluminaSampleSheetService:
|
638 | 650 | sample_sheet_api = self.__dict__.get("sample_sheet_api_")
|
|
0 commit comments