# HG changeset patch # User goeckslab # Date 1769199927 0 # Node ID ccbcc012d78d76db7d9f1bd4f66e0fc03bf37cca # Parent d5c582cf74bc9b0287f6819330fff28616459234 planemo upload for repository https://github.com/goeckslab/gleam.git commit d8308188856a1dd8d40d3ccfe4c4ec03c4fd36de diff -r d5c582cf74bc -r ccbcc012d78d image_workflow.py --- a/image_workflow.py Tue Jan 20 01:25:35 2026 +0000 +++ b/image_workflow.py Fri Jan 23 20:25:27 2026 +0000 @@ -129,10 +129,46 @@ logger.error("Error loading metadata file", exc_info=True) raise - label_col = self.args.target_column or LABEL_COLUMN_NAME - image_col = self.args.image_column or IMAGE_PATH_COLUMN_NAME + def resolve_column_name(value: Optional[str], columns, label: str) -> Optional[str]: + """Resolve Galaxy data_column index (1-based) to header if needed.""" + if value is None: + return None + if str(value).isdigit(): + idx = int(value) - 1 + if 0 <= idx < len(columns): + resolved = columns[idx] + if value in columns: + logger.warning( + "%s column value '%s' matches a header, but Galaxy data_column " + "inputs are interpreted as 1-based indices; using column #%s header '%s'.", + label, + value, + idx + 1, + resolved, + ) + logger.info( + "%s column '%s' not found; using column #%s header '%s' instead.", + label, + value, + idx + 1, + resolved, + ) + return resolved + raise ValueError( + f"{label} column index '{value}' is out of range for dataset with " + f"{len(columns)} columns. Update the XML selections or rename your columns." + ) + if value in columns: + return value + return value - # Remember the user-specified columns for reporting + label_col = resolve_column_name(self.args.target_column, df.columns, "Target") or LABEL_COLUMN_NAME + image_col = resolve_column_name(self.args.image_column, df.columns, "Image") or IMAGE_PATH_COLUMN_NAME + self.args.sample_id_column = resolve_column_name( + self.args.sample_id_column, df.columns, "Sample ID" + ) + + # Remember the resolved columns for reporting self.args.report_target_column = label_col self.args.report_image_column = image_col