-
-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reproducible and portable workflows! #121
base: gh-pages
Are you sure you want to change the base?
Changes from all commits
d09e5c1
3600f2d
57e9b35
c5f434a
78b384f
f01fa93
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -4,10 +4,24 @@ title: "Recommended Practices" | |||||
permalink: /rec-practices/ | ||||||
--- | ||||||
|
||||||
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. | ||||||
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. | ||||||
|
||||||
☐ Reproducibility and Portability are essential goals of scientific workflow developers. | ||||||
|
||||||
Ideally a workflow developer would be able to rigidly specify the software and hardware | ||||||
environment a tool should run in to ensure portability and reproducibility. | ||||||
|
||||||
- Currently (2018) the best way approach this ideal is to package the exact software environment in an image | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
(such as a `Docker Image`) and specify the image via the `DockerPull` field. Use an image identifier that is | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
resilient to updates to the container. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. be specific; what does "image identifier that is resilient to updates to the container" mean? Show an example. |
||||||
- If this is not possible, carefully specifying software tools and dependencies using `SoftwareRequirement` | ||||||
is the next best resort. Be aware that changes in the tool repositories the tools are being pulled from | ||||||
may silently change the behavior of the tool at each run. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
- Not specifying a docker image or software requirements will result in a non-reproducible, | ||||||
non-portable workflow! | ||||||
- Do specify CPU and memory requirements where required | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That should be a separate suggestion with its own check box and example. |
||||||
|
||||||
☐ No `type: string` parameters for names of input or reference | ||||||
files/directories; use `type: File` or `type: Directory` as appropriate. | ||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sentence no verb :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am arguably a native speaker and I beg to differ. Not only is it a complete and grammatically correct sentence, but it does too have a verb.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps I was too harsh, my apologies. The point being, this is supposed to be a list of actions: things to do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mr-c oh not at all! It did send me on a trip down memory lane to English language class. I vaguely recall that there can be sentences without verbs. I suspect it was "Yes." and "No."
I was entertained by https://english.stackexchange.com/questions/258/shortest-comprehensive-sentence-in-english
Ok, back to work. Many thanks for reviewing! I will address your comments