cg 82.0.6__tar.gz → 83.13.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cg-82.0.6 → cg-83.13.0}/PKG-INFO +1 -1
- cg-83.13.0/cg/__init__.py +2 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/housekeeper/hk.py +1 -1
- {cg-82.0.6 → cg-83.13.0}/cg/apps/tb/api.py +1 -1
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/mutacc.py +16 -3
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/scout.py +2 -2
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/utils.py +10 -1
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/balsamic/base.py +29 -4
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/microsalt/base.py +3 -1
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/nallo/base.py +10 -22
- cg-83.13.0/cg/cli/workflow/nf_analysis.py +135 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/raredisease/base.py +9 -3
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/rnafusion/base.py +28 -3
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/taxprofiler/base.py +21 -13
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/tomte/base.py +17 -19
- {cg-82.0.6 → cg-83.13.0}/cg/constants/constants.py +3 -3
- {cg-82.0.6 → cg-83.13.0}/cg/constants/devices.py +6 -1
- {cg-82.0.6 → cg-83.13.0}/cg/constants/gene_panel.py +2 -1
- {cg-82.0.6 → cg-83.13.0}/cg/constants/orderforms.py +1 -1
- {cg-82.0.6 → cg-83.13.0}/cg/constants/pacbio.py +1 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/scout.py +6 -4
- {cg-82.0.6 → cg-83.13.0}/cg/exc.py +8 -4
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/nallo.py +1 -1
- {cg-82.0.6 → cg-83.13.0}/cg/meta/observations/balsamic_observations_api.py +1 -1
- {cg-82.0.6 → cg-83.13.0}/cg/meta/observations/mip_dna_observations_api.py +1 -1
- {cg-82.0.6 → cg-83.13.0}/cg/meta/observations/nallo_observations_api.py +1 -1
- {cg-82.0.6 → cg-83.13.0}/cg/meta/observations/observations_api.py +1 -1
- {cg-82.0.6 → cg-83.13.0}/cg/meta/observations/raredisease_observations_api.py +1 -1
- {cg-82.0.6 → cg-83.13.0}/cg/meta/tar/tar.py +5 -2
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/coverage.py +5 -5
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/raredisease/raredisease.py +3 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/scout/nallo_config_builder.py +14 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/nallo.py +22 -95
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/nf_analysis.py +11 -262
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/raredisease.py +3 -112
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/rnafusion.py +2 -34
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/taxprofiler.py +2 -38
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/tomte.py +2 -42
- {cg-82.0.6 → cg-83.13.0}/cg/models/deliverables/metric_deliverables.py +1 -1
- cg-83.13.0/cg/models/nallo/nallo.py +27 -0
- cg-83.13.0/cg/models/nf_analysis.py +44 -0
- cg-83.13.0/cg/models/raredisease/raredisease.py +11 -0
- cg-83.13.0/cg/models/rnafusion/rnafusion.py +19 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/scout/scout_load_config.py +1 -0
- cg-83.13.0/cg/models/taxprofiler/taxprofiler.py +14 -0
- cg-83.13.0/cg/models/tomte/tomte.py +20 -0
- cg-83.13.0/cg/resources/nallo_bundle_filenames.yaml +560 -0
- {cg-82.0.6 → cg-83.13.0}/cg/resources/raredisease_bundle_filenames.yaml +11 -1
- {cg-82.0.6 → cg-83.13.0}/cg/resources/taxprofiler_bundle_filenames.yaml +20 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/admin.py +46 -20
- {cg-82.0.6 → cg-83.13.0}/cg/server/app.py +15 -4
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/sequencing_run/dtos.py +21 -3
- cg-83.13.0/cg/server/endpoints/sequencing_run/pacbio_sequencing_run.py +39 -0
- cg-83.13.0/cg/server/endpoints/sequencing_run/pacbio_smrt_cell_metrics.py +20 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/configurator.py +1 -1
- cg-83.13.0/cg/services/analysis_starter/configurator/file_creators/nextflow/params_file/models.py +61 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/params_file/nallo.py +3 -1
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/params_file/tomte_params_file_creator.py +3 -1
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/tracker/implementations/balsamic.py +4 -1
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/tracker/implementations/microsalt.py +4 -4
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/tracker/implementations/mip_dna.py +4 -1
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/tracker/implementations/nextflow_tracker.py +6 -4
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/tracker/tracker.py +10 -6
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/backup/backup_service.py +29 -7
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/constants.py +3 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/index_sequences.py +558 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/data_storage_service/pacbio_store_service.py +33 -11
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/data_transfer_service/data_transfer_service.py +8 -2
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/data_transfer_service/dto.py +9 -3
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/data_transfer_service/utils.py +14 -7
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/metrics_parser/models.py +1 -0
- cg-83.13.0/cg/services/run_devices/pacbio/sequencing_runs_service.py +51 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/crud/create.py +72 -41
- {cg-82.0.6 → cg-83.13.0}/cg/store/crud/read.py +50 -2
- {cg-82.0.6 → cg-83.13.0}/cg/store/crud/update.py +11 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/models.py +69 -28
- {cg-82.0.6 → cg-83.13.0}/pyproject.toml +1 -1
- cg-82.0.6/cg/__init__.py +0 -2
- cg-82.0.6/cg/cli/workflow/nf_analysis.py +0 -336
- cg-82.0.6/cg/models/nallo/nallo.py +0 -77
- cg-82.0.6/cg/models/nf_analysis.py +0 -84
- cg-82.0.6/cg/models/raredisease/raredisease.py +0 -73
- cg-82.0.6/cg/models/rnafusion/rnafusion.py +0 -45
- cg-82.0.6/cg/models/taxprofiler/taxprofiler.py +0 -56
- cg-82.0.6/cg/models/tomte/tomte.py +0 -89
- cg-82.0.6/cg/resources/nallo_bundle_filenames.yaml +0 -300
- cg-82.0.6/cg/server/endpoints/sequencing_run/pacbio_sequencing_run.py +0 -20
- cg-82.0.6/cg/services/analysis_starter/configurator/file_creators/nextflow/params_file/models.py +0 -22
- cg-82.0.6/cg/services/run_devices/pacbio/sequencing_runs_service.py +0 -23
- {cg-82.0.6 → cg-83.13.0}/README.md +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/coverage/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/coverage/api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/crunchy/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/crunchy/crunchy.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/crunchy/files.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/crunchy/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/crunchy/sbatch.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/demultiplex_api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/sample_sheet/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/sample_sheet/api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/sample_sheet/index.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/sample_sheet/override_cycles_validator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/sample_sheet/read_sample_sheet.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/sample_sheet/sample_models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/sample_sheet/sample_sheet_creator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/sample_sheet/sample_sheet_models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/sample_sheet/sample_sheet_validator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/sample_sheet/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/sample_sheet/validators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/demultiplex/sbatch.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/downsample/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/downsample/downsample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/downsample/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/environ.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/gens.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/gt.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/hermes/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/hermes/hermes_api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/hermes/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/housekeeper/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/housekeeper/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/invoice/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/invoice/render.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/invoice/templates/KI_pool_invoice.xlsx +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/invoice/templates/KI_sample_invoice.xlsx +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/invoice/templates/KTH_pool_invoice.xlsx +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/invoice/templates/KTH_sample_invoice.xlsx +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/lims/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/lims/api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/lims/batch.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/lims/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/lims/sample_sheet.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/loqus.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/madeline/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/madeline/api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/mip/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/mip/confighandler.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/mutacc_auto.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/orderform/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/orderform/excel_orderform_parser.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/orderform/json_orderform_parser.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/orderform/orderform_parser.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/orderform/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/scout/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/scout/scout_export.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/scout/scoutapi.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/scout/validators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/slurm/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/slurm/sbatch.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/slurm/slurm_api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/tb/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/tb/dto/create_job_request.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/tb/dto/summary_response.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/tb/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/apps/tb/validators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/add.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/archive.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/backup.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/clean.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/compress/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/compress/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/compress/fastq.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/compress/helpers.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/delete/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/delete/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/delete/case.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/delete/cases.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/delete/illumina_sequencing_run.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/delete/observations.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/deliver/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/deliver/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/deliver/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/demultiplex/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/demultiplex/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/demultiplex/copy_novaseqx_demultiplex_data.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/demultiplex/demux.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/demultiplex/finish.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/demultiplex/sample_sheet.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/downsample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/generate/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/generate/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/generate/delivery_report/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/generate/delivery_report/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/generate/delivery_report/options.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/generate/delivery_report/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/get.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/post_process/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/post_process/post_process.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/post_process/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/sequencing_qc/sequencing_qc.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/set/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/set/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/set/case.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/set/cases.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/store/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/store/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/store/store.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/transfer.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/coverage.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/delivery_report.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/fohm.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/genotype.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/gens.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/gisaid.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/nipt/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/nipt/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/nipt/ftp.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/nipt/statina.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/observations/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/observations/observations.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/observations/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/upload/validate.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/balsamic/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/balsamic/options.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/balsamic/pon.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/balsamic/umi.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/commands.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/fluffy/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/fluffy/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/jasen/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/jasen/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/microsalt/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/mip/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/mip/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/mip/options.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/mip_dna/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/mip_dna/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/mip_rna/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/mip_rna/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/mutant/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/mutant/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/nallo/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/raredisease/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/raw_data/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/raw_data/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/raw_data/raw_data_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/rnafusion/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/taxprofiler/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/cli/workflow/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/arnold/api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/arnold/dto/create_case_request.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/arnold/exceptions.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/chanjo2/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/chanjo2/client.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/chanjo2/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/chanjo2/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/freshdesk/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/freshdesk/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/freshdesk/exceptions.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/freshdesk/freshdesk_client.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/freshdesk/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/freshdesk/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/janus/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/janus/api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/janus/dto/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/janus/dto/create_qc_metrics_request.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/clients/janus/exceptions.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/archiving.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/backup.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/cli_options.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/compression.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/delivery.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/demultiplexing.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/encryption.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/extraction.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/file_transfer_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/housekeeper_tags.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/invoice.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/lims.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/metrics.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/nextflow.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/nf_analysis.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/nipt.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/observations.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/paths.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/pdc.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/pedigree.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/priority.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/process.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/report.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/sample_sources.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/sequencing.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/slurm.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/subject.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/symbols.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/constants/tb.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/io/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/io/api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/io/controller.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/io/csv.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/io/gzip.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/io/json.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/io/png.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/io/txt.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/io/validate_path.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/io/xml.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/io/yaml.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/archive/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/archive/archive.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/archive/ddn/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/archive/ddn/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/archive/ddn/ddn_data_flow_client.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/archive/ddn/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/archive/ddn/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/archive/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/backup/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/backup/backup.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/clean/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/clean/api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/clean/clean_retrieved_spring_files.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/compress/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/compress/compress.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/compress/files.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery/delivery.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/balsamic.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/balsamic_umi.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/data_validators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/delivery_report_api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/mip_dna.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/raredisease.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/rnafusion.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/taxprofiler.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/delivery-report.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/data_analysis/data_analysis.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/data_analysis/limitations.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/data_analysis/qc_metrics/balsamic_qc_metrics.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/data_analysis/qc_metrics/mip_dna_qc_metrics.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/data_analysis/qc_metrics/nallo_qc_metrics.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/data_analysis/qc_metrics/qc_metrics.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/data_analysis/qc_metrics/raredisease_qc_metrics.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/data_analysis/qc_metrics/rnafusion_qc_metrics.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/data_analysis/qc_metrics/tomte_qc_metrics.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/header.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/order.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/sample_prep.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/ticket_system.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/uploaded_files/balsamic_uploaded_files.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/uploaded_files/mip_dna_uploaded_files.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/uploaded_files/nallo_uploaded_files.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/uploaded_files/raredisease_uploaded_files.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/uploaded_files/rnafusion_uploaded_files.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/macros/uploaded_files/uploaded_files.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/partials/footer.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/partials/signature.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/static/css/bootstrap.min.css +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/static/css/custom.css +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/templates/static/images/SWEDAC_logo.png +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/delivery_report/tomte.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/encryption/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/encryption/encryption.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/encryption/sbatch.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/invoice.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/meta.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/observations/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/orders/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/qc_metrics/collect_qc_metrics.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/tar/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/transfer/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/transfer/external_data.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/transfer/lims.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/transfer/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/balsamic/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/balsamic/balsamic.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/error_handling.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/fohm/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/fohm/fohm.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/gisaid/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/gisaid/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/gisaid/gisaid.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/gisaid/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/gt.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/microsalt/microsalt_upload_api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/mip/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/mip/mip_dna.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/mip/mip_rna.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/mutacc.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/mutant/mutant.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/nallo/nallo.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/nf_analysis.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/nipt/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/nipt/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/nipt/nipt.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/scout/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/scout/balsamic_config_builder.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/scout/balsamic_umi_config_builder.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/scout/hk_tags.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/scout/mip_config_builder.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/scout/raredisease_config_builder.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/scout/rnafusion_config_builder.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/scout/scout_config_builder.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/scout/uploadscoutapi.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/tomte/tomte.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/upload/upload_api.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/analysis.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/balsamic.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/balsamic_pon.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/balsamic_umi.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/downsample/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/downsample/downsample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/downsample/sbatch.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/fastq.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/fluffy.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/jasen.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/metrics_parser/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/metrics_parser/metrics_parser.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/metrics_parser/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/microsalt.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/quality_controller/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/quality_controller/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/quality_controller/quality_controller.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/quality_controller/report_generator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/quality_controller/result_logger.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/quality_controller/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/microsalt/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/mip.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/mip_dna.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/mip_rna.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/mutant/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/mutant/mutant.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/mutant/quality_controller/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/mutant/quality_controller/metrics_parser_utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/mutant/quality_controller/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/mutant/quality_controller/quality_controller.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/mutant/quality_controller/report_generator_utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/mutant/quality_controller/result_logger_utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/mutant/quality_controller/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/nf_handlers.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/prepare_fastq.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/meta/workflow/utils/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/analysis.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/balsamic/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/balsamic/analysis.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/balsamic/config.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/balsamic/metrics.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/cg_config.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/compression_data.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/deliverables/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/delivery/delivery.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/delivery_report/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/delivery_report/metadata.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/delivery_report/report.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/delivery_report/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/delivery_report/validators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/demultiplex/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/demultiplex/run_parameters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/demultiplex/sbatch.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/downsample/downsample_data.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/email.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/fastq.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/file_data.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/fohm/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/fohm/reports.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/invoice/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/invoice/invoice.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/lims/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/lims/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/mip/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/mip/mip_analysis.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/mip/mip_config.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/mip/mip_metrics_deliverables.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/mip/mip_sample_info.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/nallo/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/observations/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/observations/input_files.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/orders/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/orders/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/orders/excel_sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/orders/json_sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/orders/orderform_schema.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/orders/sample_base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/orders/validators/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/orders/validators/excel_sample_validators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/orders/validators/json_sample_validators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/orders/validators/sample_base_validators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/qc_metrics.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/raredisease/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/rnafusion/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/run_devices/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/run_devices/illumina_run_directory_data.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/run_devices/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/scout/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/scout/validators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/slurm/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/slurm/sbatch.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/taxprofiler/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/workflow/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/workflow/mutant.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/models/workflow/validators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/resources/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/resources/rnafusion_bundle_filenames.yaml +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/resources/tomte_bundle_filenames.yaml +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/app_config.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/auto.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/cases/requests.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/delivery_message/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/delivery_message/delivery_message_request.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/delivery_message/delivery_message_response.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/orders/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/orders/order_delivery_update_request.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/orders/order_patch_request.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/orders/orders_request.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/orders/orders_response.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/samples/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/samples/requests.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/dto/samples/samples_response.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/analyses.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/applications.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/cases.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/error_handler.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/index_sequences.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/orders.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/pools.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/samples.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/sequencing_metrics/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/sequencing_metrics/dtos.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/sequencing_metrics/error_handler.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/sequencing_metrics/illumina_sequencing_metrics.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/sequencing_metrics/pacbio_sequencing_metrics.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/users.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/endpoints/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/ext.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/invoices/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/invoices/templates/invoices/index.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/invoices/templates/invoices/invoice.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/invoices/templates/invoices/layout.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/invoices/templates/invoices/new.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/invoices/views.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/templates/admin/index.html +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/server/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_service/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_service/analysis_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/analysis_starter.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/abstract_model.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/extensions/nallo.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/extensions/pipeline_extension.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/extensions/raredisease.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/extensions/tomte_extension.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/balsamic_config.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/gene_panel.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/managed_variants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/microsalt_config.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/mip_dna_config.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/config_file.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/params_file/abstract.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/params_file/raredisease.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/params_file/rnafusion.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/params_file/taxprofiler.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/params_file/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/sample_sheet/creator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/sample_sheet/nallo_sample_sheet_creator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/sample_sheet/protocol.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/sample_sheet/raredisease_sample_sheet_creator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/sample_sheet/rnafusion_sample_sheet_creator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/sample_sheet/taxprofiler_sample_sheet_creator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/sample_sheet/tomte_sample_sheet_creator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/file_creators/nextflow/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/implementations/balsamic.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/implementations/microsalt.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/implementations/mip_dna.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/implementations/nextflow.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/models/balsamic.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/models/microsalt.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/models/mip_dna.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/configurator/models/nextflow.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/factories/configurator_factory.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/factories/starter_factory.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/input_fetcher/implementations/bam_fetcher.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/input_fetcher/implementations/fastq_fetcher.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/input_fetcher/input_fetcher.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/submitters/seqera_platform/dtos.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/submitters/seqera_platform/seqera_platform_client.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/submitters/seqera_platform/seqera_platform_submitter.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/submitters/submitter.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/submitters/subprocess/commands.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/analysis_starter/submitters/subprocess/submitter.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/decompression_service/decompressor.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/deliver_files_service/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/deliver_files_service/deliver_files_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/deliver_files_service/error_handling.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/deliver_files_service/exc.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/factory.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_fetcher/abstract.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_fetcher/analysis_raw_data_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_fetcher/analysis_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_fetcher/error_handling.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_fetcher/exc.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_fetcher/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_fetcher/raw_data_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/destination/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/destination/abstract.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/destination/base_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/destination/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/files/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/files/abstract.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/files/case_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/files/concatenation_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/files/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/files/mutant_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/files/sample_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/path_name/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/path_name/abstract.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/path_name/flat_structure.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_formatter/path_name/nested_structure.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_mover/abstract.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_mover/base_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/file_mover/customer_inbox_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/rsync/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/rsync/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/rsync/sbatch_commands.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/rsync/service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/tag_fetcher/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/tag_fetcher/abstract.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/tag_fetcher/error_handling.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/tag_fetcher/exc.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/tag_fetcher/fohm_upload_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/tag_fetcher/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/tag_fetcher/sample_and_case_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/deliver_files/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/delivery_message_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/analysis_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/analysis_scout_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/bam_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/covid_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/delivery_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/fastq_analysis_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/fastq_analysis_scout_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/fastq_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/fastq_scout_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/microsalt_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/order_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/raw_data_analysis_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/raw_data_analysis_scout_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/raw_data_scout_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/rna_delivery_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/scout_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/statina_message.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/messages/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/delivery_message/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/fastq_concatenation_service/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/fastq_concatenation_service/exceptions.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/fastq_concatenation_service/fastq_concatenation_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/fastq_concatenation_service/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/backup/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/backup/encrypt_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/backup/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/backup/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/backup/validators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/cleaning/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/cleaning/clean_runs_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/data_transfer/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/data_transfer/data_transfer_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/data_transfer/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/file_parsing/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/file_parsing/bcl_convert_metrics_parser.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/file_parsing/demux_version_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/file_parsing/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/file_parsing/sequencing_times/collect_sequencing_times.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/file_parsing/sequencing_times/hiseq_2500_sequencing_times_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/file_parsing/sequencing_times/hiseq_x_sequencing_times_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/file_parsing/sequencing_times/novaseq_6000_sequencing_times.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/file_parsing/sequencing_times/novaseq_x_sequencing_times_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/file_parsing/sequencing_times/sequencing_time_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/post_processing/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/post_processing/housekeeper_storage.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/post_processing/post_processing_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/post_processing/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/illumina/post_processing/validation.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/lims_service/service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/order_service/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/order_service/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/order_service/order_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/order_summary_service/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/order_summary_service/dto/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/order_summary_service/dto/order_summary.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/order_summary_service/order_summary_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/order_summary_service/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/implementations/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/implementations/case_order_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/implementations/fastq_order_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/implementations/metagenome_order_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/implementations/microbial_fastq_order_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/implementations/microbial_order_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/implementations/pacbio_order_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/implementations/pool_order_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/implementations/taxprofiler_order_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/storing/service_registry.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/submitter/service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/submitter/ticket_handler.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/errors/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/errors/case_errors.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/errors/case_sample_errors.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/errors/order_errors.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/errors/sample_errors.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/errors/validation_errors.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/model_validator/model_validator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/model_validator/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/case.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/case_aliases.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/discriminators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/existing_case.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/existing_sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/order_aliases.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/order_with_cases.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/order_with_samples.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/sample_aliases.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/models/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_type_maps.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/balsamic/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/balsamic/models/case.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/balsamic/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/balsamic/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/balsamic/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/balsamic_umi/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/balsamic_umi/models/case.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/balsamic_umi/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/balsamic_umi/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/balsamic_umi/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/fastq/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/fastq/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/fastq/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/fastq/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/fluffy/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/fluffy/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/fluffy/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/fluffy/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/metagenome/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/metagenome/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/metagenome/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/metagenome/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/microbial_fastq/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/microbial_fastq/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/microbial_fastq/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/microbial_fastq/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/microsalt/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/microsalt/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/microsalt/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/microsalt/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mip_dna/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mip_dna/models/case.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mip_dna/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mip_dna/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mip_dna/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mip_rna/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mip_rna/models/case.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mip_rna/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mip_rna/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mip_rna/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mutant/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mutant/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mutant/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/mutant/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/nallo/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/nallo/models/case.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/nallo/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/nallo/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/nallo/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/order_validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/pacbio_long_read/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/pacbio_long_read/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/pacbio_long_read/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/pacbio_long_read/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/raredisease/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/raredisease/models/case.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/raredisease/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/raredisease/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/raredisease/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/rml/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/rml/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/rml/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/rml/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/rna_fusion/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/rna_fusion/models/case.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/rna_fusion/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/rna_fusion/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/rna_fusion/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/taxprofiler/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/taxprofiler/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/taxprofiler/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/taxprofiler/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/tomte/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/tomte/models/case.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/tomte/models/order.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/tomte/models/sample.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/order_types/tomte/validation_rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/response_mapper.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/case/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/case/rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/case/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/case_sample/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/case_sample/pedigree/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/case_sample/pedigree/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/case_sample/pedigree/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/case_sample/pedigree/validate_pedigree.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/case_sample/rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/case_sample/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/order/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/order/rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/sample/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/sample/rules.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/sample/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/rules/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/orders/validation/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/pdc_service/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/pdc_service/pdc_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/abstract_classes.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/abstract_models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/constants.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/error_handler.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/exc.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/data_transfer_service/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/housekeeper_service/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/housekeeper_service/pacbio_houskeeper_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/metrics_parser/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/metrics_parser/metrics_parser.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/metrics_parser/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/post_processing_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/run_data_generator/pacbio_run_data_generator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/run_data_generator/run_data.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/run_file_manager/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/run_file_manager/run_file_manager.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/pacbio/run_validator/pacbio_run_validator.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/run_names/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/run_names/pacbio.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/run_names/service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/run_devices/validators.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/sample_run_metrics_service/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/sample_run_metrics_service/dtos.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/sample_run_metrics_service/sample_run_metrics_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/sample_run_metrics_service/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/sequencing_qc_service/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/sequencing_qc_service/quality_checks/checks.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/sequencing_qc_service/quality_checks/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/sequencing_qc_service/sequencing_qc_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/sequencing_qc_service/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/slurm_service/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/slurm_service/slurm_cli_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/slurm_service/slurm_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/slurm_upload_service/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/slurm_upload_service/slurm_upload_config.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/slurm_upload_service/slurm_upload_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/slurm_upload_service/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/validate_file_transfer_service/validate_file_transfer_service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/web_services/application/models.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/web_services/application/service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/web_services/case/service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/web_services/sample/dto_mappers.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/web_services/sample/service.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/services/web_services/sample/utils.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/api/data_classes.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/base.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/crud/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/crud/delete.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/database.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/exc.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_analysis_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_application_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_application_limitations_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_application_version_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_bed_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_bed_version_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_case_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_case_sample_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_collaboration_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_customer_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_illumina_flow_cell_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_illumina_metrics_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_illumina_sequencing_run_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_invoice_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_order_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_ordertype_application_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_organism_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_pacbio_smrt_cell_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_panel_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_pool_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_sample_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/filters/status_user_filters.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/store/store.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/calculations.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/checksum/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/checksum/checksum.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/click/EnumChoice.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/click/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/commands.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/date.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/dict.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/email.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/enums.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/files.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/flask/__init__.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/flask/enum.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/mapping.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/time.py +0 -0
- {cg-82.0.6 → cg-83.13.0}/cg/utils/utils.py +0 -0
|
@@ -7,7 +7,7 @@ import rich_click as click
|
|
|
7
7
|
from cg.apps.mutacc_auto import MutaccAutoAPI
|
|
8
8
|
from cg.apps.scout.scout_export import ScoutExportCase
|
|
9
9
|
from cg.apps.scout.scoutapi import ScoutAPI
|
|
10
|
-
from cg.cli.upload.utils import
|
|
10
|
+
from cg.cli.upload.utils import get_scout_api_by_genome_build
|
|
11
11
|
from cg.constants.cli_options import DRY_RUN
|
|
12
12
|
from cg.meta.upload.mutacc import UploadToMutaccAPI
|
|
13
13
|
from cg.models.cg_config import CGConfig
|
|
@@ -19,17 +19,30 @@ LOG = logging.getLogger(__name__)
|
|
|
19
19
|
@click.option("-c", "--case-id", help="internal case id, leave empty to process all")
|
|
20
20
|
@click.option("-d", "--days-ago", type=int, default=1, help="days since solved")
|
|
21
21
|
@click.option("-C", "--customers", type=str, multiple=True, help="Filter on customers")
|
|
22
|
+
@click.option(
|
|
23
|
+
"--scout-instance",
|
|
24
|
+
type=click.Choice(["hg19", "hg38"]),
|
|
25
|
+
help="Which scout instance to fetch cases from",
|
|
26
|
+
required=True,
|
|
27
|
+
)
|
|
22
28
|
@DRY_RUN
|
|
23
29
|
@click.pass_obj
|
|
24
30
|
def process_solved(
|
|
25
|
-
context: CGConfig,
|
|
31
|
+
context: CGConfig,
|
|
32
|
+
scout_instance: str,
|
|
33
|
+
case_id: str | None,
|
|
34
|
+
days_ago: int,
|
|
35
|
+
customers: tuple[str],
|
|
36
|
+
dry_run: bool,
|
|
26
37
|
):
|
|
27
38
|
"""Process cases with mutacc that has been marked as solved in scout.
|
|
28
39
|
This prepares them to be uploaded to the mutacc database"""
|
|
29
40
|
|
|
30
41
|
LOG.info("----------------- PROCESS-SOLVED ----------------")
|
|
31
42
|
|
|
32
|
-
scout_api: ScoutAPI =
|
|
43
|
+
scout_api: ScoutAPI = get_scout_api_by_genome_build(
|
|
44
|
+
cg_config=context, genome_build=scout_instance
|
|
45
|
+
)
|
|
33
46
|
mutacc_auto_api: MutaccAutoAPI = context.mutacc_auto_api
|
|
34
47
|
mutacc_upload_api = UploadToMutaccAPI(scout_api=scout_api, mutacc_auto_api=mutacc_auto_api)
|
|
35
48
|
|
|
@@ -8,7 +8,7 @@ from housekeeper.store.models import File, Version
|
|
|
8
8
|
|
|
9
9
|
from cg.apps.housekeeper.hk import HousekeeperAPI
|
|
10
10
|
from cg.apps.scout.scoutapi import ScoutAPI
|
|
11
|
-
from cg.cli.upload.utils import
|
|
11
|
+
from cg.cli.upload.utils import get_scout_api_by_case, suggest_cases_to_upload
|
|
12
12
|
from cg.constants import Workflow
|
|
13
13
|
from cg.constants.cli_options import DRY_RUN
|
|
14
14
|
from cg.constants.constants import FileFormat
|
|
@@ -145,7 +145,7 @@ def upload_case_to_scout(context: CGConfig, re_upload: bool, dry_run: bool, case
|
|
|
145
145
|
LOG.info("----------------- UPLOAD -----------------------")
|
|
146
146
|
|
|
147
147
|
housekeeper_api: HousekeeperAPI = context.housekeeper_api
|
|
148
|
-
scout_api: ScoutAPI =
|
|
148
|
+
scout_api: ScoutAPI = get_scout_api_by_case(cg_config=context, case_id=case_id)
|
|
149
149
|
|
|
150
150
|
tag_name: str = UploadScoutAPI.get_load_config_tag()
|
|
151
151
|
version: Version = housekeeper_api.last_version(bundle=case_id)
|
|
@@ -24,6 +24,15 @@ def suggest_cases_to_upload(status_db: Store, workflow: Workflow | None = None)
|
|
|
24
24
|
click.echo(case_obj)
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
def
|
|
27
|
+
def get_scout_api_by_case(cg_config: CGConfig, case_id: str) -> ScoutAPI:
|
|
28
28
|
workflow = cg_config.status_db.get_case_by_internal_id(case_id).data_analysis
|
|
29
29
|
return cg_config.scout_api_38 if workflow == Workflow.NALLO else cg_config.scout_api_37
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def get_scout_api_by_genome_build(cg_config: CGConfig, genome_build: str) -> ScoutAPI:
|
|
33
|
+
"""Return the appropriate ScoutAPI based on the genome build."""
|
|
34
|
+
if genome_build == "hg38":
|
|
35
|
+
return cg_config.scout_api_38
|
|
36
|
+
if genome_build == "hg19":
|
|
37
|
+
return cg_config.scout_api_37
|
|
38
|
+
raise ValueError(f"Unsupported genome build: {genome_build}")
|
|
@@ -140,7 +140,12 @@ def store_available(context: click.Context, dry_run: bool) -> None:
|
|
|
140
140
|
@ARGUMENT_CASE_ID
|
|
141
141
|
@click.pass_obj
|
|
142
142
|
def config_case(cg_config: CGConfig, case_id: str, panel_bed: str | None):
|
|
143
|
-
"""Configure a Balsamic case so that it is ready to be run.
|
|
143
|
+
"""Configure a Balsamic case so that it is ready to be run.
|
|
144
|
+
|
|
145
|
+
\b
|
|
146
|
+
Creates the case config file:
|
|
147
|
+
- CASE_ID.json
|
|
148
|
+
"""
|
|
144
149
|
factory = ConfiguratorFactory(cg_config)
|
|
145
150
|
configurator = cast(BalsamicConfigurator, factory.get_configurator(Workflow.BALSAMIC))
|
|
146
151
|
configurator.configure(case_id=case_id, panel_bed=panel_bed)
|
|
@@ -151,7 +156,13 @@ def config_case(cg_config: CGConfig, case_id: str, panel_bed: str | None):
|
|
|
151
156
|
@ARGUMENT_CASE_ID
|
|
152
157
|
@click.pass_obj
|
|
153
158
|
def run(cg_config: CGConfig, case_id: str, workflow_profile: click.Path | None):
|
|
154
|
-
"""
|
|
159
|
+
"""
|
|
160
|
+
Run a preconfigured Balsamic case.
|
|
161
|
+
|
|
162
|
+
\b
|
|
163
|
+
Assumes that case config file exist in the case run directory:
|
|
164
|
+
- CASE_ID.json
|
|
165
|
+
"""
|
|
155
166
|
factory = AnalysisStarterFactory(cg_config)
|
|
156
167
|
analysis_starter: AnalysisStarter = factory.get_analysis_starter_for_workflow(Workflow.BALSAMIC)
|
|
157
168
|
analysis_starter.run(case_id=case_id, workflow_profile=workflow_profile)
|
|
@@ -168,7 +179,14 @@ def start(
|
|
|
168
179
|
panel_bed: str | None,
|
|
169
180
|
workflow_profile: click.Path | None,
|
|
170
181
|
):
|
|
171
|
-
"""
|
|
182
|
+
"""
|
|
183
|
+
Starts a Balsamic cases.
|
|
184
|
+
|
|
185
|
+
\b
|
|
186
|
+
Configures the case and creates the case config file:
|
|
187
|
+
- CASE_ID.json
|
|
188
|
+
and submits the job to slurm.
|
|
189
|
+
"""
|
|
172
190
|
factory = AnalysisStarterFactory(cg_config)
|
|
173
191
|
analysis_starter: AnalysisStarter = factory.get_analysis_starter_for_workflow(Workflow.BALSAMIC)
|
|
174
192
|
analysis_starter.start(case_id=case_id, workflow_profile=workflow_profile, panel_bed=panel_bed)
|
|
@@ -177,7 +195,14 @@ def start(
|
|
|
177
195
|
@balsamic.command("start-available")
|
|
178
196
|
@click.pass_obj
|
|
179
197
|
def start_available(cg_config: CGConfig):
|
|
180
|
-
"""
|
|
198
|
+
"""
|
|
199
|
+
Starts all available Balsamic cases.
|
|
200
|
+
|
|
201
|
+
\b
|
|
202
|
+
Configures the individual case and creates its case config file:
|
|
203
|
+
- CASE_ID.json
|
|
204
|
+
and submits the job to slurm.
|
|
205
|
+
"""
|
|
181
206
|
LOG.info("Starting Balsamic workflow for all available cases.")
|
|
182
207
|
factory = AnalysisStarterFactory(cg_config)
|
|
183
208
|
analysis_starter = factory.get_analysis_starter_for_workflow(Workflow.BALSAMIC)
|
|
@@ -41,7 +41,9 @@ microsalt.add_command(resolve_compression)
|
|
|
41
41
|
@ARGUMENT_CASE_ID
|
|
42
42
|
@click.pass_obj
|
|
43
43
|
def config_case(cg_config: CGConfig, case_id: str) -> None:
|
|
44
|
-
"""
|
|
44
|
+
"""
|
|
45
|
+
Configure a microSALT case so that it is ready to be run.
|
|
46
|
+
"""
|
|
45
47
|
factory = ConfiguratorFactory(cg_config)
|
|
46
48
|
configurator = cast(MicrosaltConfigurator, factory.get_configurator(Workflow.MICROSALT))
|
|
47
49
|
configurator.configure(case_id=case_id)
|
|
@@ -5,7 +5,7 @@ from typing import cast
|
|
|
5
5
|
|
|
6
6
|
import rich_click as click
|
|
7
7
|
|
|
8
|
-
from cg.cli.utils import CLICK_CONTEXT_SETTINGS
|
|
8
|
+
from cg.cli.utils import CLICK_CONTEXT_SETTINGS
|
|
9
9
|
from cg.cli.workflow.commands import ARGUMENT_CASE_ID
|
|
10
10
|
from cg.cli.workflow.nf_analysis import (
|
|
11
11
|
OPTION_RESUME,
|
|
@@ -16,7 +16,6 @@ from cg.cli.workflow.nf_analysis import (
|
|
|
16
16
|
store_available,
|
|
17
17
|
store_housekeeper,
|
|
18
18
|
)
|
|
19
|
-
from cg.constants.cli_options import DRY_RUN
|
|
20
19
|
from cg.constants.constants import MetaApis, Workflow
|
|
21
20
|
from cg.meta.workflow.analysis import AnalysisAPI
|
|
22
21
|
from cg.meta.workflow.nallo import NalloAnalysisAPI
|
|
@@ -44,29 +43,14 @@ nallo.add_command(store_housekeeper)
|
|
|
44
43
|
nallo.add_command(metrics_deliver)
|
|
45
44
|
|
|
46
45
|
|
|
47
|
-
@nallo.command("panel")
|
|
48
|
-
@DRY_RUN
|
|
49
|
-
@ARGUMENT_CASE_ID
|
|
50
|
-
@click.pass_obj
|
|
51
|
-
def panel(context: CGConfig, case_id: str, dry_run: bool) -> None:
|
|
52
|
-
"""Write aggregated gene panel file exported from Scout."""
|
|
53
|
-
|
|
54
|
-
analysis_api: NalloAnalysisAPI = context.meta_apis["analysis_api"]
|
|
55
|
-
analysis_api.status_db.verify_case_exists(case_internal_id=case_id)
|
|
56
|
-
|
|
57
|
-
bed_lines: list[str] = analysis_api.get_gene_panel(case_id=case_id)
|
|
58
|
-
if dry_run:
|
|
59
|
-
echo_lines(lines=bed_lines)
|
|
60
|
-
return
|
|
61
|
-
analysis_api.write_panel_as_tsv(case_id=case_id, content=bed_lines)
|
|
62
|
-
|
|
63
|
-
|
|
64
46
|
@nallo.command("config-case")
|
|
65
47
|
@ARGUMENT_CASE_ID
|
|
66
48
|
@click.pass_obj
|
|
67
49
|
def config_case(cg_config: CGConfig, case_id: str):
|
|
68
50
|
"""
|
|
69
|
-
Configure a Nallo case so that it is ready to be run.
|
|
51
|
+
Configure a Nallo case so that it is ready to be run.
|
|
52
|
+
|
|
53
|
+
\b
|
|
70
54
|
Creates the following files in the case run directory:
|
|
71
55
|
- CASE_ID_params_file.yaml
|
|
72
56
|
- CASE_ID_nextflow_config.json
|
|
@@ -84,7 +68,9 @@ def config_case(cg_config: CGConfig, case_id: str):
|
|
|
84
68
|
@click.pass_obj
|
|
85
69
|
def run(cg_config: CGConfig, case_id: str, resume: bool, revision: str | None) -> None:
|
|
86
70
|
"""
|
|
87
|
-
Run a preconfigured Nallo case.
|
|
71
|
+
Run a preconfigured Nallo case.
|
|
72
|
+
|
|
73
|
+
\b
|
|
88
74
|
Assumes that the following files exist in the case run directory:
|
|
89
75
|
- CASE_ID_params_file.yaml
|
|
90
76
|
- CASE_ID_nextflow_config.json
|
|
@@ -101,7 +87,9 @@ def run(cg_config: CGConfig, case_id: str, resume: bool, revision: str | None) -
|
|
|
101
87
|
@click.pass_obj
|
|
102
88
|
def start(cg_config: CGConfig, case_id: str, revision: str | None):
|
|
103
89
|
"""
|
|
104
|
-
Start a Nallo case.
|
|
90
|
+
Start a Nallo case.
|
|
91
|
+
|
|
92
|
+
\b
|
|
105
93
|
Configures the case and writes the following files:
|
|
106
94
|
- CASE_ID_params_file.yaml
|
|
107
95
|
- CASE_ID_nextflow_config.json
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"""CLI options for Nextflow and NF-Tower."""
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
|
|
5
|
+
import rich_click as click
|
|
6
|
+
|
|
7
|
+
from cg.cli.workflow.commands import ARGUMENT_CASE_ID
|
|
8
|
+
from cg.cli.workflow.utils import validate_force_store_option
|
|
9
|
+
from cg.constants.cli_options import COMMENT, DRY_RUN, FORCE
|
|
10
|
+
from cg.constants.constants import MetaApis
|
|
11
|
+
from cg.exc import CgError, HousekeeperStoreError
|
|
12
|
+
from cg.meta.workflow.nf_analysis import NfAnalysisAPI
|
|
13
|
+
from cg.models.cg_config import CGConfig
|
|
14
|
+
|
|
15
|
+
LOG = logging.getLogger(__name__)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
OPTION_RESUME = click.option(
|
|
19
|
+
"--resume",
|
|
20
|
+
default=True,
|
|
21
|
+
show_default=True,
|
|
22
|
+
help="Execute the script using the cached results, useful to continue "
|
|
23
|
+
"executions that were stopped by an error",
|
|
24
|
+
)
|
|
25
|
+
OPTION_REVISION = click.option(
|
|
26
|
+
"--revision",
|
|
27
|
+
type=str,
|
|
28
|
+
help="Revision of workflow to run (either a git branch, tag or commit SHA number)",
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@click.command("metrics-deliver")
|
|
33
|
+
@ARGUMENT_CASE_ID
|
|
34
|
+
@DRY_RUN
|
|
35
|
+
@click.pass_obj
|
|
36
|
+
def metrics_deliver(context: CGConfig, case_id: str, dry_run: bool) -> None:
|
|
37
|
+
"""
|
|
38
|
+
Create and validate a metrics deliverables file for given case id.
|
|
39
|
+
If QC metrics are met it sets the status in Trailblazer to complete.
|
|
40
|
+
If failed, it sets it as failed and adds a comment with information of the failed metrics.
|
|
41
|
+
"""
|
|
42
|
+
analysis_api: NfAnalysisAPI = context.meta_apis[MetaApis.ANALYSIS_API]
|
|
43
|
+
try:
|
|
44
|
+
analysis_api.metrics_deliver(case_id=case_id, dry_run=dry_run)
|
|
45
|
+
except CgError as error:
|
|
46
|
+
raise click.Abort() from error
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
@click.command("report-deliver")
|
|
50
|
+
@ARGUMENT_CASE_ID
|
|
51
|
+
@DRY_RUN
|
|
52
|
+
@FORCE
|
|
53
|
+
@click.pass_obj
|
|
54
|
+
def report_deliver(context: CGConfig, case_id: str, dry_run: bool, force: bool) -> None:
|
|
55
|
+
"""
|
|
56
|
+
Create a Housekeeper deliverables file for a given case ID.
|
|
57
|
+
|
|
58
|
+
Raises:
|
|
59
|
+
click.Abort: If an error occurs during the deliverables report generation or validation.
|
|
60
|
+
"""
|
|
61
|
+
analysis_api: NfAnalysisAPI = context.meta_apis[MetaApis.ANALYSIS_API]
|
|
62
|
+
try:
|
|
63
|
+
analysis_api.report_deliver(case_id=case_id, dry_run=dry_run, force=force)
|
|
64
|
+
except CgError as error:
|
|
65
|
+
LOG.error(f"Could not create report file: {error}")
|
|
66
|
+
raise click.Abort()
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
@click.command("store-housekeeper")
|
|
70
|
+
@ARGUMENT_CASE_ID
|
|
71
|
+
@DRY_RUN
|
|
72
|
+
@FORCE
|
|
73
|
+
@click.pass_obj
|
|
74
|
+
def store_housekeeper(context: CGConfig, case_id: str, dry_run: bool, force: bool) -> None:
|
|
75
|
+
"""
|
|
76
|
+
Store a finished NF-analysis in Housekeeper.
|
|
77
|
+
|
|
78
|
+
Raises:
|
|
79
|
+
click.Abort: If an error occurs while storing a case bundle in Housekeeper.
|
|
80
|
+
"""
|
|
81
|
+
analysis_api: NfAnalysisAPI = context.meta_apis[MetaApis.ANALYSIS_API]
|
|
82
|
+
try:
|
|
83
|
+
analysis_api.store_analysis_housekeeper(case_id=case_id, dry_run=dry_run, force=force)
|
|
84
|
+
except HousekeeperStoreError as error:
|
|
85
|
+
LOG.error(f"Could not store bundle in Housekeeper and StatusDB: {error}!")
|
|
86
|
+
raise click.Abort()
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
@click.command("store")
|
|
90
|
+
@ARGUMENT_CASE_ID
|
|
91
|
+
@COMMENT
|
|
92
|
+
@DRY_RUN
|
|
93
|
+
@FORCE
|
|
94
|
+
@click.pass_context
|
|
95
|
+
def store(
|
|
96
|
+
context: click.Context, case_id: str, comment: str | None, dry_run: bool, force: bool
|
|
97
|
+
) -> None:
|
|
98
|
+
"""
|
|
99
|
+
Store deliverable files in Housekeeper after meeting QC metrics criteria.
|
|
100
|
+
|
|
101
|
+
Raises:
|
|
102
|
+
click.Abort: If an error occurs during the deliverables file generation, metrics
|
|
103
|
+
validation, or storage processes.
|
|
104
|
+
"""
|
|
105
|
+
validate_force_store_option(force=force, comment=comment)
|
|
106
|
+
analysis_api: NfAnalysisAPI = context.obj.meta_apis[MetaApis.ANALYSIS_API]
|
|
107
|
+
try:
|
|
108
|
+
analysis_api.store(case_id=case_id, comment=comment, dry_run=dry_run, force=force)
|
|
109
|
+
except Exception as error:
|
|
110
|
+
LOG.error(repr(error))
|
|
111
|
+
raise click.Abort()
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
@click.command("store-available")
|
|
115
|
+
@DRY_RUN
|
|
116
|
+
@click.pass_context
|
|
117
|
+
def store_available(context: click.Context, dry_run: bool) -> None:
|
|
118
|
+
"""
|
|
119
|
+
Store finished analyses for cases marked as running in StatusDB and completed or QC in Trailblazer.
|
|
120
|
+
|
|
121
|
+
Raises:
|
|
122
|
+
click.Abort: If any error occurs during the storage process.
|
|
123
|
+
"""
|
|
124
|
+
|
|
125
|
+
analysis_api: NfAnalysisAPI = context.obj.meta_apis[MetaApis.ANALYSIS_API]
|
|
126
|
+
was_successful: bool = True
|
|
127
|
+
for case in analysis_api.get_cases_to_store():
|
|
128
|
+
LOG.info(f"Storing deliverables for {case.internal_id}")
|
|
129
|
+
try:
|
|
130
|
+
analysis_api.store(case_id=case.internal_id, dry_run=dry_run)
|
|
131
|
+
except Exception as error:
|
|
132
|
+
LOG.error(f"Error storing {case.internal_id}: {repr(error)}")
|
|
133
|
+
was_successful = False
|
|
134
|
+
if not was_successful:
|
|
135
|
+
raise click.Abort()
|
|
@@ -49,7 +49,9 @@ raredisease.add_command(store_housekeeper)
|
|
|
49
49
|
@click.pass_obj
|
|
50
50
|
def config_case(cg_config: CGConfig, case_id: str):
|
|
51
51
|
"""
|
|
52
|
-
Configure a raredisease case so that it is ready to be run.
|
|
52
|
+
Configure a raredisease case so that it is ready to be run.
|
|
53
|
+
|
|
54
|
+
\b
|
|
53
55
|
Creates the following files in the case run directory:
|
|
54
56
|
- CASE_ID_params_file.yaml
|
|
55
57
|
- CASE_ID_nextflow_config.json
|
|
@@ -67,7 +69,9 @@ def config_case(cg_config: CGConfig, case_id: str):
|
|
|
67
69
|
@click.pass_obj
|
|
68
70
|
def run(cg_config: CGConfig, case_id: str, resume: bool, revision: str | None):
|
|
69
71
|
"""
|
|
70
|
-
Run a preconfigured raredisease case.
|
|
72
|
+
Run a preconfigured raredisease case.
|
|
73
|
+
|
|
74
|
+
\b
|
|
71
75
|
Assumes that the following files exist in the case run directory:
|
|
72
76
|
- CASE_ID_params_file.yaml
|
|
73
77
|
- CASE_ID_nextflow_config.json
|
|
@@ -86,7 +90,9 @@ def run(cg_config: CGConfig, case_id: str, resume: bool, revision: str | None):
|
|
|
86
90
|
@click.pass_obj
|
|
87
91
|
def start(cg_config: CGConfig, case_id: str, revision: str | None):
|
|
88
92
|
"""
|
|
89
|
-
Start a raredisease case.
|
|
93
|
+
Start a raredisease case.
|
|
94
|
+
|
|
95
|
+
\b
|
|
90
96
|
Configures the case and writes the following files:
|
|
91
97
|
- CASE_ID_params_file.yaml
|
|
92
98
|
- CASE_ID_nextflow_config.json
|
|
@@ -48,7 +48,15 @@ rnafusion.add_command(store_available)
|
|
|
48
48
|
@ARGUMENT_CASE_ID
|
|
49
49
|
@click.pass_obj
|
|
50
50
|
def config_case(cg_config: CGConfig, case_id: str):
|
|
51
|
-
"""
|
|
51
|
+
"""
|
|
52
|
+
Configure an RNAFUSION case so that it is ready to be run.
|
|
53
|
+
|
|
54
|
+
\b
|
|
55
|
+
Creates the following files in the case run directory:
|
|
56
|
+
- CASE_ID_params_file.yaml
|
|
57
|
+
- CASE_ID_nextflow_config.json
|
|
58
|
+
- CASE_ID_samplesheet.csv
|
|
59
|
+
"""
|
|
52
60
|
factory = ConfiguratorFactory(cg_config)
|
|
53
61
|
configurator = cast(NextflowConfigurator, factory.get_configurator(Workflow.RNAFUSION))
|
|
54
62
|
configurator.configure(case_id=case_id)
|
|
@@ -60,7 +68,15 @@ def config_case(cg_config: CGConfig, case_id: str):
|
|
|
60
68
|
@ARGUMENT_CASE_ID
|
|
61
69
|
@click.pass_obj
|
|
62
70
|
def run(cg_config: CGConfig, case_id: str, resume: bool, revision: str | None):
|
|
63
|
-
"""
|
|
71
|
+
"""
|
|
72
|
+
Run a preconfigured RNAFUSION case.
|
|
73
|
+
|
|
74
|
+
\b
|
|
75
|
+
Assumes that the following files exist in the case run directory:
|
|
76
|
+
- CASE_ID_params_file.yaml
|
|
77
|
+
- CASE_ID_nextflow_config.json
|
|
78
|
+
- CASE_ID_samplesheet.csv
|
|
79
|
+
"""
|
|
64
80
|
factory = AnalysisStarterFactory(cg_config)
|
|
65
81
|
analysis_starter: AnalysisStarter = factory.get_analysis_starter_for_workflow(
|
|
66
82
|
Workflow.RNAFUSION
|
|
@@ -73,7 +89,16 @@ def run(cg_config: CGConfig, case_id: str, resume: bool, revision: str | None):
|
|
|
73
89
|
@ARGUMENT_CASE_ID
|
|
74
90
|
@click.pass_obj
|
|
75
91
|
def start(cg_config: CGConfig, case_id: str, revision: str | None):
|
|
76
|
-
"""
|
|
92
|
+
"""
|
|
93
|
+
Start an RNAFUSION case. Configures the case if needed.
|
|
94
|
+
|
|
95
|
+
\b
|
|
96
|
+
Configures the case and writes the following files:
|
|
97
|
+
- CASE_ID_params_file.yaml
|
|
98
|
+
- CASE_ID_nextflow_config.json
|
|
99
|
+
- CASE_ID_samplesheet.csv
|
|
100
|
+
and submits the job to the Seqera Platform.
|
|
101
|
+
"""
|
|
77
102
|
LOG.info(f"Starting RNAFUSION workflow for case {case_id}.")
|
|
78
103
|
factory = AnalysisStarterFactory(cg_config)
|
|
79
104
|
analysis_starter: AnalysisStarter = factory.get_analysis_starter_for_workflow(
|
|
@@ -41,11 +41,14 @@ def taxprofiler(context: click.Context) -> None:
|
|
|
41
41
|
@ARGUMENT_CASE_ID
|
|
42
42
|
@click.pass_obj
|
|
43
43
|
def start(cg_config: CGConfig, case_id: str, revision: str | None) -> None:
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
"""
|
|
45
|
+
Start a Taxprofiler case.
|
|
46
|
+
|
|
47
|
+
\b
|
|
48
|
+
Configures the case and writes the following files:
|
|
49
|
+
- CASE_ID_params_file.yaml
|
|
50
|
+
- CASE_ID_nextflow_config.json
|
|
51
|
+
- CASE_ID_samplesheet.csv
|
|
49
52
|
and submits the job to the Seqera Platform.
|
|
50
53
|
"""
|
|
51
54
|
factory = AnalysisStarterFactory(cg_config)
|
|
@@ -75,10 +78,13 @@ def start_available(cg_config: CGConfig) -> None:
|
|
|
75
78
|
@ARGUMENT_CASE_ID
|
|
76
79
|
@click.pass_obj
|
|
77
80
|
def run(cg_config: CGConfig, case_id: str, resume: bool, revision: str | None) -> None:
|
|
78
|
-
"""
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
"""
|
|
82
|
+
Run a preconfigured Taxprofiler case.
|
|
83
|
+
|
|
84
|
+
\b
|
|
85
|
+
Assumes that the following files are in the case run directory:
|
|
86
|
+
- CASE_ID_params_file.yaml
|
|
87
|
+
- CASE_ID_nextflow_config.json
|
|
82
88
|
- CASE_ID_samplesheet.csv
|
|
83
89
|
"""
|
|
84
90
|
factory = AnalysisStarterFactory(cg_config)
|
|
@@ -92,10 +98,12 @@ def run(cg_config: CGConfig, case_id: str, resume: bool, revision: str | None) -
|
|
|
92
98
|
@ARGUMENT_CASE_ID
|
|
93
99
|
@click.pass_obj
|
|
94
100
|
def config_case(cg_config: CGConfig, case_id: str) -> None:
|
|
95
|
-
"""Configure a Taxprofiler case so that it is ready to be run.
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
101
|
+
"""Configure a Taxprofiler case so that it is ready to be run.
|
|
102
|
+
|
|
103
|
+
\b
|
|
104
|
+
Creates the following files in the case run directory:
|
|
105
|
+
- CASE_ID_params_file.yaml
|
|
106
|
+
- CASE_ID_nextflow_config.json
|
|
99
107
|
- CASE_ID_samplesheet.csv
|
|
100
108
|
"""
|
|
101
109
|
factory = ConfiguratorFactory(cg_config)
|
|
@@ -10,12 +10,8 @@ from cg.cli.workflow.commands import ARGUMENT_CASE_ID, resolve_compression
|
|
|
10
10
|
from cg.cli.workflow.nf_analysis import (
|
|
11
11
|
OPTION_RESUME,
|
|
12
12
|
OPTION_REVISION,
|
|
13
|
-
config_case,
|
|
14
13
|
metrics_deliver,
|
|
15
14
|
report_deliver,
|
|
16
|
-
run,
|
|
17
|
-
start,
|
|
18
|
-
start_available,
|
|
19
15
|
store,
|
|
20
16
|
store_available,
|
|
21
17
|
store_housekeeper,
|
|
@@ -41,10 +37,6 @@ def tomte(context: click.Context) -> None:
|
|
|
41
37
|
|
|
42
38
|
|
|
43
39
|
tomte.add_command(resolve_compression)
|
|
44
|
-
tomte.add_command(config_case)
|
|
45
|
-
tomte.add_command(run)
|
|
46
|
-
tomte.add_command(start)
|
|
47
|
-
tomte.add_command(start_available)
|
|
48
40
|
tomte.add_command(metrics_deliver)
|
|
49
41
|
tomte.add_command(report_deliver)
|
|
50
42
|
tomte.add_command(store_housekeeper)
|
|
@@ -52,12 +44,14 @@ tomte.add_command(store)
|
|
|
52
44
|
tomte.add_command(store_available)
|
|
53
45
|
|
|
54
46
|
|
|
55
|
-
@tomte.command("
|
|
47
|
+
@tomte.command("config-case")
|
|
56
48
|
@ARGUMENT_CASE_ID
|
|
57
49
|
@click.pass_obj
|
|
58
|
-
def
|
|
50
|
+
def config_case(cg_config: CGConfig, case_id: str):
|
|
59
51
|
"""
|
|
60
|
-
Configure a Tomte case so that it is ready to be run.
|
|
52
|
+
Configure a Tomte case so that it is ready to be run.
|
|
53
|
+
|
|
54
|
+
\b
|
|
61
55
|
Creates the following files in the case run directory:
|
|
62
56
|
- CASE_ID_params_file.yaml
|
|
63
57
|
- CASE_ID_nextflow_config.json
|
|
@@ -69,14 +63,16 @@ def dev_config_case(cg_config: CGConfig, case_id: str):
|
|
|
69
63
|
configurator.configure(case_id=case_id)
|
|
70
64
|
|
|
71
65
|
|
|
72
|
-
@tomte.command("
|
|
66
|
+
@tomte.command("run")
|
|
73
67
|
@OPTION_REVISION
|
|
74
68
|
@OPTION_RESUME
|
|
75
69
|
@ARGUMENT_CASE_ID
|
|
76
70
|
@click.pass_obj
|
|
77
|
-
def
|
|
71
|
+
def run(cg_config: CGConfig, case_id: str, resume: bool, revision: str | None) -> None:
|
|
78
72
|
"""
|
|
79
|
-
Run a preconfigured Tomte case.
|
|
73
|
+
Run a preconfigured Tomte case.
|
|
74
|
+
|
|
75
|
+
\b
|
|
80
76
|
Assumes that the following files exist in the case run directory:
|
|
81
77
|
- CASE_ID_params_file.yaml
|
|
82
78
|
- CASE_ID_nextflow_config.json
|
|
@@ -88,13 +84,15 @@ def dev_run(cg_config: CGConfig, case_id: str, resume: bool, revision: str | Non
|
|
|
88
84
|
analysis_starter.run(case_id=case_id, resume=resume, revision=revision)
|
|
89
85
|
|
|
90
86
|
|
|
91
|
-
@tomte.command("
|
|
87
|
+
@tomte.command("start")
|
|
92
88
|
@OPTION_REVISION
|
|
93
89
|
@ARGUMENT_CASE_ID
|
|
94
90
|
@click.pass_obj
|
|
95
|
-
def
|
|
91
|
+
def start(cg_config: CGConfig, case_id: str, revision: str | None):
|
|
96
92
|
"""
|
|
97
|
-
Start a Tomte case.
|
|
93
|
+
Start a Tomte case.
|
|
94
|
+
|
|
95
|
+
\b
|
|
98
96
|
Configures the case and writes the following files:
|
|
99
97
|
- CASE_ID_params_file.yaml
|
|
100
98
|
- CASE_ID_nextflow_config.json
|
|
@@ -107,9 +105,9 @@ def dev_start(cg_config: CGConfig, case_id: str, revision: str | None):
|
|
|
107
105
|
analysis_starter.start(case_id=case_id, revision=revision)
|
|
108
106
|
|
|
109
107
|
|
|
110
|
-
@tomte.command("
|
|
108
|
+
@tomte.command("start-available")
|
|
111
109
|
@click.pass_obj
|
|
112
|
-
def
|
|
110
|
+
def start_available(cg_config: CGConfig):
|
|
113
111
|
"""Starts all available Tomte cases."""
|
|
114
112
|
LOG.info("Starting Tomte workflow for all available cases.")
|
|
115
113
|
factory = AnalysisStarterFactory(cg_config)
|
|
@@ -100,9 +100,9 @@ class CancerAnalysisType(StrEnum):
|
|
|
100
100
|
|
|
101
101
|
|
|
102
102
|
class SexOptions(StrEnum):
|
|
103
|
-
MALE
|
|
104
|
-
FEMALE
|
|
105
|
-
UNKNOWN
|
|
103
|
+
MALE = "male"
|
|
104
|
+
FEMALE = "female"
|
|
105
|
+
UNKNOWN = "unknown"
|
|
106
106
|
|
|
107
107
|
|
|
108
108
|
SARS_COV_REGEX = "^[0-9]{2}CS[0-9]{6}$"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Enums for run_devices."""
|
|
2
2
|
|
|
3
|
-
from enum import Enum, auto
|
|
3
|
+
from enum import Enum, StrEnum, auto
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class DeviceType(Enum):
|
|
@@ -8,3 +8,8 @@ class DeviceType(Enum):
|
|
|
8
8
|
BIONANO = auto()
|
|
9
9
|
OXFORD_NANOPORE = auto()
|
|
10
10
|
PACBIO = auto()
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class RevioNames(StrEnum):
|
|
14
|
+
BETTY = "Betty"
|
|
15
|
+
WILMA = "Wilma"
|
|
@@ -20,6 +20,7 @@ class GenePanelMasterList(StrEnum):
|
|
|
20
20
|
CH = "CH"
|
|
21
21
|
CHILDHYPOTONIA = "CHILDHYPOTONIA"
|
|
22
22
|
CTD = "CTD"
|
|
23
|
+
COMPD = "COMPD"
|
|
23
24
|
DIAB = "DIAB"
|
|
24
25
|
ENDO = "ENDO"
|
|
25
26
|
EP = "EP"
|
|
@@ -47,7 +48,7 @@ class GenePanelMasterList(StrEnum):
|
|
|
47
48
|
SOVM = "SOVM"
|
|
48
49
|
STROKE = "STROKE"
|
|
49
50
|
AID = "AID"
|
|
50
|
-
|
|
51
|
+
IHC = "IHC"
|
|
51
52
|
VEO_IBD = "VEO-IBD"
|
|
52
53
|
KIDNEY = "Kidney"
|
|
53
54
|
CAKUT = "CAKUT"
|