common-workflow-language/workflows

Name: workflows

Owner: Common Workflow Language

Description: Community maintained workflows & tools (with examples)

Created: 2015-04-09 19:26:51.0

Updated: 2018-01-11 17:44:04.0

Pushed: 2017-10-23 10:16:55.0

Homepage:

Size: 3819

Language: Python

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

CWL Tools & Workflows

Build Status

“CWL Tools & Workflows” is a community repository CWL tool and workflow descriptions.

To submit a new workflow or tool description please make a pull request against this repository.

Any contribution submitted for inclusion in this repository shall be under the terms and conditions of the Apache License version 2.0 (see LICENSE.txt).

Other locations of tool and workflow descriptions in CWL format
Pull request

Please follow these recommendations before pull request:

Incomplete descriptions are welcome as long as they are usable. Sharing early & often is encouraged.

SPARQL

For your convinience an Apache Jena Fuseki SPARQL server is provided. It automaticaly downloads new CWL tool descriptions converts them into XML/RDF format and makes available at https://sparql-test.commonwl.org or https://sparql-cwl.cloudapp.net/ . Each CWL tool becomes a graph that can be queried. Provided sample queries all the graphs where foaf:name “Dobin” is present.

To run a simple query that searches for all graphs(cwl files) where foaf:name is “Dobin”:

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX doap: <http://usefulinc.com/ns/doap#>
    SELECT distinct ?file ?name
WHERE {
  graph ?file {
  ?P foaf:name ?name  .
  FILTER (regex(?name, "Dobin","i"))
  }
}
LIMIT 25

If you use different ontologies like schema and foaf you can join them in one query using union:

PREFIX schema: <http://schema.org/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX adms: <http://www.w3.org/ns/adms#>    
SELECT ?file ?name 
WHERE {
  graph ?file {
  {
   ?P a foaf:Person;
        foaf:name ?name.
   ?x adms:includedAsset ?SSC .
   ?SSC !schema:Thing+ ?P .
   FILTER (regex(?name, "Dobin","i"))
   }
 union {
   ?P a schema:Person;
        schema:name ?name.
   ?SSC a schema:SoftwareSourceCode .
   ?file ?direct ?SSC .
   ?SSC !schema:Thing+ ?P .
   FILTER (regex(?name, "Karimi","i"))
   }
  }
}

If you provide DOI url and use it as id for a class, it will be automaticaly pulled into default graph. You can query DOI information to find corresponding CWL:

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX schema: <http://schema.org/>
SELECT distinct ?file ?DOI ?name
WHERE {
   ?DOI ?direct0 ?P .
   ?P foaf:name ?name  .    
   FILTER (regex(?name, "Lorincz","i"))
GRAPH ?file {
    ?SSC a schema:SoftwareSourceCode .
    ?file ?direct1 ?SSC .
    ?SSC !schema:Thing+ ?DOI .
    } 
}

Another one:

PREFIX schema: <http://schema.org/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
select distinct ?file ?name
where {
?pub !schema:Thing+ ?Person .
?Person foaf:name ?name .
graph ?file {
    ?SSC schema:publication ?pub .
 } 
}
Testing CWLs

Test directory includes:

To test tools run `test/test.sh` from the repository root.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.