Using Taverna with SEEK

8 views
Skip to first unread message

minn...@gmail.com

unread,
May 15, 2018, 10:57:27 AM5/15/18
to SEEK
Hi, 

We have a seek installation on our server and we need to be able to create workflows for data verification, circulating emails, tasks, etc.
We have a Taverna server installed, and I have configured the taverna_server.rb accordingly.
I am fairly new to Ruby on rails and need some clues to get started with setting up and running workflows through Taverna using seek.

Thank you  

minn...@gmail.com

unread,
May 20, 2018, 11:20:30 PM5/20/18
to SEEK
Hi, 

I managed to create a few workflows in SEEK by uploading some easy examples from Taverna website (such as hello world, etc).
My taverna server is up and running and the Taverna.rb is configured accordingly.
Now the issue is when I try to run the workflow by hitting the "Run workflow" button, I get an error that the Taverna player Controller can not be found.
Can you give me some clues on how this error can be addressed ? Thank you. 
 
Here is a snapshot of the error I get : 


   

minn...@gmail.com

unread,
May 20, 2018, 11:21:28 PM5/20/18
to seek4s...@googlegroups.com

Finn Bacall

unread,
May 21, 2018, 5:30:37 PM5/21/18
to seek4s...@googlegroups.com

Hi,

What version of SEEK are you running?

We actually dropped support for Taverna workflows in our upcoming SEEK release, but I think you might be able to fix that error if you change "controller_name" to "controller_path" on the line mentioned in the error message.

Cheers,

Finn

--
If you have installed SEEK - please take a moment to fill out our registration form at http://www.seek4science.org/seek-registration
---
You received this message because you are subscribed to the Google Groups "SEEK" group.
To unsubscribe from this group and stop receiving emails from it, send an email to seek4science...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

-- 
Finn Bacall
Room 1.17
School of Computer Science
University of Manchester

MIN GEIN

unread,
May 21, 2018, 10:23:55 PM5/21/18
to seek4s...@googlegroups.com
Hi Finn, 

Thank you for your reply.
I am using SEEK V.1.5.2. We installed it about a month ago. 
So the workflows are not supported in this version and any future versions ? 
May I ask what the reason was for dropping the support ? For us, workflows add a lot of benefits to the tool and we need to be able to use them to define verification processes around the datasets.

Also, can you let me know what was the latest version of SEEK in which the workflows are still supported? 
I followed you comment and made the changes, but it arose other errors which I am trying to fix one by one.
There seems to be some dependencies and the parameters are not initialized.

Regards,

Masha     


To unsubscribe from this group and stop receiving emails from it, send an email to seek4science+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

-- 
Finn Bacall
Room 1.17
School of Computer Science
University of Manchester

--
If you have installed SEEK - please take a moment to fill out our registration form at http://www.seek4science.org/seek-registration
---
You received this message because you are subscribed to a topic in the Google Groups "SEEK" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/seek4science/PoD0T2mN8Zk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to seek4science+unsubscribe@googlegroups.com.

Finn Bacall

unread,
May 22, 2018, 3:22:24 AM5/22/18
to seek4s...@googlegroups.com
Hi,

We felt that the workflows feature in its current form was not very well integrated into the rest of SEEK.

In a future release we will revisit the workflows feature, with support for different workflow types and closer integration with ISA and other SEEK features.

v1.5.2 is the last release that features the workflows code, although as you have discovered, there seems to be some outstanding bugs.

Feel free to reply if you get stuck with any of the errors you encounter.

Cheers,
Finn


From: seek4s...@googlegroups.com [seek4s...@googlegroups.com] on behalf of MIN GEIN [minn...@gmail.com]
Sent: 22 May 2018 03:23
To: seek4s...@googlegroups.com
Subject: Re: Using Taverna with SEEK - Taverna Player Error

To unsubscribe from this group and stop receiving emails from it, send an email to seek4science...@googlegroups.com.

Carole Goble

