Skip to content

Commit 47fe96c

Browse files
authored
Merge pull request #4 from tobyhodges/config_and_setup
Initial config and setup
2 parents 9dab7c6 + 93dbd77 commit 47fe96c

File tree

7 files changed

+78
-26
lines changed

7 files changed

+78
-26
lines changed

_config.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
carpentry: "cwl"
77

88
# Overall title for pages.
9-
title: "Lesson Title"
9+
title: "Common Workflow Language User Guide"
1010

1111
# Contact. This *must* include the protocol: if it's an email
1212
# address, it must look like "mailto:[email protected]",
1313
# or if it's a URL, "https://gitter.im/username/ProjectName".
14-
contact: "mailto:lessons@software-carpentry.org"
14+
contact: "http://www.commonwl.org/#Support"
1515

1616
#------------------------------------------------------------
1717
# Generic settings (should not need to change).
@@ -22,26 +22,26 @@ kind: "lesson"
2222

2323
# Magic to make URLs resolve both locally and on GitHub.
2424
# See https://help.github.com/articles/repository-metadata-on-github-pages/.
25-
repository: <USERNAME>/<PROJECT>
25+
repository: common-workflow-language/user-guide
2626

2727
# Sites.
28-
amy_site: "https://amy.software-carpentry.org/workshops"
29-
dc_site: "http://datacarpentry.org"
30-
swc_github: "https://github.com/swcarpentry"
31-
swc_site: "https://software-carpentry.org"
32-
swc_pages: "https://swcarpentry.github.io"
33-
lc_site: "http://librarycarpentry.github.io/"
34-
template_repo: "https://github.com/swcarpentry/styles"
35-
example_repo: "https://github.com/swcarpentry/lesson-example"
36-
example_site: "https://swcarpentry.github.com/lesson-example"
37-
workshop_repo: "https://github.com/swcarpentry/workshop-template"
38-
workshop_site: "https://swcarpentry.github.io/workshop-template"
39-
training_site: "https://swcarpentry.github.io/instructor-training"
28+
# amy_site: "https://amy.software-carpentry.org/workshops"
29+
# dc_site: "http://datacarpentry.org"
30+
# swc_github: "https://github.com/swcarpentry"
31+
# swc_site: "https://software-carpentry.org"
32+
# swc_pages: "https://swcarpentry.github.io"
33+
# lc_site: "http://librarycarpentry.github.io/"
34+
# template_repo: "https://github.com/swcarpentry/styles"
35+
# example_repo: "https://github.com/swcarpentry/lesson-example"
36+
# example_site: "https://swcarpentry.github.com/lesson-example"
37+
# workshop_repo: "https://github.com/swcarpentry/workshop-template"
38+
# workshop_site: "https://swcarpentry.github.io/workshop-template"
39+
# training_site: "https://swcarpentry.github.io/instructor-training"
4040

4141
# Surveys.
42-
pre_survey: "https://www.surveymonkey.com/r/swc_pre_workshop_v1?workshop_id="
43-
post_survey: "https://www.surveymonkey.com/r/swc_post_workshop_v1?workshop_id="
44-
training_post_survey: "https://www.surveymonkey.com/r/post-instructor-training"
42+
# pre_survey: "https://www.surveymonkey.com/r/swc_pre_workshop_v1?workshop_id="
43+
# post_survey: "https://www.surveymonkey.com/r/swc_post_workshop_v1?workshop_id="
44+
# training_post_survey: "https://www.surveymonkey.com/r/post-instructor-training"
4545

4646
# Start time in minutes (0 to be clock-independent, 540 to show a start at 09:00 am).
4747
start_time: 0

_episodes/01-introduction.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,30 @@ title: "Introduction"
33
teaching: 0
44
exercises: 0
55
questions:
6-
- "Key question"
6+
- "What is Common Workflow Language?"
7+
- "Why might I want to learn to use CWL?"
78
objectives:
8-
- "First objective."
9+
- "Learn what CWL is."
10+
- "Learn about the motivation behind the project."
911
keypoints:
10-
- "First key point."
12+
- "CWL describes command line tools and workflows."
13+
- "CWL is not software."
14+
- "Descriptions in CWL aid portability between environments"
1115
---
12-
Content here
1316

14-
{% include links.md %}
17+
CWL is a way to describe command line tools and connect them together to create
18+
workflows. Because CWL is a specification and not a specific piece of
19+
software, tools and workflows described using CWL are portable across a variety
20+
of platforms that support the CWL standard.
21+
22+
CWL has roots in "make" and many similar tools that determine order of
23+
execution based on dependencies between tasks. However unlike "make", CWL
24+
tasks are isolated and you must be explicit about your inputs and outputs. The
25+
benefit of explicitness and isolation are flexibility, portability, and
26+
scalability: tools and workflows described with CWL can transparently leverage
27+
technologies such as Docker, be used with CWL implementations from different
28+
vendors, and is well suited for describing large-scale workflows in cluster,
29+
cloud and high performance computing environments where tasks are scheduled in
30+
parallel across many nodes.
1531

32+
{% include links.md %}

_episodes/recommended-practices.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Recommended CWL Practices
2+
3+
Below are a set of recommended good practices to keep in mind when writing a Common Workflow Language description for a tool or workflow. These guidelines are presented for consideration on a scale of usefulness: more is better, not all are required.
4+
5+
- [ ] No `type: string` descriptions for names of input or reference files/directories.
6+
- [ ] Include a license that allows for re-use by anyone, e.g. [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0#apply). [Example of license inclusion](https://github.com/ProteinsWebTeam/ebi-metagenomics-cwl/blob/master/workflows/emg-assembly.cwl#L200).
7+
- [ ] Include [attribution information](https://github.com/ProteinsWebTeam/ebi-metagenomics-cwl/blob/master/workflows/emg-assembly.cwl#L200) for the CWL description author(s).
8+
- [ ] In tool descriptions, list dependencies using short name(s) under `SoftwareRequirement`.
9+
- [ ] Include [SciCrunch](https://github.com/common-workflow-language/common-workflow-language/issues/scicrunch.org) identifiers for dependencies in `https://identifiers.org/rrid/RRID:SCR_NNNNNN` format.
10+
- [ ] All `input` and `output` identifiers should reflect their conceptual identity. No `foo_input`, `foo_file`, `result`, `input`, `output`, or other uninformative names.
11+
- [ ] In tool descriptions, include a list of version(s) of the tool that are known to work.
12+
- [ ] `format` should be specified for all input and output `File`s. Bioinformatics tools should use format identifiers from [EDAM](http://edamontology.org/format_1915). See also `iana:text/plain`, `iana:text/tab-separated-values` with `$namespaces: { iana: "https://www.iana.org/assignments/media-types/" }`. [Full IANA media type list](http://www.iana.org/assignments/media-types/media-types.xhtml) (also known as MIME types).
13+
- [ ] Mark all input and output `File`s that are read or written to in a streaming compatible way (once, no random-access), as `streamable: true`.
14+
- [ ] Each `CommandLineTool` description should focus on a single operation only, even if the (sub)command is capable of more.
15+
- [ ] Custom types should be defined with one external YAML per type definition for re-use.
16+
- [ ] Include a top level short `label` summarising the tool/workflow.
17+
- [ ] If useful, include a top level `doc` as well. This should provide a longer, more detailed description than was provided in the top level `label` (see above).
18+
- [ ] Use `type: enum` instead of `type: string` for elements with a fixed list of valid values.
19+
- [ ] Evaluate all use of JavaScript for possible elimination or replacement. One common example: manipulating `File` names and paths? Consider whether one of the [built in `File` properties](http://www.commonwl.org/v1.0/CommandLineTool.html#File) like `basename`, `nameroot`, `nameext`, etc, could be used instead.
20+
- [ ] Give the tool description to a colleague at a different institution to test and provide feedback.

_includes/lesson_footer.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66
<div class="col-md-6" align="left">
77
<h4>
88
Copyright &copy; 2016–{{ 'now' | date: "%Y" }}
9-
{% if site.carpentry == "swc" %}
9+
{% if site.carpentry == "swc" %}
1010
<a href="{{ site.swc_site }}">Software Carpentry Foundation</a>
1111
{% elsif site.carpentry == "dc" %}
1212
<a href="{{ site.dc_site }}">Data Carpentry</a>
1313
{% elsif site.carpentry == "lc" %}
1414
<a href="{{ site.lc_site }}">Library Carpentry</a>
15+
{% elsif site.carpentry == "cwl" %}
16+
<a href="{{ site.swc_site }}">Common Workflow Language Project</a>
1517
{% endif %}
1618
</h4>
1719
</div>

_includes/navbar.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
<a href="{{ site.lc_site }}" class="pull-left">
2525
<img class="navbar-logo" src="{{ page.root }}/assets/img/lc-icon-black.png" alt="Library Carpentry logo" />
2626
</a>
27+
{% elsif site.carpentry == "cwl" %}
28+
<a href="{{ site.swc_site }}" class="pull-left">
29+
<img class="navbar-logo" src="{{ page.root }}/assets/img/cwl-apple-icon-180x180.png" alt="Common Workflow Language logo" />
30+
</a>
2731
{% endif %}
2832

2933
{% comment %} Always show link to home page. {% endcomment %}

assets/img/cwl-apple-icon-180x180.png

7.76 KB
Loading

index.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,18 @@
22
layout: lesson
33
root: .
44
---
5-
FIXME: home page introduction
5+
Hello!
6+
7+
This guide will introduce you to writing tool wrappers and workflows using the Common Workflow Language (CWL). This guide describes the current stable specification, version 1.0.
8+
9+
Note: This document is a work in progress. Not all features are covered, yet.
610

711
> ## Prerequisites
812
>
9-
> FIXME
13+
> A text editor
14+
>
15+
> A CWL runner e.g. the [reference implementation](cwltool-repo) (see [the project homepage](cwl-home) for a full list)
1016
{: .prereq}
17+
18+
[cwl-home]: http://www.commonwl.org
19+
[cwltool-repo]: https://github.com/common-workflow-language/cwltool

0 commit comments

Comments
 (0)