Uploaded image for project: 'Apache Taverna'
  1. Apache Taverna
  2. TAVERNA-900

Add Common Workflow Language support to Taverna

    Details

      Description

      GSOC: Add CWL support to Taverna

      The proposed GSOC task is to add support for Common Workflow Language (CWL) in Apache Taverna (incubating).

      The Apache Taverna community believe CWL support can be added to Taverna in a progressive fashion, and therefore the GSOC student can achieve success in multiple ways - and depending on her/his interests and existing skills can choose to pursue one or two of these tasks in detail, and if time permits can "top up" by exploring some of the remaining tasks more briefly as prototypes.

      See the underlying Jira issues for further ideas.

      • Save Taverna workflows as CWL (TAVERNA-881) - basically generate YAML by inspecting workflows using the Taverna Language API and follow the CWL specifications.
      • Read CWL workflows (TAVERNA-877) - Add a plugin to Taverna Language API to parse CWL's YAML
      • Execute CWL tool descriptions (TAVERNA-878) - modify Taverna's Tool activity
      • Browse and use CWL tool descriptions from the workbench (TAVERNA-880) - modify GUI plugin to select from a collection or registry of tool descriptions
      • Create a Docker tool for executing Taverna activities (TAVERNA-879) - this allows any Taverna steps to be used by other CWL engines

      Other Taverna or CWL-related tasks can of course also be proposed by the students.

      CWL

      The Common Workflow Language (CWL) is a pragmatic approach to a standardized workflow language for executing command line tools on the cloud and on local servers.

      CWL is a YAML-based dataflow format, describing how command line tools can be wired together in a pipeline. An example workflow: https://github.com/common-workflow-language/workflows/blob/master/workflows/FestivalDemo/filtercount.cwl.yaml

      CWL has a vibrant community and multiple implementations, including Rabix, Galaxy and a Python-based reference implementation cwltool.

      Taverna

      Apache Taverna (incubating) is a Java-based workflow system with a graphical design interface. Taverna workflows can combine many different service types, including REST and WSDL services, command line tools, scripts (e.g. BeanShell, R) and custom plugins (e.g. BioMart).

      Taverna workflows can be executed on the desktop, on the command line, or on a Taverna server installation, which can be controlled from a web portal, a mobile app, or integrated into third-party applications.

      Taverna is used in a wide range of sciences for data analysis and processing, including bioinformatics, cheminformatics, biodiversity and musicology. Workflow engine features include provenance tracking, implicit parallelism/iterations, retry/failover and looping.

      Taverna workflows are commonly shared on myExperiment, and can either be created graphically in the Taverna workbench, programmatically using the Taverna Language API or by generating workflow definitions in the SCUFL2 format.

      Community engagement

      Interested GSOC students are requested to engage early with the dev@taverna mailing list to describe their ideas for approaching this project, to clarify the tasks and for any questions and issues.

      As a first step, the prospective applicant should leave a comment on this Jira issue to indicate their interest, and the GSOC mentors would be happy to assist on any questions.

      As the project starts we are expecting the student to become part of the dev@taverna community to regularly discuss their progress.

      We are also hoping the student would engage with the CWL community - particularly for questions on interpreting the CWL specifications and possibly even improving them. This engagement might include participating in development of the CWL Java SDK - although for GSOC evaluation purposes we will concentrate on your direct contributions to Apache Taverna.

      Mentors

      An important part of GSOC is the personal mentoring from existing members of the open source community. Our job is not just to teach you how to successfully get through the GSOC programme, but also to motivate you and make sure you progress. We will show you how to contribute to open source, debug, improve, document, test and release your code as part of Apache Taverna.

      The GSOC mentors for Apache Taverna have experience from guiding multiple earlier GSOC students and local students, and can be contacted privately for day-to-day interaction and trouble-shooting.

      Mentors for this GSOC project:

      • Stian Soiland-Reyes
      • Alan Williams

        Issue Links

          Activity

          Hide
          marti1125 Willy Aguirre added a comment -

          Hi!

          I don't have experience in Workflow System I think is new experience for me.
          I'm Willy Aguirre from Lima Peru Actually I'm studing at UPC(http://epe.upc.edu.pe/)
          I'm working as a java developer and also I used Play Framework 1.* it uses yaml

          I passed GSoC 2015 for Apache Aurora
          https://issues.apache.org/jira/browse/AURORA-1164

          Could you give me more guidelines about this?

          Thanks!!

          Show
          marti1125 Willy Aguirre added a comment - Hi! I don't have experience in Workflow System I think is new experience for me. I'm Willy Aguirre from Lima Peru Actually I'm studing at UPC( http://epe.upc.edu.pe/ ) I'm working as a java developer and also I used Play Framework 1.* it uses yaml I passed GSoC 2015 for Apache Aurora https://issues.apache.org/jira/browse/AURORA-1164 Could you give me more guidelines about this? Thanks!!
          Hide
          alaninmcr Alan R Williams added a comment -

          Hello Willy

          Thanks for showing interest in Taverna and GSOC!

          The best would be if you can sign up to the dev@taverna mailing list, introduce yourself there, and then we can see what would be a good place for you to start. See http://taverna.incubator.apache.org/community/ for details.

          We expect a GSOC student to only do one or two of the tasks in detail. So, perhaps you can look at the different tasks and choose which you are most interested in.

          Alan

          Show
          alaninmcr Alan R Williams added a comment - Hello Willy Thanks for showing interest in Taverna and GSOC! The best would be if you can sign up to the dev@taverna mailing list, introduce yourself there, and then we can see what would be a good place for you to start. See http://taverna.incubator.apache.org/community/ for details. We expect a GSOC student to only do one or two of the tasks in detail. So, perhaps you can look at the different tasks and choose which you are most interested in. Alan
          Hide
          marti1125 Willy Aguirre added a comment -

          Hi! I sent an email to dev mail-list but I didn't receive any answer

          Show
          marti1125 Willy Aguirre added a comment - Hi! I sent an email to dev mail-list but I didn't receive any answer
          Hide
          alaninmcr Alan R Williams added a comment -

          Hello Willy

          Apologies that you did not receive a reply earlier. I have replied now As I have said in the e-mail, I think one of the tasks (879) is mainly programming, and the other (881) is more of a software-engineering task. Both would make good GSOC projects, but the choice of which one you would like to do depends on what you want to get out of GSOC this year.

          Show
          alaninmcr Alan R Williams added a comment - Hello Willy Apologies that you did not receive a reply earlier. I have replied now As I have said in the e-mail, I think one of the tasks (879) is mainly programming, and the other (881) is more of a software-engineering task. Both would make good GSOC projects, but the choice of which one you would like to do depends on what you want to get out of GSOC this year.
          Hide
          stain Stian Soiland-Reyes added a comment -

          Hi, potential Google Summer of Code (GSOC) students!

          In a tiny hour the GSOC student application period opens:

          > https://developers.google.com/open-source/gsoc/timeline
          > 14 March 19:00 UTC Student application period opens.
          > 25 March 19:00 UTC Student application deadline.

          http://write.flossmanuals.net/gsocstudentguide/ has a good description
          of the process.

          I've tried to summarize who is interested in what here:

          https://cwiki.apache.org/confluence/display/TAVERNADEV/2016-03+GSOC+2016

          My apologies for any mistakes or if I forgot someone.. it was a bit
          hard to track across all the emails! Let me know what to fix.

          If you are preparing a GSOC proposal for Apache Taverna, e.g. inspired
          by our ideas at:

          https://s.apache.org/taverna-gsoc-2016

          or your own ideas (e.g further developing Taverna Mobile), then
          now is a good time to start working on your project proposal.

          I suggest writing a Google Docs page, and sharing it on dev@taverna (which hopefully you have signed up to - see http://taverna.incubator.apache.org/contact)

          .. or leave a comment on this Jira Issue so we can discuss it and help you get a good proposal!

          See http://write.flossmanuals.net/gsocstudentguide/writing-a-proposal/
          for suggestions for your proposal, and a template here:

          http://community.staging.apache.org/gsoc#application-template

          Show
          stain Stian Soiland-Reyes added a comment - Hi, potential Google Summer of Code (GSOC) students! In a tiny hour the GSOC student application period opens: > https://developers.google.com/open-source/gsoc/timeline > 14 March 19:00 UTC Student application period opens. > 25 March 19:00 UTC Student application deadline. http://write.flossmanuals.net/gsocstudentguide/ has a good description of the process. I've tried to summarize who is interested in what here: https://cwiki.apache.org/confluence/display/TAVERNADEV/2016-03+GSOC+2016 My apologies for any mistakes or if I forgot someone.. it was a bit hard to track across all the emails! Let me know what to fix. If you are preparing a GSOC proposal for Apache Taverna, e.g. inspired by our ideas at: https://s.apache.org/taverna-gsoc-2016 or your own ideas (e.g further developing Taverna Mobile), then now is a good time to start working on your project proposal. I suggest writing a Google Docs page, and sharing it on dev@taverna (which hopefully you have signed up to - see http://taverna.incubator.apache.org/contact ) .. or leave a comment on this Jira Issue so we can discuss it and help you get a good proposal! See http://write.flossmanuals.net/gsocstudentguide/writing-a-proposal/ for suggestions for your proposal, and a template here: http://community.staging.apache.org/gsoc#application-template

            People

            • Assignee:
              Unassigned
              Reporter:
              stain Stian Soiland-Reyes
            • Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:

                Development