SlideShare a Scribd company logo
Common Workflow
Language Viewer
https://view.commonwl.org
Mark Robinson
Stian Soiland-Reyes
Michael Crusoe
Carole Goble
http://slides.com/markrobinson/cwlviewer
http://orcid.org/0000-0002-8184-7507
http://orcid.org/0000-0001-9842-9718
http://orcid.org/0000-0002-2961-9670
http://orcid.org/0000-0003-1219-2137
@soilandreyes
These slides are licensed under a
Creative Commons Attribution 4.0 International License
2017-07-22 BOSC 2017
ISMB/ECCB 2017, Prague
Difficulties in sharing CWL
Workflow spread over multiple text files
https://github.com/common-workflow-language/
workflows/tree/master/workflows/lobSTR/lobSTR-workflow.cwl
Difficulties in sharing CWL
Often missing:
Detailed description (what, how)
Provenance (who, where, when)
Versioning (which)
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
class: Workflow
inputs:
#SCWRL
scw_script: File
scw_input_pdb_path: File
scw_output_pdb_path: string
scw_mutation: string
scw_scwrl_path: string
scw_log_path: string
scw_error_path: string
#PDB2GMX
p2g_script: File
p2g_output_gro_path: string
p2g_output_top_path: string
p2g_output_itp_path: string
p2g_output_top_tar_path: string
p2g_water_type: string
p2g_force_field: string
p2g_ignh: string
p2g_gmx_path: string
p2g_log_path: string
p2g_error_path: string
# ...
We need better incentives!
#!/usr/bin/env cwl-runner
cwlVersion: "cwl:draft-3"
class: Workflow
inputs:
- id: p1
type:
- "null"
- type: array
items: File
description: list of files containing the first end of paired end reads in fasta or fastq format
- id: p2
type:
- "null"
- type: array
items: File
description: list of files containing the second end of paired end reads in fasta or fastq format
- id: output_prefix
type: string
description: prefix for output files. will output prefix.aligned.bam and prefix.aligned.stats
- id: reference
type: File
description: "lobSTR's bwa reference files"
- id: rg-sample
type: string
description: Use this in the read group SM tag
- id: rg-lib
type: string
description: Use this in the read group LB tag
- id: strinfo
type: File
description: File containing statistics for each STR.
- id: noise_model
type: File
description: File to read noise model parameters from (.stepmodel)
secondaryFiles:
- "^.stuttermodel"
outputs:
- id: bam
type: File
source: "#samindex/bam_with_bai"
- id: bam_stats
type: File
source: "#lobSTR/bam_stats"
- id: vcf
type: File
source: "#allelotype/vcf"
- id: vcf_stats
type: File
source: "#allelotype/vcf_stats"
hints:
- class: DockerRequirement
dockerLoad: https://workbench.qr1hi.arvadosapi.com/collections/download/qr1hi-4zz18-x2ae13tsx5jqg8d/1nduktd8dpvhdpgsva82lje0i710kgzb6rttks5jldx7s2y7k9/7e0c0ae3bf4e70442f9b8eee816ec23426d9e1169a2925316e5c932745e21613.tar
dockerImageId: 7e0c0ae3bf4e70442f9b8eee816ec23426d9e1169a2925316e5c932745e21613
steps:
- id: lobSTR
run: lobSTR-tool.cwl
inputs:
- { id: p1, source: "#p1" }
- { id: p2, source: "#p2" }
- { id: output_prefix, source: "#output_prefix" }
- { id: reference, source: "#reference" }
- { id: rg-sample, source: "#rg-sample" }
- { id: rg-lib, source: "#rg-lib" }
outputs:
- { id: bam }
- { id: bam_stats }
- id: samsort
run: samtools-sort.cwl
inputs:
- { id: input, source: "#lobSTR/bam" }
- { id: output_name, default: "aligned.sorted.bam" }
outputs:
- { id: output_file }
- id: samindex
run: samtools-index.cwl
inputs:
- { id: input, source: "#samsort/output_file" }
outputs:
- { id: bam_with_bai }
- id: allelotype
run: allelotype.cwl
inputs:
- { id: bam, source: "#samindex/bam_with_bai" }
- { id: reference, source: "#reference" }
- { id: output_prefix, source: "#output_prefix" }
- { id: noise_model, source: "#noise_model" }
- { id: strinfo, source: "#strinfo" }
outputs:
- { id: vcf }
- { id: vcf_stats }
Workflow Inputs
Workflow Outputs
reference
allelotype
lobSTR
rg-samplep1p2 output_prefixrg-lib strinfonoise_model
vcfvcf_statsbam_stats bam
samsort
samindex
"aligned.sorted.bam"
Visualisation = quick and easy understanding
CWL Viewer
https://view.commonwl.org
View a Workflow
https://view.commonwl.org/workflows/github.com/common-workflow-language/
workflows/tree/master/workflows/lobSTR/lobSTR-workflow.cwl
Interactivity
https://view.commonwl.org/workflows/github.com/ProteinsWebTeam/ebi-
metagenomics-cwl/tree/master/tools/rRNA_selection.cwl
Download and Share
Visualisation Images
(various formats)
GraphViz DOT source
Research Object Bundle/
Origin Information
COMMON
WORKFLOW
LANGUAGE
A Research Object bundles and relates digital
resources of a scientific experiment or
investigation:
Data used and results produced in experimental
study
Methods employed to produce and analyse that
data
Provenance and settings for the experiments
People involved in the investigation
Annotations about these resources, to improve
understanding and interpretation
bundle.zip
├── mimetype
├── .ro
│ └── manifest.json
└── workflow
├── completeWorkflow.cwl
├── concatFasta.cwl
├── fastqc.cwl
├── generateRReports.cwl
├── qiimeAddMetadata.cwl
├── readPair.yml
├── uparseChimeraCheck.cwl
├── uparseDerepWorkAround.cwl
├── uparseFastqMerge.cwl
├── uparseFilter.cwl
└── uparseTruncateLength.cwl
{
"@context" : [ "https://w3id.org/bundle/context" ],
"id" : "/",
"manifest" : [ "manifest.json" ],
"createdOn" : "2017-02-27T11:48:54.986Z",
"createdBy" : {
"uri" : "http://view.commonwl.org",
"name" : "Common Workflow Language Viewer"
},
"authoredBy" : [ {
"uri" : "https://github.com/grbot",
"name" : "Gerrit Botha"
}, {
"uri" : "https://github.com/mr-c",
"name" : "Michael R. Crusoe"
}, {
"name" : "Ubuntu"
}, {
"uri" : "https://github.com/mepstein-gh",
"name" : "Milt Epstein"
}, {
"uri" : "https://github.com/ShakunBaichoo",
"name" : "ShakunBaichoo"
} ],
"importedFrom" : "https://github.com/h3abionet/h3abionet16S/tree/70498847fd6bfc63f44c59c748233cac7f8dd85d/workfl
"importedOn" : "2017-02-27T11:48:54.986Z",
"importedBy" : {
"uri" : "http://view.commonwl.org",
"name" : "Common Workflow Language Viewer"
},
"aggregates" : [ {
"uri" : "/workflow/completeWorkflow.cwl",
"mediatype" : "text/x-yaml",
"createdOn" : "2017-02-27T11:48:55.21Z",
"authoredBy" : [ {
"uri" : "https://github.com/grbot",
"name" : "Gerrit Botha"
}, {
"uri" : "https://github.com/mr-c",
"name" : "Michael R. Crusoe"
}, {
"uri" : "https://github.com/mepstein-gh",
"name" : "Milt Epstein"
}, {
"uri" : "https://github.com/ShakunBaichoo",
"name" : "ShakunBaichoo"
} ],
"retrievedFrom" : "https://github.com/h3abionet/h3abionet16S/blob/70498847fd6bfc63f44c59c748233cac7f8dd85d/wor
"conformsTo" : "https://w3id.org/cwl/v1.0",
"bundledAs" : {
"uri" : "urn:uuid:fbc4f48a-b111-4e1b-b6b9-d6a97c7c7f90",
"folder" : "/workflow/"
}
}, {
"uri" : "/workflow/concatFasta.cwl",
"mediatype" : "text/x-yaml",
Provenance, attribution
Who made which part of the workflow
when
CWL Viewer Research Objects
BOSC 2017
Birds of a
Feather
Today 12:20-13:40
BoF #2: Common Workflow Language
community meetup
Farah Zaib Khan & Stian Soiland-Reyes:
ResearchObject.org & CWL integration
COMMON
WORKFLOW
LANGUAGE
Discovery of Workflows
https://view.commonwl.org/workflows
In the Works!
JSON API Use of the cwltool reference
implementation for parsing
Input labelling
More import options
And More!
Workflow Inputs
Workflow Outputs
p2
lobSTR
p2
rg-lib
rg-lib
p1
p1
reference
reference
allelotype
reference
output_prefix
output_prefix
output_prefix
noise_model
noise_model
rg-sample
rg-sample
strinfo
strinfo
vcf_stats vcfbambam_stats
samsort
input
samindex
bam
input
"aligned.sorted.bam"
output_name
cwl-svg
https://view.commonwl.org/
Join us!
https://github.com/
common-workflow-language/cwlviewer
Poster (A-124):
https://doi.org/10.7490/f1000research.1114375.1

More Related Content

What's hot

Introduction to zc.buildout
Introduction to zc.buildoutIntroduction to zc.buildout
Introduction to zc.buildout
Ricardo Newbery
 

What's hot (20)

C++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用するC++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用する
 
Agile Breakfast with Gradle
Agile Breakfast with GradleAgile Breakfast with Gradle
Agile Breakfast with Gradle
 
GroovyFX - groove JavaFX Gr8Conf EU 2017
GroovyFX - groove JavaFX Gr8Conf EU 2017GroovyFX - groove JavaFX Gr8Conf EU 2017
GroovyFX - groove JavaFX Gr8Conf EU 2017
 
Groovy on the shell
Groovy on the shellGroovy on the shell
Groovy on the shell
 
groovy & grails - lecture 13
groovy & grails - lecture 13groovy & grails - lecture 13
groovy & grails - lecture 13
 
Introduction to zc.buildout
Introduction to zc.buildoutIntroduction to zc.buildout
Introduction to zc.buildout
 
Creating ASTTs The painful truth
Creating ASTTs The painful truthCreating ASTTs The painful truth
Creating ASTTs The painful truth
 
Stupid Buildout Tricks
Stupid Buildout TricksStupid Buildout Tricks
Stupid Buildout Tricks
 
Grooscript greach 2015
Grooscript greach 2015Grooscript greach 2015
Grooscript greach 2015
 
Running node.js as a service behind nginx/varnish
Running node.js as a service behind nginx/varnishRunning node.js as a service behind nginx/varnish
Running node.js as a service behind nginx/varnish
 
InterPlanetary Wayback: Peer-To-Peer Permanence of Web Archives
InterPlanetary Wayback: Peer-To-Peer Permanence of Web ArchivesInterPlanetary Wayback: Peer-To-Peer Permanence of Web Archives
InterPlanetary Wayback: Peer-To-Peer Permanence of Web Archives
 
Die .htaccess richtig nutzen
Die .htaccess richtig nutzenDie .htaccess richtig nutzen
Die .htaccess richtig nutzen
 
HTTPS + Let's Encrypt
HTTPS + Let's EncryptHTTPS + Let's Encrypt
HTTPS + Let's Encrypt
 
Grooscript greach
Grooscript greachGrooscript greach
Grooscript greach
 
Twas the night before Malware...
Twas the night before Malware...Twas the night before Malware...
Twas the night before Malware...
 
DDEV - Extended
DDEV - ExtendedDDEV - Extended
DDEV - Extended
 
はじめてのSymfony2
はじめてのSymfony2はじめてのSymfony2
はじめてのSymfony2
 
Security of go modules and vulnerability scanning in go center (1)
Security of go modules and vulnerability scanning in go center (1)Security of go modules and vulnerability scanning in go center (1)
Security of go modules and vulnerability scanning in go center (1)
 
From CGI to mod_perl 2.0, Fast!
From CGI to mod_perl 2.0, Fast! From CGI to mod_perl 2.0, Fast!
From CGI to mod_perl 2.0, Fast!
 
Reusable Self-Adaptation through Bidirectional Programming
Reusable Self-Adaptation through Bidirectional ProgrammingReusable Self-Adaptation through Bidirectional Programming
Reusable Self-Adaptation through Bidirectional Programming
 

Similar to 2017-07-22 Common Workflow Language Viewer

HTML5 (and friends) - History, overview and current status - jsDay Verona 11....
HTML5 (and friends) - History, overview and current status - jsDay Verona 11....HTML5 (and friends) - History, overview and current status - jsDay Verona 11....
HTML5 (and friends) - History, overview and current status - jsDay Verona 11....
Patrick Lauke
 
Build Your Own CMS with Apache Sling
Build Your Own CMS with Apache SlingBuild Your Own CMS with Apache Sling
Build Your Own CMS with Apache Sling
Bob Paulin
 
Going live with BommandBox and docker Into The Box 2018
Going live with BommandBox and docker Into The Box 2018Going live with BommandBox and docker Into The Box 2018
Going live with BommandBox and docker Into The Box 2018
Ortus Solutions, Corp
 

Similar to 2017-07-22 Common Workflow Language Viewer (20)

AFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack EncoreAFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack Encore
 
State of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to comeState of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to come
 
HTML5 (and friends) - History, overview and current status - jsDay Verona 11....
HTML5 (and friends) - History, overview and current status - jsDay Verona 11....HTML5 (and friends) - History, overview and current status - jsDay Verona 11....
HTML5 (and friends) - History, overview and current status - jsDay Verona 11....
 
#PDR15 - waf, wscript and Your Pebble App
#PDR15 - waf, wscript and Your Pebble App#PDR15 - waf, wscript and Your Pebble App
#PDR15 - waf, wscript and Your Pebble App
 
Whatever it takes - Fixing SQLIA and XSS in the process
Whatever it takes - Fixing SQLIA and XSS in the processWhatever it takes - Fixing SQLIA and XSS in the process
Whatever it takes - Fixing SQLIA and XSS in the process
 
Sprockets
SprocketsSprockets
Sprockets
 
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
 
Anatomy of a Drupal Hack - TechKnowFile 2014
Anatomy of a Drupal Hack - TechKnowFile 2014Anatomy of a Drupal Hack - TechKnowFile 2014
Anatomy of a Drupal Hack - TechKnowFile 2014
 
Build Your Own CMS with Apache Sling
Build Your Own CMS with Apache SlingBuild Your Own CMS with Apache Sling
Build Your Own CMS with Apache Sling
 
Workshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaWorkshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and Java
 
Play framework
Play frameworkPlay framework
Play framework
 
lecture5
lecture5lecture5
lecture5
 
lecture5
lecture5lecture5
lecture5
 
Scaling up development of a modular code base
Scaling up development of a modular code baseScaling up development of a modular code base
Scaling up development of a modular code base
 
[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화
[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화
[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화
 
Flash it baby!
Flash it baby!Flash it baby!
Flash it baby!
 
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONMicroservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)
 
Very Early Review - Rocket(CoreOS)
Very Early Review - Rocket(CoreOS)Very Early Review - Rocket(CoreOS)
Very Early Review - Rocket(CoreOS)
 
Going live with BommandBox and docker Into The Box 2018
Going live with BommandBox and docker Into The Box 2018Going live with BommandBox and docker Into The Box 2018
Going live with BommandBox and docker Into The Box 2018
 

More from Stian Soiland-Reyes

2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)
2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)
2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)
Stian Soiland-Reyes
 

More from Stian Soiland-Reyes (20)

2017-09-27-scholarly-html-ro
2017-09-27-scholarly-html-ro2017-09-27-scholarly-html-ro
2017-09-27-scholarly-html-ro
 
2017-11-03 Scientific Workflow systems
2017-11-03 Scientific Workflow systems2017-11-03 Scientific Workflow systems
2017-11-03 Scientific Workflow systems
 
2017-11-03 Provenance and Research Object
2017-11-03 Provenance and Research Object2017-11-03 Provenance and Research Object
2017-11-03 Provenance and Research Object
 
2016-05-18-Make research reproducible again - researchobject.org
2016-05-18-Make research reproducible again - researchobject.org2016-05-18-Make research reproducible again - researchobject.org
2016-05-18-Make research reproducible again - researchobject.org
 
2015-07-11 Apache Taverna - BOSC 2015
2015-07-11 Apache Taverna - BOSC 20152015-07-11 Apache Taverna - BOSC 2015
2015-07-11 Apache Taverna - BOSC 2015
 
2014-10-31 Taverna 3 architecture
2014-10-31 Taverna 3 architecture2014-10-31 Taverna 3 architecture
2014-10-31 Taverna 3 architecture
 
2014-10-30 Taverna 3 status
2014-10-30 Taverna 3 status2014-10-30 Taverna 3 status
2014-10-30 Taverna 3 status
 
2014-10-30 Taverna as an Apache Incubator project
2014-10-30 Taverna as an Apache Incubator project2014-10-30 Taverna as an Apache Incubator project
2014-10-30 Taverna as an Apache Incubator project
 
2014-06-13 Research objects in the wild
2014-06-13 Research objects in the wild2014-06-13 Research objects in the wild
2014-06-13 Research objects in the wild
 
2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)
2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)
2013-07-19 myExperiment research objects, beyond workflows and packs (PPTX)
 
