Repository navigation
AssayTransformScripts.md and related changes - #8122
Conversation
|
|
||
| A transform script runs **inside** LabKey Server during assay import. The server writes the uploaded data and run metadata to files, runs the script, and reads back the files the script writes. The script can clean or reshape result data, compute new columns, change run/batch properties, and reject or warn about an import. It is a file-exchange contract, not an HTTP API: most scripts never call back into the server. | ||
|
|
||
| This guide covers the contract as the server implements it, the traps, and a local development loop. For UI walkthroughs, module-based assays, and worked examples, call `searchDocumentation` (e.g. `searchDocumentation("transform scripts run properties reference")`, `searchDocumentation("transformation script warnings")`), then `retrieveDocument`. Where this guide and the documentation disagree, trust this guide. |
There was a problem hiding this comment.
The content in this document all looks good to me and this seems like a nice skill / helper to have. Regarding the last sentence here, "where this guide and the documentation disagree, trust this guide", is interesting. It is really too bad that we can't just point this document to the documentation instead of keep having to duplicate things. For example, I just recently added a reRunId property to the runProperties file that the transform script writes and I'm not sure I would have remembered / known to update this location as well as the docs.
There was a problem hiding this comment.
BTW, I have a list of updates for the docs.
But yes, I agree. I actually discussed this with Claude. The information it found was scattered across a lot of pages (and a lot of words), so it thought it worth making a condensed version. I think we have a task on the backlog to think about the workflow for MCP resources (just a separate set of wiki pages?)
Rationale
AssayTransformScripts.md resource for writing transform scripts
Related Pull Requests
Changes