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

🐛 alignment workflow cwltool compatibility #135

Merged
merged 7 commits into from
Feb 15, 2024
Merged

Conversation

dmiller15
Copy link
Contributor

@dmiller15 dmiller15 commented Feb 13, 2024

Description

This PR is a series of changes I made to the alignment workflow so that it could be run in a cwltool runner environment.

  • Add missing requirements for rgbam subworkflow and python tool
  • In rgbam workflow, I needed to adjust the input selection for the array picking tool. Basically, for conditional steps that are scattered, Cavativa/Bunny will represent an skipped scatter step as null; cwltool on the other hand will represent it as [null, null, null, ...]. I wrote an expression that handles both in a faux-first_non_null fashion
  • Fixed a broken glob in a picard metrics tool
  • For the createsequencegroups tool, I moved the python script from the command line to a file. We could probably go further and move this into the scripts dir. Either way, the old way of doing things was causing problems on HealthOmics so I had to modify it to make it work
  • For the idxstats tool, I moved the awk script into its own file. I did this because the cwltool environment was not properly handling the newline declarations. It appears cwltool handles escapes in positional valueFroms different from cavatica. Moving the script to a standalone file maintains the appropriate escapes for both runners
  • In the alignment workflow, I adjusted the cutadapt aggregation tool to get rid of null returns. This was something that was actually happening in Cavatica as well, but Cavatica doesn't do the output type validation like cwltool. Returning null in a File[] will cause an error in the latter so I changed the expression to get rid of those.

Closes https://github.com/d3b-center/bixu-tracker/issues/2291

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Test Configuration:

  • Environment:
  • Test files:

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules
  • I have checked my code and corrected any misspellings
  • I have committed any related changes to the PR

@dmiller15 dmiller15 added bug Something isn't working bix-dev This issue or pull request is bix-dev work labels Feb 13, 2024
@dmiller15 dmiller15 self-assigned this Feb 13, 2024
@dmiller15 dmiller15 changed the title 🐛 fix cwltool 🐛 alignment workflow cwltool compatibility Feb 13, 2024
Copy link
Contributor

@sickler-alex sickler-alex left a comment

Choose a reason for hiding this comment

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

One small nitpick, but it's fine either way.

tools/python_createsequencegroups.cwl Outdated Show resolved Hide resolved
@dmiller15 dmiller15 merged commit 7046477 into master Feb 15, 2024
1 check passed
@dmiller15 dmiller15 deleted the dm-fix-cwltool branch February 15, 2024 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bix-dev This issue or pull request is bix-dev work bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants