mex.extractors.seq_repo package

Submodules

mex.extractors.seq_repo.extract module

mex.extractors.seq_repo.extract.extract_sources() → list[SeqRepoSource]

Extract Seq Repo sources by loading data from source json file.

Returns:

List of Seq Repo resources

mex.extractors.seq_repo.main module

mex.extractors.seq_repo.model module

class mex.extractors.seq_repo.model.SeqRepoSource(*, project_coordinators: list[str], basepair_count: int, customer_org_unit_id: str | None = None, sequencing_date: str | None = None, igs_id: str | None = None, lims_sample_id: str, sequencing_platform: str | None = None, species: str | None = None, pathogen_code: str | None = None, project_name: str, customer_sample_name: str, project_id: str, reads_count: int, system_feedback: str | None = None)

Bases: BaseRawData

Model class for Seq Repo Source.

basepair_count: int
customer_org_unit_id: str | None
customer_sample_name: str
get_end_year() → TemporalEntity | None

Return end year from extractor.

get_identifier_in_primary_source() → str | None

Return identifier in primary source from extractor.

get_partners() → Sequence[__annotationlib_name_1__]

Return partners from extractor.

get_start_year() → TemporalEntity | None

Return start year from extractor.

get_units() → Sequence[__annotationlib_name_1__]

Return units from extractor.

igs_id: str | None
lims_sample_id: str
model_config = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

pathogen_code: str | None
project_coordinators: list[str]
project_id: str
project_name: str
reads_count: int
sequencing_date: str | None
sequencing_platform: str | None
species: str | None
system_feedback: str | None

mex.extractors.seq_repo.settings module

class mex.extractors.seq_repo.settings.SeqRepoSettings(*, fallback_unit: str = 'C1', mapping_path: str = 'mappings/seq-repo')

Bases: BaseModel

Settings submodel for the SeqRepo extractor.

fallback_unit: str
mapping_path: str
model_config = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

mex.extractors.seq_repo.transform module

mex.extractors.seq_repo.transform.extract_person_item_or_contact_point_id_by_name(project_coordinator: str) → MergedContactPointIdentifier | ExtractedPerson | None

Extract Persons by their query string for source project coordinators.

Parameters:

project_coordinator – string of project coordinator

Returns:

extracted person, contact id or None

mex.extractors.seq_repo.transform.resolve_project_coordinators_to_contacts_and_contributors_and_units(project_coordinators: list[str]) → tuple[list[MergedContactPointIdentifier | MergedOrganizationalUnitIdentifier], list[MergedPersonIdentifier] | None, list[MergedOrganizationalUnitIdentifier]]

Resolve project coordinators to entries for contact, contributors and units.

Use defined Fallback unit if no project coordinator could be resolved.

Parameters:

project_coordinators – Seq Repo raw project coordinator names

Returns:

Merged ids of contact points or persons or units

mex.extractors.seq_repo.transform.transform_seq_repo_access_platform_to_extracted_access_platform(access_platform_mapping: AccessPlatformMapping) → ExtractedAccessPlatform

Transform seq-repo access platform to ExtractedAccessPlatform.

Parameters:

access_platform_mapping – Seq Repo access platform mapping model

Returns:

ExtractedAccessPlatform

mex.extractors.seq_repo.transform.transform_seq_repo_resource_to_extracted_resource(seq_repo_sources: list[SeqRepoSource], extracted_access_platform: ExtractedAccessPlatform, extracted_resource_series: list[ExtractedResourceSeries], resource_mapping: ResourceMapping, extracted_organization_rki: ExtractedOrganization) → list[ExtractedResource]

Transform seq-repo resources to ExtractedResource.

Parameters:
  • seq_repo_sources – Seq Repo extracted sources

  • extracted_access_platform – Extracted access platform

  • extracted_resource_series – list of ExtractedResourceSeries

  • resource_mapping – Seq Repo resource mapping model with default values

  • extracted_organization_rki – wikidata extracted organization

Returns:

list of ExtractedResource

mex.extractors.seq_repo.transform.transform_seq_repo_resource_to_extracted_resource_series(resource_series_mapping: ResourceSeriesMapping, seq_repo_sources: list[SeqRepoSource], extracted_access_platform: ExtractedAccessPlatform, extracted_organization_rki: ExtractedOrganization) → list[ExtractedResourceSeries]

Transform seq-repo resources to ExtractedResourceSeries.

Parameters:
  • resource_series_mapping – Seq Repo resource series mapping with default values

  • seq_repo_sources – Seq Repo extracted sources

  • extracted_access_platform – Extracted access platform

  • extracted_organization_rki – wikidata extracted organization

Returns:

list of ExtractedResourceSeries

Module contents