cg 83.18.2__py3-none-any.whl → 83.19.0__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 +1 -1
- cg/constants/pacbio.py +4 -1
- cg/services/run_devices/pacbio/data_transfer_service/dto.py +2 -0
- cg/services/run_devices/pacbio/data_transfer_service/utils.py +2 -0
- cg/services/run_devices/pacbio/housekeeper_service/pacbio_houskeeper_service.py +1 -0
- cg/services/run_devices/pacbio/metrics_parser/metrics_parser.py +4 -0
- cg/services/run_devices/pacbio/metrics_parser/models.py +9 -1
- cg/services/run_devices/pacbio/metrics_parser/utils.py +25 -0
- cg/services/run_devices/pacbio/run_file_manager/run_file_manager.py +22 -14
- cg/store/crud/create.py +2 -0
- cg/store/models.py +2 -0
- cg/utils/files.py +1 -1
- {cg-83.18.2.dist-info → cg-83.19.0.dist-info}/METADATA +1 -1
- {cg-83.18.2.dist-info → cg-83.19.0.dist-info}/RECORD +16 -16
- {cg-83.18.2.dist-info → cg-83.19.0.dist-info}/WHEEL +1 -1
- {cg-83.18.2.dist-info → cg-83.19.0.dist-info}/entry_points.txt +0 -0
cg/__init__.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
__title__ = "cg"
|
|
2
|
-
__version__ = "83.
|
|
2
|
+
__version__ = "83.19.0"
|
cg/constants/pacbio.py
CHANGED
|
@@ -14,6 +14,7 @@ class PacBioDirsAndFiles:
|
|
|
14
14
|
STATISTICS_DIR: str = "statistics"
|
|
15
15
|
UNZIPPED_REPORTS_DIR: str = "unzipped_reports"
|
|
16
16
|
METADATA_DIR: str = "metadata"
|
|
17
|
+
METADATA_FILE_SUFFIX: str = "metadata.xml"
|
|
17
18
|
RUN_IS_VALID: str = "is_valid"
|
|
18
19
|
|
|
19
20
|
|
|
@@ -77,7 +78,7 @@ class BarcodeMetricsAliases:
|
|
|
77
78
|
BARCODED_HIFI_READS_PERCENTAGE: str = "barcode.percent_barcoded_reads"
|
|
78
79
|
BARCODED_HIFI_YIELD: str = "barcode.barcoded_bases"
|
|
79
80
|
BARCODED_HIFI_YIELD_PERCENTAGE: str = "barcode.percent_barcoded_bases"
|
|
80
|
-
BARCODED_MEAN_READ_LENGTH: str = "barcode.
|
|
81
|
+
BARCODED_MEAN_READ_LENGTH: str = "barcode.mean_read_length"
|
|
81
82
|
UNBARCODED_HIFI_READS: str = "barcode.n_unbarcoded_reads"
|
|
82
83
|
UNBARCODED_HIFI_YIELD: str = "barcode.unbarcoded_bases"
|
|
83
84
|
UNBARCODED_HIFI_MEAN_READ_LENGTH: str = "barcode.mean_unbarcoded_read_length"
|
|
@@ -100,6 +101,7 @@ class PacBioHousekeeperTags:
|
|
|
100
101
|
LOADING_REPORT: str = "loading-report"
|
|
101
102
|
RAWDATA_REPORT: str = "raw-data-report"
|
|
102
103
|
DATASETS_REPORT: str = "datasets-report"
|
|
104
|
+
METADATA: str = "smrt-link-metadata"
|
|
103
105
|
|
|
104
106
|
|
|
105
107
|
class PacBioBundleTypes:
|
|
@@ -115,6 +117,7 @@ file_pattern_to_bundle_type: dict[str, str] = {
|
|
|
115
117
|
PacBioDirsAndFiles.RAW_DATA_REPORT: PacBioBundleTypes.SMRT_CELL,
|
|
116
118
|
PacBioDirsAndFiles.SMRTLINK_DATASETS_REPORT: PacBioBundleTypes.SMRT_CELL,
|
|
117
119
|
f"{PacBioDirsAndFiles.HIFI_READS}.*{FileExtensions.BAM}$": PacBioBundleTypes.SAMPLE,
|
|
120
|
+
f".*{PacBioDirsAndFiles.METADATA_FILE_SUFFIX}$": PacBioBundleTypes.SMRT_CELL,
|
|
118
121
|
}
|
|
119
122
|
|
|
120
123
|
ZIPPED_REPORTS_PATTERN: str = "*reports.zip"
|
|
@@ -82,4 +82,6 @@ def get_sequencing_run_dto(
|
|
|
82
82
|
return PacBioSequencingRunDTO(
|
|
83
83
|
instrument_name=metrics.dataset_metrics.instrument_name, # type: ignore - pydantic will convert to correct type
|
|
84
84
|
run_id=run_data.run_id,
|
|
85
|
+
run_name=metrics.metadata.run_name,
|
|
86
|
+
unique_id=metrics.metadata.unique_id,
|
|
85
87
|
)
|
|
@@ -86,6 +86,7 @@ class PacBioHousekeeperService(PostProcessingHKService):
|
|
|
86
86
|
PacBioDirsAndFiles.RAW_DATA_REPORT: [PacBioHousekeeperTags.RAWDATA_REPORT],
|
|
87
87
|
PacBioDirsAndFiles.SMRTLINK_DATASETS_REPORT: [PacBioHousekeeperTags.DATASETS_REPORT],
|
|
88
88
|
f"{PacBioDirsAndFiles.HIFI_READS}.*{FileExtensions.BAM}$": [AlignmentFileTag.BAM],
|
|
89
|
+
f".*{PacBioDirsAndFiles.METADATA_FILE_SUFFIX}$": [PacBioHousekeeperTags.METADATA],
|
|
89
90
|
}
|
|
90
91
|
return get_item_by_pattern_in_source(source=file_path.name, pattern_map=file_pattern_to_tag)
|
|
91
92
|
|
|
@@ -15,6 +15,7 @@ from cg.services.run_devices.exc import (
|
|
|
15
15
|
from cg.services.run_devices.pacbio.metrics_parser.models import (
|
|
16
16
|
BarcodeMetrics,
|
|
17
17
|
ControlMetrics,
|
|
18
|
+
MetadataMetrics,
|
|
18
19
|
PacBioMetrics,
|
|
19
20
|
PolymeraseMetrics,
|
|
20
21
|
ProductivityMetrics,
|
|
@@ -23,6 +24,7 @@ from cg.services.run_devices.pacbio.metrics_parser.models import (
|
|
|
23
24
|
SmrtlinkDatasetsMetrics,
|
|
24
25
|
)
|
|
25
26
|
from cg.services.run_devices.pacbio.metrics_parser.utils import (
|
|
27
|
+
get_parsed_metadata_file,
|
|
26
28
|
get_parsed_metrics_from_file_name,
|
|
27
29
|
get_parsed_sample_metrics,
|
|
28
30
|
)
|
|
@@ -63,6 +65,7 @@ class PacBioMetricsParser(PostProcessingMetricsParser):
|
|
|
63
65
|
barcodes_metrics: BarcodeMetrics = get_parsed_metrics_from_file_name(
|
|
64
66
|
metrics_files=metrics_files, file_name=PacBioDirsAndFiles.BARCODES_REPORT
|
|
65
67
|
)
|
|
68
|
+
metadata_metrics: MetadataMetrics = get_parsed_metadata_file(metrics_files)
|
|
66
69
|
sample_metrics: list[SampleMetrics] = get_parsed_sample_metrics(metrics_files)
|
|
67
70
|
LOG.debug(f"All metrics parsed for run {run_data.run_id}")
|
|
68
71
|
return PacBioMetrics(
|
|
@@ -72,5 +75,6 @@ class PacBioMetricsParser(PostProcessingMetricsParser):
|
|
|
72
75
|
polymerase=polymerase_metrics,
|
|
73
76
|
dataset_metrics=dataset_metrics,
|
|
74
77
|
barcodes=barcodes_metrics,
|
|
78
|
+
metadata=metadata_metrics,
|
|
75
79
|
samples=sample_metrics,
|
|
76
80
|
)
|
|
@@ -135,7 +135,7 @@ class BarcodeMetrics(RunMetrics):
|
|
|
135
135
|
..., alias=BarcodeMetricsAliases.BARCODED_HIFI_YIELD_PERCENTAGE
|
|
136
136
|
)
|
|
137
137
|
barcoded_hifi_mean_read_length: int = Field(
|
|
138
|
-
..., alias=BarcodeMetricsAliases.
|
|
138
|
+
..., alias=BarcodeMetricsAliases.BARCODED_MEAN_READ_LENGTH
|
|
139
139
|
)
|
|
140
140
|
unbarcoded_hifi_reads: int = Field(..., alias=BarcodeMetricsAliases.UNBARCODED_HIFI_READS)
|
|
141
141
|
unbarcoded_hifi_yield: int = Field(..., alias=BarcodeMetricsAliases.UNBARCODED_HIFI_YIELD)
|
|
@@ -156,6 +156,13 @@ class SampleMetrics(RunMetrics):
|
|
|
156
156
|
sample_internal_id: str = Field(..., alias=SampleMetricsAliases.SAMPLE_INTERNAL_ID)
|
|
157
157
|
|
|
158
158
|
|
|
159
|
+
class MetadataMetrics(BaseModel):
|
|
160
|
+
"""Model that holds metadata for a specific run."""
|
|
161
|
+
|
|
162
|
+
run_name: str
|
|
163
|
+
unique_id: str
|
|
164
|
+
|
|
165
|
+
|
|
159
166
|
class PacBioMetrics(RunMetrics):
|
|
160
167
|
"""Model that holds all relevant PacBio metrics."""
|
|
161
168
|
|
|
@@ -165,4 +172,5 @@ class PacBioMetrics(RunMetrics):
|
|
|
165
172
|
polymerase: PolymeraseMetrics
|
|
166
173
|
dataset_metrics: SmrtlinkDatasetsMetrics
|
|
167
174
|
barcodes: BarcodeMetrics
|
|
175
|
+
metadata: MetadataMetrics
|
|
168
176
|
samples: list[SampleMetrics]
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
from typing import Any, Type
|
|
3
|
+
from xml.etree import ElementTree
|
|
4
|
+
from xml.etree.ElementTree import Element
|
|
3
5
|
|
|
4
6
|
from cg.constants.constants import FileFormat
|
|
5
7
|
from cg.constants.pacbio import MetricsFileFields, PacBioDirsAndFiles
|
|
8
|
+
from cg.exc import XMLError
|
|
6
9
|
from cg.io.controller import ReadFile
|
|
7
10
|
from cg.services.run_devices.pacbio.metrics_parser.models import (
|
|
8
11
|
BarcodeMetrics,
|
|
9
12
|
BaseMetrics,
|
|
10
13
|
ControlMetrics,
|
|
14
|
+
MetadataMetrics,
|
|
11
15
|
PolymeraseMetrics,
|
|
12
16
|
ProductivityMetrics,
|
|
13
17
|
ReadMetrics,
|
|
@@ -78,3 +82,24 @@ def get_parsed_sample_metrics(metrics_files: list[Path]) -> list[SampleMetrics]:
|
|
|
78
82
|
MetricsFileFields.COLUMNS
|
|
79
83
|
)
|
|
80
84
|
return _parse_sample_data(sample_data)
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def get_parsed_metadata_file(metrics_files: list[Path]) -> MetadataMetrics:
|
|
88
|
+
namespaces: dict[str, str] = {
|
|
89
|
+
"pb": "http://pacificbiosciences.com/PacBioDataModel.xsd" # NOSONAR
|
|
90
|
+
}
|
|
91
|
+
metadata_file: Path = get_file_with_pattern_from_list(
|
|
92
|
+
files=metrics_files, pattern=PacBioDirsAndFiles.METADATA_FILE_SUFFIX
|
|
93
|
+
)
|
|
94
|
+
root: Element = ElementTree.parse(metadata_file).getroot()
|
|
95
|
+
run: Element | None = root.find(".//pb:Run", namespaces=namespaces)
|
|
96
|
+
if run is not None:
|
|
97
|
+
run_name, unique_id = run.get("Name"), run.get("UniqueId")
|
|
98
|
+
if run_name and unique_id:
|
|
99
|
+
return MetadataMetrics(run_name=run_name, unique_id=unique_id)
|
|
100
|
+
else:
|
|
101
|
+
raise XMLError(
|
|
102
|
+
f"'Run' element is missing either 'Name' or 'UniqueId' in {metadata_file}"
|
|
103
|
+
)
|
|
104
|
+
else:
|
|
105
|
+
raise XMLError(f"No 'Run' element found in {metadata_file}")
|
|
@@ -20,7 +20,18 @@ class PacBioRunFileManager(RunFileManager):
|
|
|
20
20
|
"""Get the file paths required by the PacBioMetricsParser."""
|
|
21
21
|
run_path: Path = run_data.full_path
|
|
22
22
|
validate_files_or_directories_exist([run_path])
|
|
23
|
-
|
|
23
|
+
unzipped_dir: Path = self._get_unzipped_reports_dir(run_path)
|
|
24
|
+
files_to_parse: list[Path] = [
|
|
25
|
+
Path(unzipped_dir, PacBioDirsAndFiles.BARCODES_REPORT),
|
|
26
|
+
Path(unzipped_dir, PacBioDirsAndFiles.CONTROL_REPORT),
|
|
27
|
+
Path(unzipped_dir, PacBioDirsAndFiles.LOADING_REPORT),
|
|
28
|
+
Path(unzipped_dir, PacBioDirsAndFiles.RAW_DATA_REPORT),
|
|
29
|
+
Path(unzipped_dir, PacBioDirsAndFiles.SMRTLINK_DATASETS_REPORT),
|
|
30
|
+
self._get_ccs_report_file(run_path),
|
|
31
|
+
self._get_metadata_file(run_path),
|
|
32
|
+
]
|
|
33
|
+
validate_files_or_directories_exist(files_to_parse)
|
|
34
|
+
return files_to_parse
|
|
24
35
|
|
|
25
36
|
@handle_post_processing_errors(
|
|
26
37
|
to_except=(FileNotFoundError,), to_raise=PostProcessingRunFileManagerError
|
|
@@ -53,19 +64,16 @@ class PacBioRunFileManager(RunFileManager):
|
|
|
53
64
|
raise FileNotFoundError(f"No CCS report file found in {statistics_dir}")
|
|
54
65
|
return files[0]
|
|
55
66
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
]
|
|
67
|
-
validate_files_or_directories_exist(report_files)
|
|
68
|
-
return report_files
|
|
67
|
+
@staticmethod
|
|
68
|
+
def _get_metadata_file(run_path: Path) -> Path:
|
|
69
|
+
"""Return the path to the metadata file."""
|
|
70
|
+
metadata_dir: Path = Path(run_path, PacBioDirsAndFiles.METADATA_DIR)
|
|
71
|
+
files: list[Path] = get_files_matching_pattern(
|
|
72
|
+
directory=metadata_dir, pattern=f"*{PacBioDirsAndFiles.METADATA_FILE_SUFFIX}"
|
|
73
|
+
)
|
|
74
|
+
if not files:
|
|
75
|
+
raise FileNotFoundError(f"No metadata file found in {metadata_dir}")
|
|
76
|
+
return files[0]
|
|
69
77
|
|
|
70
78
|
@staticmethod
|
|
71
79
|
def _remove_unassigned_bam_file(bam_files: list[Path]) -> list[Path]:
|
cg/store/crud/create.py
CHANGED
|
@@ -524,6 +524,8 @@ class CreateMixin(ReadHandler):
|
|
|
524
524
|
sequencing_run = PacbioSequencingRun(
|
|
525
525
|
instrument_name=pacbio_sequencing_run_dto.instrument_name,
|
|
526
526
|
run_id=pacbio_sequencing_run_dto.run_id,
|
|
527
|
+
run_name=pacbio_sequencing_run_dto.run_name,
|
|
528
|
+
unique_id=pacbio_sequencing_run_dto.unique_id,
|
|
527
529
|
)
|
|
528
530
|
self.add_item_to_store(sequencing_run)
|
|
529
531
|
return sequencing_run
|
cg/store/models.py
CHANGED
|
@@ -1186,11 +1186,13 @@ class PacbioSequencingRun(Base):
|
|
|
1186
1186
|
|
|
1187
1187
|
id: Mapped[PrimaryKeyInt]
|
|
1188
1188
|
run_id: Mapped[Str64] = mapped_column(unique=True)
|
|
1189
|
+
run_name: Mapped[Str64 | None]
|
|
1189
1190
|
processed: Mapped[bool] = mapped_column(default=False)
|
|
1190
1191
|
comment: Mapped[Text] = mapped_column(default="")
|
|
1191
1192
|
instrument_name: Mapped[RevioNames] = mapped_column(
|
|
1192
1193
|
types.Enum(*(revio_name.value for revio_name in RevioNames))
|
|
1193
1194
|
)
|
|
1195
|
+
unique_id: Mapped[Str64 | None] = mapped_column(unique=True)
|
|
1194
1196
|
|
|
1195
1197
|
smrt_cell_metrics: Mapped[list[PacbioSMRTCellMetrics]] = orm.relationship(
|
|
1196
1198
|
back_populates="sequencing_run"
|
cg/utils/files.py
CHANGED
|
@@ -27,7 +27,7 @@ def get_file_in_directory(directory: Path, file_name: str) -> Path:
|
|
|
27
27
|
raise FileNotFoundError(f"File {file_name} not found in {directory}")
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
def get_file_with_pattern_from_list(files: list[Path], pattern: str) -> Path
|
|
30
|
+
def get_file_with_pattern_from_list(files: list[Path], pattern: str) -> Path:
|
|
31
31
|
"""
|
|
32
32
|
Return the path whose name matches a pattern from a list of paths.
|
|
33
33
|
Raises:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
cg/__init__.py,sha256=
|
|
1
|
+
cg/__init__.py,sha256=4hMPPBeUot_KdOw9KDLt2qAqJgGSZIhsGn2wKZbA-JA,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
|
|
@@ -211,7 +211,7 @@ cg/constants/nf_analysis.py,sha256=x9hCQvamgolqC8Pd76d9sBrP36jWbfpZEcxv4-Rigic,2
|
|
|
211
211
|
cg/constants/nipt.py,sha256=KGy7Y08jIUmT9FKKdjGzfRwvklAkOHRLKXqDOQx4aPc,19
|
|
212
212
|
cg/constants/observations.py,sha256=Sjxo3R7DCkcMkSWNSeg2Sznkjr3werFRRsSREjd6CCU,3887
|
|
213
213
|
cg/constants/orderforms.py,sha256=pLD_ufw11aE-Fn4x87el3F_KRITi2lbrgpBYU7eJgpM,2362
|
|
214
|
-
cg/constants/pacbio.py,sha256=
|
|
214
|
+
cg/constants/pacbio.py,sha256=dkSZEKlXGnj2zqfqXGNQU_R0fNo8yqMk2JAwTs2nQd4,4976
|
|
215
215
|
cg/constants/paths.py,sha256=BG0Jnk_ic8K8UrMyDaAwI4PSb8N6xZ7jPIeYPrOI72g,96
|
|
216
216
|
cg/constants/pdc.py,sha256=1eEP1HJ0qmJ4xfNEua9YajNMGZ-SdIBnfham3quE2ZA,252
|
|
217
217
|
cg/constants/pedigree.py,sha256=TfVjnrLMXBAhi5-LWmt_KoNHuimu0mpQvabQaXTtPCU,160
|
|
@@ -828,19 +828,19 @@ cg/services/run_devices/pacbio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
|
828
828
|
cg/services/run_devices/pacbio/data_storage_service/pacbio_store_service.py,sha256=5MXVrY3SxIQiMJIGD1iGap2nQWOyBNaoBBLHHEVIZbI,4723
|
|
829
829
|
cg/services/run_devices/pacbio/data_transfer_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
830
830
|
cg/services/run_devices/pacbio/data_transfer_service/data_transfer_service.py,sha256=XqJ6cJc2KfiI0svQFvZe8Hz4EcCDaggbvKkp6HBejag,2410
|
|
831
|
-
cg/services/run_devices/pacbio/data_transfer_service/dto.py,sha256=
|
|
832
|
-
cg/services/run_devices/pacbio/data_transfer_service/utils.py,sha256=
|
|
831
|
+
cg/services/run_devices/pacbio/data_transfer_service/dto.py,sha256=Mb3GlIHxuKTmjMA1LGT3T47QHmz7QP1Tf3Dmhmj9N-s,2055
|
|
832
|
+
cg/services/run_devices/pacbio/data_transfer_service/utils.py,sha256=EEj0nD99TGYOQQAQM1LmoGEz36BX-A9L9VrxMzb7Jlg,4360
|
|
833
833
|
cg/services/run_devices/pacbio/housekeeper_service/models.py,sha256=F1c7dID12XiR4TcyRq4mhRB5gWZz430z0h7sHKcni00,153
|
|
834
|
-
cg/services/run_devices/pacbio/housekeeper_service/pacbio_houskeeper_service.py,sha256=
|
|
834
|
+
cg/services/run_devices/pacbio/housekeeper_service/pacbio_houskeeper_service.py,sha256=7zD_3KDyxWIxErg8fta1mkYyNjpqCX9Rq1JuZaRwORk,5436
|
|
835
835
|
cg/services/run_devices/pacbio/metrics_parser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
836
|
-
cg/services/run_devices/pacbio/metrics_parser/metrics_parser.py,sha256=
|
|
837
|
-
cg/services/run_devices/pacbio/metrics_parser/models.py,sha256=
|
|
838
|
-
cg/services/run_devices/pacbio/metrics_parser/utils.py,sha256=
|
|
836
|
+
cg/services/run_devices/pacbio/metrics_parser/metrics_parser.py,sha256=kX3gEO7aUnsnIPhdbYHpM8ym5dHWXi3ZZ16rnuyxuBI,3440
|
|
837
|
+
cg/services/run_devices/pacbio/metrics_parser/models.py,sha256=52IxsGin6MpDMK67pDfTphyCZy9IMBmgbo-4frqglRc,7484
|
|
838
|
+
cg/services/run_devices/pacbio/metrics_parser/utils.py,sha256=QrxjnHDN2lu2RzwuMS4D8WepAEvzZCMv8VmDg5MjWBU,4492
|
|
839
839
|
cg/services/run_devices/pacbio/post_processing_service.py,sha256=Wa8t4rs_mqZdbqgil_ayX_lbhLsxCdH5r4Sg-njT-GI,4209
|
|
840
840
|
cg/services/run_devices/pacbio/run_data_generator/pacbio_run_data_generator.py,sha256=i8UEtEOXAXDr7PQezTz-_40cHqdwddJ8c7fmA1iTQPk,1999
|
|
841
841
|
cg/services/run_devices/pacbio/run_data_generator/run_data.py,sha256=h0TfMtHwyXlRp6SY8OCeTgKbDVcuC3925l0tftbrgZc,255
|
|
842
842
|
cg/services/run_devices/pacbio/run_file_manager/models.py,sha256=C6kycBPx6YKNq2oFJOIhdrcPloi3QIBOrlbaAgeYzgs,192
|
|
843
|
-
cg/services/run_devices/pacbio/run_file_manager/run_file_manager.py,sha256=
|
|
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
845
|
cg/services/run_devices/pacbio/sequencing_runs_service.py,sha256=n_noNrPfOAUGizgTpE5n1ezZA0O92XAB9o_FYIzcus8,2145
|
|
846
846
|
cg/services/run_devices/run_names/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -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=
|
|
877
|
+
cg/store/crud/create.py,sha256=DrwCPqPCAEM3vBZwvLg1JsNHXDPg5y9_EBVhhbJm9ig,22621
|
|
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=
|
|
906
|
+
cg/store/models.py,sha256=CzVK2iW16ygJFWjqIUvkia0j_XwvrYLB9EDy5C_4Xss,44415
|
|
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
|
|
@@ -916,13 +916,13 @@ cg/utils/date.py,sha256=4aX7ZyyRfHHiNsA8yNYw2nzTON-yq3gQSypAEXHK4Wk,2192
|
|
|
916
916
|
cg/utils/dict.py,sha256=Zr67gvr5_W1Lpe6_MUZDAegWa2oakXVW-JrZgiRcaAw,758
|
|
917
917
|
cg/utils/email.py,sha256=VH15Ezbc_FgSOGJr9KvSiMaEU0TwNaZHVUXlRAaBzxs,1251
|
|
918
918
|
cg/utils/enums.py,sha256=N9qaDTeu4BkqjKAY5QlF0qrVePl6zXIi6PvtxQ1ZWmo,133
|
|
919
|
-
cg/utils/files.py,sha256=
|
|
919
|
+
cg/utils/files.py,sha256=II2crwo8eqA4ODwxtsmkxKtXDkkXxpGAQDt3LDWF5F4,4022
|
|
920
920
|
cg/utils/flask/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
921
921
|
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.
|
|
926
|
-
cg-83.
|
|
927
|
-
cg-83.
|
|
928
|
-
cg-83.
|
|
925
|
+
cg-83.19.0.dist-info/METADATA,sha256=-BIIGc9nF6oBbjCJu03ksxN0cbg-f1bhsnABalnt1wg,4940
|
|
926
|
+
cg-83.19.0.dist-info/WHEEL,sha256=kJCRJT_g0adfAJzTx2GUMmS80rTJIVHRCfG0DQgLq3o,88
|
|
927
|
+
cg-83.19.0.dist-info/entry_points.txt,sha256=q5f47YQQGltzK_xnIq1mDopRXXEItr85Xe1BCtG-Wts,39
|
|
928
|
+
cg-83.19.0.dist-info/RECORD,,
|
|
File without changes
|