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 author and tools details in RO-Crate #18820

Open
wants to merge 4 commits into
base: dev
Choose a base branch
from

Conversation

Marie59
Copy link

@Marie59 Marie59 commented Sep 16, 2024

Here we go again !
I am launching this PR on a bit of work I did to ameliorate the RO-Crate plugin.

I updated the _add_worfklow function. I added the information on the author of the workflow:

  • Name
  • Orcid
    The update checks if the workflow attribute 'creator_metadata' exist. If it exists, it writes into the ro-crate the name of the creator (if there is no name it leaves a "") same for the idenifier (by default i put the ORCID maybe it's not a good Idea and if there is no Orcid it leaves a ""). If there is no 'creator_metadata' nothing is written on the creator.

I created a function _add_tools that checks the different info in workflow.steps to add some tools details:

  • Id of the tool
  • tool's name (label if there is one or id if there is no label)
  • tools' version
  • tool's description: the update checks if the tool has an annotations attribute if it exist it is written as the description if it does not the description remains "")
  • url to the the toolshed (not sure this part is relevant as I did not yet solve how to have the exact url to the tool in the toolshed and I just let the global url to the toolshed)

I am not sure if I wrote that the correct way corresponding to the run crate profile (this is a bit obscure to me)

@pauldg What do you think of this ?
Thanks !!

@github-actions github-actions bot added the area/database Galaxy's database or data access layer label Sep 16, 2024
@github-actions github-actions bot added this to the 24.2 milestone Sep 16, 2024
@Marie59 Marie59 changed the title Ro crate2 Add author and tools details in RO-Crate Sep 17, 2024
Copy link
Member

@mvdbeek mvdbeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice. Any chance you could also add or extend tests ? 3dbe289#diff-9f3ad661ca1701467f48508ea79951efe90aa29a6d02dec3f2998d831e755bb4 contains the existing examples.

lib/galaxy/model/store/ro_crate_utils.py Outdated Show resolved Hide resolved
lib/galaxy/model/store/ro_crate_utils.py Outdated Show resolved Hide resolved
lib/galaxy/model/store/ro_crate_utils.py Outdated Show resolved Hide resolved
lib/galaxy/model/store/ro_crate_utils.py Outdated Show resolved Hide resolved
lib/galaxy/model/store/ro_crate_utils.py Outdated Show resolved Hide resolved
lib/galaxy/model/store/ro_crate_utils.py Outdated Show resolved Hide resolved
lib/galaxy/model/store/ro_crate_utils.py Outdated Show resolved Hide resolved
lib/galaxy/model/store/ro_crate_utils.py Show resolved Hide resolved
lib/galaxy/model/store/ro_crate_utils.py Outdated Show resolved Hide resolved
lib/galaxy/model/store/ro_crate_utils.py Show resolved Hide resolved
@Marie59
Copy link
Author

Marie59 commented Sep 18, 2024

Thanks a lot for the review and help @mvdbeek !

@stain
Copy link

stain commented Sep 19, 2024

@OliverWoolland could you review this? I think this solves many of the issues you had about the Workflow Run Crate from Galaxy

@Marie59
Copy link
Author

Marie59 commented Sep 19, 2024

TO DO in a 2nd time (maybe in a later PR but I'm just putting that here to keep it in mind):

  • Add xrefs of tools
  • Add citations of tools
  • Add edam ontologies of tools

@Marie59 Marie59 reopened this Oct 22, 2024
"name": tool_name,
"version": tool_version,
"description": tool_description,
"url": "https://toolshed.g2.bx.psu.edu", # URL if relevant
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not always true. Tools could come from multiple toolsheds.


# Add tools used in the workflow
self._add_tools(crate)
self._add_steps(crate)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Workflows can have workflow inputs. Should we add them here as well? At least the types of the workflow inputs?

@elichad
Copy link
Contributor

elichad commented Nov 12, 2024

Quick update from the RO-Crate side (with apologies from the long delay) - the metadata that's being added looks fine to me as I read the code, but I would like to look at an example RO-Crate generated using this PR to make sure the JSON-LD output looks like it should. I'm waiting for @pauldg or @OliverWoolland to provide me with such a crate, whoever gets there first

@mvdbeek mvdbeek self-requested a review November 12, 2024 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/database Galaxy's database or data access layer
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants