Skip to content

Allow single file processing spades#7802

Draft
paulzierep wants to merge 2 commits intogalaxyproject:mainfrom
paulzierep:add-single-file-input-metaspades
Draft

Allow single file processing spades#7802
paulzierep wants to merge 2 commits intogalaxyproject:mainfrom
paulzierep:add-single-file-input-metaspades

Conversation

@paulzierep
Copy link
Copy Markdown
Contributor

FOR CONTRIBUTOR:

  • I have read the CONTRIBUTING.md document and this tool is appropriate for the tools-iuc repo.
  • License permits unrestricted use (educational + commercial)
  • This PR adds a new tool or tool collection
  • This PR updates an existing tool or tool collection
  • This PR does something else (explain below)

There are two labels that allow to ignore specific (false positive) tool linter errors:

  • skip-version-check: Use it if only a subset of the tools has been updated in a suite.
  • skip-url-check: Use it if github CI sees 403 errors, but the URLs work.

Copy link
Copy Markdown
Contributor

@bernt-matthias bernt-matthias left a comment

Choose a reason for hiding this comment

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

Why not use Galaxy's possibilities to achieve the same?

@paulzierep
Copy link
Copy Markdown
Contributor Author

Why not use Galaxy's possibilities to achieve the same?

I wish we could :) I guess you are referring to the nest collection tool to force mapping over.
The problem is we are using the tool in a workflow, and for this workflow we also want to allow to use optional long reads (hybrid assembly mode of spades). The tool also allows the use of additional reads, which could be another optional input.
However, for these optional inputs, one needs to connect the pick parameter tool to the nest collection tool, and this fails if no input is provided. See: galaxyproject/galaxy#22080
The suggestion to fix it on the tool level comes from this PR.
Now, that I think of it, it's actually a pretty big issue, since this actually means that we cannot use the nest collection tool to force mapping over for any tool that has optional inputs in a workflow. And hence would need to change a lot of wrappers if this logic is required. If you have another idea or a simpler fix, that would be great !

Copy link
Copy Markdown
Contributor

@bernt-matthias bernt-matthias left a comment

Choose a reason for hiding this comment

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

I won't object the change. Still, my (weak) preference would be implement this with nested collections, but @mvdbeek had some good reasons to have this implemented on the tool side. Guess we can/should discuss this also in the next tool dev meeting.

We definitely need test coverage for individual + coassembly of the main read set (input_files_paired) and the additional reads (input_additional_files_paired) + the possible combinations.

Comment thread tools/spades/macros.xml
<option value="single">Single-end</option>
<option value="paired_interlaced">Paired-end: interlaced reads</option>
<option value="paired_collection" selected="true">Paired-end: list of dataset pairs</option>
<param name="sPaired" type="select" label="Input format for reads" help="@HELP@">
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This macro could reuse input_files_paired

Comment thread tools/spades/macros.xml
<param name="sPaired" type="select" label="Input format for reads" help="@HELP@">
<option value="single">Single-end (individual assembly)</option>
<option value="paired">Paired-end: forward + reverse (individual assembly)</option>
<option value="interlaced">Paired-end: interlaced reads (individual assembly)</option>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could we drop interlaced? I have never seen an interlaced dataset in my life.

Comment thread tools/spades/macros.xml
Comment on lines +64 to +66
#set ext = $fix_ext($input_file.ext)
#set fname = re.sub('[^\w\-_.]', '_', $input_file.element_identifier) + '.' + $ext
#set file_path = 'reads1/' + $fname
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could imagine that having this implemented as a function would be beneficial.

@SantaMcCloud
Copy link
Copy Markdown
Contributor

#7876

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