cg 83.20.3__py3-none-any.whl → 84.0.1__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.20.3"
2
+ __version__ = "84.0.1"
cg/constants/constants.py CHANGED
@@ -164,6 +164,12 @@ class GenomeVersion(StrEnum):
164
164
  HG38 = "hg38"
165
165
 
166
166
 
167
+ class BedVersionGenomeVersion(StrEnum):
168
+ HG19 = "hg19"
169
+ HG38 = "hg38"
170
+ CFAM3 = "cfam3"
171
+
172
+
167
173
  class SampleType(StrEnum):
168
174
  TUMOR: str = "tumor"
169
175
  NORMAL: str = "normal"
@@ -19,20 +19,22 @@ class PacbioSmrtCellMetricsDTO(BaseModel):
19
19
  p2_percent: float
20
20
  percent_reads_passing_q30: float
21
21
  plate: int
22
- run_name: str
22
+ run_id: str
23
23
  started_at: datetime
24
24
  well: str
25
25
 
26
26
 
27
27
  class PacbioSmrtCellMetricsResponse(BaseModel):
28
- runs: list[PacbioSmrtCellMetricsDTO]
28
+ metrics: list[PacbioSmrtCellMetricsDTO]
29
29
 
30
30
 
31
31
  class PacbioSequencingRunDTO(BaseModel):
32
32
  id: int
33
- run_name: str
34
33
  comment: str
35
34
  processed: bool
35
+ run_id: str
36
+ run_name: str | None
37
+ unique_id: str | None
36
38
 
37
39
 
38
40
  class PacbioSequencingRunResponse(BaseModel):
@@ -11,10 +11,10 @@ PACBIO_SMRT_CELL_METRICS_BLUEPRINT = Blueprint(
11
11
  PACBIO_SMRT_CELL_METRICS_BLUEPRINT.before_request(before_request)
12
12
 
13
13
 
14
- @PACBIO_SMRT_CELL_METRICS_BLUEPRINT.route("/<run_name>", methods=["GET"])
14
+ @PACBIO_SMRT_CELL_METRICS_BLUEPRINT.route("/<run_id>", methods=["GET"])
15
15
  @handle_missing_entries
16
- def get_smrt_cell_metrics(run_name: str):
16
+ def get_smrt_cell_metrics(run_id: str):
17
17
  response: PacbioSmrtCellMetricsResponse = (
18
- pacbio_sequencing_runs_service.get_sequencing_runs_by_name(run_name)
18
+ pacbio_sequencing_runs_service.get_sequencing_runs_by_run_id(run_id)
19
19
  )
20
20
  return jsonify(response.model_dump())
@@ -13,17 +13,17 @@ class PacbioSequencingRunsService:
13
13
  def __init__(self, store: Store):
14
14
  self.store = store
15
15
 
16
- def get_sequencing_runs_by_name(self, run_name: str) -> PacbioSmrtCellMetricsResponse:
16
+ def get_sequencing_runs_by_run_id(self, run_id: str) -> PacbioSmrtCellMetricsResponse:
17
17
  metrics: list[PacbioSmrtCellMetricsDTO] = []
18
18
  db_smrt_cell_metrics: list[PacbioSMRTCellMetrics] = (
19
- self.store.get_pacbio_smrt_cell_metrics_by_run_id(run_name)
19
+ self.store.get_pacbio_smrt_cell_metrics_by_run_id(run_id)
20
20
  )
21
21
  for metric in db_smrt_cell_metrics:
22
22
  metric_dict = metric.to_dict()
23
23
  metric_dict["internal_id"] = metric.device.internal_id
24
- metric_dict["run_name"] = metric.run_id
24
+ metric_dict["run_id"] = metric.run_id
25
25
  metrics.append(PacbioSmrtCellMetricsDTO.model_validate(metric_dict))
26
- return PacbioSmrtCellMetricsResponse(runs=metrics)
26
+ return PacbioSmrtCellMetricsResponse(metrics=metrics)
27
27
 
28
28
  def get_sequencing_runs(self, page: int = 0, page_size: int = 0) -> PacbioSequencingRunResponse:
29
29
  db_runs, total_count = self.store.get_pacbio_sequencing_runs(page=page, page_size=page_size)
@@ -31,9 +31,11 @@ class PacbioSequencingRunsService:
31
31
  for db_run in db_runs:
32
32
  run = PacbioSequencingRunDTO(
33
33
  id=db_run.id,
34
- run_name=db_run.run_id,
34
+ run_id=db_run.run_id,
35
+ run_name=db_run.run_name,
35
36
  comment=db_run.comment,
36
37
  processed=db_run.processed,
38
+ unique_id=db_run.unique_id,
37
39
  )
38
40
  runs.append(run)
39
41
  return PacbioSequencingRunResponse(pacbio_sequencing_runs=runs, total_count=total_count)
cg/store/crud/create.py CHANGED
@@ -192,7 +192,7 @@ class CreateMixin(ReadHandler):
192
192
  def add_bed_version(self, bed: Bed, version: int, filename: str, shortname: str) -> BedVersion:
193
193
  """Build a new bed version record."""
194
194
  bed_version: BedVersion = BedVersion(
195
- version=version, filename=filename, shortname=shortname
195
+ version=version, filename=filename, shortname=shortname, genome_version="hg19"
196
196
  )
197
197
  bed_version.bed = bed
198
198
  return bed_version
cg/store/models.py CHANGED
@@ -22,6 +22,7 @@ from sqlalchemy.orm.attributes import InstrumentedAttribute
22
22
  from cg.constants import DataDelivery, Priority, SequencingRunDataAvailability, Workflow
23
23
  from cg.constants.archiving import PDC_ARCHIVE_LOCATION
24
24
  from cg.constants.constants import (
25
+ BedVersionGenomeVersion,
25
26
  CaseActions,
26
27
  ControlOptions,
27
28
  SequencingQCStatus,
@@ -335,7 +336,12 @@ class BedVersion(Base):
335
336
  """Model for bed target captures versions"""
336
337
 
337
338
  __tablename__ = "bed_version"
338
- __table_args__ = (UniqueConstraint("bed_id", "version", name="_app_version_uc"),)
339
+ __table_args__ = (
340
+ UniqueConstraint("bed_id", "version", name="_app_version_uc"),
341
+ UniqueConstraint(
342
+ "shortname", "version", "genome_version", name="shortname_version_genome_version_uc"
343
+ ),
344
+ )
339
345
 
340
346
  id: Mapped[PrimaryKeyInt]
341
347
  shortname: Mapped[Str64]
@@ -343,7 +349,9 @@ class BedVersion(Base):
343
349
  filename: Mapped[Str256]
344
350
  checksum: Mapped[Str32 | None]
345
351
  panel_size: Mapped[int | None]
346
- genome_version: Mapped[Str32 | None]
352
+ genome_version: Mapped[BedVersionGenomeVersion] = mapped_column(
353
+ types.Enum(*(genome_version.value for genome_version in BedVersionGenomeVersion))
354
+ )
347
355
  designer: Mapped[Str256 | None]
348
356
  comment: Mapped[Text | None]
349
357
  created_at: Mapped[datetime | None] = mapped_column(default=datetime.now)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cg
3
- Version: 83.20.3
3
+ Version: 84.0.1
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=SYjJH-I0oik2cgySkcSsSP4me93_hWY-3zONHPfuiNc,41
1
+ cg/__init__.py,sha256=QATHnUBhjQg1gdiTUzAuoLIAXxbjzsBt8FK_l6YZFtw,40
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
@@ -194,7 +194,7 @@ cg/constants/archiving.py,sha256=_M4-9mu_d5PpZLdnvYTxGDKR-YwQNl6GxP05AM9XIPs,253
194
194
  cg/constants/backup.py,sha256=geZvQbYkPgN_P1vv5jn0ktCEdH5pqs9RA-fGZPruaNs,38
195
195
  cg/constants/cli_options.py,sha256=4Lk2jOki9TWA48PC5YDI1iNNJJ--9HrfwXUsuWqkYAE,690
196
196
  cg/constants/compression.py,sha256=hY8Ws7r0uFhDD10GDYjTN1nFeKWnekRGlOpM14g-yZ4,469
197
- cg/constants/constants.py,sha256=REhV4-snyfivwtVp53eYsxJ2Rz7PlAxUUEHb5LSmMe0,6815
197
+ cg/constants/constants.py,sha256=B4XCn_CH4G-fphYvUIJV0UREgznVQXikoqe7dcTKBBQ,6913
198
198
  cg/constants/delivery.py,sha256=RHoyt81K8GIKVGX-ctTjRTRpOYYAs4BDsS3JJSDvcfs,5389
199
199
  cg/constants/demultiplexing.py,sha256=xX3bhRieLHSXP6yQBOm0iT1h53gUSNKd4R7Zq7TORT4,7483
200
200
  cg/constants/devices.py,sha256=qP98IxkL0N-k2hIQmQuSP-_BxGEy_c-tjIg9RyfPL-s,254
@@ -497,9 +497,9 @@ cg/server/endpoints/sequencing_metrics/dtos.py,sha256=DXh9xFLrS0RQIxHrkAZa71AkcL
497
497
  cg/server/endpoints/sequencing_metrics/error_handler.py,sha256=rVASP7uk1qSA5qu__-JcSZ6vXpBy3s7n4GdBVg0zAUA,758
498
498
  cg/server/endpoints/sequencing_metrics/illumina_sequencing_metrics.py,sha256=IvXMH2KIeOH98lJkaFLPFIRj7j6uW3oBaJZozQ5Tva0,810
499
499
  cg/server/endpoints/sequencing_metrics/pacbio_sequencing_metrics.py,sha256=iglo2cOYSPuK4HAWH4XPGLgbZOst2spdB7A6mQ8th8g,1218
500
- cg/server/endpoints/sequencing_run/dtos.py,sha256=ezs1TW0XyKO8gYyRreq6iQsFwLtgV8tzO96fzXT6kWg,1023
500
+ cg/server/endpoints/sequencing_run/dtos.py,sha256=o2al0uUnGbZdMRvOZ5z9zb67peJmBM7EyBSA7xizv3Y,1073
501
501
  cg/server/endpoints/sequencing_run/pacbio_sequencing_run.py,sha256=HvV7EPwrh_xe5ZjerQYoBK-bIdKLBZ1nk16whGSDAmw,1524
502
- cg/server/endpoints/sequencing_run/pacbio_smrt_cell_metrics.py,sha256=FVETf-KUghGbb7KGO2sDYWISp3Z9gnublo-9ekQHUuk,819
502
+ cg/server/endpoints/sequencing_run/pacbio_smrt_cell_metrics.py,sha256=0cV6wybrsLmYMuW3noM6RHy8Sb7RunavMEpWMSJtiAo,815
503
503
  cg/server/endpoints/users.py,sha256=48z9Si2EuJ6wcN8jBIr0yvmtgygozYgUIytyFuTzFao,696
504
504
  cg/server/endpoints/utils.py,sha256=RjhrcBqY3Mfg_hZIeXr6SfmCTu4FMpan-n5UNDjOeMg,2251
505
505
  cg/server/ext.py,sha256=rQIv4qKS_N5whB158SGa2FZp-JuGDaUydCBjGhAxaOE,3923
@@ -842,7 +842,7 @@ cg/services/run_devices/pacbio/run_data_generator/run_data.py,sha256=h0TfMtHwyXl
842
842
  cg/services/run_devices/pacbio/run_file_manager/models.py,sha256=C6kycBPx6YKNq2oFJOIhdrcPloi3QIBOrlbaAgeYzgs,192
843
843
  cg/services/run_devices/pacbio/run_file_manager/run_file_manager.py,sha256=QDJKvMTwHNlP9ovU5wgqA8FbTx6xI0zdc26A1RY4W1M,5440
844
844
  cg/services/run_devices/pacbio/run_validator/pacbio_run_validator.py,sha256=d8fvmJcByEFPMnwqOe6mQsXXIO87WkXwfK9L_Bx7whg,3037
845
- cg/services/run_devices/pacbio/sequencing_runs_service.py,sha256=n_noNrPfOAUGizgTpE5n1ezZA0O92XAB9o_FYIzcus8,2145
845
+ cg/services/run_devices/pacbio/sequencing_runs_service.py,sha256=VLc5EicDpD2fb-fz_x7G5j3qcHRl75N5cCaky5DriNQ,2228
846
846
  cg/services/run_devices/run_names/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
847
847
  cg/services/run_devices/run_names/pacbio.py,sha256=4l-fCejTMMgAnVQ2RqIyQaqMtVbs_SeDEm6JJ4Dg36U,678
848
848
  cg/services/run_devices/run_names/service.py,sha256=d6-paeXsENHlU59eo4FcSXBAhoz50oL6bSglscRo2rQ,293
@@ -874,7 +874,7 @@ cg/store/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
874
874
  cg/store/api/data_classes.py,sha256=vgJehK0zm3SdB4LAQAWvTjoCHfos4N8_Vf0DDshrAnM,289
875
875
  cg/store/base.py,sha256=qmIjuWuq_wryBfGoSZny9nvqZj7Hl8N23hcdQ7Hss5I,6885
876
876
  cg/store/crud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
877
- cg/store/crud/create.py,sha256=DrwCPqPCAEM3vBZwvLg1JsNHXDPg5y9_EBVhhbJm9ig,22621
877
+ cg/store/crud/create.py,sha256=ZvPsvlaLKwY9_mNaf51hdMi3Ear2H37O2Eob2PLZmc8,22644
878
878
  cg/store/crud/delete.py,sha256=TlpoVWvUQMaRfy5bk-icFf9SSi_0Ir6XpFcAiM22DB0,1386
879
879
  cg/store/crud/read.py,sha256=UJ1NLkK3k682v8xk4NFJyPXC2ik-zsYshG6098Yy0aQ,78809
880
880
  cg/store/crud/update.py,sha256=FZvOPebNnkWICu1N4gTdFeiMcuTUPglgCDfaxE6G288,6262
@@ -903,7 +903,7 @@ cg/store/filters/status_panel_filters.py,sha256=qMYhIsrF9G3mjCvL9b9O2l_cmD3SfPWh
903
903
  cg/store/filters/status_pool_filters.py,sha256=XcYqe2z5k_q09xpp4cleDMQ4Q3o2y7UPCkB0QUkl1ck,4308
904
904
  cg/store/filters/status_sample_filters.py,sha256=mRpt_ik7niMjBo9K7pP8cmdfDMdr0B3I6Tt2MWXkLoc,9656
905
905
  cg/store/filters/status_user_filters.py,sha256=sMwKeWqgEtqv8gyhbN_Uf5huPUxbOt5qEqMWVu67Zys,1328
906
- cg/store/models.py,sha256=YTz2rCR8myl_kA-sjOS4Xau2gmY1-ocG6g4W6T1BVT0,44401
906
+ cg/store/models.py,sha256=movmAB6h5SbxaPTfRK1entP1S9ayKt64v8oOTSL3Dk4,44702
907
907
  cg/store/store.py,sha256=mz1TfKPlanH2uQyhZdwe_8VKg0IdFolmromKLu668IY,630
908
908
  cg/utils/__init__.py,sha256=gGjdV2l_hfWFCTybU6dwDk_FcItM88EIHNPaX6g1qUk,30
909
909
  cg/utils/calculations.py,sha256=zLVJO6nNw6n7AW7fHZI56UnQ23lqJrShB4Hh2ow6-TQ,349
@@ -922,7 +922,7 @@ cg/utils/flask/enum.py,sha256=xwNVtFPkSzoloJctLHu7obRyxcng1GJrhkeYkqwf9tw,1052
922
922
  cg/utils/mapping.py,sha256=oZpZW2kgsbtAP2FZ7RtRPELiEE1zZk_nAGisHGtCOUo,491
923
923
  cg/utils/time.py,sha256=_VOglhrFEZ5cwHK1U1g36SdwzB7UvV-Nvlt4ymuZUho,1501
924
924
  cg/utils/utils.py,sha256=RciI_UhWcnG_pMZrmQZ1ZYb-O1N0DweTYMmhE0SIRgQ,1410
925
- cg-83.20.3.dist-info/METADATA,sha256=G5EW48rAnANU-r-OHcWpCiHdG76nYpwnYOVOP-Fk144,4940
926
- cg-83.20.3.dist-info/WHEEL,sha256=kJCRJT_g0adfAJzTx2GUMmS80rTJIVHRCfG0DQgLq3o,88
927
- cg-83.20.3.dist-info/entry_points.txt,sha256=q5f47YQQGltzK_xnIq1mDopRXXEItr85Xe1BCtG-Wts,39
928
- cg-83.20.3.dist-info/RECORD,,
925
+ cg-84.0.1.dist-info/METADATA,sha256=5J1kH9CRXPbjM0gK6jpoHAybsvSv1zSJAp7dJa3mYrA,4939
926
+ cg-84.0.1.dist-info/WHEEL,sha256=kJCRJT_g0adfAJzTx2GUMmS80rTJIVHRCfG0DQgLq3o,88
927
+ cg-84.0.1.dist-info/entry_points.txt,sha256=q5f47YQQGltzK_xnIq1mDopRXXEItr85Xe1BCtG-Wts,39
928
+ cg-84.0.1.dist-info/RECORD,,
File without changes