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:
BaseRawDataModel 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:
BaseModelSettings 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