From dbd4c9b2f83578711b22d113e2805ddadbf2f31f Mon Sep 17 00:00:00 2001 From: "Mark A. Miller" Date: Mon, 21 Apr 2025 08:47:38 -0400 Subject: [PATCH 1/2] sample_annotator/sample_annotator.py with default factories --- sample_annotator/sample_annotator.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sample_annotator/sample_annotator.py b/sample_annotator/sample_annotator.py index c104b8a..fb932d3 100644 --- a/sample_annotator/sample_annotator.py +++ b/sample_annotator/sample_annotator.py @@ -15,6 +15,10 @@ from .metadata.sample_schema import SampleSchema, underscore from .report_model import AnnotationReport, PackageCombo, AnnotationMultiSampleReport, Category, SAMPLE, STUDY +from dataclasses import dataclass, field +from sample_annotator.geolocation.geotools import GeoEngine +from sample_annotator.metadata.sample_schema import SampleSchema + KEY_ENV_PACKAGE = nmdc_slots.env_package.name KEY_CHECKLIST = 'checklist' KEY_LAT_LON = nmdc_slots.lat_lon.name @@ -28,10 +32,10 @@ class SampleAnnotator(): """ target_class: ClassDefinition = None - geoengine: GeoEngine = GeoEngine() - measurement_engine: MeasurementEngine = MeasurementEngine() + geoengine: GeoEngine = field(default_factory=GeoEngine) + measurement_engine: MeasurementEngine = field(default_factory=MeasurementEngine) - schema: SampleSchema = SampleSchema() + schema: SampleSchema = field(default_factory=SampleSchema) def annotate_all(self, samples: List[SAMPLE], study: STUDY = None) -> AnnotationMultiSampleReport: """ From 37ba539a03c7270757bf2b6fb3534cb0044ad69d Mon Sep 17 00:00:00 2001 From: "Mark A. Miller" Date: Mon, 21 Apr 2025 09:15:42 -0400 Subject: [PATCH 2/2] import optimizastion --- sample_annotator/sample_annotator.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/sample_annotator/sample_annotator.py b/sample_annotator/sample_annotator.py index fb932d3..06cb0cc 100644 --- a/sample_annotator/sample_annotator.py +++ b/sample_annotator/sample_annotator.py @@ -2,7 +2,7 @@ import logging import re import sys -from dataclasses import dataclass +from dataclasses import dataclass, field from typing import List import bioregistry @@ -10,14 +10,11 @@ from linkml_runtime.linkml_model.meta import ClassDefinition from nmdc_schema.nmdc import slots as nmdc_slots -from .geolocation.geotools import GeoEngine -from .measurements.measurements import MeasurementEngine -from .metadata.sample_schema import SampleSchema, underscore -from .report_model import AnnotationReport, PackageCombo, AnnotationMultiSampleReport, Category, SAMPLE, STUDY - -from dataclasses import dataclass, field from sample_annotator.geolocation.geotools import GeoEngine from sample_annotator.metadata.sample_schema import SampleSchema +from .measurements.measurements import MeasurementEngine +from .metadata.sample_schema import underscore +from .report_model import AnnotationReport, PackageCombo, AnnotationMultiSampleReport, Category, SAMPLE, STUDY KEY_ENV_PACKAGE = nmdc_slots.env_package.name KEY_CHECKLIST = 'checklist'