@galaxyproject/orbit 0.0.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +123 -0
- package/LICENSE +21 -0
- package/README.md +760 -5
- package/bin/legacy-mcp-config.js +363 -0
- package/bin/orbit.js +810 -0
- package/bin/pi-extension-path.d.ts +4 -0
- package/bin/pi-extension-path.js +44 -0
- package/bin/provider-auth.d.ts +22 -0
- package/bin/provider-auth.js +77 -0
- package/bin/thinking-pref.js +38 -0
- package/bin/update-check.d.ts +15 -0
- package/bin/update-check.js +137 -0
- package/extensions/cli-update/index.ts +32 -0
- package/extensions/orbit/activity-hooks.ts +141 -0
- package/extensions/orbit/activity.ts +116 -0
- package/extensions/orbit/agent-dir.ts +11 -0
- package/extensions/orbit/auto-resume.ts +352 -0
- package/extensions/orbit/config.ts +3 -0
- package/extensions/orbit/confusables.ts +1 -0
- package/extensions/orbit/context.ts +957 -0
- package/extensions/orbit/dashboard-commands.ts +191 -0
- package/extensions/orbit/dashboard-store.ts +473 -0
- package/extensions/orbit/dashboard-tools.ts +1185 -0
- package/extensions/orbit/empty-completion.ts +99 -0
- package/extensions/orbit/evidence-gate.ts +1276 -0
- package/extensions/orbit/evidence-override-command.ts +294 -0
- package/extensions/orbit/exec-guard/bash-risk.ts +1408 -0
- package/extensions/orbit/exec-guard/gate.ts +181 -0
- package/extensions/orbit/exec-guard/guardian-config.ts +54 -0
- package/extensions/orbit/exec-guard/index.ts +1 -0
- package/extensions/orbit/exec-guard/model-tier.ts +36 -0
- package/extensions/orbit/exec-guard/path-jail.ts +54 -0
- package/extensions/orbit/exec-guard/policy.ts +342 -0
- package/extensions/orbit/exec-guard/runtime-state.ts +15 -0
- package/extensions/orbit/exec-guard/sensitive-read.ts +525 -0
- package/extensions/orbit/exec-guard/types.ts +42 -0
- package/extensions/orbit/execution-commands.ts +134 -0
- package/extensions/orbit/feedback-command.ts +81 -0
- package/extensions/orbit/feedback.ts +96 -0
- package/extensions/orbit/galaxy-api.test.ts +122 -0
- package/extensions/orbit/galaxy-api.ts +606 -0
- package/extensions/orbit/galaxy-artifact-link-guidance.ts +5 -0
- package/extensions/orbit/galaxy-destructive-gate.ts +113 -0
- package/extensions/orbit/galaxy-enrich.ts +1108 -0
- package/extensions/orbit/galaxy-failure.ts +101 -0
- package/extensions/orbit/galaxy-fixture.ts +126 -0
- package/extensions/orbit/galaxy-history-guard.ts +233 -0
- package/extensions/orbit/galaxy-job-block.ts +347 -0
- package/extensions/orbit/galaxy-job-ops.ts +288 -0
- package/extensions/orbit/galaxy-live-source.ts +929 -0
- package/extensions/orbit/galaxy-markdown-adapter.ts +248 -0
- package/extensions/orbit/galaxy-op-policy.ts +332 -0
- package/extensions/orbit/galaxy-ops-tools.ts +326 -0
- package/extensions/orbit/galaxy-output-store.ts +80 -0
- package/extensions/orbit/galaxy-output.ts +346 -0
- package/extensions/orbit/galaxy-page-binding.ts +222 -0
- package/extensions/orbit/galaxy-page-markdown-guidance.ts +15 -0
- package/extensions/orbit/galaxy-page-ops.ts +159 -0
- package/extensions/orbit/galaxy-page-sync.test.ts +417 -0
- package/extensions/orbit/galaxy-page-sync.ts +318 -0
- package/extensions/orbit/galaxy-pages-api.ts +203 -0
- package/extensions/orbit/galaxy-pages-sync.ts +409 -0
- package/extensions/orbit/galaxy-poll-guard.ts +189 -0
- package/extensions/orbit/galaxy-poller.ts +706 -0
- package/extensions/orbit/galaxy-provenance.ts +623 -0
- package/extensions/orbit/galaxy-reconcile.ts +956 -0
- package/extensions/orbit/galaxy-recovery.ts +176 -0
- package/extensions/orbit/galaxy-repeat-guard.ts +55 -0
- package/extensions/orbit/galaxy-submission-capture.ts +707 -0
- package/extensions/orbit/galaxy-submission.ts +502 -0
- package/extensions/orbit/galaxy-tool-source.ts +78 -0
- package/extensions/orbit/galaxy-tool-wrap.ts +234 -0
- package/extensions/orbit/galaxy-udt-block.ts +127 -0
- package/extensions/orbit/galaxy-upload-tus.ts +334 -0
- package/extensions/orbit/galaxy-upload.ts +300 -0
- package/extensions/orbit/galaxy-version-capture.ts +65 -0
- package/extensions/orbit/git.ts +173 -0
- package/extensions/orbit/harness-block-fields.ts +597 -0
- package/extensions/orbit/index.ts +593 -0
- package/extensions/orbit/init-gate.ts +284 -0
- package/extensions/orbit/instructions-command.ts +136 -0
- package/extensions/orbit/invocation-failure-hint.ts +57 -0
- package/extensions/orbit/iwc-plan-check.ts +94 -0
- package/extensions/orbit/lesson-command.ts +303 -0
- package/extensions/orbit/lesson-hint.ts +245 -0
- package/extensions/orbit/lesson-nudge.ts +106 -0
- package/extensions/orbit/lessons/compose.ts +177 -0
- package/extensions/orbit/lessons/counters.ts +120 -0
- package/extensions/orbit/lessons/enabled.ts +116 -0
- package/extensions/orbit/lessons/matcher.ts +346 -0
- package/extensions/orbit/lessons/paths.ts +286 -0
- package/extensions/orbit/lessons/pi-event-contract.ts +105 -0
- package/extensions/orbit/lessons/propose-replay.ts +103 -0
- package/extensions/orbit/lessons/propose-tool.ts +222 -0
- package/extensions/orbit/lessons/propose.ts +502 -0
- package/extensions/orbit/lessons/replay.ts +89 -0
- package/extensions/orbit/lessons/reproduction-index.ts +83 -0
- package/extensions/orbit/lessons/search-tool.ts +99 -0
- package/extensions/orbit/lessons/search.ts +136 -0
- package/extensions/orbit/lessons/store.ts +415 -0
- package/extensions/orbit/lessons/text.ts +36 -0
- package/extensions/orbit/lessons/types.ts +69 -0
- package/extensions/orbit/lessons/user-dir.ts +24 -0
- package/extensions/orbit/lessons/user-lesson.ts +88 -0
- package/extensions/orbit/lessons/wrapper.ts +61 -0
- package/extensions/orbit/lessons-command.ts +147 -0
- package/extensions/orbit/local-exec.ts +39 -0
- package/extensions/orbit/mcp-output.ts +179 -0
- package/extensions/orbit/mcp-servers.test.ts +24 -0
- package/extensions/orbit/mcp-servers.ts +25 -0
- package/extensions/orbit/model-script.ts +351 -0
- package/extensions/orbit/notebook-anchors.ts +342 -0
- package/extensions/orbit/notebook-writer.ts +863 -0
- package/extensions/orbit/observation-allowlists.ts +1109 -0
- package/extensions/orbit/observation-replay.ts +148 -0
- package/extensions/orbit/observation-triggers.ts +563 -0
- package/extensions/orbit/observation-ui.ts +175 -0
- package/extensions/orbit/observations-command.ts +421 -0
- package/extensions/orbit/observations-config.ts +200 -0
- package/extensions/orbit/observations.ts +1381 -0
- package/extensions/orbit/profiles.ts +270 -0
- package/extensions/orbit/progress-updates.ts +95 -0
- package/extensions/orbit/proposal-commands.ts +882 -0
- package/extensions/orbit/provenance-fs-file.ts +59 -0
- package/extensions/orbit/provenance-fs.ts +32 -0
- package/extensions/orbit/provenance-memory-fs.ts +59 -0
- package/extensions/orbit/record-store-file.ts +177 -0
- package/extensions/orbit/record-store-page.ts +77 -0
- package/extensions/orbit/record-store-seam.ts +47 -0
- package/extensions/orbit/record-store.ts +149 -0
- package/extensions/orbit/registry-carrier.ts +107 -0
- package/extensions/orbit/registry-eligibility.ts +95 -0
- package/extensions/orbit/registry-evaluation.ts +403 -0
- package/extensions/orbit/registry-evaluator.ts +519 -0
- package/extensions/orbit/registry-import.ts +91 -0
- package/extensions/orbit/registry-lock.ts +221 -0
- package/extensions/orbit/registry-memory-fs.ts +42 -0
- package/extensions/orbit/registry-page-carrier.ts +103 -0
- package/extensions/orbit/registry-proposal.ts +1348 -0
- package/extensions/orbit/registry-runtime.ts +234 -0
- package/extensions/orbit/registry-schema.ts +735 -0
- package/extensions/orbit/registry-submitter.ts +59 -0
- package/extensions/orbit/registry-templates.ts +346 -0
- package/extensions/orbit/registry.ts +476 -0
- package/extensions/orbit/sandbox/index.ts +120 -0
- package/extensions/orbit/sandbox/sandbox-bash.ts +93 -0
- package/extensions/orbit/sandbox/sandbox-config.ts +87 -0
- package/extensions/orbit/sandbox/sandbox-init-message.ts +28 -0
- package/extensions/orbit/secret-redaction.ts +247 -0
- package/extensions/orbit/session-index/cwd.ts +18 -0
- package/extensions/orbit/session-index/db.ts +56 -0
- package/extensions/orbit/session-index/indexer.ts +154 -0
- package/extensions/orbit/session-index/is-enabled.ts +17 -0
- package/extensions/orbit/session-index/parse.ts +254 -0
- package/extensions/orbit/session-index/query.ts +209 -0
- package/extensions/orbit/session-index/schema.ts +72 -0
- package/extensions/orbit/session-index/tools.ts +152 -0
- package/extensions/orbit/session-lifecycle.ts +321 -0
- package/extensions/orbit/skill-triggers.ts +159 -0
- package/extensions/orbit/skills-command.ts +48 -0
- package/extensions/orbit/skills-discovery.ts +435 -0
- package/extensions/orbit/skills.ts +84 -0
- package/extensions/orbit/sra-import-gate.ts +77 -0
- package/extensions/orbit/state.ts +265 -0
- package/extensions/orbit/submission-replay.ts +147 -0
- package/extensions/orbit/sync-command.ts +157 -0
- package/extensions/orbit/teams/critic-parser.ts +93 -0
- package/extensions/orbit/teams/dispatcher.ts +210 -0
- package/extensions/orbit/teams/is-enabled.ts +22 -0
- package/extensions/orbit/teams/tool.ts +187 -0
- package/extensions/orbit/teams/types.ts +57 -0
- package/extensions/orbit/teams/validate.ts +42 -0
- package/extensions/orbit/tester-id-command.ts +133 -0
- package/extensions/orbit/tools-sync.ts +279 -0
- package/extensions/orbit/tools.ts +1300 -0
- package/extensions/orbit/types.ts +41 -0
- package/extensions/orbit/ui-bridge.ts +55 -0
- package/extensions/orbit/ulid.ts +60 -0
- package/extensions/orbit/user-instructions.ts +388 -0
- package/extensions/orbit/vendor/skills/_catalog.json +68 -0
- package/extensions/orbit/vendor/skills/_manifest.json +1106 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/SKILL.md +112 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_provenance.json +218 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_required_tools.json +33 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/add.json +50 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-extract.json +51 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-next-step.json +42 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-validate.json +140 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/list.json +32 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/notes/galaxy-tool-job-failure-reference.md +137 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/notes/open-requirements-ledger.md +173 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/schemas/galaxy-tool-summary.schema.json +175 -0
- package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/schemas/galaxy-workflow-draft.schema.json +2727 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/SKILL.md +82 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_provenance.json +133 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_required_tools.json +16 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/cli/draft-validate.json +140 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/notes/galaxy-workflow-draft-format.md +135 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/notes/open-requirements-ledger.md +173 -0
- package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/schemas/galaxy-workflow-draft.schema.json +2727 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/SKILL.md +84 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/_provenance.json +166 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/_verify.json +29 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/galaxy-workflow-testability-design.md +136 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/iwc-test-data-conventions.md +308 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/planemo-asserts-idioms.md +246 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/planemo-workflow-test-architecture.md +151 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/galaxy-workflow-test-plan.schema.json +552 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/summary-galaxy-workflow.schema.json +687 -0
- package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/tests-format.schema.json +7328 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/SKILL.md +127 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_provenance.json +198 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_required_tools.json +16 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/cli/convert.json +123 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/galaxy-data-flow-draft-contract.md +129 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/iwc-test-data-conventions.md +308 -0
- package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/open-requirements-ledger.md +173 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/SKILL.md +73 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/_provenance.json +160 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-collection-semantics.md +43 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-collection-semantics.yml +1250 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-tool-job-failure-reference.md +137 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/nextflow-operators-to-galaxy-collection-recipes.md +98 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/planemo-asserts-idioms.md +246 -0
- package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/planemo-workflow-test-architecture.md +151 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/SKILL.md +174 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/_provenance.json +130 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/_required_tools.json +18 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/_verify.json +17 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-revisions.json +48 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-search.json +95 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-versions.json +39 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/notes/component-tool-shed-search.md +230 -0
- package/extensions/orbit/vendor/skills/discover-shed-tool/references/schemas/galaxy-tool-discovery.schema.json +231 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/SKILL.md +93 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_provenance.json +201 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_required_tools.json +28 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_verify.json +17 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/cli/planemo.md +44 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/cli/validate-tests.json +40 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/galaxy-workflow-testability-design.md +136 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/iwc-test-data-conventions.md +308 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/planemo-asserts-idioms.md +246 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/planemo-workflow-test-architecture.md +151 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/schemas/galaxy-workflow-test-plan.schema.json +552 -0
- package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/schemas/tests-format.schema.json +7328 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/SKILL.md +81 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/_provenance.json +93 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/_verify.json +17 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/references/notes/open-requirements-ledger.md +173 -0
- package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/references/schemas/summary-galaxy-workflow.schema.json +687 -0
- package/extensions/orbit/vendor/skills/pipeline-update-interview-to-galaxy/SKILL.md +81 -0
- package/extensions/orbit/vendor/skills/pipeline-update-interview-to-galaxy/_assembly.json +23 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/SKILL.md +79 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/_provenance.json +125 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/_required_tools.json +28 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/cli/planemo.md +44 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/cli/validate-tests.json +40 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/planemo-asserts-idioms.md +246 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/planemo-workflow-test-architecture.md +151 -0
- package/extensions/orbit/vendor/skills/run-workflow-test/references/schemas/tests-format.schema.json +7328 -0
- package/extensions/orbit/vendor/skills/skills/LICENSE +21 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/README.md +39 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/SKILL.md +892 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/api-patterns.md +927 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/apply-rules.md +1482 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/test-patterns.md +996 -0
- package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/tools.md +609 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-data-libraries/SKILL.md +170 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/README.md +162 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/SKILL.md +99 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/README.md +119 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/tool-checking.md +419 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/workflow-testing.md +617 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/galaxy-integration.md +614 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/SKILL.md +144 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/average_col3.ipynb +68 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/extract_sample_metadata.ipynb +190 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/variant_annotation.ipynb +816 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/vcp_variant_map.ipynb +443 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/scripts/README.md +165 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-integration/scripts/galaxy_tool_checker.py +521 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/SKILL.md +128 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/gotchas.md +135 -0
- package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/history-access.md +132 -0
- package/extensions/orbit/vendor/skills/skills/reproduciblify/SKILL.md +146 -0
- package/extensions/orbit/vendor/skills/skills/reproduciblify/references/directives.yml +496 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/SKILL.md +245 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/01-minimal-echo.yml +27 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/02-single-data-in-out.yml +27 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/03-multiple-data-js.yml +28 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/04-select-integer-boolean.yml +41 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/05-resource-requirements.yml +25 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/06-biocontainer-tool.yml +38 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/07-inline-python-script.yml +56 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/08-configfile-script.yml +74 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/references/common-mistakes.md +76 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/references/schema-reference.md +155 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/references/templating.md +196 -0
- package/extensions/orbit/vendor/skills/skills/udt-authoring/scripts/validate.py +109 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/README.md +71 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/SKILL.md +190 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/examples/histology-staining.md +145 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/examples/tissue-microarray-analysis.md +176 -0
- package/extensions/orbit/vendor/skills/skills/workflow-reports/references/directives.md +415 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/SKILL.md +98 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_provenance.json +93 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_required_tools.json +28 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_verify.json +17 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/convert.json +123 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/foundry.md +25 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/validate.json +142 -0
- package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/schemas/summary-galaxy-workflow.schema.json +687 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/SKILL.md +74 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_provenance.json +71 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_required_tools.json +16 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_verify.json +4 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/cli/validate.json +142 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
- package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/notes/galaxy-workflow-testability-design.md +136 -0
- package/extensions/orbit/vendor-skills.ts +283 -0
- package/extensions/orbit/workspace-state-dir.ts +46 -0
- package/extensions/orbit-handoff/index.ts +73 -0
- package/extensions/orbit-handoff/orbit-launcher.ts +142 -0
- package/extensions/whats-new/index.ts +98 -0
- package/lessons/LICENSE +17 -0
- package/lessons/README.md +117 -0
- package/lessons/SCHEMA.md +187 -0
- package/lessons/build-snapshot.mjs +311 -0
- package/lessons/data/downloaded-file-is-not-what-its-extension-says.md +61 -0
- package/lessons/galaxy-api/403-history-is-a-hard-stop.md +57 -0
- package/lessons/galaxy-api/collection-into-single-dataset-input.md +61 -0
- package/lessons/galaxy-api/connectedvalue-in-command-line.md +62 -0
- package/lessons/galaxy-api/hid-is-not-an-id.md +59 -0
- package/lessons/galaxy-api/invoke-workflow-inputs-not-params.md +60 -0
- package/lessons/galaxy-api/repeat-param-pipe-keys.md +63 -0
- package/lessons/galaxy-api/run-tool-returns-on-submit.md +61 -0
- package/lessons/galaxy-tools/reference-index-not-on-server.md +62 -0
- package/lessons/log.md +42 -0
- package/lessons/reproduction/input-population-mismatch.md +59 -0
- package/lessons/reproduction/methods-text-vs-executed-parameters.md +62 -0
- package/lessons/snapshot.json +1004 -0
- package/lessons/stats/de-contrast-direction-and-sample-labels.md +63 -0
- package/lessons/stats/na-coerced-to-zero-in-filters.md +59 -0
- package/lessons/validate.mjs +1219 -0
- package/package.json +103 -5
- package/shared/agent-prompt.d.ts +8 -0
- package/shared/agent-prompt.js +15 -0
- package/shared/approval-prompt.d.ts +4 -0
- package/shared/approval-prompt.js +61 -0
- package/shared/brain-env.d.ts +14 -0
- package/shared/brain-env.js +108 -0
- package/shared/brain-exit.d.ts +20 -0
- package/shared/brain-exit.js +149 -0
- package/shared/capability-profile.d.ts +16 -0
- package/shared/capability-profile.js +75 -0
- package/shared/config-source.d.ts +13 -0
- package/shared/config-source.js +17 -0
- package/shared/confusables.d.ts +3 -0
- package/shared/confusables.js +93 -0
- package/shared/custom-provider.d.ts +45 -0
- package/shared/custom-provider.js +169 -0
- package/shared/dashboard-contract.d.ts +123 -0
- package/shared/dashboard-contract.js +560 -0
- package/shared/dashboard-layout-store.d.ts +44 -0
- package/shared/dashboard-layout-store.js +281 -0
- package/shared/feedback-contract.d.ts +61 -0
- package/shared/feedback-contract.js +146 -0
- package/shared/galaxy-artifact-links.d.ts +30 -0
- package/shared/galaxy-artifact-links.js +166 -0
- package/shared/galaxy-credentials.d.ts +26 -0
- package/shared/galaxy-credentials.js +71 -0
- package/shared/galaxy-destructive.d.ts +21 -0
- package/shared/galaxy-destructive.js +269 -0
- package/shared/galaxy-guidance.d.ts +2 -0
- package/shared/galaxy-guidance.js +53 -0
- package/shared/galaxy-live-contract.d.ts +92 -0
- package/shared/galaxy-live-contract.js +180 -0
- package/shared/galaxy-page-cells.d.ts +2 -0
- package/shared/galaxy-page-cells.js +22 -0
- package/shared/galaxy-tool-family.d.ts +5 -0
- package/shared/galaxy-tool-family.js +27 -0
- package/shared/galaxy-url.d.ts +1 -0
- package/shared/galaxy-url.js +48 -0
- package/shared/gtn.d.ts +31 -0
- package/shared/gtn.js +253 -0
- package/shared/handled-prompt.d.ts +3 -0
- package/shared/handled-prompt.js +26 -0
- package/shared/known-provider.d.ts +11 -0
- package/shared/known-provider.js +89 -0
- package/shared/lesson-hint-marker.d.ts +7 -0
- package/shared/lesson-hint-marker.js +32 -0
- package/shared/lesson-rules.d.ts +150 -0
- package/shared/lesson-rules.js +203 -0
- package/shared/malformed-object-ids.d.ts +1 -0
- package/shared/malformed-object-ids.js +37 -0
- package/shared/markdown-sections.d.ts +10 -0
- package/shared/markdown-sections.js +118 -0
- package/shared/notebook-fences.d.ts +12 -0
- package/shared/notebook-fences.js +53 -0
- package/shared/observation-contract.d.ts +91 -0
- package/shared/observation-contract.js +544 -0
- package/shared/orbit-config.d.ts +226 -0
- package/shared/orbit-config.js +189 -0
- package/shared/orbit-env.d.ts +13 -0
- package/shared/orbit-env.js +124 -0
- package/shared/orbit-shell-contract.d.ts +74 -0
- package/shared/orbit-shell-contract.js +30 -0
- package/shared/page-content-hash.d.ts +1 -0
- package/shared/page-content-hash.js +13 -0
- package/shared/pi-default-model.d.ts +7 -0
- package/shared/pi-default-model.js +41 -0
- package/shared/prompt-blocks.d.ts +87 -0
- package/shared/prompt-blocks.js +898 -0
- package/shared/provider-auth-caps.d.ts +22 -0
- package/shared/provider-auth-caps.js +57 -0
- package/shared/random.d.ts +2 -0
- package/shared/random.js +15 -0
- package/shared/record-excerpt.d.ts +4 -0
- package/shared/record-excerpt.js +16 -0
- package/shared/redirect-guard.d.ts +36 -0
- package/shared/redirect-guard.js +235 -0
- package/shared/skills-pin.d.ts +8 -0
- package/shared/skills-pin.js +9 -0
- package/shared/skills-router.d.ts +17 -0
- package/shared/skills-router.js +63 -0
- package/shared/sra-import.d.ts +34 -0
- package/shared/sra-import.js +206 -0
- package/shared/state-dir.d.ts +21 -0
- package/shared/state-dir.js +240 -0
- package/shared/team-dispatch-contract.d.ts +28 -0
- package/shared/team-dispatch-contract.js +1 -0
- package/shared/truncate-middle.d.ts +11 -0
- package/shared/truncate-middle.js +68 -0
- package/shared/version-compare.d.ts +10 -0
- package/shared/version-compare.js +74 -0
- package/shared/whats-new.d.ts +31 -0
- package/shared/whats-new.js +83 -0
- package/shared/wsl.d.ts +10 -0
- package/shared/wsl.js +24 -0
|
@@ -0,0 +1,609 @@
|
|
|
1
|
+
# Galaxy Collection Operation Tools Research
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
Galaxy provides comprehensive native tools for collection operations. Per project goals, Claude should recommend these tools over direct API manipulation to ensure reproducibility, workflow-extractability, and alignment with Galaxy best practices.
|
|
6
|
+
|
|
7
|
+
This document catalogs the collection operation tools available in Galaxy's core toolset (lib/galaxy/tools), documenting their capabilities, inputs, outputs, and use cases.
|
|
8
|
+
|
|
9
|
+
## Tool Categories
|
|
10
|
+
|
|
11
|
+
### 1. Advanced Restructuring Tools
|
|
12
|
+
|
|
13
|
+
#### Apply Rules Tool (`__APPLY_RULES__`)
|
|
14
|
+
**Location:** `lib/galaxy/tools/apply_rules.xml`
|
|
15
|
+
|
|
16
|
+
**Purpose:** Advanced collection restructuring tool that processes collection metadata as tabular data and applies transformation rules to generate new collections.
|
|
17
|
+
|
|
18
|
+
**Key Features:**
|
|
19
|
+
- Process collections with arbitrary nesting levels
|
|
20
|
+
- Filter, re-sort, nest, flatten, and combine operations
|
|
21
|
+
- Dynamic preview in interactive tool form
|
|
22
|
+
- Workflow-compatible (no preview in workflows)
|
|
23
|
+
- Most flexible collection operation tool
|
|
24
|
+
|
|
25
|
+
**Inputs:**
|
|
26
|
+
- `input`: Data collection of any type
|
|
27
|
+
- `rules`: Rules specification (references input collection)
|
|
28
|
+
|
|
29
|
+
**Outputs:**
|
|
30
|
+
- `output`: Reorganized collection (type determined by rules)
|
|
31
|
+
- Label: `${input.name} (re-organized)`
|
|
32
|
+
|
|
33
|
+
**Use Cases:**
|
|
34
|
+
- Complex filtering combined with structural modifications
|
|
35
|
+
- Arbitrary nesting/flattening operations
|
|
36
|
+
- Operations not possible with simpler collection tools
|
|
37
|
+
- Batch restructuring with saved rule definitions
|
|
38
|
+
|
|
39
|
+
**Training Resources:** https://training.galaxyproject.org/training-material/search?query=rule+builder
|
|
40
|
+
|
|
41
|
+
**Notes:**
|
|
42
|
+
- Does not increase quota usage
|
|
43
|
+
- Can handle operations too complex for other collection tools
|
|
44
|
+
- Rules can be exported as JSON and reused
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
### 2. Filtering and Selection Tools
|
|
49
|
+
|
|
50
|
+
#### Filter Collection (`__FILTER_FROM_FILE__`)
|
|
51
|
+
**Location:** `lib/galaxy/tools/filter_from_file.xml`
|
|
52
|
+
|
|
53
|
+
**Purpose:** Filter collection elements using identifiers from a supplied text file.
|
|
54
|
+
|
|
55
|
+
**Inputs:**
|
|
56
|
+
- `input`: Data collection to filter
|
|
57
|
+
- `how_filter`: Selection mode
|
|
58
|
+
- `remove_if_absent`: Keep only elements whose identifiers are IN the file
|
|
59
|
+
- `remove_if_present`: Keep only elements whose identifiers are NOT IN the file
|
|
60
|
+
- `filter_source`: Text file containing identifiers (one per line)
|
|
61
|
+
|
|
62
|
+
**Outputs:**
|
|
63
|
+
- `output_filtered`: Collection with matching elements
|
|
64
|
+
- `output_discarded`: Collection with removed elements
|
|
65
|
+
|
|
66
|
+
**Use Cases:**
|
|
67
|
+
- Subset collections based on sample lists
|
|
68
|
+
- Remove failed or problematic samples
|
|
69
|
+
- Keep only samples of interest for downstream analysis
|
|
70
|
+
|
|
71
|
+
**Example:**
|
|
72
|
+
Collection: [A, B, X] + File: [A, B, Z] with `remove_if_absent` → Filtered: [A, B], Discarded: [X]
|
|
73
|
+
|
|
74
|
+
**Notes:**
|
|
75
|
+
- Produces TWO collections (filtered and discarded)
|
|
76
|
+
- Identifiers in file that don't match collection elements are ignored
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
#### Filter Empty Datasets (`__FILTER_EMPTY_DATASETS__`)
|
|
81
|
+
**Location:** `lib/galaxy/tools/filter_empty_collection.xml`
|
|
82
|
+
|
|
83
|
+
**Purpose:** Remove empty datasets from a collection.
|
|
84
|
+
|
|
85
|
+
**Inputs:**
|
|
86
|
+
- `input`: Collection (type: list or list:paired)
|
|
87
|
+
|
|
88
|
+
**Outputs:**
|
|
89
|
+
- `output`: Collection with empty datasets removed
|
|
90
|
+
|
|
91
|
+
**Use Cases:**
|
|
92
|
+
- Continue multi-sample analysis when some samples produce no output
|
|
93
|
+
- Clean collections before downstream tools that require content
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
#### Filter Failed Datasets (`__FILTER_FAILED_DATASETS__`)
|
|
98
|
+
**Location:** `lib/galaxy/tools/filter_failed_collection.xml`
|
|
99
|
+
|
|
100
|
+
**Purpose:** Remove datasets in error (red) state from a collection.
|
|
101
|
+
|
|
102
|
+
**Inputs:**
|
|
103
|
+
- `input`: Collection (type: list or list:paired)
|
|
104
|
+
- `replacement`: Optional dataset to replace failed elements (instead of removing)
|
|
105
|
+
|
|
106
|
+
**Outputs:**
|
|
107
|
+
- `output`: Collection with failed datasets removed/replaced
|
|
108
|
+
|
|
109
|
+
**Use Cases:**
|
|
110
|
+
- Continue multi-sample pipeline when some samples fail
|
|
111
|
+
- Replace failed samples with placeholder data
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
#### Keep Success Datasets (`__KEEP_SUCCESS_DATASETS__`)
|
|
116
|
+
**Location:** `lib/galaxy/tools/keep_success_collection.xml`
|
|
117
|
+
|
|
118
|
+
**Purpose:** Keep only datasets in success (green) state, removing failed and paused datasets.
|
|
119
|
+
|
|
120
|
+
**Inputs:**
|
|
121
|
+
- `input`: Collection (type: list or list:paired)
|
|
122
|
+
|
|
123
|
+
**Outputs:**
|
|
124
|
+
- `output`: Collection with only successful datasets
|
|
125
|
+
|
|
126
|
+
**Use Cases:**
|
|
127
|
+
- Filter out failed or paused samples
|
|
128
|
+
- Ensure downstream tools only process completed samples
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
#### Extract Dataset (`__EXTRACT_DATASET__`)
|
|
133
|
+
**Location:** `lib/galaxy/tools/extract_dataset.xml`
|
|
134
|
+
|
|
135
|
+
**Purpose:** Extract a single dataset from a collection by position or identifier.
|
|
136
|
+
|
|
137
|
+
**Inputs:**
|
|
138
|
+
- `input`: Collection (type: list, paired, paired_or_unpaired, or record)
|
|
139
|
+
- `which_dataset`: Selection method
|
|
140
|
+
- `first`: Extract the first dataset
|
|
141
|
+
- `by_identifier`: Extract by element identifier name
|
|
142
|
+
- `by_index`: Extract by position (0-indexed)
|
|
143
|
+
|
|
144
|
+
**Outputs:**
|
|
145
|
+
- `output`: Single extracted dataset
|
|
146
|
+
|
|
147
|
+
**Use Cases:**
|
|
148
|
+
- Extract reference sample from collection
|
|
149
|
+
- Get specific dataset for individual inspection
|
|
150
|
+
- Collapse nested collections to simpler structure
|
|
151
|
+
|
|
152
|
+
**Notes:**
|
|
153
|
+
- For nested collections, extracts from innermost level
|
|
154
|
+
- Creates new list where selected element replaces innermost collection
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### 3. Structure Transformation Tools
|
|
159
|
+
|
|
160
|
+
#### Flatten Collection (`__FLATTEN__`)
|
|
161
|
+
**Location:** `lib/galaxy/tools/flatten_collection.xml`
|
|
162
|
+
|
|
163
|
+
**Purpose:** Flatten nested collections (list:paired, list:list, etc.) into a simple list.
|
|
164
|
+
|
|
165
|
+
**Inputs:**
|
|
166
|
+
- `input`: Nested data collection
|
|
167
|
+
- `join_identifier`: String to join identifier levels (default: "_")
|
|
168
|
+
|
|
169
|
+
**Outputs:**
|
|
170
|
+
- `output`: Flattened list collection
|
|
171
|
+
|
|
172
|
+
**Use Cases:**
|
|
173
|
+
- Convert list:paired → list (for single-dataset tools)
|
|
174
|
+
- Simplify nested list:list structures
|
|
175
|
+
- Prepare collections for tools requiring simple lists
|
|
176
|
+
|
|
177
|
+
**Example:**
|
|
178
|
+
```
|
|
179
|
+
Input: list:paired [i1 → {forward, reverse}]
|
|
180
|
+
Output: list [i1_forward, i1_reverse]
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
#### Zip Collections (`__ZIP_COLLECTION__`)
|
|
186
|
+
**Location:** `lib/galaxy/tools/zip_collection.xml`
|
|
187
|
+
|
|
188
|
+
**Purpose:** Combine two datasets or collections into a paired collection.
|
|
189
|
+
|
|
190
|
+
**Inputs:**
|
|
191
|
+
- `input_forward`: Dataset or collection (forward reads)
|
|
192
|
+
- `input_reverse`: Dataset or collection (reverse reads)
|
|
193
|
+
|
|
194
|
+
**Outputs:**
|
|
195
|
+
- `output`: Paired collection with forward/reverse structure
|
|
196
|
+
|
|
197
|
+
**Use Cases:**
|
|
198
|
+
- Combine separate forward/reverse read collections
|
|
199
|
+
- Create paired structure from two simple lists
|
|
200
|
+
- Prepare data for paired-end analysis tools
|
|
201
|
+
|
|
202
|
+
**Example:**
|
|
203
|
+
```
|
|
204
|
+
Input: forward_list [A, B] + reverse_list [A, B]
|
|
205
|
+
Output: paired [A → {forward, reverse}, B → {forward, reverse}]
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
#### Unzip Collection (`__UNZIP_COLLECTION__`)
|
|
211
|
+
**Location:** `lib/galaxy/tools/unzip_collection.xml`
|
|
212
|
+
|
|
213
|
+
**Purpose:** Split a paired collection into two separate list collections.
|
|
214
|
+
|
|
215
|
+
**Inputs:**
|
|
216
|
+
- `input`: Paired collection
|
|
217
|
+
|
|
218
|
+
**Outputs:**
|
|
219
|
+
- `forward`: List collection containing forward elements
|
|
220
|
+
- `reverse`: List collection containing reverse elements
|
|
221
|
+
|
|
222
|
+
**Use Cases:**
|
|
223
|
+
- Separate paired reads for single-end processing
|
|
224
|
+
- Process forward and reverse reads independently
|
|
225
|
+
- Extract specific read orientation
|
|
226
|
+
|
|
227
|
+
**Example:**
|
|
228
|
+
```
|
|
229
|
+
Input: paired [A → {forward, reverse}, B → {forward, reverse}]
|
|
230
|
+
Output: forward_list [A, B] + reverse_list [A, B]
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
#### Nest Collection (`__NEST__`)
|
|
236
|
+
**Location:** `lib/galaxy/tools/nest_collection.xml`
|
|
237
|
+
|
|
238
|
+
**Purpose:** Add a nesting level to a collection (create collection of collections).
|
|
239
|
+
|
|
240
|
+
**Inputs:**
|
|
241
|
+
- `input`: Collection (type: list or paired)
|
|
242
|
+
|
|
243
|
+
**Outputs:**
|
|
244
|
+
- `output`: Nested collection (list:list or list:paired)
|
|
245
|
+
|
|
246
|
+
**Use Cases:**
|
|
247
|
+
- Enable map-over behavior for list-processing tools
|
|
248
|
+
- Add hierarchy level for batch processing
|
|
249
|
+
- Prepare collections for tools expecting nested structure
|
|
250
|
+
|
|
251
|
+
**Example:**
|
|
252
|
+
```
|
|
253
|
+
Input: list [sample1, sample2]
|
|
254
|
+
Output: list:list [sample1 → [sample1], sample2 → [sample2]]
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**Purpose Explanation:**
|
|
258
|
+
When a tool accepts a list, Galaxy maps over elements. If you want to process entire lists as units, add nesting so Galaxy maps over the outer lists instead.
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
### 4. Collection Building and Merging Tools
|
|
263
|
+
|
|
264
|
+
#### Build List (`__BUILD_LIST__`)
|
|
265
|
+
**Location:** `lib/galaxy/tools/build_list.xml`
|
|
266
|
+
|
|
267
|
+
**Purpose:** Build a new list collection from individual datasets or collections.
|
|
268
|
+
|
|
269
|
+
**Inputs:**
|
|
270
|
+
- `datasets`: Repeating parameter for dataset/collection inputs
|
|
271
|
+
|
|
272
|
+
**Outputs:**
|
|
273
|
+
- `output`: List collection containing all inputs
|
|
274
|
+
|
|
275
|
+
**Use Cases:**
|
|
276
|
+
- Combine individual datasets into a collection
|
|
277
|
+
- Merge dataset with collection elements (creates nested collection)
|
|
278
|
+
- Merge multiple collections (creates nested collection)
|
|
279
|
+
|
|
280
|
+
**Examples:**
|
|
281
|
+
- **Case A:** Individual datasets → simple list
|
|
282
|
+
- **Case B:** Collection + datasets → nested collection (dataset added to each collection element)
|
|
283
|
+
- **Case C:** Multiple collections → nested collection (must have equal element counts)
|
|
284
|
+
|
|
285
|
+
**Notes:**
|
|
286
|
+
- When merging collections, they must have the same number of elements
|
|
287
|
+
- If providing collections, tool runs in batch mode
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
#### Merge Collections (`__MERGE_COLLECTION__`)
|
|
292
|
+
**Location:** `lib/galaxy/tools/merge_collection.xml`
|
|
293
|
+
|
|
294
|
+
**Purpose:** Merge two or more collections into a single collection.
|
|
295
|
+
|
|
296
|
+
**Inputs:**
|
|
297
|
+
- `inputs`: Repeating parameter for collections (minimum 2)
|
|
298
|
+
- `conflict.duplicate_options`: How to handle duplicate identifiers
|
|
299
|
+
- `keep_first`: Keep first occurrence (default)
|
|
300
|
+
- `keep_last`: Keep last occurrence
|
|
301
|
+
- `suffix_conflict`: Append suffix to all conflicting identifiers
|
|
302
|
+
- `suffix_conflict_rest`: Append suffix to conflicts after first
|
|
303
|
+
- `suffix_every`: Append suffix to every identifier
|
|
304
|
+
- `fail`: Error on conflicts
|
|
305
|
+
- `suffix_pattern`: Pattern for suffixes (default: "_#")
|
|
306
|
+
|
|
307
|
+
**Outputs:**
|
|
308
|
+
- `output`: Merged collection (same type as first input)
|
|
309
|
+
|
|
310
|
+
**Use Cases:**
|
|
311
|
+
- Combine results from multiple analysis runs
|
|
312
|
+
- Merge sample collections from different sources
|
|
313
|
+
- Append additional samples to existing collection
|
|
314
|
+
|
|
315
|
+
**Example with suffix_conflict_rest:**
|
|
316
|
+
```
|
|
317
|
+
Input: [A, B, X] + [A, B, Y]
|
|
318
|
+
Output: [A, B, A_2, B_2, X, Y]
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
#### Duplicate File to Collection (`__DUPLICATE_FILE_TO_COLLECTION__`)
|
|
324
|
+
**Location:** `lib/galaxy/tools/duplicate_file_to_collection.xml`
|
|
325
|
+
|
|
326
|
+
**Purpose:** Create a collection by duplicating a single dataset N times.
|
|
327
|
+
|
|
328
|
+
**Inputs:**
|
|
329
|
+
- `input`: Dataset to duplicate
|
|
330
|
+
- `number`: Number of duplicates to create (integer)
|
|
331
|
+
- `element_identifier`: Base name for element identifiers
|
|
332
|
+
|
|
333
|
+
**Outputs:**
|
|
334
|
+
- `output`: List collection with N identical elements
|
|
335
|
+
|
|
336
|
+
**Use Cases:**
|
|
337
|
+
- Create reference dataset collection matching sample count
|
|
338
|
+
- Replicate parameter file for batch processing
|
|
339
|
+
- Generate collections for testing
|
|
340
|
+
|
|
341
|
+
**Example:**
|
|
342
|
+
```
|
|
343
|
+
Input: dataset.txt, number=3, identifier="ref"
|
|
344
|
+
Output: list [ref 1, ref 2, ref 3] (all identical)
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
### 5. Metadata and Organization Tools
|
|
350
|
+
|
|
351
|
+
#### Relabel Identifiers (`__RELABEL_FROM_FILE__`)
|
|
352
|
+
**Location:** `lib/galaxy/tools/relabel_from_file.xml`
|
|
353
|
+
|
|
354
|
+
**Purpose:** Change element identifiers in a collection using identifiers from a file.
|
|
355
|
+
|
|
356
|
+
**Inputs:**
|
|
357
|
+
- `input`: Collection to relabel
|
|
358
|
+
- `how_select`: Label specification method
|
|
359
|
+
- `txt`: Simple text file (one identifier per line, order-dependent)
|
|
360
|
+
- `tabular`: Two-column mapping (old → new identifiers)
|
|
361
|
+
- `tabular_extended`: Any two columns from table
|
|
362
|
+
- `labels`: File containing new identifiers
|
|
363
|
+
- `strict`: Enforce exact matching (optional boolean)
|
|
364
|
+
|
|
365
|
+
**Outputs:**
|
|
366
|
+
- `output`: Collection with relabeled elements
|
|
367
|
+
|
|
368
|
+
**Use Cases:**
|
|
369
|
+
- Rename samples to human-readable names
|
|
370
|
+
- Map technical IDs to sample names
|
|
371
|
+
- Standardize naming across collections
|
|
372
|
+
|
|
373
|
+
**Valid Identifier Characters:** a-z, A-Z, 0-9, -, _, ., space, comma
|
|
374
|
+
|
|
375
|
+
**Example with tabular mapping:**
|
|
376
|
+
```
|
|
377
|
+
Input: Collection [A, B, X]
|
|
378
|
+
File: B → Beta, X → Gamma, A → Alpha
|
|
379
|
+
Output: Collection [Alpha, Beta, Gamma]
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
384
|
+
#### Sort Collection (`__SORTLIST__`)
|
|
385
|
+
**Location:** `lib/galaxy/tools/sort_collection_list.xml`
|
|
386
|
+
|
|
387
|
+
**Purpose:** Sort collection elements alphabetically, numerically, or by custom order.
|
|
388
|
+
|
|
389
|
+
**Inputs:**
|
|
390
|
+
- `input`: Collection (type: list or list:paired)
|
|
391
|
+
- `sort_type`: Sorting method
|
|
392
|
+
- `alpha`: Alphabetical sorting
|
|
393
|
+
- `numeric`: Numeric sorting (ignores non-numeric characters)
|
|
394
|
+
- `file`: Custom order from file
|
|
395
|
+
- `sort_file`: Text file with desired order (for file-based sorting)
|
|
396
|
+
|
|
397
|
+
**Outputs:**
|
|
398
|
+
- `output`: Sorted collection
|
|
399
|
+
|
|
400
|
+
**Use Cases:**
|
|
401
|
+
- Organize samples alphabetically
|
|
402
|
+
- Order by sample numbers
|
|
403
|
+
- Apply custom experimental order
|
|
404
|
+
|
|
405
|
+
**Example with numeric sort:**
|
|
406
|
+
```
|
|
407
|
+
Input: [Horse123, Donkey543, Mule176]
|
|
408
|
+
Output: [Horse123, Mule176, Donkey543] (sorted by numbers: 123, 176, 543)
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
#### Tag Elements (`__TAG_FROM_FILE__`)
|
|
414
|
+
**Location:** `lib/galaxy/tools/tag_collection_from_file.xml`
|
|
415
|
+
|
|
416
|
+
**Purpose:** Add, set, or remove tags on collection elements.
|
|
417
|
+
|
|
418
|
+
**Inputs:**
|
|
419
|
+
- `input`: Collection to tag
|
|
420
|
+
- `tags`: Two-column tabular file (identifier → tags)
|
|
421
|
+
- `how`: Tag update mode
|
|
422
|
+
- `add`: Add new tags, keep existing
|
|
423
|
+
- `set`: Add new tags, remove existing
|
|
424
|
+
- `remove`: Remove specified tags
|
|
425
|
+
|
|
426
|
+
**Outputs:**
|
|
427
|
+
- `output`: Collection with updated tags
|
|
428
|
+
|
|
429
|
+
**Tag Types:**
|
|
430
|
+
- **Simple tags:** Alternative labels for finding datasets
|
|
431
|
+
- **Name tags** (`name:` or `#`): Propagate through derived datasets
|
|
432
|
+
- **Group tags** (`group:`): Label groups (e.g., treatment/control)
|
|
433
|
+
|
|
434
|
+
**Use Cases:**
|
|
435
|
+
- Annotate samples with metadata
|
|
436
|
+
- Track experimental conditions
|
|
437
|
+
- Enable tag-based filtering downstream
|
|
438
|
+
|
|
439
|
+
**Training Resources:** https://training.galaxyproject.org/training-material/search?query=tags
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
### 6. Advanced Combination Tools
|
|
444
|
+
|
|
445
|
+
#### Flat Cross Product (`__CROSS_PRODUCT_FLAT__`)
|
|
446
|
+
**Location:** `lib/galaxy/tools/cross_product_flat.xml`
|
|
447
|
+
|
|
448
|
+
**Purpose:** Create all-vs-all combinations of two list collections for pairwise comparisons.
|
|
449
|
+
|
|
450
|
+
**Inputs:**
|
|
451
|
+
- `input_a`: First list collection (length n)
|
|
452
|
+
- `input_b`: Second list collection (length m)
|
|
453
|
+
- `join_identifier`: String to join identifiers (default: "_")
|
|
454
|
+
|
|
455
|
+
**Outputs:**
|
|
456
|
+
- `output_a`: List of size n×m (repeats from input_a)
|
|
457
|
+
- `output_b`: List of size n×m (repeats from input_b)
|
|
458
|
+
|
|
459
|
+
**Use Cases:**
|
|
460
|
+
- All-vs-all pairwise comparisons
|
|
461
|
+
- Combinatorial analysis
|
|
462
|
+
- Cross-reference testing
|
|
463
|
+
|
|
464
|
+
**How It Works:**
|
|
465
|
+
Creates two matched lists where the kth element identifier is the concatenation of input_a[i] and input_b[j] identifiers. The kth element of output_a contains input_a[i] data, and the kth element of output_b contains input_b[j] data. When used with a comparison tool, produces all combinations.
|
|
466
|
+
|
|
467
|
+
**Example:**
|
|
468
|
+
```
|
|
469
|
+
Input A: [a1, a2] (n=2)
|
|
470
|
+
Input B: [b1, b2] (m=2)
|
|
471
|
+
|
|
472
|
+
Output A: [a1_b1, a1_b2, a2_b1, a2_b2] (contains: a1, a1, a2, a2)
|
|
473
|
+
Output B: [a1_b1, a1_b2, a2_b1, a2_b2] (contains: b1, b2, b1, b2)
|
|
474
|
+
|
|
475
|
+
Comparison tool produces: [a1 vs b1, a1 vs b2, a2 vs b1, a2 vs b2]
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
**Notes:**
|
|
479
|
+
- Both output lists have identical element identifiers in same order
|
|
480
|
+
- Matching corresponding elements produces every combination
|
|
481
|
+
- Does not increase quota usage
|
|
482
|
+
|
|
483
|
+
---
|
|
484
|
+
|
|
485
|
+
## Tool Selection Guide
|
|
486
|
+
|
|
487
|
+
### When to Use Which Tool
|
|
488
|
+
|
|
489
|
+
**For Filtering:**
|
|
490
|
+
- **Simple cleanup:** `Filter Empty`, `Filter Failed`, `Keep Success`
|
|
491
|
+
- **Identifier-based selection:** `Filter from File`
|
|
492
|
+
- **Extract single item:** `Extract Dataset`
|
|
493
|
+
|
|
494
|
+
**For Restructuring:**
|
|
495
|
+
- **Simple operations:** `Flatten`, `Zip`, `Unzip`, `Nest`
|
|
496
|
+
- **Complex operations:** `Apply Rules` (most flexible)
|
|
497
|
+
|
|
498
|
+
**For Building Collections:**
|
|
499
|
+
- **From scratch:** `Build List`
|
|
500
|
+
- **Combining collections:** `Merge Collections`
|
|
501
|
+
- **Replicating data:** `Duplicate File to Collection`
|
|
502
|
+
|
|
503
|
+
**For Metadata:**
|
|
504
|
+
- **Rename elements:** `Relabel Identifiers`
|
|
505
|
+
- **Reorder elements:** `Sort Collection`
|
|
506
|
+
- **Add metadata:** `Tag Elements`
|
|
507
|
+
|
|
508
|
+
**For Advanced Operations:**
|
|
509
|
+
- **All-vs-all comparisons:** `Flat Cross Product`
|
|
510
|
+
- **Everything else complex:** `Apply Rules`
|
|
511
|
+
|
|
512
|
+
## Best Practices
|
|
513
|
+
|
|
514
|
+
### Reproducibility
|
|
515
|
+
1. **Prefer tools over API:** All these tools are workflow-compatible
|
|
516
|
+
2. **Document operations:** Tool parameters capture transformation logic
|
|
517
|
+
3. **Reuse patterns:** Export Apply Rules JSON for similar datasets
|
|
518
|
+
4. **Test incrementally:** Verify each transformation before chaining
|
|
519
|
+
|
|
520
|
+
### Workflow Integration
|
|
521
|
+
1. **Chain operations:** Tools work together seamlessly
|
|
522
|
+
2. **Preserve structure:** Choose tools that maintain needed hierarchy
|
|
523
|
+
3. **Consider downstream:** Match collection type to next tool's requirements
|
|
524
|
+
4. **Batch wisely:** Use nesting to control map-over behavior
|
|
525
|
+
|
|
526
|
+
### Performance
|
|
527
|
+
1. **Filter early:** Remove unwanted elements before heavy processing
|
|
528
|
+
2. **Flatten when appropriate:** Simpler structures are easier to work with
|
|
529
|
+
3. **Avoid unnecessary nesting:** Only nest when tools require it
|
|
530
|
+
4. **No quota impact:** Collection operations don't increase storage usage
|
|
531
|
+
|
|
532
|
+
## Common Patterns
|
|
533
|
+
|
|
534
|
+
### Pattern 1: Clean and Filter Pipeline
|
|
535
|
+
```
|
|
536
|
+
1. Filter Failed Datasets → Remove errors
|
|
537
|
+
2. Filter Empty Datasets → Remove empty files
|
|
538
|
+
3. Filter from File → Keep only samples of interest
|
|
539
|
+
4. Sort Collection → Organize for downstream
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
### Pattern 2: Paired-End Read Processing
|
|
543
|
+
```
|
|
544
|
+
1. Zip Collections → Combine forward/reverse lists
|
|
545
|
+
2. Process paired data (mapping, alignment)
|
|
546
|
+
3. Unzip Collection → Separate for single-end analysis
|
|
547
|
+
4. Flatten Collection → Convert to simple list if needed
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
### Pattern 3: Complex Restructuring
|
|
551
|
+
```
|
|
552
|
+
1. Apply Rules → Custom filtering/nesting/flattening
|
|
553
|
+
- Load or create transformation rules
|
|
554
|
+
- Preview results in interactive mode
|
|
555
|
+
- Export rules JSON for reuse
|
|
556
|
+
2. Downstream analysis with restructured collection
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
### Pattern 4: Metadata Management
|
|
560
|
+
```
|
|
561
|
+
1. Relabel Identifiers → Standardize naming
|
|
562
|
+
2. Tag Elements → Add experimental metadata
|
|
563
|
+
3. Sort Collection → Order by experiment design
|
|
564
|
+
4. Downstream analysis with organized metadata
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
### Pattern 5: All-vs-All Analysis
|
|
568
|
+
```
|
|
569
|
+
1. Flat Cross Product → Generate all combinations
|
|
570
|
+
2. Comparison tool → Process each pair
|
|
571
|
+
3. Merge Collections → Combine with original data if needed
|
|
572
|
+
4. Analysis and visualization
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
## Summary: Tool-Based vs. API-Based Operations
|
|
576
|
+
|
|
577
|
+
### Why Tools Win
|
|
578
|
+
|
|
579
|
+
**Reproducibility:**
|
|
580
|
+
- Operations captured in workflow format
|
|
581
|
+
- Parameters documented automatically
|
|
582
|
+
- Re-execution produces identical results
|
|
583
|
+
|
|
584
|
+
**Traceability:**
|
|
585
|
+
- Galaxy tracks all transformations
|
|
586
|
+
- Provenance preserved throughout pipeline
|
|
587
|
+
- Operations visible in history
|
|
588
|
+
|
|
589
|
+
**Shareability:**
|
|
590
|
+
- Workflows extractable and shareable
|
|
591
|
+
- Community can reproduce analyses
|
|
592
|
+
- Published methods remain executable
|
|
593
|
+
|
|
594
|
+
**Consistency:**
|
|
595
|
+
- Tested and validated operations
|
|
596
|
+
- Uniform application across datasets
|
|
597
|
+
- Reduced human error
|
|
598
|
+
|
|
599
|
+
### When Claude Encounters Collection Requests
|
|
600
|
+
|
|
601
|
+
1. **Analyze requirements:** Understand data structure and goals
|
|
602
|
+
2. **Select appropriate tool(s):** Match operation to tool capabilities
|
|
603
|
+
3. **Explain approach:** Describe why tool-based solution is preferred
|
|
604
|
+
4. **Provide guidance:** Step-by-step instructions for tool usage
|
|
605
|
+
5. **Avoid API manipulation:** Only when no tool-based alternative exists
|
|
606
|
+
|
|
607
|
+
### The Galaxy Way
|
|
608
|
+
|
|
609
|
+
Collections + tool-based operations + workflow integration = reproducible, scalable, shareable bioinformatics analyses.
|