<!subteam^S044DU0NG68> (and especially <!subteam^S...
# team-maintainers
j
<!subteam^S044DU0NG68> (and especially <!subteam^S016E36N7TQ>) I would be grateful if people find a spare 10 minutes to look through the new-pipeline proposals: https://github.com/nf-core/proposals/issues?q=is%3Aissue%20state%3Aopen%20label%3Anew-pipeline They are starting to pile up and we need more input.
a
How does it work with a rejection? For example nf-core/dragen has no approvals, 4 people with concerns, and no proposed solution to that blocker from the proposer.
j
People with concerns should give a
/reject
and then if it's two I think we say 'sorry'
a
Gotcha, I will make my rejection explicit now then.
It seems like we have never actually
turned-down
a single proposal before 😬
j
TIME TO TEST!
j
You'd tentatively approved https://github.com/nf-core/proposals/issues/147 before I started whining James, but I think it's a no
j
Yeah that one is OK, you've been helpful on that one πŸ˜‰ (and thank you!) You can give a /reject if so
But there are multiple other that have been ignroed
j
πŸ€– Summary to help folks out below. I don't know enough about a lot of the applications to comment myself nf-core new-pipeline proposals β€” review summary Ground rule applied throughout: workflow_specificity β€” one pipeline per data+analysis type, no organism-specific pipelines unless the tooling genuinely can't generalise, extend existing pipelines rather than duplicate. (https://nf-co.re/docs/specifications/pipelines/requirements/workflow_specificity) CLEAR REJECTS (already actioned) ❌ #147 cl-exfoliome β€” https://github.com/nf-core/proposals/issues/147 Already rejected (by me), correctly. Standard bulk RNA-seq (UMI extract -> trim -> bowtie2 -> dedup -> count) on a specific sample type (exfoliated faecal material). Tool order is identical to rnaseq, the bowtie2 "optimization" is just --extra_bowtie2_align_args, bowtie2->Salmon is already a path, and the only real gap (htseq-count) is the wrong tool anyway. Textbook sample-type-specific reject. ❌ #137 dragen β€” https://github.com/nf-core/proposals/issues/137 Already rejected 3x. Untestable in nf-core CI (proprietary, licensed, hardware-bound; author proposes stubs only), which breaks collaboration and the Megatest/results convention. Sentieon/parabricks are testable; DRAGEN isn't. Clean reject, done. CLEAR-ISH ACCEPTS (with conditions) βœ… #142 midas (microbiome differential abundance) β€” https://github.com/nf-core/proposals/issues/142 Closest to a done deal β€” jfy133 gave a conditional approve, I backed it. Genuinely novel: the simulation-trained soft consensus (MIDASim ground truth -> per-tool scoring -> optimal weighting) has no analogue in differentialabundance, and the phyloseq input + compositional tool bundle don't fit DA. Conditions, not blockers: (1) name β€” "midas" collides with the famous metagenomics MIDAS; (2) split the one-giant-R-container into per-process containers; (3) keep R scripts thin. βœ… #127 shallowseq β€” https://github.com/nf-core/proposals/issues/127 Trending to accept. sarek lead (maxulysse) "definitively not opposed" given the agreed condition: share sarek's preprocessing as a subworkflow rather than duplicate. The sWGS CNV tooling (QDNAseq, WisecondorX, ichorCNA, Rascal/ACE) is genuinely distinct β€” sarek/oncoanalyser lean on depth-hungry tools that fail on shallow/FFPE. Conditions: name (shallowseq -> lowpasswgs/swgs), shared preprocessing subworkflow, drop the bespoke "Azure" process (Nextflow handles that natively). βœ… #126 transporter β€” https://github.com/nf-core/proposals/issues/126 One maintainer (mahesh-panchal) already approved. Real gap: reference-guided annotation transfer between related (not identical) genomes is not same-genome liftover, and nothing in the corpus does it. Published, real-world use. Conditions: name too generic ("transporter"); fold in ammaraziz's suggestion (VADR first pass, BLAST fallback, NCBI .tbl output). Caveat: author has gone quiet on the last feedback round β€” needs a nudge before formal approval. REJECT AS PROPOSED, BUT SALVAGEABLE ⚠️ #134 hapmal / plasmodiumhapres β€” https://github.com/nf-core/proposals/issues/134 As proposed (Plasmodium-specific) this is a reject on workflow_specificity β€” ewels/jfy133/LouisLeNezet all said so. Core tools (Minimap2, Clair3, Snippy, BBDuk) aren't organism-specific and overlap bactmap; "field deployment / naming / audience" aren't workflow-distinctness arguments. Authors have essentially conceded and now accept a -profile plasmodium approach. The one genuinely novel axis is the multiclonal layer (MOI / IBD / mixed-infection deconvolution / resistance-marker panels) β€” nf-core search returns nothing for those. Path: reject the organism-specific framing, accept a generic surveillance/haplotype pipeline carrying that novel layer with a plasmodium profile, if it doesn't fit a resurrected/archived bactmap. Engaged, large team β€” worth steering, not killing. ⚠️ #115 spatialflow β€” https://github.com/nf-core/proposals/issues/115 Lean reject as proposed. Heavy overlap with spatialvi, spatialxe, sopa, and the freshly-accepted scspatialmap; scope is large (author's own estimate ~12 modules). Thread surfaced a real unresolved meta-architecture question β€” tech-specific end-to-end pipelines with shared downstream modules (fasterius/cavenel) vs. a single tech-agnostic spatialdownstream (Zethson/heylf). Multiple maintainers lean toward "write modules/subworkflows, not a new pipeline." Shouldn't be approved until the spatial community holds the proposed call and settles the architecture. Downstream-only reframing could be OK; the current kitchen-sink proposal isn't. GENUINELY BORDERLINE β€” NO CLEAR CALL ❔ #148 snv-sort-and-fold β€” https://github.com/nf-core/proposals/issues/148 Analysis type is genuinely missing (SHAPE/DMS mutational profiling -> SNV read sorting -> signature deconvolution -> ViennaRNA folding; dartseq is m6A, riboseq is ribosome profiling). Clean on specificity. Risk is entirely sustainability: solo author, self-described new to Nextflow, starting from bash/Python scripts. nf-core's main failure mode for niche pipelines is abandonment. Not a reject on merit; needs a team + realistic scope conversation before approval. ❔ #144 cfmultiomics β€” https://github.com/nf-core/proposals/issues/144 Novel parts are real: fragmentomics isn't anywhere in nf-core, and cross-omics integration (genomics+methylomics+fragmentomics in one run) is the stated point. But the author concedes genomicsβ‰ˆsarek and methylomicsβ‰ˆmethylseq, so it's largely an orchestration wrapper over two existing pipelines plus one novel module β€” the mega-pipeline shape nf-core resists. Unanswered question (jfy133 raised it): is fragmentomics a module/subworkflow added to methylseq/sarek rather than a new pipeline? Needs "what does integration actually compute" answered before a call.
πŸ˜… 1
l
Except for dragen and hapmal, where it was quite clear for me, I don't have enough background to judge.
πŸ‘ 1
s
Yeah, the general issue I have is that I have no real idea on many of them
this 3
j
Sure, but in most cases you can check keywords against existing pipelines and often compare the tools being proposed against similarish pipeliens
this 1
We aren't necessarily doing a 'scientific' evaluation
Even saying 'I'm not familiar with the area, but looks alrright' is still helpful
p
Also looking for the main devs on relevant pipelines and asking them to review, directly pinging them on GitHub and also in the slack channel
party this 1
e
I usually check any tools they suggested; if they are already nf-cored -> if they are used in existing nf-core pipelines -> check the overlap -> decide yes, no, or add to existing pipeline I've been pretty busy these couple of weeks, but I would like to go through these today/tomorrow..in my tasks list
πŸ‘ 1
j
If only we had a technology that could do things the humans don't want to do πŸ˜‰ https://gist.github.com/pinin4fjords/845bc0fc20127f18409c0fc5c31ee0b2 Seriously, since we're clearly rubbish at this, could we have an initial AI assessment?
party this 2
🀩 1
e
just make a skill and we can share among us
j
I did- in the link πŸ™‚
e
HAHAHAHAHA
a
I actually feel the opposite way. I think having an AI do this formally is a terrible idea. It's generally overly-verbose, doesn't understand nuance, and still has to be verified by a human.
party this 4
πŸ‘ 1
e
too fishy, didnt click
j
Meh, I think it'll put people off. If the first thing that someone gets is a wall of inpersonal text 'review' a lot of people will go OK they don't care and leave
πŸ‘ 1
A big selling poiont of nf-core is the human community
πŸ‘ 1
j
Somewhere invisible to users so we have something to work from?
e
I wouldnt let it do on its own, especially on GiHub..but us using the skill, call help keep focus on important stuff
and if submitters use the skill before the submit proposal, maybe they refine the idea
j
I'd rather get an AI response (with human follow up) than tumbleweed
e
if deemed too shitty by their agent
a
Some of the proposals themselves (and PRs/issues) have already clearly been written by or with AI and I find it an effort to get through because the prose is so clunky and obvious tbh
100 rainbow 1
j
AI response to me is the same as tumbleweed
But if it's not exposed to the user sure, I guess fine if you guys like that
m
It's still a problem if there's an AI response and no human response afterwards
party this 6
I'm happy if there's an AI summary in a private channel, but we should still be forced to interact with the proposers
πŸ’― 3
i
We don't want to be like every company helpdesk out there, we should be better
100 rainbow 4
Especially since automatic answers have a strange tendency to assume you never read any docs before submitting your question/idea
p
I'm not sure we could automate it anyway, as we don't have a central pool of LLM tokens to use
😒 1
I think AI auto-reviews are good, if done well. I agree that they tend to be overly verbose, but there are ways you can steer it. You can simply tell it not to be verbose, for example πŸ˜… Or for MultiQC I tell it to give a short summary then hide the rest in a
<details>
collapsible block. Also if the automated review is triggered by a person (eg. with a comment trigger) then it feels a lot less impersonal. People seem to quite like these and often do a cycle before I spend any real review time there.
(I also use them for my own PRs)
j
Also if the automated review is triggered by a person (eg. with a comment trigger) then it feels a lot less impersonal.
Thjis is reasonable
p
Example here
a
I think reviewing code, which has very clear right/wrong is quite different from a theoretical and potentially nebulous review of a pipeline proposal
p
That's fair πŸ‘πŸ»
But the automated review content can still do a bunch of repetitive tasks for us (and potentially be quite short): β€’ Do the proposed steps overlap any of the (very numerous) existing nf-core pipelines β€’ Are there any open (or closed / historical even) proposal issues which are relevant / overlapping (eg. accepted pipelines that haven't started yet, these are really hard to see) β€’ Even: has there been discussing about any of this tooling or applications in the nf-core slack which is relevant?
party this 3
As long as the scope of what the automation is meant to do is clear, I think it can provide a useful primer to help the human reviewer.
Note that it's pretty easy to try this stuff out manually first, without any automation. eg. Folks try out @Jonathan Manning’s skill when they review proposals and refine / add to it as necessary until it's reliable.
Then if we do ever get any credits, we can be fairly happy automating it
e
And the other way around..people can first try their own review, then Jon's skill and benchmark/compare
p
Sure - can also just look up to see an example of the output (that was in "batch sweep" mode that did all proposals, not just one)
j
(actually that was an earlier version, I improved it after that πŸ™‚ )
a
Could we also put some of this back onto the proposer? Yes we would still have to verify, but if they want to have a pipeline accepted perhaps the least they should be willing to do is list any existing modules they will be using in a clean list?
p
But.. why? When AI can do it for us basically for free, why reject that ability and instead request newcomers to jump through hoops for us?
m
Question. Does it need to use Claude? Can a local model be used in a GH runner instead? I have some good success with some of the higher parameter models locally, but I've not tried like a 4b model in a GH Action. Maybe it's feasible.
a
Different attitudes here I guess haha. I see it as the burden should be on the proposer to meet standards and furnish the necessary information, and that barrier to entry should be high. I think others see it that the process should be as easy as possible to get started and the shortfall can be made up by AI?
p
I think that we have more pipeline proposals than ever, use of AI and ever-expanding community size is increasing review burden across the board for all. I think that we should embrace all tools we can to help us cope with this, whilst staying true to our core values: high quality and sense of community.
Which for me basically boils down to saying "how can we make AI tooling better" rather than "let's not use AI tooling it's shit" πŸ˜…
@Mahesh Binzer-Panchal no idea! Could be fun to try πŸ™‚ Many of the tasks in the skill above are about tool use and summarisation, not particularly needing deep thinking. So could be fine and would be a solution for the "no credits" issue
(though tbh there are not that many proposals, so could probably handle these with my personal account - but broader question over time if we want to do more in more places)
j
Actually, maybe not a local module but this nf-core module could be use for this πŸ‘‰πŸ» https://github.com/nf-core/modules/tree/master/modules/nf-core/llamacpppython/run
magic 1
p
hah, use AWS megatests. Actually not a terrible idea, I wonder if we can use our credits for bedrock πŸ€”
These services can be used with the associated credit:
...
Amazon Bedrock Service
shared a GIF
ok how's this for an initial plan: I try to set up @nf-core-bot to use AWS bedrock + Claude to run @Jonathan Manning’s proposal review skill in Slack whenever a new issue is flagged in #CE6SDEDAA , and get it to post the review as a message in a thread under those. Maybe tagging core team and/or maintainers. That way there's zero spam on the github issue, we get to test stuff out and play with it and see how it feels. At a later stage we can choose to migrate it to github if we wish (so that pipeline proposers also see the feedback directly)
excellent 3
βž• 1
m
I'm ok with that. Will the response be in a thread?
p
Yup
πŸ‘πŸ½ 1
Ok, I have something working. See example - feedback welcome!
It runs using this skill, plus a bunch of automation machinery. These reviews should now pop up automatically on the Slack threads whenever a new pipeline proposal comes in. We'll have to wait and see for that part 🀞🏻
In the mean time, there's a workflow to trigger them if you right click a message ("Connect to apps" then nf-core), or you can use the command anywhere
/nf-core proposals review <N>
where N is the issue number. These only work if you're in the core or maintainers teams.
Note that I don't love the above example focussing so hard on solo-developer issues πŸ˜… But that's what the human in the loop is I guess. I'd probably filter that a bit before posting. And we can refine that a bit, it's basically parroting from the skill so we can just edit that:
D. Sustainability
β€’ Solo author or a team?
β€’ Does the proposer have existing nf-core experience (check their GitHub for merged modules/PRs)?
β€’ Starting from bash scripts vs. existing Nextflow code?
β€’ Niche, solo-authored pipelines are nf-core's main abandonment failure mode. This is a risk factor, not a hard reject, but it should prompt a "do you have collaborators?" question before approval.
Thanks all for the discussion that led to this! Hopefully it helps us a bit to keep proposals moving (or at least give them a good start)
f
Hm, should we maybe post this first review in the maintainers visible channel only instead of the public one? The VERDICT reads pretty harsh "solo maintainer", "self-proclaimed Nextflow beginner"
That way maintainers and core (the people that actually need to vote) get insights while potentially harmful / insulting statements by the AI aren't visible by the people making the proposal (and everyone else?)
p
I guess we could for this very first one, but the automation is based around the messages that show up in #CE6SDEDAA so I don't think it's possible going forward for new proposals.
I can post a reply under that one. Maybe we tweak the skill a bit to make it a bit less shouty + authoritative sounding too.
Working on improving the skill now. Will delete the above auto-post and keep working in private until I'm a bit happier with it
I was mostly just happy that I got the technical side to work last night (running models on AWS bedrock + automation with slackbot + nice message formatting etc). I had barely looked at the skill itself
s
Hm, should we maybe post this first review in the maintainers visible channel only instead of the public one? The VERDICT reads pretty harsh "solo maintainer", "self-proclaimed Nextflow beginner"
Eh, I don't think that is harsh when that is what they say in the post 🀷
🀣 1
m
@Simon Pearce , I know what you mean, but β€œto the point” can be interpreted as harsh by some people. Talking from experience here
Especially in a text based context
a
I think it’s also the double-whammy indignity of it coming from a robot too
😁 1
πŸ’― 1
e
Especially when "quoted" xD
a
Niche, solo-authored pipelines are nf-core’s main abandonment failure mode.
However I do think this point is highly accurate (for all open-source science to be frank) and I did consider saying it would be good if he could find someone in the community to help him with the development in my response, so the critique is not invalid.
100 rainbow 3
πŸ‘πŸ» 1
p
Made a start on some edits this morning before getting pulled into other things: https://github.com/nf-core/slackbot/pull/17
dancing penguin 1
❀️ 1
e
It even takes into account comments, nice. I /approved though because I liked it
a
What’s going on with the embedded markdown at the bottom? How does that look rendered on GitHub?
p
It came from Jon's skill. I think the idea is that you can copy + paste into the GitHub issue and customise, to save you paraphrasing all of the report it generated above
It should include the proper (verified) GitHub usernames of folks working on similar pipelines, amongst other things. Save you looking them up.
πŸ‘ 2
πŸ‘πŸ» 1