unread,
May 22, 2018, 4:12:09 AM5/22/18
to seek4s...@googlegroups.com, Alan Williams, Carole Goble
Dear Masha
We have a new project that is entirely focused on SEEK and workflow integration. It would be very helpful if you would join us in providing needs and features in building that. I have copied in Alan who is leading that work. 
Carole 

Sent from my iPhone by
Professor Carole Goble
The University of Manchester
UK

Alan Williams

unread,
May 22, 2018, 5:23:29 AM5/22/18
to Carole Goble, seek4s...@googlegroups.com
Hello Masha

Your need to use workflows to define verification processes around datasets is very interesting. Just today I was asked if it was possible to validate data before it is registered into SEEK, and to validate assays - is it reasonable to claim this output data is from that input data?

My immediate thought was that this could be done by callbacks. So when someone tries to submit data into SEEK, something else is notified (for example a Taverna Server) that does something (such as runs a workflow) and then says YES/NO.

The REST API to SEEK is being released this week. That would at least allow you to check for datasets and do some validation (or whatever you want). The API does not include callbacks, but a poller may be sufficient for what you want.

Alan

MIN GEIN

unread,
May 22, 2018, 2:14:40 PM5/22/18
to seek4s...@googlegroups.com, finn....@manchester.ac.uk
Thanks Fin. 
It seems at this point most of the problems are from this class:  assets_standard_controller_actions.rb

I changed the  "controller_name" to  "controller_path" but now I see another error (see below).
I commented out the  call to "set_shared_item_variable" from the  'setup_new_asset' method to see what happens.
Then I saw few errors at the "view" level. I checked the database table contents to see if the workflow was run and these are the aftermath errors but I find no records there either.
It would be great if you could help us run at least a simple workflow to assess the possibility of using workflows in this version. 
I will reply to Carole and Allan in a different email.

Thanks,

Mahsa

NoMethodError in TavernaPlayer::RunsController#new
undefined method `/' for nil:NilClass
Extracted source (around line #73):
              
    # i.e. @model = item, or @data_file = item - according to the item class name
    def set_shared_item_variable(item)
      eval("@#{item.class.name.underscore}=item")
    end

    # the standard response block after created a new asset


Application Trace | Framework Trace | Full Trace
lib/seek/assets_standard_controller_actions.rb:73:in `eval'
lib/seek/assets_standard_controller_actions.rb:73:in `eval'
lib/seek/assets_standard_controller_actions.rb:73:in `set_shared_item_variable'
lib/seek/assets_standard_controller_actions.rb:36:in `setup_new_asset'
lib/seek/assets_standard_controller_actions.rb:9:in `new'
app/controllers/application_controller.rb:47:in `block in with_current_user'
app/models/user.rb:253:in `with_current_user'
app/controllers/application_controller.rb:46:in `with_current_user'


To unsubscribe from this group and stop receiving emails from it, send an email to seek4science+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Finn Bacall

unread,
May 22, 2018, 5:09:19 PM5/22/18
to seek4s...@googlegroups.com

Hi,

I did some fixes myself and pushed the results to a branch: https://github.com/seek4science/seek/tree/seek-1.5-workflow-fixes

You might want to check that out and see how you get on. I didn't check if the workflows ran successfully as I didn't have a Taverna server instance running.

Finn

MIN GEIN

unread,
May 23, 2018, 12:37:39 PM5/23/18
to finn....@manchester.ac.uk, seek4s...@googlegroups.com
Thanks Finn for putting sometime into this.
I applied the changes and there seems to be an issue with a method you just added (see the error below).
I just had a thought that it may be the path I take to access the workflows. I go to the http://localhost:3000/workflows to create or run them.
So I might be skipping some initialization if this not the right way of accessing workflows.

Here is the error:

ActionController::ParameterMissing in TavernaPlayer::RunsController#new
param is missing or the value is empty: run
Extracted source (around line #196):
              

    def run_params
      params.require(:run).permit!
    end
  end
end

Application Trace | Framework Trace | Full Trace
app/controllers/taverna_player/runs_controller.rb:196:in `run_params'
app/controllers/taverna_player/runs_controller.rb:185:in `check_project_membership_unless_embedded'
app/controllers/application_controller.rb:47:in `block in with_current_user'
app/models/user.rb:253:in `with_current_user'
app/controllers/application_controller.rb:46:in `with_current_user'

Thanks again Finn.

Regards,

Mahsa
 

Finn Bacall

unread,
May 24, 2018, 3:24:39 AM5/24/18
to MIN GEIN, seek4s...@googlegroups.com

Ah, that's my fault, I've pushed another commit to the branch that should fix it.

Cheers,

Finn

MIN GEIN

unread,
May 24, 2018, 11:20:35 PM5/24/18
to Alan Williams, seek4s...@googlegroups.com
Hi Alan,

It is very interesting that a similar requirement was raised so recently.
As for us, we can use workflows to take care of some several tasks in seek one of which is data verification.
I actually was very excited seeing your comment since your immediate thought was identical to my understanding of the system.
Here are the few requirements I can think of now (but there are more):

1- Data verification 
The verification process does not have to be before registering the data into seek, but it is best actually if it happens after.

Before the datasets are published, we need to make sure it has been verified (against a source). Just as you said it, a workflow can be triggered (maybe once publish is clicked, or on a similar event) and send a verification request to an individual and await their response. 
Once the verification is complete, a notification can be sent as a Yes/No, approved/Disapproved and the status can be changed.
I think this requires that assets have a status, but the "published" status could be enough for now. 
Just as you said, this could be done with callbacks and workflows.

2- Data/System Integration: 
As another scenario that could benefit from workflows would be integrating seek with other systems. 
Assuming that changes happen in the source of a dataset in seek. The source, which is a different system such as LIMS, needs to update the data in seek or at least notify the owner.

Let me know if these requirements sound reasonable to you. 

Regards,

Mahsa
  


 

Alan Williams

unread,
May 26, 2018, 1:09:38 PM5/26/18
to MIN GEIN, seek4s...@googlegroups.com
My comments are preceded by AW and underlined.


From: MIN GEIN [minn...@gmail.com]
Sent: 25 May 2018 04:20
To: Alan Williams
Cc: seek4s...@googlegroups.com

Subject: Re: Using Taverna with SEEK - Taverna Player Error
Hi Alan,

It is very interesting that a similar requirement was raised so recently.
As for us, we can use workflows to take care of some several tasks in seek one of which is data verification.
I actually was very excited seeing your comment since your immediate thought was identical to my understanding of the system.
Here are the few requirements I can think of now (but there are more):

1- Data verification 
The verification process does not have to be before registering the data into seek, but it is best actually if it happens after.

Before the datasets are published, we need to make sure it has been verified (against a source). Just as you said it, a workflow can be triggered (maybe once publish is clicked, or on a similar event) and send a verification request to an individual and await their response. 

Once the verification is complete, a notification can be sent as a Yes/No, approved/Disapproved and the status can be changed.

AW: I think this can be done by custom validation that calls registered webhooks and (somehow) receives back yes / no. I'd guess that one no would invalidate the change. The webhooks could start the workflows.

I think this requires that assets have a status, but the "published" status could be enough for now. 
Just as you said, this could be done with callbacks and workflows.

2- Data/System Integration: 
As another scenario that could benefit from workflows would be integrating seek with other systems. 
Assuming that changes happen in the source of a dataset in seek. The source, which is a different system such as LIMS, needs to update the data in seek or at least notify the owner.

AW: I think  this could be done by the API. For details of it, see http://docs.seek4science.org/tech/api.

Let me know if these requirements sound reasonable to you.

AW: Very reasonable :-)

Regards,

Mahsa
  
Alan
Reply all
Reply to author
Forward
0 new messages