galaxyproject / galaxyproject/foundry

Decide gops_* vs bedtools interval-tool redundancy (interval MOC)

Open
#271 0 comments 1 reaction 0 assignees View on GitHub
agent/research priority/v2 requires-iwc-inputs roadmap/off
Dominant language
TypeScript
Stars
2
Forks
3
Avg merge
1d 22m
Merged PRs (30d)
63

Description

> Filed by Claude (AI assistant) on jmchilton's behalf — not authored by them personally.

## Source

Survey: `content/research/iwc-interval-operations-survey.md` §2 (Redundancy / decision-points) — surfaced while authoring the `galaxy-interval-patterns` MOC (#268).

## The redundancy

Two tool families cover interval set operations in the IWC corpus, split by domain rather than capability:

- **modern** `iuc/bedtools` — `bedtools_mergebed`, `bedtools_intersectbed`, … (epigenetics, VGP).
- **legacy** `devteam/*` "Operate on Genomic Intervals" — `gops_merge`, `gops_subtract`, `gops_concat` (SARS-CoV-2 `consensus-from-variation` masking pipeline).

The tabular survey resolved its analogous `Grep1`-vs-`tp_grep_tool` split with a "modern leads, legacy footnoted" rule (`docs/PATTERNS.md`). **That rule does not map cleanly here**, which is why this is deferred rather than decided:

- `merge` — clean equivalent: `bedtools_mergebed` ⇔ `gops_merge`. A legacy footnote would be defensible.
- `subtract` / `concat` — **no `bedtools` equivalent appears anywhere in the corpus.** `gops_subtract` / `gops_concat` are the *only* attested tools for interval difference and concat. Demoting them as "legacy" would footnote the only corpus-grounded option, which is wrong.

## Current decision (interim)

The interval pattern pages treat the two families as **co-equal**, with no legacy framing and no anti-pattern entry. `interval-merge-overlapping` documents both; `interval-mask-by-set-algebra` uses `gops_*` end-to-end without apology.

## What would resolve it

This needs more IWC evidence before a redundancy call:

- An IWC workflow doing interval **subtract** or **concat** with a `bedtools` tool (`bedtools_subtractbed`, `bedtools_unionbedg`, …) — would establish a modern equivalent and let the legacy-footnote rule apply uniformly.
- Or a maintainer call to footnote `gops_merge` specifically (where the equivalent exists) while leaving `gops_subtract`/`gops_concat` co-equal.

Blocked on corpus inputs → labelled `requires-iwc-inputs`.

## Notes for the author

- Do **not** land an anti-pattern entry in `iwc-shortcuts-anti-patterns.md` for the whole `gops_*` family — the survey explicitly argues against a blanket call.
- If/when resolved, update `interval-merge-overlapping` (recommendation lean) and the survey §2.1.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.