Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce a step to update study metadata #67

Open
forus opened this issue Nov 21, 2024 · 7 comments
Open

Introduce a step to update study metadata #67

forus opened this issue Nov 21, 2024 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@forus
Copy link
Contributor

forus commented Nov 21, 2024

Add support of update any of the study attributes described in the Meta File Formats Documentation without reloading the entire study.

@forus forus added the enhancement New feature or request label Nov 21, 2024
@forus forus self-assigned this Nov 21, 2024
@migbro
Copy link

migbro commented Nov 21, 2024

Not sure if this sounds silly, but perhaps allowing for update of any meta file, especially description as perhaps if a clarifying detail needed to be added about the nature of any of the clinical data files or the genomic files, one could easily patch that rather than having to reload the entire study.

@forus
Copy link
Contributor Author

forus commented Nov 26, 2024

@migbro I’ve realized that including the update of study attributes as part of incremental upload doesn’t make much sense. Incremental upload operates within the patient-sample hierarchy, where entities and their child entities are removed and reloaded based on the supplied files. For example, when incrementally uploading patients, all their associated samples are removed and reloaded.

Following this logic, applying incremental upload to studies would require removing all patients and their samples when a study is incrementally uploaded. This essentially mirrors the behavior of a full reload, which defeats the purpose of incremental uploads. This is why incremental upload for studies was not supported in the first place.

That said, we could implement study attribute updates as a separate update or patch command.

By the way, is there a description field in clinical meta files currently? I couldn’t find one.

All platform-based molecular data types share the following fields in their meta files: show_profile_in_analysis_tab, profile_name, and profile_description. Let me know if you’d like to update these fields, and I can create a separate ticket for it.

@forus
Copy link
Contributor Author

forus commented Nov 26, 2024

@migbro When updating a study's metadata, how should the absence of an attribute be interpreted? Should the missing attribute be removed, or should it remain unchanged?

For example, consider study A, which initially included a citation field when it was first uploaded. If the updated metadata file does not include the citation field, does this imply that the citation should be reset (emptied) or left as it is?

@forus forus changed the title Support incremental upload for study data Introduce a step to update study metadata Nov 26, 2024
@forus
Copy link
Contributor Author

forus commented Nov 26, 2024

It won't be possible to update cancer_study_identifier attribute with this command as we rely on this field to lookup previous record from the database.

@forus
Copy link
Contributor Author

forus commented Nov 26, 2024

Not sure how to deal with add_global_case_list attribute updates and what it'd mean yet.

@migbro
Copy link

migbro commented Nov 26, 2024

Honestly, I was more concerned with, when a meta file has a description filed, or as you pointed out a citation field, being able to update that. Even just say, replacing a complete meta file is fine, it's the hope of avoiding reloading the whole study when all you wanted to do was update text that provides context or add al link. Other fields, especially in meta_study like reference_genome I agree are a bit heavy-hitting or have greater implications.

@forus
Copy link
Contributor Author

forus commented Nov 27, 2024

Here is the implementation #68

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants