mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-31 02:28:09 +08:00
sample_sheet collections should behave like list for mapping/matching purposes: sample_sheet matches list, sample_sheet:paired matches list:paired, sample_sheet:paired_or_unpaired matches list:paired_or_unpaired, etc. Add normalizeCollectionType functions (frontend TS and backend Python) that convert sample_sheet to list for comparison in canMatch, canMapOver, effectiveMapOver, has_subcollections_of_type, and can_match_type. The actual collection_type string is preserved in results so sample_sheet identity is maintained. Enforce asymmetry: sample_sheet output can satisfy list input, but list output cannot satisfy sample_sheet input. This is guarded at the terminal level in InputCollectionTerminal.attachable() for both canMatch and canMapOver paths.