Thursday, May 26, 2016

Abstract idea of technical stuff !!!




So main goal of this project is to bring CWL UI support to the Taverna Workbench. If you want to know more about Apache Taverna  go here. Common workflow Language (CWL) is a way of describing a workflow or a command line tool. CWL is a combination of JSON, YAML.
                                   
                                                             So in this summer i will create CWL Ui plugin for Apache Taverna workbench and following points describe how approach it.



  • SnakeYaml is a library which can be used to read/parse  YAML file and get the content as a MAP.  This MAP object will hold the parsed CWL tool. This MAP object is used to configure CWL Activity.

  • CWL Activity is the place where all the magic happens. This is where the process is defined and at execution time this object will do the job. But when the tool is added to the workbench only input and output ports are configured. So UI of the tool will appear on the workbench according to how the  ports are configured. This tutorial, which  describes  how to build a UI plugin for Apache Taverna Workbench. 

  • I have to build Dummy CWL Activity to hold the CWl configuration. Here i have to go through the MAP object looking each input and output and call AddInput() and addOutput() methods. I have to figure out what is the File type and the depth (whether it is a single file or array or array of arrays) and call previously mentioned methods accordingly.

  • CWl Service Provider is responsible for providing CWL tool service descriptions to the workbench. In side this what happens is, look for cwl tools for given directory and read them and built MAP object wrap it in a  CWL configuration Bean.   
 

No comments:

Post a Comment