2013 06-24 Wf4Ever: Annotating research objects (PDF)
2013 06-24 Wf4Ever: Annotating research objects (PDF)2013 06-24 Wf4Ever: Annotating research objects (PDF)
2013 06-24 Wf4Ever: Annotating research objects (PDF)
 
2013 06-24 Wf4Ever: Annotating research objects (PPTX)
2013 06-24 Wf4Ever: Annotating research objects (PPTX)2013 06-24 Wf4Ever: Annotating research objects (PPTX)
2013 06-24 Wf4Ever: Annotating research objects (PPTX)
 
2013-05-29 Taverna Provenance
2013-05-29 Taverna Provenance2013-05-29 Taverna Provenance
2013-05-29 Taverna Provenance
 
2013-03-21 What can provenance do for me?
2013-03-21 What can provenance do for me?2013-03-21 What can provenance do for me?
2013-03-21 What can provenance do for me?
 
2013-01-17 Research Object
2013-01-17 Research Object2013-01-17 Research Object
2013-01-17 Research Object
 
2012 03-28 Wf4ever, preserving workflows as digital research objects
2012 03-28 Wf4ever, preserving workflows as digital research objects2012 03-28 Wf4ever, preserving workflows as digital research objects
2012 03-28 Wf4ever, preserving workflows as digital research objects
 
