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

Add Sample IDs to the dynamic table and exported table #1359

Closed
2 of 3 tasks
rabuono opened this issue Feb 15, 2023 · 6 comments · Fixed by #1436
Closed
2 of 3 tasks

Add Sample IDs to the dynamic table and exported table #1359

rabuono opened this issue Feb 15, 2023 · 6 comments · Fixed by #1436
Assignees
Labels
datahub belgiumHub project
Milestone

Comments

@rabuono
Copy link
Collaborator

rabuono commented Feb 15, 2023

  • Add output/current Assay/child Sample ID to the dynamic table
  • Add Input Sample ID to the dynamic table
  • Add Input Sample ID as a new column in the exported table
@rabuono rabuono added the datahub belgiumHub project label Feb 15, 2023
@rabuono
Copy link
Collaborator Author

rabuono commented Feb 15, 2023

This will help with a few scenarios, including the following:

  • In DataHub, Assay A with two samples named S1 and S1 (same name, different samples)
  • In DataHub, Assay B
    • Input “S1” --> Output “S1a”
  • User download Assay B table to fill in the table with a new sample

Table: Assay B table contains

  • Output ID = ID_S1a123 (the user has never seen this before)
  • Input ID = ID_S123 (the user has never seen this before)
  • Input name = S1
  • [N attributes describing S1a] = xxx
  • Output name = S1a

User:

  • wonders what Output ID = ID_S1a123 is and ignores it
  • wonders what Input ID = ID_S123 is and ignores it
  • Under Input name, the user adds “S1”
  • Fills in N attributes describing the new sample
  • Under Output name, the user add “S1b”
  • Copy-paste the new row of the table into DataHub dynamic table

DataHub

  • Checks the value for Output ID = EMPTY —> create new sample
    • assign Output ID = XX when user hits SAVE
    • assign Output name = S1b when user hits SAVE
  • Checks the value for Input name = S1, search for input sample name = S1 and finds 2 samples with the same name
    • —> ERROR. Asks the user to choose between “S1 with ID_S123” and “S1 with ID_S145” as input
  • User checks the downloaded table and choose “S1 with ID_S123”

@kdp-cloud kdp-cloud self-assigned this Mar 23, 2023
@floradanna
Copy link
Collaborator

Before any development can be done, there is some GUI to be defined.

  1. in the dynamic table, multiple inputs get all listed in the same column as coma separated values. How do we envision the visualisation of ID for these inputs?

Having the IDs all listed as coma separated values in a separated column might not improve clarity for the users.

Screenshot 2023-03-28 at 10 37 33

@floradanna
Copy link
Collaborator

floradanna commented Apr 14, 2023

Features of the exported/imported excel sheet:

  • Headers contain controlled vocabulary (as dropdown); users can only choose from the listed terms.
  • ID column is locked and cannot be edited by users (it can begin copied though)
  • All samples in the sample type will be exported (for now). See issue Improvement of export samples via dynamic table #1422 for improved feature.
  • Export/Import for editing and creating samples is only allowed for each single sample type, not for the overview table

@kdp-cloud kdp-cloud linked a pull request May 4, 2023 that will close this issue
@rabuono
Copy link
Collaborator Author

rabuono commented May 9, 2023

Short update on the testing:

  • Currently, the downloaded spreadsheet has many blank values in the dropdown for ontology. GIF below

dropdown_with_blanks

  • The Sources Table (and likely Samples table and Assay tables) display FAIRDOM-SEEK id and uuid of Samples that the User should not have access to.
  • The downloaded spreadsheet contains Samples that the User downloading it shouldn't have access to.
    Alice is added to the Project and makes Sample 5 (yellow). Alice changed the Sample sharing permissions so that it is only visible to Project members.
    image (8)
    Rafael is not part of the Project, but has access to Samples 1 through 4 (but not 5). Sources Table has expected behavior below for values about Sample 5, but should not be displaying FAIRDOM-SEEK id nor uuid for Sample 5 (as Rafael does not have access to it).
    image (9)
    The downloaded spreadsheet contains information on Sample 5, but should contain no mention to Sample 5 at all, as Rafael has no access to Sample 5.
    image (10)

@kdp-cloud kdp-cloud added this to the v1.14.0 milestone May 14, 2023
@rabuono
Copy link
Collaborator Author

rabuono commented May 15, 2023

Best might be to substitute MANDATORY with REQUIRED to keep consistency with vocabulary used in FAIRDOM-SEEK

Image

@floradanna
Copy link
Collaborator

Visualisation:

  • In excel, list of inputs is visualised as [{"id"=>24, "title"=>"Sample 1"}, {"id"=>25, "title"=>"Sample 2"}]. Users must follow this syntax to update/make samples link via excel.
  • In dynamic table, in "Input" attribute, the sample name is shown (sample ID could be shown when hovering over it and in dropdown list)
  • when uploading the excel to the assay
    • SEEK check user's sample permissions --> list samples that cannot be edited by the user because the user has no managing permission on those samples
    • provide overview of the changes that the user is about to make and provide option for deleting each sample in case user doesn't want to continue with those changes
    • for newly created samples, the user is then redirect to batch sharing permission page to apply sharing permission to the new samples

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
datahub belgiumHub project
Projects
Status: Released
Development

Successfully merging a pull request may close this issue.

3 participants