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

Implement download data dictionary functionality #60

Open
rmanaem opened this issue Feb 25, 2025 · 3 comments · May be fixed by #61
Open

Implement download data dictionary functionality #60

rmanaem opened this issue Feb 25, 2025 · 3 comments · May be fixed by #61
Assignees

Comments

@rmanaem
Copy link
Contributor

rmanaem commented Feb 25, 2025

Now that the user can upload a data table and add/edit the description they should be able to download the result of their hard work and of course the downloaded data dictionary should have their latest description.

@rmanaem rmanaem self-assigned this Feb 25, 2025
@rmanaem rmanaem moved this to Implement - Active in Neurobagel Feb 25, 2025
@rmanaem
Copy link
Contributor Author

rmanaem commented Feb 25, 2025

@neurobagel/dev Could someone please drop an example of what we expect the output data dictionary to look like in the new tool? Given we're also including information in the BIDS section.

@alyssadai
Copy link

I think our existing reference example annotated data dictionary https://github.com/neurobagel/neurobagel_examples/blob/main/data-upload/example_synthetic.json pretty much includes accurate (i.e., to be kept the same) examples of all the different BIDS sections we would encounter (everything not under the "Annotations" key per column), with the exception of the age column.

AFAICT the age column pheno_age in the example data dictionary is missing two things that the new annotation tool will support:

  1. "Units" in the BIDS section (you can find also a pure BIDS example here)
  2. "Transformation" will now be named "Format"

So, instead of:

...
    "pheno_age": {
        "Description": "Age of the participant",
        "Annotations": {
            "IsAbout": {
                "TermURL": "nb:Age",
                "Label": "Age"
            },
            "Transformation": {
                "TermURL": "nb:FromEuro",
                "Label": "european decimal value"
            },
            "MissingValues": [
                "NA"
            ]
        }
    },
...

(from the current example file)

it would be (assuming the user completes all the optional steps during annotation)

...
    "pheno_age": {
        "Description": "Age of the participant",
        "Units": "years",
        "Annotations": {
            "IsAbout": {
                "TermURL": "nb:Age",
                "Label": "Age"
            },
            "Format": {
                "TermURL": "nb:FromEuro",
                "Label": "european decimal value"
            },
            "MissingValues": [
                "NA"
            ]
        }
    },
...

@surchs, let me know if that sounds right to you / if I'm missing anything!

@alyssadai
Copy link

alyssadai commented Feb 26, 2025

Oh, just a had a thought: we are planning to introduce a new annotation for nb:SubjectGroup (healthy control will be one of these), so this would also be an addition to our existing example.

We haven't discussed the implementation in detail, but I suspect it will look something like this:

    "Annotations": {
      "IsAbout": {
        "TermURL": "nb:SubjectGroup",
        "Label": "Study group for subject"
      },
      "Levels": {
        "CTRL": {
          "TermURL": "ncit:C94342",
          "Label": "Healthy Control"
        }
      }

@surchs, does that make sense to you?

@rmanaem rmanaem linked a pull request Feb 27, 2025 that will close this issue
7 tasks
@rmanaem rmanaem moved this from Implement - Active to Implement - Done in Neurobagel Feb 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Implement - Done
Development

Successfully merging a pull request may close this issue.

2 participants