Refactor configuration.json migration to initial-config profiles#860
Merged
Aberdur merged 15 commits intoBU-ISCIII:developfrom Feb 23, 2026
Merged
Refactor configuration.json migration to initial-config profiles#860Aberdur merged 15 commits intoBU-ISCIII:developfrom
configuration.json migration to initial-config profiles#860Aberdur merged 15 commits intoBU-ISCIII:developfrom
Conversation
configuration.json migration to initial-config profiles
c58d1d4 to
fc5c724
Compare
…o initial configs
Shettland
reviewed
Feb 23, 2026
Shettland
reviewed
Feb 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Checklist
black and flake8).CHANGELOG.mdis updated.README.mdis updated (including new tool citations and authors/contributors).PR Description
This PR completes the configuration migration from
configuration.jsonto project-specific initial configs, and adapts core modules to work with merged runtime config (configuration.json+extra_config.json) per project profile.Main focus:
download,read-lab-metadata, andvalidatealignment with the new config model.configuration.json.Motivation
We now support multiple project profiles (RELECOV, EQA2026, MEPRAM) with different operational settings.
To avoid hardcoded project values in the generic config, project-specific behavior is moved to initial profile YAMLs and then loaded into
extra_config.Key Changes
1) Initial config split and migration
relecov_tools/conf/initial_config-relecov.yamlrelecov_tools/conf/initial_config-EQA2026.yamlrelecov_tools/conf/initial_config-MEPRAM.yamlconfiguration.jsonas generic baseline and removed migrated project-specific blocks.initial_config.yamland profile defaults as needed.2)
downloadadaptationConfigJson()→ConfigJson(extra_config=True).sftp_handle.metadata_processing.sample_id_col"Sample ID given for sequencing".3)
read-lab-metadataadaptationConfigJson(extra_config=True)) and resolves project/profile config fromextra_config.cast_values_from_schema(project-level override, fallback to global read_lab_metadata config).adding_ontology_to_enumnow supports ontology enums both from:properties.<field>.enum, and$ref-resolved enums (e.g.#/$defs/enums/...).adding_fields()now sets:s_json["map_field"] = sample_data_map_fields_json["file"] = "samples_data.json"(prevents missing-key issues in downstream processing).cast_values_from_schema=true,4)
validateadaptationproperties[sample_id_field].label"Sample ID given for sequencing".5) Related module alignment
sftp_client.pybuild_schema.pyupload_database.pyread_bioinfo_metadata.pymap.pyrelecov_tools/schema/relecov_schema_EQA.jsonrelecov_tools/schema/relecov_schema.jsonFiles of Interest
relecov_tools/conf/configuration.jsonrelecov_tools/conf/initial_config-relecov.yamlrelecov_tools/conf/initial_config-EQA2026.yamlrelecov_tools/conf/initial_config-MEPRAM.yamlrelecov_tools/download.pyrelecov_tools/read_lab_metadata.pyrelecov_tools/validate.py