Updating existing Assay Runs and Results via Java Client API

LabKey Support Forum (Inactive)
Updating existing Assay Runs and Results via Java Client API Andy Straw  2015-06-28 13:26
Status: Closed
 
JavaDoc for SaveAssayBatchCommand says it can update an existing batch and existing run(s) if the rowId of the corresponding objects are provided. I want to clarify what is possible here.

Can I update an existing Run's properties by using the UpdateRowsCommand on the Runs table, or must I use the SaveAssayBatchCommand?

Can I update an existing Result's properties by using the UpdateRowsCommand on the Data table, or must I use the SaveAssayBatchCommand?

Can I add/remove a result to/from an existing Run by using the InsertRowsCommand/DeleteRowsCommand on the Data table, or must I use the SaveAssayBatchCommand, or is this not possible without deleting and re-inserting the whole Run (and its Results) via the SaveBatchCommand?

Thanks.

Andy Straw
University of Rochester
 
 
jeckels responded:  2015-06-28 16:57
Hi Andy,

All assay types should support updating their Runs table via the UpdateRowsCommand (or its equivalent API binding in other languages, like LABKEY.Query.updateRows() in JavaScript).

Similarly, for assay types that support editable results rows via the assay design, you can use either UpdateRowsCommand or DeleteRowsCommand. We do not currently support inserting new result rows via InsertRowsCommand.

Any of those direct update/delete operations should create audit log events, whether invoked via an API or through the web UI.

Thanks,
Josh
 
Andy Straw responded:  2015-06-29 05:45
Sounds like the features supported by the client APIs match what one can do manually via the web app.

Thanks for clarifying.

Andy