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

Adding ISA-JSON support as input file. #88

Merged
merged 63 commits into from
Dec 18, 2023

Conversation

bedroesb
Copy link
Collaborator

@bedroesb bedroesb commented Nov 6, 2023

This pull request will add ISA JSON support as input file. This JSON file is generated from FAIRDOM-SEEK. Since an ISA JSON can hold many assay streams, we introduce a new parameter, isa_assay_stream together with the isa_json parameter.

  • Add ISA JSON support as param
  • Select Assay stream in ISA JSON through param
  • Add appropriate tests
  • Fix the setup.py installation
  • Make sure the setup.py is adapted
  • Update documentation
  • Some extra testing
  • Add support for multiple assay streams

Kevin De Pelseneer added 30 commits September 22, 2023 15:05
- Initiate IsaStudy directly from isa JSON file
- Add typing system
- Add Dict validation before creating the IsaStudy object
- Add study alias
- Add std module for common functions
- Add docstrings
- Add runs and experiments to Study object
@bedroesb bedroesb marked this pull request as ready for review November 17, 2023 14:20
@bedroesb
Copy link
Collaborator Author

@bgruening hey! This feature would allow the tool to parse ISA-JSON making a connection between FAIRDOM-SEEK and ENA. (also possible other platform that export ISA-JSON). The parser creates datatables that can be used by the existing parts of the ENA upload tool.

This is a BETA feature though... maybe it will disappear when repositories will except ISA-JSON themselves. Any opinions?

Copy link
Member

@bgruening bgruening left a comment

Choose a reason for hiding this comment

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

Amazing work!

@@ -1 +1 @@
__version__ = "0.6.3"
__version__ = "0.6.4"
Copy link
Member

Choose a reason for hiding this comment

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

That probably justifies a larger version bump.

@@ -857,6 +876,24 @@ def main():
schema_dataframe[schema] = xl_sheet
path = os.path.dirname(os.path.abspath(xlsx))
schema_tables[schema] = f"{path}/ENA_template_{schema}.tsv"
elif isa_json_file:
# Read json file
isa_json = json.load(open(isa_json_file))
Copy link
Member

Choose a reason for hiding this comment

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

the file handle is here kept open, maybe use a with open statement?

@bedroesb
Copy link
Collaborator Author

@bgruening thanks for spotting! Yes quite a big one @kdp-cloud wrote a nice piece of code, and now all the rest looks very janky 😄

@bedroesb bedroesb merged commit cd3e8a9 into usegalaxy-eu:master Dec 18, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants