cg 83.11.6__py3-none-any.whl → 83.11.8__py3-none-any.whl

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/__init__.py CHANGED
@@ -1,2 +1,2 @@
1
1
  __title__ = "cg"
2
- __version__ = "83.11.6"
2
+ __version__ = "83.11.8"
cg/server/admin.py CHANGED
@@ -883,7 +883,7 @@ class PacbioSmrtCellMetricsView(BaseView):
883
883
 
884
884
  column_list = (
885
885
  "internal_id",
886
- "run_name",
886
+ "sequencing_run.run_name",
887
887
  "movie_name",
888
888
  "well",
889
889
  "plate",
@@ -907,8 +907,9 @@ class PacbioSmrtCellMetricsView(BaseView):
907
907
  "internal_id": view_pacbio_sample_sequencing_metrics_link,
908
908
  "model": view_smrt_cell_model,
909
909
  }
910
+ column_labels = {"sequencing_run.run_name": "Run Name"}
910
911
  column_default_sort = ("completed_at", True)
911
- column_searchable_list = ["device.internal_id", "run_name", "movie_name"]
912
+ column_searchable_list = ["device.internal_id", "movie_name", "sequencing_run.run_name"]
912
913
  column_sortable_list = [
913
914
  ("internal_id", "device.internal_id"),
914
915
  "started_at",
@@ -936,19 +937,22 @@ class PacbioSmrtCellMetricsView(BaseView):
936
937
 
937
938
 
938
939
  class PacbioSampleRunMetricsView(BaseView):
939
- column_filters = ["instrument_run.run_name", "instrument_run.plate"]
940
+ column_filters = [
941
+ "instrument_run.plate",
942
+ "instrument_run.sequencing_run.run_name",
943
+ ]
940
944
  column_formatters = {
941
945
  "smrt_cell": PacbioSmrtCellMetricsView.view_smrt_cell_link,
942
946
  "sample": SampleView.view_sample_link,
943
947
  }
944
948
  column_labels = {
945
- "instrument_run.run_name": "Run name",
946
949
  "instrument_run.plate": "Plate",
950
+ "instrument_run.sequencing_run.run_name": "Run Name",
947
951
  }
948
952
  column_list = [
949
953
  "smrt_cell",
950
954
  "sample",
951
- "instrument_run.run_name",
955
+ "instrument_run.sequencing_run.run_name",
952
956
  "instrument_run.plate",
953
957
  "hifi_reads",
954
958
  "hifi_yield",
@@ -958,4 +962,5 @@ class PacbioSampleRunMetricsView(BaseView):
958
962
  column_searchable_list = [
959
963
  "sample.internal_id",
960
964
  "instrument_run.device.internal_id",
965
+ "instrument_run.sequencing_run.run_name",
961
966
  ]
cg/server/app.py CHANGED
@@ -20,7 +20,6 @@ from cg.server.endpoints.sequencing_metrics.pacbio_sequencing_metrics import (
20
20
  PACBIO_SAMPLE_SEQUENCING_METRICS_BLUEPRINT,
21
21
  )
22
22
  from cg.server.endpoints.sequencing_run.pacbio_sequencing_run import (
23
- PACBIO_SEQUENCING_RUN_BLUEPRINT,
24
23
  PACBIO_SEQUENCING_RUNS_BLUEPRINT,
25
24
  )
26
25
  from cg.server.endpoints.sequencing_run.pacbio_smrt_cell_metrics import (
@@ -113,7 +112,6 @@ def _register_blueprints(app: Flask):
113
112
  app.register_blueprint(ANALYSES_BLUEPRINT)
114
113
  app.register_blueprint(USERS_BLUEPRINT)
115
114
  app.register_blueprint(PACBIO_SAMPLE_SEQUENCING_METRICS_BLUEPRINT)
116
- app.register_blueprint(PACBIO_SEQUENCING_RUN_BLUEPRINT)
117
115
  app.register_blueprint(PACBIO_SEQUENCING_RUNS_BLUEPRINT)
118
116
  app.register_blueprint(PACBIO_SMRT_CELL_METRICS_BLUEPRINT)
119
117
  app.register_blueprint(INDEX_SEQUENCES_BLUEPRINT)
@@ -7,33 +7,19 @@ from cg.server.endpoints.error_handler import handle_missing_entries
7
7
  from cg.server.endpoints.sequencing_run.dtos import (
8
8
  PacbioSequencingRunResponse,
9
9
  PacbioSequencingRunUpdateRequest,
10
- PacbioSmrtCellMetricsResponse,
11
10
  )
12
11
  from cg.server.endpoints.utils import before_request
13
12
  from cg.server.ext import pacbio_sequencing_runs_service
14
13
 
15
- PACBIO_SEQUENCING_RUN_BLUEPRINT = Blueprint(
16
- "pacbio_sequencing_run", __name__, url_prefix="/api/v1/pacbio_sequencing_run"
17
- )
18
14
  PACBIO_SEQUENCING_RUNS_BLUEPRINT = Blueprint(
19
15
  "pacbio_sequencing_runs", __name__, url_prefix="/api/v1/"
20
16
  )
21
- PACBIO_SEQUENCING_RUN_BLUEPRINT.before_request(before_request)
22
17
  PACBIO_SEQUENCING_RUNS_BLUEPRINT.before_request(before_request)
23
18
 
24
19
 
25
- @PACBIO_SEQUENCING_RUN_BLUEPRINT.route("/<run_name>", methods=["GET"])
26
- @handle_missing_entries
27
- def get_sequencing_runs(run_name: str):
28
- response: PacbioSmrtCellMetricsResponse = (
29
- pacbio_sequencing_runs_service.get_sequencing_runs_by_name(run_name)
30
- )
31
- return jsonify(response.model_dump())
32
-
33
-
34
20
  @PACBIO_SEQUENCING_RUNS_BLUEPRINT.route("/pacbio_sequencing_runs", methods=["GET"])
35
21
  @handle_missing_entries
36
- def get_sequencing_runs_new(): # TODO rename endpoint to pacbio_sequencing_runs
22
+ def get_sequencing_runs():
37
23
  page: int = int(request.args.get("page", "0"))
38
24
  page_size: int = int(request.args.get("pageSize", "0"))
39
25
  sequencing_runs: PacbioSequencingRunResponse = (
@@ -21,7 +21,7 @@ from cg.services.run_devices.pacbio.data_transfer_service.dto import (
21
21
  PacBioSMRTCellMetricsDTO,
22
22
  )
23
23
  from cg.services.run_devices.pacbio.run_data_generator.run_data import PacBioRunData
24
- from cg.store.models import PacbioSMRTCell, PacbioSMRTCellMetrics
24
+ from cg.store.models import PacbioSequencingRun, PacbioSMRTCell, PacbioSMRTCellMetrics
25
25
  from cg.store.store import Store
26
26
 
27
27
  LOG = logging.getLogger(__name__)
@@ -37,17 +37,23 @@ class PacBioStoreService(PostProcessingStoreService):
37
37
 
38
38
  def _create_pacbio_sequencing_run_if_non_existent(
39
39
  self, sequencing_run_dto: PacBioSequencingRunDTO
40
- ) -> None:
40
+ ) -> PacbioSequencingRun:
41
41
  try:
42
- self.store.create_pacbio_sequencing_run(sequencing_run_dto)
42
+ return self.store.create_pacbio_sequencing_run(sequencing_run_dto)
43
43
  except PacbioSequencingRunAlreadyExistsError:
44
44
  LOG.debug(f"Sequencing run {sequencing_run_dto.run_name} already exists")
45
+ return self.store.get_pacbio_sequencing_run_by_run_name(sequencing_run_dto.run_name)
45
46
 
46
47
  def _create_pacbio_smrt_cell_metrics(
47
- self, instrument_run_dto: PacBioSMRTCellMetricsDTO, smrt_cell: PacbioSMRTCell
48
+ self,
49
+ instrument_run_dto: PacBioSMRTCellMetricsDTO,
50
+ sequencing_run: PacbioSequencingRun,
51
+ smrt_cell: PacbioSMRTCell,
48
52
  ) -> PacbioSMRTCellMetrics:
49
53
  return self.store.create_pacbio_smrt_cell_metrics(
50
- smrt_cell_metrics_dto=instrument_run_dto, smrt_cell=smrt_cell
54
+ smrt_cell_metrics_dto=instrument_run_dto,
55
+ sequencing_run=sequencing_run,
56
+ smrt_cell=smrt_cell,
51
57
  )
52
58
 
53
59
  def _create_sample_run_metrics(
@@ -79,10 +85,14 @@ class PacBioStoreService(PostProcessingStoreService):
79
85
  )
80
86
  def store_post_processing_data(self, run_data: PacBioRunData, dry_run: bool = False) -> None:
81
87
  dtos: PacBioDTOs = self.data_transfer_service.get_post_processing_dtos(run_data)
82
- self._create_pacbio_sequencing_run_if_non_existent(dtos.sequencing_run)
88
+ sequencing_run: PacbioSequencingRun = self._create_pacbio_sequencing_run_if_non_existent(
89
+ dtos.sequencing_run
90
+ )
83
91
  smrt_cell: PacbioSMRTCell = self._create_run_device(dtos.run_device)
84
92
  smrt_cell_metrics: PacbioSMRTCellMetrics = self._create_pacbio_smrt_cell_metrics(
85
- instrument_run_dto=dtos.smrt_cell_metrics, smrt_cell=smrt_cell
93
+ instrument_run_dto=dtos.smrt_cell_metrics,
94
+ sequencing_run=sequencing_run,
95
+ smrt_cell=smrt_cell,
86
96
  )
87
97
  self._create_sample_run_metrics(
88
98
  sample_run_metrics_dtos=dtos.sample_sequencing_metrics,
@@ -21,6 +21,7 @@ class PacbioSequencingRunsService:
21
21
  for db_run in db_runs:
22
22
  run_dict = db_run.to_dict()
23
23
  run_dict["internal_id"] = db_run.device.internal_id
24
+ run_dict["run_name"] = db_run.sequencing_run.run_name
24
25
  run = PacbioSmrtCellMetricsDTO.model_validate(run_dict)
25
26
  runs.append(run)
26
27
  return PacbioSmrtCellMetricsResponse(runs=runs)
cg/store/crud/create.py CHANGED
@@ -529,46 +529,49 @@ class CreateMixin(ReadHandler):
529
529
  return sequencing_run
530
530
 
531
531
  def create_pacbio_smrt_cell_metrics(
532
- self, smrt_cell_metrics_dto: PacBioSMRTCellMetricsDTO, smrt_cell: PacbioSMRTCell
532
+ self,
533
+ sequencing_run: PacbioSequencingRun,
534
+ smrt_cell_metrics_dto: PacBioSMRTCellMetricsDTO,
535
+ smrt_cell: PacbioSMRTCell,
533
536
  ) -> PacbioSMRTCellMetrics:
534
537
  LOG.debug(f"Creating Pacbio SMRT cell metrics for SMRT cell {smrt_cell.internal_id}")
535
538
  new_sequencing_run = PacbioSMRTCellMetrics(
536
- type=smrt_cell_metrics_dto.type,
537
- well=smrt_cell_metrics_dto.well,
538
- plate=smrt_cell_metrics_dto.plate,
539
- run_name=smrt_cell_metrics_dto.run_name,
540
- movie_name=smrt_cell_metrics_dto.movie_name,
541
- started_at=smrt_cell_metrics_dto.started_at,
539
+ barcoded_hifi_mean_read_length=smrt_cell_metrics_dto.barcoded_hifi_mean_read_length,
540
+ barcoded_hifi_reads=smrt_cell_metrics_dto.barcoded_hifi_reads,
541
+ barcoded_hifi_reads_percentage=smrt_cell_metrics_dto.barcoded_hifi_reads_percentage,
542
+ barcoded_hifi_yield=smrt_cell_metrics_dto.barcoded_hifi_yield,
543
+ barcoded_hifi_yield_percentage=smrt_cell_metrics_dto.barcoded_hifi_yield_percentage,
542
544
  completed_at=smrt_cell_metrics_dto.completed_at,
543
- hifi_reads=smrt_cell_metrics_dto.hifi_reads,
544
- hifi_yield=smrt_cell_metrics_dto.hifi_yield,
545
+ control_mean_read_concordance=smrt_cell_metrics_dto.control_mean_read_concordance,
546
+ control_mean_read_length=smrt_cell_metrics_dto.control_mean_read_length,
547
+ control_mode_read_concordance=smrt_cell_metrics_dto.control_mode_read_concordance,
548
+ control_reads=smrt_cell_metrics_dto.control_reads,
549
+ device=smrt_cell,
550
+ failed_mean_read_length=smrt_cell_metrics_dto.failed_mean_read_length,
551
+ failed_reads=smrt_cell_metrics_dto.failed_reads,
552
+ failed_yield=smrt_cell_metrics_dto.failed_yield,
545
553
  hifi_mean_read_length=smrt_cell_metrics_dto.hifi_mean_read_length,
546
554
  hifi_median_read_quality=smrt_cell_metrics_dto.hifi_median_read_quality,
547
- percent_reads_passing_q30=smrt_cell_metrics_dto.percent_reads_passing_q30,
548
- productive_zmws=smrt_cell_metrics_dto.productive_zmws,
555
+ hifi_reads=smrt_cell_metrics_dto.hifi_reads,
556
+ hifi_yield=smrt_cell_metrics_dto.hifi_yield,
557
+ movie_name=smrt_cell_metrics_dto.movie_name,
549
558
  p0_percent=smrt_cell_metrics_dto.p0_percent,
550
559
  p1_percent=smrt_cell_metrics_dto.p1_percent,
551
560
  p2_percent=smrt_cell_metrics_dto.p2_percent,
561
+ percent_reads_passing_q30=smrt_cell_metrics_dto.percent_reads_passing_q30,
562
+ plate=smrt_cell_metrics_dto.plate,
563
+ polymerase_longest_subread_n50=smrt_cell_metrics_dto.polymerase_longest_subread_n50,
564
+ polymerase_mean_longest_subread=smrt_cell_metrics_dto.polymerase_mean_longest_subread,
552
565
  polymerase_mean_read_length=smrt_cell_metrics_dto.polymerase_mean_read_length,
553
566
  polymerase_read_length_n50=smrt_cell_metrics_dto.polymerase_read_length_n50,
554
- polymerase_mean_longest_subread=smrt_cell_metrics_dto.polymerase_mean_longest_subread,
555
- polymerase_longest_subread_n50=smrt_cell_metrics_dto.polymerase_longest_subread_n50,
556
- control_reads=smrt_cell_metrics_dto.control_reads,
557
- control_mean_read_length=smrt_cell_metrics_dto.control_mean_read_length,
558
- control_mean_read_concordance=smrt_cell_metrics_dto.control_mean_read_concordance,
559
- control_mode_read_concordance=smrt_cell_metrics_dto.control_mode_read_concordance,
560
- failed_reads=smrt_cell_metrics_dto.failed_reads,
561
- failed_yield=smrt_cell_metrics_dto.failed_yield,
562
- failed_mean_read_length=smrt_cell_metrics_dto.failed_mean_read_length,
563
- barcoded_hifi_reads=smrt_cell_metrics_dto.barcoded_hifi_reads,
564
- barcoded_hifi_reads_percentage=smrt_cell_metrics_dto.barcoded_hifi_reads_percentage,
565
- barcoded_hifi_yield=smrt_cell_metrics_dto.barcoded_hifi_yield,
566
- barcoded_hifi_yield_percentage=smrt_cell_metrics_dto.barcoded_hifi_yield_percentage,
567
- barcoded_hifi_mean_read_length=smrt_cell_metrics_dto.barcoded_hifi_mean_read_length,
567
+ productive_zmws=smrt_cell_metrics_dto.productive_zmws,
568
+ sequencing_run=sequencing_run,
569
+ started_at=smrt_cell_metrics_dto.started_at,
570
+ type=smrt_cell_metrics_dto.type,
571
+ unbarcoded_hifi_mean_read_length=smrt_cell_metrics_dto.unbarcoded_hifi_mean_read_length,
568
572
  unbarcoded_hifi_reads=smrt_cell_metrics_dto.unbarcoded_hifi_reads,
569
573
  unbarcoded_hifi_yield=smrt_cell_metrics_dto.unbarcoded_hifi_yield,
570
- unbarcoded_hifi_mean_read_length=smrt_cell_metrics_dto.unbarcoded_hifi_mean_read_length,
571
- device=smrt_cell,
574
+ well=smrt_cell_metrics_dto.well,
572
575
  )
573
576
  self.add_item_to_store(new_sequencing_run)
574
577
  return new_sequencing_run
cg/store/crud/read.py CHANGED
@@ -1816,8 +1816,10 @@ class ReadHandler(BaseHandler):
1816
1816
  Raises:
1817
1817
  EntryNotFoundError if no sequencing runs are found for the run name
1818
1818
  """
1819
- runs: Query = self._get_query(table=PacbioSMRTCellMetrics)
1820
- runs = runs.filter(PacbioSMRTCellMetrics.run_name == run_name)
1819
+ runs: Query = self._get_query(table=PacbioSMRTCellMetrics).join(
1820
+ PacbioSMRTCellMetrics.sequencing_run
1821
+ )
1822
+ runs = runs.filter(PacbioSequencingRun.run_name == run_name)
1821
1823
  if runs.count() == 0:
1822
1824
  raise EntryNotFoundError(f"Could not find any sequencing runs for {run_name}")
1823
1825
  return runs.all()
@@ -1868,3 +1870,16 @@ class ReadHandler(BaseHandler):
1868
1870
  raise PacbioSequencingRunNotFoundError(
1869
1871
  f"Pacbio Sequencing run with id {id} was not found in the database."
1870
1872
  )
1873
+
1874
+ def get_pacbio_sequencing_run_by_run_name(self, run_name: str) -> PacbioSequencingRun:
1875
+ """
1876
+ Get Pacbio Sequencing run by run name.
1877
+ Raises:
1878
+ PacbioSequencingRunNotFoundError: If no Pacbio sequencing run is found with the given run name.
1879
+ """
1880
+ try:
1881
+ return self._get_query(table=PacbioSequencingRun).filter_by(run_name=run_name).one()
1882
+ except sqlalchemy.orm.exc.NoResultFound:
1883
+ raise PacbioSequencingRunNotFoundError(
1884
+ f"Pacbio Sequencing run with run_name {run_name} was not found in the database."
1885
+ )
cg/store/models.py CHANGED
@@ -1029,43 +1029,57 @@ class PacbioSMRTCellMetrics(InstrumentRun):
1029
1029
  id: Mapped[int] = mapped_column(
1030
1030
  ForeignKey("instrument_run.id", ondelete="CASCADE"), primary_key=True
1031
1031
  )
1032
- well: Mapped[Str32]
1033
- plate: Mapped[int]
1034
- run_name: Mapped[Str32]
1035
- movie_name: Mapped[Str32]
1036
- started_at: Mapped[datetime]
1032
+ barcoded_hifi_mean_read_length: Mapped[BigInt]
1033
+ barcoded_hifi_reads_percentage: Mapped[Num_6_2]
1034
+ barcoded_hifi_reads: Mapped[BigInt]
1035
+ barcoded_hifi_yield_percentage: Mapped[Num_6_2]
1036
+ barcoded_hifi_yield: Mapped[BigInt]
1037
1037
  completed_at: Mapped[datetime]
1038
- hifi_reads: Mapped[BigInt]
1039
- hifi_yield: Mapped[BigInt]
1038
+ control_mean_read_concordance: Mapped[Num_6_2]
1039
+ control_mean_read_length: Mapped[BigInt]
1040
+ control_mode_read_concordance: Mapped[Num_6_2]
1041
+ control_reads: Mapped[BigInt]
1042
+ failed_mean_read_length: Mapped[BigInt]
1043
+ failed_reads: Mapped[BigInt]
1044
+ failed_yield: Mapped[BigInt]
1040
1045
  hifi_mean_read_length: Mapped[BigInt]
1041
1046
  hifi_median_read_quality: Mapped[Str32]
1042
- percent_reads_passing_q30: Mapped[Num_6_2]
1047
+ hifi_reads: Mapped[BigInt]
1048
+ hifi_yield: Mapped[BigInt]
1049
+ movie_name: Mapped[Str32]
1043
1050
  p0_percent: Mapped[Num_6_2]
1044
1051
  p1_percent: Mapped[Num_6_2]
1045
1052
  p2_percent: Mapped[Num_6_2]
1046
- productive_zmws: Mapped[BigInt]
1053
+ pacbio_sequencing_run_id: Mapped[int] = mapped_column(
1054
+ ForeignKey(
1055
+ "pacbio_sequencing_run.id",
1056
+ ondelete="CASCADE",
1057
+ name="pacbio_smrt_cell_metrics_pacbio_sequencing_run_fk",
1058
+ )
1059
+ )
1060
+ percent_reads_passing_q30: Mapped[Num_6_2]
1061
+ plate: Mapped[int]
1062
+ polymerase_longest_subread_n50: Mapped[BigInt]
1063
+ polymerase_mean_longest_subread: Mapped[BigInt]
1047
1064
  polymerase_mean_read_length: Mapped[BigInt]
1048
1065
  polymerase_read_length_n50: Mapped[BigInt]
1049
- polymerase_mean_longest_subread: Mapped[BigInt]
1050
- polymerase_longest_subread_n50: Mapped[BigInt]
1051
- control_reads: Mapped[BigInt]
1052
- control_mean_read_length: Mapped[BigInt]
1053
- control_mean_read_concordance: Mapped[Num_6_2]
1054
- control_mode_read_concordance: Mapped[Num_6_2]
1055
- failed_reads: Mapped[BigInt]
1056
- failed_yield: Mapped[BigInt]
1057
- failed_mean_read_length: Mapped[BigInt]
1058
- barcoded_hifi_reads: Mapped[BigInt]
1059
- barcoded_hifi_reads_percentage: Mapped[Num_6_2]
1060
- barcoded_hifi_yield: Mapped[BigInt]
1061
- barcoded_hifi_yield_percentage: Mapped[Num_6_2]
1062
- barcoded_hifi_mean_read_length: Mapped[BigInt]
1066
+ productive_zmws: Mapped[BigInt]
1067
+ started_at: Mapped[datetime]
1068
+ unbarcoded_hifi_mean_read_length: Mapped[BigInt]
1063
1069
  unbarcoded_hifi_reads: Mapped[BigInt]
1064
1070
  unbarcoded_hifi_yield: Mapped[BigInt]
1065
- unbarcoded_hifi_mean_read_length: Mapped[BigInt]
1071
+ well: Mapped[Str32]
1072
+
1073
+ sequencing_run: Mapped["PacbioSequencingRun"] = orm.relationship(
1074
+ back_populates="smrt_cell_metrics"
1075
+ )
1066
1076
 
1067
1077
  __mapper_args__ = {"polymorphic_identity": DeviceType.PACBIO}
1068
1078
 
1079
+ @property
1080
+ def run_name(self) -> str:
1081
+ return self.sequencing_run.run_name
1082
+
1069
1083
  def to_dict(self):
1070
1084
  return to_dict(self)
1071
1085
 
@@ -1142,6 +1156,10 @@ class PacbioSequencingRun(Base):
1142
1156
  types.Enum(*(revio_name.value for revio_name in RevioNames))
1143
1157
  )
1144
1158
 
1159
+ smrt_cell_metrics: Mapped[list[PacbioSMRTCellMetrics]] = orm.relationship(
1160
+ back_populates="sequencing_run"
1161
+ )
1162
+
1145
1163
 
1146
1164
  class OrderTypeApplication(Base):
1147
1165
  """Maps an order type to its allowed applications"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cg
3
- Version: 83.11.6
3
+ Version: 83.11.8
4
4
  Summary: Clinical Genomics command center
5
5
  Requires-Python: >=3.11,<3.13
6
6
  Classifier: Programming Language :: Python
@@ -1,4 +1,4 @@
1
- cg/__init__.py,sha256=BaoVX49jAyvp7gGKBkEnbd8Kes4liH6q_f4Lr2gMeRQ,41
1
+ cg/__init__.py,sha256=yzOx_FVs-IfMsX26cR34Qgw4w04sas1xLr5va0KTq6A,41
2
2
  cg/apps/__init__.py,sha256=pYf0vxo4iYQqURzFRYzqpOCdV8Cm9MWx0GHvJOz0EMg,315
3
3
  cg/apps/coverage/__init__.py,sha256=dJtsmNf8tODE2-VEomMIoYA7ugLYZAk_upsfOQCZeF8,27
4
4
  cg/apps/coverage/api.py,sha256=e_ozC3QeNKoEfpjjMaL-XjeBLtz-JySWccrtw0E9mLM,2940
@@ -467,8 +467,8 @@ cg/resources/rnafusion_bundle_filenames.yaml,sha256=hoXuTobKbjH7W7dld87rSF7X0r4K
467
467
  cg/resources/taxprofiler_bundle_filenames.yaml,sha256=AULMEAYkMzADYUtVtuSmBj7UaAIlLGRDyBMEOO0xWz8,2871
468
468
  cg/resources/tomte_bundle_filenames.yaml,sha256=lFxk9GssmCyKBUn5lbRBtBS9FS9cABaoVzb-e2zrJac,4144
469
469
  cg/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
470
- cg/server/admin.py,sha256=Xhzvq4T9_PmaeClB4OcuAHzp5oGETGyo5nLaV9f5z1k,29314
471
- cg/server/app.py,sha256=wb1nsK4LNcFYG0bp_JXpghX3Q0-bRx687Y1S1hVBRU0,7072
470
+ cg/server/admin.py,sha256=JUZvNdTwjfNoZbSo_tZNS-ZMAeRKheAW9nfAcrrkw6w,29522
471
+ cg/server/app.py,sha256=WEULzx5JeC0aJHag3Vltzopd8r7tgHPr_1nbytS-AI8,6975
472
472
  cg/server/app_config.py,sha256=8DaNtYtdp6A29FAuTFX-Lk7SLv7Zx-_f57ZU0-T_3ZI,1403
473
473
  cg/server/auto.py,sha256=5DqokNScv483imZTvOYrJo6wV9-P7ZGnJaaHnfnNJLs,57
474
474
  cg/server/dto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -499,7 +499,7 @@ cg/server/endpoints/sequencing_metrics/error_handler.py,sha256=rVASP7uk1qSA5qu__
499
499
  cg/server/endpoints/sequencing_metrics/illumina_sequencing_metrics.py,sha256=IvXMH2KIeOH98lJkaFLPFIRj7j6uW3oBaJZozQ5Tva0,810
500
500
  cg/server/endpoints/sequencing_metrics/pacbio_sequencing_metrics.py,sha256=iglo2cOYSPuK4HAWH4XPGLgbZOst2spdB7A6mQ8th8g,1218
501
501
  cg/server/endpoints/sequencing_run/dtos.py,sha256=ezs1TW0XyKO8gYyRreq6iQsFwLtgV8tzO96fzXT6kWg,1023
502
- cg/server/endpoints/sequencing_run/pacbio_sequencing_run.py,sha256=Ap8hVJUvGUzOHyiYw7RDgLsrdelae1K8U19Ibb6rT5c,2115
502
+ cg/server/endpoints/sequencing_run/pacbio_sequencing_run.py,sha256=HvV7EPwrh_xe5ZjerQYoBK-bIdKLBZ1nk16whGSDAmw,1524
503
503
  cg/server/endpoints/sequencing_run/pacbio_smrt_cell_metrics.py,sha256=FVETf-KUghGbb7KGO2sDYWISp3Z9gnublo-9ekQHUuk,819
504
504
  cg/server/endpoints/users.py,sha256=48z9Si2EuJ6wcN8jBIr0yvmtgygozYgUIytyFuTzFao,696
505
505
  cg/server/endpoints/utils.py,sha256=RjhrcBqY3Mfg_hZIeXr6SfmCTu4FMpan-n5UNDjOeMg,2251
@@ -826,7 +826,7 @@ cg/services/run_devices/constants.py,sha256=-zI33OxI9XvXlyeSGw8jdqeuD_S1CFQRwWW5
826
826
  cg/services/run_devices/error_handler.py,sha256=BXVXy-8i4hr5jd7H5LEPs_sT7YzCzQMNoFV8m7y9BEc,636
827
827
  cg/services/run_devices/exc.py,sha256=6MH1yusfPNNa2RSbHhe48-WlUG1YJQsxMK2TkjemloI,1021
828
828
  cg/services/run_devices/pacbio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
829
- cg/services/run_devices/pacbio/data_storage_service/pacbio_store_service.py,sha256=WuAQLokw-j4vVQntMXWKGICEj7ANm02wzRlzWZUcj1g,4368
829
+ cg/services/run_devices/pacbio/data_storage_service/pacbio_store_service.py,sha256=dZWnssL1RgGkruPfKtJxZjghW1AGj8aiL4J4U7RorLE,4742
830
830
  cg/services/run_devices/pacbio/data_transfer_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
831
831
  cg/services/run_devices/pacbio/data_transfer_service/data_transfer_service.py,sha256=XqJ6cJc2KfiI0svQFvZe8Hz4EcCDaggbvKkp6HBejag,2410
832
832
  cg/services/run_devices/pacbio/data_transfer_service/dto.py,sha256=g_7nrCLjQyEstLbR10v6cZV6hZnlCX2RQbPCFL8vAzE,2022
@@ -843,7 +843,7 @@ cg/services/run_devices/pacbio/run_data_generator/run_data.py,sha256=si-F7CCwmIF
843
843
  cg/services/run_devices/pacbio/run_file_manager/models.py,sha256=C6kycBPx6YKNq2oFJOIhdrcPloi3QIBOrlbaAgeYzgs,192
844
844
  cg/services/run_devices/pacbio/run_file_manager/run_file_manager.py,sha256=xW8cKrLKh445hQnmtuIrvg6INs2lMSaDirG83fvimI4,5068
845
845
  cg/services/run_devices/pacbio/run_validator/pacbio_run_validator.py,sha256=d8fvmJcByEFPMnwqOe6mQsXXIO87WkXwfK9L_Bx7whg,3037
846
- cg/services/run_devices/pacbio/sequencing_runs_service.py,sha256=p9NlHocOnVAAcz4SQV6eVolRCBHfi6UXxmb7s3wHBUA,2073
846
+ cg/services/run_devices/pacbio/sequencing_runs_service.py,sha256=nLT8uCSztpgS-G8J1m16BBeJi4x_NMddMw1hS0Ook2w,2139
847
847
  cg/services/run_devices/run_names/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
848
848
  cg/services/run_devices/run_names/pacbio.py,sha256=DqvwtrVPeUeWu9PljeBrgGi_GT_8_lJRkgZTDU3WwhA,663
849
849
  cg/services/run_devices/run_names/service.py,sha256=y2ljpN_gGew6grIHnez740IW6cOzyyz0sWS_O9Jut68,288
@@ -875,9 +875,9 @@ cg/store/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
875
875
  cg/store/api/data_classes.py,sha256=vgJehK0zm3SdB4LAQAWvTjoCHfos4N8_Vf0DDshrAnM,289
876
876
  cg/store/base.py,sha256=qmIjuWuq_wryBfGoSZny9nvqZj7Hl8N23hcdQ7Hss5I,6885
877
877
  cg/store/crud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
878
- cg/store/crud/create.py,sha256=c2JwsHPMgnY6addq9hFV3DUTfi-EAI1l71vLLlrZG14,22457
878
+ cg/store/crud/create.py,sha256=ZEhhpoIXd05GP8DWIR5yFDb4X-Vg2BWrUinW8n89SfI,22509
879
879
  cg/store/crud/delete.py,sha256=TlpoVWvUQMaRfy5bk-icFf9SSi_0Ir6XpFcAiM22DB0,1386
880
- cg/store/crud/read.py,sha256=djBomfocspToVm9-A2E7-ZsZUL8z4gyGw28Sqx6qnYk,78185
880
+ cg/store/crud/read.py,sha256=4cxHQVYAHLSwHiNrh6rq207w99cKfLFMKtgd-iupXoM,78857
881
881
  cg/store/crud/update.py,sha256=FZvOPebNnkWICu1N4gTdFeiMcuTUPglgCDfaxE6G288,6262
882
882
  cg/store/database.py,sha256=7B0hZpMSKtu5R885TSI4UBj8id1T5JNBY-tn69n6Fk0,1662
883
883
  cg/store/exc.py,sha256=uUCywNSwGus2uZnqmN56LHV84fHfkFYo8jXms1ToCnQ,274
@@ -904,7 +904,7 @@ cg/store/filters/status_panel_filters.py,sha256=qMYhIsrF9G3mjCvL9b9O2l_cmD3SfPWh
904
904
  cg/store/filters/status_pool_filters.py,sha256=XcYqe2z5k_q09xpp4cleDMQ4Q3o2y7UPCkB0QUkl1ck,4308
905
905
  cg/store/filters/status_sample_filters.py,sha256=mRpt_ik7niMjBo9K7pP8cmdfDMdr0B3I6Tt2MWXkLoc,9656
906
906
  cg/store/filters/status_user_filters.py,sha256=sMwKeWqgEtqv8gyhbN_Uf5huPUxbOt5qEqMWVu67Zys,1328
907
- cg/store/models.py,sha256=uSSaXzdLx74W_CYQ-u1yHJW3Pw2ymIfkF0baiMW3E-g,42281
907
+ cg/store/models.py,sha256=7Fa_DvM8Cf0W5krBjHlK5MiQ2eOTrQ8Y_a3XlNQKMHw,42826
908
908
  cg/store/store.py,sha256=mz1TfKPlanH2uQyhZdwe_8VKg0IdFolmromKLu668IY,630
909
909
  cg/utils/__init__.py,sha256=gGjdV2l_hfWFCTybU6dwDk_FcItM88EIHNPaX6g1qUk,30
910
910
  cg/utils/calculations.py,sha256=zLVJO6nNw6n7AW7fHZI56UnQ23lqJrShB4Hh2ow6-TQ,349
@@ -923,7 +923,7 @@ cg/utils/flask/enum.py,sha256=xwNVtFPkSzoloJctLHu7obRyxcng1GJrhkeYkqwf9tw,1052
923
923
  cg/utils/mapping.py,sha256=oZpZW2kgsbtAP2FZ7RtRPELiEE1zZk_nAGisHGtCOUo,491
924
924
  cg/utils/time.py,sha256=_VOglhrFEZ5cwHK1U1g36SdwzB7UvV-Nvlt4ymuZUho,1501
925
925
  cg/utils/utils.py,sha256=RciI_UhWcnG_pMZrmQZ1ZYb-O1N0DweTYMmhE0SIRgQ,1410
926
- cg-83.11.6.dist-info/METADATA,sha256=7C9wXa5ZsylcchxfHb4piihA72ZXUkAR6sNFdiTK8rI,4940
927
- cg-83.11.6.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
928
- cg-83.11.6.dist-info/entry_points.txt,sha256=q5f47YQQGltzK_xnIq1mDopRXXEItr85Xe1BCtG-Wts,39
929
- cg-83.11.6.dist-info/RECORD,,
926
+ cg-83.11.8.dist-info/METADATA,sha256=dBSQBPXkY0eaxX1PQg1ID9cInmbaGBZ71T8Khitq9yU,4940
927
+ cg-83.11.8.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
928
+ cg-83.11.8.dist-info/entry_points.txt,sha256=q5f47YQQGltzK_xnIq1mDopRXXEItr85Xe1BCtG-Wts,39
929
+ cg-83.11.8.dist-info/RECORD,,
File without changes