2011 07-06 SCUFL2 Poster - because a workflow is more than its definition (BO...
2011 07-06 SCUFL2 Poster - because a workflow is more than its definition (BO...2011 07-06 SCUFL2 Poster - because a workflow is more than its definition (BO...
2011 07-06 SCUFL2 Poster - because a workflow is more than its definition (BO...
 
2011-06-08 Taverna workflow system
2011-06-08 Taverna workflow system2011-06-08 Taverna workflow system
2011-06-08 Taverna workflow system
 
Taverna workflow management system (2010 11-30 Bath Workflow Tools) PPTX
Taverna workflow management system (2010 11-30 Bath Workflow Tools) PPTXTaverna workflow management system (2010 11-30 Bath Workflow Tools) PPTX
Taverna workflow management system (2010 11-30 Bath Workflow Tools) PPTX
 
Taverna workflow management system (2010 11-30 Bath Workflow Tools)
Taverna workflow management system (2010 11-30 Bath Workflow Tools)Taverna workflow management system (2010 11-30 Bath Workflow Tools)
Taverna workflow management system (2010 11-30 Bath Workflow Tools)
 

Recently uploaded

Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
mbmh111980
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 

Recently uploaded (20)

Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Benefits of Employee Monitoring Software
Benefits of  Employee Monitoring SoftwareBenefits of  Employee Monitoring Software
Benefits of Employee Monitoring Software
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 

2017-07-22 Common Workflow Language Viewer

  • 1. Common Workflow Language Viewer https://view.commonwl.org Mark Robinson Stian Soiland-Reyes Michael Crusoe Carole Goble http://slides.com/markrobinson/cwlviewer http://orcid.org/0000-0002-8184-7507 http://orcid.org/0000-0001-9842-9718 http://orcid.org/0000-0002-2961-9670 http://orcid.org/0000-0003-1219-2137 @soilandreyes These slides are licensed under a Creative Commons Attribution 4.0 International License 2017-07-22 BOSC 2017 ISMB/ECCB 2017, Prague
  • 2. Difficulties in sharing CWL Workflow spread over multiple text files https://github.com/common-workflow-language/ workflows/tree/master/workflows/lobSTR/lobSTR-workflow.cwl
  • 3. Difficulties in sharing CWL Often missing: Detailed description (what, how) Provenance (who, where, when) Versioning (which) #!/usr/bin/env cwl-runner cwlVersion: v1.0 class: Workflow inputs: #SCWRL scw_script: File scw_input_pdb_path: File scw_output_pdb_path: string scw_mutation: string scw_scwrl_path: string scw_log_path: string scw_error_path: string #PDB2GMX p2g_script: File p2g_output_gro_path: string p2g_output_top_path: string p2g_output_itp_path: string p2g_output_top_tar_path: string p2g_water_type: string p2g_force_field: string p2g_ignh: string p2g_gmx_path: string p2g_log_path: string p2g_error_path: string # ... We need better incentives!
  • 4. #!/usr/bin/env cwl-runner cwlVersion: "cwl:draft-3" class: Workflow inputs: - id: p1 type: - "null" - type: array items: File description: list of files containing the first end of paired end reads in fasta or fastq format - id: p2 type: - "null" - type: array items: File description: list of files containing the second end of paired end reads in fasta or fastq format - id: output_prefix type: string description: prefix for output files. will output prefix.aligned.bam and prefix.aligned.stats - id: reference type: File description: "lobSTR's bwa reference files" - id: rg-sample type: string description: Use this in the read group SM tag - id: rg-lib type: string description: Use this in the read group LB tag - id: strinfo type: File description: File containing statistics for each STR. - id: noise_model type: File description: File to read noise model parameters from (.stepmodel) secondaryFiles: - "^.stuttermodel" outputs: - id: bam type: File source: "#samindex/bam_with_bai" - id: bam_stats type: File source: "#lobSTR/bam_stats" - id: vcf type: File source: "#allelotype/vcf" - id: vcf_stats type: File source: "#allelotype/vcf_stats" hints: - class: DockerRequirement dockerLoad: https://workbench.qr1hi.arvadosapi.com/collections/download/qr1hi-4zz18-x2ae13tsx5jqg8d/1nduktd8dpvhdpgsva82lje0i710kgzb6rttks5jldx7s2y7k9/7e0c0ae3bf4e70442f9b8eee816ec23426d9e1169a2925316e5c932745e21613.tar dockerImageId: 7e0c0ae3bf4e70442f9b8eee816ec23426d9e1169a2925316e5c932745e21613 steps: - id: lobSTR run: lobSTR-tool.cwl inputs: - { id: p1, source: "#p1" } - { id: p2, source: "#p2" } - { id: output_prefix, source: "#output_prefix" } - { id: reference, source: "#reference" } - { id: rg-sample, source: "#rg-sample" } - { id: rg-lib, source: "#rg-lib" } outputs: - { id: bam } - { id: bam_stats } - id: samsort run: samtools-sort.cwl inputs: - { id: input, source: "#lobSTR/bam" } - { id: output_name, default: "aligned.sorted.bam" } outputs: - { id: output_file } - id: samindex run: samtools-index.cwl inputs: - { id: input, source: "#samsort/output_file" } outputs: - { id: bam_with_bai } - id: allelotype run: allelotype.cwl inputs: - { id: bam, source: "#samindex/bam_with_bai" } - { id: reference, source: "#reference" } - { id: output_prefix, source: "#output_prefix" } - { id: noise_model, source: "#noise_model" } - { id: strinfo, source: "#strinfo" } outputs: - { id: vcf } - { id: vcf_stats } Workflow Inputs Workflow Outputs reference allelotype lobSTR rg-samplep1p2 output_prefixrg-lib strinfonoise_model vcfvcf_statsbam_stats bam samsort samindex "aligned.sorted.bam" Visualisation = quick and easy understanding
  • 8. Download and Share Visualisation Images (various formats) GraphViz DOT source Research Object Bundle/ Origin Information
  • 9. COMMON WORKFLOW LANGUAGE A Research Object bundles and relates digital resources of a scientific experiment or investigation: Data used and results produced in experimental study Methods employed to produce and analyse that data Provenance and settings for the experiments People involved in the investigation Annotations about these resources, to improve understanding and interpretation
  • 10. bundle.zip ├── mimetype ├── .ro │ └── manifest.json └── workflow ├── completeWorkflow.cwl ├── concatFasta.cwl ├── fastqc.cwl ├── generateRReports.cwl ├── qiimeAddMetadata.cwl ├── readPair.yml ├── uparseChimeraCheck.cwl ├── uparseDerepWorkAround.cwl ├── uparseFastqMerge.cwl ├── uparseFilter.cwl └── uparseTruncateLength.cwl { "@context" : [ "https://w3id.org/bundle/context" ], "id" : "/", "manifest" : [ "manifest.json" ], "createdOn" : "2017-02-27T11:48:54.986Z", "createdBy" : { "uri" : "http://view.commonwl.org", "name" : "Common Workflow Language Viewer" }, "authoredBy" : [ { "uri" : "https://github.com/grbot", "name" : "Gerrit Botha" }, { "uri" : "https://github.com/mr-c", "name" : "Michael R. Crusoe" }, { "name" : "Ubuntu" }, { "uri" : "https://github.com/mepstein-gh", "name" : "Milt Epstein" }, { "uri" : "https://github.com/ShakunBaichoo", "name" : "ShakunBaichoo" } ], "importedFrom" : "https://github.com/h3abionet/h3abionet16S/tree/70498847fd6bfc63f44c59c748233cac7f8dd85d/workfl "importedOn" : "2017-02-27T11:48:54.986Z", "importedBy" : { "uri" : "http://view.commonwl.org", "name" : "Common Workflow Language Viewer" }, "aggregates" : [ { "uri" : "/workflow/completeWorkflow.cwl", "mediatype" : "text/x-yaml", "createdOn" : "2017-02-27T11:48:55.21Z", "authoredBy" : [ { "uri" : "https://github.com/grbot", "name" : "Gerrit Botha" }, { "uri" : "https://github.com/mr-c", "name" : "Michael R. Crusoe" }, { "uri" : "https://github.com/mepstein-gh", "name" : "Milt Epstein" }, { "uri" : "https://github.com/ShakunBaichoo", "name" : "ShakunBaichoo" } ], "retrievedFrom" : "https://github.com/h3abionet/h3abionet16S/blob/70498847fd6bfc63f44c59c748233cac7f8dd85d/wor "conformsTo" : "https://w3id.org/cwl/v1.0", "bundledAs" : { "uri" : "urn:uuid:fbc4f48a-b111-4e1b-b6b9-d6a97c7c7f90", "folder" : "/workflow/" } }, { "uri" : "/workflow/concatFasta.cwl", "mediatype" : "text/x-yaml", Provenance, attribution Who made which part of the workflow when
  • 12. BOSC 2017 Birds of a Feather Today 12:20-13:40 BoF #2: Common Workflow Language community meetup Farah Zaib Khan & Stian Soiland-Reyes: ResearchObject.org & CWL integration COMMON WORKFLOW LANGUAGE
  • 14. In the Works! JSON API Use of the cwltool reference implementation for parsing Input labelling More import options And More! Workflow Inputs Workflow Outputs p2 lobSTR p2 rg-lib rg-lib p1 p1 reference reference allelotype reference output_prefix output_prefix output_prefix noise_model noise_model rg-sample rg-sample strinfo strinfo vcf_stats vcfbambam_stats samsort input samindex bam input "aligned.sorted.bam" output_name cwl-svg