Getting this error while submitting a pipeline. Where the problem could be? Is it in the communication between IRIDA and Galaxy or permission issues?
11 Jan 2022 09:26:30,737 DEBUG ca.corefacility.bioinformatics.irida.service.impl.AnalysisExecutionScheduledTaskImpl:117 - Preparing AnalysisSubmission [id=11, name=SISTR1-11-2022_Test_1, submitter=admin, workflowId=b21ea62c-7916-4ca6-96ba-90c20177b70f, analysisState=NEW, analysisCleanedState=NOT_CLEANED]
11 Jan 2022 09:26:30,853 DEBUG ca.corefacility.bioinformatics.irida.service.analysis.execution.galaxy.AnalysisExecutionServiceGalaxyAsync:105 - Preparing submission for AnalysisSubmission [id=11, name=SISTR1-11-2022_Test_1, submitter=admin, workflowId=b21ea62c-7916-4ca6-96ba-90c20177b70f, analysisState=PREPARING, analysisCleanedState=NOT_CLEANED]
11 Jan 2022 09:26:30,868 ERROR ca.corefacility.bioinformatics.irida.service.analysis.execution.AnalysisExecutionServiceAspect:65 - Error occured for submission: AnalysisSubmission [id=11, name=SISTR__1-11-2022_Test_1, submitter=admin, workflowId=b21ea62c-7916-4ca6-96ba-90c20177b70f, analysisState=PREPARING, analysisCleanedState=NOT_CLEANED] changing to state ERROR
ca.corefacility.bioinformatics.irida.exceptions.galaxy.WorkflowUploadException: Could not upload workflow from /workflows/1.1.1/irida_workflow_structure.ga
at ca.corefacility.bioinformatics.irida.pipeline.upload.galaxy.GalaxyWorkflowService.uploadGalaxyWorkflow(GalaxyWorkflowService.java:64) ~[classes/:?]
I'll write up some more detailed instructions someplace else (github maybe, or our docs) but in general restoring sequencing files deleted from a sample involves the table sample_sequencingobject
which stores a single row which which sample is associated with which sequencing object:
select * from sample_sequencingobject;
+----+---------------------+-----------+---------------------+
| id | created_date | sample_id | sequencingobject_id |
+----+---------------------+-----------+---------------------+
| 1 | 2022-01-11 12:38:16 | 1 | 1 |
+----+---------------------+-----------+---------------------+
The table sample_sequencingobject_AUD
stores all modifications made to the sample_sequencingobject
table:
select * from sample_sequencingobject_AUD;
+----+---------------------+-----------+---------------------+-----+---------+
| id | created_date | sample_id | sequencingobject_id | REV | REVTYPE |
+----+---------------------+-----------+---------------------+-----+---------+
| 1 | 2022-01-11 12:38:16 | 1 | 1 | 6 | 0 |
| 1 | 2022-01-11 12:38:16 | 1 | 1 | 47 | 2 |
+----+---------------------+-----------+---------------------+-----+---------+
Here, REV
is a unique identifier for every operation performed (e.g., create, update, delete). REVTYPE
defines the specific operation performed (a REVTYPE
of 2
means a deletion).
So if you look at:
select * from sample_sequencingobject_AUD where REVTYPE = 2;
+----+---------------------+-----------+---------------------+-----+---------+
| id | created_date | sample_id | sequencingobject_id | REV | REVTYPE |
+----+---------------------+-----------+---------------------+-----+---------+
| 1 | 2022-01-11 12:38:16 | 1 | 1 | 47 | 2 |
+----+---------------------+-----------+---------------------+-----+---------+
You can see all delete operations on the sample_sequencingobject
table. You can also see that the deleted information is still saved in this table (e.g., the specific sample_id=1
and sequencingobject_id=1
defining which sequencing object used to be linked with which sample).
To restore the link between the sample_id
and sequencingobject_id
you can re-insert this data into the sample_sequencingobject
table like so:
start transaction;
insert into sample_sequencingobject (id,created_date,sample_id,sequencingobject_id) select id,created_date,sample_id,sequencingobject_id from sample_sequencingobject_AUD where REV in (47) and REVTYPE = 2;
commit;
This will re-insert the entry into the sample_sequencingobject
table linking the sample and sequence data back up in IRIDA:
select * from sample_sequencingobject;
+----+---------------------+-----------+---------------------+
| id | created_date | sample_id | sequencingobject_id |
+----+---------------------+-----------+---------------------+
| 1 | 2022-01-11 12:38:16 | 1 | 1 |
+----+---------------------+-----------+---------------------+
(see above screenshot)
The actual code that gets called when you remove sequence data from a sample is:
Specifically, here you can see that what it does is removes the link between a sample and a sequencing object (that is a row from the sample_sequencingobject
table). So restoring the entry in this table restores the sample/sequence data link.
REVTYPE
values in case you wanted to see what they all represent (from https://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html#envers)
@apetkau I am getting this Error
AnalysisSubmission [id=11, name=SISTR__1-11-2022_Test_1, submitter=admin, workflowId=b21ea62c-7916-4ca6-96ba-90c20177b70f, analysisState=PREPARING, analysisCleanedState=NOT_CLEANED] changing to state ERROR
ca.corefacility.bioinformatics.irida.exceptions.galaxy.WorkflowUploadException: Could not upload workflow from /workflows/1.1.1/irida_workflow_structure.ga
at ca.corefacility.bioinformatics.irida.pipeline.upload.galaxy.GalaxyWorkflowService.uploadGalaxyWorkflow(GalaxyWorkflowService.java:64) ~[classes/:?]
No New history is being created
Is it something to do with file sharing or?