Skip to content

Conversation

@mvdbeek
Copy link
Member

@mvdbeek mvdbeek commented Jul 16, 2025

builds on #660 and #661.

Some of these workflows don't consume fastqs or GTFs or both, so I also implemented
#652 and some of these need single end collections, so I implemented #659

closes #580, #659, #568

@d-callan
Copy link
Collaborator

will this supersede #570??

@mvdbeek
Copy link
Member Author

mvdbeek commented Jul 16, 2025

I suppose that can happen at any point since the workflows we're updating there aren't active

@mvdbeek mvdbeek force-pushed the extend_param_config branch from 85fa197 to ecbfbbb Compare July 18, 2025 14:58
mvdbeek added 6 commits July 18, 2025 16:58
I don't know how to properly assign the pools. Are those separate run
accessions ?
Similar issue with the single cell CMO workflow that requires two PE
collection inputs, not sure how that is deposited and retrieved from SRA
/ ENA.
@mvdbeek mvdbeek force-pushed the extend_param_config branch 2 times, most recently from 7034332 to ec0b097 Compare July 18, 2025 15:13
@mvdbeek mvdbeek force-pushed the extend_param_config branch from ec0b097 to 9dc1bea Compare July 18, 2025 15:31
@mvdbeek mvdbeek changed the title Parameterize active workflows with stepper inputs feat: configure active workflows with stepper inputs Jul 18, 2025
@mvdbeek mvdbeek force-pushed the extend_param_config branch from 9dc1bea to d699255 Compare July 18, 2025 15:34
@github-actions github-actions bot added the feat label Jul 18, 2025
@mvdbeek mvdbeek marked this pull request as ready for review July 18, 2025 15:36
@mvdbeek
Copy link
Member Author

mvdbeek commented Jul 18, 2025

This should be a nice enhancement. Not sure that the single / paired split for the ENA config is the best way to go about it. We'll have to eventually pass in props for organism, read type (short read vs long read), single-paired etc. that should control the default api filters we're using, so maybe passing along some kind of config object is a better idea.

@d-callan
Copy link
Collaborator

holy guacamole batman! hold please.. i need to go grab my thinking cap and put on some much higher energy music for this 😂

Copy link
Collaborator

@d-callan d-callan left a comment

Choose a reason for hiding this comment

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

a huge improvement! seriously, thanks @mvdbeek 🦸

Not sure that the single / paired split for the ENA config is the best way to go about it. We'll have to eventually pass in props for organism, read type (short read vs long read), single-paired etc. that should control the default api filters we're using, so maybe passing along some kind of config object is a better idea.

i agree, but think all we need to do about it right now is file an issue and reference it here.

geneModelUrl?: string | null;
readRuns?: EnaPairedReads[] | null;
readRunsPaired?: EnaPairedReads[] | null;
readRunsSingle?: EnaPairedReads[] | null;
Copy link
Collaborator

Choose a reason for hiding this comment

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

is EnaPairedReads actually specific to paired reads then? it seems like we either need something else here for readRunsSingle, or we should renmame EnaPairedReads ??

Copy link
Member Author

Choose a reason for hiding this comment

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

I wanted to limit the refactoring here, but you're right the interface is only

export interface EnaPairedReads {
  md5Hashes: string;
  runAccession: string;
  urls: string;
}

which is generic enough for single and paired reads. I'll rename it to EnaSequencingReads

Copy link
Member Author

Choose a reason for hiding this comment

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

Done in 44d068f

}

// Narrow type specific to the one kind of collection we use -- might be worth defining a more general collection type if we need other kinds of collections
// Narrow type specific to the two kinds of collections we use -- might be worth defining a more general collection type if we need other kinds of collections
Copy link
Collaborator

Choose a reason for hiding this comment

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

the relationship between these two things could be clarified. meaning, a lot of places were using single vs paired language but not here, and technically the paired one is also a list no? it leaves the names of the interfaces alone slightly confusing, until you think about it from galaxy perspective instead of just the context of this pr. i understood on my second read through, but still, even if all we do is improve the comment above.. future danielle's brain would appreciate it

Copy link
Member Author

Choose a reason for hiding this comment

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

Single vs Paired only makes sense on the BRC side where we match reads to input parameters, paired is a special case of collection type. You might as well express it as list:list, where the inner list has only 2 items, forward and reverse. I think this is OK as a comment ? Or I don't know what to improve here

import { PAPER_PROPS } from "./constants";
import { useEffect } from "react";
import { STEP } from "../../step";
import { PAIRED_END_STEP } from "../../step";
Copy link
Collaborator

Choose a reason for hiding this comment

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

this has been a lot to digest so maybe i didnt read it right, but this needs to be a bit cleverer no? or it thinks its not configured for single end workflows?

Copy link
Member Author

Choose a reason for hiding this comment

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

That's a good catch, this is why you can't bypass the ENA step in single end workflows

Copy link
Member Author

@mvdbeek mvdbeek Jul 22, 2025

Choose a reason for hiding this comment

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

@mvdbeek mvdbeek force-pushed the extend_param_config branch 2 times, most recently from 5b57205 to d1c346b Compare July 22, 2025 13:00
@mvdbeek mvdbeek force-pushed the extend_param_config branch from d1c346b to 0810f94 Compare July 22, 2025 13:01
Copy link
Contributor

Choose a reason for hiding this comment

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

Hey @mvdbeek! I noticed that the STEP constant and LaunchStep might not be used elsewhere in the codebase. Just wanted to check if these are still needed, or if they might be leftover code debt?

Copy link
Collaborator

@d-callan d-callan left a comment

Choose a reason for hiding this comment

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

🎉

@d-callan d-callan merged commit 1f6bae9 into galaxyproject:main Jul 22, 2025
3 checks passed
Copy link
Contributor

@frano-m frano-m left a comment

Choose a reason for hiding this comment

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

LGTM! There might be some leftover code debt, and we might take a look at the UI with the "launch" button now outside of the last step (loading state looks a bit borked), but otherwise nice work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

workflow stepper always shows gtf file input selection

3 participants